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/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");