@waku/core 0.0.5 → 0.0.7

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 (129) hide show
  1. package/CHANGELOG.md +51 -3
  2. package/bundle/index.js +31146 -26342
  3. package/bundle/lib/message/topic_only_message.js +33 -0
  4. package/bundle/lib/message/version_0.js +133 -0
  5. package/bundle/lib/predefined_bootstrap_nodes.js +24 -4
  6. package/bundle/{message-049c8b67.js → peer_exchange-53df2b11.js} +3579 -1007
  7. package/dist/index.d.ts +14 -13
  8. package/dist/index.js +11 -10
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/{waku_filter → filter}/filter_rpc.d.ts +1 -1
  11. package/dist/lib/{waku_filter → filter}/filter_rpc.js +1 -1
  12. package/dist/lib/filter/filter_rpc.js.map +1 -0
  13. package/dist/lib/filter/index.d.ts +25 -0
  14. package/dist/lib/{waku_filter → filter}/index.js +14 -9
  15. package/dist/lib/filter/index.js.map +1 -0
  16. package/dist/lib/light_push/index.d.ts +22 -0
  17. package/dist/lib/{waku_light_push → light_push}/index.js +14 -9
  18. package/dist/lib/light_push/index.js.map +1 -0
  19. package/dist/lib/{waku_light_push → light_push}/push_rpc.d.ts +1 -1
  20. package/dist/lib/{waku_light_push → light_push}/push_rpc.js +1 -1
  21. package/dist/lib/light_push/push_rpc.js.map +1 -0
  22. package/dist/lib/message/topic_only_message.d.ts +16 -0
  23. package/dist/lib/{waku_message → message}/topic_only_message.js +2 -1
  24. package/dist/lib/message/topic_only_message.js.map +1 -0
  25. package/dist/lib/message/version_0.d.ts +54 -0
  26. package/dist/lib/{waku_message → message}/version_0.js +41 -6
  27. package/dist/lib/message/version_0.js.map +1 -0
  28. package/dist/lib/predefined_bootstrap_nodes.d.ts +1 -2
  29. package/dist/lib/predefined_bootstrap_nodes.js +0 -2
  30. package/dist/lib/predefined_bootstrap_nodes.js.map +1 -1
  31. package/dist/lib/{waku_relay → relay}/constants.d.ts +0 -0
  32. package/dist/lib/{waku_relay → relay}/constants.js +0 -0
  33. package/dist/lib/relay/constants.js.map +1 -0
  34. package/dist/lib/relay/index.d.ts +24 -0
  35. package/dist/lib/{waku_relay → relay}/index.js +9 -6
  36. package/dist/lib/relay/index.js.map +1 -0
  37. package/dist/lib/{waku_store → store}/history_rpc.d.ts +1 -1
  38. package/dist/lib/{waku_store → store}/history_rpc.js +1 -1
  39. package/dist/lib/store/history_rpc.js.map +1 -0
  40. package/dist/lib/store/index.d.ts +68 -0
  41. package/dist/lib/{waku_store → store}/index.js +41 -16
  42. package/dist/lib/store/index.js.map +1 -0
  43. package/dist/lib/to_proto_message.d.ts +3 -3
  44. package/dist/lib/to_proto_message.js +1 -0
  45. package/dist/lib/to_proto_message.js.map +1 -1
  46. package/dist/lib/wait_for_remote_peer.js +14 -5
  47. package/dist/lib/wait_for_remote_peer.js.map +1 -1
  48. package/dist/lib/waku.d.ts +17 -15
  49. package/dist/lib/waku.js +49 -41
  50. package/dist/lib/waku.js.map +1 -1
  51. package/package.json +28 -31
  52. package/src/index.ts +25 -14
  53. package/src/lib/{waku_filter → filter}/filter_rpc.ts +1 -2
  54. package/src/lib/{waku_filter → filter}/index.ts +51 -30
  55. package/src/lib/{waku_light_push → light_push}/index.ts +38 -19
  56. package/src/lib/{waku_light_push → light_push}/push_rpc.ts +1 -2
  57. package/src/lib/{waku_message → message}/topic_only_message.ts +12 -7
  58. package/src/lib/{waku_message → message}/version_0.ts +59 -18
  59. package/src/lib/predefined_bootstrap_nodes.ts +2 -6
  60. package/src/lib/{waku_relay → relay}/constants.ts +0 -0
  61. package/src/lib/{waku_relay → relay}/index.ts +30 -26
  62. package/src/lib/{waku_store → store}/history_rpc.ts +1 -2
  63. package/src/lib/{waku_store → store}/index.ts +93 -28
  64. package/src/lib/to_proto_message.ts +5 -5
  65. package/src/lib/wait_for_remote_peer.ts +19 -7
  66. package/src/lib/waku.ts +78 -51
  67. package/bundle/browser-1e1a2f27.js +0 -722
  68. package/bundle/events-158407bb.js +0 -1929
  69. package/bundle/index-64ce43f0.js +0 -69
  70. package/bundle/index-8710041d.js +0 -2962
  71. package/bundle/index-a67d7136.js +0 -4059
  72. package/bundle/lib/peer_discovery_static_list.js +0 -89
  73. package/bundle/lib/wait_for_remote_peer.js +0 -326
  74. package/bundle/lib/waku_message/topic_only_message.js +0 -3
  75. package/bundle/lib/waku_message/version_0.js +0 -317
  76. package/bundle/random_subset-75d1c511.js +0 -26
  77. package/bundle/topic_only_message-5ad3a869.js +0 -82
  78. package/dist/lib/multiaddr_to_peer_info.d.ts +0 -3
  79. package/dist/lib/multiaddr_to_peer_info.js +0 -15
  80. package/dist/lib/multiaddr_to_peer_info.js.map +0 -1
  81. package/dist/lib/peer_discovery_static_list.d.ts +0 -44
  82. package/dist/lib/peer_discovery_static_list.js +0 -72
  83. package/dist/lib/peer_discovery_static_list.js.map +0 -1
  84. package/dist/lib/select_connection.d.ts +0 -2
  85. package/dist/lib/select_connection.js +0 -19
  86. package/dist/lib/select_connection.js.map +0 -1
  87. package/dist/lib/select_peer.d.ts +0 -15
  88. package/dist/lib/select_peer.js +0 -59
  89. package/dist/lib/select_peer.js.map +0 -1
  90. package/dist/lib/waku_filter/filter_rpc.js.map +0 -1
  91. package/dist/lib/waku_filter/index.d.ts +0 -50
  92. package/dist/lib/waku_filter/index.js.map +0 -1
  93. package/dist/lib/waku_light_push/index.d.ts +0 -38
  94. package/dist/lib/waku_light_push/index.js.map +0 -1
  95. package/dist/lib/waku_light_push/push_rpc.js.map +0 -1
  96. package/dist/lib/waku_message/topic_only_message.d.ts +0 -15
  97. package/dist/lib/waku_message/topic_only_message.js.map +0 -1
  98. package/dist/lib/waku_message/version_0.d.ts +0 -27
  99. package/dist/lib/waku_message/version_0.js.map +0 -1
  100. package/dist/lib/waku_relay/constants.js.map +0 -1
  101. package/dist/lib/waku_relay/index.d.ts +0 -66
  102. package/dist/lib/waku_relay/index.js.map +0 -1
  103. package/dist/lib/waku_store/history_rpc.js.map +0 -1
  104. package/dist/lib/waku_store/index.d.ts +0 -126
  105. package/dist/lib/waku_store/index.js.map +0 -1
  106. package/dist/proto/filter.d.ts +0 -65
  107. package/dist/proto/filter.js +0 -425
  108. package/dist/proto/filter.js.map +0 -1
  109. package/dist/proto/light_push.d.ts +0 -57
  110. package/dist/proto/light_push.js +0 -369
  111. package/dist/proto/light_push.js.map +0 -1
  112. package/dist/proto/message.d.ts +0 -29
  113. package/dist/proto/message.js +0 -215
  114. package/dist/proto/message.js.map +0 -1
  115. package/dist/proto/store.d.ts +0 -104
  116. package/dist/proto/store.js +0 -602
  117. package/dist/proto/store.js.map +0 -1
  118. package/dist/proto/topic_only_message.d.ts +0 -10
  119. package/dist/proto/topic_only_message.js +0 -46
  120. package/dist/proto/topic_only_message.js.map +0 -1
  121. package/src/lib/multiaddr_to_peer_info.ts +0 -17
  122. package/src/lib/peer_discovery_static_list.ts +0 -118
  123. package/src/lib/select_connection.ts +0 -24
  124. package/src/lib/select_peer.ts +0 -77
  125. package/src/proto/filter.ts +0 -602
  126. package/src/proto/light_push.ts +0 -526
  127. package/src/proto/message.ts +0 -304
  128. package/src/proto/store.ts +0 -844
  129. package/src/proto/topic_only_message.ts +0 -67
@@ -25,850 +25,1516 @@ function getAugmentedNamespace(n) {
25
25
  return a;
26
26
  }
27
27
 
28
- var protobufjs = {exports: {}};
28
+ var browser = {exports: {}};
29
29
 
30
- var src = {exports: {}};
30
+ /**
31
+ * Helpers.
32
+ */
31
33
 
32
- var indexLight = {exports: {}};
34
+ var ms;
35
+ var hasRequiredMs;
36
+
37
+ function requireMs () {
38
+ if (hasRequiredMs) return ms;
39
+ hasRequiredMs = 1;
40
+ var s = 1000;
41
+ var m = s * 60;
42
+ var h = m * 60;
43
+ var d = h * 24;
44
+ var w = d * 7;
45
+ var y = d * 365.25;
46
+
47
+ /**
48
+ * Parse or format the given `val`.
49
+ *
50
+ * Options:
51
+ *
52
+ * - `long` verbose formatting [false]
53
+ *
54
+ * @param {String|Number} val
55
+ * @param {Object} [options]
56
+ * @throws {Error} throw an error if val is not a non-empty string or a number
57
+ * @return {String|Number}
58
+ * @api public
59
+ */
60
+
61
+ ms = function(val, options) {
62
+ options = options || {};
63
+ var type = typeof val;
64
+ if (type === 'string' && val.length > 0) {
65
+ return parse(val);
66
+ } else if (type === 'number' && isFinite(val)) {
67
+ return options.long ? fmtLong(val) : fmtShort(val);
68
+ }
69
+ throw new Error(
70
+ 'val is not a non-empty string or a valid number. val=' +
71
+ JSON.stringify(val)
72
+ );
73
+ };
33
74
 
34
- var indexMinimal = {};
75
+ /**
76
+ * Parse the given `str` and return milliseconds.
77
+ *
78
+ * @param {String} str
79
+ * @return {Number}
80
+ * @api private
81
+ */
82
+
83
+ function parse(str) {
84
+ str = String(str);
85
+ if (str.length > 100) {
86
+ return;
87
+ }
88
+ var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
89
+ str
90
+ );
91
+ if (!match) {
92
+ return;
93
+ }
94
+ var n = parseFloat(match[1]);
95
+ var type = (match[2] || 'ms').toLowerCase();
96
+ switch (type) {
97
+ case 'years':
98
+ case 'year':
99
+ case 'yrs':
100
+ case 'yr':
101
+ case 'y':
102
+ return n * y;
103
+ case 'weeks':
104
+ case 'week':
105
+ case 'w':
106
+ return n * w;
107
+ case 'days':
108
+ case 'day':
109
+ case 'd':
110
+ return n * d;
111
+ case 'hours':
112
+ case 'hour':
113
+ case 'hrs':
114
+ case 'hr':
115
+ case 'h':
116
+ return n * h;
117
+ case 'minutes':
118
+ case 'minute':
119
+ case 'mins':
120
+ case 'min':
121
+ case 'm':
122
+ return n * m;
123
+ case 'seconds':
124
+ case 'second':
125
+ case 'secs':
126
+ case 'sec':
127
+ case 's':
128
+ return n * s;
129
+ case 'milliseconds':
130
+ case 'millisecond':
131
+ case 'msecs':
132
+ case 'msec':
133
+ case 'ms':
134
+ return n;
135
+ default:
136
+ return undefined;
137
+ }
138
+ }
35
139
 
36
- var minimal = {};
140
+ /**
141
+ * Short format for `ms`.
142
+ *
143
+ * @param {Number} ms
144
+ * @return {String}
145
+ * @api private
146
+ */
147
+
148
+ function fmtShort(ms) {
149
+ var msAbs = Math.abs(ms);
150
+ if (msAbs >= d) {
151
+ return Math.round(ms / d) + 'd';
152
+ }
153
+ if (msAbs >= h) {
154
+ return Math.round(ms / h) + 'h';
155
+ }
156
+ if (msAbs >= m) {
157
+ return Math.round(ms / m) + 'm';
158
+ }
159
+ if (msAbs >= s) {
160
+ return Math.round(ms / s) + 's';
161
+ }
162
+ return ms + 'ms';
163
+ }
37
164
 
38
- var aspromise;
39
- var hasRequiredAspromise;
165
+ /**
166
+ * Long format for `ms`.
167
+ *
168
+ * @param {Number} ms
169
+ * @return {String}
170
+ * @api private
171
+ */
172
+
173
+ function fmtLong(ms) {
174
+ var msAbs = Math.abs(ms);
175
+ if (msAbs >= d) {
176
+ return plural(ms, msAbs, d, 'day');
177
+ }
178
+ if (msAbs >= h) {
179
+ return plural(ms, msAbs, h, 'hour');
180
+ }
181
+ if (msAbs >= m) {
182
+ return plural(ms, msAbs, m, 'minute');
183
+ }
184
+ if (msAbs >= s) {
185
+ return plural(ms, msAbs, s, 'second');
186
+ }
187
+ return ms + ' ms';
188
+ }
40
189
 
