protobufjs 7.3.2 → 7.4.0

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/dist/light/protobuf.js +6259 -6259
  4. package/dist/light/protobuf.js.map +1 -1
  5. package/dist/light/protobuf.min.js +2 -2
  6. package/dist/light/protobuf.min.js.map +1 -1
  7. package/dist/minimal/protobuf.js +1930 -1930
  8. package/dist/minimal/protobuf.js.map +1 -1
  9. package/dist/minimal/protobuf.min.js +2 -2
  10. package/dist/minimal/protobuf.min.js.map +1 -1
  11. package/dist/protobuf.js +7972 -7968
  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 +191 -191
  19. package/ext/descriptor/index.js +1052 -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 +738 -738
  30. package/google/protobuf/descriptor.proto +286 -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 +2741 -2741
  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 +112 -111
  42. package/scripts/postinstall.js +32 -32
  43. package/src/common.js +399 -399
  44. package/src/converter.js +301 -301
  45. package/src/decoder.js +129 -129
  46. package/src/encoder.js +100 -100
  47. package/src/enum.js +198 -198
  48. package/src/field.js +377 -377
  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 +138 -138
  54. package/src/method.js +160 -160
  55. package/src/namespace.js +433 -433
  56. package/src/object.js +243 -243
  57. package/src/oneof.js +203 -203
  58. package/src/parse.js +893 -889
  59. package/src/reader.js +416 -416
  60. package/src/reader_buffer.js +51 -51
  61. package/src/root.js +368 -368
  62. package/src/roots.js +18 -18
  63. package/src/rpc/service.js +142 -142
  64. package/src/rpc.js +36 -36
  65. package/src/service.js +167 -167
  66. package/src/tokenize.js +416 -416
  67. package/src/type.js +589 -589
  68. package/src/types.js +196 -196
  69. package/src/typescript.jsdoc +15 -15
  70. package/src/util/longbits.js +200 -200
  71. package/src/util/minimal.js +438 -438
  72. package/src/util.js +212 -212
  73. package/src/verifier.js +176 -176
  74. package/src/wrappers.js +102 -102
  75. package/src/writer.js +465 -465
  76. package/src/writer_buffer.js +85 -85
  77. package/tsconfig.json +7 -7
