tardis-machine 18.0.0 → 18.0.1

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 (208) hide show
  1. package/benchmark.js +35 -14
  2. package/bin/tardis-machine.js +0 -1
  3. package/dist/tardismachine.d.ts.map +1 -1
  4. package/dist/tardismachine.js +20 -55
  5. package/dist/tardismachine.js.map +1 -1
  6. package/dist/ws/replay.d.ts +2 -2
  7. package/dist/ws/replay.d.ts.map +1 -1
  8. package/dist/ws/replay.js +11 -5
  9. package/dist/ws/replay.js.map +1 -1
  10. package/dist/ws/replaynormalized.d.ts +2 -2
  11. package/dist/ws/replaynormalized.d.ts.map +1 -1
  12. package/dist/ws/replaynormalized.js +7 -5
  13. package/dist/ws/replaynormalized.js.map +1 -1
  14. package/dist/ws/server.d.ts +20 -0
  15. package/dist/ws/server.d.ts.map +1 -0
  16. package/dist/ws/server.js +154 -0
  17. package/dist/ws/server.js.map +1 -0
  18. package/dist/ws/streamnormalized.d.ts +2 -2
  19. package/dist/ws/streamnormalized.d.ts.map +1 -1
  20. package/dist/ws/streamnormalized.js +7 -5
  21. package/dist/ws/streamnormalized.js.map +1 -1
  22. package/dist/ws/subscriptionsmappers.d.ts +1 -1
  23. package/dist/ws/subscriptionsmappers.d.ts.map +1 -1
  24. package/node_modules/tardis-dev/README.md +1 -1
  25. package/node_modules/tardis-dev/dist/debug.d.ts +12 -2
  26. package/node_modules/tardis-dev/dist/debug.d.ts.map +1 -1
  27. package/node_modules/tardis-dev/dist/debug.js +2 -1
  28. package/node_modules/tardis-dev/dist/debug.js.map +1 -1
  29. package/node_modules/tardis-dev/dist/handy.d.ts +3 -1
  30. package/node_modules/tardis-dev/dist/handy.d.ts.map +1 -1
  31. package/node_modules/tardis-dev/dist/handy.js +72 -86
  32. package/node_modules/tardis-dev/dist/handy.js.map +1 -1
  33. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.d.ts +0 -7
  34. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.d.ts.map +1 -1
  35. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.js +2 -70
  36. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.js.map +1 -1
  37. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.d.ts +43 -0
  38. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.d.ts.map +1 -0
  39. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.js +294 -0
  40. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.js.map +1 -0
  41. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.d.ts +3 -3
  42. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.d.ts.map +1 -1
  43. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.js +3 -3
  44. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.js.map +1 -1
  45. package/node_modules/tardis-dev/dist/worker.js +2 -2
  46. package/node_modules/tardis-dev/dist/worker.js.map +1 -1
  47. package/node_modules/tardis-dev/package.json +3 -7
  48. package/node_modules/tardis-dev/src/debug.ts +16 -1
  49. package/node_modules/tardis-dev/src/external-modules.d.ts +5 -0
  50. package/node_modules/tardis-dev/src/handy.ts +93 -89
  51. package/node_modules/tardis-dev/src/realtimefeeds/mexc.ts +2 -72
  52. package/node_modules/tardis-dev/src/realtimefeeds/mexcprotobuf.ts +364 -0
  53. package/node_modules/tardis-dev/src/realtimefeeds/realtimefeed.ts +5 -5
  54. package/node_modules/tardis-dev/src/worker.ts +2 -2
  55. package/package.json +8 -34
  56. package/src/tardismachine.ts +25 -66
  57. package/src/ws/replay.ts +13 -8
  58. package/src/ws/replaynormalized.ts +8 -6
  59. package/src/ws/server.ts +173 -0
  60. package/src/ws/streamnormalized.ts +8 -6
  61. package/src/ws/subscriptionsmappers.ts +1 -1
  62. package/node_modules/follow-redirects/LICENSE +0 -18
  63. package/node_modules/follow-redirects/README.md +0 -157
  64. package/node_modules/follow-redirects/debug.js +0 -15
  65. package/node_modules/follow-redirects/http.js +0 -1
  66. package/node_modules/follow-redirects/https.js +0 -1
  67. package/node_modules/follow-redirects/index.js +0 -709
  68. package/node_modules/follow-redirects/package.json +0 -58
  69. package/node_modules/long/LICENSE +0 -202
  70. package/node_modules/long/README.md +0 -286
  71. package/node_modules/long/index.d.ts +0 -2
  72. package/node_modules/long/index.js +0 -1581
  73. package/node_modules/long/package.json +0 -58
  74. package/node_modules/long/types.d.ts +0 -474
  75. package/node_modules/long/umd/index.d.ts +0 -3
  76. package/node_modules/long/umd/index.js +0 -1622
  77. package/node_modules/long/umd/package.json +0 -3
  78. package/node_modules/long/umd/types.d.ts +0 -474
  79. package/node_modules/protobufjs/LICENSE +0 -39
  80. package/node_modules/protobufjs/README.md +0 -440
  81. package/node_modules/protobufjs/dist/light/protobuf.js +0 -9276
  82. package/node_modules/protobufjs/dist/light/protobuf.js.map +0 -1
  83. package/node_modules/protobufjs/dist/light/protobuf.min.js +0 -8
  84. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +0 -1
  85. package/node_modules/protobufjs/dist/minimal/protobuf.js +0 -3556
  86. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +0 -1
  87. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +0 -8
  88. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +0 -1
  89. package/node_modules/protobufjs/dist/protobuf.js +0 -11233
  90. package/node_modules/protobufjs/dist/protobuf.js.map +0 -1
  91. package/node_modules/protobufjs/dist/protobuf.min.js +0 -8
  92. package/node_modules/protobufjs/dist/protobuf.min.js.map +0 -1
  93. package/node_modules/protobufjs/ext/README.md +0 -70
  94. package/node_modules/protobufjs/ext/debug/README.md +0 -4
  95. package/node_modules/protobufjs/ext/debug/index.js +0 -71
  96. package/node_modules/protobufjs/ext/descriptor/README.md +0 -5
  97. package/node_modules/protobufjs/ext/descriptor/index.d.ts +0 -2
  98. package/node_modules/protobufjs/ext/descriptor/index.js +0 -2
  99. package/node_modules/protobufjs/ext/descriptor.d.ts +0 -87
  100. package/node_modules/protobufjs/ext/descriptor.generated.d.ts +0 -417
  101. package/node_modules/protobufjs/ext/descriptor.js +0 -1356
  102. package/node_modules/protobufjs/ext/protojson.LICENSE +0 -201
  103. package/node_modules/protobufjs/ext/protojson.d.ts +0 -20
  104. package/node_modules/protobufjs/ext/protojson.generated.d.ts +0 -49
  105. package/node_modules/protobufjs/ext/protojson.js +0 -951
  106. package/node_modules/protobufjs/ext/textformat.d.ts +0 -19
  107. package/node_modules/protobufjs/ext/textformat.generated.d.ts +0 -33
  108. package/node_modules/protobufjs/ext/textformat.js +0 -1276
  109. package/node_modules/protobufjs/google/LICENSE +0 -27
  110. package/node_modules/protobufjs/google/README.md +0 -1
  111. package/node_modules/protobufjs/google/api/annotations.json +0 -85
  112. package/node_modules/protobufjs/google/api/annotations.proto +0 -11
  113. package/node_modules/protobufjs/google/api/http.json +0 -87
  114. package/node_modules/protobufjs/google/api/http.proto +0 -31
  115. package/node_modules/protobufjs/google/protobuf/api.json +0 -124
  116. package/node_modules/protobufjs/google/protobuf/api.proto +0 -34
  117. package/node_modules/protobufjs/google/protobuf/compiler/plugin.json +0 -126
  118. package/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +0 -47
  119. package/node_modules/protobufjs/google/protobuf/descriptor.json +0 -1465
  120. package/node_modules/protobufjs/google/protobuf/descriptor.proto +0 -527
  121. package/node_modules/protobufjs/google/protobuf/source_context.json +0 -21
  122. package/node_modules/protobufjs/google/protobuf/source_context.proto +0 -7
  123. package/node_modules/protobufjs/google/protobuf/type.json +0 -209
  124. package/node_modules/protobufjs/google/protobuf/type.proto +0 -89
  125. package/node_modules/protobufjs/index.d.ts +0 -3203
  126. package/node_modules/protobufjs/index.js +0 -4
  127. package/node_modules/protobufjs/light.d.ts +0 -2
  128. package/node_modules/protobufjs/light.js +0 -4
  129. package/node_modules/protobufjs/minimal.d.ts +0 -2
  130. package/node_modules/protobufjs/minimal.js +0 -4
  131. package/node_modules/protobufjs/package.json +0 -93
  132. package/node_modules/protobufjs/src/common.js +0 -405
  133. package/node_modules/protobufjs/src/converter.js +0 -352
  134. package/node_modules/protobufjs/src/decoder.js +0 -279
  135. package/node_modules/protobufjs/src/encoder.js +0 -123
  136. package/node_modules/protobufjs/src/enum.js +0 -239
  137. package/node_modules/protobufjs/src/field.js +0 -505
  138. package/node_modules/protobufjs/src/index-light.js +0 -104
  139. package/node_modules/protobufjs/src/index-minimal.js +0 -35
  140. package/node_modules/protobufjs/src/index.js +0 -12
  141. package/node_modules/protobufjs/src/mapfield.js +0 -144
  142. package/node_modules/protobufjs/src/message.js +0 -137
  143. package/node_modules/protobufjs/src/method.js +0 -183
  144. package/node_modules/protobufjs/src/namespace.js +0 -574
  145. package/node_modules/protobufjs/src/object.js +0 -392
  146. package/node_modules/protobufjs/src/oneof.js +0 -233
  147. package/node_modules/protobufjs/src/parse.js +0 -1111
  148. package/node_modules/protobufjs/src/reader.js +0 -788
  149. package/node_modules/protobufjs/src/reader_buffer.js +0 -77
  150. package/node_modules/protobufjs/src/root.js +0 -424
  151. package/node_modules/protobufjs/src/roots.js +0 -18
  152. package/node_modules/protobufjs/src/rpc/service.js +0 -155
  153. package/node_modules/protobufjs/src/rpc.js +0 -36
  154. package/node_modules/protobufjs/src/service.js +0 -206
  155. package/node_modules/protobufjs/src/tokenize.js +0 -421
  156. package/node_modules/protobufjs/src/type.js +0 -676
  157. package/node_modules/protobufjs/src/types.js +0 -196
  158. package/node_modules/protobufjs/src/typescript.js +0 -25
  159. package/node_modules/protobufjs/src/util/aspromise.d.ts +0 -13
  160. package/node_modules/protobufjs/src/util/aspromise.js +0 -52
  161. package/node_modules/protobufjs/src/util/base64.d.ts +0 -32
  162. package/node_modules/protobufjs/src/util/base64.js +0 -146
  163. package/node_modules/protobufjs/src/util/codegen.d.ts +0 -31
  164. package/node_modules/protobufjs/src/util/codegen.js +0 -118
  165. package/node_modules/protobufjs/src/util/eventemitter.d.ts +0 -45
  166. package/node_modules/protobufjs/src/util/eventemitter.js +0 -86
  167. package/node_modules/protobufjs/src/util/fetch.d.ts +0 -56
  168. package/node_modules/protobufjs/src/util/fetch.js +0 -112
  169. package/node_modules/protobufjs/src/util/float.d.ts +0 -83
  170. package/node_modules/protobufjs/src/util/float.js +0 -335
  171. package/node_modules/protobufjs/src/util/fs.js +0 -11
  172. package/node_modules/protobufjs/src/util/longbits.js +0 -204
  173. package/node_modules/protobufjs/src/util/minimal.js +0 -511
  174. package/node_modules/protobufjs/src/util/path.d.ts +0 -22
  175. package/node_modules/protobufjs/src/util/path.js +0 -100
  176. package/node_modules/protobufjs/src/util/patterns.js +0 -7
  177. package/node_modules/protobufjs/src/util/pool.d.ts +0 -32
  178. package/node_modules/protobufjs/src/util/pool.js +0 -48
  179. package/node_modules/protobufjs/src/util/utf8.d.ts +0 -24
  180. package/node_modules/protobufjs/src/util/utf8.js +0 -190
  181. package/node_modules/protobufjs/src/util.js +0 -264
  182. package/node_modules/protobufjs/src/verifier.js +0 -185
  183. package/node_modules/protobufjs/src/wrappers.js +0 -106
  184. package/node_modules/protobufjs/src/writer.js +0 -700
  185. package/node_modules/protobufjs/src/writer_buffer.js +0 -100
  186. package/node_modules/protobufjs/tsconfig.json +0 -6
  187. package/node_modules/uWebSockets.js/ESM_wrapper.mjs +0 -53
  188. package/node_modules/uWebSockets.js/LICENSE +0 -201
  189. package/node_modules/uWebSockets.js/README.md +0 -6
  190. package/node_modules/uWebSockets.js/index.d.ts +0 -468
  191. package/node_modules/uWebSockets.js/package.json +0 -12
  192. package/node_modules/uWebSockets.js/source_commit +0 -1
  193. package/node_modules/uWebSockets.js/uws.js +0 -76
  194. package/node_modules/uWebSockets.js/uws_darwin_arm64_127.node +0 -0
  195. package/node_modules/uWebSockets.js/uws_darwin_arm64_137.node +0 -0
  196. package/node_modules/uWebSockets.js/uws_darwin_arm64_147.node +0 -0
  197. package/node_modules/uWebSockets.js/uws_darwin_x64_127.node +0 -0
  198. package/node_modules/uWebSockets.js/uws_darwin_x64_137.node +0 -0
  199. package/node_modules/uWebSockets.js/uws_darwin_x64_147.node +0 -0
  200. package/node_modules/uWebSockets.js/uws_linux_arm64_127.node +0 -0
  201. package/node_modules/uWebSockets.js/uws_linux_arm64_137.node +0 -0
  202. package/node_modules/uWebSockets.js/uws_linux_arm64_147.node +0 -0
  203. package/node_modules/uWebSockets.js/uws_linux_x64_127.node +0 -0
  204. package/node_modules/uWebSockets.js/uws_linux_x64_137.node +0 -0
  205. package/node_modules/uWebSockets.js/uws_linux_x64_147.node +0 -0
  206. package/node_modules/uWebSockets.js/uws_win32_x64_127.node +0 -0
  207. package/node_modules/uWebSockets.js/uws_win32_x64_137.node +0 -0
  208. package/node_modules/uWebSockets.js/uws_win32_x64_147.node +0 -0