41
- function requireAspromise () {
42
- if (hasRequiredAspromise) return aspromise;
43
- hasRequiredAspromise = 1;
44
- aspromise = asPromise;
45
-
46
- /**
47
- * Callback as used by {@link util.asPromise}.
48
- * @typedef asPromiseCallback
49
- * @type {function}
50
- * @param {Error|null} error Error, if any
51
- * @param {...*} params Additional arguments
52
- * @returns {undefined}
53
- */
54
-
55
- /**
56
- * Returns a promise from a node-style callback function.
57
- * @memberof util
58
- * @param {asPromiseCallback} fn Function to call
59
- * @param {*} ctx Function context
60
- * @param {...*} params Function arguments
61
- * @returns {Promise<*>} Promisified function
62
- */
63
- function asPromise(fn, ctx/*, varargs */) {
64
- var params = new Array(arguments.length - 1),
65
- offset = 0,
66
- index = 2,
67
- pending = true;
68
- while (index < arguments.length)
69
- params[offset++] = arguments[index++];
70
- return new Promise(function executor(resolve, reject) {
71
- params[offset] = function callback(err/*, varargs */) {
72
- if (pending) {
73
- pending = false;
74
- if (err)
75
- reject(err);
76
- else {
77
- var params = new Array(arguments.length - 1),
78
- offset = 0;
79
- while (offset < params.length)
80
- params[offset++] = arguments[offset];
81
- resolve.apply(null, params);
82
- }
83
- }
84
- };
85
- try {
86
- fn.apply(ctx || null, params);
87
- } catch (err) {
88
- if (pending) {
89
- pending = false;
90
- reject(err);
91
- }
92
- }
93
- });
190
+ /**
191
+ * Pluralization helper.
192
+ */
193
+
194
+ function plural(ms, msAbs, n, name) {
195
+ var isPlural = msAbs >= n * 1.5;
196
+ return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
94
197
  }
95
- return aspromise;
198
+ return ms;
96
199
  }
97
200
 
98
- var base64$1 = {};
201
+ /**
202
+ * This is the common logic for both the Node.js and web browser
203
+ * implementations of `debug()`.
204
+ */
99
205
 
100
- var hasRequiredBase64;
206
+ function setup(env) {
207
+ createDebug.debug = createDebug;
208
+ createDebug.default = createDebug;
209
+ createDebug.coerce = coerce;
210
+ createDebug.disable = disable;
211
+ createDebug.enable = enable;
212
+ createDebug.enabled = enabled;
213
+ createDebug.humanize = requireMs();
214
+ createDebug.destroy = destroy;
215
+
216
+ Object.keys(env).forEach(key => {
217
+ createDebug[key] = env[key];
218
+ });
101
219
 
102
- function requireBase64 () {
103
- if (hasRequiredBase64) return base64$1;
104
- hasRequiredBase64 = 1;
105
- (function (exports) {
106
-
107
- /**
108
- * A minimal base64 implementation for number arrays.
109
- * @memberof util
110
- * @namespace
111
- */
112
- var base64 = exports;
113
-
114
- /**
115
- * Calculates the byte length of a base64 encoded string.
116
- * @param {string} string Base64 encoded string
117
- * @returns {number} Byte length
118
- */
119
- base64.length = function length(string) {
120
- var p = string.length;
121
- if (!p)
122
- return 0;
123
- var n = 0;
124
- while (--p % 4 > 1 && string.charAt(p) === "=")
125
- ++n;
126
- return Math.ceil(string.length * 3) / 4 - n;
127
- };
128
-
129
- // Base64 encoding table
130
- var b64 = new Array(64);
131
-
132
- // Base64 decoding table
133
- var s64 = new Array(123);
134
-
135
- // 65..90, 97..122, 48..57, 43, 47
136
- for (var i = 0; i < 64;)
137
- s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;
138
-
139
- /**
140
- * Encodes a buffer to a base64 encoded string.
141
- * @param {Uint8Array} buffer Source buffer
142
- * @param {number} start Source start
143
- * @param {number} end Source end
144
- * @returns {string} Base64 encoded string
145
- */
146
- base64.encode = function encode(buffer, start, end) {
147
- var parts = null,
148
- chunk = [];
149
- var i = 0, // output index
150
- j = 0, // goto index
151
- t; // temporary
152
- while (start < end) {
153
- var b = buffer[start++];
154
- switch (j) {
155
- case 0:
156
- chunk[i++] = b64[b >> 2];
157
- t = (b & 3) << 4;
158
- j = 1;
159
- break;
160
- case 1:
161
- chunk[i++] = b64[t | b >> 4];
162
- t = (b & 15) << 2;
163
- j = 2;
164
- break;
165
- case 2:
166
- chunk[i++] = b64[t | b >> 6];
167
- chunk[i++] = b64[b & 63];
168
- j = 0;
169
- break;
170
- }
171
- if (i > 8191) {
172
- (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
173
- i = 0;
174
- }
175
- }
176
- if (j) {
177
- chunk[i++] = b64[t];
178
- chunk[i++] = 61;
179
- if (j === 1)
180
- chunk[i++] = 61;
181
- }
182
- if (parts) {
183
- if (i)
184
- parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
185
- return parts.join("");
186
- }
187
- return String.fromCharCode.apply(String, chunk.slice(0, i));
188
- };
189
-
190
- var invalidEncoding = "invalid encoding";
220
+ /**
221
+ * The currently active debug mode names, and names to skip.
222
+ */
223
+
224
+ createDebug.names = [];
225
+ createDebug.skips = [];
226
+
227
+ /**
228
+ * Map of special "%n" handling functions, for the debug "format" argument.
229
+ *
230
+ * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
231
+ */
232
+ createDebug.formatters = {};
233
+
234
+ /**
235
+ * Selects a color for a debug namespace
236
+ * @param {String} namespace The namespace string for the debug instance to be colored
237
+ * @return {Number|String} An ANSI color code for the given namespace
238
+ * @api private
239
+ */
240
+ function selectColor(namespace) {
241
+ let hash = 0;
242
+
243
+ for (let i = 0; i < namespace.length; i++) {
244
+ hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
245
+ hash |= 0; // Convert to 32bit integer
246
+ }
247
+
248
+ return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
249
+ }
250
+ createDebug.selectColor = selectColor;
251
+
252
+ /**
253
+ * Create a debugger with the given `namespace`.
254
+ *
255
+ * @param {String} namespace
256
+ * @return {Function}
257
+ * @api public
258
+ */
259
+ function createDebug(namespace) {
260
+ let prevTime;
261
+ let enableOverride = null;
262
+ let namespacesCache;
263
+ let enabledCache;
264
+
265
+ function debug(...args) {
266
+ // Disabled?
267
+ if (!debug.enabled) {
268
+ return;
269
+ }
270
+
271
+ const self = debug;
272
+
273
+ // Set `diff` timestamp
274
+ const curr = Number(new Date());
275
+ const ms = curr - (prevTime || curr);
276
+ self.diff = ms;
277
+ self.prev = prevTime;
278
+ self.curr = curr;
279
+ prevTime = curr;
280
+
281
+ args[0] = createDebug.coerce(args[0]);
282
+
283
+ if (typeof args[0] !== 'string') {
284
+ // Anything else let's inspect with %O
285
+ args.unshift('%O');
286
+ }
287
+
288
+ // Apply any `formatters` transformations
289
+ let index = 0;
290
+ args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
291
+ // If we encounter an escaped % then don't increase the array index
292
+ if (match === '%%') {
293
+ return '%';
294
+ }
295
+ index++;
296
+ const formatter = createDebug.formatters[format];
297
+ if (typeof formatter === 'function') {
298
+ const val = args[index];
299
+ match = formatter.call(self, val);
300
+
301
+ // Now we need to remove `args[index]` since it's inlined in the `format`
302
+ args.splice(index, 1);
303
+ index--;
304
+ }
305
+ return match;
306
+ });
307
+
308
+ // Apply env-specific formatting (colors, etc.)
309
+ createDebug.formatArgs.call(self, args);
310
+
311
+ const logFn = self.log || createDebug.log;
312
+ logFn.apply(self, args);
313
+ }
314
+
315
+ debug.namespace = namespace;
316
+ debug.useColors = createDebug.useColors();
317
+ debug.color = createDebug.selectColor(namespace);
318
+ debug.extend = extend;
319
+ debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.
320
+
321
+ Object.defineProperty(debug, 'enabled', {
322
+ enumerable: true,
323
+ configurable: false,
324
+ get: () => {
325
+ if (enableOverride !== null) {
326
+ return enableOverride;
327
+ }
328
+ if (namespacesCache !== createDebug.namespaces) {
329
+ namespacesCache = createDebug.namespaces;
330
+ enabledCache = createDebug.enabled(namespace);
331
+ }
332
+
333
+ return enabledCache;
334
+ },
335
+ set: v => {
336
+ enableOverride = v;
337
+ }
338
+ });
339
+
340
+ // Env-specific initialization logic for debug instances
341
+ if (typeof createDebug.init === 'function') {
342
+ createDebug.init(debug);
343
+ }
344
+
345
+ return debug;
346
+ }
347
+
348
+ function extend(namespace, delimiter) {
349
+ const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
350
+ newDebug.log = this.log;
351
+ return newDebug;
352
+ }
353
+
354
+ /**
355
+ * Enables a debug mode by namespaces. This can include modes
356
+ * separated by a colon and wildcards.
357
+ *
358
+ * @param {String} namespaces
359
+ * @api public
360
+ */
361
+ function enable(namespaces) {
362
+ createDebug.save(namespaces);
363
+ createDebug.namespaces = namespaces;
364
+
365
+ createDebug.names = [];
366
+ createDebug.skips = [];
367
+
368
+ let i;
369
+ const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
370
+ const len = split.length;
371
+
372
+ for (i = 0; i < len; i++) {
373
+ if (!split[i]) {
374
+ // ignore empty strings
375
+ continue;
376
+ }
377
+
378
+ namespaces = split[i].replace(/\*/g, '.*?');
379
+
380
+ if (namespaces[0] === '-') {
381
+ createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
382
+ } else {
383
+ createDebug.names.push(new RegExp('^' + namespaces + '$'));
384
+ }
385
+ }
386
+ }
387
+
388
+ /**
389
+ * Disable debug output.
390
+ *
391
+ * @return {String} namespaces
392
+ * @api public
393
+ */
394
+ function disable() {
395
+ const namespaces = [
396
+ ...createDebug.names.map(toNamespace),
397
+ ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
398
+ ].join(',');
399
+ createDebug.enable('');
400
+ return namespaces;
401
+ }
402
+
403
+ /**
404
+ * Returns true if the given mode name is enabled, false otherwise.
405
+ *
406
+ * @param {String} name
407
+ * @return {Boolean}
408
+ * @api public
409
+ */
410
+ function enabled(name) {
411
+ if (name[name.length - 1] === '*') {
412
+ return true;
413
+ }
414
+
415
+ let i;
416
+ let len;
417
+
418
+ for (i = 0, len = createDebug.skips.length; i < len; i++) {
419
+ if (createDebug.skips[i].test(name)) {
420
+ return false;
421
+ }
422
+ }
423
+
424
+ for (i = 0, len = createDebug.names.length; i < len; i++) {
425
+ if (createDebug.names[i].test(name)) {
426
+ return true;
427
+ }
428
+ }
429
+
430
+ return false;
431
+ }
432
+
433
+ /**
434
+ * Convert regexp to namespace
435
+ *
436
+ * @param {RegExp} regxep
437
+ * @return {String} namespace
438
+ * @api private
439
+ */
440
+ function toNamespace(regexp) {
441
+ return regexp.toString()
442
+ .substring(2, regexp.toString().length - 2)
443
+ .replace(/\.\*\?$/, '*');
444
+ }
445
+
446
+ /**
447
+ * Coerce `val`.
448
+ *
449
+ * @param {Mixed} val
450
+ * @return {Mixed}
451
+ * @api private
452
+ */
453
+ function coerce(val) {
454
+ if (val instanceof Error) {
455
+ return val.stack || val.message;
456
+ }
457
+ return val;
458
+ }
459
+
460
+ /**
461
+ * XXX DO NOT USE. This is a temporary stub function.
462
+ * XXX It WILL be removed in the next major release.
463
+ */
464
+ function destroy() {
465
+ console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
466
+ }
467
+
468
+ createDebug.enable(createDebug.load());
469
+
470
+ return createDebug;
471
+ }
472
+
473
+ var common$1 = setup;
474
+
475
+ /* eslint-env browser */
476
+
477
+ (function (module, exports) {
478
+ /**
479
+ * This is the web browser implementation of `debug()`.
480
+ */
481
+
482
+ exports.formatArgs = formatArgs;
483
+ exports.save = save;
484
+ exports.load = load;
485
+ exports.useColors = useColors;
486
+ exports.storage = localstorage();
487
+ exports.destroy = (() => {
488
+ let warned = false;
489
+
490
+ return () => {
491
+ if (!warned) {
492
+ warned = true;
493
+ console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
494
+ }
495
+ };
496
+ })();
497
+
498
+ /**
499
+ * Colors.
500
+ */
501
+
502
+ exports.colors = [
503
+ '#0000CC',
504
+ '#0000FF',
505
+ '#0033CC',
506
+ '#0033FF',
507
+ '#0066CC',
508
+ '#0066FF',
509
+ '#0099CC',
510
+ '#0099FF',
511
+ '#00CC00',
512
+ '#00CC33',
513
+ '#00CC66',
514
+ '#00CC99',
515
+ '#00CCCC',
516
+ '#00CCFF',
517
+ '#3300CC',
518
+ '#3300FF',
519
+ '#3333CC',
520
+ '#3333FF',
521
+ '#3366CC',
522
+ '#3366FF',
523
+ '#3399CC',
524
+ '#3399FF',
525
+ '#33CC00',
526
+ '#33CC33',
527
+ '#33CC66',
528
+ '#33CC99',
529
+ '#33CCCC',
530
+ '#33CCFF',
531
+ '#6600CC',
532
+ '#6600FF',
533
+ '#6633CC',
534
+ '#6633FF',
535
+ '#66CC00',
536
+ '#66CC33',
537
+ '#9900CC',
538
+ '#9900FF',
539
+ '#9933CC',
540
+ '#9933FF',
541
+ '#99CC00',
542
+ '#99CC33',
543
+ '#CC0000',
544
+ '#CC0033',
545
+ '#CC0066',
546
+ '#CC0099',
547
+ '#CC00CC',
548
+ '#CC00FF',
549
+ '#CC3300',
550
+ '#CC3333',
551
+ '#CC3366',
552
+ '#CC3399',
553
+ '#CC33CC',
554
+ '#CC33FF',
555
+ '#CC6600',
556
+ '#CC6633',
557
+ '#CC9900',
558
+ '#CC9933',
559
+ '#CCCC00',
560
+ '#CCCC33',
561
+ '#FF0000',
562
+ '#FF0033',
563
+ '#FF0066',
564
+ '#FF0099',
565
+ '#FF00CC',
566
+ '#FF00FF',
567
+ '#FF3300',
568
+ '#FF3333',
569
+ '#FF3366',
570
+ '#FF3399',
571
+ '#FF33CC',
572
+ '#FF33FF',
573
+ '#FF6600',
574
+ '#FF6633',
575
+ '#FF9900',
576
+ '#FF9933',
577
+ '#FFCC00',
578
+ '#FFCC33'
579
+ ];
580
+
581
+ /**
582
+ * Currently only WebKit-based Web Inspectors, Firefox >= v31,
583
+ * and the Firebug extension (any Firefox version) are known
584
+ * to support "%c" CSS customizations.
585
+ *
586
+ * TODO: add a `localStorage` variable to explicitly enable/disable colors
587
+ */
588
+
589
+ // eslint-disable-next-line complexity
590
+ function useColors() {
591
+ // NB: In an Electron preload script, document will be defined but not fully
592
+ // initialized. Since we know we're in Chrome, we'll just detect this case
593
+ // explicitly
594
+ if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
595
+ return true;
596
+ }
597
+
598
+ // Internet Explorer and Edge do not support colors.
599
+ if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
600
+ return false;
601
+ }
602
+
603
+ // Is webkit? http://stackoverflow.com/a/16459606/376773
604
+ // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
605
+ return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
606
+ // Is firebug? http://stackoverflow.com/a/398120/376773
607
+ (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
608
+ // Is firefox >= v31?
609
+ // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
610
+ (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
611
+ // Double check webkit in userAgent just in case we are in a worker
612
+ (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
613
+ }
614
+
615
+ /**
616
+ * Colorize log arguments if enabled.
617
+ *
618
+ * @api public
619
+ */
620
+
621
+ function formatArgs(args) {
622
+ args[0] = (this.useColors ? '%c' : '') +
623
+ this.namespace +
624
+ (this.useColors ? ' %c' : ' ') +
625
+ args[0] +
626
+ (this.useColors ? '%c ' : ' ') +
627
+ '+' + module.exports.humanize(this.diff);
628
+
629
+ if (!this.useColors) {
630
+ return;
631
+ }
632
+
633
+ const c = 'color: ' + this.color;
634
+ args.splice(1, 0, c, 'color: inherit');
635
+
636
+ // The final "%c" is somewhat tricky, because there could be other
637
+ // arguments passed either before or after the %c, so we need to
638
+ // figure out the correct index to insert the CSS into
639
+ let index = 0;
640
+ let lastC = 0;
641
+ args[0].replace(/%[a-zA-Z%]/g, match => {
642
+ if (match === '%%') {
643
+ return;
644
+ }
645
+ index++;
646
+ if (match === '%c') {
647
+ // We only are interested in the *last* %c
648
+ // (the user may have provided their own)
649
+ lastC = index;
650
+ }
651
+ });
652
+
653
+ args.splice(lastC, 0, c);
654
+ }
655
+
656
+ /**
657
+ * Invokes `console.debug()` when available.
658
+ * No-op when `console.debug` is not a "function".
659
+ * If `console.debug` is not available, falls back
660
+ * to `console.log`.
661
+ *
662
+ * @api public
663
+ */
664
+ exports.log = console.debug || console.log || (() => {});
665
+
666
+ /**
667
+ * Save `namespaces`.
668
+ *
669
+ * @param {String} namespaces
670
+ * @api private
671
+ */
672
+ function save(namespaces) {
673
+ try {
674
+ if (namespaces) {
675
+ exports.storage.setItem('debug', namespaces);
676
+ } else {
677
+ exports.storage.removeItem('debug');
678
+ }
679
+ } catch (error) {
680
+ // Swallow
681
+ // XXX (@Qix-) should we be logging these?
682
+ }
683
+ }
684
+
685
+ /**
686
+ * Load `namespaces`.
687
+ *
688
+ * @return {String} returns the previously persisted debug modes
689
+ * @api private
690
+ */
691
+ function load() {
692
+ let r;
693
+ try {
694
+ r = exports.storage.getItem('debug');
695
+ } catch (error) {
696
+ // Swallow
697
+ // XXX (@Qix-) should we be logging these?
698
+ }
699
+
700
+ // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
701
+ if (!r && typeof process !== 'undefined' && 'env' in process) {
702
+ r = process.env.DEBUG;
703
+ }
704
+
705
+ return r;
706
+ }
707
+
708
+ /**
709
+ * Localstorage attempts to return the localstorage.
710
+ *
711
+ * This is necessary because safari throws
712
+ * when a user disables cookies/localstorage
713
+ * and you attempt to access it.
714
+ *
715
+ * @return {LocalStorage}
716
+ * @api private
717
+ */
718
+
719
+ function localstorage() {
720
+ try {
721
+ // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
722
+ // The Browser also has localStorage in the global context.
723
+ return localStorage;
724
+ } catch (error) {
725
+ // Swallow
726
+ // XXX (@Qix-) should we be logging these?
727
+ }
728
+ }
729
+
730
+ module.exports = common$1(exports);
731
+
732
+ const {formatters} = module.exports;
733
+
734
+ /**
735
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
736
+ */
737
+
738
+ formatters.j = function (v) {
739
+ try {
740
+ return JSON.stringify(v);
741
+ } catch (error) {
742
+ return '[UnexpectedJSONParseError]: ' + error.message;
743
+ }
744
+ };
745
+ } (browser, browser.exports));
746
+
747
+ var debug = browser.exports;
748
+
749
+ var aspromise = asPromise;
191
750
 
192
- /**
193
- * Decodes a base64 encoded string to a buffer.
194
- * @param {string} string Source string
195
- * @param {Uint8Array} buffer Destination buffer
196
- * @param {number} offset Destination offset
197
- * @returns {number} Number of bytes written
198
- * @throws {Error} If encoding is invalid
199
- */
200
- base64.decode = function decode(string, buffer, offset) {
201
- var start = offset;
202
- var j = 0, // goto index
203
- t; // temporary
204
- for (var i = 0; i < string.length;) {
205
- var c = string.charCodeAt(i++);
206
- if (c === 61 && j > 1)
207
- break;
208
- if ((c = s64[c]) === undefined)
209
- throw Error(invalidEncoding);
210
- switch (j) {
211
- case 0:
212
- t = c;
213
- j = 1;
214
- break;
215
- case 1:
216
- buffer[offset++] = t << 2 | (c & 48) >> 4;
217
- t = c;
218
- j = 2;
219
- break;
220
- case 2:
221
- buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
222
- t = c;
223
- j = 3;
224
- break;
225
- case 3:
226
- buffer[offset++] = (t & 3) << 6 | c;
227
- j = 0;
228
- break;
229
- }
230
- }
231
- if (j === 1)
232
- throw Error(invalidEncoding);
233
- return offset - start;
234
- };
751
+ /**
752
+ * Callback as used by {@link util.asPromise}.
753
+ * @typedef asPromiseCallback
754
+ * @type {function}
755
+ * @param {Error|null} error Error, if any
756
+ * @param {...*} params Additional arguments
757
+ * @returns {undefined}
758
+ */
235
759
 
236
- /**
237
- * Tests if the specified string appears to be base64 encoded.
238
- * @param {string} string String to test
239
- * @returns {boolean} `true` if probably base64 encoded, otherwise false
240
- */
241
- base64.test = function test(string) {
242
- return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);
243
- };
244
- } (base64$1));
245
- return base64$1;
760
+ /**
761
+ * Returns a promise from a node-style callback function.
762
+ * @memberof util
763
+ * @param {asPromiseCallback} fn Function to call
764
+ * @param {*} ctx Function context
765
+ * @param {...*} params Function arguments
766
+ * @returns {Promise<*>} Promisified function
767
+ */
768
+ function asPromise(fn, ctx/*, varargs */) {
769
+ var params = new Array(arguments.length - 1),
770
+ offset = 0,
771
+ index = 2,
772
+ pending = true;
773
+ while (index < arguments.length)
774
+ params[offset++] = arguments[index++];
775
+ return new Promise(function executor(resolve, reject) {
776
+ params[offset] = function callback(err/*, varargs */) {
777
+ if (pending) {
778
+ pending = false;
779
+ if (err)
780
+ reject(err);
781
+ else {
782
+ var params = new Array(arguments.length - 1),
783
+ offset = 0;
784
+ while (offset < params.length)
785
+ params[offset++] = arguments[offset];
786
+ resolve.apply(null, params);
787
+ }
788
+ }
789
+ };
790
+ try {
791
+ fn.apply(ctx || null, params);
792
+ } catch (err) {
793
+ if (pending) {
794
+ pending = false;
795
+ reject(err);
796
+ }
797
+ }
798
+ });
246
799
  }
247
800
 
248
- var eventemitter;
249
- var hasRequiredEventemitter;
801
+ var base64$1 = {};
250
802
 
251
- function requireEventemitter () {
252
- if (hasRequiredEventemitter) return eventemitter;
253
- hasRequiredEventemitter = 1;
254
- eventemitter = EventEmitter;
803
+ (function (exports) {
255
804
 
256
805
  /**
257
- * Constructs a new event emitter instance.
258
- * @classdesc A minimal event emitter.
806
+ * A minimal base64 implementation for number arrays.
259
807
  * @memberof util
260
- * @constructor
808
+ * @namespace
261
809
  */
262
- function EventEmitter() {
263
-
264
- /**
265
- * Registered listeners.
266
- * @type {Object.<string,*>}
267
- * @private
268
- */
269
- this._listeners = {};
270
- }
810
+ var base64 = exports;
271
811
 
272
812
  /**
273
- * Registers an event listener.
274
- * @param {string} evt Event name
275
- * @param {function} fn Listener
276
- * @param {*} [ctx] Listener context
277
- * @returns {util.EventEmitter} `this`
813
+ * Calculates the byte length of a base64 encoded string.
814
+ * @param {string} string Base64 encoded string
815
+ * @returns {number} Byte length
278
816
  */
279
- EventEmitter.prototype.on = function on(evt, fn, ctx) {
280
- (this._listeners[evt] || (this._listeners[evt] = [])).push({
281
- fn : fn,
282
- ctx : ctx || this
283
- });
284
- return this;
817
+ base64.length = function length(string) {
818
+ var p = string.length;
819
+ if (!p)
820
+ return 0;
821
+ var n = 0;
822
+ while (--p % 4 > 1 && string.charAt(p) === "=")
823
+ ++n;
824
+ return Math.ceil(string.length * 3) / 4 - n;
285
825
  };
286
826
 
827
+ // Base64 encoding table
828
+ var b64 = new Array(64);
829
+
830
+ // Base64 decoding table
831
+ var s64 = new Array(123);
832
+
833
+ // 65..90, 97..122, 48..57, 43, 47
834
+ for (var i = 0; i < 64;)
835
+ s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;
836
+
287
837
  /**
288
- * Removes an event listener or any matching listeners if arguments are omitted.
289
- * @param {string} [evt] Event name. Removes all listeners if omitted.
290
- * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
291
- * @returns {util.EventEmitter} `this`
838
+ * Encodes a buffer to a base64 encoded string.
839
+ * @param {Uint8Array} buffer Source buffer
840
+ * @param {number} start Source start
841
+ * @param {number} end Source end
842
+ * @returns {string} Base64 encoded string
292
843
  */
293
- EventEmitter.prototype.off = function off(evt, fn) {
294
- if (evt === undefined)
295
- this._listeners = {};
296
- else {
297
- if (fn === undefined)
298
- this._listeners[evt] = [];
299
- else {
300
- var listeners = this._listeners[evt];
301
- for (var i = 0; i < listeners.length;)
302
- if (listeners[i].fn === fn)
303
- listeners.splice(i, 1);
304
- else
305
- ++i;
844
+ base64.encode = function encode(buffer, start, end) {
845
+ var parts = null,
846
+ chunk = [];
847
+ var i = 0, // output index
848
+ j = 0, // goto index
849
+ t; // temporary
850
+ while (start < end) {
851
+ var b = buffer[start++];
852
+ switch (j) {
853
+ case 0:
854
+ chunk[i++] = b64[b >> 2];
855
+ t = (b & 3) << 4;
856
+ j = 1;
857
+ break;
858
+ case 1:
859
+ chunk[i++] = b64[t | b >> 4];
860
+ t = (b & 15) << 2;
861
+ j = 2;
862
+ break;
863
+ case 2:
864
+ chunk[i++] = b64[t | b >> 6];
865
+ chunk[i++] = b64[b & 63];
866
+ j = 0;
867
+ break;
868
+ }
869
+ if (i > 8191) {
870
+ (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
871
+ i = 0;
306
872
  }
307
873
  }
308
- return this;
309
- };
310
-
311
- /**
312
- * Emits an event by calling its listeners with the specified arguments.
313
- * @param {string} evt Event name
314
- * @param {...*} args Arguments
315
- * @returns {util.EventEmitter} `this`
316
- */
317
- EventEmitter.prototype.emit = function emit(evt) {
318
- var listeners = this._listeners[evt];
319
- if (listeners) {
320
- var args = [],
321
- i = 1;
322
- for (; i < arguments.length;)
323
- args.push(arguments[i++]);
324
- for (i = 0; i < listeners.length;)
325
- listeners[i].fn.apply(listeners[i++].ctx, args);
874
+ if (j) {
875
+ chunk[i++] = b64[t];
876
+ chunk[i++] = 61;
877
+ if (j === 1)
878
+ chunk[i++] = 61;
326
879
  }
327
- return this;
328
- };
329
- return eventemitter;
330
- }
331
-
332
- var float;
333
- var hasRequiredFloat;
334
-
335
- function requireFloat () {
336
- if (hasRequiredFloat) return float;
337
- hasRequiredFloat = 1;
880
+ if (parts) {
881
+ if (i)
882
+ parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
883
+ return parts.join("");
884
+ }
885
+ return String.fromCharCode.apply(String, chunk.slice(0, i));
886
+ };
338
887
 
339
- float = factory(factory);
888
+ var invalidEncoding = "invalid encoding";
340
889
 
341
890
  /**
342
- * Reads / writes floats / doubles from / to buffers.
343
- * @name util.float
344
- * @namespace
891
+ * Decodes a base64 encoded string to a buffer.
892
+ * @param {string} string Source string
893
+ * @param {Uint8Array} buffer Destination buffer
894
+ * @param {number} offset Destination offset
895
+ * @returns {number} Number of bytes written
896
+ * @throws {Error} If encoding is invalid
345
897
  */
898
+ base64.decode = function decode(string, buffer, offset) {
899
+ var start = offset;
900
+ var j = 0, // goto index
901
+ t; // temporary
902
+ for (var i = 0; i < string.length;) {
903
+ var c = string.charCodeAt(i++);
904
+ if (c === 61 && j > 1)
905
+ break;
906
+ if ((c = s64[c]) === undefined)
907
+ throw Error(invalidEncoding);
908
+ switch (j) {
909
+ case 0:
910
+ t = c;
911
+ j = 1;
912
+ break;
913
+ case 1:
914
+ buffer[offset++] = t << 2 | (c & 48) >> 4;
915
+ t = c;
916
+ j = 2;
917
+ break;
918
+ case 2:
919
+ buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
920
+ t = c;
921
+ j = 3;
922
+ break;
923
+ case 3:
924
+ buffer[offset++] = (t & 3) << 6 | c;
925
+ j = 0;
926
+ break;
927
+ }
928
+ }
929
+ if (j === 1)
930
+ throw Error(invalidEncoding);
931
+ return offset - start;
932
+ };
346
933
 
347
934
  /**
348
- * Writes a 32 bit float to a buffer using little endian byte order.
349
- * @name util.float.writeFloatLE
350
- * @function
351
- * @param {number} val Value to write
352
- * @param {Uint8Array} buf Target buffer
353
- * @param {number} pos Target buffer offset
354
- * @returns {undefined}
935
+ * Tests if the specified string appears to be base64 encoded.
936
+ * @param {string} string String to test
937
+ * @returns {boolean} `true` if probably base64 encoded, otherwise false
355
938
  */
939
+ base64.test = function test(string) {
940
+ return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);
941
+ };
942
+ } (base64$1));
943
+
944
+ var eventemitter = EventEmitter;
356
945
 
357
- /**
358
- * Writes a 32 bit float to a buffer using big endian byte order.
359
- * @name util.float.writeFloatBE
360
- * @function
361
- * @param {number} val Value to write
362
- * @param {Uint8Array} buf Target buffer
363
- * @param {number} pos Target buffer offset
364
- * @returns {undefined}
365
- */
946
+ /**
947
+ * Constructs a new event emitter instance.
948
+ * @classdesc A minimal event emitter.
949
+ * @memberof util
950
+ * @constructor
951
+ */
952
+ function EventEmitter() {
366
953
 
367
- /**
368
- * Reads a 32 bit float from a buffer using little endian byte order.
369
- * @name util.float.readFloatLE
370
- * @function
371
- * @param {Uint8Array} buf Source buffer
372
- * @param {number} pos Source buffer offset
373
- * @returns {number} Value read
374
- */
954
+ /**
955
+ * Registered listeners.
956
+ * @type {Object.<string,*>}
957
+ * @private
958
+ */
959
+ this._listeners = {};
960
+ }
375
961
 
376
- /**
377
- * Reads a 32 bit float from a buffer using big endian byte order.
378
- * @name util.float.readFloatBE
379
- * @function
380
- * @param {Uint8Array} buf Source buffer
381
- * @param {number} pos Source buffer offset
382
- * @returns {number} Value read
383
- */
962
+ /**
963
+ * Registers an event listener.
964
+ * @param {string} evt Event name
965
+ * @param {function} fn Listener
966
+ * @param {*} [ctx] Listener context
967
+ * @returns {util.EventEmitter} `this`
968
+ */
969
+ EventEmitter.prototype.on = function on(evt, fn, ctx) {
970
+ (this._listeners[evt] || (this._listeners[evt] = [])).push({
971
+ fn : fn,
972
+ ctx : ctx || this
973
+ });
974
+ return this;
975
+ };
384
976
 
385
- /**
386
- * Writes a 64 bit double to a buffer using little endian byte order.
387
- * @name util.float.writeDoubleLE
388
- * @function
389
- * @param {number} val Value to write
390
- * @param {Uint8Array} buf Target buffer
391
- * @param {number} pos Target buffer offset
392
- * @returns {undefined}
393
- */
977
+ /**
978
+ * Removes an event listener or any matching listeners if arguments are omitted.
979
+ * @param {string} [evt] Event name. Removes all listeners if omitted.
980
+ * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
981
+ * @returns {util.EventEmitter} `this`
982
+ */
983
+ EventEmitter.prototype.off = function off(evt, fn) {
984
+ if (evt === undefined)
985
+ this._listeners = {};
986
+ else {
987
+ if (fn === undefined)
988
+ this._listeners[evt] = [];
989
+ else {
990
+ var listeners = this._listeners[evt];
991
+ for (var i = 0; i < listeners.length;)
992
+ if (listeners[i].fn === fn)
993
+ listeners.splice(i, 1);
994
+ else
995
+ ++i;
996
+ }
997
+ }
998
+ return this;
999
+ };
394
1000
 
395
- /**
396
- * Writes a 64 bit double to a buffer using big endian byte order.
397
- * @name util.float.writeDoubleBE
398
- * @function
399
- * @param {number} val Value to write
400
- * @param {Uint8Array} buf Target buffer
401
- * @param {number} pos Target buffer offset
402
- * @returns {undefined}
403
- */
1001
+ /**
1002
+ * Emits an event by calling its listeners with the specified arguments.
1003
+ * @param {string} evt Event name
1004
+ * @param {...*} args Arguments
1005
+ * @returns {util.EventEmitter} `this`
1006
+ */
1007
+ EventEmitter.prototype.emit = function emit(evt) {
1008
+ var listeners = this._listeners[evt];
1009
+ if (listeners) {
1010
+ var args = [],
1011
+ i = 1;
1012
+ for (; i < arguments.length;)
1013
+ args.push(arguments[i++]);
1014
+ for (i = 0; i < listeners.length;)
1015
+ listeners[i].fn.apply(listeners[i++].ctx, args);
1016
+ }
1017
+ return this;
1018
+ };
1019
+
1020
+ var float = factory(factory);
404
1021
 
405
- /**
406
- * Reads a 64 bit double from a buffer using little endian byte order.
407
- * @name util.float.readDoubleLE
408
- * @function
409
- * @param {Uint8Array} buf Source buffer
410
- * @param {number} pos Source buffer offset
411
- * @returns {number} Value read
412
- */
1022
+ /**
1023
+ * Reads / writes floats / doubles from / to buffers.
1024
+ * @name util.float
1025
+ * @namespace
1026
+ */
413
1027
 
414
- /**
415
- * Reads a 64 bit double from a buffer using big endian byte order.
416
- * @name util.float.readDoubleBE
417
- * @function
418
- * @param {Uint8Array} buf Source buffer
419
- * @param {number} pos Source buffer offset
420
- * @returns {number} Value read
421
- */
1028
+ /**
1029
+ * Writes a 32 bit float to a buffer using little endian byte order.
1030
+ * @name util.float.writeFloatLE
1031
+ * @function
1032
+ * @param {number} val Value to write
1033
+ * @param {Uint8Array} buf Target buffer
1034
+ * @param {number} pos Target buffer offset
1035
+ * @returns {undefined}
1036
+ */
422
1037
 
423
- // Factory function for the purpose of node-based testing in modified global environments
424
- function factory(exports) {
1038
+ /**
1039
+ * Writes a 32 bit float to a buffer using big endian byte order.
1040
+ * @name util.float.writeFloatBE
1041
+ * @function
1042
+ * @param {number} val Value to write
1043
+ * @param {Uint8Array} buf Target buffer
1044
+ * @param {number} pos Target buffer offset
1045
+ * @returns {undefined}
1046
+ */
425
1047
 
426
- // float: typed array
427
- if (typeof Float32Array !== "undefined") (function() {
1048
+ /**
1049
+ * Reads a 32 bit float from a buffer using little endian byte order.
1050
+ * @name util.float.readFloatLE
1051
+ * @function
1052
+ * @param {Uint8Array} buf Source buffer
1053
+ * @param {number} pos Source buffer offset
1054
+ * @returns {number} Value read
1055
+ */
428
1056
 
429
- var f32 = new Float32Array([ -0 ]),
430
- f8b = new Uint8Array(f32.buffer),
431
- le = f8b[3] === 128;
1057
+ /**
1058
+ * Reads a 32 bit float from a buffer using big endian byte order.
1059
+ * @name util.float.readFloatBE
1060
+ * @function
1061
+ * @param {Uint8Array} buf Source buffer
1062
+ * @param {number} pos Source buffer offset
1063
+ * @returns {number} Value read
1064
+ */
432
1065
 
433
- function writeFloat_f32_cpy(val, buf, pos) {
434
- f32[0] = val;
435
- buf[pos ] = f8b[0];
436
- buf[pos + 1] = f8b[1];
437
- buf[pos + 2] = f8b[2];
438
- buf[pos + 3] = f8b[3];
439
- }
1066
+ /**
1067
+ * Writes a 64 bit double to a buffer using little endian byte order.
1068
+ * @name util.float.writeDoubleLE
1069
+ * @function
1070
+ * @param {number} val Value to write
1071
+ * @param {Uint8Array} buf Target buffer
1072
+ * @param {number} pos Target buffer offset
1073
+ * @returns {undefined}
1074
+ */
440
1075
 
441
- function writeFloat_f32_rev(val, buf, pos) {
442
- f32[0] = val;
443
- buf[pos ] = f8b[3];
444
- buf[pos + 1] = f8b[2];
445
- buf[pos + 2] = f8b[1];
446
- buf[pos + 3] = f8b[0];
447
- }
1076
+ /**
1077
+ * Writes a 64 bit double to a buffer using big endian byte order.
1078
+ * @name util.float.writeDoubleBE
1079
+ * @function
1080
+ * @param {number} val Value to write
1081
+ * @param {Uint8Array} buf Target buffer
1082
+ * @param {number} pos Target buffer offset
1083
+ * @returns {undefined}
1084
+ */
448
1085
 
449
- /* istanbul ignore next */
450
- exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;
451
- /* istanbul ignore next */
452
- exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;
1086
+ /**
1087
+ * Reads a 64 bit double from a buffer using little endian byte order.
1088
+ * @name util.float.readDoubleLE
1089
+ * @function
1090
+ * @param {Uint8Array} buf Source buffer
1091
+ * @param {number} pos Source buffer offset
1092
+ * @returns {number} Value read
1093
+ */
453
1094
 
454
- function readFloat_f32_cpy(buf, pos) {
455
- f8b[0] = buf[pos ];
456
- f8b[1] = buf[pos + 1];
457
- f8b[2] = buf[pos + 2];
458
- f8b[3] = buf[pos + 3];
459
- return f32[0];
460
- }
1095
+ /**
1096
+ * Reads a 64 bit double from a buffer using big endian byte order.
1097
+ * @name util.float.readDoubleBE
1098
+ * @function
1099
+ * @param {Uint8Array} buf Source buffer
1100
+ * @param {number} pos Source buffer offset
1101
+ * @returns {number} Value read
1102
+ */
461
1103
 
462
- function readFloat_f32_rev(buf, pos) {
463
- f8b[3] = buf[pos ];
464
- f8b[2] = buf[pos + 1];
465
- f8b[1] = buf[pos + 2];
466
- f8b[0] = buf[pos + 3];
467
- return f32[0];
468
- }
1104
+ // Factory function for the purpose of node-based testing in modified global environments
1105
+ function factory(exports) {
469
1106
 
470
- /* istanbul ignore next */
471
- exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;
472
- /* istanbul ignore next */
473
- exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
1107
+ // float: typed array
1108
+ if (typeof Float32Array !== "undefined") (function() {
474
1109
 
475
- // float: ieee754
476
- })(); else (function() {
1110
+ var f32 = new Float32Array([ -0 ]),
1111
+ f8b = new Uint8Array(f32.buffer),
1112
+ le = f8b[3] === 128;
477
1113
 
478
- function writeFloat_ieee754(writeUint, val, buf, pos) {
479
- var sign = val < 0 ? 1 : 0;
480
- if (sign)
481
- val = -val;
482
- if (val === 0)
483
- writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
484
- else if (isNaN(val))
485
- writeUint(2143289344, buf, pos);
486
- else if (val > 3.4028234663852886e+38) // +-Infinity
487
- writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
488
- else if (val < 1.1754943508222875e-38) // denormal
489
- writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
490
- else {
491
- var exponent = Math.floor(Math.log(val) / Math.LN2),
492
- mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
493
- writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
494
- }
495
- }
1114
+ function writeFloat_f32_cpy(val, buf, pos) {
1115
+ f32[0] = val;
1116
+ buf[pos ] = f8b[0];
1117
+ buf[pos + 1] = f8b[1];
1118
+ buf[pos + 2] = f8b[2];
1119
+ buf[pos + 3] = f8b[3];
1120
+ }
496
1121
 
497
- exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);
498
- exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);
1122
+ function writeFloat_f32_rev(val, buf, pos) {
1123
+ f32[0] = val;
1124
+ buf[pos ] = f8b[3];
1125
+ buf[pos + 1] = f8b[2];
1126
+ buf[pos + 2] = f8b[1];
1127
+ buf[pos + 3] = f8b[0];
1128
+ }
499
1129
 
500
- function readFloat_ieee754(readUint, buf, pos) {
501
- var uint = readUint(buf, pos),
502
- sign = (uint >> 31) * 2 + 1,
503
- exponent = uint >>> 23 & 255,
504
- mantissa = uint & 8388607;
505
- return exponent === 255
506
- ? mantissa
507
- ? NaN
508
- : sign * Infinity
509
- : exponent === 0 // denormal
510
- ? sign * 1.401298464324817e-45 * mantissa
511
- : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
512
- }
1130
+ /* istanbul ignore next */
1131
+ exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;
1132
+ /* istanbul ignore next */
1133
+ exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;
513
1134
 
514
- exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);
515
- exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);
1135
+ function readFloat_f32_cpy(buf, pos) {
1136
+ f8b[0] = buf[pos ];
1137
+ f8b[1] = buf[pos + 1];
1138
+ f8b[2] = buf[pos + 2];
1139
+ f8b[3] = buf[pos + 3];
1140
+ return f32[0];
1141
+ }
516
1142
 
517
- })();
1143
+ function readFloat_f32_rev(buf, pos) {
1144
+ f8b[3] = buf[pos ];
1145
+ f8b[2] = buf[pos + 1];
1146
+ f8b[1] = buf[pos + 2];
1147
+ f8b[0] = buf[pos + 3];
1148
+ return f32[0];
1149
+ }
518
1150
 
519
- // double: typed array
520
- if (typeof Float64Array !== "undefined") (function() {
1151
+ /* istanbul ignore next */
1152
+ exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;
1153
+ /* istanbul ignore next */
1154
+ exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
521
1155
 
522
- var f64 = new Float64Array([-0]),
523
- f8b = new Uint8Array(f64.buffer),
524
- le = f8b[7] === 128;
1156
+ // float: ieee754
1157
+ })(); else (function() {
525
1158
 
526
- function writeDouble_f64_cpy(val, buf, pos) {
527
- f64[0] = val;
528
- buf[pos ] = f8b[0];
529
- buf[pos + 1] = f8b[1];
530
- buf[pos + 2] = f8b[2];
531
- buf[pos + 3] = f8b[3];
532
- buf[pos + 4] = f8b[4];
533
- buf[pos + 5] = f8b[5];
534
- buf[pos + 6] = f8b[6];
535
- buf[pos + 7] = f8b[7];
536
- }
1159
+ function writeFloat_ieee754(writeUint, val, buf, pos) {
1160
+ var sign = val < 0 ? 1 : 0;
1161
+ if (sign)
1162
+ val = -val;
1163
+ if (val === 0)
1164
+ writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
1165
+ else if (isNaN(val))
1166
+ writeUint(2143289344, buf, pos);
1167
+ else if (val > 3.4028234663852886e+38) // +-Infinity
1168
+ writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
1169
+ else if (val < 1.1754943508222875e-38) // denormal
1170
+ writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
1171
+ else {
1172
+ var exponent = Math.floor(Math.log(val) / Math.LN2),
1173
+ mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
1174
+ writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
1175
+ }
1176
+ }
537
1177
 
538
- function writeDouble_f64_rev(val, buf, pos) {
539
- f64[0] = val;
540
- buf[pos ] = f8b[7];
541
- buf[pos + 1] = f8b[6];
542
- buf[pos + 2] = f8b[5];
543
- buf[pos + 3] = f8b[4];
544
- buf[pos + 4] = f8b[3];
545
- buf[pos + 5] = f8b[2];
546
- buf[pos + 6] = f8b[1];
547
- buf[pos + 7] = f8b[0];
548
- }
1178
+ exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);
1179
+ exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);
549
1180
 
550
- /* istanbul ignore next */
551
- exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;
552
- /* istanbul ignore next */
553
- exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;
1181
+ function readFloat_ieee754(readUint, buf, pos) {
1182
+ var uint = readUint(buf, pos),
1183
+ sign = (uint >> 31) * 2 + 1,
1184
+ exponent = uint >>> 23 & 255,
1185
+ mantissa = uint & 8388607;
1186
+ return exponent === 255
1187
+ ? mantissa
1188
+ ? NaN
1189
+ : sign * Infinity
1190
+ : exponent === 0 // denormal
1191
+ ? sign * 1.401298464324817e-45 * mantissa
1192
+ : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
1193
+ }
554
1194
 
555
- function readDouble_f64_cpy(buf, pos) {
556
- f8b[0] = buf[pos ];
557
- f8b[1] = buf[pos + 1];
558
- f8b[2] = buf[pos + 2];
559
- f8b[3] = buf[pos + 3];
560
- f8b[4] = buf[pos + 4];
561
- f8b[5] = buf[pos + 5];
562
- f8b[6] = buf[pos + 6];
563
- f8b[7] = buf[pos + 7];
564
- return f64[0];
565
- }
1195
+ exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);
1196
+ exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);
566
1197
 
567
- function readDouble_f64_rev(buf, pos) {
568
- f8b[7] = buf[pos ];
569
- f8b[6] = buf[pos + 1];
570
- f8b[5] = buf[pos + 2];
571
- f8b[4] = buf[pos + 3];
572
- f8b[3] = buf[pos + 4];
573
- f8b[2] = buf[pos + 5];
574
- f8b[1] = buf[pos + 6];
575
- f8b[0] = buf[pos + 7];
576
- return f64[0];
577
- }
1198
+ })();
578
1199
 
579
- /* istanbul ignore next */
580
- exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
581
- /* istanbul ignore next */
582
- exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
1200
+ // double: typed array
1201
+ if (typeof Float64Array !== "undefined") (function() {
583
1202
 
584
- // double: ieee754
585
- })(); else (function() {
1203
+ var f64 = new Float64Array([-0]),
1204
+ f8b = new Uint8Array(f64.buffer),
1205
+ le = f8b[7] === 128;
586
1206
 
587
- function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
588
- var sign = val < 0 ? 1 : 0;
589
- if (sign)
590
- val = -val;
591
- if (val === 0) {
592
- writeUint(0, buf, pos + off0);
593
- writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
594
- } else if (isNaN(val)) {
595
- writeUint(0, buf, pos + off0);
596
- writeUint(2146959360, buf, pos + off1);
597
- } else if (val > 1.7976931348623157e+308) { // +-Infinity
598
- writeUint(0, buf, pos + off0);
599
- writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
600
- } else {
601
- var mantissa;
602
- if (val < 2.2250738585072014e-308) { // denormal
603
- mantissa = val / 5e-324;
604
- writeUint(mantissa >>> 0, buf, pos + off0);
605
- writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
606
- } else {
607
- var exponent = Math.floor(Math.log(val) / Math.LN2);
608
- if (exponent === 1024)
609
- exponent = 1023;
610
- mantissa = val * Math.pow(2, -exponent);
611
- writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
612
- writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
613
- }
614
- }
615
- }
1207
+ function writeDouble_f64_cpy(val, buf, pos) {
1208
+ f64[0] = val;
1209
+ buf[pos ] = f8b[0];
1210
+ buf[pos + 1] = f8b[1];
1211
+ buf[pos + 2] = f8b[2];
1212
+ buf[pos + 3] = f8b[3];
1213
+ buf[pos + 4] = f8b[4];
1214
+ buf[pos + 5] = f8b[5];
1215
+ buf[pos + 6] = f8b[6];
1216
+ buf[pos + 7] = f8b[7];
1217
+ }
616
1218
 
617
- exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);
618
- exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);
1219
+ function writeDouble_f64_rev(val, buf, pos) {
1220
+ f64[0] = val;
1221
+ buf[pos ] = f8b[7];
1222
+ buf[pos + 1] = f8b[6];
1223
+ buf[pos + 2] = f8b[5];
1224
+ buf[pos + 3] = f8b[4];
1225
+ buf[pos + 4] = f8b[3];
1226
+ buf[pos + 5] = f8b[2];
1227
+ buf[pos + 6] = f8b[1];
1228
+ buf[pos + 7] = f8b[0];
1229
+ }
619
1230
 
620
- function readDouble_ieee754(readUint, off0, off1, buf, pos) {
621
- var lo = readUint(buf, pos + off0),
622
- hi = readUint(buf, pos + off1);
623
- var sign = (hi >> 31) * 2 + 1,
624
- exponent = hi >>> 20 & 2047,
625
- mantissa = 4294967296 * (hi & 1048575) + lo;
626
- return exponent === 2047
627
- ? mantissa
628
- ? NaN
629
- : sign * Infinity
630
- : exponent === 0 // denormal
631
- ? sign * 5e-324 * mantissa
632
- : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
633
- }
1231
+ /* istanbul ignore next */
1232
+ exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;
1233
+ /* istanbul ignore next */
1234
+ exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;
634
1235
 
635
- exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);
636
- exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);
1236
+ function readDouble_f64_cpy(buf, pos) {
1237
+ f8b[0] = buf[pos ];
1238
+ f8b[1] = buf[pos + 1];
1239
+ f8b[2] = buf[pos + 2];
1240
+ f8b[3] = buf[pos + 3];
1241
+ f8b[4] = buf[pos + 4];
1242
+ f8b[5] = buf[pos + 5];
1243
+ f8b[6] = buf[pos + 6];
1244
+ f8b[7] = buf[pos + 7];
1245
+ return f64[0];
1246
+ }
637
1247
 
