protobufjs 8.0.3-experimental → 8.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/LICENSE +39 -39
  2. package/README.md +727 -727
  3. package/dist/light/protobuf.js +7724 -7352
  4. package/dist/light/protobuf.js.map +1 -1
  5. package/dist/light/protobuf.min.js +3 -3
  6. package/dist/light/protobuf.min.js.map +1 -1
  7. package/dist/minimal/protobuf.js +2606 -2546
  8. package/dist/minimal/protobuf.js.map +1 -1
  9. package/dist/minimal/protobuf.min.js +3 -3
  10. package/dist/minimal/protobuf.min.js.map +1 -1
  11. package/dist/protobuf.js +9588 -9131
  12. package/dist/protobuf.js.map +1 -1
  13. package/dist/protobuf.min.js +3 -3
  14. package/dist/protobuf.min.js.map +1 -1
  15. package/ext/debug/README.md +4 -4
  16. package/ext/debug/index.js +71 -71
  17. package/ext/descriptor/README.md +72 -72
  18. package/ext/descriptor/index.d.ts +195 -191
  19. package/ext/descriptor/index.js +1181 -1052
  20. package/ext/descriptor/test.js +54 -54
  21. package/google/LICENSE +27 -27
  22. package/google/README.md +1 -1
  23. package/google/api/annotations.json +82 -82
  24. package/google/api/annotations.proto +10 -10
  25. package/google/api/http.json +85 -85
  26. package/google/api/http.proto +30 -30
  27. package/google/protobuf/api.json +117 -117
  28. package/google/protobuf/api.proto +33 -33
  29. package/google/protobuf/descriptor.json +1381 -738
  30. package/google/protobuf/descriptor.proto +535 -286
  31. package/google/protobuf/source_context.json +19 -19
  32. package/google/protobuf/source_context.proto +7 -7
  33. package/google/protobuf/type.json +201 -201
  34. package/google/protobuf/type.proto +89 -89
  35. package/index.d.ts +2817 -2792
  36. package/index.js +4 -4
  37. package/light.d.ts +2 -2
  38. package/light.js +3 -3
  39. package/minimal.d.ts +2 -2
  40. package/minimal.js +4 -4
  41. package/package.json +96 -112
  42. package/scripts/postinstall.js +32 -32
  43. package/src/common.js +399 -399
  44. package/src/converter.js +310 -301
  45. package/src/decoder.js +135 -127
  46. package/src/encoder.js +100 -100
  47. package/src/enum.js +226 -241
  48. package/src/field.js +453 -432
  49. package/src/index-light.js +104 -104
  50. package/src/index-minimal.js +36 -36
  51. package/src/index.js +12 -12
  52. package/src/mapfield.js +126 -126
  53. package/src/message.js +139 -139
  54. package/src/method.js +160 -160
  55. package/src/namespace.js +550 -434
  56. package/src/object.js +385 -330
  57. package/src/oneof.js +222 -222
  58. package/src/parse.js +1024 -944
  59. package/src/reader.js +426 -416
  60. package/src/reader_buffer.js +51 -51
  61. package/src/root.js +404 -384
  62. package/src/roots.js +17 -17
  63. package/src/rpc/service.js +142 -142
  64. package/src/rpc.js +36 -36
  65. package/src/service.js +193 -168
  66. package/src/tokenize.js +421 -416
  67. package/src/type.js +625 -590
  68. package/src/types.js +196 -196
  69. package/src/typescript.jsdoc +15 -15
  70. package/src/util/aspromise.d.ts +13 -0
  71. package/src/util/aspromise.js +52 -0
  72. package/src/util/base64.d.ts +32 -0
  73. package/src/util/base64.js +139 -0
  74. package/src/util/codegen.d.ts +31 -0
  75. package/src/util/codegen.js +113 -0
  76. package/src/util/eventemitter.d.ts +45 -0
  77. package/src/util/eventemitter.js +84 -0
  78. package/src/util/fetch.d.ts +56 -0
  79. package/src/util/fetch.js +114 -0
  80. package/src/util/float.d.ts +83 -0
  81. package/src/util/float.js +335 -0
  82. package/src/util/inquire.d.ts +9 -0
  83. package/src/util/inquire.js +37 -0
  84. package/src/util/longbits.js +200 -200
  85. package/src/util/minimal.js +461 -438
  86. package/src/util/path.d.ts +22 -0
  87. package/src/util/path.js +72 -0
  88. package/src/util/patterns.js +8 -0
  89. package/src/util/pool.d.ts +32 -0
  90. package/src/util/pool.js +48 -0
  91. package/src/util/utf8.d.ts +24 -0
  92. package/src/util/utf8.js +104 -0
  93. package/src/util.js +215 -213
  94. package/src/verifier.js +180 -177
  95. package/src/wrappers.js +103 -102
  96. package/src/writer.js +465 -465
  97. package/src/writer_buffer.js +85 -85
  98. package/tsconfig.json +8 -8