@@ -1,144 +0,0 @@
1
- "use strict";
2
- module.exports = MapField;
3
-
4
- // extends Field
5
- var Field = require("./field");
6
- MapField.prototype = Object.create(Field.prototype, {
7
- constructor: {
8
- value: MapField,
9
- writable: true,
10
- enumerable: false,
11
- configurable: true
12
- }
13
- });
14
- MapField.className = "MapField";
15
-
16
- var types = require("./types"),
17
- util = require("./util");
18
-
19
- /**
20
- * Constructs a new map field instance.
21
- * @classdesc Reflected map field.
22
- * @extends FieldBase
23
- * @constructor
24
- * @param {string} name Unique name within its namespace
25
- * @param {number} id Unique id within its namespace
26
- * @param {string} keyType Key type
27
- * @param {string} type Value type
28
- * @param {Object.<string,*>} [options] Declared options
29
- * @param {string} [comment] Comment associated with this field
30
- */
31
- function MapField(name, id, keyType, type, options, comment) {
32
- Field.call(this, name, id, type, undefined, undefined, options, comment);
33
-
34
- /* istanbul ignore if */
35
- if (!util.isString(keyType))
36
- throw TypeError("keyType must be a string");
37
-
38
- /**
39
- * Key type.
40
- * @type {string}
41
- */
42
- this.keyType = keyType; // toJSON, marker
43
-
44
- /**
45
- * Resolved key type if not a basic type.
46
- * @type {ReflectionObject|null}
47
- */
48
- this.resolvedKeyType = null;
49
-
50
- // Overrides Field#map
51
- this.map = true;
52
- }
53
-
54
- /**
55
- * Map field descriptor.
56
- * @interface IMapField
57
- * @extends {IField}
58
- * @property {string} keyType Key type
59
- */
60
-
61
- /**
62
- * Extension map field descriptor.
63
- * @interface IExtensionMapField
64
- * @extends IMapField
65
- * @property {string} extend Extended type
66
- */
67
-
68
- /**
69
- * Constructs a map field from a map field descriptor.
70
- * @param {string} name Field name
71
- * @param {IMapField} json Map field descriptor
72
- * @returns {MapField} Created map field
73
- * @throws {TypeError} If arguments are invalid
74
- */
75
- MapField.fromJSON = function fromJSON(name, json) {
76
- var field = new MapField(name, json.id, json.keyType, json.type, json.options, json.comment);
77
- if (json.protoName)
78
- field.protoName = json.protoName;
79
- if (json.jsonName !== undefined)
80
- field.jsonName = json.jsonName;
81
- else if (json.options && json.options.json_name !== undefined)
82
- field.jsonName = json.options.json_name;
83
- return field;
84
- };
85
-
86
- /**
87
- * Converts this map field to a map field descriptor.
88
- * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
89
- * @returns {IMapField} Map field descriptor
90
- */
91
- MapField.prototype.toJSON = function toJSON(toJSONOptions) {
92
- var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
93
- return util.toObject([
94
- "keyType" , this.keyType,
95
- "type" , this.type,
96
- "id" , this.id,
97
- "extend" , this.extend,
98
- "protoName" , this.protoName !== this.name ? this.protoName : undefined,
99
- "jsonName" , this.jsonName !== util.jsonName(this.protoName || this.name) ? this.jsonName : undefined,
100
- "options" , this.options,
101
- "comment" , keepComments ? this.comment : undefined
102
- ]);
103
- };
104
-
105
- /**
106
- * @override
107
- */
108
- MapField.prototype.resolve = function resolve() {
109
- if (this.resolved)
110
- return this;
111
-
112
- // Besides a value type, map fields have a key type that may be "any scalar type except for floating point types and bytes"
113
- if (types.mapKey[this.keyType] === undefined)
114
- throw Error("invalid key type: " + this.keyType);
115
-
116
- return Field.prototype.resolve.call(this);
117
- };
118
-
119
- /**
120
- * Map field decorator (TypeScript).
121
- * @name MapField.d
122
- * @function
123
- * @param {number} fieldId Field id
124
- * @param {"int32"|"uint32"|"sint32"|"fixed32"|"sfixed32"|"int64"|"uint64"|"sint64"|"fixed64"|"sfixed64"|"bool"|"string"} fieldKeyType Field key type
125
- * @param {"double"|"float"|"int32"|"uint32"|"sint32"|"fixed32"|"sfixed32"|"int64"|"uint64"|"sint64"|"fixed64"|"sfixed64"|"bool"|"string"|"bytes"|Object|Constructor<{}>} fieldValueType Field value type
126
- * @returns {FieldDecorator} Decorator function
127
- * @template T extends { [key: string]: number | Long | string | boolean | Uint8Array | Buffer | number[] | Message<{}> }
128
- * @deprecated Legacy TypeScript decorator support. Will be removed in a future release.
129
- */
130
- MapField.d = function decorateMapField(fieldId, fieldKeyType, fieldValueType) {
131
-
132
- // submessage value: decorate the submessage and use its name as the type
133
- if (typeof fieldValueType === "function")
134
- fieldValueType = util.decorateType(fieldValueType).name;
135
-
136
- // enum reference value: create a reflected copy of the enum and keep reuseing it
137
- else if (fieldValueType && typeof fieldValueType === "object")
138
- fieldValueType = util.decorateEnum(fieldValueType).name;
139
-
140
- return function mapFieldDecorator(prototype, fieldName) {
141
- util.decorateType(prototype.constructor)
142
- .add(new MapField(fieldName, fieldId, fieldKeyType, fieldValueType));
143
- };
144
- };
@@ -1,137 +0,0 @@
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
- * @property {Array.<Uint8Array>} [$unknowns] Unknown fields preserved while decoding when enabled
12
- * @template T extends object = object
13
- */
14
- function Message(properties) {
15
- // not used internally
16
- if (properties)
17
- for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
18
- if (properties[keys[i]] != null && keys[i] !== "__proto__")
19
- this[keys[i]] = properties[keys[i]];
20
- }
21
-
22
- /**
23
- * Reference to the reflected type.
24
- * @name Message.$type
25
- * @type {Type}
26
- * @readonly
27
- */
28
-
29
- /**
30
- * Reference to the reflected type.
31
- * @name Message#$type
32
- * @type {Type}
33
- * @readonly
34
- */
35
-
36
- /**
37
- * Creates a new message of this type using the specified properties.
38
- * @param {Object.<string,*>} [properties] Properties to set
39
- * @returns {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
- };
@@ -1,183 +0,0 @@
1
- "use strict";
2
- module.exports = Method;
3
-
4
- // extends ReflectionObject
5
- var ReflectionObject = require("./object");
6
- Method.prototype = Object.create(ReflectionObject.prototype, {
7
- constructor: {
8
- value: Method,
9
- writable: true,
10
- enumerable: false,
11
- configurable: true
12
- }
13
- });
14
- Method.className = "Method";
15
-
16
- var util = require("./util");
17
-
18
- /**
19
- * Constructs a new service method instance.
20
- * @classdesc Reflected service method.
21
- * @extends ReflectionObject
22
- * @constructor
23
- * @param {string} name Method name
24
- * @param {string|undefined} type Method type, usually `"rpc"`
25
- * @param {string} requestType Request message type
26
- * @param {string} responseType Response message type
27
- * @param {boolean|Object.<string,*>} [requestStream] Whether the request is streamed
28
- * @param {boolean|Object.<string,*>} [responseStream] Whether the response is streamed
29
- * @param {Object.<string,*>} [options] Declared options
30
- * @param {string} [comment] The comment for this method
31
- * @param {Array.<Object.<string,*>>} [parsedOptions] Declared options, properly parsed into objects
32
- */
33
- function Method(name, type, requestType, responseType, requestStream, responseStream, options, comment, parsedOptions) {
34
-
35
- /* istanbul ignore next */
36
- if (util.isObject(requestStream)) {
37
- options = requestStream;
38
- requestStream = responseStream = undefined;
39
- } else if (util.isObject(responseStream)) {
40
- options = responseStream;
41
- responseStream = undefined;
42
- }
43
-
44
- /* istanbul ignore if */
45
- if (!(type === undefined || util.isString(type)))
46
- throw TypeError("type must be a string");
47
-
48
- /* istanbul ignore if */
49
- if (!util.isString(requestType))
50
- throw TypeError("requestType must be a string");
51
-
52
- /* istanbul ignore if */
53
- if (!util.isString(responseType))
54
- throw TypeError("responseType must be a string");
55
-
56
- ReflectionObject.call(this, name, options);
57
-
58
- /**
59
- * Method type.
60
- * @type {string}
61
- */
62
- this.type = type || "rpc"; // toJSON
63
-
64
- /**
65
- * Request type.
66
- * @type {string}
67
- */
68
- this.requestType = requestType; // toJSON, marker
69
-
70
- /**
71
- * Whether requests are streamed or not.
72
- * @type {true|undefined}
73
- */
74
- this.requestStream = requestStream ? true : undefined; // toJSON
75
-
76
- /**
77
- * Response type.
78
- * @type {string}
79
- */
80
- this.responseType = responseType; // toJSON
81
-
82
- /**
83
- * Whether responses are streamed or not.
84
- * @type {true|undefined}
85
- */
86
- this.responseStream = responseStream ? true : undefined; // toJSON
87
-
88
- /**
89
- * gRPC-style method path.
90
- * @type {string}
91
- */
92
- this.path = "/" + this.name;
93
-
94
- /**
95
- * Resolved request type.
96
- * @type {Type|null}
97
- */
98
- this.resolvedRequestType = null;
99
-
100
- /**
101
- * Resolved response type.
102
- * @type {Type|null}
103
- */
104
- this.resolvedResponseType = null;
105
-
106
- /**
107
- * Comment for this method
108
- * @type {string|null}
109
- */
110
- this.comment = comment;
111
-
112
- /**
113
- * Options properly parsed into objects
114
- * @type {Array.<Object.<string,*>>|undefined}
115
- */
116
- this.parsedOptions = parsedOptions;
117
- }
118
-
119
- /**
120
- * Method descriptor.
121
- * @interface IMethod
122
- * @property {string} [type="rpc"] Method type
123
- * @property {string} requestType Request type
124
- * @property {string} responseType Response type
125
- * @property {boolean} [requestStream=false] Whether requests are streamed
126
- * @property {boolean} [responseStream=false] Whether responses are streamed
127
- * @property {Object.<string,*>} [options] Method options
128
- * @property {string|null} [comment] Method comment
129
- * @property {Array.<Object.<string,*>>} [parsedOptions] Method options properly parsed into objects
130
- */
131
-
132
- /**
133
- * Constructs a method from a method descriptor.
134
- * @param {string} name Method name
135
- * @param {IMethod} json Method descriptor
136
- * @returns {Method} Created method
137
- * @throws {TypeError} If arguments are invalid
138
- */
139
- Method.fromJSON = function fromJSON(name, json) {
140
- return new Method(name, json.type, json.requestType, json.responseType, json.requestStream, json.responseStream, json.options, json.comment, json.parsedOptions);
141
- };
142
-
143
- /**
144
- * Converts this method to a method descriptor.
145
- * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
146
- * @returns {IMethod} Method descriptor
147
- */
148
- Method.prototype.toJSON = function toJSON(toJSONOptions) {
149
- var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
150
- return util.toObject([
151
- "type" , this.type !== "rpc" && /* istanbul ignore next */ this.type || undefined,
152
- "requestType" , this.requestType,
153
- "requestStream" , this.requestStream,
154
- "responseType" , this.responseType,
155
- "responseStream" , this.responseStream,
156
- "options" , this.options,
157
- "comment" , keepComments ? this.comment : undefined,
158
- "parsedOptions" , this.parsedOptions,
159
- ]);
160
- };
161
-
162
- /**
163
- * @override
164
- */
165
- Method.prototype.resolve = function resolve() {
166
-
167
- /* istanbul ignore if */
168
- if (this.resolved)
169
- return this;
170
-
171
- if (this.parent) {
172
- var serviceName = this.parent.fullName;
173
- if (serviceName.charAt(0) === ".")
174
- serviceName = serviceName.substring(1);
175
- this.path = "/" + serviceName + "/" + this.name;
176
- } else
177
- this.path = "/" + this.name;
178
-
179
- this.resolvedRequestType = this.parent.lookupType(this.requestType);
180
- this.resolvedResponseType = this.parent.lookupType(this.responseType);
181
-
182
- return ReflectionObject.prototype.resolve.call(this);
183
- };