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/roots.js CHANGED
@@ -1,18 +1,18 @@
1
- "use strict";
2
- module.exports = Object.create(null);
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 = Object.create(null);
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,148 +1,148 @@
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 {{
27
- * (request: TReq|Properties<TReq>, callback: rpc.ServiceMethodCallback<TRes>): void;
28
- * (request: TReq|Properties<TReq>): Promise<TRes>;
29
- * readonly name: string;
30
- * readonly path: string;
31
- * readonly requestType: string;
32
- * readonly responseType: string;
33
- * readonly requestStream: true|undefined;
34
- * readonly responseStream: true|undefined;
35
- * }}
36
- */
37
-
38
- /**
39
- * Constructs a new RPC service instance.
40
- * @classdesc An RPC service as returned by {@link Service#create}.
41
- * @exports rpc.Service
42
- * @extends util.EventEmitter
43
- * @constructor
44
- * @param {RPCImpl} rpcImpl RPC implementation
45
- * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
46
- * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
47
- */
48
- function Service(rpcImpl, requestDelimited, responseDelimited) {
49
-
50
- if (typeof rpcImpl !== "function")
51
- throw TypeError("rpcImpl must be a function");
52
-
53
- util.EventEmitter.call(this);
54
-
55
- /**
56
- * RPC implementation. Becomes `null` once the service is ended.
57
- * @type {RPCImpl|null}
58
- */
59
- this.rpcImpl = rpcImpl;
60
-
61
- /**
62
- * Whether requests are length-delimited.
63
- * @type {boolean}
64
- */
65
- this.requestDelimited = Boolean(requestDelimited);
66
-
67
- /**
68
- * Whether responses are length-delimited.
69
- * @type {boolean}
70
- */
71
- this.responseDelimited = Boolean(responseDelimited);
72
- }
73
-
74
- /**
75
- * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}.
76
- * @param {Method|rpc.ServiceMethod<TReq,TRes>} method Reflected or static method
77
- * @param {Constructor<TReq>} requestCtor Request constructor
78
- * @param {Constructor<TRes>} responseCtor Response constructor
79
- * @param {TReq|Properties<TReq>} request Request message or plain object
80
- * @param {rpc.ServiceMethodCallback<TRes>} callback Service callback
81
- * @returns {undefined}
82
- * @template TReq extends Message<TReq>
83
- * @template TRes extends Message<TRes>
84
- */
85
- Service.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {
86
-
87
- if (!request)
88
- throw TypeError("request must be specified");
89
-
90
- var self = this;
91
- if (!callback)
92
- return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);
93
-
94
- if (!self.rpcImpl) {
95
- setTimeout(function() { callback(Error("already ended")); }, 0);
96
- return undefined;
97
- }
98
-
99
- try {
100
- return self.rpcImpl(
101
- method,
102
- requestCtor[self.requestDelimited ? "encodeDelimited" : "encode"](request).finish(),
103
- function rpcCallback(err, response) {
104
-
105
- if (err) {
106
- self.emit("error", err, method);
107
- return callback(err);
108
- }
109
-
110
- if (response === null) {
111
- self.end(/* endedByRPC */ true);
112
- return undefined;
113
- }
114
-
115
- if (!(response instanceof responseCtor)) {
116
- try {
117
- response = responseCtor[self.responseDelimited ? "decodeDelimited" : "decode"](response);
118
- } catch (err) {
119
- self.emit("error", err, method);
120
- return callback(err);
121
- }
122
- }
123
-
124
- self.emit("data", response, method);
125
- return callback(null, response);
126
- }
127
- );
128
- } catch (err) {
129
- self.emit("error", err, method);
130
- setTimeout(function() { callback(err); }, 0);
131
- return undefined;
132
- }
133
- };
134
-
135
- /**
136
- * Ends this service and emits the `end` event.
137
- * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation.
138
- * @returns {rpc.Service} `this`
139
- */
140
- Service.prototype.end = function end(endedByRPC) {
141
- if (this.rpcImpl) {
142
- if (!endedByRPC) // signal end to rpcImpl
143
- this.rpcImpl(null, null, null);
144
- this.rpcImpl = null;
145
- this.emit("end").off();
146
- }
147
- return this;
148
- };
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 {{
27
+ * (request: TReq|Properties<TReq>, callback: rpc.ServiceMethodCallback<TRes>): void;
28
+ * (request: TReq|Properties<TReq>): Promise<TRes>;
29
+ * readonly name: string;
30
+ * readonly path: string;
31
+ * readonly requestType: string;
32
+ * readonly responseType: string;
33
+ * readonly requestStream: true|undefined;
34
+ * readonly responseStream: true|undefined;
35
+ * }}
36
+ */
37
+
38
+ /**
39
+ * Constructs a new RPC service instance.
40
+ * @classdesc An RPC service as returned by {@link Service#create}.
41
+ * @exports rpc.Service
42
+ * @extends util.EventEmitter
43
+ * @constructor
44
+ * @param {RPCImpl} rpcImpl RPC implementation
45
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
46
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
47
+ */
48
+ function Service(rpcImpl, requestDelimited, responseDelimited) {
49
+
50
+ if (typeof rpcImpl !== "function")
51
+ throw TypeError("rpcImpl must be a function");
52
+
53
+ util.EventEmitter.call(this);
54
+
55
+ /**
56
+ * RPC implementation. Becomes `null` once the service is ended.
57
+ * @type {RPCImpl|null}
58
+ */
59
+ this.rpcImpl = rpcImpl;
60
+
61
+ /**
62
+ * Whether requests are length-delimited.
63
+ * @type {boolean}
64
+ */
65
+ this.requestDelimited = Boolean(requestDelimited);
66
+
67
+ /**
68
+ * Whether responses are length-delimited.
69
+ * @type {boolean}
70
+ */
71
+ this.responseDelimited = Boolean(responseDelimited);
72
+ }
73
+
74
+ /**
75
+ * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}.
76
+ * @param {Method|rpc.ServiceMethod<TReq,TRes>} method Reflected or static method
77
+ * @param {Constructor<TReq>} requestCtor Request constructor
78
+ * @param {Constructor<TRes>} responseCtor Response constructor
79
+ * @param {TReq|Properties<TReq>} request Request message or plain object
80
+ * @param {rpc.ServiceMethodCallback<TRes>} callback Service callback
81
+ * @returns {undefined}
82
+ * @template TReq extends Message<TReq>
83
+ * @template TRes extends Message<TRes>
84
+ */
85
+ Service.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {
86
+
87
+ if (!request)
88
+ throw TypeError("request must be specified");
89
+
90
+ var self = this;
91
+ if (!callback)
92
+ return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);
93
+
94
+ if (!self.rpcImpl) {
95
+ setTimeout(function() { callback(Error("already ended")); }, 0);
96
+ return undefined;
97
+ }
98
+
99
+ try {
100
+ return self.rpcImpl(
101
+ method,
102
+ requestCtor[self.requestDelimited ? "encodeDelimited" : "encode"](request).finish(),
103
+ function rpcCallback(err, response) {
104
+
105
+ if (err) {
106
+ self.emit("error", err, method);
107
+ return callback(err);
108
+ }
109
+
110
+ if (response === null) {
111
+ self.end(/* endedByRPC */ true);
112
+ return undefined;
113
+ }
114
+
115
+ if (!(response instanceof responseCtor)) {
116
+ try {
117
+ response = responseCtor[self.responseDelimited ? "decodeDelimited" : "decode"](response);
118
+ } catch (err) {
119
+ self.emit("error", err, method);
120
+ return callback(err);
121
+ }
122
+ }
123
+
124
+ self.emit("data", response, method);
125
+ return callback(null, response);
126
+ }
127
+ );
128
+ } catch (err) {
129
+ self.emit("error", err, method);
130
+ setTimeout(function() { callback(err); }, 0);
131
+ return undefined;
132
+ }
133
+ };
134
+
135
+ /**
136
+ * Ends this service and emits the `end` event.
137
+ * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation.
138
+ * @returns {rpc.Service} `this`
139
+ */
140
+ Service.prototype.end = function end(endedByRPC) {
141
+ if (this.rpcImpl) {
142
+ if (!endedByRPC) // signal end to rpcImpl
143
+ this.rpcImpl(null, null, null);
144
+ this.rpcImpl = null;
145
+ this.emit("end").off();
146
+ }
147
+ return this;
148
+ };
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");