tardis-machine 18.0.0 → 18.1.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 (228) 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/downloaddatasets.d.ts.map +1 -1
  30. package/node_modules/tardis-dev/dist/downloaddatasets.js +3 -1
  31. package/node_modules/tardis-dev/dist/downloaddatasets.js.map +1 -1
  32. package/node_modules/tardis-dev/dist/handy.d.ts +5 -2
  33. package/node_modules/tardis-dev/dist/handy.d.ts.map +1 -1
  34. package/node_modules/tardis-dev/dist/handy.js +77 -90
  35. package/node_modules/tardis-dev/dist/handy.js.map +1 -1
  36. package/node_modules/tardis-dev/dist/mappers/hyperliquid.d.ts +1 -1
  37. package/node_modules/tardis-dev/dist/mappers/hyperliquid.d.ts.map +1 -1
  38. package/node_modules/tardis-dev/dist/mappers/hyperliquid.js +15 -4
  39. package/node_modules/tardis-dev/dist/mappers/hyperliquid.js.map +1 -1
  40. package/node_modules/tardis-dev/dist/mappers/index.d.ts +1 -1
  41. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.d.ts +0 -7
  42. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.d.ts.map +1 -1
  43. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.js +2 -70
  44. package/node_modules/tardis-dev/dist/realtimefeeds/mexc.js.map +1 -1
  45. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.d.ts +43 -0
  46. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.d.ts.map +1 -0
  47. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.js +294 -0
  48. package/node_modules/tardis-dev/dist/realtimefeeds/mexcprotobuf.js.map +1 -0
  49. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.d.ts +3 -3
  50. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.d.ts.map +1 -1
  51. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.js +3 -3
  52. package/node_modules/tardis-dev/dist/realtimefeeds/realtimefeed.js.map +1 -1
  53. package/node_modules/tardis-dev/dist/replay.d.ts.map +1 -1
  54. package/node_modules/tardis-dev/dist/replay.js +6 -4
  55. package/node_modules/tardis-dev/dist/replay.js.map +1 -1
  56. package/node_modules/tardis-dev/dist/worker.d.ts.map +1 -1
  57. package/node_modules/tardis-dev/dist/worker.js +7 -4
  58. package/node_modules/tardis-dev/dist/worker.js.map +1 -1
  59. package/node_modules/tardis-dev/dist/zstd.d.ts +3 -0
  60. package/node_modules/tardis-dev/dist/zstd.d.ts.map +1 -0
  61. package/node_modules/tardis-dev/dist/zstd.js +122 -0
  62. package/node_modules/tardis-dev/dist/zstd.js.map +1 -0
  63. package/node_modules/tardis-dev/package.json +3 -7
  64. package/node_modules/tardis-dev/src/debug.ts +16 -1
  65. package/node_modules/tardis-dev/src/downloaddatasets.ts +3 -1
  66. package/node_modules/tardis-dev/src/external-modules.d.ts +5 -0
  67. package/node_modules/tardis-dev/src/handy.ts +100 -93
  68. package/node_modules/tardis-dev/src/mappers/hyperliquid.ts +19 -5
  69. package/node_modules/tardis-dev/src/realtimefeeds/mexc.ts +2 -72
  70. package/node_modules/tardis-dev/src/realtimefeeds/mexcprotobuf.ts +364 -0
  71. package/node_modules/tardis-dev/src/realtimefeeds/realtimefeed.ts +5 -5
  72. package/node_modules/tardis-dev/src/replay.ts +6 -4
  73. package/node_modules/tardis-dev/src/worker.ts +7 -4
  74. package/node_modules/tardis-dev/src/zstd.ts +139 -0
  75. package/package.json +9 -35
  76. package/src/tardismachine.ts +25 -66
  77. package/src/ws/replay.ts +13 -8
  78. package/src/ws/replaynormalized.ts +8 -6
  79. package/src/ws/server.ts +173 -0
  80. package/src/ws/streamnormalized.ts +8 -6
  81. package/src/ws/subscriptionsmappers.ts +1 -1
  82. package/node_modules/follow-redirects/LICENSE +0 -18
  83. package/node_modules/follow-redirects/README.md +0 -157
  84. package/node_modules/follow-redirects/debug.js +0 -15
  85. package/node_modules/follow-redirects/http.js +0 -1
  86. package/node_modules/follow-redirects/https.js +0 -1
  87. package/node_modules/follow-redirects/index.js +0 -709
  88. package/node_modules/follow-redirects/package.json +0 -58
  89. package/node_modules/long/LICENSE +0 -202
  90. package/node_modules/long/README.md +0 -286
  91. package/node_modules/long/index.d.ts +0 -2
  92. package/node_modules/long/index.js +0 -1581
  93. package/node_modules/long/package.json +0 -58
  94. package/node_modules/long/types.d.ts +0 -474
  95. package/node_modules/long/umd/index.d.ts +0 -3
  96. package/node_modules/long/umd/index.js +0 -1622
  97. package/node_modules/long/umd/package.json +0 -3
  98. package/node_modules/long/umd/types.d.ts +0 -474
  99. package/node_modules/protobufjs/LICENSE +0 -39
  100. package/node_modules/protobufjs/README.md +0 -440
  101. package/node_modules/protobufjs/dist/light/protobuf.js +0 -9276
  102. package/node_modules/protobufjs/dist/light/protobuf.js.map +0 -1
  103. package/node_modules/protobufjs/dist/light/protobuf.min.js +0 -8
  104. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +0 -1
  105. package/node_modules/protobufjs/dist/minimal/protobuf.js +0 -3556
  106. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +0 -1
  107. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +0 -8
  108. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +0 -1
  109. package/node_modules/protobufjs/dist/protobuf.js +0 -11233
  110. package/node_modules/protobufjs/dist/protobuf.js.map +0 -1
  111. package/node_modules/protobufjs/dist/protobuf.min.js +0 -8
  112. package/node_modules/protobufjs/dist/protobuf.min.js.map +0 -1
  113. package/node_modules/protobufjs/ext/README.md +0 -70
  114. package/node_modules/protobufjs/ext/debug/README.md +0 -4
  115. package/node_modules/protobufjs/ext/debug/index.js +0 -71
  116. package/node_modules/protobufjs/ext/descriptor/README.md +0 -5
  117. package/node_modules/protobufjs/ext/descriptor/index.d.ts +0 -2
  118. package/node_modules/protobufjs/ext/descriptor/index.js +0 -2
  119. package/node_modules/protobufjs/ext/descriptor.d.ts +0 -87
  120. package/node_modules/protobufjs/ext/descriptor.generated.d.ts +0 -417
  121. package/node_modules/protobufjs/ext/descriptor.js +0 -1356
  122. package/node_modules/protobufjs/ext/protojson.LICENSE +0 -201
  123. package/node_modules/protobufjs/ext/protojson.d.ts +0 -20
  124. package/node_modules/protobufjs/ext/protojson.generated.d.ts +0 -49
  125. package/node_modules/protobufjs/ext/protojson.js +0 -951
  126. package/node_modules/protobufjs/ext/textformat.d.ts +0 -19
  127. package/node_modules/protobufjs/ext/textformat.generated.d.ts +0 -33
  128. package/node_modules/protobufjs/ext/textformat.js +0 -1276
  129. package/node_modules/protobufjs/google/LICENSE +0 -27
  130. package/node_modules/protobufjs/google/README.md +0 -1
  131. package/node_modules/protobufjs/google/api/annotations.json +0 -85
  132. package/node_modules/protobufjs/google/api/annotations.proto +0 -11
  133. package/node_modules/protobufjs/google/api/http.json +0 -87
  134. package/node_modules/protobufjs/google/api/http.proto +0 -31
  135. package/node_modules/protobufjs/google/protobuf/api.json +0 -124
  136. package/node_modules/protobufjs/google/protobuf/api.proto +0 -34
  137. package/node_modules/protobufjs/google/protobuf/compiler/plugin.json +0 -126
  138. package/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +0 -47
  139. package/node_modules/protobufjs/google/protobuf/descriptor.json +0 -1465
  140. package/node_modules/protobufjs/google/protobuf/descriptor.proto +0 -527
  141. package/node_modules/protobufjs/google/protobuf/source_context.json +0 -21
  142. package/node_modules/protobufjs/google/protobuf/source_context.proto +0 -7
  143. package/node_modules/protobufjs/google/protobuf/type.json +0 -209
  144. package/node_modules/protobufjs/google/protobuf/type.proto +0 -89
  145. package/node_modules/protobufjs/index.d.ts +0 -3203
  146. package/node_modules/protobufjs/index.js +0 -4
  147. package/node_modules/protobufjs/light.d.ts +0 -2
  148. package/node_modules/protobufjs/light.js +0 -4
  149. package/node_modules/protobufjs/minimal.d.ts +0 -2
  150. package/node_modules/protobufjs/minimal.js +0 -4
  151. package/node_modules/protobufjs/package.json +0 -93
  152. package/node_modules/protobufjs/src/common.js +0 -405
  153. package/node_modules/protobufjs/src/converter.js +0 -352
  154. package/node_modules/protobufjs/src/decoder.js +0 -279
  155. package/node_modules/protobufjs/src/encoder.js +0 -123
  156. package/node_modules/protobufjs/src/enum.js +0 -239
  157. package/node_modules/protobufjs/src/field.js +0 -505
  158. package/node_modules/protobufjs/src/index-light.js +0 -104
  159. package/node_modules/protobufjs/src/index-minimal.js +0 -35
  160. package/node_modules/protobufjs/src/index.js +0 -12
  161. package/node_modules/protobufjs/src/mapfield.js +0 -144
  162. package/node_modules/protobufjs/src/message.js +0 -137
  163. package/node_modules/protobufjs/src/method.js +0 -183
  164. package/node_modules/protobufjs/src/namespace.js +0 -574
  165. package/node_modules/protobufjs/src/object.js +0 -392
  166. package/node_modules/protobufjs/src/oneof.js +0 -233
  167. package/node_modules/protobufjs/src/parse.js +0 -1111
  168. package/node_modules/protobufjs/src/reader.js +0 -788
  169. package/node_modules/protobufjs/src/reader_buffer.js +0 -77
  170. package/node_modules/protobufjs/src/root.js +0 -424
  171. package/node_modules/protobufjs/src/roots.js +0 -18
  172. package/node_modules/protobufjs/src/rpc/service.js +0 -155
  173. package/node_modules/protobufjs/src/rpc.js +0 -36
  174. package/node_modules/protobufjs/src/service.js +0 -206
  175. package/node_modules/protobufjs/src/tokenize.js +0 -421
  176. package/node_modules/protobufjs/src/type.js +0 -676
  177. package/node_modules/protobufjs/src/types.js +0 -196
  178. package/node_modules/protobufjs/src/typescript.js +0 -25
  179. package/node_modules/protobufjs/src/util/aspromise.d.ts +0 -13
  180. package/node_modules/protobufjs/src/util/aspromise.js +0 -52
  181. package/node_modules/protobufjs/src/util/base64.d.ts +0 -32
  182. package/node_modules/protobufjs/src/util/base64.js +0 -146
  183. package/node_modules/protobufjs/src/util/codegen.d.ts +0 -31
  184. package/node_modules/protobufjs/src/util/codegen.js +0 -118
  185. package/node_modules/protobufjs/src/util/eventemitter.d.ts +0 -45
  186. package/node_modules/protobufjs/src/util/eventemitter.js +0 -86
  187. package/node_modules/protobufjs/src/util/fetch.d.ts +0 -56
  188. package/node_modules/protobufjs/src/util/fetch.js +0 -112
  189. package/node_modules/protobufjs/src/util/float.d.ts +0 -83
  190. package/node_modules/protobufjs/src/util/float.js +0 -335
  191. package/node_modules/protobufjs/src/util/fs.js +0 -11
  192. package/node_modules/protobufjs/src/util/longbits.js +0 -204
  193. package/node_modules/protobufjs/src/util/minimal.js +0 -511
  194. package/node_modules/protobufjs/src/util/path.d.ts +0 -22
  195. package/node_modules/protobufjs/src/util/path.js +0 -100
  196. package/node_modules/protobufjs/src/util/patterns.js +0 -7
  197. package/node_modules/protobufjs/src/util/pool.d.ts +0 -32
  198. package/node_modules/protobufjs/src/util/pool.js +0 -48
  199. package/node_modules/protobufjs/src/util/utf8.d.ts +0 -24
  200. package/node_modules/protobufjs/src/util/utf8.js +0 -190
  201. package/node_modules/protobufjs/src/util.js +0 -264
  202. package/node_modules/protobufjs/src/verifier.js +0 -185
  203. package/node_modules/protobufjs/src/wrappers.js +0 -106
  204. package/node_modules/protobufjs/src/writer.js +0 -700
  205. package/node_modules/protobufjs/src/writer_buffer.js +0 -100
  206. package/node_modules/protobufjs/tsconfig.json +0 -6
  207. package/node_modules/uWebSockets.js/ESM_wrapper.mjs +0 -53
  208. package/node_modules/uWebSockets.js/LICENSE +0 -201
  209. package/node_modules/uWebSockets.js/README.md +0 -6
  210. package/node_modules/uWebSockets.js/index.d.ts +0 -468
  211. package/node_modules/uWebSockets.js/package.json +0 -12
  212. package/node_modules/uWebSockets.js/source_commit +0 -1
  213. package/node_modules/uWebSockets.js/uws.js +0 -76
  214. package/node_modules/uWebSockets.js/uws_darwin_arm64_127.node +0 -0
  215. package/node_modules/uWebSockets.js/uws_darwin_arm64_137.node +0 -0
  216. package/node_modules/uWebSockets.js/uws_darwin_arm64_147.node +0 -0
  217. package/node_modules/uWebSockets.js/uws_darwin_x64_127.node +0 -0
  218. package/node_modules/uWebSockets.js/uws_darwin_x64_137.node +0 -0
  219. package/node_modules/uWebSockets.js/uws_darwin_x64_147.node +0 -0
  220. package/node_modules/uWebSockets.js/uws_linux_arm64_127.node +0 -0
  221. package/node_modules/uWebSockets.js/uws_linux_arm64_137.node +0 -0
  222. package/node_modules/uWebSockets.js/uws_linux_arm64_147.node +0 -0
  223. package/node_modules/uWebSockets.js/uws_linux_x64_127.node +0 -0
  224. package/node_modules/uWebSockets.js/uws_linux_x64_137.node +0 -0
  225. package/node_modules/uWebSockets.js/uws_linux_x64_147.node +0 -0
  226. package/node_modules/uWebSockets.js/uws_win32_x64_127.node +0 -0
  227. package/node_modules/uWebSockets.js/uws_win32_x64_137.node +0 -0
  228. 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
- };