package/src/roots.js CHANGED
@@ -1,18 +1,18 @@
1
- "use strict";
2
- module.exports = {};
3
-
4
- /**
5
- * Named roots.
6
- * This is where pbjs stores generated structures (the option `-r, --root` specifies a name).
7
- * Can also be used manually to make roots available across modules.
8
- * @name roots
9
- * @type {Object.<string,Root>}
10
- * @example
11
- * // pbjs -r myroot -o compiled.js ...
12
- *
13
- * // in another module:
14
- * require("./compiled.js");
15
- *
16
- * // in any subsequent module:
17
- * var root = protobuf.roots["myroot"];
18
- */
1
+ "use strict";
2
+ module.exports = {};
3
+
4
+ /**
5
+ * Named roots.
6
+ * This is where pbjs stores generated structures (the option `-r, --root` specifies a name).
7
+ * Can also be used manually to make roots available across modules.
8
+ * @name roots
9
+ * @type {Object.<string,Root>}
10
+ * @example
11
+ * // pbjs -r myroot -o compiled.js ...
12
+ *
13
+ * // in another module:
14
+ * require("./compiled.js");
15
+ *
16
+ * // in any subsequent module:
17
+ * var root = protobuf.roots["myroot"];
18
+ */
@@ -1,142 +1,142 @@
1
- "use strict";
2
- module.exports = Service;
3
-
4
- var util = require("../util/minimal");
5
-
6
- // Extends EventEmitter
7
- (Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;
8
-
9
- /**
10
- * A service method callback as used by {@link rpc.ServiceMethod|ServiceMethod}.
11
- *
12
- * Differs from {@link RPCImplCallback} in that it is an actual callback of a service method which may not return `response = null`.
13
- * @typedef rpc.ServiceMethodCallback
14
- * @template TRes extends Message<TRes>
15
- * @type {function}
16
- * @param {Error|null} error Error, if any
17
- * @param {TRes} [response] Response message
18
- * @returns {undefined}
19
- */
20
-
21
- /**
22
- * A service method part of a {@link rpc.Service} as created by {@link Service.create}.
23
- * @typedef rpc.ServiceMethod
24
- * @template TReq extends Message<TReq>
25
- * @template TRes extends Message<TRes>
26
- * @type {function}
27
- * @param {TReq|Properties<TReq>} request Request message or plain object
28
- * @param {rpc.ServiceMethodCallback<TRes>} [callback] Node-style callback called with the error, if any, and the response message
29
- * @returns {Promise<Message<TRes>>} Promise if `callback` has been omitted, otherwise `undefined`
30
- */
31
-
32
- /**
33
- * Constructs a new RPC service instance.
34
- * @classdesc An RPC service as returned by {@link Service#create}.
35
- * @exports rpc.Service
36
- * @extends util.EventEmitter
37
- * @constructor
38
- * @param {RPCImpl} rpcImpl RPC implementation
39
- * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
40
- * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
41
- */
42
- function Service(rpcImpl, requestDelimited, responseDelimited) {
43
-
44
- if (typeof rpcImpl !== "function")
45
- throw TypeError("rpcImpl must be a function");
46
-
47
- util.EventEmitter.call(this);
48
-
49
- /**
50
- * RPC implementation. Becomes `null` once the service is ended.
51
- * @type {RPCImpl|null}
52
- */
53
- this.rpcImpl = rpcImpl;
54
-
55
- /**
56
- * Whether requests are length-delimited.
57
- * @type {boolean}
58
- */
59
- this.requestDelimited = Boolean(requestDelimited);
60
-
61
- /**
62
- * Whether responses are length-delimited.
63
- * @type {boolean}
64
- */
65
- this.responseDelimited = Boolean(responseDelimited);
66
- }
67
-
68
- /**
69
- * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}.
70
- * @param {Method|rpc.ServiceMethod<TReq,TRes>} method Reflected or static method
71
- * @param {Constructor<TReq>} requestCtor Request constructor
72
- * @param {Constructor<TRes>} responseCtor Response constructor
73
- * @param {TReq|Properties<TReq>} request Request message or plain object
74
- * @param {rpc.ServiceMethodCallback<TRes>} callback Service callback
75
- * @returns {undefined}
76
- * @template TReq extends Message<TReq>
77
- * @template TRes extends Message<TRes>
78
- */
79
- Service.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {
80
-
81
- if (!request)
82
- throw TypeError("request must be specified");
83
-
84
- var self = this;
85
- if (!callback)
86
- return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);
87
-
88
- if (!self.rpcImpl) {
89
- setTimeout(function() { callback(Error("already ended")); }, 0);
90
- return undefined;
91
- }
92
-
93
- try {
94
- return self.rpcImpl(
95
- method,
96
- requestCtor[self.requestDelimited ? "encodeDelimited" : "encode"](request).finish(),
97
- function rpcCallback(err, response) {
98
-
99
- if (err) {
100
- self.emit("error", err, method);
101
- return callback(err);
102
- }
103
-
104
- if (response === null) {
105
- self.end(/* endedByRPC */ true);
106
- return undefined;
107
- }
108
-
109
- if (!(response instanceof responseCtor)) {
110
- try {
111
- response = responseCtor[self.responseDelimited ? "decodeDelimited" : "decode"](response);
112
- } catch (err) {
113
- self.emit("error", err, method);
114
- return callback(err);
115
- }
116
- }
117
-
118
- self.emit("data", response, method);
119
- return callback(null, response);
120
- }
121
- );
122
- } catch (err) {
123
- self.emit("error", err, method);
124
- setTimeout(function() { callback(err); }, 0);
125
- return undefined;
126
- }
127
- };
128
-
129
- /**
130
- * Ends this service and emits the `end` event.
131
- * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation.
132
- * @returns {rpc.Service} `this`
133
- */
134
- Service.prototype.end = function end(endedByRPC) {
135
- if (this.rpcImpl) {
136
- if (!endedByRPC) // signal end to rpcImpl
137
- this.rpcImpl(null, null, null);
138
- this.rpcImpl = null;
139
- this.emit("end").off();
140
- }
141
- return this;
142
- };
1
+ "use strict";
2
+ module.exports = Service;
3
+
4
+ var util = require("../util/minimal");
5
+
6
+ // Extends EventEmitter
7
+ (Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;
8
+
9
+ /**
10
+ * A service method callback as used by {@link rpc.ServiceMethod|ServiceMethod}.
11
+ *
12
+ * Differs from {@link RPCImplCallback} in that it is an actual callback of a service method which may not return `response = null`.
13
+ * @typedef rpc.ServiceMethodCallback
14
+ * @template TRes extends Message<TRes>
15
+ * @type {function}
16
+ * @param {Error|null} error Error, if any
17
+ * @param {TRes} [response] Response message
18
+ * @returns {undefined}
19
+ */
20
+
21
+ /**
22
+ * A service method part of a {@link rpc.Service} as created by {@link Service.create}.
23
+ * @typedef rpc.ServiceMethod
24
+ * @template TReq extends Message<TReq>
25
+ * @template TRes extends Message<TRes>
26
+ * @type {function}
27
+ * @param {TReq|Properties<TReq>} request Request message or plain object
28
+ * @param {rpc.ServiceMethodCallback<TRes>} [callback] Node-style callback called with the error, if any, and the response message
29
+ * @returns {Promise<Message<TRes>>} Promise if `callback` has been omitted, otherwise `undefined`
30
+ */
31
+
32
+ /**
33
+ * Constructs a new RPC service instance.
34
+ * @classdesc An RPC service as returned by {@link Service#create}.
35
+ * @exports rpc.Service
36
+ * @extends util.EventEmitter
37
+ * @constructor
38
+ * @param {RPCImpl} rpcImpl RPC implementation
39
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
40
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
41
+ */
42
+ function Service(rpcImpl, requestDelimited, responseDelimited) {
43
+
44
+ if (typeof rpcImpl !== "function")
45
+ throw TypeError("rpcImpl must be a function");
46
+
47
+ util.EventEmitter.call(this);
48
+
49
+ /**
50
+ * RPC implementation. Becomes `null` once the service is ended.
51
+ * @type {RPCImpl|null}
52
+ */
53
+ this.rpcImpl = rpcImpl;
54
+
55
+ /**
56
+ * Whether requests are length-delimited.
57
+ * @type {boolean}
58
+ */
59
+ this.requestDelimited = Boolean(requestDelimited);
60
+
61
+ /**
62
+ * Whether responses are length-delimited.
63
+ * @type {boolean}
64
+ */
65
+ this.responseDelimited = Boolean(responseDelimited);
66
+ }
67
+
68
+ /**
69
+ * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}.
70
+ * @param {Method|rpc.ServiceMethod<TReq,TRes>} method Reflected or static method
71
+ * @param {Constructor<TReq>} requestCtor Request constructor
72
+ * @param {Constructor<TRes>} responseCtor Response constructor
73
+ * @param {TReq|Properties<TReq>} request Request message or plain object
74
+ * @param {rpc.ServiceMethodCallback<TRes>} callback Service callback
75
+ * @returns {undefined}
76
+ * @template TReq extends Message<TReq>
77
+ * @template TRes extends Message<TRes>
78
+ */
79
+ Service.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {
80
+
81
+ if (!request)
82
+ throw TypeError("request must be specified");
83
+
84
+ var self = this;
85
+ if (!callback)
86
+ return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);
87
+
88
+ if (!self.rpcImpl) {
89
+ setTimeout(function() { callback(Error("already ended")); }, 0);
90
+ return undefined;
91
+ }
92
+
93
+ try {
94
+ return self.rpcImpl(
95
+ method,
96
+ requestCtor[self.requestDelimited ? "encodeDelimited" : "encode"](request).finish(),
97
+ function rpcCallback(err, response) {
98
+
99
+ if (err) {
100
+ self.emit("error", err, method);
101
+ return callback(err);
102
+ }
103
+
104
+ if (response === null) {
105
+ self.end(/* endedByRPC */ true);
106
+ return undefined;
107
+ }
108
+
109
+ if (!(response instanceof responseCtor)) {
110
+ try {
111
+ response = responseCtor[self.responseDelimited ? "decodeDelimited" : "decode"](response);
112
+ } catch (err) {
113
+ self.emit("error", err, method);
114
+ return callback(err);
115
+ }
116
+ }
117
+
118
+ self.emit("data", response, method);
119
+ return callback(null, response);
120
+ }
121
+ );
122
+ } catch (err) {
123
+ self.emit("error", err, method);
124
+ setTimeout(function() { callback(err); }, 0);
125
+ return undefined;
126
+ }
127
+ };
128
+
129
+ /**
130
+ * Ends this service and emits the `end` event.
131
+ * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation.
132
+ * @returns {rpc.Service} `this`
133
+ */
134
+ Service.prototype.end = function end(endedByRPC) {
135
+ if (this.rpcImpl) {
136
+ if (!endedByRPC) // signal end to rpcImpl
137
+ this.rpcImpl(null, null, null);
138
+ this.rpcImpl = null;
139
+ this.emit("end").off();
140
+ }
141
+ return this;
142
+ };
package/src/rpc.js CHANGED
@@ -1,36 +1,36 @@
1
- "use strict";
2
-
3
- /**
4
- * Streaming RPC helpers.
5
- * @namespace
6
- */
7
- var rpc = exports;
8
-
9
- /**
10
- * RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets.
11
- * @typedef RPCImpl
12
- * @type {function}
13
- * @param {Method|rpc.ServiceMethod<Message<{}>,Message<{}>>} method Reflected or static method being called
14
- * @param {Uint8Array} requestData Request data
15
- * @param {RPCImplCallback} callback Callback function
16
- * @returns {undefined}
17
- * @example
18
- * function rpcImpl(method, requestData, callback) {
19
- * if (protobuf.util.lcFirst(method.name) !== "myMethod") // compatible with static code
20
- * throw Error("no such method");
21
- * asynchronouslyObtainAResponse(requestData, function(err, responseData) {
22
- * callback(err, responseData);
23
- * });
24
- * }
25
- */
26
-
27
- /**
28
- * Node-style callback as used by {@link RPCImpl}.
29
- * @typedef RPCImplCallback
30
- * @type {function}
31
- * @param {Error|null} error Error, if any, otherwise `null`
32
- * @param {Uint8Array|null} [response] Response data or `null` to signal end of stream, if there hasn't been an error
33
- * @returns {undefined}
34
- */
35
-
36
- rpc.Service = require("./rpc/service");
1
+ "use strict";
2
+
3
+ /**
4
+ * Streaming RPC helpers.
5
+ * @namespace
6
+ */
7
+ var rpc = exports;
8
+
9
+ /**
10
+ * RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets.
11
+ * @typedef RPCImpl
12
+ * @type {function}
13
+ * @param {Method|rpc.ServiceMethod<Message<{}>,Message<{}>>} method Reflected or static method being called
14
+ * @param {Uint8Array} requestData Request data
15
+ * @param {RPCImplCallback} callback Callback function
16
+ * @returns {undefined}
17
+ * @example
18
+ * function rpcImpl(method, requestData, callback) {
19
+ * if (protobuf.util.lcFirst(method.name) !== "myMethod") // compatible with static code
20
+ * throw Error("no such method");
21
+ * asynchronouslyObtainAResponse(requestData, function(err, responseData) {
22
+ * callback(err, responseData);
23
+ * });
24
+ * }
25
+ */
26
+
27
+ /**
28
+ * Node-style callback as used by {@link RPCImpl}.
29
+ * @typedef RPCImplCallback
30
+ * @type {function}
31
+ * @param {Error|null} error Error, if any, otherwise `null`
32
+ * @param {Uint8Array|null} [response] Response data or `null` to signal end of stream, if there hasn't been an error
33
+ * @returns {undefined}
34
+ */
35
+
36
+ rpc.Service = require("./rpc/service");