protobufjs 7.3.2 → 7.3.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 (77) hide show
  1. package/LICENSE +39 -39
  2. package/README.md +727 -727
  3. package/ext/debug/README.md +4 -4
  4. package/ext/debug/index.js +71 -71
  5. package/ext/descriptor/README.md +72 -72
  6. package/ext/descriptor/index.d.ts +191 -191
  7. package/ext/descriptor/index.js +1052 -1052
  8. package/ext/descriptor/test.js +54 -54
  9. package/google/LICENSE +27 -27
  10. package/google/README.md +1 -1
  11. package/google/api/annotations.json +82 -82
  12. package/google/api/annotations.proto +10 -10
  13. package/google/api/http.json +85 -85
  14. package/google/api/http.proto +30 -30
  15. package/google/protobuf/api.json +117 -117
  16. package/google/protobuf/api.proto +33 -33
  17. package/google/protobuf/descriptor.json +738 -738
  18. package/google/protobuf/descriptor.proto +286 -286
  19. package/google/protobuf/source_context.json +19 -19
  20. package/google/protobuf/source_context.proto +7 -7
  21. package/google/protobuf/type.json +201 -201
  22. package/google/protobuf/type.proto +89 -89
  23. package/index.d.ts +2741 -2741
  24. package/index.js +4 -4
  25. package/light.d.ts +2 -2
  26. package/light.js +3 -3
  27. package/minimal.d.ts +2 -2
  28. package/minimal.js +4 -4
  29. package/package.json +111 -111
  30. package/scripts/postinstall.js +32 -32
  31. package/src/common.js +399 -399
  32. package/src/converter.js +301 -301
  33. package/src/decoder.js +129 -129
  34. package/src/encoder.js +100 -100
  35. package/src/enum.js +198 -198
  36. package/src/field.js +377 -377
  37. package/src/index-light.js +104 -104
  38. package/src/index-minimal.js +36 -36
  39. package/src/index.js +12 -12
  40. package/src/mapfield.js +126 -126
  41. package/src/message.js +138 -138
  42. package/src/method.js +160 -160
  43. package/src/namespace.js +433 -433
  44. package/src/object.js +243 -243
  45. package/src/oneof.js +203 -203
  46. package/src/parse.js +893 -889
  47. package/src/reader.js +416 -416
  48. package/src/reader_buffer.js +51 -51
  49. package/src/root.js +368 -368
  50. package/src/roots.js +18 -18
  51. package/src/rpc/service.js +142 -142
  52. package/src/rpc.js +36 -36
  53. package/src/service.js +167 -167
  54. package/src/tokenize.js +416 -416
  55. package/src/type.js +589 -589
  56. package/src/types.js +196 -196
  57. package/src/typescript.jsdoc +15 -15
  58. package/src/util/longbits.js +200 -200
  59. package/src/util/minimal.js +438 -438
  60. package/src/util.js +212 -212
  61. package/src/verifier.js +176 -176
  62. package/src/wrappers.js +102 -102
  63. package/src/writer.js +465 -465
  64. package/src/writer_buffer.js +85 -85
  65. package/tsconfig.json +7 -7
  66. package/dist/light/protobuf.js +0 -7381
  67. package/dist/light/protobuf.js.map +0 -1
  68. package/dist/light/protobuf.min.js +0 -8
  69. package/dist/light/protobuf.min.js.map +0 -1
  70. package/dist/minimal/protobuf.js +0 -2736
  71. package/dist/minimal/protobuf.js.map +0 -1
  72. package/dist/minimal/protobuf.min.js +0 -8
  73. package/dist/minimal/protobuf.min.js.map +0 -1
  74. package/dist/protobuf.js +0 -9105
  75. package/dist/protobuf.js.map +0 -1
  76. package/dist/protobuf.min.js +0 -8
  77. package/dist/protobuf.min.js.map +0 -1
