OLD | NEW |
(Empty) | |
| 1 #include <google/protobuf/compiler/js/well_known_types_embed.h> |
| 2 struct FileToc well_known_types_js[] = { |
| 3 {"any.js", |
| 4 "// Protocol Buffers - Google's data interchange format\n" |
| 5 "// Copyright 2008 Google Inc. All rights reserved.\n" |
| 6 "// https://developers.google.com/protocol-buffers/\n" |
| 7 "//\n" |
| 8 "// Redistribution and use in source and binary forms, with or without\n" |
| 9 "// modification, are permitted provided that the following conditions are\n" |
| 10 "// met:\n" |
| 11 "//\n" |
| 12 "// * Redistributions of source code must retain the above copyright\n" |
| 13 "// notice, this list of conditions and the following disclaimer.\n" |
| 14 "// * Redistributions in binary form must reproduce the above\n" |
| 15 "// copyright notice, this list of conditions and the following disclaimer\n" |
| 16 "// in the documentation and/or other materials provided with the\n" |
| 17 "// distribution.\n" |
| 18 "// * Neither the name of Google Inc. nor the names of its\n" |
| 19 "// contributors may be used to endorse or promote products derived from\n" |
| 20 "// this software without specific prior written permission.\n" |
| 21 "//\n" |
| 22 "// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" |
| 23 "// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" |
| 24 "// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n" |
| 25 "// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n" |
| 26 "// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n" |
| 27 "// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n" |
| 28 "// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n" |
| 29 "// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n" |
| 30 "// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" |
| 31 "// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n" |
| 32 "// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" |
| 33 "\n" |
| 34 "/* This code will be inserted into generated code for\n" |
| 35 " * google/protobuf/any.proto. */\n" |
| 36 "\n" |
| 37 "/**\n" |
| 38 " * Returns the type name contained in this instance, if any.\n" |
| 39 " * @return {string|undefined}\n" |
| 40 " */\n" |
| 41 "proto.google.protobuf.Any.prototype.getTypeName = function() {\n" |
| 42 " return this.getTypeUrl().split('/').pop();\n" |
| 43 "};\n" |
| 44 "\n" |
| 45 "\n" |
| 46 "/**\n" |
| 47 " * Packs the given message instance into this Any.\n" |
| 48 " * @param {!Uint8Array} serialized The serialized data to pack.\n" |
| 49 " * @param {string} name The type name of this message object.\n" |
| 50 " * @param {string=} opt_typeUrlPrefix the type URL prefix.\n" |
| 51 " */\n" |
| 52 "proto.google.protobuf.Any.prototype.pack = function(serialized, name,\n" |
| 53 " opt_typeUrlPrefix) {\n" |
| 54 " if (!opt_typeUrlPrefix) {\n" |
| 55 " opt_typeUrlPrefix = 'type.googleapis.com/';\n" |
| 56 " }\n" |
| 57 "\n" |
| 58 " if (opt_typeUrlPrefix.substr(-1) != '/') {\n" |
| 59 " this.setTypeUrl(opt_typeUrlPrefix + '/' + name);\n" |
| 60 " } else {\n" |
| 61 " this.setTypeUrl(opt_typeUrlPrefix + name);\n" |
| 62 " }\n" |
| 63 "\n" |
| 64 " this.setValue(serialized);\n" |
| 65 "};\n" |
| 66 "\n" |
| 67 "\n" |
| 68 "/**\n" |
| 69 " * @template T\n" |
| 70 " * Unpacks this Any into the given message object.\n" |
| 71 " * @param {function(Uint8Array):T} deserialize Function that will deserialize
\n" |
| 72 " * the binary data properly.\n" |
| 73 " * @param {string} name The expected type name of this message object.\n" |
| 74 " * @return {?T} If the name matched the expected name, returns the deserializ
ed\n" |
| 75 " * object, otherwise returns undefined.\n" |
| 76 " */\n" |
| 77 "proto.google.protobuf.Any.prototype.unpack = function(deserialize, name) {\n" |
| 78 " if (this.getTypeName() == name) {\n" |
| 79 " return deserialize(this.getValue_asU8());\n" |
| 80 " } else {\n" |
| 81 " return null;\n" |
| 82 " }\n" |
| 83 "};\n" |
| 84 }, |
| 85 {"timestamp.js", |
| 86 "// Protocol Buffers - Google's data interchange format\n" |
| 87 "// Copyright 2008 Google Inc. All rights reserved.\n" |
| 88 "// https://developers.google.com/protocol-buffers/\n" |
| 89 "//\n" |
| 90 "// Redistribution and use in source and binary forms, with or without\n" |
| 91 "// modification, are permitted provided that the following conditions are\n" |
| 92 "// met:\n" |
| 93 "//\n" |
| 94 "// * Redistributions of source code must retain the above copyright\n" |
| 95 "// notice, this list of conditions and the following disclaimer.\n" |
| 96 "// * Redistributions in binary form must reproduce the above\n" |
| 97 "// copyright notice, this list of conditions and the following disclaimer\n" |
| 98 "// in the documentation and/or other materials provided with the\n" |
| 99 "// distribution.\n" |
| 100 "// * Neither the name of Google Inc. nor the names of its\n" |
| 101 "// contributors may be used to endorse or promote products derived from\n" |
| 102 "// this software without specific prior written permission.\n" |
| 103 "//\n" |
| 104 "// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" |
| 105 "// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" |
| 106 "// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n" |
| 107 "// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n" |
| 108 "// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n" |
| 109 "// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n" |
| 110 "// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n" |
| 111 "// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n" |
| 112 "// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" |
| 113 "// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n" |
| 114 "// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" |
| 115 "\n" |
| 116 "/* This code will be inserted into generated code for\n" |
| 117 " * google/protobuf/timestamp.proto. */\n" |
| 118 "\n" |
| 119 "/**\n" |
| 120 " * Returns a JavaScript 'Date' object corresponding to this Timestamp.\n" |
| 121 " * @return {!Date}\n" |
| 122 " */\n" |
| 123 "proto.google.protobuf.Timestamp.prototype.toDate = function() {\n" |
| 124 " // The '|| 0' clauses are necessary for as long as\n" |
| 125 " // broken_proto3_semantics are specified for this rule inside Google.\n" |
| 126 " var seconds = this.getSeconds() || 0;\n" |
| 127 " var nanos = this.getNanos() || 0;\n" |
| 128 "\n" |
| 129 " return new Date((seconds * 1000) + (nanos / 1000000));\n" |
| 130 "};\n" |
| 131 "\n" |
| 132 "\n" |
| 133 "/**\n" |
| 134 " * Sets the value of this Timestamp object to be the given Date.\n" |
| 135 " * @param {!Date} value The value to set.\n" |
| 136 " */\n" |
| 137 "proto.google.protobuf.Timestamp.prototype.fromDate = function(value) {\n" |
| 138 " var millis = value.getTime();\n" |
| 139 " this.setSeconds(Math.floor(value.getTime() / 1000));\n" |
| 140 " this.setNanos(value.getMilliseconds() * 1000000);\n" |
| 141 "};\n" |
| 142 }, |
| 143 {"struct.js", |
| 144 "// Protocol Buffers - Google's data interchange format\n" |
| 145 "// Copyright 2008 Google Inc. All rights reserved.\n" |
| 146 "// https://developers.google.com/protocol-buffers/\n" |
| 147 "//\n" |
| 148 "// Redistribution and use in source and binary forms, with or without\n" |
| 149 "// modification, are permitted provided that the following conditions are\n" |
| 150 "// met:\n" |
| 151 "//\n" |
| 152 "// * Redistributions of source code must retain the above copyright\n" |
| 153 "// notice, this list of conditions and the following disclaimer.\n" |
| 154 "// * Redistributions in binary form must reproduce the above\n" |
| 155 "// copyright notice, this list of conditions and the following disclaimer\n" |
| 156 "// in the documentation and/or other materials provided with the\n" |
| 157 "// distribution.\n" |
| 158 "// * Neither the name of Google Inc. nor the names of its\n" |
| 159 "// contributors may be used to endorse or promote products derived from\n" |
| 160 "// this software without specific prior written permission.\n" |
| 161 "//\n" |
| 162 "// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" |
| 163 "// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" |
| 164 "// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n" |
| 165 "// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n" |
| 166 "// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n" |
| 167 "// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n" |
| 168 "// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n" |
| 169 "// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n" |
| 170 "// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" |
| 171 "// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n" |
| 172 "// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" |
| 173 "\n" |
| 174 "/* This code will be inserted into generated code for\n" |
| 175 " * google/protobuf/struct.proto. */\n" |
| 176 "\n" |
| 177 "/**\n" |
| 178 " * Typedef representing plain JavaScript values that can go into a\n" |
| 179 " * Struct.\n" |
| 180 " * @typedef {null|number|string|boolean|Array|Object}\n" |
| 181 " */\n" |
| 182 "proto.google.protobuf.JavaScriptValue;\n" |
| 183 "\n" |
| 184 "\n" |
| 185 "/**\n" |
| 186 " * Converts this Value object to a plain JavaScript value.\n" |
| 187 " * @return {?proto.google.protobuf.JavaScriptValue} a plain JavaScript\n" |
| 188 " * value representing this Struct.\n" |
| 189 " */\n" |
| 190 "proto.google.protobuf.Value.prototype.toJavaScript = function() {\n" |
| 191 " var kindCase = proto.google.protobuf.Value.KindCase;\n" |
| 192 " switch (this.getKindCase()) {\n" |
| 193 " case kindCase.NULL_VALUE:\n" |
| 194 " return null;\n" |
| 195 " case kindCase.NUMBER_VALUE:\n" |
| 196 " return this.getNumberValue();\n" |
| 197 " case kindCase.STRING_VALUE:\n" |
| 198 " return this.getStringValue();\n" |
| 199 " case kindCase.BOOL_VALUE:\n" |
| 200 " return this.getBoolValue();\n" |
| 201 " case kindCase.STRUCT_VALUE:\n" |
| 202 " return this.getStructValue().toJavaScript();\n" |
| 203 " case kindCase.LIST_VALUE:\n" |
| 204 " return this.getListValue().toJavaScript();\n" |
| 205 " default:\n" |
| 206 " throw new Error('Unexpected struct type');\n" |
| 207 " }\n" |
| 208 "};\n" |
| 209 "\n" |
| 210 "\n" |
| 211 "/**\n" |
| 212 " * Converts this JavaScript value to a new Value proto.\n" |
| 213 " * @param {!proto.google.protobuf.JavaScriptValue} value The value to\n" |
| 214 " * convert.\n" |
| 215 " * @return {!proto.google.protobuf.Value} The newly constructed value.\n" |
| 216 " */\n" |
| 217 "proto.google.protobuf.Value.fromJavaScript = function(value) {\n" |
| 218 " var ret = new proto.google.protobuf.Value();\n" |
| 219 " switch (goog.typeOf(value)) {\n" |
| 220 " case 'string':\n" |
| 221 " ret.setStringValue(/** @type {string} */ (value));\n" |
| 222 " break;\n" |
| 223 " case 'number':\n" |
| 224 " ret.setNumberValue(/** @type {number} */ (value));\n" |
| 225 " break;\n" |
| 226 " case 'boolean':\n" |
| 227 " ret.setBoolValue(/** @type {boolean} */ (value));\n" |
| 228 " break;\n" |
| 229 " case 'null':\n" |
| 230 " ret.setNullValue(proto.google.protobuf.NullValue.NULL_VALUE);\n" |
| 231 " break;\n" |
| 232 " case 'array':\n" |
| 233 " ret.setListValue(proto.google.protobuf.ListValue.fromJavaScript(\n" |
| 234 " /** @type{!Array} */ (value)));\n" |
| 235 " break;\n" |
| 236 " case 'object':\n" |
| 237 " ret.setStructValue(proto.google.protobuf.Struct.fromJavaScript(\n" |
| 238 " /** @type{!Object} */ (value)));\n" |
| 239 " break;\n" |
| 240 " default:\n" |
| 241 " throw new Error('Unexpected struct type.');\n" |
| 242 " }\n" |
| 243 "\n" |
| 244 " return ret;\n" |
| 245 "};\n" |
| 246 "\n" |
| 247 "\n" |
| 248 "/**\n" |
| 249 " * Converts this ListValue object to a plain JavaScript array.\n" |
| 250 " * @return {!Array} a plain JavaScript array representing this List.\n" |
| 251 " */\n" |
| 252 "proto.google.protobuf.ListValue.prototype.toJavaScript = function() {\n" |
| 253 " var ret = [];\n" |
| 254 " var values = this.getValuesList();\n" |
| 255 "\n" |
| 256 " for (var i = 0; i < values.length; i++) {\n" |
| 257 " ret[i] = values[i].toJavaScript();\n" |
| 258 " }\n" |
| 259 "\n" |
| 260 " return ret;\n" |
| 261 "};\n" |
| 262 "\n" |
| 263 "\n" |
| 264 "/**\n" |
| 265 " * Constructs a ListValue protobuf from this plain JavaScript array.\n" |
| 266 " * @param {!Array} array a plain JavaScript array\n" |
| 267 " * @return {proto.google.protobuf.ListValue} a new ListValue object\n" |
| 268 " */\n" |
| 269 "proto.google.protobuf.ListValue.fromJavaScript = function(array) {\n" |
| 270 " var ret = new proto.google.protobuf.ListValue();\n" |
| 271 "\n" |
| 272 " for (var i = 0; i < array.length; i++) {\n" |
| 273 " ret.addValues(proto.google.protobuf.Value.fromJavaScript(array[i]));\n" |
| 274 " }\n" |
| 275 "\n" |
| 276 " return ret;\n" |
| 277 "};\n" |
| 278 "\n" |
| 279 "\n" |
| 280 "/**\n" |
| 281 " * Converts this Struct object to a plain JavaScript object.\n" |
| 282 " * @return {!Object<string, !proto.google.protobuf.JavaScriptValue>} a plain\
n" |
| 283 " * JavaScript object representing this Struct.\n" |
| 284 " */\n" |
| 285 "proto.google.protobuf.Struct.prototype.toJavaScript = function() {\n" |
| 286 " var ret = {};\n" |
| 287 "\n" |
| 288 " this.getFieldsMap().forEach(function(value, key) {\n" |
| 289 " ret[key] = value.toJavaScript();\n" |
| 290 " });\n" |
| 291 "\n" |
| 292 " return ret;\n" |
| 293 "};\n" |
| 294 "\n" |
| 295 "\n" |
| 296 "/**\n" |
| 297 " * Constructs a Struct protobuf from this plain JavaScript object.\n" |
| 298 " * @param {!Object} obj a plain JavaScript object\n" |
| 299 " * @return {proto.google.protobuf.Struct} a new Struct object\n" |
| 300 " */\n" |
| 301 "proto.google.protobuf.Struct.fromJavaScript = function(obj) {\n" |
| 302 " var ret = new proto.google.protobuf.Struct();\n" |
| 303 " var map = ret.getFieldsMap();\n" |
| 304 "\n" |
| 305 " for (var property in obj) {\n" |
| 306 " var val = obj[property];\n" |
| 307 " map.set(property, proto.google.protobuf.Value.fromJavaScript(val));\n" |
| 308 " }\n" |
| 309 "\n" |
| 310 " return ret;\n" |
| 311 "};\n" |
| 312 }, |
| 313 {NULL, NULL} // Terminate the list. |
| 314 }; |
OLD | NEW |