638
- })();
1248
+ function readDouble_f64_rev(buf, pos) {
1249
+ f8b[7] = buf[pos ];
1250
+ f8b[6] = buf[pos + 1];
1251
+ f8b[5] = buf[pos + 2];
1252
+ f8b[4] = buf[pos + 3];
1253
+ f8b[3] = buf[pos + 4];
1254
+ f8b[2] = buf[pos + 5];
1255
+ f8b[1] = buf[pos + 6];
1256
+ f8b[0] = buf[pos + 7];
1257
+ return f64[0];
1258
+ }
639
1259
 
640
- return exports;
641
- }
1260
+ /* istanbul ignore next */
1261
+ exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
1262
+ /* istanbul ignore next */
1263
+ exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
642
1264
 
643
- // uint helpers
1265
+ // double: ieee754
1266
+ })(); else (function() {
644
1267
 
645
- function writeUintLE(val, buf, pos) {
646
- buf[pos ] = val & 255;
647
- buf[pos + 1] = val >>> 8 & 255;
648
- buf[pos + 2] = val >>> 16 & 255;
649
- buf[pos + 3] = val >>> 24;
650
- }
1268
+ function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
1269
+ var sign = val < 0 ? 1 : 0;
1270
+ if (sign)
1271
+ val = -val;
1272
+ if (val === 0) {
1273
+ writeUint(0, buf, pos + off0);
1274
+ writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
1275
+ } else if (isNaN(val)) {
1276
+ writeUint(0, buf, pos + off0);
1277
+ writeUint(2146959360, buf, pos + off1);
1278
+ } else if (val > 1.7976931348623157e+308) { // +-Infinity
1279
+ writeUint(0, buf, pos + off0);
1280
+ writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
1281
+ } else {
1282
+ var mantissa;
1283
+ if (val < 2.2250738585072014e-308) { // denormal
1284
+ mantissa = val / 5e-324;
1285
+ writeUint(mantissa >>> 0, buf, pos + off0);
1286
+ writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
1287
+ } else {
1288
+ var exponent = Math.floor(Math.log(val) / Math.LN2);
1289
+ if (exponent === 1024)
1290
+ exponent = 1023;
1291
+ mantissa = val * Math.pow(2, -exponent);
1292
+ writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
1293
+ writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
1294
+ }
1295
+ }
1296
+ }
651
1297
 
652
- function writeUintBE(val, buf, pos) {
653
- buf[pos ] = val >>> 24;
654
- buf[pos + 1] = val >>> 16 & 255;
655
- buf[pos + 2] = val >>> 8 & 255;
656
- buf[pos + 3] = val & 255;
657
- }
1298
+ exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);
1299
+ exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);
658
1300
 
659
- function readUintLE(buf, pos) {
660
- return (buf[pos ]
661
- | buf[pos + 1] << 8
662
- | buf[pos + 2] << 16
663
- | buf[pos + 3] << 24) >>> 0;
664
- }
1301
+ function readDouble_ieee754(readUint, off0, off1, buf, pos) {
1302
+ var lo = readUint(buf, pos + off0),
1303
+ hi = readUint(buf, pos + off1);
1304
+ var sign = (hi >> 31) * 2 + 1,
1305
+ exponent = hi >>> 20 & 2047,
1306
+ mantissa = 4294967296 * (hi & 1048575) + lo;
1307
+ return exponent === 2047
1308
+ ? mantissa
1309
+ ? NaN
1310
+ : sign * Infinity
1311
+ : exponent === 0 // denormal
1312
+ ? sign * 5e-324 * mantissa
1313
+ : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
1314
+ }
665
1315
 