package/src/message.js CHANGED
@@ -1,139 +1,139 @@
1
- "use strict";
2
- module.exports = Message;
3
-
4
- var util = require("./util/minimal");
5
-
6
- /**
7
- * Constructs a new message instance.
8
- * @classdesc Abstract runtime message.
9
- * @constructor
10
- * @param {Properties<T>} [properties] Properties to set
11
- * @template T extends object = object
12
- */
13
- function Message(properties) {
14
- // not used internally
15
- if (properties)
16
- for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17
- this[keys[i]] = properties[keys[i]];
18
- }
19
-
20
- /**
21
- * Reference to the reflected type.
22
- * @name Message.$type
23
- * @type {Type}
24
- * @readonly
25
- */
26
-
27
- /**
28
- * Reference to the reflected type.
29
- * @name Message#$type
30
- * @type {Type}
31
- * @readonly
32
- */
33
-
34
- /*eslint-disable valid-jsdoc*/
35
-
36
- /**
37
- * Creates a new message of this type using the specified properties.
38
- * @param {Object.<string,*>} [properties] Properties to set
39
- * @returns {Message<T>} Message instance
40
- * @template T extends Message<T>
41
- * @this Constructor<T>
42
- */
43
- Message.create = function create(properties) {
44
- return this.$type.create(properties);
45
- };
46
-
47
- /**
48
- * Encodes a message of this type.
49
- * @param {T|Object.<string,*>} message Message to encode
50
- * @param {Writer} [writer] Writer to use
51
- * @returns {Writer} Writer
52
- * @template T extends Message<T>
53
- * @this Constructor<T>
54
- */
55
- Message.encode = function encode(message, writer) {
56
- return this.$type.encode(message, writer);
57
- };
58
-
59
- /**
60
- * Encodes a message of this type preceeded by its length as a varint.
61
- * @param {T|Object.<string,*>} message Message to encode
62
- * @param {Writer} [writer] Writer to use
63
- * @returns {Writer} Writer
64
- * @template T extends Message<T>
65
- * @this Constructor<T>
66
- */
67
- Message.encodeDelimited = function encodeDelimited(message, writer) {
68
- return this.$type.encodeDelimited(message, writer);
69
- };
70
-
71
- /**
72
- * Decodes a message of this type.
73
- * @name Message.decode
74
- * @function
75
- * @param {Reader|Uint8Array} reader Reader or buffer to decode
76
- * @returns {T} Decoded message
77
- * @template T extends Message<T>
78
- * @this Constructor<T>
79
- */
80
- Message.decode = function decode(reader) {
81
- return this.$type.decode(reader);
82
- };
83
-
84
- /**
85
- * Decodes a message of this type preceeded by its length as a varint.
86
- * @name Message.decodeDelimited
87
- * @function
88
- * @param {Reader|Uint8Array} reader Reader or buffer to decode
89
- * @returns {T} Decoded message
90
- * @template T extends Message<T>
91
- * @this Constructor<T>
92
- */
93
- Message.decodeDelimited = function decodeDelimited(reader) {
94
- return this.$type.decodeDelimited(reader);
95
- };
96
-
97
- /**
98
- * Verifies a message of this type.
99
- * @name Message.verify
100
- * @function
101
- * @param {Object.<string,*>} message Plain object to verify
102
- * @returns {string|null} `null` if valid, otherwise the reason why it is not
103
- */
104
- Message.verify = function verify(message) {
105
- return this.$type.verify(message);
106
- };
107
-
108
- /**
109
- * Creates a new message of this type from a plain object. Also converts values to their respective internal types.
110
- * @param {Object.<string,*>} object Plain object
111
- * @returns {T} Message instance
112
- * @template T extends Message<T>
113
- * @this Constructor<T>
114
- */
115
- Message.fromObject = function fromObject(object) {
116
- return this.$type.fromObject(object);
117
- };
118
-
119
- /**
120
- * Creates a plain object from a message of this type. Also converts values to other types if specified.
121
- * @param {T} message Message instance
122
- * @param {IConversionOptions} [options] Conversion options
123
- * @returns {Object.<string,*>} Plain object
124
- * @template T extends Message<T>
125
- * @this Constructor<T>
126
- */
127
- Message.toObject = function toObject(message, options) {
128
- return this.$type.toObject(message, options);
129
- };
130
-
131
- /**
132
- * Converts this message to JSON.
133
- * @returns {Object.<string,*>} JSON object
134
- */
135
- Message.prototype.toJSON = function toJSON() {
136
- return this.$type.toObject(this, util.toJSONOptions);
137
- };
138
-
1
+ "use strict";
2
+ module.exports = Message;
3
+
4
+ var util = require("./util/minimal");
5
+
6
+ /**
7
+ * Constructs a new message instance.
8
+ * @classdesc Abstract runtime message.
9
+ * @constructor
10
+ * @param {Properties<T>} [properties] Properties to set
11
+ * @template T extends object = object
12
+ */
13
+ function Message(properties) {
14
+ // not used internally
15
+ if (properties)
16
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17
+ this[keys[i]] = properties[keys[i]];
18
+ }
19
+
20
+ /**
21
+ * Reference to the reflected type.
22
+ * @name Message.$type
23
+ * @type {Type}
24
+ * @readonly
25
+ */
26
+
27
+ /**
28
+ * Reference to the reflected type.
29
+ * @name Message#$type
30
+ * @type {Type}
31
+ * @readonly
32
+ */
33
+
34
+ /*eslint-disable valid-jsdoc*/
35
+
36
+ /**
37
+ * Creates a new message of this type using the specified properties.
38
+ * @param {Object.<string,*>} [properties] Properties to set
39
+ * @returns {Message<T>} Message instance
40
+ * @template T extends Message<T>
41
+ * @this Constructor<T>
42
+ */
43
+ Message.create = function create(properties) {
44
+ return this.$type.create(properties);
45
+ };
46
+
47
+ /**
48
+ * Encodes a message of this type.
49
+ * @param {T|Object.<string,*>} message Message to encode
50
+ * @param {Writer} [writer] Writer to use
51
+ * @returns {Writer} Writer
52
+ * @template T extends Message<T>
53
+ * @this Constructor<T>
54
+ */
55
+ Message.encode = function encode(message, writer) {
56
+ return this.$type.encode(message, writer);
57
+ };
58
+
59
+ /**
60
+ * Encodes a message of this type preceeded by its length as a varint.
61
+ * @param {T|Object.<string,*>} message Message to encode
62
+ * @param {Writer} [writer] Writer to use
63
+ * @returns {Writer} Writer
64
+ * @template T extends Message<T>
65
+ * @this Constructor<T>
66
+ */
67
+ Message.encodeDelimited = function encodeDelimited(message, writer) {
68
+ return this.$type.encodeDelimited(message, writer);
69
+ };
70
+
71
+ /**
72
+ * Decodes a message of this type.
73
+ * @name Message.decode
74
+ * @function
75
+ * @param {Reader|Uint8Array} reader Reader or buffer to decode
76
+ * @returns {T} Decoded message
77
+ * @template T extends Message<T>
78
+ * @this Constructor<T>
79
+ */
80
+ Message.decode = function decode(reader) {
81
+ return this.$type.decode(reader);
82
+ };
83
+
84
+ /**
85
+ * Decodes a message of this type preceeded by its length as a varint.
86
+ * @name Message.decodeDelimited
87
+ * @function
88
+ * @param {Reader|Uint8Array} reader Reader or buffer to decode
89
+ * @returns {T} Decoded message
90
+ * @template T extends Message<T>
91
+ * @this Constructor<T>
92
+ */
93
+ Message.decodeDelimited = function decodeDelimited(reader) {
94
+ return this.$type.decodeDelimited(reader);
95
+ };
96
+
97
+ /**
98
+ * Verifies a message of this type.
99
+ * @name Message.verify
100
+ * @function
101
+ * @param {Object.<string,*>} message Plain object to verify
102
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
103
+ */
104
+ Message.verify = function verify(message) {
105
+ return this.$type.verify(message);
106
+ };
107
+
108
+ /**
109
+ * Creates a new message of this type from a plain object. Also converts values to their respective internal types.
110
+ * @param {Object.<string,*>} object Plain object
111
+ * @returns {T} Message instance
112
+ * @template T extends Message<T>
113
+ * @this Constructor<T>
114
+ */
115
+ Message.fromObject = function fromObject(object) {
116
+ return this.$type.fromObject(object);
117
+ };
118
+
119
+ /**
120
+ * Creates a plain object from a message of this type. Also converts values to other types if specified.
121
+ * @param {T} message Message instance
122
+ * @param {IConversionOptions} [options] Conversion options
123
+ * @returns {Object.<string,*>} Plain object
124
+ * @template T extends Message<T>
125
+ * @this Constructor<T>
126
+ */
127
+ Message.toObject = function toObject(message, options) {
128
+ return this.$type.toObject(message, options);
129
+ };
130
+
131
+ /**
132
+ * Converts this message to JSON.
133
+ * @returns {Object.<string,*>} JSON object
134
+ */
135
+ Message.prototype.toJSON = function toJSON() {
136
+ return this.$type.toObject(this, util.toJSONOptions);
137
+ };
138
+
139
139
  /*eslint-enable valid-jsdoc*/
