protobufjs 8.6.0 → 8.6.2

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 (108) hide show
  1. package/LICENSE +39 -39
  2. package/README.md +441 -441
  3. package/dist/light/protobuf.js +8473 -8516
  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 +3018 -3061
  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 +10376 -10419
  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/README.md +70 -70
  16. package/ext/debug/README.md +4 -4
  17. package/ext/debug/index.js +71 -71
  18. package/ext/descriptor/README.md +5 -5
  19. package/ext/descriptor/index.d.ts +2 -2
  20. package/ext/descriptor/index.js +2 -2
  21. package/ext/descriptor.d.ts +87 -86
  22. package/ext/descriptor.generated.d.ts +14 -6
  23. package/ext/descriptor.js +1354 -1303
  24. package/ext/protojson.LICENSE +201 -201
  25. package/ext/protojson.d.ts +20 -20
  26. package/ext/protojson.js +925 -903
  27. package/ext/textformat.d.ts +19 -19
  28. package/ext/textformat.js +1256 -1256
  29. package/google/LICENSE +27 -27
  30. package/google/README.md +1 -1
  31. package/google/api/annotations.json +82 -82
  32. package/google/api/annotations.proto +10 -10
  33. package/google/api/http.json +85 -85
  34. package/google/api/http.proto +30 -30
  35. package/google/protobuf/api.json +117 -117
  36. package/google/protobuf/api.proto +33 -33
  37. package/google/protobuf/compiler/plugin.json +126 -126
  38. package/google/protobuf/compiler/plugin.proto +47 -47
  39. package/google/protobuf/descriptor.json +1381 -1381
  40. package/google/protobuf/descriptor.proto +534 -534
  41. package/google/protobuf/source_context.json +19 -19
  42. package/google/protobuf/source_context.proto +7 -7
  43. package/google/protobuf/type.json +201 -201
  44. package/google/protobuf/type.proto +89 -89
  45. package/index.d.ts +10 -18
  46. package/index.js +4 -4
  47. package/light.d.ts +2 -2
  48. package/light.js +3 -3
  49. package/minimal.d.ts +2 -2
  50. package/minimal.js +4 -4
  51. package/package.json +93 -93
  52. package/src/common.js +399 -399
  53. package/src/converter.js +344 -344
  54. package/src/decoder.js +208 -208
  55. package/src/encoder.js +111 -111
  56. package/src/enum.js +231 -231
  57. package/src/field.js +497 -497
  58. package/src/index-light.js +104 -104
  59. package/src/index-minimal.js +36 -36
  60. package/src/index.js +12 -12
  61. package/src/mapfield.js +136 -136
  62. package/src/message.js +137 -137
  63. package/src/method.js +175 -175
  64. package/src/namespace.js +565 -565
  65. package/src/object.js +382 -382
  66. package/src/oneof.js +225 -225
  67. package/src/parse.js +1068 -1068
  68. package/src/reader.js +543 -543
  69. package/src/reader_buffer.js +72 -72
  70. package/src/root.js +416 -416
  71. package/src/roots.js +18 -18
  72. package/src/rpc/service.js +148 -148
  73. package/src/rpc.js +36 -36
  74. package/src/service.js +198 -198
  75. package/src/tokenize.js +421 -421
  76. package/src/type.js +655 -655
  77. package/src/types.js +196 -196
  78. package/src/typescript.js +25 -25
  79. package/src/util/aspromise.d.ts +13 -13
  80. package/src/util/aspromise.js +52 -52
  81. package/src/util/base64.d.ts +32 -32
  82. package/src/util/base64.js +146 -146
  83. package/src/util/codegen.d.ts +31 -31
  84. package/src/util/codegen.js +113 -113
  85. package/src/util/eventemitter.d.ts +45 -45
  86. package/src/util/eventemitter.js +86 -86
  87. package/src/util/fetch.d.ts +56 -56
  88. package/src/util/fetch.js +112 -112
  89. package/src/util/float.d.ts +83 -83
  90. package/src/util/float.js +335 -335
  91. package/src/util/fs.js +11 -11
  92. package/src/util/longbits.js +200 -200
  93. package/src/util/minimal.js +515 -518
  94. package/src/util/path.d.ts +22 -22
  95. package/src/util/path.js +72 -72
  96. package/src/util/patterns.js +7 -7
  97. package/src/util/pool.d.ts +32 -32
  98. package/src/util/pool.js +48 -48
  99. package/src/util/utf8.d.ts +24 -24
  100. package/src/util/utf8.js +130 -130
  101. package/src/util.js +242 -242
  102. package/src/verifier.js +180 -180
  103. package/src/wrappers.js +106 -106
  104. package/src/writer.js +495 -495
  105. package/src/writer_buffer.js +102 -102
  106. package/tsconfig.json +6 -6
  107. package/src/util/inquire.d.ts +0 -10
  108. package/src/util/inquire.js +0 -38