666
- function readUintBE(buf, pos) {
667
- return (buf[pos ] << 24
668
- | buf[pos + 1] << 16
669
- | buf[pos + 2] << 8
670
- | buf[pos + 3]) >>> 0;
671
- }
672
- return float;
673
- }
674
-
675
- var inquire_1;
676
- var hasRequiredInquire;
677
-
678
- function requireInquire () {
679
- if (hasRequiredInquire) return inquire_1;
680
- hasRequiredInquire = 1;
681
- inquire_1 = inquire;
1316
+ exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);
1317
+ exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);
682
1318
 
683
- /**
684
- * Requires a module only if available.
685
- * @memberof util
686
- * @param {string} moduleName Module to require
687
- * @returns {?Object} Required module if available and not empty, otherwise `null`
688
- */
689
- function inquire(moduleName) {
690
- try {
691
- var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval
692
- if (mod && (mod.length || Object.keys(mod).length))
693
- return mod;
694
- } catch (e) {} // eslint-disable-line no-empty
695
- return null;
696
- }
697
- return inquire_1;
698
- }
699
-
700
- var utf8$2 = {};
701
-
702
- var hasRequiredUtf8;
703
-
704
- function requireUtf8 () {
705
- if (hasRequiredUtf8) return utf8$2;
706
- hasRequiredUtf8 = 1;
707
- (function (exports) {
1319
+ })();
708
1320
 
709
- /**
710
- * A minimal UTF8 implementation for number arrays.
711
- * @memberof util
712
- * @namespace
713
- */
714
- var utf8 = exports;
1321
+ return exports;
1322
+ }
715
1323
 
716
- /**
717
- * Calculates the UTF8 byte length of a string.
718
- * @param {string} string String
719
- * @returns {number} Byte length
720
- */
721
- utf8.length = function utf8_length(string) {
722
- var len = 0,
723
- c = 0;
724
- for (var i = 0; i < string.length; ++i) {
725
- c = string.charCodeAt(i);
726
- if (c < 128)
727
- len += 1;
728
- else if (c < 2048)
729
- len += 2;
730
- else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
731
- ++i;
732
- len += 4;
733
- } else
734
- len += 3;
735
- }
736
- return len;
737
- };
1324
+ // uint helpers
738
1325
 
739
- /**
740
- * Reads UTF8 bytes as a string.
741
- * @param {Uint8Array} buffer Source buffer
742
- * @param {number} start Source start
743
- * @param {number} end Source end
744
- * @returns {string} String read
745
- */
746
- utf8.read = function utf8_read(buffer, start, end) {
747
- var len = end - start;
748
- if (len < 1)
749
- return "";
750
- var parts = null,
751
- chunk = [],
752
- i = 0, // char offset
753
- t; // temporary
754
- while (start < end) {
755
- t = buffer[start++];
756
- if (t < 128)
757
- chunk[i++] = t;
758
- else if (t > 191 && t < 224)
759
- chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;
760
- else if (t > 239 && t < 365) {
761
- t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;
762
- chunk[i++] = 0xD800 + (t >> 10);
763
- chunk[i++] = 0xDC00 + (t & 1023);
764
- } else
765
- chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;
766
- if (i > 8191) {
767
- (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
768
- i = 0;
769
- }
770
- }
771
- if (parts) {
772
- if (i)
773
- parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
774
- return parts.join("");
775
- }
776
- return String.fromCharCode.apply(String, chunk.slice(0, i));
777
- };
1326
+ function writeUintLE(val, buf, pos) {
1327
+ buf[pos ] = val & 255;
1328
+ buf[pos + 1] = val >>> 8 & 255;
1329
+ buf[pos + 2] = val >>> 16 & 255;
1330
+ buf[pos + 3] = val >>> 24;
1331
+ }
778
1332
 
779
- /**
780
- * Writes a string as UTF8 bytes.
781
- * @param {string} string Source string
782
- * @param {Uint8Array} buffer Destination buffer
783
- * @param {number} offset Destination offset
784
- * @returns {number} Bytes written
785
- */
786
- utf8.write = function utf8_write(string, buffer, offset) {
787
- var start = offset,
788
- c1, // character 1
789
- c2; // character 2
790
- for (var i = 0; i < string.length; ++i) {
791
- c1 = string.charCodeAt(i);
792
- if (c1 < 128) {
793
- buffer[offset++] = c1;
794
- } else if (c1 < 2048) {
795
- buffer[offset++] = c1 >> 6 | 192;
796
- buffer[offset++] = c1 & 63 | 128;
797
- } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
798
- c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
799
- ++i;
800
- buffer[offset++] = c1 >> 18 | 240;
801
- buffer[offset++] = c1 >> 12 & 63 | 128;
802
- buffer[offset++] = c1 >> 6 & 63 | 128;
803
- buffer[offset++] = c1 & 63 | 128;
804
- } else {
805
- buffer[offset++] = c1 >> 12 | 224;
806
- buffer[offset++] = c1 >> 6 & 63 | 128;
807
- buffer[offset++] = c1 & 63 | 128;
808
- }
809
- }
810
- return offset - start;
811
- };
812
- } (utf8$2));
813
- return utf8$2;
1333
+ function writeUintBE(val, buf, pos) {
1334
+ buf[pos ] = val >>> 24;
1335
+ buf[pos + 1] = val >>> 16 & 255;
1336
+ buf[pos + 2] = val >>> 8 & 255;
1337
+ buf[pos + 3] = val & 255;
1338
+ }
1339
+
1340
+ function readUintLE(buf, pos) {
1341
+ return (buf[pos ]
1342
+ | buf[pos + 1] << 8
1343
+ | buf[pos + 2] << 16
1344
+ | buf[pos + 3] << 24) >>> 0;
1345
+ }
1346
+
1347
+ function readUintBE(buf, pos) {
1348
+ return (buf[pos ] << 24
1349
+ | buf[pos + 1] << 16
1350
+ | buf[pos + 2] << 8
1351
+ | buf[pos + 3]) >>> 0;
1352
+ }
1353
+
1354
+ var inquire_1 = inquire;
1355
+
1356
+ /**
1357
+ * Requires a module only if available.
1358
+ * @memberof util
1359
+ * @param {string} moduleName Module to require
1360
+ * @returns {?Object} Required module if available and not empty, otherwise `null`
1361
+ */
1362
+ function inquire(moduleName) {
1363
+ try {
1364
+ var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval
1365
+ if (mod && (mod.length || Object.keys(mod).length))
1366
+ return mod;
1367
+ } catch (e) {} // eslint-disable-line no-empty
1368
+ return null;
814
1369
  }
815
1370
 
816
- var pool_1;
817
- var hasRequiredPool;
1371
+ var utf8$2 = {};
818
1372
 