package/src/method.js CHANGED
@@ -1,160 +1,160 @@
1
- "use strict";
2
- module.exports = Method;
3
-
4
- // extends ReflectionObject
5
- var ReflectionObject = require("./object");
6
- ((Method.prototype = Object.create(ReflectionObject.prototype)).constructor = Method).className = "Method";
7
-
8
- var util = require("./util");
9
-
10
- /**
11
- * Constructs a new service method instance.
12
- * @classdesc Reflected service method.
13
- * @extends ReflectionObject
14
- * @constructor
15
- * @param {string} name Method name
16
- * @param {string|undefined} type Method type, usually `"rpc"`
17
- * @param {string} requestType Request message type
18
- * @param {string} responseType Response message type
19
- * @param {boolean|Object.<string,*>} [requestStream] Whether the request is streamed
20
- * @param {boolean|Object.<string,*>} [responseStream] Whether the response is streamed
21
- * @param {Object.<string,*>} [options] Declared options
22
- * @param {string} [comment] The comment for this method
23
- * @param {Object.<string,*>} [parsedOptions] Declared options, properly parsed into an object
24
- */
25
- function Method(name, type, requestType, responseType, requestStream, responseStream, options, comment, parsedOptions) {
26
-
27
- /* istanbul ignore next */
28
- if (util.isObject(requestStream)) {
29
- options = requestStream;
30
- requestStream = responseStream = undefined;
31
- } else if (util.isObject(responseStream)) {
32
- options = responseStream;
33
- responseStream = undefined;
34
- }
35
-
36
- /* istanbul ignore if */
37
- if (!(type === undefined || util.isString(type)))
38
- throw TypeError("type must be a string");
39
-
40
- /* istanbul ignore if */
41
- if (!util.isString(requestType))
42
- throw TypeError("requestType must be a string");
43
-
44
- /* istanbul ignore if */
45
- if (!util.isString(responseType))
46
- throw TypeError("responseType must be a string");
47
-
48
- ReflectionObject.call(this, name, options);
49
-
50
- /**
51
- * Method type.
52
- * @type {string}
53
- */
54
- this.type = type || "rpc"; // toJSON
55
-
56
- /**
57
- * Request type.
58
- * @type {string}
59
- */
60
- this.requestType = requestType; // toJSON, marker
61
-
62
- /**
63
- * Whether requests are streamed or not.
64
- * @type {boolean|undefined}
65
- */
66
- this.requestStream = requestStream ? true : undefined; // toJSON
67
-
68
- /**
69
- * Response type.
70
- * @type {string}
71
- */
72
- this.responseType = responseType; // toJSON
73
-
74
- /**
75
- * Whether responses are streamed or not.
76
- * @type {boolean|undefined}
77
- */
78
- this.responseStream = responseStream ? true : undefined; // toJSON
79
-
80
- /**
81
- * Resolved request type.
82
- * @type {Type|null}
83
- */
84
- this.resolvedRequestType = null;
85
-
86
- /**
87
- * Resolved response type.
88
- * @type {Type|null}
89
- */
90
- this.resolvedResponseType = null;
91
-
92
- /**
93
- * Comment for this method
94
- * @type {string|null}
95
- */
96
- this.comment = comment;
97
-
98
- /**
99
- * Options properly parsed into an object
100
- */
101
- this.parsedOptions = parsedOptions;
102
- }
103
-
104
- /**
105
- * Method descriptor.
106
- * @interface IMethod
107
- * @property {string} [type="rpc"] Method type
108
- * @property {string} requestType Request type
109
- * @property {string} responseType Response type
110
- * @property {boolean} [requestStream=false] Whether requests are streamed
111
- * @property {boolean} [responseStream=false] Whether responses are streamed
112
- * @property {Object.<string,*>} [options] Method options
113
- * @property {string} comment Method comments
114
- * @property {Object.<string,*>} [parsedOptions] Method options properly parsed into an object
115
- */
116
-
117
- /**
118
- * Constructs a method from a method descriptor.
119
- * @param {string} name Method name
120
- * @param {IMethod} json Method descriptor
121
- * @returns {Method} Created method
122
- * @throws {TypeError} If arguments are invalid
123
- */
124
- Method.fromJSON = function fromJSON(name, json) {
125
- return new Method(name, json.type, json.requestType, json.responseType, json.requestStream, json.responseStream, json.options, json.comment, json.parsedOptions);
126
- };
127
-
128
- /**
129
- * Converts this method to a method descriptor.
130
- * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
131
- * @returns {IMethod} Method descriptor
132
- */
133
- Method.prototype.toJSON = function toJSON(toJSONOptions) {
134
- var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
135
- return util.toObject([
136
- "type" , this.type !== "rpc" && /* istanbul ignore next */ this.type || undefined,
137
- "requestType" , this.requestType,
138
- "requestStream" , this.requestStream,
139
- "responseType" , this.responseType,
140
- "responseStream" , this.responseStream,
141
- "options" , this.options,
142
- "comment" , keepComments ? this.comment : undefined,
143
- "parsedOptions" , this.parsedOptions,
144
- ]);
145
- };
146
-
147
- /**
148
- * @override
149
- */
150
- Method.prototype.resolve = function resolve() {
151
-
152
- /* istanbul ignore if */
153
- if (this.resolved)
154
- return this;
155
-
156
- this.resolvedRequestType = this.parent.lookupType(this.requestType);
157
- this.resolvedResponseType = this.parent.lookupType(this.responseType);
158
-
159
- return ReflectionObject.prototype.resolve.call(this);
160
- };
1
+ "use strict";
2
+ module.exports = Method;
3
+
4
+ // extends ReflectionObject
5
+ var ReflectionObject = require("./object");
6
+ ((Method.prototype = Object.create(ReflectionObject.prototype)).constructor = Method).className = "Method";
7
+
8
+ var util = require("./util");
9
+
10
+ /**
11
+ * Constructs a new service method instance.
12
+ * @classdesc Reflected service method.
13
+ * @extends ReflectionObject
14
+ * @constructor
15
+ * @param {string} name Method name
16
+ * @param {string|undefined} type Method type, usually `"rpc"`
17
+ * @param {string} requestType Request message type
18
+ * @param {string} responseType Response message type
19
+ * @param {boolean|Object.<string,*>} [requestStream] Whether the request is streamed
20
+ * @param {boolean|Object.<string,*>} [responseStream] Whether the response is streamed
21
+ * @param {Object.<string,*>} [options] Declared options
22
+ * @param {string} [comment] The comment for this method
23
+ * @param {Object.<string,*>} [parsedOptions] Declared options, properly parsed into an object
24
+ */
25
+ function Method(name, type, requestType, responseType, requestStream, responseStream, options, comment, parsedOptions) {
26
+
27
+ /* istanbul ignore next */
28
+ if (util.isObject(requestStream)) {
29
+ options = requestStream;
30
+ requestStream = responseStream = undefined;
31
+ } else if (util.isObject(responseStream)) {
32
+ options = responseStream;
33
+ responseStream = undefined;
34
+ }
35
+
36
+ /* istanbul ignore if */
37
+ if (!(type === undefined || util.isString(type)))
38
+ throw TypeError("type must be a string");
39
+
40
+ /* istanbul ignore if */
41
+ if (!util.isString(requestType))
42
+ throw TypeError("requestType must be a string");
43
+
44
+ /* istanbul ignore if */
45
+ if (!util.isString(responseType))
46
+ throw TypeError("responseType must be a string");
47
+
48
+ ReflectionObject.call(this, name, options);
49
+
50
+ /**
51
+ * Method type.
52
+ * @type {string}
53
+ */
54
+ this.type = type || "rpc"; // toJSON
55
+
56
+ /**
57
+ * Request type.
58
+ * @type {string}
59
+ */
60
+ this.requestType = requestType; // toJSON, marker
61
+
62
+ /**
63
+ * Whether requests are streamed or not.
64
+ * @type {boolean|undefined}
65
+ */
66
+ this.requestStream = requestStream ? true : undefined; // toJSON
67
+
68
+ /**
69
+ * Response type.
70
+ * @type {string}
71
+ */
72
+ this.responseType = responseType; // toJSON
73
+
74
+ /**
75
+ * Whether responses are streamed or not.
76
+ * @type {boolean|undefined}
77
+ */
78
+ this.responseStream = responseStream ? true : undefined; // toJSON
79
+
80
+ /**
81
+ * Resolved request type.
82
+ * @type {Type|null}
83
+ */
84
+ this.resolvedRequestType = null;
85
+
86
+ /**
87
+ * Resolved response type.
88
+ * @type {Type|null}
89
+ */
90
+ this.resolvedResponseType = null;
91
+
92
+ /**
93
+ * Comment for this method
94
+ * @type {string|null}
95
+ */
96
+ this.comment = comment;
97
+
98
+ /**
99
+ * Options properly parsed into an object
100
+ */
101
+ this.parsedOptions = parsedOptions;
102
+ }
103
+
104
+ /**
105
+ * Method descriptor.
106
+ * @interface IMethod
107
+ * @property {string} [type="rpc"] Method type
108
+ * @property {string} requestType Request type
109
+ * @property {string} responseType Response type
110
+ * @property {boolean} [requestStream=false] Whether requests are streamed
111
+ * @property {boolean} [responseStream=false] Whether responses are streamed
112
+ * @property {Object.<string,*>} [options] Method options
113
+ * @property {string} comment Method comments
114
+ * @property {Object.<string,*>} [parsedOptions] Method options properly parsed into an object
115
+ */
116
+
117
+ /**
118
+ * Constructs a method from a method descriptor.
119
+ * @param {string} name Method name
120
+ * @param {IMethod} json Method descriptor
121
+ * @returns {Method} Created method
122
+ * @throws {TypeError} If arguments are invalid
123
+ */
124
+ Method.fromJSON = function fromJSON(name, json) {
125
+ return new Method(name, json.type, json.requestType, json.responseType, json.requestStream, json.responseStream, json.options, json.comment, json.parsedOptions);
126
+ };
127
+
128
+ /**
129
+ * Converts this method to a method descriptor.
130
+ * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
131
+ * @returns {IMethod} Method descriptor
132
+ */
133
+ Method.prototype.toJSON = function toJSON(toJSONOptions) {
134
+ var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
135
+ return util.toObject([
136
+ "type" , this.type !== "rpc" && /* istanbul ignore next */ this.type || undefined,
137
+ "requestType" , this.requestType,
138
+ "requestStream" , this.requestStream,
139
+ "responseType" , this.responseType,
140
+ "responseStream" , this.responseStream,
141
+ "options" , this.options,
142
+ "comment" , keepComments ? this.comment : undefined,
143
+ "parsedOptions" , this.parsedOptions,
144
+ ]);
145
+ };
146
+
147
+ /**
148
+ * @override
149
+ */
150
+ Method.prototype.resolve = function resolve() {
151
+
152
+ /* istanbul ignore if */
153
+ if (this.resolved)
154
+ return this;
155
+
156
+ this.resolvedRequestType = this.parent.lookupType(this.requestType);
157
+ this.resolvedResponseType = this.parent.lookupType(this.responseType);
158
+
159
+ return ReflectionObject.prototype.resolve.call(this);
160
+ };