package/src/oneof.js CHANGED
@@ -1,222 +1,222 @@
1
- "use strict";
2
- module.exports = OneOf;
3
-
4
- // extends ReflectionObject
5
- var ReflectionObject = require("./object");
6
- ((OneOf.prototype = Object.create(ReflectionObject.prototype)).constructor = OneOf).className = "OneOf";
7
-
8
- var Field = require("./field"),
9
- util = require("./util");
10
-
11
- /**
12
- * Constructs a new oneof instance.
13
- * @classdesc Reflected oneof.
14
- * @extends ReflectionObject
15
- * @constructor
16
- * @param {string} name Oneof name
17
- * @param {string[]|Object.<string,*>} [fieldNames] Field names
18
- * @param {Object.<string,*>} [options] Declared options
19
- * @param {string} [comment] Comment associated with this field
20
- */
21
- function OneOf(name, fieldNames, options, comment) {
22
- if (!Array.isArray(fieldNames)) {
23
- options = fieldNames;
24
- fieldNames = undefined;
25
- }
26
- ReflectionObject.call(this, name, options);
27
-
28
- /* istanbul ignore if */
29
- if (!(fieldNames === undefined || Array.isArray(fieldNames)))
30
- throw TypeError("fieldNames must be an Array");
31
-
32
- /**
33
- * Field names that belong to this oneof.
34
- * @type {string[]}
35
- */
36
- this.oneof = fieldNames || []; // toJSON, marker
37
-
38
- /**
39
- * Fields that belong to this oneof as an array for iteration.
40
- * @type {Field[]}
41
- * @readonly
42
- */
43
- this.fieldsArray = []; // declared readonly for conformance, possibly not yet added to parent
44
-
45
- /**
46
- * Comment for this field.
47
- * @type {string|null}
48
- */
49
- this.comment = comment;
50
- }
51
-
52
- /**
53
- * Oneof descriptor.
54
- * @interface IOneOf
55
- * @property {Array.<string>} oneof Oneof field names
56
- * @property {Object.<string,*>} [options] Oneof options
57
- */
58
-
59
- /**
60
- * Constructs a oneof from a oneof descriptor.
61
- * @param {string} name Oneof name
62
- * @param {IOneOf} json Oneof descriptor
63
- * @returns {OneOf} Created oneof
64
- * @throws {TypeError} If arguments are invalid
65
- */
66
- OneOf.fromJSON = function fromJSON(name, json) {
67
- return new OneOf(name, json.oneof, json.options, json.comment);
68
- };
69
-
70
- /**
71
- * Converts this oneof to a oneof descriptor.
72
- * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
73
- * @returns {IOneOf} Oneof descriptor
74
- */
75
- OneOf.prototype.toJSON = function toJSON(toJSONOptions) {
76
- var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
77
- return util.toObject([
78
- "options" , this.options,
79
- "oneof" , this.oneof,
80
- "comment" , keepComments ? this.comment : undefined
81
- ]);
82
- };
83
-
84
- /**
85
- * Adds the fields of the specified oneof to the parent if not already done so.
86
- * @param {OneOf} oneof The oneof
87
- * @returns {undefined}
88
- * @inner
89
- * @ignore
90
- */
91
- function addFieldsToParent(oneof) {
92
- if (oneof.parent)
93
- for (var i = 0; i < oneof.fieldsArray.length; ++i)
94
- if (!oneof.fieldsArray[i].parent)
95
- oneof.parent.add(oneof.fieldsArray[i]);
96
- }
97
-
98
- /**
99
- * Adds a field to this oneof and removes it from its current parent, if any.
100
- * @param {Field} field Field to add
101
- * @returns {OneOf} `this`
102
- */
103
- OneOf.prototype.add = function add(field) {
104
-
105
- /* istanbul ignore if */
106
- if (!(field instanceof Field))
107
- throw TypeError("field must be a Field");
108
-
109
- if (field.parent && field.parent !== this.parent)
110
- field.parent.remove(field);
111
- this.oneof.push(field.name);
112
- this.fieldsArray.push(field);
113
- field.partOf = this; // field.parent remains null
114
- addFieldsToParent(this);
115
- return this;
116
- };
117
-
118
- /**
119
- * Removes a field from this oneof and puts it back to the oneof's parent.
120
- * @param {Field} field Field to remove
121
- * @returns {OneOf} `this`
122
- */
123
- OneOf.prototype.remove = function remove(field) {
124
-
125
- /* istanbul ignore if */
126
- if (!(field instanceof Field))
127
- throw TypeError("field must be a Field");
128
-
129
- var index = this.fieldsArray.indexOf(field);
130
-
131
- /* istanbul ignore if */
132
- if (index < 0)
133
- throw Error(field + " is not a member of " + this);
134
-
135
- this.fieldsArray.splice(index, 1);
136
- index = this.oneof.indexOf(field.name);
137
-
138
- /* istanbul ignore else */
139
- if (index > -1) // theoretical
140
- this.oneof.splice(index, 1);
141
-
142
- field.partOf = null;
143
- return this;
144
- };
145
-
146
- /**
147
- * @override
148
- */
149
- OneOf.prototype.onAdd = function onAdd(parent) {
150
- ReflectionObject.prototype.onAdd.call(this, parent);
151
- var self = this;
152
- // Collect present fields
153
- for (var i = 0; i < this.oneof.length; ++i) {
154
- var field = parent.get(this.oneof[i]);
155
- if (field && !field.partOf) {
156
- field.partOf = self;
157
- self.fieldsArray.push(field);
158
- }
159
- }
160
- // Add not yet present fields
161
- addFieldsToParent(this);
162
- };
163
-
164
- /**
165
- * @override
166
- */
167
- OneOf.prototype.onRemove = function onRemove(parent) {
168
- for (var i = 0, field; i < this.fieldsArray.length; ++i)
169
- if ((field = this.fieldsArray[i]).parent)
170
- field.parent.remove(field);
171
- ReflectionObject.prototype.onRemove.call(this, parent);
172
- };
173
-
174
- /**
175
- * Determines whether this field corresponds to a synthetic oneof created for
176
- * a proto3 optional field. No behavioral logic should depend on this, but it
177
- * can be relevant for reflection.
178
- * @name OneOf#isProto3Optional
179
- * @type {boolean}
180
- * @readonly
181
- */
182
- Object.defineProperty(OneOf.prototype, "isProto3Optional", {
183
- get: function() {
184
- if (this.fieldsArray == null || this.fieldsArray.length !== 1) {
185
- return false;
186
- }
187
-
188
- var field = this.fieldsArray[0];
189
- return field.options != null && field.options["proto3_optional"] === true;
190
- }
191
- });
192
-
193
- /**
194
- * Decorator function as returned by {@link OneOf.d} (TypeScript).
195
- * @typedef OneOfDecorator
196
- * @type {function}
197
- * @param {Object} prototype Target prototype
198
- * @param {string} oneofName OneOf name
199
- * @returns {undefined}
200
- */
201
-
202
- /**
203
- * OneOf decorator (TypeScript).
204
- * @function
205
- * @param {...string} fieldNames Field names
206
- * @returns {OneOfDecorator} Decorator function
207
- * @template T extends string
208
- */
209
- OneOf.d = function decorateOneOf() {
210
- var fieldNames = new Array(arguments.length),
211
- index = 0;
212
- while (index < arguments.length)
213
- fieldNames[index] = arguments[index++];
214
- return function oneOfDecorator(prototype, oneofName) {
215
- util.decorateType(prototype.constructor)
216
- .add(new OneOf(oneofName, fieldNames));
217
- Object.defineProperty(prototype, oneofName, {
218
- get: util.oneOfGetter(fieldNames),
219
- set: util.oneOfSetter(fieldNames)
220
- });
221
- };
222
- };
1
+ "use strict";
2
+ module.exports = OneOf;
3
+
4
+ // extends ReflectionObject
5
+ var ReflectionObject = require("./object");
6
+ ((OneOf.prototype = Object.create(ReflectionObject.prototype)).constructor = OneOf).className = "OneOf";
7
+
8
+ var Field = require("./field"),
9
+ util = require("./util");
10
+
11
+ /**
12
+ * Constructs a new oneof instance.
13
+ * @classdesc Reflected oneof.
14
+ * @extends ReflectionObject
15
+ * @constructor
16
+ * @param {string} name Oneof name
17
+ * @param {string[]|Object.<string,*>} [fieldNames] Field names
18
+ * @param {Object.<string,*>} [options] Declared options
19
+ * @param {string} [comment] Comment associated with this field
20
+ */
21
+ function OneOf(name, fieldNames, options, comment) {
22
+ if (!Array.isArray(fieldNames)) {
23
+ options = fieldNames;
24
+ fieldNames = undefined;
25
+ }
26
+ ReflectionObject.call(this, name, options);
27
+
28
+ /* istanbul ignore if */
29
+ if (!(fieldNames === undefined || Array.isArray(fieldNames)))
30
+ throw TypeError("fieldNames must be an Array");
31
+
32
+ /**
33
+ * Field names that belong to this oneof.
34
+ * @type {string[]}
35
+ */
36
+ this.oneof = fieldNames || []; // toJSON, marker
37
+
38
+ /**
39
+ * Fields that belong to this oneof as an array for iteration.
40
+ * @type {Field[]}
41
+ * @readonly
42
+ */
43
+ this.fieldsArray = []; // declared readonly for conformance, possibly not yet added to parent
44
+
45
+ /**
46
+ * Comment for this field.
47
+ * @type {string|null}
48
+ */
49
+ this.comment = comment;
50
+ }
51
+
52
+ /**
53
+ * Oneof descriptor.
54
+ * @interface IOneOf
55
+ * @property {Array.<string>} oneof Oneof field names
56
+ * @property {Object.<string,*>} [options] Oneof options
57
+ */
58
+
59
+ /**
60
+ * Constructs a oneof from a oneof descriptor.
61
+ * @param {string} name Oneof name
62
+ * @param {IOneOf} json Oneof descriptor
63
+ * @returns {OneOf} Created oneof
64
+ * @throws {TypeError} If arguments are invalid
65
+ */
66
+ OneOf.fromJSON = function fromJSON(name, json) {
67
+ return new OneOf(name, json.oneof, json.options, json.comment);
68
+ };
69
+
70
+ /**
71
+ * Converts this oneof to a oneof descriptor.
72
+ * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
73
+ * @returns {IOneOf} Oneof descriptor
74
+ */
75
+ OneOf.prototype.toJSON = function toJSON(toJSONOptions) {
76
+ var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
77
+ return util.toObject([
78
+ "options" , this.options,
79
+ "oneof" , this.oneof,
80
+ "comment" , keepComments ? this.comment : undefined
81
+ ]);
82
+ };
83
+
84
+ /**
85
+ * Adds the fields of the specified oneof to the parent if not already done so.
86
+ * @param {OneOf} oneof The oneof
87
+ * @returns {undefined}
88
+ * @inner
89
+ * @ignore
90
+ */
91
+ function addFieldsToParent(oneof) {
92
+ if (oneof.parent)
93
+ for (var i = 0; i < oneof.fieldsArray.length; ++i)
94
+ if (!oneof.fieldsArray[i].parent)
95
+ oneof.parent.add(oneof.fieldsArray[i]);
96
+ }
97
+
98
+ /**
99
+ * Adds a field to this oneof and removes it from its current parent, if any.
100
+ * @param {Field} field Field to add
101
+ * @returns {OneOf} `this`
102
+ */
103
+ OneOf.prototype.add = function add(field) {
104
+
105
+ /* istanbul ignore if */
106
+ if (!(field instanceof Field))
107
+ throw TypeError("field must be a Field");
108
+
109
+ if (field.parent && field.parent !== this.parent)
110
+ field.parent.remove(field);
111
+ this.oneof.push(field.name);
112
+ this.fieldsArray.push(field);
113
+ field.partOf = this; // field.parent remains null
114
+ addFieldsToParent(this);
115
+ return this;
116
+ };
117
+
118
+ /**
119
+ * Removes a field from this oneof and puts it back to the oneof's parent.
120
+ * @param {Field} field Field to remove
121
+ * @returns {OneOf} `this`
122
+ */
123
+ OneOf.prototype.remove = function remove(field) {
124
+
125
+ /* istanbul ignore if */
126
+ if (!(field instanceof Field))
127
+ throw TypeError("field must be a Field");
128
+
129
+ var index = this.fieldsArray.indexOf(field);
130
+
131
+ /* istanbul ignore if */
132
+ if (index < 0)
133
+ throw Error(field + " is not a member of " + this);
134
+
135
+ this.fieldsArray.splice(index, 1);
136
+ index = this.oneof.indexOf(field.name);
137
+
138
+ /* istanbul ignore else */
139
+ if (index > -1) // theoretical
140
+ this.oneof.splice(index, 1);
141
+
142
+ field.partOf = null;
143
+ return this;
144
+ };
145
+
146
+ /**
147
+ * @override
148
+ */
149
+ OneOf.prototype.onAdd = function onAdd(parent) {
150
+ ReflectionObject.prototype.onAdd.call(this, parent);
151
+ var self = this;
152
+ // Collect present fields
153
+ for (var i = 0; i < this.oneof.length; ++i) {
154
+ var field = parent.get(this.oneof[i]);
155
+ if (field && !field.partOf) {
156
+ field.partOf = self;
157
+ self.fieldsArray.push(field);
158
+ }
159
+ }
160
+ // Add not yet present fields
161
+ addFieldsToParent(this);
162
+ };
163
+
164
+ /**
165
+ * @override
166
+ */
167
+ OneOf.prototype.onRemove = function onRemove(parent) {
168
+ for (var i = 0, field; i < this.fieldsArray.length; ++i)
169
+ if ((field = this.fieldsArray[i]).parent)
170
+ field.parent.remove(field);
171
+ ReflectionObject.prototype.onRemove.call(this, parent);
172
+ };
173
+
174
+ /**
175
+ * Determines whether this field corresponds to a synthetic oneof created for
176
+ * a proto3 optional field. No behavioral logic should depend on this, but it
177
+ * can be relevant for reflection.
178
+ * @name OneOf#isProto3Optional
179
+ * @type {boolean}
180
+ * @readonly
181
+ */
182
+ Object.defineProperty(OneOf.prototype, "isProto3Optional", {
183
+ get: function() {
184
+ if (this.fieldsArray == null || this.fieldsArray.length !== 1) {
185
+ return false;
186
+ }
187
+
188
+ var field = this.fieldsArray[0];
189
+ return field.options != null && field.options["proto3_optional"] === true;
190
+ }
191
+ });
192
+
193
+ /**
194
+ * Decorator function as returned by {@link OneOf.d} (TypeScript).
195
+ * @typedef OneOfDecorator
196
+ * @type {function}
197
+ * @param {Object} prototype Target prototype
198
+ * @param {string} oneofName OneOf name
199
+ * @returns {undefined}
200
+ */
201
+
202
+ /**
203
+ * OneOf decorator (TypeScript).
204
+ * @function
205
+ * @param {...string} fieldNames Field names
206
+ * @returns {OneOfDecorator} Decorator function
207
+ * @template T extends string
208
+ */
209
+ OneOf.d = function decorateOneOf() {
210
+ var fieldNames = new Array(arguments.length),
211
+ index = 0;
212
+ while (index < arguments.length)
213
+ fieldNames[index] = arguments[index++];
214
+ return function oneOfDecorator(prototype, oneofName) {
215
+ util.decorateType(prototype.constructor)
216
+ .add(new OneOf(oneofName, fieldNames));
217
+ Object.defineProperty(prototype, oneofName, {
218
+ get: util.oneOfGetter(fieldNames),
219
+ set: util.oneOfSetter(fieldNames)
220
+ });
221
+ };
222
+ };