819
- function requirePool () {
820
- if (hasRequiredPool) return pool_1;
821
- hasRequiredPool = 1;
822
- pool_1 = pool;
1373
+ (function (exports) {
823
1374
 
824
1375
  /**
825
- * An allocator as used by {@link util.pool}.
826
- * @typedef PoolAllocator
827
- * @type {function}
828
- * @param {number} size Buffer size
829
- * @returns {Uint8Array} Buffer
1376
+ * A minimal UTF8 implementation for number arrays.
1377
+ * @memberof util
1378
+ * @namespace
830
1379
  */
1380
+ var utf8 = exports;
831
1381
 
832
1382
  /**
833
- * A slicer as used by {@link util.pool}.
834
- * @typedef PoolSlicer
835
- * @type {function}
836
- * @param {number} start Start offset
837
- * @param {number} end End offset
838
- * @returns {Uint8Array} Buffer slice
839
- * @this {Uint8Array}
1383
+ * Calculates the UTF8 byte length of a string.
1384
+ * @param {string} string String
1385
+ * @returns {number} Byte length
840
1386
  */
1387
+ utf8.length = function utf8_length(string) {
1388
+ var len = 0,
1389
+ c = 0;
1390
+ for (var i = 0; i < string.length; ++i) {
1391
+ c = string.charCodeAt(i);
1392
+ if (c < 128)
1393
+ len += 1;
1394
+ else if (c < 2048)
1395
+ len += 2;
1396
+ else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
1397
+ ++i;
1398
+ len += 4;
1399
+ } else
1400
+ len += 3;
1401
+ }
1402
+ return len;
1403
+ };
841
1404
 
842
1405
  /**
843
- * A general purpose buffer pool.
844
- * @memberof util
845
- * @function
846
- * @param {PoolAllocator} alloc Allocator
847
- * @param {PoolSlicer} slice Slicer
848
- * @param {number} [size=8192] Slab size
849
- * @returns {PoolAllocator} Pooled allocator
1406
+ * Reads UTF8 bytes as a string.
1407
+ * @param {Uint8Array} buffer Source buffer
1408
+ * @param {number} start Source start
1409
+ * @param {number} end Source end
1410
+ * @returns {string} String read
850
1411
  */
851
- function pool(alloc, slice, size) {
852
- var SIZE = size || 8192;
853
- var MAX = SIZE >>> 1;
854
- var slab = null;
855
- var offset = SIZE;
856
- return function pool_alloc(size) {
857
- if (size < 1 || size > MAX)
858
- return alloc(size);
859
- if (offset + size > SIZE) {
860
- slab = alloc(SIZE);
861
- offset = 0;
1412
+ utf8.read = function utf8_read(buffer, start, end) {
1413
+ var len = end - start;
1414
+ if (len < 1)
1415
+ return "";
1416
+ var parts = null,
1417
+ chunk = [],
1418
+ i = 0, // char offset
1419
+ t; // temporary
1420
+ while (start < end) {
1421
+ t = buffer[start++];
1422
+ if (t < 128)
1423
+ chunk[i++] = t;
1424
+ else if (t > 191 && t < 224)
1425
+ chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;
1426
+ else if (t > 239 && t < 365) {
1427
+ t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;
1428
+ chunk[i++] = 0xD800 + (t >> 10);
1429
+ chunk[i++] = 0xDC00 + (t & 1023);
1430
+ } else
1431
+ chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;
1432
+ if (i > 8191) {
1433
+ (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
1434
+ i = 0;
862
1435
  }
863
- var buf = slice.call(slab, offset, offset += size);
864
- if (offset & 7) // align to 32 bit
865
- offset = (offset | 7) + 1;
866
- return buf;
867
- };
868
- }
869
- return pool_1;
1436
+ }
1437
+ if (parts) {
1438
+ if (i)
1439
+ parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
1440
+ return parts.join("");
1441
+ }
1442
+ return String.fromCharCode.apply(String, chunk.slice(0, i));
1443
+ };
1444
+
1445
+ /**
1446
+ * Writes a string as UTF8 bytes.
1447
+ * @param {string} string Source string
1448
+ * @param {Uint8Array} buffer Destination buffer
1449
+ * @param {number} offset Destination offset
1450
+ * @returns {number} Bytes written
1451
+ */
1452
+ utf8.write = function utf8_write(string, buffer, offset) {
1453
+ var start = offset,
1454
+ c1, // character 1
1455
+ c2; // character 2
1456
+ for (var i = 0; i < string.length; ++i) {
1457
+ c1 = string.charCodeAt(i);
1458
+ if (c1 < 128) {
1459
+ buffer[offset++] = c1;
1460
+ } else if (c1 < 2048) {
1461
+ buffer[offset++] = c1 >> 6 | 192;
1462
+ buffer[offset++] = c1 & 63 | 128;
1463
+ } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
1464
+ c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
1465
+ ++i;
1466
+ buffer[offset++] = c1 >> 18 | 240;
1467
+ buffer[offset++] = c1 >> 12 & 63 | 128;
1468
+ buffer[offset++] = c1 >> 6 & 63 | 128;
1469
+ buffer[offset++] = c1 & 63 | 128;
1470
+ } else {
1471
+ buffer[offset++] = c1 >> 12 | 224;
1472
+ buffer[offset++] = c1 >> 6 & 63 | 128;
1473
+ buffer[offset++] = c1 & 63 | 128;
1474
+ }
1475
+ }
1476
+ return offset - start;
1477
+ };
1478
+ } (utf8$2));
1479
+
1480
+ var pool_1 = pool;
1481
+
1482
+ /**
1483
+ * An allocator as used by {@link util.pool}.
1484
+ * @typedef PoolAllocator
1485
+ * @type {function}
1486
+ * @param {number} size Buffer size
1487
+ * @returns {Uint8Array} Buffer
1488
+ */
1489
+
1490
+ /**
1491
+ * A slicer as used by {@link util.pool}.
1492
+ * @typedef PoolSlicer
1493
+ * @type {function}
1494
+ * @param {number} start Start offset
1495
+ * @param {number} end End offset
1496
+ * @returns {Uint8Array} Buffer slice
1497
+ * @this {Uint8Array}
1498
+ */
1499
+
1500
+ /**
1501
+ * A general purpose buffer pool.
1502
+ * @memberof util
1503
+ * @function
1504
+ * @param {PoolAllocator} alloc Allocator
1505
+ * @param {PoolSlicer} slice Slicer
1506
+ * @param {number} [size=8192] Slab size
1507
+ * @returns {PoolAllocator} Pooled allocator
1508
+ */
1509
+ function pool(alloc, slice, size) {
1510
+ var SIZE = size || 8192;
1511
+ var MAX = SIZE >>> 1;
1512
+ var slab = null;
1513
+ var offset = SIZE;
1514
+ return function pool_alloc(size) {
1515
+ if (size < 1 || size > MAX)
1516
+ return alloc(size);
1517
+ if (offset + size > SIZE) {
1518
+ slab = alloc(SIZE);
1519
+ offset = 0;
1520
+ }
1521
+ var buf = slice.call(slab, offset, offset += size);
1522
+ if (offset & 7) // align to 32 bit
1523
+ offset = (offset | 7) + 1;
1524
+ return buf;
1525
+ };
870
1526
  }
871
1527
 
1528
+ var protobufjs = {exports: {}};
1529
+
1530
+ var src = {exports: {}};
1531
+
1532
+ var indexLight = {exports: {}};
1533
+
1534
+ var indexMinimal = {};
1535
+
1536
+ var minimal = {};
1537
+
872
1538
  var longbits;
873
1539
  var hasRequiredLongbits;
874
1540
 
@@ -1086,25 +1752,25 @@ function requireMinimal () {
1086
1752
  var util = exports;
1087
1753
 
1088
1754
  // used to return a Promise where callback is omitted
1089
- util.asPromise = requireAspromise();
1755
+ util.asPromise = aspromise;
1090
1756
 
1091
1757
  // converts to / from base64 encoded strings
1092
- util.base64 = requireBase64();
1758
+ util.base64 = base64$1;
1093
1759
 
1094
1760
  // base class of rpc.Service
1095
- util.EventEmitter = requireEventemitter();
1761
+ util.EventEmitter = eventemitter;
1096
1762
 
1097
1763
  // float handling accross browsers
1098
- util.float = requireFloat();
1764
+ util.float = float;
1099
1765
 
1100
1766
  // requires modules optionally and hides the call from bundlers
1101
- util.inquire = requireInquire();
1767
+ util.inquire = inquire_1;
1102
1768
 
1103
1769
  // converts to / from utf8 encoded strings
1104
- util.utf8 = requireUtf8();
1770
+ util.utf8 = utf8$2;
1105
1771
 
1106
1772
  // provides a node-like buffer pool in the browser
1107
- util.pool = requirePool();
1773
+ util.pool = pool_1;
1108
1774
 
1109
1775
  // utility to work with the low and high bits of a 64 bit value
1110
1776
  util.LongBits = requireLongbits();
@@ -2760,288 +3426,311 @@ var roots = {};
2760
3426
 
2761
3427
  var util$2 = {exports: {}};
2762
3428
 
2763
- var codegen_1 = codegen;
3429
+ var codegen_1;
3430
+ var hasRequiredCodegen;
3431
+
3432
+ function requireCodegen () {
3433
+ if (hasRequiredCodegen) return codegen_1;
3434
+ hasRequiredCodegen = 1;
3435
+ codegen_1 = codegen;
2764
3436
 
2765
- /**
2766
- * Begins generating a function.
2767
- * @memberof util
2768
- * @param {string[]} functionParams Function parameter names
2769
- * @param {string} [functionName] Function name if not anonymous
2770
- * @returns {Codegen} Appender that appends code to the function's body
2771
- */
2772
- function codegen(functionParams, functionName) {
3437
+ /**
3438
+ * Begins generating a function.
3439
+ * @memberof util
3440
+ * @param {string[]} functionParams Function parameter names
3441
+ * @param {string} [functionName] Function name if not anonymous
3442
+ * @returns {Codegen} Appender that appends code to the function's body
3443
+ */
3444
+ function codegen(functionParams, functionName) {
2773
3445
 
2774
- /* istanbul ignore if */
2775
- if (typeof functionParams === "string") {
2776
- functionName = functionParams;
2777
- functionParams = undefined;
2778
- }
3446
+ /* istanbul ignore if */
3447
+ if (typeof functionParams === "string") {
3448
+ functionName = functionParams;
3449
+ functionParams = undefined;
3450
+ }
2779
3451
 
2780
- var body = [];
3452
+ var body = [];
2781
3453
 
2782
- /**
2783
- * Appends code to the function's body or finishes generation.
2784
- * @typedef Codegen
2785
- * @type {function}
2786
- * @param {string|Object.<string,*>} [formatStringOrScope] Format string or, to finish the function, an object of additional scope variables, if any
2787
- * @param {...*} [formatParams] Format parameters
2788
- * @returns {Codegen|Function} Itself or the generated function if finished
2789
- * @throws {Error} If format parameter counts do not match
2790
- */
3454
+ /**
3455
+ * Appends code to the function's body or finishes generation.
3456
+ * @typedef Codegen
3457
+ * @type {function}
3458
+ * @param {string|Object.<string,*>} [formatStringOrScope] Format string or, to finish the function, an object of additional scope variables, if any
3459
+ * @param {...*} [formatParams] Format parameters
3460
+ * @returns {Codegen|Function} Itself or the generated function if finished
3461
+ * @throws {Error} If format parameter counts do not match
3462
+ */
2791
3463
 
2792
- function Codegen(formatStringOrScope) {
2793
- // note that explicit array handling below makes this ~50% faster
3464
+ function Codegen(formatStringOrScope) {
3465
+ // note that explicit array handling below makes this ~50% faster
2794
3466
 
2795
- // finish the function
2796
- if (typeof formatStringOrScope !== "string") {
2797
- var source = toString();
2798
- if (codegen.verbose)
2799
- console.log("codegen: " + source); // eslint-disable-line no-console
2800
- source = "return " + source;
2801
- if (formatStringOrScope) {
2802
- var scopeKeys = Object.keys(formatStringOrScope),
2803
- scopeParams = new Array(scopeKeys.length + 1),
2804
- scopeValues = new Array(scopeKeys.length),
2805
- scopeOffset = 0;
2806
- while (scopeOffset < scopeKeys.length) {
2807
- scopeParams[scopeOffset] = scopeKeys[scopeOffset];
2808
- scopeValues[scopeOffset] = formatStringOrScope[scopeKeys[scopeOffset++]];
2809
- }
2810
- scopeParams[scopeOffset] = source;
2811
- return Function.apply(null, scopeParams).apply(null, scopeValues); // eslint-disable-line no-new-func
2812
- }
2813
- return Function(source)(); // eslint-disable-line no-new-func
2814
- }
3467
+ // finish the function
3468
+ if (typeof formatStringOrScope !== "string") {
3469
+ var source = toString();
3470
+ if (codegen.verbose)
3471
+ console.log("codegen: " + source); // eslint-disable-line no-console
3472
+ source = "return " + source;
3473
+ if (formatStringOrScope) {
3474
+ var scopeKeys = Object.keys(formatStringOrScope),
3475
+ scopeParams = new Array(scopeKeys.length + 1),
3476
+ scopeValues = new Array(scopeKeys.length),
3477
+ scopeOffset = 0;
3478
+ while (scopeOffset < scopeKeys.length) {
3479
+ scopeParams[scopeOffset] = scopeKeys[scopeOffset];
3480
+ scopeValues[scopeOffset] = formatStringOrScope[scopeKeys[scopeOffset++]];
3481
+ }
3482
+ scopeParams[scopeOffset] = source;
3483
+ return Function.apply(null, scopeParams).apply(null, scopeValues); // eslint-disable-line no-new-func
3484
+ }
3485
+ return Function(source)(); // eslint-disable-line no-new-func
3486
+ }
2815
3487
 
2816
- // otherwise append to body
2817
- var formatParams = new Array(arguments.length - 1),
2818
- formatOffset = 0;
2819
- while (formatOffset < formatParams.length)
2820
- formatParams[formatOffset] = arguments[++formatOffset];
2821
- formatOffset = 0;
2822
- formatStringOrScope = formatStringOrScope.replace(/%([%dfijs])/g, function replace($0, $1) {
2823
- var value = formatParams[formatOffset++];
2824
- switch ($1) {
2825
- case "d": case "f": return String(Number(value));
2826
- case "i": return String(Math.floor(value));
2827
- case "j": return JSON.stringify(value);
2828
- case "s": return String(value);
2829
- }
2830
- return "%";
2831
- });
2832
- if (formatOffset !== formatParams.length)
2833
- throw Error("parameter count mismatch");
2834
- body.push(formatStringOrScope);
2835
- return Codegen;
2836
- }
3488
+ // otherwise append to body
3489
+ var formatParams = new Array(arguments.length - 1),
3490
+ formatOffset = 0;
3491
+ while (formatOffset < formatParams.length)
3492
+ formatParams[formatOffset] = arguments[++formatOffset];
3493
+ formatOffset = 0;
3494
+ formatStringOrScope = formatStringOrScope.replace(/%([%dfijs])/g, function replace($0, $1) {
3495
+ var value = formatParams[formatOffset++];
3496
+ switch ($1) {
3497
+ case "d": case "f": return String(Number(value));
3498
+ case "i": return String(Math.floor(value));
3499
+ case "j": return JSON.stringify(value);
3500
+ case "s": return String(value);
3501
+ }
3502
+ return "%";
3503
+ });
3504
+ if (formatOffset !== formatParams.length)
3505
+ throw Error("parameter count mismatch");
3506
+ body.push(formatStringOrScope);
3507
+ return Codegen;
3508
+ }
2837
3509
 
2838
- function toString(functionNameOverride) {
2839
- return "function " + (functionNameOverride || functionName || "") + "(" + (functionParams && functionParams.join(",") || "") + "){\n " + body.join("\n ") + "\n}";
2840
- }
3510
+ function toString(functionNameOverride) {
3511
+ return "function " + (functionNameOverride || functionName || "") + "(" + (functionParams && functionParams.join(",") || "") + "){\n " + body.join("\n ") + "\n}";
3512
+ }
2841
3513
 
2842
- Codegen.toString = toString;
2843
- return Codegen;
2844
- }
3514
+ Codegen.toString = toString;
3515
+ return Codegen;
3516
+ }
2845
3517
 
2846
- /**
2847
- * Begins generating a function.
2848
- * @memberof util
2849
- * @function codegen
2850
- * @param {string} [functionName] Function name if not anonymous
2851
- * @returns {Codegen} Appender that appends code to the function's body
2852
- * @variation 2
2853
- */
3518
+ /**
3519
+ * Begins generating a function.
3520
+ * @memberof util
3521
+ * @function codegen
3522
+ * @param {string} [functionName] Function name if not anonymous
3523
+ * @returns {Codegen} Appender that appends code to the function's body
3524
+ * @variation 2
3525
+ */
2854
3526
 
2855
- /**
2856
- * When set to `true`, codegen will log generated code to console. Useful for debugging.
2857
- * @name util.codegen.verbose
2858
- * @type {boolean}
2859
- */
2860
- codegen.verbose = false;
3527
+ /**
3528
+ * When set to `true`, codegen will log generated code to console. Useful for debugging.
3529
+ * @name util.codegen.verbose
3530
+ * @type {boolean}
3531
+ */
3532
+ codegen.verbose = false;
3533
+ return codegen_1;
3534
+ }
2861
3535
 
2862
- var fetch_1 = fetch;
3536
+ var fetch_1;
3537
+ var hasRequiredFetch;
3538
+
3539
+ function requireFetch () {
3540
+ if (hasRequiredFetch) return fetch_1;
3541
+ hasRequiredFetch = 1;
3542
+ fetch_1 = fetch;
2863
3543
 
2864
- var asPromise = requireAspromise(),
2865
- inquire = requireInquire();
3544
+ var asPromise = aspromise,
3545
+ inquire = inquire_1;
2866
3546
 
2867
- var fs = inquire("fs");
3547
+ var fs = inquire("fs");
2868
3548
 
2869
- /**
2870
- * Node-style callback as used by {@link util.fetch}.
2871
- * @typedef FetchCallback
2872
- * @type {function}
2873
- * @param {?Error} error Error, if any, otherwise `null`
2874
- * @param {string} [contents] File contents, if there hasn't been an error
2875
- * @returns {undefined}
2876
- */
3549
+ /**
3550
+ * Node-style callback as used by {@link util.fetch}.
3551
+ * @typedef FetchCallback
3552
+ * @type {function}
3553
+ * @param {?Error} error Error, if any, otherwise `null`
3554
+ * @param {string} [contents] File contents, if there hasn't been an error
3555
+ * @returns {undefined}
3556
+ */
2877
3557
 
2878
- /**
2879
- * Options as used by {@link util.fetch}.
2880
- * @typedef FetchOptions
2881
- * @type {Object}
2882
- * @property {boolean} [binary=false] Whether expecting a binary response
2883
- * @property {boolean} [xhr=false] If `true`, forces the use of XMLHttpRequest
2884
- */
3558
+ /**
3559
+ * Options as used by {@link util.fetch}.
3560
+ * @typedef FetchOptions
3561
+ * @type {Object}
3562
+ * @property {boolean} [binary=false] Whether expecting a binary response
3563
+ * @property {boolean} [xhr=false] If `true`, forces the use of XMLHttpRequest
3564
+ */
2885
3565
 
2886
- /**
2887
- * Fetches the contents of a file.
2888
- * @memberof util
2889
- * @param {string} filename File path or url
2890
- * @param {FetchOptions} options Fetch options
2891
- * @param {FetchCallback} callback Callback function
2892
- * @returns {undefined}
2893
- */
2894
- function fetch(filename, options, callback) {
2895
- if (typeof options === "function") {
2896
- callback = options;
2897
- options = {};
2898
- } else if (!options)
2899
- options = {};
3566
+ /**
3567
+ * Fetches the contents of a file.
3568
+ * @memberof util
3569
+ * @param {string} filename File path or url
3570
+ * @param {FetchOptions} options Fetch options
3571
+ * @param {FetchCallback} callback Callback function
3572
+ * @returns {undefined}
3573
+ */
3574
+ function fetch(filename, options, callback) {
3575
+ if (typeof options === "function") {
3576
+ callback = options;
3577
+ options = {};
3578
+ } else if (!options)
3579
+ options = {};
2900
3580
 
2901
- if (!callback)
2902
- return asPromise(fetch, this, filename, options); // eslint-disable-line no-invalid-this
3581
+ if (!callback)
3582
+ return asPromise(fetch, this, filename, options); // eslint-disable-line no-invalid-this
2903
3583
 
2904
- // if a node-like filesystem is present, try it first but fall back to XHR if nothing is found.
2905
- if (!options.xhr && fs && fs.readFile)
2906
- return fs.readFile(filename, function fetchReadFileCallback(err, contents) {
2907
- return err && typeof XMLHttpRequest !== "undefined"
2908
- ? fetch.xhr(filename, options, callback)
2909
- : err
2910
- ? callback(err)
2911
- : callback(null, options.binary ? contents : contents.toString("utf8"));
2912
- });
3584
+ // if a node-like filesystem is present, try it first but fall back to XHR if nothing is found.
3585
+ if (!options.xhr && fs && fs.readFile)
3586
+ return fs.readFile(filename, function fetchReadFileCallback(err, contents) {
3587
+ return err && typeof XMLHttpRequest !== "undefined"
3588
+ ? fetch.xhr(filename, options, callback)
3589
+ : err
3590
+ ? callback(err)
3591
+ : callback(null, options.binary ? contents : contents.toString("utf8"));
3592
+ });
2913
3593
 
2914
- // use the XHR version otherwise.
2915
- return fetch.xhr(filename, options, callback);
2916
- }
3594
+ // use the XHR version otherwise.
3595
+ return fetch.xhr(filename, options, callback);
3596
+ }
2917
3597
 
2918
- /**
2919
- * Fetches the contents of a file.
2920
- * @name util.fetch
2921
- * @function
2922
- * @param {string} path File path or url
2923
- * @param {FetchCallback} callback Callback function
2924
- * @returns {undefined}
2925
- * @variation 2
2926
- */
3598
+ /**
3599
+ * Fetches the contents of a file.
3600
+ * @name util.fetch
3601
+ * @function
3602
+ * @param {string} path File path or url
3603
+ * @param {FetchCallback} callback Callback function
3604
+ * @returns {undefined}
3605
+ * @variation 2
3606
+ */
2927
3607
 
2928
- /**
2929
- * Fetches the contents of a file.
2930
- * @name util.fetch
2931
- * @function
2932
- * @param {string} path File path or url
2933
- * @param {FetchOptions} [options] Fetch options
2934
- * @returns {Promise<string|Uint8Array>} Promise
2935
- * @variation 3
2936
- */
3608
+ /**
3609
+ * Fetches the contents of a file.
3610
+ * @name util.fetch
3611
+ * @function
3612
+ * @param {string} path File path or url
3613
+ * @param {FetchOptions} [options] Fetch options
3614
+ * @returns {Promise<string|Uint8Array>} Promise
3615
+ * @variation 3
3616
+ */
2937
3617
 
2938
- /**/
2939
- fetch.xhr = function fetch_xhr(filename, options, callback) {
2940
- var xhr = new XMLHttpRequest();
2941
- xhr.onreadystatechange /* works everywhere */ = function fetchOnReadyStateChange() {
3618
+ /**/
3619
+ fetch.xhr = function fetch_xhr(filename, options, callback) {
3620
+ var xhr = new XMLHttpRequest();
3621
+ xhr.onreadystatechange /* works everywhere */ = function fetchOnReadyStateChange() {
2942
3622
 
2943
- if (xhr.readyState !== 4)
2944
- return undefined;
3623
+ if (xhr.readyState !== 4)
3624
+ return undefined;
2945
3625
 
2946
- // local cors security errors return status 0 / empty string, too. afaik this cannot be
2947
- // reliably distinguished from an actually empty file for security reasons. feel free
2948
- // to send a pull request if you are aware of a solution.
2949
- if (xhr.status !== 0 && xhr.status !== 200)
2950
- return callback(Error("status " + xhr.status));
3626
+ // local cors security errors return status 0 / empty string, too. afaik this cannot be
3627
+ // reliably distinguished from an actually empty file for security reasons. feel free
3628
+ // to send a pull request if you are aware of a solution.
3629
+ if (xhr.status !== 0 && xhr.status !== 200)
3630
+ return callback(Error("status " + xhr.status));
2951
3631
 
2952
- // if binary data is expected, make sure that some sort of array is returned, even if
2953
- // ArrayBuffers are not supported. the binary string fallback, however, is unsafe.
2954
- if (options.binary) {
2955
- var buffer = xhr.response;
2956
- if (!buffer) {
2957
- buffer = [];
2958
- for (var i = 0; i < xhr.responseText.length; ++i)
2959
- buffer.push(xhr.responseText.charCodeAt(i) & 255);
2960
- }
2961
- return callback(null, typeof Uint8Array !== "undefined" ? new Uint8Array(buffer) : buffer);
2962
- }
2963
- return callback(null, xhr.responseText);
2964
- };
3632
+ // if binary data is expected, make sure that some sort of array is returned, even if
3633
+ // ArrayBuffers are not supported. the binary string fallback, however, is unsafe.
3634
+ if (options.binary) {
3635
+ var buffer = xhr.response;
3636
+ if (!buffer) {
3637
+ buffer = [];
3638
+ for (var i = 0; i < xhr.responseText.length; ++i)
3639
+ buffer.push(xhr.responseText.charCodeAt(i) & 255);
3640
+ }
3641
+ return callback(null, typeof Uint8Array !== "undefined" ? new Uint8Array(buffer) : buffer);
3642
+ }
3643
+ return callback(null, xhr.responseText);
3644
+ };
2965
3645
 
2966
- if (options.binary) {
2967
- // ref: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data#Receiving_binary_data_in_older_browsers
2968
- if ("overrideMimeType" in xhr)
2969
- xhr.overrideMimeType("text/plain; charset=x-user-defined");
2970
- xhr.responseType = "arraybuffer";
2971
- }
3646
+ if (options.binary) {
3647
+ // ref: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data#Receiving_binary_data_in_older_browsers
3648
+ if ("overrideMimeType" in xhr)
3649
+ xhr.overrideMimeType("text/plain; charset=x-user-defined");
3650
+ xhr.responseType = "arraybuffer";
3651
+ }
2972
3652
 
2973
- xhr.open("GET", filename);
2974
- xhr.send();
2975
- };
3653
+ xhr.open("GET", filename);
3654
+ xhr.send();
3655
+ };
3656
+ return fetch_1;
3657
+ }
2976
3658
 
2977
3659
  var path = {};
2978
3660
 
2979
- (function (exports) {
3661
+ var hasRequiredPath;
3662
+
3663
+ function requirePath () {
3664
+ if (hasRequiredPath) return path;
3665
+ hasRequiredPath = 1;
3666
+ (function (exports) {
2980
3667
 
2981
- /**
2982
- * A minimal path module to resolve Unix, Windows and URL paths alike.
2983
- * @memberof util
2984
- * @namespace
2985
- */
2986
- var path = exports;
3668
+ /**
3669
+ * A minimal path module to resolve Unix, Windows and URL paths alike.
3670
+ * @memberof util
3671
+ * @namespace
3672
+ */
3673
+ var path = exports;
2987
3674
 
2988
- var isAbsolute =
2989
- /**
2990
- * Tests if the specified path is absolute.
2991
- * @param {string} path Path to test
2992
- * @returns {boolean} `true` if path is absolute
2993
- */
2994
- path.isAbsolute = function isAbsolute(path) {
2995
- return /^(?:\/|\w+:)/.test(path);
2996
- };
3675
+ var isAbsolute =
3676
+ /**
3677
+ * Tests if the specified path is absolute.
3678
+ * @param {string} path Path to test
3679
+ * @returns {boolean} `true` if path is absolute
3680
+ */
3681
+ path.isAbsolute = function isAbsolute(path) {
3682
+ return /^(?:\/|\w+:)/.test(path);
3683
+ };
2997
3684
 
2998
- var normalize =
2999
- /**
3000
- * Normalizes the specified path.
3001
- * @param {string} path Path to normalize
3002
- * @returns {string} Normalized path
3003
- */
3004
- path.normalize = function normalize(path) {
3005
- path = path.replace(/\\/g, "/")
3006
- .replace(/\/{2,}/g, "/");
3007
- var parts = path.split("/"),
3008
- absolute = isAbsolute(path),
3009
- prefix = "";
3010
- if (absolute)
3011
- prefix = parts.shift() + "/";
3012
- for (var i = 0; i < parts.length;) {
3013
- if (parts[i] === "..") {
3014
- if (i > 0 && parts[i - 1] !== "..")
3015
- parts.splice(--i, 2);
3016
- else if (absolute)
3017
- parts.splice(i, 1);
3018
- else
3019
- ++i;
3020
- } else if (parts[i] === ".")
3021
- parts.splice(i, 1);
3022
- else
3023
- ++i;
3024
- }
3025
- return prefix + parts.join("/");
3026
- };
3685
+ var normalize =
3686
+ /**
3687
+ * Normalizes the specified path.
3688
+ * @param {string} path Path to normalize
3689
+ * @returns {string} Normalized path
3690
+ */
3691
+ path.normalize = function normalize(path) {
3692
+ path = path.replace(/\\/g, "/")
3693
+ .replace(/\/{2,}/g, "/");
3694
+ var parts = path.split("/"),
3695
+ absolute = isAbsolute(path),
3696
+ prefix = "";
3697
+ if (absolute)
3698
+ prefix = parts.shift() + "/";
3699
+ for (var i = 0; i < parts.length;) {
3700
+ if (parts[i] === "..") {
3701
+ if (i > 0 && parts[i - 1] !== "..")
3702
+ parts.splice(--i, 2);
3703
+ else if (absolute)
3704
+ parts.splice(i, 1);
3705
+ else
3706
+ ++i;
3707
+ } else if (parts[i] === ".")
3708
+ parts.splice(i, 1);
3709
+ else
3710
+ ++i;
3711
+ }
3712
+ return prefix + parts.join("/");
3713
+ };
3027
3714
 
3028
- /**
3029
- * Resolves the specified include path against the specified origin path.
3030
- * @param {string} originPath Path to the origin file
3031
- * @param {string} includePath Include path relative to origin path
3032
- * @param {boolean} [alreadyNormalized=false] `true` if both paths are already known to be normalized
3033
- * @returns {string} Path to the include file
3034
- */
3035
- path.resolve = function resolve(originPath, includePath, alreadyNormalized) {
3036
- if (!alreadyNormalized)
3037
- includePath = normalize(includePath);
3038
- if (isAbsolute(includePath))
3039
- return includePath;
3040
- if (!alreadyNormalized)
3041
- originPath = normalize(originPath);
3042
- return (originPath = originPath.replace(/(?:\/|^)[^/]+$/, "")).length ? normalize(originPath + "/" + includePath) : includePath;
3043
- };
3715
+ /**
3716
+ * Resolves the specified include path against the specified origin path.
3717
+ * @param {string} originPath Path to the origin file
3718
+ * @param {string} includePath Include path relative to origin path
3719
+ * @param {boolean} [alreadyNormalized=false] `true` if both paths are already known to be normalized
3720
+ * @returns {string} Path to the include file
3721
+ */
3722
+ path.resolve = function resolve(originPath, includePath, alreadyNormalized) {
3723
+ if (!alreadyNormalized)
3724
+ includePath = normalize(includePath);
3725
+ if (isAbsolute(includePath))
3726
+ return includePath;
3727
+ if (!alreadyNormalized)
3728
+ originPath = normalize(originPath);
3729
+ return (originPath = originPath.replace(/(?:\/|^)[^/]+$/, "")).length ? normalize(originPath + "/" + includePath) : includePath;
3730
+ };
3044
3731
  } (path));
3732
+ return path;
3733
+ }
3045
3734
 
3046
3735
  var types$1 = {};
3047
3736
 
@@ -4764,7 +5453,7 @@ function requireService () {
4764
5453
  return service;
4765
5454
  }
4766
5455
 
4767
- var message$1 = Message;
5456
+ var message$2 = Message;
4768
5457
 
4769
5458
  var util$1 = requireMinimal();
4770
5459
 
@@ -5546,7 +6235,7 @@ var wrappers = {};
5546
6235
  */
5547
6236
  var wrappers = exports;
5548
6237
 
5549
- var Message = message$1;
6238
+ var Message = message$2;
5550
6239
 
5551
6240
  /**
5552
6241
  * From object converter part of an {@link IWrapper}.
@@ -5658,7 +6347,7 @@ function requireType () {
5658
6347
  Field = requireField(),
5659
6348
  MapField = requireMapfield(),
5660
6349
  Service = requireService(),
5661
- Message = message$1,
6350
+ Message = message$2,
5662
6351
  Reader = reader,
5663
6352
  Writer = writer,
5664
6353
  util = requireUtil(),
@@ -6627,9 +7316,9 @@ function requireUtil () {
6627
7316
  var Type, // cyclic
6628
7317
  Enum;
6629
7318
 
6630
- util.codegen = codegen_1;
6631
- util.fetch = fetch_1;
6632
- util.path = path;
7319
+ util.codegen = requireCodegen();
7320
+ util.fetch = requireFetch();
7321
+ util.path = requirePath();
6633
7322
 
6634
7323
  /**
6635
7324
  * Node's fs module if available.
@@ -7487,7 +8176,7 @@ function requireEncoder () {
7487
8176
  protobuf.Method = requireMethod();
7488
8177
 
7489
8178
  // Runtime
7490
- protobuf.Message = message$1;
8179
+ protobuf.Message = message$2;
7491
8180
  protobuf.wrappers = wrappers;
7492
8181
 
7493
8182
  // Utility
@@ -9245,8 +9934,1891 @@ function createCodec(name, type, encode, decode) {
9245
9934
  };
9246
9935
  }
9247
9936
 
9248
- function message(encode, decode) {
9937
+ function enumeration(v) {
9938
+ function findValue(val) {
9939
+ // Use the reverse mapping to look up the enum key for the stored value
9940
+ // https://www.typescriptlang.org/docs/handbook/enums.html#reverse-mappings
9941
+ if (v[val.toString()] == null) {
9942
+ throw new Error('Invalid enum value');
9943
+ }
9944
+ return v[val];
9945
+ }
9946
+ const encode = function enumEncode(val, writer) {
9947
+ const enumValue = findValue(val);
9948
+ writer.int32(enumValue);
9949
+ };
9950
+ const decode = function enumDecode(reader) {
9951
+ const val = reader.uint32();
9952
+ return findValue(val);
9953
+ };
9954
+ // @ts-expect-error yeah yeah
9955
+ return createCodec('enum', CODEC_TYPES.VARINT, encode, decode);
9956
+ }
9957
+
9958
+ function message$1(encode, decode) {
9249
9959
  return createCodec('message', CODEC_TYPES.LENGTH_DELIMITED, encode, decode);
9250
9960
  }
9251
9961
 
9252
- export { CODEC_TYPES as C, requireBase64 as a, requireEventemitter as b, requireFloat as c, requireInquire as d, requireUtf8 as e, requirePool as f, commonjsGlobal as g, getAugmentedNamespace as h, createCodec as i, encodeMessage as j, decodeMessage as k, message as m, requireAspromise as r };
9962
+ /* eslint-disable import/export */
9963
+ var RateLimitProof$3;
9964
+ (function (RateLimitProof) {
9965
+ let _codec;
9966
+ RateLimitProof.codec = () => {
9967
+ if (_codec == null) {
9968
+ _codec = message$1((obj, writer, opts = {}) => {
9969
+ if (opts.lengthDelimited !== false) {
9970
+ writer.fork();
9971
+ }
9972
+ if (obj.proof != null) {
9973
+ writer.uint32(10);
9974
+ writer.bytes(obj.proof);
9975
+ }
9976
+ else {
9977
+ throw new Error('Protocol error: required field "proof" was not found in object');
9978
+ }
9979
+ if (obj.merkleRoot != null) {
9980
+ writer.uint32(18);
9981
+ writer.bytes(obj.merkleRoot);
9982
+ }
9983
+ else {
9984
+ throw new Error('Protocol error: required field "merkleRoot" was not found in object');
9985
+ }
9986
+ if (obj.epoch != null) {
9987
+ writer.uint32(26);
9988
+ writer.bytes(obj.epoch);
9989
+ }
9990
+ else {
9991
+ throw new Error('Protocol error: required field "epoch" was not found in object');
9992
+ }
9993
+ if (obj.shareX != null) {
9994
+ writer.uint32(34);
9995
+ writer.bytes(obj.shareX);
9996
+ }
9997
+ else {
9998
+ throw new Error('Protocol error: required field "shareX" was not found in object');
9999
+ }
10000
+ if (obj.shareY != null) {
10001
+ writer.uint32(42);
10002
+ writer.bytes(obj.shareY);
10003
+ }
10004
+ else {
10005
+ throw new Error('Protocol error: required field "shareY" was not found in object');
10006
+ }
10007
+ if (obj.nullifier != null) {
10008
+ writer.uint32(50);
10009
+ writer.bytes(obj.nullifier);
10010
+ }
10011
+ else {
10012
+ throw new Error('Protocol error: required field "nullifier" was not found in object');
10013
+ }
10014
+ if (obj.rlnIdentifier != null) {
10015
+ writer.uint32(58);
10016
+ writer.bytes(obj.rlnIdentifier);
10017
+ }
10018
+ else {
10019
+ throw new Error('Protocol error: required field "rlnIdentifier" was not found in object');
10020
+ }
10021
+ if (opts.lengthDelimited !== false) {
10022
+ writer.ldelim();
10023
+ }
10024
+ }, (reader, length) => {
10025
+ const obj = {
10026
+ proof: new Uint8Array(0),
10027
+ merkleRoot: new Uint8Array(0),
10028
+ epoch: new Uint8Array(0),
10029
+ shareX: new Uint8Array(0),
10030
+ shareY: new Uint8Array(0),
10031
+ nullifier: new Uint8Array(0),
10032
+ rlnIdentifier: new Uint8Array(0),
10033
+ };
10034
+ const end = length == null ? reader.len : reader.pos + length;
10035
+ while (reader.pos < end) {
10036
+ const tag = reader.uint32();
10037
+ switch (tag >>> 3) {
10038
+ case 1:
10039
+ obj.proof = reader.bytes();
10040
+ break;
10041
+ case 2:
10042
+ obj.merkleRoot = reader.bytes();
10043
+ break;
10044
+ case 3:
10045
+ obj.epoch = reader.bytes();
10046
+ break;
10047
+ case 4:
10048
+ obj.shareX = reader.bytes();
10049
+ break;
10050
+ case 5:
10051
+ obj.shareY = reader.bytes();
10052
+ break;
10053
+ case 6:
10054
+ obj.nullifier = reader.bytes();
10055
+ break;
10056
+ case 7:
10057
+ obj.rlnIdentifier = reader.bytes();
10058
+ break;
10059
+ default:
10060
+ reader.skipType(tag & 7);
10061
+ break;
10062
+ }
10063
+ }
10064
+ if (obj.proof == null) {
10065
+ throw new Error('Protocol error: value for required field "proof" was not found in protobuf');
10066
+ }
10067
+ if (obj.merkleRoot == null) {
10068
+ throw new Error('Protocol error: value for required field "merkleRoot" was not found in protobuf');
10069
+ }
10070
+ if (obj.epoch == null) {
10071
+ throw new Error('Protocol error: value for required field "epoch" was not found in protobuf');
10072
+ }
10073
+ if (obj.shareX == null) {
10074
+ throw new Error('Protocol error: value for required field "shareX" was not found in protobuf');
10075
+ }
10076
+ if (obj.shareY == null) {
10077
+ throw new Error('Protocol error: value for required field "shareY" was not found in protobuf');
10078
+ }
10079
+ if (obj.nullifier == null) {
10080
+ throw new Error('Protocol error: value for required field "nullifier" was not found in protobuf');
10081
+ }
10082
+ if (obj.rlnIdentifier == null) {
10083
+ throw new Error('Protocol error: value for required field "rlnIdentifier" was not found in protobuf');
10084
+ }
10085
+ return obj;
10086
+ });
10087
+ }
10088
+ return _codec;
10089
+ };
10090
+ RateLimitProof.encode = (obj) => {
10091
+ return encodeMessage(obj, RateLimitProof.codec());
10092
+ };
10093
+ RateLimitProof.decode = (buf) => {
10094
+ return decodeMessage(buf, RateLimitProof.codec());
10095
+ };
10096
+ })(RateLimitProof$3 || (RateLimitProof$3 = {}));
10097
+ var WakuMessage$3;
10098
+ (function (WakuMessage) {
10099
+ let _codec;
10100
+ WakuMessage.codec = () => {
10101
+ if (_codec == null) {
10102
+ _codec = message$1((obj, writer, opts = {}) => {
10103
+ if (opts.lengthDelimited !== false) {
10104
+ writer.fork();
10105
+ }
10106
+ if (obj.payload != null) {
10107
+ writer.uint32(10);
10108
+ writer.bytes(obj.payload);
10109
+ }
10110
+ if (obj.contentTopic != null) {
10111
+ writer.uint32(18);
10112
+ writer.string(obj.contentTopic);
10113
+ }
10114
+ if (obj.version != null) {
10115
+ writer.uint32(24);
10116
+ writer.uint32(obj.version);
10117
+ }
10118
+ if (obj.timestampDeprecated != null) {
10119
+ writer.uint32(33);
10120
+ writer.double(obj.timestampDeprecated);
10121
+ }
10122
+ if (obj.timestamp != null) {
10123
+ writer.uint32(80);
10124
+ writer.sint64(obj.timestamp);
10125
+ }
10126
+ if (obj.rateLimitProof != null) {
10127
+ writer.uint32(170);
10128
+ RateLimitProof$3.codec().encode(obj.rateLimitProof, writer);
10129
+ }
10130
+ if (obj.ephemeral != null) {
10131
+ writer.uint32(248);
10132
+ writer.bool(obj.ephemeral);
10133
+ }
10134
+ if (opts.lengthDelimited !== false) {
10135
+ writer.ldelim();
10136
+ }
10137
+ }, (reader, length) => {
10138
+ const obj = {};
10139
+ const end = length == null ? reader.len : reader.pos + length;
10140
+ while (reader.pos < end) {
10141
+ const tag = reader.uint32();
10142
+ switch (tag >>> 3) {
10143
+ case 1:
10144
+ obj.payload = reader.bytes();
10145
+ break;
10146
+ case 2:
10147
+ obj.contentTopic = reader.string();
10148
+ break;
10149
+ case 3:
10150
+ obj.version = reader.uint32();
10151
+ break;
10152
+ case 4:
10153
+ obj.timestampDeprecated = reader.double();
10154
+ break;
10155
+ case 10:
10156
+ obj.timestamp = reader.sint64();
10157
+ break;
10158
+ case 21:
10159
+ obj.rateLimitProof = RateLimitProof$3.codec().decode(reader, reader.uint32());
10160
+ break;
10161
+ case 31:
10162
+ obj.ephemeral = reader.bool();
10163
+ break;
10164
+ default:
10165
+ reader.skipType(tag & 7);
10166
+ break;
10167
+ }
10168
+ }
10169
+ return obj;
10170
+ });
10171
+ }
10172
+ return _codec;
10173
+ };
10174
+ WakuMessage.encode = (obj) => {
10175
+ return encodeMessage(obj, WakuMessage.codec());
10176
+ };
10177
+ WakuMessage.decode = (buf) => {
10178
+ return decodeMessage(buf, WakuMessage.codec());
10179
+ };
10180
+ })(WakuMessage$3 || (WakuMessage$3 = {}));
10181
+
10182
+ var message = /*#__PURE__*/Object.freeze({
10183
+ __proto__: null,
10184
+ get RateLimitProof () { return RateLimitProof$3; },
10185
+ get WakuMessage () { return WakuMessage$3; }
10186
+ });
10187
+
10188
+ /* eslint-disable import/export */
10189
+ var FilterRequest;
10190
+ (function (FilterRequest) {
10191
+ (function (ContentFilter) {
10192
+ let _codec;
10193
+ ContentFilter.codec = () => {
10194
+ if (_codec == null) {
10195
+ _codec = message$1((obj, writer, opts = {}) => {
10196
+ if (opts.lengthDelimited !== false) {
10197
+ writer.fork();
10198
+ }
10199
+ if (obj.contentTopic != null) {
10200
+ writer.uint32(10);
10201
+ writer.string(obj.contentTopic);
10202
+ }
10203
+ if (opts.lengthDelimited !== false) {
10204
+ writer.ldelim();
10205
+ }
10206
+ }, (reader, length) => {
10207
+ const obj = {};
10208
+ const end = length == null ? reader.len : reader.pos + length;
10209
+ while (reader.pos < end) {
10210
+ const tag = reader.uint32();
10211
+ switch (tag >>> 3) {
10212
+ case 1:
10213
+ obj.contentTopic = reader.string();
10214
+ break;
10215
+ default:
10216
+ reader.skipType(tag & 7);
10217
+ break;
10218
+ }
10219
+ }
10220
+ return obj;
10221
+ });
10222
+ }
10223
+ return _codec;
10224
+ };
10225
+ ContentFilter.encode = (obj) => {
10226
+ return encodeMessage(obj, ContentFilter.codec());
10227
+ };
10228
+ ContentFilter.decode = (buf) => {
10229
+ return decodeMessage(buf, ContentFilter.codec());
10230
+ };
10231
+ })(FilterRequest.ContentFilter || (FilterRequest.ContentFilter = {}));
10232
+ let _codec;
10233
+ FilterRequest.codec = () => {
10234
+ if (_codec == null) {
10235
+ _codec = message$1((obj, writer, opts = {}) => {
10236
+ if (opts.lengthDelimited !== false) {
10237
+ writer.fork();
10238
+ }
10239
+ if (obj.subscribe != null) {
10240
+ writer.uint32(8);
10241
+ writer.bool(obj.subscribe);
10242
+ }
10243
+ if (obj.topic != null) {
10244
+ writer.uint32(18);
10245
+ writer.string(obj.topic);
10246
+ }
10247
+ if (obj.contentFilters != null) {
10248
+ for (const value of obj.contentFilters) {
10249
+ writer.uint32(26);
10250
+ FilterRequest.ContentFilter.codec().encode(value, writer);
10251
+ }
10252
+ }
10253
+ else {
10254
+ throw new Error('Protocol error: required field "contentFilters" was not found in object');
10255
+ }
10256
+ if (opts.lengthDelimited !== false) {
10257
+ writer.ldelim();
10258
+ }
10259
+ }, (reader, length) => {
10260
+ const obj = {
10261
+ contentFilters: [],
10262
+ };
10263
+ const end = length == null ? reader.len : reader.pos + length;
10264
+ while (reader.pos < end) {
10265
+ const tag = reader.uint32();
10266
+ switch (tag >>> 3) {
10267
+ case 1:
10268
+ obj.subscribe = reader.bool();
10269
+ break;
10270
+ case 2:
10271
+ obj.topic = reader.string();
10272
+ break;
10273
+ case 3:
10274
+ obj.contentFilters.push(FilterRequest.ContentFilter.codec().decode(reader, reader.uint32()));
10275
+ break;
10276
+ default:
10277
+ reader.skipType(tag & 7);
10278
+ break;
10279
+ }
10280
+ }
10281
+ return obj;
10282
+ });
10283
+ }
10284
+ return _codec;
10285
+ };
10286
+ FilterRequest.encode = (obj) => {
10287
+ return encodeMessage(obj, FilterRequest.codec());
10288
+ };
10289
+ FilterRequest.decode = (buf) => {
10290
+ return decodeMessage(buf, FilterRequest.codec());
10291
+ };
10292
+ })(FilterRequest || (FilterRequest = {}));
10293
+ var MessagePush;
10294
+ (function (MessagePush) {
10295
+ let _codec;
10296
+ MessagePush.codec = () => {
10297
+ if (_codec == null) {
10298
+ _codec = message$1((obj, writer, opts = {}) => {
10299
+ if (opts.lengthDelimited !== false) {
10300
+ writer.fork();
10301
+ }
10302
+ if (obj.messages != null) {
10303
+ for (const value of obj.messages) {
10304
+ writer.uint32(10);
10305
+ WakuMessage$2.codec().encode(value, writer);
10306
+ }
10307
+ }
10308
+ else {
10309
+ throw new Error('Protocol error: required field "messages" was not found in object');
10310
+ }
10311
+ if (opts.lengthDelimited !== false) {
10312
+ writer.ldelim();
10313
+ }
10314
+ }, (reader, length) => {
10315
+ const obj = {
10316
+ messages: [],
10317
+ };
10318
+ const end = length == null ? reader.len : reader.pos + length;
10319
+ while (reader.pos < end) {
10320
+ const tag = reader.uint32();
10321
+ switch (tag >>> 3) {
10322
+ case 1:
10323
+ obj.messages.push(WakuMessage$2.codec().decode(reader, reader.uint32()));
10324
+ break;
10325
+ default:
10326
+ reader.skipType(tag & 7);
10327
+ break;
10328
+ }
10329
+ }
10330
+ return obj;
10331
+ });
10332
+ }
10333
+ return _codec;
10334
+ };
10335
+ MessagePush.encode = (obj) => {
10336
+ return encodeMessage(obj, MessagePush.codec());
10337
+ };
10338
+ MessagePush.decode = (buf) => {
10339
+ return decodeMessage(buf, MessagePush.codec());
10340
+ };
10341
+ })(MessagePush || (MessagePush = {}));
10342
+ var FilterRPC;
10343
+ (function (FilterRPC) {
10344
+ let _codec;
10345
+ FilterRPC.codec = () => {
10346
+ if (_codec == null) {
10347
+ _codec = message$1((obj, writer, opts = {}) => {
10348
+ if (opts.lengthDelimited !== false) {
10349
+ writer.fork();
10350
+ }
10351
+ if (obj.requestId != null) {
10352
+ writer.uint32(10);
10353
+ writer.string(obj.requestId);
10354
+ }
10355
+ if (obj.request != null) {
10356
+ writer.uint32(18);
10357
+ FilterRequest.codec().encode(obj.request, writer);
10358
+ }
10359
+ if (obj.push != null) {
10360
+ writer.uint32(26);
10361
+ MessagePush.codec().encode(obj.push, writer);
10362
+ }
10363
+ if (opts.lengthDelimited !== false) {
10364
+ writer.ldelim();
10365
+ }
10366
+ }, (reader, length) => {
10367
+ const obj = {};
10368
+ const end = length == null ? reader.len : reader.pos + length;
10369
+ while (reader.pos < end) {
10370
+ const tag = reader.uint32();
10371
+ switch (tag >>> 3) {
10372
+ case 1:
10373
+ obj.requestId = reader.string();
10374
+ break;
10375
+ case 2:
10376
+ obj.request = FilterRequest.codec().decode(reader, reader.uint32());
10377
+ break;
10378
+ case 3:
10379
+ obj.push = MessagePush.codec().decode(reader, reader.uint32());
10380
+ break;
10381
+ default:
10382
+ reader.skipType(tag & 7);
10383
+ break;
10384
+ }
10385
+ }
10386
+ return obj;
10387
+ });
10388
+ }
10389
+ return _codec;
10390
+ };
10391
+ FilterRPC.encode = (obj) => {
10392
+ return encodeMessage(obj, FilterRPC.codec());
10393
+ };
10394
+ FilterRPC.decode = (buf) => {
10395
+ return decodeMessage(buf, FilterRPC.codec());
10396
+ };
10397
+ })(FilterRPC || (FilterRPC = {}));
10398
+ var RateLimitProof$2;
10399
+ (function (RateLimitProof) {
10400
+ let _codec;
10401
+ RateLimitProof.codec = () => {
10402
+ if (_codec == null) {
10403
+ _codec = message$1((obj, writer, opts = {}) => {
10404
+ if (opts.lengthDelimited !== false) {
10405
+ writer.fork();
10406
+ }
10407
+ if (obj.proof != null) {
10408
+ writer.uint32(10);
10409
+ writer.bytes(obj.proof);
10410
+ }
10411
+ else {
10412
+ throw new Error('Protocol error: required field "proof" was not found in object');
10413
+ }
10414
+ if (obj.merkleRoot != null) {
10415
+ writer.uint32(18);
10416
+ writer.bytes(obj.merkleRoot);
10417
+ }
10418
+ else {
10419
+ throw new Error('Protocol error: required field "merkleRoot" was not found in object');
10420
+ }
10421
+ if (obj.epoch != null) {
10422
+ writer.uint32(26);
10423
+ writer.bytes(obj.epoch);
10424
+ }
10425
+ else {
10426
+ throw new Error('Protocol error: required field "epoch" was not found in object');
10427
+ }
10428
+ if (obj.shareX != null) {
10429
+ writer.uint32(34);
10430
+ writer.bytes(obj.shareX);
10431
+ }
10432
+ else {
10433
+ throw new Error('Protocol error: required field "shareX" was not found in object');
10434
+ }
10435
+ if (obj.shareY != null) {
10436
+ writer.uint32(42);
10437
+ writer.bytes(obj.shareY);
10438
+ }
10439
+ else {
10440
+ throw new Error('Protocol error: required field "shareY" was not found in object');
10441
+ }
10442
+ if (obj.nullifier != null) {
10443
+ writer.uint32(50);
10444
+ writer.bytes(obj.nullifier);
10445
+ }
10446
+ else {
10447
+ throw new Error('Protocol error: required field "nullifier" was not found in object');
10448
+ }
10449
+ if (obj.rlnIdentifier != null) {
10450
+ writer.uint32(58);
10451
+ writer.bytes(obj.rlnIdentifier);
10452
+ }
10453
+ else {
10454
+ throw new Error('Protocol error: required field "rlnIdentifier" was not found in object');
10455
+ }
10456
+ if (opts.lengthDelimited !== false) {
10457
+ writer.ldelim();
10458
+ }
10459
+ }, (reader, length) => {
10460
+ const obj = {
10461
+ proof: new Uint8Array(0),
10462
+ merkleRoot: new Uint8Array(0),
10463
+ epoch: new Uint8Array(0),
10464
+ shareX: new Uint8Array(0),
10465
+ shareY: new Uint8Array(0),
10466
+ nullifier: new Uint8Array(0),
10467
+ rlnIdentifier: new Uint8Array(0),
10468
+ };
10469
+ const end = length == null ? reader.len : reader.pos + length;
10470
+ while (reader.pos < end) {
10471
+ const tag = reader.uint32();
10472
+ switch (tag >>> 3) {
10473
+ case 1:
10474
+ obj.proof = reader.bytes();
10475
+ break;
10476
+ case 2:
10477
+ obj.merkleRoot = reader.bytes();
10478
+ break;
10479
+ case 3:
10480
+ obj.epoch = reader.bytes();
10481
+ break;
10482
+ case 4:
10483
+ obj.shareX = reader.bytes();
10484
+ break;
10485
+ case 5:
10486
+ obj.shareY = reader.bytes();
10487
+ break;
10488
+ case 6:
10489
+ obj.nullifier = reader.bytes();
10490
+ break;
10491
+ case 7:
10492
+ obj.rlnIdentifier = reader.bytes();
10493
+ break;
10494
+ default:
10495
+ reader.skipType(tag & 7);
10496
+ break;
10497
+ }
10498
+ }
10499
+ if (obj.proof == null) {
10500
+ throw new Error('Protocol error: value for required field "proof" was not found in protobuf');
10501
+ }
10502
+ if (obj.merkleRoot == null) {
10503
+ throw new Error('Protocol error: value for required field "merkleRoot" was not found in protobuf');
10504
+ }
10505
+ if (obj.epoch == null) {
10506
+ throw new Error('Protocol error: value for required field "epoch" was not found in protobuf');
10507
+ }
10508
+ if (obj.shareX == null) {
10509
+ throw new Error('Protocol error: value for required field "shareX" was not found in protobuf');
10510
+ }
10511
+ if (obj.shareY == null) {
10512
+ throw new Error('Protocol error: value for required field "shareY" was not found in protobuf');
10513
+ }
10514
+ if (obj.nullifier == null) {
10515
+ throw new Error('Protocol error: value for required field "nullifier" was not found in protobuf');
10516
+ }
10517
+ if (obj.rlnIdentifier == null) {
10518
+ throw new Error('Protocol error: value for required field "rlnIdentifier" was not found in protobuf');
10519
+ }
10520
+ return obj;
10521
+ });
10522
+ }
10523
+ return _codec;
10524
+ };
10525
+ RateLimitProof.encode = (obj) => {
10526
+ return encodeMessage(obj, RateLimitProof.codec());
10527
+ };
10528
+ RateLimitProof.decode = (buf) => {
10529
+ return decodeMessage(buf, RateLimitProof.codec());
10530
+ };
10531
+ })(RateLimitProof$2 || (RateLimitProof$2 = {}));
10532
+ var WakuMessage$2;
10533
+ (function (WakuMessage) {
10534
+ let _codec;
10535
+ WakuMessage.codec = () => {
10536
+ if (_codec == null) {
10537
+ _codec = message$1((obj, writer, opts = {}) => {
10538
+ if (opts.lengthDelimited !== false) {
10539
+ writer.fork();
10540
+ }
10541
+ if (obj.payload != null) {
10542
+ writer.uint32(10);
10543
+ writer.bytes(obj.payload);
10544
+ }
10545
+ if (obj.contentTopic != null) {
10546
+ writer.uint32(18);
10547
+ writer.string(obj.contentTopic);
10548
+ }
10549
+ if (obj.version != null) {
10550
+ writer.uint32(24);
10551
+ writer.uint32(obj.version);
10552
+ }
10553
+ if (obj.timestampDeprecated != null) {
10554
+ writer.uint32(33);
10555
+ writer.double(obj.timestampDeprecated);
10556
+ }
10557
+ if (obj.timestamp != null) {
10558
+ writer.uint32(80);
10559
+ writer.sint64(obj.timestamp);
10560
+ }
10561
+ if (obj.rateLimitProof != null) {
10562
+ writer.uint32(170);
10563
+ RateLimitProof$2.codec().encode(obj.rateLimitProof, writer);
10564
+ }
10565
+ if (obj.ephemeral != null) {
10566
+ writer.uint32(248);
10567
+ writer.bool(obj.ephemeral);
10568
+ }
10569
+ if (opts.lengthDelimited !== false) {
10570
+ writer.ldelim();
10571
+ }
10572
+ }, (reader, length) => {
10573
+ const obj = {};
10574
+ const end = length == null ? reader.len : reader.pos + length;
10575
+ while (reader.pos < end) {
10576
+ const tag = reader.uint32();
10577
+ switch (tag >>> 3) {
10578
+ case 1:
10579
+ obj.payload = reader.bytes();
10580
+ break;
10581
+ case 2:
10582
+ obj.contentTopic = reader.string();
10583
+ break;
10584
+ case 3:
10585
+ obj.version = reader.uint32();
10586
+ break;
10587
+ case 4:
10588
+ obj.timestampDeprecated = reader.double();
10589
+ break;
10590
+ case 10:
10591
+ obj.timestamp = reader.sint64();
10592
+ break;
10593
+ case 21:
10594
+ obj.rateLimitProof = RateLimitProof$2.codec().decode(reader, reader.uint32());
10595
+ break;
10596
+ case 31:
10597
+ obj.ephemeral = reader.bool();
10598
+ break;
10599
+ default:
10600
+ reader.skipType(tag & 7);
10601
+ break;
10602
+ }
10603
+ }
10604
+ return obj;
10605
+ });
10606
+ }
10607
+ return _codec;
10608
+ };
10609
+ WakuMessage.encode = (obj) => {
10610
+ return encodeMessage(obj, WakuMessage.codec());
10611
+ };
10612
+ WakuMessage.decode = (buf) => {
10613
+ return decodeMessage(buf, WakuMessage.codec());
10614
+ };
10615
+ })(WakuMessage$2 || (WakuMessage$2 = {}));
10616
+
10617
+ /* eslint-disable import/export */
10618
+ var TopicOnlyMessage;
10619
+ (function (TopicOnlyMessage) {
10620
+ let _codec;
10621
+ TopicOnlyMessage.codec = () => {
10622
+ if (_codec == null) {
10623
+ _codec = message$1((obj, writer, opts = {}) => {
10624
+ if (opts.lengthDelimited !== false) {
10625
+ writer.fork();
10626
+ }
10627
+ if (obj.contentTopic != null) {
10628
+ writer.uint32(18);
10629
+ writer.string(obj.contentTopic);
10630
+ }
10631
+ if (opts.lengthDelimited !== false) {
10632
+ writer.ldelim();
10633
+ }
10634
+ }, (reader, length) => {
10635
+ const obj = {};
10636
+ const end = length == null ? reader.len : reader.pos + length;
10637
+ while (reader.pos < end) {
10638
+ const tag = reader.uint32();
10639
+ switch (tag >>> 3) {
10640
+ case 2:
10641
+ obj.contentTopic = reader.string();
10642
+ break;
10643
+ default:
10644
+ reader.skipType(tag & 7);
10645
+ break;
10646
+ }
10647
+ }
10648
+ return obj;
10649
+ });
10650
+ }
10651
+ return _codec;
10652
+ };
10653
+ TopicOnlyMessage.encode = (obj) => {
10654
+ return encodeMessage(obj, TopicOnlyMessage.codec());
10655
+ };
10656
+ TopicOnlyMessage.decode = (buf) => {
10657
+ return decodeMessage(buf, TopicOnlyMessage.codec());
10658
+ };
10659
+ })(TopicOnlyMessage || (TopicOnlyMessage = {}));
10660
+
10661
+ /* eslint-disable import/export */
10662
+ var PushRequest;
10663
+ (function (PushRequest) {
10664
+ let _codec;
10665
+ PushRequest.codec = () => {
10666
+ if (_codec == null) {
10667
+ _codec = message$1((obj, writer, opts = {}) => {
10668
+ if (opts.lengthDelimited !== false) {
10669
+ writer.fork();
10670
+ }
10671
+ if (obj.pubSubTopic != null) {
10672
+ writer.uint32(10);
10673
+ writer.string(obj.pubSubTopic);
10674
+ }
10675
+ if (obj.message != null) {
10676
+ writer.uint32(18);
10677
+ WakuMessage$1.codec().encode(obj.message, writer);
10678
+ }
10679
+ if (opts.lengthDelimited !== false) {
10680
+ writer.ldelim();
10681
+ }
10682
+ }, (reader, length) => {
10683
+ const obj = {};
10684
+ const end = length == null ? reader.len : reader.pos + length;
10685
+ while (reader.pos < end) {
10686
+ const tag = reader.uint32();
10687
+ switch (tag >>> 3) {
10688
+ case 1:
10689
+ obj.pubSubTopic = reader.string();
10690
+ break;
10691
+ case 2:
10692
+ obj.message = WakuMessage$1.codec().decode(reader, reader.uint32());
10693
+ break;
10694
+ default:
10695
+ reader.skipType(tag & 7);
10696
+ break;
10697
+ }
10698
+ }
10699
+ return obj;
10700
+ });
10701
+ }
10702
+ return _codec;
10703
+ };
10704
+ PushRequest.encode = (obj) => {
10705
+ return encodeMessage(obj, PushRequest.codec());
10706
+ };
10707
+ PushRequest.decode = (buf) => {
10708
+ return decodeMessage(buf, PushRequest.codec());
10709
+ };
10710
+ })(PushRequest || (PushRequest = {}));
10711
+ var PushResponse;
10712
+ (function (PushResponse) {
10713
+ let _codec;
10714
+ PushResponse.codec = () => {
10715
+ if (_codec == null) {
10716
+ _codec = message$1((obj, writer, opts = {}) => {
10717
+ if (opts.lengthDelimited !== false) {
10718
+ writer.fork();
10719
+ }
10720
+ if (obj.isSuccess != null) {
10721
+ writer.uint32(8);
10722
+ writer.bool(obj.isSuccess);
10723
+ }
10724
+ if (obj.info != null) {
10725
+ writer.uint32(18);
10726
+ writer.string(obj.info);
10727
+ }
10728
+ if (opts.lengthDelimited !== false) {
10729
+ writer.ldelim();
10730
+ }
10731
+ }, (reader, length) => {
10732
+ const obj = {};
10733
+ const end = length == null ? reader.len : reader.pos + length;
10734
+ while (reader.pos < end) {
10735
+ const tag = reader.uint32();
10736
+ switch (tag >>> 3) {
10737
+ case 1:
10738
+ obj.isSuccess = reader.bool();
10739
+ break;
10740
+ case 2:
10741
+ obj.info = reader.string();
10742
+ break;
10743
+ default:
10744
+ reader.skipType(tag & 7);
10745
+ break;
10746
+ }
10747
+ }
10748
+ return obj;
10749
+ });
10750
+ }
10751
+ return _codec;
10752
+ };
10753
+ PushResponse.encode = (obj) => {
10754
+ return encodeMessage(obj, PushResponse.codec());
10755
+ };
10756
+ PushResponse.decode = (buf) => {
10757
+ return decodeMessage(buf, PushResponse.codec());
10758
+ };
10759
+ })(PushResponse || (PushResponse = {}));
10760
+ var PushRPC;
10761
+ (function (PushRPC) {
10762
+ let _codec;
10763
+ PushRPC.codec = () => {
10764
+ if (_codec == null) {
10765
+ _codec = message$1((obj, writer, opts = {}) => {
10766
+ if (opts.lengthDelimited !== false) {
10767
+ writer.fork();
10768
+ }
10769
+ if (obj.requestId != null) {
10770
+ writer.uint32(10);
10771
+ writer.string(obj.requestId);
10772
+ }
10773
+ if (obj.request != null) {
10774
+ writer.uint32(18);
10775
+ PushRequest.codec().encode(obj.request, writer);
10776
+ }
10777
+ if (obj.response != null) {
10778
+ writer.uint32(26);
10779
+ PushResponse.codec().encode(obj.response, writer);
10780
+ }
10781
+ if (opts.lengthDelimited !== false) {
10782
+ writer.ldelim();
10783
+ }
10784
+ }, (reader, length) => {
10785
+ const obj = {};
10786
+ const end = length == null ? reader.len : reader.pos + length;
10787
+ while (reader.pos < end) {
10788
+ const tag = reader.uint32();
10789
+ switch (tag >>> 3) {
10790
+ case 1:
10791
+ obj.requestId = reader.string();
10792
+ break;
10793
+ case 2:
10794
+ obj.request = PushRequest.codec().decode(reader, reader.uint32());
10795
+ break;
10796
+ case 3:
10797
+ obj.response = PushResponse.codec().decode(reader, reader.uint32());
10798
+ break;
10799
+ default:
10800
+ reader.skipType(tag & 7);
10801
+ break;
10802
+ }
10803
+ }
10804
+ return obj;
10805
+ });
10806
+ }
10807
+ return _codec;
10808
+ };
10809
+ PushRPC.encode = (obj) => {
10810
+ return encodeMessage(obj, PushRPC.codec());
10811
+ };
10812
+ PushRPC.decode = (buf) => {
10813
+ return decodeMessage(buf, PushRPC.codec());
10814
+ };
10815
+ })(PushRPC || (PushRPC = {}));
10816
+ var RateLimitProof$1;
10817
+ (function (RateLimitProof) {
10818
+ let _codec;
10819
+ RateLimitProof.codec = () => {
10820
+ if (_codec == null) {
10821
+ _codec = message$1((obj, writer, opts = {}) => {
10822
+ if (opts.lengthDelimited !== false) {
10823
+ writer.fork();
10824
+ }
10825
+ if (obj.proof != null) {
10826
+ writer.uint32(10);
10827
+ writer.bytes(obj.proof);
10828
+ }
10829
+ else {
10830
+ throw new Error('Protocol error: required field "proof" was not found in object');
10831
+ }
10832
+ if (obj.merkleRoot != null) {
10833
+ writer.uint32(18);
10834
+ writer.bytes(obj.merkleRoot);
10835
+ }
10836
+ else {
10837
+ throw new Error('Protocol error: required field "merkleRoot" was not found in object');
10838
+ }
10839
+ if (obj.epoch != null) {
10840
+ writer.uint32(26);
10841
+ writer.bytes(obj.epoch);
10842
+ }
10843
+ else {
10844
+ throw new Error('Protocol error: required field "epoch" was not found in object');
10845
+ }
10846
+ if (obj.shareX != null) {
10847
+ writer.uint32(34);
10848
+ writer.bytes(obj.shareX);
10849
+ }
10850
+ else {
10851
+ throw new Error('Protocol error: required field "shareX" was not found in object');
10852
+ }
10853
+ if (obj.shareY != null) {
10854
+ writer.uint32(42);
10855
+ writer.bytes(obj.shareY);
10856
+ }
10857
+ else {
10858
+ throw new Error('Protocol error: required field "shareY" was not found in object');
10859
+ }
10860
+ if (obj.nullifier != null) {
10861
+ writer.uint32(50);
10862
+ writer.bytes(obj.nullifier);
10863
+ }
10864
+ else {
10865
+ throw new Error('Protocol error: required field "nullifier" was not found in object');
10866
+ }
10867
+ if (obj.rlnIdentifier != null) {
10868
+ writer.uint32(58);
10869
+ writer.bytes(obj.rlnIdentifier);
10870
+ }
10871
+ else {
10872
+ throw new Error('Protocol error: required field "rlnIdentifier" was not found in object');
10873
+ }
10874
+ if (opts.lengthDelimited !== false) {
10875
+ writer.ldelim();
10876
+ }
10877
+ }, (reader, length) => {
10878
+ const obj = {
10879
+ proof: new Uint8Array(0),
10880
+ merkleRoot: new Uint8Array(0),
10881
+ epoch: new Uint8Array(0),
10882
+ shareX: new Uint8Array(0),
10883
+ shareY: new Uint8Array(0),
10884
+ nullifier: new Uint8Array(0),
10885
+ rlnIdentifier: new Uint8Array(0),
10886
+ };
10887
+ const end = length == null ? reader.len : reader.pos + length;
10888
+ while (reader.pos < end) {
10889
+ const tag = reader.uint32();
10890
+ switch (tag >>> 3) {
10891
+ case 1:
10892
+ obj.proof = reader.bytes();
10893
+ break;
10894
+ case 2:
10895
+ obj.merkleRoot = reader.bytes();
10896
+ break;
10897
+ case 3:
10898
+ obj.epoch = reader.bytes();
10899
+ break;
10900
+ case 4:
10901
+ obj.shareX = reader.bytes();
10902
+ break;
10903
+ case 5:
10904
+ obj.shareY = reader.bytes();
10905
+ break;
10906
+ case 6:
10907
+ obj.nullifier = reader.bytes();
10908
+ break;
10909
+ case 7:
10910
+ obj.rlnIdentifier = reader.bytes();
10911
+ break;
10912
+ default:
10913
+ reader.skipType(tag & 7);
10914
+ break;
10915
+ }
10916
+ }
10917
+ if (obj.proof == null) {
10918
+ throw new Error('Protocol error: value for required field "proof" was not found in protobuf');
10919
+ }
10920
+ if (obj.merkleRoot == null) {
10921
+ throw new Error('Protocol error: value for required field "merkleRoot" was not found in protobuf');
10922
+ }
10923
+ if (obj.epoch == null) {
10924
+ throw new Error('Protocol error: value for required field "epoch" was not found in protobuf');
10925
+ }
10926
+ if (obj.shareX == null) {
10927
+ throw new Error('Protocol error: value for required field "shareX" was not found in protobuf');
10928
+ }
10929
+ if (obj.shareY == null) {
10930
+ throw new Error('Protocol error: value for required field "shareY" was not found in protobuf');
10931
+ }
10932
+ if (obj.nullifier == null) {
10933
+ throw new Error('Protocol error: value for required field "nullifier" was not found in protobuf');
10934
+ }
10935
+ if (obj.rlnIdentifier == null) {
10936
+ throw new Error('Protocol error: value for required field "rlnIdentifier" was not found in protobuf');
10937
+ }
10938
+ return obj;
10939
+ });
10940
+ }
10941
+ return _codec;
10942
+ };
10943
+ RateLimitProof.encode = (obj) => {
10944
+ return encodeMessage(obj, RateLimitProof.codec());
10945
+ };
10946
+ RateLimitProof.decode = (buf) => {
10947
+ return decodeMessage(buf, RateLimitProof.codec());
10948
+ };
10949
+ })(RateLimitProof$1 || (RateLimitProof$1 = {}));
10950
+ var WakuMessage$1;
10951
+ (function (WakuMessage) {
10952
+ let _codec;
10953
+ WakuMessage.codec = () => {
10954
+ if (_codec == null) {
10955
+ _codec = message$1((obj, writer, opts = {}) => {
10956
+ if (opts.lengthDelimited !== false) {
10957
+ writer.fork();
10958
+ }
10959
+ if (obj.payload != null) {
10960
+ writer.uint32(10);
10961
+ writer.bytes(obj.payload);
10962
+ }
10963
+ if (obj.contentTopic != null) {
10964
+ writer.uint32(18);
10965
+ writer.string(obj.contentTopic);
10966
+ }
10967
+ if (obj.version != null) {
10968
+ writer.uint32(24);
10969
+ writer.uint32(obj.version);
10970
+ }
10971
+ if (obj.timestampDeprecated != null) {
10972
+ writer.uint32(33);
10973
+ writer.double(obj.timestampDeprecated);
10974
+ }
10975
+ if (obj.timestamp != null) {
10976
+ writer.uint32(80);
10977
+ writer.sint64(obj.timestamp);
10978
+ }
10979
+ if (obj.rateLimitProof != null) {
10980
+ writer.uint32(170);
10981
+ RateLimitProof$1.codec().encode(obj.rateLimitProof, writer);
10982
+ }
10983
+ if (obj.ephemeral != null) {
10984
+ writer.uint32(248);
10985
+ writer.bool(obj.ephemeral);
10986
+ }
10987
+ if (opts.lengthDelimited !== false) {
10988
+ writer.ldelim();
10989
+ }
10990
+ }, (reader, length) => {
10991
+ const obj = {};
10992
+ const end = length == null ? reader.len : reader.pos + length;
10993
+ while (reader.pos < end) {
10994
+ const tag = reader.uint32();
10995
+ switch (tag >>> 3) {
10996
+ case 1:
10997
+ obj.payload = reader.bytes();
10998
+ break;
10999
+ case 2:
11000
+ obj.contentTopic = reader.string();
11001
+ break;
11002
+ case 3:
11003
+ obj.version = reader.uint32();
11004
+ break;
11005
+ case 4:
11006
+ obj.timestampDeprecated = reader.double();
11007
+ break;
11008
+ case 10:
11009
+ obj.timestamp = reader.sint64();
11010
+ break;
11011
+ case 21:
11012
+ obj.rateLimitProof = RateLimitProof$1.codec().decode(reader, reader.uint32());
11013
+ break;
11014
+ case 31:
11015
+ obj.ephemeral = reader.bool();
11016
+ break;
11017
+ default:
11018
+ reader.skipType(tag & 7);
11019
+ break;
11020
+ }
11021
+ }
11022
+ return obj;
11023
+ });
11024
+ }
11025
+ return _codec;
11026
+ };
11027
+ WakuMessage.encode = (obj) => {
11028
+ return encodeMessage(obj, WakuMessage.codec());
11029
+ };
11030
+ WakuMessage.decode = (buf) => {
11031
+ return decodeMessage(buf, WakuMessage.codec());
11032
+ };
11033
+ })(WakuMessage$1 || (WakuMessage$1 = {}));
11034
+
11035
+ /* eslint-disable import/export */
11036
+ var Index;
11037
+ (function (Index) {
11038
+ let _codec;
11039
+ Index.codec = () => {
11040
+ if (_codec == null) {
11041
+ _codec = message$1((obj, writer, opts = {}) => {
11042
+ if (opts.lengthDelimited !== false) {
11043
+ writer.fork();
11044
+ }
11045
+ if (obj.digest != null) {
11046
+ writer.uint32(10);
11047
+ writer.bytes(obj.digest);
11048
+ }
11049
+ if (obj.receivedTime != null) {
11050
+ writer.uint32(16);
11051
+ writer.sint64(obj.receivedTime);
11052
+ }
11053
+ if (obj.senderTime != null) {
11054
+ writer.uint32(24);
11055
+ writer.sint64(obj.senderTime);
11056
+ }
11057
+ if (obj.pubsubTopic != null) {
11058
+ writer.uint32(34);
11059
+ writer.string(obj.pubsubTopic);
11060
+ }
11061
+ if (opts.lengthDelimited !== false) {
11062
+ writer.ldelim();
11063
+ }
11064
+ }, (reader, length) => {
11065
+ const obj = {};
11066
+ const end = length == null ? reader.len : reader.pos + length;
11067
+ while (reader.pos < end) {
11068
+ const tag = reader.uint32();
11069
+ switch (tag >>> 3) {
11070
+ case 1:
11071
+ obj.digest = reader.bytes();
11072
+ break;
11073
+ case 2:
11074
+ obj.receivedTime = reader.sint64();
11075
+ break;
11076
+ case 3:
11077
+ obj.senderTime = reader.sint64();
11078
+ break;
11079
+ case 4:
11080
+ obj.pubsubTopic = reader.string();
11081
+ break;
11082
+ default:
11083
+ reader.skipType(tag & 7);
11084
+ break;
11085
+ }
11086
+ }
11087
+ return obj;
11088
+ });
11089
+ }
11090
+ return _codec;
11091
+ };
11092
+ Index.encode = (obj) => {
11093
+ return encodeMessage(obj, Index.codec());
11094
+ };
11095
+ Index.decode = (buf) => {
11096
+ return decodeMessage(buf, Index.codec());
11097
+ };
11098
+ })(Index || (Index = {}));
11099
+ var PagingInfo;
11100
+ (function (PagingInfo) {
11101
+ (function (Direction) {
11102
+ Direction["DIRECTION_BACKWARD_UNSPECIFIED"] = "DIRECTION_BACKWARD_UNSPECIFIED";
11103
+ Direction["DIRECTION_FORWARD"] = "DIRECTION_FORWARD";
11104
+ })(PagingInfo.Direction || (PagingInfo.Direction = {}));
11105
+ let __DirectionValues;
11106
+ (function (__DirectionValues) {
11107
+ __DirectionValues[__DirectionValues["DIRECTION_BACKWARD_UNSPECIFIED"] = 0] = "DIRECTION_BACKWARD_UNSPECIFIED";
11108
+ __DirectionValues[__DirectionValues["DIRECTION_FORWARD"] = 1] = "DIRECTION_FORWARD";
11109
+ })(__DirectionValues || (__DirectionValues = {}));
11110
+ (function (Direction) {
11111
+ Direction.codec = () => {
11112
+ return enumeration(__DirectionValues);
11113
+ };
11114
+ })(PagingInfo.Direction || (PagingInfo.Direction = {}));
11115
+ let _codec;
11116
+ PagingInfo.codec = () => {
11117
+ if (_codec == null) {
11118
+ _codec = message$1((obj, writer, opts = {}) => {
11119
+ if (opts.lengthDelimited !== false) {
11120
+ writer.fork();
11121
+ }
11122
+ if (obj.pageSize != null) {
11123
+ writer.uint32(8);
11124
+ writer.uint64(obj.pageSize);
11125
+ }
11126
+ if (obj.cursor != null) {
11127
+ writer.uint32(18);
11128
+ Index.codec().encode(obj.cursor, writer);
11129
+ }
11130
+ if (obj.direction != null) {
11131
+ writer.uint32(24);
11132
+ PagingInfo.Direction.codec().encode(obj.direction, writer);
11133
+ }
11134
+ if (opts.lengthDelimited !== false) {
11135
+ writer.ldelim();
11136
+ }
11137
+ }, (reader, length) => {
11138
+ const obj = {};
11139
+ const end = length == null ? reader.len : reader.pos + length;
11140
+ while (reader.pos < end) {
11141
+ const tag = reader.uint32();
11142
+ switch (tag >>> 3) {
11143
+ case 1:
11144
+ obj.pageSize = reader.uint64();
11145
+ break;
11146
+ case 2:
11147
+ obj.cursor = Index.codec().decode(reader, reader.uint32());
11148
+ break;
11149
+ case 3:
11150
+ obj.direction = PagingInfo.Direction.codec().decode(reader);
11151
+ break;
11152
+ default:
11153
+ reader.skipType(tag & 7);
11154
+ break;
11155
+ }
11156
+ }
11157
+ return obj;
11158
+ });
11159
+ }
11160
+ return _codec;
11161
+ };
11162
+ PagingInfo.encode = (obj) => {
11163
+ return encodeMessage(obj, PagingInfo.codec());
11164
+ };
11165
+ PagingInfo.decode = (buf) => {
11166
+ return decodeMessage(buf, PagingInfo.codec());
11167
+ };
11168
+ })(PagingInfo || (PagingInfo = {}));
11169
+ var ContentFilter;
11170
+ (function (ContentFilter) {
11171
+ let _codec;
11172
+ ContentFilter.codec = () => {
11173
+ if (_codec == null) {
11174
+ _codec = message$1((obj, writer, opts = {}) => {
11175
+ if (opts.lengthDelimited !== false) {
11176
+ writer.fork();
11177
+ }
11178
+ if (obj.contentTopic != null) {
11179
+ writer.uint32(10);
11180
+ writer.string(obj.contentTopic);
11181
+ }
11182
+ if (opts.lengthDelimited !== false) {
11183
+ writer.ldelim();
11184
+ }
11185
+ }, (reader, length) => {
11186
+ const obj = {};
11187
+ const end = length == null ? reader.len : reader.pos + length;
11188
+ while (reader.pos < end) {
11189
+ const tag = reader.uint32();
11190
+ switch (tag >>> 3) {
11191
+ case 1:
11192
+ obj.contentTopic = reader.string();
11193
+ break;
11194
+ default:
11195
+ reader.skipType(tag & 7);
11196
+ break;
11197
+ }
11198
+ }
11199
+ return obj;
11200
+ });
11201
+ }
11202
+ return _codec;
11203
+ };
11204
+ ContentFilter.encode = (obj) => {
11205
+ return encodeMessage(obj, ContentFilter.codec());
11206
+ };
11207
+ ContentFilter.decode = (buf) => {
11208
+ return decodeMessage(buf, ContentFilter.codec());
11209
+ };
11210
+ })(ContentFilter || (ContentFilter = {}));
11211
+ var HistoryQuery;
11212
+ (function (HistoryQuery) {
11213
+ let _codec;
11214
+ HistoryQuery.codec = () => {
11215
+ if (_codec == null) {
11216
+ _codec = message$1((obj, writer, opts = {}) => {
11217
+ if (opts.lengthDelimited !== false) {
11218
+ writer.fork();
11219
+ }
11220
+ if (obj.pubSubTopic != null) {
11221
+ writer.uint32(18);
11222
+ writer.string(obj.pubSubTopic);
11223
+ }
11224
+ if (obj.contentFilters != null) {
11225
+ for (const value of obj.contentFilters) {
11226
+ writer.uint32(26);
11227
+ ContentFilter.codec().encode(value, writer);
11228
+ }
11229
+ }
11230
+ else {
11231
+ throw new Error('Protocol error: required field "contentFilters" was not found in object');
11232
+ }
11233
+ if (obj.pagingInfo != null) {
11234
+ writer.uint32(34);
11235
+ PagingInfo.codec().encode(obj.pagingInfo, writer);
11236
+ }
11237
+ if (obj.startTime != null) {
11238
+ writer.uint32(40);
11239
+ writer.sint64(obj.startTime);
11240
+ }
11241
+ if (obj.endTime != null) {
11242
+ writer.uint32(48);
11243
+ writer.sint64(obj.endTime);
11244
+ }
11245
+ if (opts.lengthDelimited !== false) {
11246
+ writer.ldelim();
11247
+ }
11248
+ }, (reader, length) => {
11249
+ const obj = {
11250
+ contentFilters: [],
11251
+ };
11252
+ const end = length == null ? reader.len : reader.pos + length;
11253
+ while (reader.pos < end) {
11254
+ const tag = reader.uint32();
11255
+ switch (tag >>> 3) {
11256
+ case 2:
11257
+ obj.pubSubTopic = reader.string();
11258
+ break;
11259
+ case 3:
11260
+ obj.contentFilters.push(ContentFilter.codec().decode(reader, reader.uint32()));
11261
+ break;
11262
+ case 4:
11263
+ obj.pagingInfo = PagingInfo.codec().decode(reader, reader.uint32());
11264
+ break;
11265
+ case 5:
11266
+ obj.startTime = reader.sint64();
11267
+ break;
11268
+ case 6:
11269
+ obj.endTime = reader.sint64();
11270
+ break;
11271
+ default:
11272
+ reader.skipType(tag & 7);
11273
+ break;
11274
+ }
11275
+ }
11276
+ return obj;
11277
+ });
11278
+ }
11279
+ return _codec;
11280
+ };
11281
+ HistoryQuery.encode = (obj) => {
11282
+ return encodeMessage(obj, HistoryQuery.codec());
11283
+ };
11284
+ HistoryQuery.decode = (buf) => {
11285
+ return decodeMessage(buf, HistoryQuery.codec());
11286
+ };
11287
+ })(HistoryQuery || (HistoryQuery = {}));
11288
+ var HistoryResponse;
11289
+ (function (HistoryResponse) {
11290
+ (function (HistoryError) {
11291
+ HistoryError["ERROR_NONE_UNSPECIFIED"] = "ERROR_NONE_UNSPECIFIED";
11292
+ HistoryError["ERROR_INVALID_CURSOR"] = "ERROR_INVALID_CURSOR";
11293
+ })(HistoryResponse.HistoryError || (HistoryResponse.HistoryError = {}));
11294
+ let __HistoryErrorValues;
11295
+ (function (__HistoryErrorValues) {
11296
+ __HistoryErrorValues[__HistoryErrorValues["ERROR_NONE_UNSPECIFIED"] = 0] = "ERROR_NONE_UNSPECIFIED";
11297
+ __HistoryErrorValues[__HistoryErrorValues["ERROR_INVALID_CURSOR"] = 1] = "ERROR_INVALID_CURSOR";
11298
+ })(__HistoryErrorValues || (__HistoryErrorValues = {}));
11299
+ (function (HistoryError) {
11300
+ HistoryError.codec = () => {
11301
+ return enumeration(__HistoryErrorValues);
11302
+ };
11303
+ })(HistoryResponse.HistoryError || (HistoryResponse.HistoryError = {}));
11304
+ let _codec;
11305
+ HistoryResponse.codec = () => {
11306
+ if (_codec == null) {
11307
+ _codec = message$1((obj, writer, opts = {}) => {
11308
+ if (opts.lengthDelimited !== false) {
11309
+ writer.fork();
11310
+ }
11311
+ if (obj.messages != null) {
11312
+ for (const value of obj.messages) {
11313
+ writer.uint32(18);
11314
+ WakuMessage.codec().encode(value, writer);
11315
+ }
11316
+ }
11317
+ else {
11318
+ throw new Error('Protocol error: required field "messages" was not found in object');
11319
+ }
11320
+ if (obj.pagingInfo != null) {
11321
+ writer.uint32(26);
11322
+ PagingInfo.codec().encode(obj.pagingInfo, writer);
11323
+ }
11324
+ if (obj.error != null) {
11325
+ writer.uint32(32);
11326
+ HistoryResponse.HistoryError.codec().encode(obj.error, writer);
11327
+ }
11328
+ if (opts.lengthDelimited !== false) {
11329
+ writer.ldelim();
11330
+ }
11331
+ }, (reader, length) => {
11332
+ const obj = {
11333
+ messages: [],
11334
+ };
11335
+ const end = length == null ? reader.len : reader.pos + length;
11336
+ while (reader.pos < end) {
11337
+ const tag = reader.uint32();
11338
+ switch (tag >>> 3) {
11339
+ case 2:
11340
+ obj.messages.push(WakuMessage.codec().decode(reader, reader.uint32()));
11341
+ break;
11342
+ case 3:
11343
+ obj.pagingInfo = PagingInfo.codec().decode(reader, reader.uint32());
11344
+ break;
11345
+ case 4:
11346
+ obj.error = HistoryResponse.HistoryError.codec().decode(reader);
11347
+ break;
11348
+ default:
11349
+ reader.skipType(tag & 7);
11350
+ break;
11351
+ }
11352
+ }
11353
+ return obj;
11354
+ });
11355
+ }
11356
+ return _codec;
11357
+ };
11358
+ HistoryResponse.encode = (obj) => {
11359
+ return encodeMessage(obj, HistoryResponse.codec());
11360
+ };
11361
+ HistoryResponse.decode = (buf) => {
11362
+ return decodeMessage(buf, HistoryResponse.codec());
11363
+ };
11364
+ })(HistoryResponse || (HistoryResponse = {}));
11365
+ var HistoryRPC;
11366
+ (function (HistoryRPC) {
11367
+ let _codec;
11368
+ HistoryRPC.codec = () => {
11369
+ if (_codec == null) {
11370
+ _codec = message$1((obj, writer, opts = {}) => {
11371
+ if (opts.lengthDelimited !== false) {
11372
+ writer.fork();
11373
+ }
11374
+ if (obj.requestId != null) {
11375
+ writer.uint32(10);
11376
+ writer.string(obj.requestId);
11377
+ }
11378
+ if (obj.query != null) {
11379
+ writer.uint32(18);
11380
+ HistoryQuery.codec().encode(obj.query, writer);
11381
+ }
11382
+ if (obj.response != null) {
11383
+ writer.uint32(26);
11384
+ HistoryResponse.codec().encode(obj.response, writer);
11385
+ }
11386
+ if (opts.lengthDelimited !== false) {
11387
+ writer.ldelim();
11388
+ }
11389
+ }, (reader, length) => {
11390
+ const obj = {};
11391
+ const end = length == null ? reader.len : reader.pos + length;
11392
+ while (reader.pos < end) {
11393
+ const tag = reader.uint32();
11394
+ switch (tag >>> 3) {
11395
+ case 1:
11396
+ obj.requestId = reader.string();
11397
+ break;
11398
+ case 2:
11399
+ obj.query = HistoryQuery.codec().decode(reader, reader.uint32());
11400
+ break;
11401
+ case 3:
11402
+ obj.response = HistoryResponse.codec().decode(reader, reader.uint32());
11403
+ break;
11404
+ default:
11405
+ reader.skipType(tag & 7);
11406
+ break;
11407
+ }
11408
+ }
11409
+ return obj;
11410
+ });
11411
+ }
11412
+ return _codec;
11413
+ };
11414
+ HistoryRPC.encode = (obj) => {
11415
+ return encodeMessage(obj, HistoryRPC.codec());
11416
+ };
11417
+ HistoryRPC.decode = (buf) => {
11418
+ return decodeMessage(buf, HistoryRPC.codec());
11419
+ };
11420
+ })(HistoryRPC || (HistoryRPC = {}));
11421
+ var RateLimitProof;
11422
+ (function (RateLimitProof) {
11423
+ let _codec;
11424
+ RateLimitProof.codec = () => {
11425
+ if (_codec == null) {
11426
+ _codec = message$1((obj, writer, opts = {}) => {
11427
+ if (opts.lengthDelimited !== false) {
11428
+ writer.fork();
11429
+ }
11430
+ if (obj.proof != null) {
11431
+ writer.uint32(10);
11432
+ writer.bytes(obj.proof);
11433
+ }
11434
+ else {
11435
+ throw new Error('Protocol error: required field "proof" was not found in object');
11436
+ }
11437
+ if (obj.merkleRoot != null) {
11438
+ writer.uint32(18);
11439
+ writer.bytes(obj.merkleRoot);
11440
+ }
11441
+ else {
11442
+ throw new Error('Protocol error: required field "merkleRoot" was not found in object');
11443
+ }
11444
+ if (obj.epoch != null) {
11445
+ writer.uint32(26);
11446
+ writer.bytes(obj.epoch);
11447
+ }
11448
+ else {
11449
+ throw new Error('Protocol error: required field "epoch" was not found in object');
11450
+ }
11451
+ if (obj.shareX != null) {
11452
+ writer.uint32(34);
11453
+ writer.bytes(obj.shareX);
11454
+ }
11455
+ else {
11456
+ throw new Error('Protocol error: required field "shareX" was not found in object');
11457
+ }
11458
+ if (obj.shareY != null) {
11459
+ writer.uint32(42);
11460
+ writer.bytes(obj.shareY);
11461
+ }
11462
+ else {
11463
+ throw new Error('Protocol error: required field "shareY" was not found in object');
11464
+ }
11465
+ if (obj.nullifier != null) {
11466
+ writer.uint32(50);
11467
+ writer.bytes(obj.nullifier);
11468
+ }
11469
+ else {
11470
+ throw new Error('Protocol error: required field "nullifier" was not found in object');
11471
+ }
11472
+ if (obj.rlnIdentifier != null) {
11473
+ writer.uint32(58);
11474
+ writer.bytes(obj.rlnIdentifier);
11475
+ }
11476
+ else {
11477
+ throw new Error('Protocol error: required field "rlnIdentifier" was not found in object');
11478
+ }
11479
+ if (opts.lengthDelimited !== false) {
11480
+ writer.ldelim();
11481
+ }
11482
+ }, (reader, length) => {
11483
+ const obj = {
11484
+ proof: new Uint8Array(0),
11485
+ merkleRoot: new Uint8Array(0),
11486
+ epoch: new Uint8Array(0),
11487
+ shareX: new Uint8Array(0),
11488
+ shareY: new Uint8Array(0),
11489
+ nullifier: new Uint8Array(0),
11490
+ rlnIdentifier: new Uint8Array(0),
11491
+ };
11492
+ const end = length == null ? reader.len : reader.pos + length;
11493
+ while (reader.pos < end) {
11494
+ const tag = reader.uint32();
11495
+ switch (tag >>> 3) {
11496
+ case 1:
11497
+ obj.proof = reader.bytes();
11498
+ break;
11499
+ case 2:
11500
+ obj.merkleRoot = reader.bytes();
11501
+ break;
11502
+ case 3:
11503
+ obj.epoch = reader.bytes();
11504
+ break;
11505
+ case 4:
11506
+ obj.shareX = reader.bytes();
11507
+ break;
11508
+ case 5:
11509
+ obj.shareY = reader.bytes();
11510
+ break;
11511
+ case 6:
11512
+ obj.nullifier = reader.bytes();
11513
+ break;
11514
+ case 7:
11515
+ obj.rlnIdentifier = reader.bytes();
11516
+ break;
11517
+ default:
11518
+ reader.skipType(tag & 7);
11519
+ break;
11520
+ }
11521
+ }
11522
+ if (obj.proof == null) {
11523
+ throw new Error('Protocol error: value for required field "proof" was not found in protobuf');
11524
+ }
11525
+ if (obj.merkleRoot == null) {
11526
+ throw new Error('Protocol error: value for required field "merkleRoot" was not found in protobuf');
11527
+ }
11528
+ if (obj.epoch == null) {
11529
+ throw new Error('Protocol error: value for required field "epoch" was not found in protobuf');
11530
+ }
11531
+ if (obj.shareX == null) {
11532
+ throw new Error('Protocol error: value for required field "shareX" was not found in protobuf');
11533
+ }
11534
+ if (obj.shareY == null) {
11535
+ throw new Error('Protocol error: value for required field "shareY" was not found in protobuf');
11536
+ }
11537
+ if (obj.nullifier == null) {
11538
+ throw new Error('Protocol error: value for required field "nullifier" was not found in protobuf');
11539
+ }
11540
+ if (obj.rlnIdentifier == null) {
11541
+ throw new Error('Protocol error: value for required field "rlnIdentifier" was not found in protobuf');
11542
+ }
11543
+ return obj;
11544
+ });
11545
+ }
11546
+ return _codec;
11547
+ };
11548
+ RateLimitProof.encode = (obj) => {
11549
+ return encodeMessage(obj, RateLimitProof.codec());
11550
+ };
11551
+ RateLimitProof.decode = (buf) => {
11552
+ return decodeMessage(buf, RateLimitProof.codec());
11553
+ };
11554
+ })(RateLimitProof || (RateLimitProof = {}));
11555
+ var WakuMessage;
11556
+ (function (WakuMessage) {
11557
+ let _codec;
11558
+ WakuMessage.codec = () => {
11559
+ if (_codec == null) {
11560
+ _codec = message$1((obj, writer, opts = {}) => {
11561
+ if (opts.lengthDelimited !== false) {
11562
+ writer.fork();
11563
+ }
11564
+ if (obj.payload != null) {
11565
+ writer.uint32(10);
11566
+ writer.bytes(obj.payload);
11567
+ }
11568
+ if (obj.contentTopic != null) {
11569
+ writer.uint32(18);
11570
+ writer.string(obj.contentTopic);
11571
+ }
11572
+ if (obj.version != null) {
11573
+ writer.uint32(24);
11574
+ writer.uint32(obj.version);
11575
+ }
11576
+ if (obj.timestampDeprecated != null) {
11577
+ writer.uint32(33);
11578
+ writer.double(obj.timestampDeprecated);
11579
+ }
11580
+ if (obj.timestamp != null) {
11581
+ writer.uint32(80);
11582
+ writer.sint64(obj.timestamp);
11583
+ }
11584
+ if (obj.rateLimitProof != null) {
11585
+ writer.uint32(170);
11586
+ RateLimitProof.codec().encode(obj.rateLimitProof, writer);
11587
+ }
11588
+ if (obj.ephemeral != null) {
11589
+ writer.uint32(248);
11590
+ writer.bool(obj.ephemeral);
11591
+ }
11592
+ if (opts.lengthDelimited !== false) {
11593
+ writer.ldelim();
11594
+ }
11595
+ }, (reader, length) => {
11596
+ const obj = {};
11597
+ const end = length == null ? reader.len : reader.pos + length;
11598
+ while (reader.pos < end) {
11599
+ const tag = reader.uint32();
11600
+ switch (tag >>> 3) {
11601
+ case 1:
11602
+ obj.payload = reader.bytes();
11603
+ break;
11604
+ case 2:
11605
+ obj.contentTopic = reader.string();
11606
+ break;
11607
+ case 3:
11608
+ obj.version = reader.uint32();
11609
+ break;
11610
+ case 4:
11611
+ obj.timestampDeprecated = reader.double();
11612
+ break;
11613
+ case 10:
11614
+ obj.timestamp = reader.sint64();
11615
+ break;
11616
+ case 21:
11617
+ obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32());
11618
+ break;
11619
+ case 31:
11620
+ obj.ephemeral = reader.bool();
11621
+ break;
11622
+ default:
11623
+ reader.skipType(tag & 7);
11624
+ break;
11625
+ }
11626
+ }
11627
+ return obj;
11628
+ });
11629
+ }
11630
+ return _codec;
11631
+ };
11632
+ WakuMessage.encode = (obj) => {
11633
+ return encodeMessage(obj, WakuMessage.codec());
11634
+ };
11635
+ WakuMessage.decode = (buf) => {
11636
+ return decodeMessage(buf, WakuMessage.codec());
11637
+ };
11638
+ })(WakuMessage || (WakuMessage = {}));
11639
+
11640
+ /* eslint-disable import/export */
11641
+ var PeerInfo;
11642
+ (function (PeerInfo) {
11643
+ let _codec;
11644
+ PeerInfo.codec = () => {
11645
+ if (_codec == null) {
11646
+ _codec = message$1((obj, writer, opts = {}) => {
11647
+ if (opts.lengthDelimited !== false) {
11648
+ writer.fork();
11649
+ }
11650
+ if (obj.enr != null) {
11651
+ writer.uint32(10);
11652
+ writer.bytes(obj.enr);
11653
+ }
11654
+ if (opts.lengthDelimited !== false) {
11655
+ writer.ldelim();
11656
+ }
11657
+ }, (reader, length) => {
11658
+ const obj = {};
11659
+ const end = length == null ? reader.len : reader.pos + length;
11660
+ while (reader.pos < end) {
11661
+ const tag = reader.uint32();
11662
+ switch (tag >>> 3) {
11663
+ case 1:
11664
+ obj.enr = reader.bytes();
11665
+ break;
11666
+ default:
11667
+ reader.skipType(tag & 7);
11668
+ break;
11669
+ }
11670
+ }
11671
+ return obj;
11672
+ });
11673
+ }
11674
+ return _codec;
11675
+ };
11676
+ PeerInfo.encode = (obj) => {
11677
+ return encodeMessage(obj, PeerInfo.codec());
11678
+ };
11679
+ PeerInfo.decode = (buf) => {
11680
+ return decodeMessage(buf, PeerInfo.codec());
11681
+ };
11682
+ })(PeerInfo || (PeerInfo = {}));
11683
+ var PeerExchangeQuery;
11684
+ (function (PeerExchangeQuery) {
11685
+ let _codec;
11686
+ PeerExchangeQuery.codec = () => {
11687
+ if (_codec == null) {
11688
+ _codec = message$1((obj, writer, opts = {}) => {
11689
+ if (opts.lengthDelimited !== false) {
11690
+ writer.fork();
11691
+ }
11692
+ if (obj.numPeers != null) {
11693
+ writer.uint32(8);
11694
+ writer.uint64(obj.numPeers);
11695
+ }
11696
+ if (opts.lengthDelimited !== false) {
11697
+ writer.ldelim();
11698
+ }
11699
+ }, (reader, length) => {
11700
+ const obj = {};
11701
+ const end = length == null ? reader.len : reader.pos + length;
11702
+ while (reader.pos < end) {
11703
+ const tag = reader.uint32();
11704
+ switch (tag >>> 3) {
11705
+ case 1:
11706
+ obj.numPeers = reader.uint64();
11707
+ break;
11708
+ default:
11709
+ reader.skipType(tag & 7);
11710
+ break;
11711
+ }
11712
+ }
11713
+ return obj;
11714
+ });
11715
+ }
11716
+ return _codec;
11717
+ };
11718
+ PeerExchangeQuery.encode = (obj) => {
11719
+ return encodeMessage(obj, PeerExchangeQuery.codec());
11720
+ };
11721
+ PeerExchangeQuery.decode = (buf) => {
11722
+ return decodeMessage(buf, PeerExchangeQuery.codec());
11723
+ };
11724
+ })(PeerExchangeQuery || (PeerExchangeQuery = {}));
11725
+ var PeerExchangeResponse;
11726
+ (function (PeerExchangeResponse) {
11727
+ let _codec;
11728
+ PeerExchangeResponse.codec = () => {
11729
+ if (_codec == null) {
11730
+ _codec = message$1((obj, writer, opts = {}) => {
11731
+ if (opts.lengthDelimited !== false) {
11732
+ writer.fork();
11733
+ }
11734
+ if (obj.peerInfos != null) {
11735
+ for (const value of obj.peerInfos) {
11736
+ writer.uint32(10);
11737
+ PeerInfo.codec().encode(value, writer);
11738
+ }
11739
+ }
11740
+ else {
11741
+ throw new Error('Protocol error: required field "peerInfos" was not found in object');
11742
+ }
11743
+ if (opts.lengthDelimited !== false) {
11744
+ writer.ldelim();
11745
+ }
11746
+ }, (reader, length) => {
11747
+ const obj = {
11748
+ peerInfos: [],
11749
+ };
11750
+ const end = length == null ? reader.len : reader.pos + length;
11751
+ while (reader.pos < end) {
11752
+ const tag = reader.uint32();
11753
+ switch (tag >>> 3) {
11754
+ case 1:
11755
+ obj.peerInfos.push(PeerInfo.codec().decode(reader, reader.uint32()));
11756
+ break;
11757
+ default:
11758
+ reader.skipType(tag & 7);
11759
+ break;
11760
+ }
11761
+ }
11762
+ return obj;
11763
+ });
11764
+ }
11765
+ return _codec;
11766
+ };
11767
+ PeerExchangeResponse.encode = (obj) => {
11768
+ return encodeMessage(obj, PeerExchangeResponse.codec());
11769
+ };
11770
+ PeerExchangeResponse.decode = (buf) => {
11771
+ return decodeMessage(buf, PeerExchangeResponse.codec());
11772
+ };
11773
+ })(PeerExchangeResponse || (PeerExchangeResponse = {}));
11774
+ var PeerExchangeRPC;
11775
+ (function (PeerExchangeRPC) {
11776
+ let _codec;
11777
+ PeerExchangeRPC.codec = () => {
11778
+ if (_codec == null) {
11779
+ _codec = message$1((obj, writer, opts = {}) => {
11780
+ if (opts.lengthDelimited !== false) {
11781
+ writer.fork();
11782
+ }
11783
+ if (obj.query != null) {
11784
+ writer.uint32(10);
11785
+ PeerExchangeQuery.codec().encode(obj.query, writer);
11786
+ }
11787
+ if (obj.response != null) {
11788
+ writer.uint32(18);
11789
+ PeerExchangeResponse.codec().encode(obj.response, writer);
11790
+ }
11791
+ if (opts.lengthDelimited !== false) {
11792
+ writer.ldelim();
11793
+ }
11794
+ }, (reader, length) => {
11795
+ const obj = {};
11796
+ const end = length == null ? reader.len : reader.pos + length;
11797
+ while (reader.pos < end) {
11798
+ const tag = reader.uint32();
11799
+ switch (tag >>> 3) {
11800
+ case 1:
11801
+ obj.query = PeerExchangeQuery.codec().decode(reader, reader.uint32());
11802
+ break;
11803
+ case 2:
11804
+ obj.response = PeerExchangeResponse.codec().decode(reader, reader.uint32());
11805
+ break;
11806
+ default:
11807
+ reader.skipType(tag & 7);
11808
+ break;
11809
+ }
11810
+ }
11811
+ return obj;
11812
+ });
11813
+ }
11814
+ return _codec;
11815
+ };
11816
+ PeerExchangeRPC.encode = (obj) => {
11817
+ return encodeMessage(obj, PeerExchangeRPC.codec());
11818
+ };
11819
+ PeerExchangeRPC.decode = (buf) => {
11820
+ return decodeMessage(buf, PeerExchangeRPC.codec());
11821
+ };
11822
+ })(PeerExchangeRPC || (PeerExchangeRPC = {}));
11823
+
11824
+ export { FilterRPC as F, HistoryRPC as H, PushRPC as P, TopicOnlyMessage as T, WakuMessage$3 as W, aspromise as a, base64$1 as b, commonjsGlobal as c, debug as d, eventemitter as e, float as f, getAugmentedNamespace as g, PushResponse as h, inquire_1 as i, PagingInfo as j, HistoryResponse as k, getDefaultExportFromCjs as l, message as m, pool_1 as p, utf8$2 as u };