protobufjs 8.0.1-experimental → 8.0.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 (98) hide show
  1. package/LICENSE +39 -39
  2. package/README.md +727 -727
  3. package/dist/light/protobuf.js +7724 -7352
  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 +2606 -2546
  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 +9593 -9132
  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 +195 -191
  19. package/ext/descriptor/index.js +1181 -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 +1381 -738
  30. package/google/protobuf/descriptor.proto +535 -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 +2817 -2792
  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 +96 -112
  42. package/scripts/postinstall.js +32 -32
  43. package/src/common.js +399 -399
  44. package/src/converter.js +310 -301
  45. package/src/decoder.js +135 -127
  46. package/src/encoder.js +100 -100
  47. package/src/enum.js +226 -241
  48. package/src/field.js +453 -432
  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 +139 -139
  54. package/src/method.js +160 -160
  55. package/src/namespace.js +550 -434
  56. package/src/object.js +385 -330
  57. package/src/oneof.js +222 -222
  58. package/src/parse.js +1032 -948
  59. package/src/reader.js +426 -416
  60. package/src/reader_buffer.js +51 -51
  61. package/src/root.js +404 -384
  62. package/src/roots.js +17 -17
  63. package/src/rpc/service.js +142 -142
  64. package/src/rpc.js +36 -36
  65. package/src/service.js +193 -168
  66. package/src/tokenize.js +421 -416
  67. package/src/type.js +625 -590
  68. package/src/types.js +196 -196
  69. package/src/typescript.jsdoc +15 -15
  70. package/src/util/aspromise.d.ts +13 -0
  71. package/src/util/aspromise.js +52 -0
  72. package/src/util/base64.d.ts +32 -0
  73. package/src/util/base64.js +139 -0
  74. package/src/util/codegen.d.ts +31 -0
  75. package/src/util/codegen.js +113 -0
  76. package/src/util/eventemitter.d.ts +45 -0
  77. package/src/util/eventemitter.js +84 -0
  78. package/src/util/fetch.d.ts +56 -0
  79. package/src/util/fetch.js +114 -0
  80. package/src/util/float.d.ts +83 -0
  81. package/src/util/float.js +335 -0
  82. package/src/util/inquire.d.ts +9 -0
  83. package/src/util/inquire.js +37 -0
  84. package/src/util/longbits.js +200 -200
  85. package/src/util/minimal.js +461 -438
  86. package/src/util/path.d.ts +22 -0
  87. package/src/util/path.js +72 -0
  88. package/src/util/patterns.js +8 -0
  89. package/src/util/pool.d.ts +32 -0
  90. package/src/util/pool.js +48 -0
  91. package/src/util/utf8.d.ts +24 -0
  92. package/src/util/utf8.js +104 -0
  93. package/src/util.js +215 -213
  94. package/src/verifier.js +180 -177
  95. package/src/wrappers.js +103 -102
  96. package/src/writer.js +465 -465
  97. package/src/writer_buffer.js +85 -85
  98. package/tsconfig.json +8 -8
package/src/roots.js CHANGED
@@ -1,18 +1,18 @@
1
- "use strict";
1
+ "use strict";
2
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
- */
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");