package/src/oneof.js CHANGED
@@ -1,225 +1,225 @@
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
- * @property {string|null} [comment] Oneof comment
58
- */
59
-
60
- /**
61
- * Constructs a oneof from a oneof descriptor.
62
- * @param {string} name Oneof name
63
- * @param {IOneOf} json Oneof descriptor
64
- * @returns {OneOf} Created oneof
65
- * @throws {TypeError} If arguments are invalid
66
- */
67
- OneOf.fromJSON = function fromJSON(name, json) {
68
- return new OneOf(name, json.oneof, json.options, json.comment);
69
- };
70
-
71
- /**
72
- * Converts this oneof to a oneof descriptor.
73
- * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
74
- * @returns {IOneOf} Oneof descriptor
75
- */
76
- OneOf.prototype.toJSON = function toJSON(toJSONOptions) {
77
- var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
78
- return util.toObject([
79
- "options" , this.options,
80
- "oneof" , this.oneof,
81
- "comment" , keepComments ? this.comment : undefined
82
- ]);
83
- };
84
-
85
- /**
86
- * Adds the fields of the specified oneof to the parent if not already done so.
87
- * @param {OneOf} oneof The oneof
88
- * @returns {undefined}
89
- * @inner
90
- * @ignore
91
- */
92
- function addFieldsToParent(oneof) {
93
- if (oneof.parent)
94
- for (var i = 0; i < oneof.fieldsArray.length; ++i)
95
- if (!oneof.fieldsArray[i].parent)
96
- oneof.parent.add(oneof.fieldsArray[i]);
97
- }
98
-
99
- /**
100
- * Adds a field to this oneof and removes it from its current parent, if any.
101
- * @param {Field} field Field to add
102
- * @returns {OneOf} `this`
103
- */
104
- OneOf.prototype.add = function add(field) {
105
-
106
- /* istanbul ignore if */
107
- if (!(field instanceof Field))
108
- throw TypeError("field must be a Field");
109
-
110
- if (field.parent && field.parent !== this.parent)
111
- field.parent.remove(field);
112
- this.oneof.push(field.name);
113
- this.fieldsArray.push(field);
114
- field.partOf = this; // field.parent remains null
115
- addFieldsToParent(this);
116
- return this;
117
- };
118
-
119
- /**
120
- * Removes a field from this oneof and puts it back to the oneof's parent.
121
- * @param {Field} field Field to remove
122
- * @returns {OneOf} `this`
123
- */
124
- OneOf.prototype.remove = function remove(field) {
125
-
126
- /* istanbul ignore if */
127
- if (!(field instanceof Field))
128
- throw TypeError("field must be a Field");
129
-
130
- var index = this.fieldsArray.indexOf(field);
131
-
132
- /* istanbul ignore if */
133
- if (index < 0)
134
- throw Error(field + " is not a member of " + this);
135
-
136
- this.fieldsArray.splice(index, 1);
137
- index = this.oneof.indexOf(field.name);
138
-
139
- /* istanbul ignore else */
140
- if (index > -1) // theoretical
141
- this.oneof.splice(index, 1);
142
-
143
- field.partOf = null;
144
- return this;
145
- };
146
-
147
- /**
148
- * @override
149
- */
150
- OneOf.prototype.onAdd = function onAdd(parent) {
151
- ReflectionObject.prototype.onAdd.call(this, parent);
152
- var self = this;
153
- // Collect present fields
154
- for (var i = 0; i < this.oneof.length; ++i) {
155
- var field = parent.get(this.oneof[i]);
156
- if (field && !field.partOf) {
157
- field.partOf = self;
158
- self.fieldsArray.push(field);
159
- }
160
- }
161
- // Add not yet present fields
162
- addFieldsToParent(this);
163
- };
164
-
165
- /**
166
- * @override
167
- */
168
- OneOf.prototype.onRemove = function onRemove(parent) {
169
- for (var i = 0, field; i < this.fieldsArray.length; ++i)
170
- if ((field = this.fieldsArray[i]).parent)
171
- field.parent.remove(field);
172
- ReflectionObject.prototype.onRemove.call(this, parent);
173
- };
174
-
175
- /**
176
- * Determines whether this field corresponds to a synthetic oneof created for
177
- * a proto3 optional field. No behavioral logic should depend on this, but it
178
- * can be relevant for reflection.
179
- * @name OneOf#isProto3Optional
180
- * @type {boolean}
181
- * @readonly
182
- */
183
- Object.defineProperty(OneOf.prototype, "isProto3Optional", {
184
- get: function() {
185
- if (this.fieldsArray == null || this.fieldsArray.length !== 1) {
186
- return false;
187
- }
188
-
189
- var field = this.fieldsArray[0];
190
- return field.options != null && field.options["proto3_optional"] === true;
191
- }
192
- });
193
-
194
- /**
195
- * Decorator function as returned by {@link OneOf.d} (TypeScript).
196
- * @typedef OneOfDecorator
197
- * @type {function}
198
- * @param {Object} prototype Target prototype
199
- * @param {string} oneofName OneOf name
200
- * @returns {undefined}
201
- * @deprecated Legacy TypeScript decorator support. Will be removed in a future release.
202
- */
203
-
204
- /**
205
- * OneOf decorator (TypeScript).
206
- * @function
207
- * @param {...string} fieldNames Field names
208
- * @returns {OneOfDecorator} Decorator function
209
- * @template T extends string
210
- * @deprecated Legacy TypeScript decorator support. Will be removed in a future release.
211
- */
212
- OneOf.d = function decorateOneOf() {
213
- var fieldNames = new Array(arguments.length),
214
- index = 0;
215
- while (index < arguments.length)
216
- fieldNames[index] = arguments[index++];
217
- return function oneOfDecorator(prototype, oneofName) {
218
- util.decorateType(prototype.constructor)
219
- .add(new OneOf(oneofName, fieldNames));
220
- Object.defineProperty(prototype, oneofName, {
221
- get: util.oneOfGetter(fieldNames),
222
- set: util.oneOfSetter(fieldNames)
223
- });
224
- };
225
- };
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
+ * @property {string|null} [comment] Oneof comment
58
+ */
59
+
60
+ /**
61
+ * Constructs a oneof from a oneof descriptor.
62
+ * @param {string} name Oneof name
63
+ * @param {IOneOf} json Oneof descriptor
64
+ * @returns {OneOf} Created oneof
65
+ * @throws {TypeError} If arguments are invalid
66
+ */
67
+ OneOf.fromJSON = function fromJSON(name, json) {
68
+ return new OneOf(name, json.oneof, json.options, json.comment);
69
+ };
70
+
71
+ /**
72
+ * Converts this oneof to a oneof descriptor.
73
+ * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
74
+ * @returns {IOneOf} Oneof descriptor
75
+ */
76
+ OneOf.prototype.toJSON = function toJSON(toJSONOptions) {
77
+ var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
78
+ return util.toObject([
79
+ "options" , this.options,
80
+ "oneof" , this.oneof,
81
+ "comment" , keepComments ? this.comment : undefined
82
+ ]);
83
+ };
84
+
85
+ /**
86
+ * Adds the fields of the specified oneof to the parent if not already done so.
87
+ * @param {OneOf} oneof The oneof
88
+ * @returns {undefined}
89
+ * @inner
90
+ * @ignore
91
+ */
92
+ function addFieldsToParent(oneof) {
93
+ if (oneof.parent)
94
+ for (var i = 0; i < oneof.fieldsArray.length; ++i)
95
+ if (!oneof.fieldsArray[i].parent)
96
+ oneof.parent.add(oneof.fieldsArray[i]);
97
+ }
98
+
99
+ /**
100
+ * Adds a field to this oneof and removes it from its current parent, if any.
101
+ * @param {Field} field Field to add
102
+ * @returns {OneOf} `this`
103
+ */
104
+ OneOf.prototype.add = function add(field) {
105
+
106
+ /* istanbul ignore if */
107
+ if (!(field instanceof Field))
108
+ throw TypeError("field must be a Field");
109
+
110
+ if (field.parent && field.parent !== this.parent)
111
+ field.parent.remove(field);
112
+ this.oneof.push(field.name);
113
+ this.fieldsArray.push(field);
114
+ field.partOf = this; // field.parent remains null
115
+ addFieldsToParent(this);
116
+ return this;
117
+ };
118
+
119
+ /**
120
+ * Removes a field from this oneof and puts it back to the oneof's parent.
121
+ * @param {Field} field Field to remove
122
+ * @returns {OneOf} `this`
123
+ */
124
+ OneOf.prototype.remove = function remove(field) {
125
+
126
+ /* istanbul ignore if */
127
+ if (!(field instanceof Field))
128
+ throw TypeError("field must be a Field");
129
+
130
+ var index = this.fieldsArray.indexOf(field);
131
+
132
+ /* istanbul ignore if */
133
+ if (index < 0)
134
+ throw Error(field + " is not a member of " + this);
135
+
136
+ this.fieldsArray.splice(index, 1);
137
+ index = this.oneof.indexOf(field.name);
138
+
139
+ /* istanbul ignore else */
140
+ if (index > -1) // theoretical
141
+ this.oneof.splice(index, 1);
142
+
143
+ field.partOf = null;
144
+ return this;
145
+ };
146
+
147
+ /**
148
+ * @override
149
+ */
150
+ OneOf.prototype.onAdd = function onAdd(parent) {
151
+ ReflectionObject.prototype.onAdd.call(this, parent);
152
+ var self = this;
153
+ // Collect present fields
154
+ for (var i = 0; i < this.oneof.length; ++i) {
155
+ var field = parent.get(this.oneof[i]);
156
+ if (field && !field.partOf) {
157
+ field.partOf = self;
158
+ self.fieldsArray.push(field);
159
+ }
160
+ }
161
+ // Add not yet present fields
162
+ addFieldsToParent(this);
163
+ };
164
+
165
+ /**
166
+ * @override
167
+ */
168
+ OneOf.prototype.onRemove = function onRemove(parent) {
169
+ for (var i = 0, field; i < this.fieldsArray.length; ++i)
170
+ if ((field = this.fieldsArray[i]).parent)
171
+ field.parent.remove(field);
172
+ ReflectionObject.prototype.onRemove.call(this, parent);
173
+ };
174
+
175
+ /**
176
+ * Determines whether this field corresponds to a synthetic oneof created for
177
+ * a proto3 optional field. No behavioral logic should depend on this, but it
178
+ * can be relevant for reflection.
179
+ * @name OneOf#isProto3Optional
180
+ * @type {boolean}
181
+ * @readonly
182
+ */
183
+ Object.defineProperty(OneOf.prototype, "isProto3Optional", {
184
+ get: function() {
185
+ if (this.fieldsArray == null || this.fieldsArray.length !== 1) {
186
+ return false;
187
+ }
188
+
189
+ var field = this.fieldsArray[0];
190
+ return field.options != null && field.options["proto3_optional"] === true;
191
+ }
192
+ });
193
+
194
+ /**
195
+ * Decorator function as returned by {@link OneOf.d} (TypeScript).
196
+ * @typedef OneOfDecorator
197
+ * @type {function}
198
+ * @param {Object} prototype Target prototype
199
+ * @param {string} oneofName OneOf name
200
+ * @returns {undefined}
201
+ * @deprecated Legacy TypeScript decorator support. Will be removed in a future release.
202
+ */
203
+
204
+ /**
205
+ * OneOf decorator (TypeScript).
206
+ * @function
207
+ * @param {...string} fieldNames Field names
208
+ * @returns {OneOfDecorator} Decorator function
209
+ * @template T extends string
210
+ * @deprecated Legacy TypeScript decorator support. Will be removed in a future release.
211
+ */
212
+ OneOf.d = function decorateOneOf() {
213
+ var fieldNames = new Array(arguments.length),
214
+ index = 0;
215
+ while (index < arguments.length)
216
+ fieldNames[index] = arguments[index++];
217
+ return function oneOfDecorator(prototype, oneofName) {
218
+ util.decorateType(prototype.constructor)
219
+ .add(new OneOf(oneofName, fieldNames));
220
+ Object.defineProperty(prototype, oneofName, {
221
+ get: util.oneOfGetter(fieldNames),
222
+ set: util.oneOfSetter(fieldNames)
223
+ });
224
+ };
225
+ };