protobufjs 8.1.6-experimental → 8.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +225 -570
- package/dist/light/protobuf.js +2041 -1482
- package/dist/light/protobuf.js.map +1 -1
- package/dist/light/protobuf.min.js +3 -3
- package/dist/light/protobuf.min.js.map +1 -1
- package/dist/minimal/protobuf.js +1167 -863
- package/dist/minimal/protobuf.js.map +1 -1
- package/dist/minimal/protobuf.min.js +3 -3
- package/dist/minimal/protobuf.min.js.map +1 -1
- package/dist/protobuf.js +2173 -1527
- package/dist/protobuf.js.map +1 -1
- package/dist/protobuf.min.js +3 -3
- package/dist/protobuf.min.js.map +1 -1
- package/ext/README.md +81 -0
- package/ext/descriptor/README.md +3 -70
- package/ext/descriptor/index.d.ts +1 -190
- package/ext/descriptor/index.js +1 -1161
- package/ext/descriptor.d.ts +309 -0
- package/ext/descriptor.js +1241 -0
- package/ext/textformat.d.ts +24 -0
- package/ext/textformat.js +1227 -0
- package/google/protobuf/compiler/plugin.json +126 -0
- package/google/protobuf/compiler/plugin.proto +47 -0
- package/google/protobuf/descriptor.json +2 -2
- package/google/protobuf/descriptor.proto +2 -1
- package/index.d.ts +585 -476
- package/package.json +22 -40
- package/src/converter.js +63 -27
- package/src/decoder.js +126 -49
- package/src/encoder.js +10 -2
- package/src/enum.js +4 -1
- package/src/field.js +10 -7
- package/src/mapfield.js +1 -0
- package/src/message.js +7 -6
- package/src/method.js +4 -3
- package/src/namespace.js +31 -12
- package/src/object.js +24 -19
- package/src/oneof.js +2 -0
- package/src/parse.js +128 -46
- package/src/reader.js +145 -30
- package/src/reader_buffer.js +24 -3
- package/src/root.js +10 -4
- package/src/service.js +15 -6
- package/src/tokenize.js +6 -1
- package/src/type.js +57 -27
- package/src/types.js +1 -1
- package/src/util/aspromise.d.ts +13 -0
- package/src/util/aspromise.js +52 -0
- package/src/util/base64.d.ts +32 -0
- package/src/util/base64.js +146 -0
- package/src/util/codegen.d.ts +31 -0
- package/src/util/codegen.js +113 -0
- package/src/util/eventemitter.d.ts +45 -0
- package/src/util/eventemitter.js +84 -0
- package/src/util/fetch.d.ts +56 -0
- package/src/util/fetch.js +112 -0
- package/src/util/float.d.ts +83 -0
- package/src/util/float.js +335 -0
- package/src/util/fs.js +11 -0
- package/src/util/inquire.d.ts +10 -0
- package/src/util/inquire.js +38 -0
- package/src/util/minimal.js +74 -12
- package/src/util/path.d.ts +22 -0
- package/src/util/path.js +72 -0
- package/src/util/patterns.js +8 -0
- package/src/util/pool.d.ts +32 -0
- package/src/util/pool.js +48 -0
- package/src/util/utf8.d.ts +24 -0
- package/src/util/utf8.js +130 -0
- package/src/util.js +18 -13
- package/src/verifier.js +7 -4
- package/src/wrappers.js +4 -3
- package/src/writer.js +33 -5
- package/src/writer_buffer.js +18 -1
- package/tsconfig.json +2 -2
- package/ext/descriptor/test.js +0 -54
package/dist/minimal/protobuf.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* protobuf.js v8.1
|
|
3
|
-
* compiled
|
|
2
|
+
* protobuf.js v8.2.1 (c) 2016, daniel wirtz
|
|
3
|
+
* compiled wed, 13 may 2026 10:17:57 utc
|
|
4
4
|
* licensed under the bsd-3-clause license
|
|
5
5
|
* see: https://github.com/dcodeio/protobuf.js for details
|
|
6
6
|
*/
|
|
@@ -38,792 +38,6 @@
|
|
|
38
38
|
module.exports = protobuf;
|
|
39
39
|
|
|
40
40
|
})/* end of prelude */({1:[function(require,module,exports){
|
|
41
|
-
"use strict";
|
|
42
|
-
module.exports = asPromise;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Callback as used by {@link util.asPromise}.
|
|
46
|
-
* @typedef asPromiseCallback
|
|
47
|
-
* @type {function}
|
|
48
|
-
* @param {Error|null} error Error, if any
|
|
49
|
-
* @param {...*} params Additional arguments
|
|
50
|
-
* @returns {undefined}
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Returns a promise from a node-style callback function.
|
|
55
|
-
* @memberof util
|
|
56
|
-
* @param {asPromiseCallback} fn Function to call
|
|
57
|
-
* @param {*} ctx Function context
|
|
58
|
-
* @param {...*} params Function arguments
|
|
59
|
-
* @returns {Promise<*>} Promisified function
|
|
60
|
-
*/
|
|
61
|
-
function asPromise(fn, ctx/*, varargs */) {
|
|
62
|
-
var params = new Array(arguments.length - 1),
|
|
63
|
-
offset = 0,
|
|
64
|
-
index = 2,
|
|
65
|
-
pending = true;
|
|
66
|
-
while (index < arguments.length)
|
|
67
|
-
params[offset++] = arguments[index++];
|
|
68
|
-
return new Promise(function executor(resolve, reject) {
|
|
69
|
-
params[offset] = function callback(err/*, varargs */) {
|
|
70
|
-
if (pending) {
|
|
71
|
-
pending = false;
|
|
72
|
-
if (err)
|
|
73
|
-
reject(err);
|
|
74
|
-
else {
|
|
75
|
-
var params = new Array(arguments.length - 1),
|
|
76
|
-
offset = 0;
|
|
77
|
-
while (offset < params.length)
|
|
78
|
-
params[offset++] = arguments[offset];
|
|
79
|
-
resolve.apply(null, params);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
try {
|
|
84
|
-
fn.apply(ctx || null, params);
|
|
85
|
-
} catch (err) {
|
|
86
|
-
if (pending) {
|
|
87
|
-
pending = false;
|
|
88
|
-
reject(err);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
},{}],2:[function(require,module,exports){
|
|
95
|
-
"use strict";
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* A minimal base64 implementation for number arrays.
|
|
99
|
-
* @memberof util
|
|
100
|
-
* @namespace
|
|
101
|
-
*/
|
|
102
|
-
var base64 = exports;
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Calculates the byte length of a base64 encoded string.
|
|
106
|
-
* @param {string} string Base64 encoded string
|
|
107
|
-
* @returns {number} Byte length
|
|
108
|
-
*/
|
|
109
|
-
base64.length = function length(string) {
|
|
110
|
-
var p = string.length;
|
|
111
|
-
if (!p)
|
|
112
|
-
return 0;
|
|
113
|
-
var n = 0;
|
|
114
|
-
while (--p % 4 > 1 && string.charAt(p) === "=")
|
|
115
|
-
++n;
|
|
116
|
-
return Math.ceil(string.length * 3) / 4 - n;
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
// Base64 encoding table
|
|
120
|
-
var b64 = new Array(64);
|
|
121
|
-
|
|
122
|
-
// Base64 decoding table
|
|
123
|
-
var s64 = new Array(123);
|
|
124
|
-
|
|
125
|
-
// 65..90, 97..122, 48..57, 43, 47
|
|
126
|
-
for (var i = 0; i < 64;)
|
|
127
|
-
s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Encodes a buffer to a base64 encoded string.
|
|
131
|
-
* @param {Uint8Array} buffer Source buffer
|
|
132
|
-
* @param {number} start Source start
|
|
133
|
-
* @param {number} end Source end
|
|
134
|
-
* @returns {string} Base64 encoded string
|
|
135
|
-
*/
|
|
136
|
-
base64.encode = function encode(buffer, start, end) {
|
|
137
|
-
var parts = null,
|
|
138
|
-
chunk = [];
|
|
139
|
-
var i = 0, // output index
|
|
140
|
-
j = 0, // goto index
|
|
141
|
-
t; // temporary
|
|
142
|
-
while (start < end) {
|
|
143
|
-
var b = buffer[start++];
|
|
144
|
-
switch (j) {
|
|
145
|
-
case 0:
|
|
146
|
-
chunk[i++] = b64[b >> 2];
|
|
147
|
-
t = (b & 3) << 4;
|
|
148
|
-
j = 1;
|
|
149
|
-
break;
|
|
150
|
-
case 1:
|
|
151
|
-
chunk[i++] = b64[t | b >> 4];
|
|
152
|
-
t = (b & 15) << 2;
|
|
153
|
-
j = 2;
|
|
154
|
-
break;
|
|
155
|
-
case 2:
|
|
156
|
-
chunk[i++] = b64[t | b >> 6];
|
|
157
|
-
chunk[i++] = b64[b & 63];
|
|
158
|
-
j = 0;
|
|
159
|
-
break;
|
|
160
|
-
}
|
|
161
|
-
if (i > 8191) {
|
|
162
|
-
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
163
|
-
i = 0;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
if (j) {
|
|
167
|
-
chunk[i++] = b64[t];
|
|
168
|
-
chunk[i++] = 61;
|
|
169
|
-
if (j === 1)
|
|
170
|
-
chunk[i++] = 61;
|
|
171
|
-
}
|
|
172
|
-
if (parts) {
|
|
173
|
-
if (i)
|
|
174
|
-
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
175
|
-
return parts.join("");
|
|
176
|
-
}
|
|
177
|
-
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
var invalidEncoding = "invalid encoding";
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Decodes a base64 encoded string to a buffer.
|
|
184
|
-
* @param {string} string Source string
|
|
185
|
-
* @param {Uint8Array} buffer Destination buffer
|
|
186
|
-
* @param {number} offset Destination offset
|
|
187
|
-
* @returns {number} Number of bytes written
|
|
188
|
-
* @throws {Error} If encoding is invalid
|
|
189
|
-
*/
|
|
190
|
-
base64.decode = function decode(string, buffer, offset) {
|
|
191
|
-
var start = offset;
|
|
192
|
-
var j = 0, // goto index
|
|
193
|
-
t; // temporary
|
|
194
|
-
for (var i = 0; i < string.length;) {
|
|
195
|
-
var c = string.charCodeAt(i++);
|
|
196
|
-
if (c === 61 && j > 1)
|
|
197
|
-
break;
|
|
198
|
-
if ((c = s64[c]) === undefined)
|
|
199
|
-
throw Error(invalidEncoding);
|
|
200
|
-
switch (j) {
|
|
201
|
-
case 0:
|
|
202
|
-
t = c;
|
|
203
|
-
j = 1;
|
|
204
|
-
break;
|
|
205
|
-
case 1:
|
|
206
|
-
buffer[offset++] = t << 2 | (c & 48) >> 4;
|
|
207
|
-
t = c;
|
|
208
|
-
j = 2;
|
|
209
|
-
break;
|
|
210
|
-
case 2:
|
|
211
|
-
buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
|
|
212
|
-
t = c;
|
|
213
|
-
j = 3;
|
|
214
|
-
break;
|
|
215
|
-
case 3:
|
|
216
|
-
buffer[offset++] = (t & 3) << 6 | c;
|
|
217
|
-
j = 0;
|
|
218
|
-
break;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
if (j === 1)
|
|
222
|
-
throw Error(invalidEncoding);
|
|
223
|
-
return offset - start;
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
/**
|
|
227
|
-
* Tests if the specified string appears to be base64 encoded.
|
|
228
|
-
* @param {string} string String to test
|
|
229
|
-
* @returns {boolean} `true` if probably base64 encoded, otherwise false
|
|
230
|
-
*/
|
|
231
|
-
base64.test = function test(string) {
|
|
232
|
-
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);
|
|
233
|
-
};
|
|
234
|
-
|
|
235
|
-
},{}],3:[function(require,module,exports){
|
|
236
|
-
"use strict";
|
|
237
|
-
module.exports = EventEmitter;
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* Constructs a new event emitter instance.
|
|
241
|
-
* @classdesc A minimal event emitter.
|
|
242
|
-
* @memberof util
|
|
243
|
-
* @constructor
|
|
244
|
-
*/
|
|
245
|
-
function EventEmitter() {
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* Registered listeners.
|
|
249
|
-
* @type {Object.<string,*>}
|
|
250
|
-
* @private
|
|
251
|
-
*/
|
|
252
|
-
this._listeners = {};
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
/**
|
|
256
|
-
* Registers an event listener.
|
|
257
|
-
* @param {string} evt Event name
|
|
258
|
-
* @param {function} fn Listener
|
|
259
|
-
* @param {*} [ctx] Listener context
|
|
260
|
-
* @returns {util.EventEmitter} `this`
|
|
261
|
-
*/
|
|
262
|
-
EventEmitter.prototype.on = function on(evt, fn, ctx) {
|
|
263
|
-
(this._listeners[evt] || (this._listeners[evt] = [])).push({
|
|
264
|
-
fn : fn,
|
|
265
|
-
ctx : ctx || this
|
|
266
|
-
});
|
|
267
|
-
return this;
|
|
268
|
-
};
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* Removes an event listener or any matching listeners if arguments are omitted.
|
|
272
|
-
* @param {string} [evt] Event name. Removes all listeners if omitted.
|
|
273
|
-
* @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
|
|
274
|
-
* @returns {util.EventEmitter} `this`
|
|
275
|
-
*/
|
|
276
|
-
EventEmitter.prototype.off = function off(evt, fn) {
|
|
277
|
-
if (evt === undefined)
|
|
278
|
-
this._listeners = {};
|
|
279
|
-
else {
|
|
280
|
-
if (fn === undefined)
|
|
281
|
-
this._listeners[evt] = [];
|
|
282
|
-
else {
|
|
283
|
-
var listeners = this._listeners[evt];
|
|
284
|
-
for (var i = 0; i < listeners.length;)
|
|
285
|
-
if (listeners[i].fn === fn)
|
|
286
|
-
listeners.splice(i, 1);
|
|
287
|
-
else
|
|
288
|
-
++i;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
return this;
|
|
292
|
-
};
|
|
293
|
-
|
|
294
|
-
/**
|
|
295
|
-
* Emits an event by calling its listeners with the specified arguments.
|
|
296
|
-
* @param {string} evt Event name
|
|
297
|
-
* @param {...*} args Arguments
|
|
298
|
-
* @returns {util.EventEmitter} `this`
|
|
299
|
-
*/
|
|
300
|
-
EventEmitter.prototype.emit = function emit(evt) {
|
|
301
|
-
var listeners = this._listeners[evt];
|
|
302
|
-
if (listeners) {
|
|
303
|
-
var args = [],
|
|
304
|
-
i = 1;
|
|
305
|
-
for (; i < arguments.length;)
|
|
306
|
-
args.push(arguments[i++]);
|
|
307
|
-
for (i = 0; i < listeners.length;)
|
|
308
|
-
listeners[i].fn.apply(listeners[i++].ctx, args);
|
|
309
|
-
}
|
|
310
|
-
return this;
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
},{}],4:[function(require,module,exports){
|
|
314
|
-
"use strict";
|
|
315
|
-
|
|
316
|
-
module.exports = factory(factory);
|
|
317
|
-
|
|
318
|
-
/**
|
|
319
|
-
* Reads / writes floats / doubles from / to buffers.
|
|
320
|
-
* @name util.float
|
|
321
|
-
* @namespace
|
|
322
|
-
*/
|
|
323
|
-
|
|
324
|
-
/**
|
|
325
|
-
* Writes a 32 bit float to a buffer using little endian byte order.
|
|
326
|
-
* @name util.float.writeFloatLE
|
|
327
|
-
* @function
|
|
328
|
-
* @param {number} val Value to write
|
|
329
|
-
* @param {Uint8Array} buf Target buffer
|
|
330
|
-
* @param {number} pos Target buffer offset
|
|
331
|
-
* @returns {undefined}
|
|
332
|
-
*/
|
|
333
|
-
|
|
334
|
-
/**
|
|
335
|
-
* Writes a 32 bit float to a buffer using big endian byte order.
|
|
336
|
-
* @name util.float.writeFloatBE
|
|
337
|
-
* @function
|
|
338
|
-
* @param {number} val Value to write
|
|
339
|
-
* @param {Uint8Array} buf Target buffer
|
|
340
|
-
* @param {number} pos Target buffer offset
|
|
341
|
-
* @returns {undefined}
|
|
342
|
-
*/
|
|
343
|
-
|
|
344
|
-
/**
|
|
345
|
-
* Reads a 32 bit float from a buffer using little endian byte order.
|
|
346
|
-
* @name util.float.readFloatLE
|
|
347
|
-
* @function
|
|
348
|
-
* @param {Uint8Array} buf Source buffer
|
|
349
|
-
* @param {number} pos Source buffer offset
|
|
350
|
-
* @returns {number} Value read
|
|
351
|
-
*/
|
|
352
|
-
|
|
353
|
-
/**
|
|
354
|
-
* Reads a 32 bit float from a buffer using big endian byte order.
|
|
355
|
-
* @name util.float.readFloatBE
|
|
356
|
-
* @function
|
|
357
|
-
* @param {Uint8Array} buf Source buffer
|
|
358
|
-
* @param {number} pos Source buffer offset
|
|
359
|
-
* @returns {number} Value read
|
|
360
|
-
*/
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* Writes a 64 bit double to a buffer using little endian byte order.
|
|
364
|
-
* @name util.float.writeDoubleLE
|
|
365
|
-
* @function
|
|
366
|
-
* @param {number} val Value to write
|
|
367
|
-
* @param {Uint8Array} buf Target buffer
|
|
368
|
-
* @param {number} pos Target buffer offset
|
|
369
|
-
* @returns {undefined}
|
|
370
|
-
*/
|
|
371
|
-
|
|
372
|
-
/**
|
|
373
|
-
* Writes a 64 bit double to a buffer using big endian byte order.
|
|
374
|
-
* @name util.float.writeDoubleBE
|
|
375
|
-
* @function
|
|
376
|
-
* @param {number} val Value to write
|
|
377
|
-
* @param {Uint8Array} buf Target buffer
|
|
378
|
-
* @param {number} pos Target buffer offset
|
|
379
|
-
* @returns {undefined}
|
|
380
|
-
*/
|
|
381
|
-
|
|
382
|
-
/**
|
|
383
|
-
* Reads a 64 bit double from a buffer using little endian byte order.
|
|
384
|
-
* @name util.float.readDoubleLE
|
|
385
|
-
* @function
|
|
386
|
-
* @param {Uint8Array} buf Source buffer
|
|
387
|
-
* @param {number} pos Source buffer offset
|
|
388
|
-
* @returns {number} Value read
|
|
389
|
-
*/
|
|
390
|
-
|
|
391
|
-
/**
|
|
392
|
-
* Reads a 64 bit double from a buffer using big endian byte order.
|
|
393
|
-
* @name util.float.readDoubleBE
|
|
394
|
-
* @function
|
|
395
|
-
* @param {Uint8Array} buf Source buffer
|
|
396
|
-
* @param {number} pos Source buffer offset
|
|
397
|
-
* @returns {number} Value read
|
|
398
|
-
*/
|
|
399
|
-
|
|
400
|
-
// Factory function for the purpose of node-based testing in modified global environments
|
|
401
|
-
function factory(exports) {
|
|
402
|
-
|
|
403
|
-
// float: typed array
|
|
404
|
-
if (typeof Float32Array !== "undefined") (function() {
|
|
405
|
-
|
|
406
|
-
var f32 = new Float32Array([ -0 ]),
|
|
407
|
-
f8b = new Uint8Array(f32.buffer),
|
|
408
|
-
le = f8b[3] === 128;
|
|
409
|
-
|
|
410
|
-
function writeFloat_f32_cpy(val, buf, pos) {
|
|
411
|
-
f32[0] = val;
|
|
412
|
-
buf[pos ] = f8b[0];
|
|
413
|
-
buf[pos + 1] = f8b[1];
|
|
414
|
-
buf[pos + 2] = f8b[2];
|
|
415
|
-
buf[pos + 3] = f8b[3];
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
function writeFloat_f32_rev(val, buf, pos) {
|
|
419
|
-
f32[0] = val;
|
|
420
|
-
buf[pos ] = f8b[3];
|
|
421
|
-
buf[pos + 1] = f8b[2];
|
|
422
|
-
buf[pos + 2] = f8b[1];
|
|
423
|
-
buf[pos + 3] = f8b[0];
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
/* istanbul ignore next */
|
|
427
|
-
exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;
|
|
428
|
-
/* istanbul ignore next */
|
|
429
|
-
exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;
|
|
430
|
-
|
|
431
|
-
function readFloat_f32_cpy(buf, pos) {
|
|
432
|
-
f8b[0] = buf[pos ];
|
|
433
|
-
f8b[1] = buf[pos + 1];
|
|
434
|
-
f8b[2] = buf[pos + 2];
|
|
435
|
-
f8b[3] = buf[pos + 3];
|
|
436
|
-
return f32[0];
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
function readFloat_f32_rev(buf, pos) {
|
|
440
|
-
f8b[3] = buf[pos ];
|
|
441
|
-
f8b[2] = buf[pos + 1];
|
|
442
|
-
f8b[1] = buf[pos + 2];
|
|
443
|
-
f8b[0] = buf[pos + 3];
|
|
444
|
-
return f32[0];
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
/* istanbul ignore next */
|
|
448
|
-
exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;
|
|
449
|
-
/* istanbul ignore next */
|
|
450
|
-
exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
|
|
451
|
-
|
|
452
|
-
// float: ieee754
|
|
453
|
-
})(); else (function() {
|
|
454
|
-
|
|
455
|
-
function writeFloat_ieee754(writeUint, val, buf, pos) {
|
|
456
|
-
var sign = val < 0 ? 1 : 0;
|
|
457
|
-
if (sign)
|
|
458
|
-
val = -val;
|
|
459
|
-
if (val === 0)
|
|
460
|
-
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
|
|
461
|
-
else if (isNaN(val))
|
|
462
|
-
writeUint(2143289344, buf, pos);
|
|
463
|
-
else if (val > 3.4028234663852886e+38) // +-Infinity
|
|
464
|
-
writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
|
|
465
|
-
else if (val < 1.1754943508222875e-38) // denormal
|
|
466
|
-
writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
|
|
467
|
-
else {
|
|
468
|
-
var exponent = Math.floor(Math.log(val) / Math.LN2),
|
|
469
|
-
mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
|
|
470
|
-
writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);
|
|
475
|
-
exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);
|
|
476
|
-
|
|
477
|
-
function readFloat_ieee754(readUint, buf, pos) {
|
|
478
|
-
var uint = readUint(buf, pos),
|
|
479
|
-
sign = (uint >> 31) * 2 + 1,
|
|
480
|
-
exponent = uint >>> 23 & 255,
|
|
481
|
-
mantissa = uint & 8388607;
|
|
482
|
-
return exponent === 255
|
|
483
|
-
? mantissa
|
|
484
|
-
? NaN
|
|
485
|
-
: sign * Infinity
|
|
486
|
-
: exponent === 0 // denormal
|
|
487
|
-
? sign * 1.401298464324817e-45 * mantissa
|
|
488
|
-
: sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
|
|
489
|
-
}
|
|
490
|
-
|
|
491
|
-
exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);
|
|
492
|
-
exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);
|
|
493
|
-
|
|
494
|
-
})();
|
|
495
|
-
|
|
496
|
-
// double: typed array
|
|
497
|
-
if (typeof Float64Array !== "undefined") (function() {
|
|
498
|
-
|
|
499
|
-
var f64 = new Float64Array([-0]),
|
|
500
|
-
f8b = new Uint8Array(f64.buffer),
|
|
501
|
-
le = f8b[7] === 128;
|
|
502
|
-
|
|
503
|
-
function writeDouble_f64_cpy(val, buf, pos) {
|
|
504
|
-
f64[0] = val;
|
|
505
|
-
buf[pos ] = f8b[0];
|
|
506
|
-
buf[pos + 1] = f8b[1];
|
|
507
|
-
buf[pos + 2] = f8b[2];
|
|
508
|
-
buf[pos + 3] = f8b[3];
|
|
509
|
-
buf[pos + 4] = f8b[4];
|
|
510
|
-
buf[pos + 5] = f8b[5];
|
|
511
|
-
buf[pos + 6] = f8b[6];
|
|
512
|
-
buf[pos + 7] = f8b[7];
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
function writeDouble_f64_rev(val, buf, pos) {
|
|
516
|
-
f64[0] = val;
|
|
517
|
-
buf[pos ] = f8b[7];
|
|
518
|
-
buf[pos + 1] = f8b[6];
|
|
519
|
-
buf[pos + 2] = f8b[5];
|
|
520
|
-
buf[pos + 3] = f8b[4];
|
|
521
|
-
buf[pos + 4] = f8b[3];
|
|
522
|
-
buf[pos + 5] = f8b[2];
|
|
523
|
-
buf[pos + 6] = f8b[1];
|
|
524
|
-
buf[pos + 7] = f8b[0];
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
/* istanbul ignore next */
|
|
528
|
-
exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;
|
|
529
|
-
/* istanbul ignore next */
|
|
530
|
-
exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;
|
|
531
|
-
|
|
532
|
-
function readDouble_f64_cpy(buf, pos) {
|
|
533
|
-
f8b[0] = buf[pos ];
|
|
534
|
-
f8b[1] = buf[pos + 1];
|
|
535
|
-
f8b[2] = buf[pos + 2];
|
|
536
|
-
f8b[3] = buf[pos + 3];
|
|
537
|
-
f8b[4] = buf[pos + 4];
|
|
538
|
-
f8b[5] = buf[pos + 5];
|
|
539
|
-
f8b[6] = buf[pos + 6];
|
|
540
|
-
f8b[7] = buf[pos + 7];
|
|
541
|
-
return f64[0];
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
function readDouble_f64_rev(buf, pos) {
|
|
545
|
-
f8b[7] = buf[pos ];
|
|
546
|
-
f8b[6] = buf[pos + 1];
|
|
547
|
-
f8b[5] = buf[pos + 2];
|
|
548
|
-
f8b[4] = buf[pos + 3];
|
|
549
|
-
f8b[3] = buf[pos + 4];
|
|
550
|
-
f8b[2] = buf[pos + 5];
|
|
551
|
-
f8b[1] = buf[pos + 6];
|
|
552
|
-
f8b[0] = buf[pos + 7];
|
|
553
|
-
return f64[0];
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
/* istanbul ignore next */
|
|
557
|
-
exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
|
|
558
|
-
/* istanbul ignore next */
|
|
559
|
-
exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
|
|
560
|
-
|
|
561
|
-
// double: ieee754
|
|
562
|
-
})(); else (function() {
|
|
563
|
-
|
|
564
|
-
function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
|
|
565
|
-
var sign = val < 0 ? 1 : 0;
|
|
566
|
-
if (sign)
|
|
567
|
-
val = -val;
|
|
568
|
-
if (val === 0) {
|
|
569
|
-
writeUint(0, buf, pos + off0);
|
|
570
|
-
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
|
|
571
|
-
} else if (isNaN(val)) {
|
|
572
|
-
writeUint(0, buf, pos + off0);
|
|
573
|
-
writeUint(2146959360, buf, pos + off1);
|
|
574
|
-
} else if (val > 1.7976931348623157e+308) { // +-Infinity
|
|
575
|
-
writeUint(0, buf, pos + off0);
|
|
576
|
-
writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
|
|
577
|
-
} else {
|
|
578
|
-
var mantissa;
|
|
579
|
-
if (val < 2.2250738585072014e-308) { // denormal
|
|
580
|
-
mantissa = val / 5e-324;
|
|
581
|
-
writeUint(mantissa >>> 0, buf, pos + off0);
|
|
582
|
-
writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
|
|
583
|
-
} else {
|
|
584
|
-
var exponent = Math.floor(Math.log(val) / Math.LN2);
|
|
585
|
-
if (exponent === 1024)
|
|
586
|
-
exponent = 1023;
|
|
587
|
-
mantissa = val * Math.pow(2, -exponent);
|
|
588
|
-
writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
|
|
589
|
-
writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);
|
|
595
|
-
exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);
|
|
596
|
-
|
|
597
|
-
function readDouble_ieee754(readUint, off0, off1, buf, pos) {
|
|
598
|
-
var lo = readUint(buf, pos + off0),
|
|
599
|
-
hi = readUint(buf, pos + off1);
|
|
600
|
-
var sign = (hi >> 31) * 2 + 1,
|
|
601
|
-
exponent = hi >>> 20 & 2047,
|
|
602
|
-
mantissa = 4294967296 * (hi & 1048575) + lo;
|
|
603
|
-
return exponent === 2047
|
|
604
|
-
? mantissa
|
|
605
|
-
? NaN
|
|
606
|
-
: sign * Infinity
|
|
607
|
-
: exponent === 0 // denormal
|
|
608
|
-
? sign * 5e-324 * mantissa
|
|
609
|
-
: sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
|
|
610
|
-
}
|
|
611
|
-
|
|
612
|
-
exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);
|
|
613
|
-
exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);
|
|
614
|
-
|
|
615
|
-
})();
|
|
616
|
-
|
|
617
|
-
return exports;
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
// uint helpers
|
|
621
|
-
|
|
622
|
-
function writeUintLE(val, buf, pos) {
|
|
623
|
-
buf[pos ] = val & 255;
|
|
624
|
-
buf[pos + 1] = val >>> 8 & 255;
|
|
625
|
-
buf[pos + 2] = val >>> 16 & 255;
|
|
626
|
-
buf[pos + 3] = val >>> 24;
|
|
627
|
-
}
|
|
628
|
-
|
|
629
|
-
function writeUintBE(val, buf, pos) {
|
|
630
|
-
buf[pos ] = val >>> 24;
|
|
631
|
-
buf[pos + 1] = val >>> 16 & 255;
|
|
632
|
-
buf[pos + 2] = val >>> 8 & 255;
|
|
633
|
-
buf[pos + 3] = val & 255;
|
|
634
|
-
}
|
|
635
|
-
|
|
636
|
-
function readUintLE(buf, pos) {
|
|
637
|
-
return (buf[pos ]
|
|
638
|
-
| buf[pos + 1] << 8
|
|
639
|
-
| buf[pos + 2] << 16
|
|
640
|
-
| buf[pos + 3] << 24) >>> 0;
|
|
641
|
-
}
|
|
642
|
-
|
|
643
|
-
function readUintBE(buf, pos) {
|
|
644
|
-
return (buf[pos ] << 24
|
|
645
|
-
| buf[pos + 1] << 16
|
|
646
|
-
| buf[pos + 2] << 8
|
|
647
|
-
| buf[pos + 3]) >>> 0;
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
},{}],5:[function(require,module,exports){
|
|
651
|
-
"use strict";
|
|
652
|
-
module.exports = inquire;
|
|
653
|
-
|
|
654
|
-
/**
|
|
655
|
-
* Requires a module only if available.
|
|
656
|
-
* @memberof util
|
|
657
|
-
* @param {string} moduleName Module to require
|
|
658
|
-
* @returns {?Object} Required module if available and not empty, otherwise `null`
|
|
659
|
-
*/
|
|
660
|
-
function inquire(moduleName) {
|
|
661
|
-
try {
|
|
662
|
-
var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval
|
|
663
|
-
if (mod && (mod.length || Object.keys(mod).length))
|
|
664
|
-
return mod;
|
|
665
|
-
} catch (e) {} // eslint-disable-line no-empty
|
|
666
|
-
return null;
|
|
667
|
-
}
|
|
668
|
-
|
|
669
|
-
},{}],6:[function(require,module,exports){
|
|
670
|
-
"use strict";
|
|
671
|
-
module.exports = pool;
|
|
672
|
-
|
|
673
|
-
/**
|
|
674
|
-
* An allocator as used by {@link util.pool}.
|
|
675
|
-
* @typedef PoolAllocator
|
|
676
|
-
* @type {function}
|
|
677
|
-
* @param {number} size Buffer size
|
|
678
|
-
* @returns {Uint8Array} Buffer
|
|
679
|
-
*/
|
|
680
|
-
|
|
681
|
-
/**
|
|
682
|
-
* A slicer as used by {@link util.pool}.
|
|
683
|
-
* @typedef PoolSlicer
|
|
684
|
-
* @type {function}
|
|
685
|
-
* @param {number} start Start offset
|
|
686
|
-
* @param {number} end End offset
|
|
687
|
-
* @returns {Uint8Array} Buffer slice
|
|
688
|
-
* @this {Uint8Array}
|
|
689
|
-
*/
|
|
690
|
-
|
|
691
|
-
/**
|
|
692
|
-
* A general purpose buffer pool.
|
|
693
|
-
* @memberof util
|
|
694
|
-
* @function
|
|
695
|
-
* @param {PoolAllocator} alloc Allocator
|
|
696
|
-
* @param {PoolSlicer} slice Slicer
|
|
697
|
-
* @param {number} [size=8192] Slab size
|
|
698
|
-
* @returns {PoolAllocator} Pooled allocator
|
|
699
|
-
*/
|
|
700
|
-
function pool(alloc, slice, size) {
|
|
701
|
-
var SIZE = size || 8192;
|
|
702
|
-
var MAX = SIZE >>> 1;
|
|
703
|
-
var slab = null;
|
|
704
|
-
var offset = SIZE;
|
|
705
|
-
return function pool_alloc(size) {
|
|
706
|
-
if (size < 1 || size > MAX)
|
|
707
|
-
return alloc(size);
|
|
708
|
-
if (offset + size > SIZE) {
|
|
709
|
-
slab = alloc(SIZE);
|
|
710
|
-
offset = 0;
|
|
711
|
-
}
|
|
712
|
-
var buf = slice.call(slab, offset, offset += size);
|
|
713
|
-
if (offset & 7) // align to 32 bit
|
|
714
|
-
offset = (offset | 7) + 1;
|
|
715
|
-
return buf;
|
|
716
|
-
};
|
|
717
|
-
}
|
|
718
|
-
|
|
719
|
-
},{}],7:[function(require,module,exports){
|
|
720
|
-
"use strict";
|
|
721
|
-
|
|
722
|
-
/**
|
|
723
|
-
* A minimal UTF8 implementation for number arrays.
|
|
724
|
-
* @memberof util
|
|
725
|
-
* @namespace
|
|
726
|
-
*/
|
|
727
|
-
var utf8 = exports;
|
|
728
|
-
|
|
729
|
-
/**
|
|
730
|
-
* Calculates the UTF8 byte length of a string.
|
|
731
|
-
* @param {string} string String
|
|
732
|
-
* @returns {number} Byte length
|
|
733
|
-
*/
|
|
734
|
-
utf8.length = function utf8_length(string) {
|
|
735
|
-
var len = 0,
|
|
736
|
-
c = 0;
|
|
737
|
-
for (var i = 0; i < string.length; ++i) {
|
|
738
|
-
c = string.charCodeAt(i);
|
|
739
|
-
if (c < 128)
|
|
740
|
-
len += 1;
|
|
741
|
-
else if (c < 2048)
|
|
742
|
-
len += 2;
|
|
743
|
-
else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
|
|
744
|
-
++i;
|
|
745
|
-
len += 4;
|
|
746
|
-
} else
|
|
747
|
-
len += 3;
|
|
748
|
-
}
|
|
749
|
-
return len;
|
|
750
|
-
};
|
|
751
|
-
|
|
752
|
-
/**
|
|
753
|
-
* Reads UTF8 bytes as a string.
|
|
754
|
-
* @param {Uint8Array} buffer Source buffer
|
|
755
|
-
* @param {number} start Source start
|
|
756
|
-
* @param {number} end Source end
|
|
757
|
-
* @returns {string} String read
|
|
758
|
-
*/
|
|
759
|
-
utf8.read = function utf8_read(buffer, start, end) {
|
|
760
|
-
var len = end - start;
|
|
761
|
-
if (len < 1)
|
|
762
|
-
return "";
|
|
763
|
-
var parts = null,
|
|
764
|
-
chunk = [],
|
|
765
|
-
i = 0, // char offset
|
|
766
|
-
t; // temporary
|
|
767
|
-
while (start < end) {
|
|
768
|
-
t = buffer[start++];
|
|
769
|
-
if (t < 128)
|
|
770
|
-
chunk[i++] = t;
|
|
771
|
-
else if (t > 191 && t < 224)
|
|
772
|
-
chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;
|
|
773
|
-
else if (t > 239 && t < 365) {
|
|
774
|
-
t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;
|
|
775
|
-
chunk[i++] = 0xD800 + (t >> 10);
|
|
776
|
-
chunk[i++] = 0xDC00 + (t & 1023);
|
|
777
|
-
} else
|
|
778
|
-
chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;
|
|
779
|
-
if (i > 8191) {
|
|
780
|
-
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
781
|
-
i = 0;
|
|
782
|
-
}
|
|
783
|
-
}
|
|
784
|
-
if (parts) {
|
|
785
|
-
if (i)
|
|
786
|
-
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
787
|
-
return parts.join("");
|
|
788
|
-
}
|
|
789
|
-
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
790
|
-
};
|
|
791
|
-
|
|
792
|
-
/**
|
|
793
|
-
* Writes a string as UTF8 bytes.
|
|
794
|
-
* @param {string} string Source string
|
|
795
|
-
* @param {Uint8Array} buffer Destination buffer
|
|
796
|
-
* @param {number} offset Destination offset
|
|
797
|
-
* @returns {number} Bytes written
|
|
798
|
-
*/
|
|
799
|
-
utf8.write = function utf8_write(string, buffer, offset) {
|
|
800
|
-
var start = offset,
|
|
801
|
-
c1, // character 1
|
|
802
|
-
c2; // character 2
|
|
803
|
-
for (var i = 0; i < string.length; ++i) {
|
|
804
|
-
c1 = string.charCodeAt(i);
|
|
805
|
-
if (c1 < 128) {
|
|
806
|
-
buffer[offset++] = c1;
|
|
807
|
-
} else if (c1 < 2048) {
|
|
808
|
-
buffer[offset++] = c1 >> 6 | 192;
|
|
809
|
-
buffer[offset++] = c1 & 63 | 128;
|
|
810
|
-
} else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
|
|
811
|
-
c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
|
|
812
|
-
++i;
|
|
813
|
-
buffer[offset++] = c1 >> 18 | 240;
|
|
814
|
-
buffer[offset++] = c1 >> 12 & 63 | 128;
|
|
815
|
-
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
816
|
-
buffer[offset++] = c1 & 63 | 128;
|
|
817
|
-
} else {
|
|
818
|
-
buffer[offset++] = c1 >> 12 | 224;
|
|
819
|
-
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
820
|
-
buffer[offset++] = c1 & 63 | 128;
|
|
821
|
-
}
|
|
822
|
-
}
|
|
823
|
-
return offset - start;
|
|
824
|
-
};
|
|
825
|
-
|
|
826
|
-
},{}],8:[function(require,module,exports){
|
|
827
41
|
"use strict";
|
|
828
42
|
var protobuf = exports;
|
|
829
43
|
|
|
@@ -838,13 +52,13 @@ protobuf.build = "minimal";
|
|
|
838
52
|
// Serialization
|
|
839
53
|
protobuf.Writer = require(16);
|
|
840
54
|
protobuf.BufferWriter = require(17);
|
|
841
|
-
protobuf.Reader = require(
|
|
842
|
-
protobuf.BufferReader = require(
|
|
55
|
+
protobuf.Reader = require(2);
|
|
56
|
+
protobuf.BufferReader = require(3);
|
|
843
57
|
|
|
844
58
|
// Utility
|
|
845
|
-
protobuf.util = require(
|
|
846
|
-
protobuf.rpc = require(
|
|
847
|
-
protobuf.roots = require(
|
|
59
|
+
protobuf.util = require(13);
|
|
60
|
+
protobuf.rpc = require(5);
|
|
61
|
+
protobuf.roots = require(4);
|
|
848
62
|
protobuf.configure = configure;
|
|
849
63
|
|
|
850
64
|
/* istanbul ignore next */
|
|
@@ -861,11 +75,11 @@ function configure() {
|
|
|
861
75
|
// Set up buffer utility according to the environment
|
|
862
76
|
configure();
|
|
863
77
|
|
|
864
|
-
},{"
|
|
78
|
+
},{"13":13,"16":16,"17":17,"2":2,"3":3,"4":4,"5":5}],2:[function(require,module,exports){
|
|
865
79
|
"use strict";
|
|
866
80
|
module.exports = Reader;
|
|
867
81
|
|
|
868
|
-
var util = require(
|
|
82
|
+
var util = require(13);
|
|
869
83
|
|
|
870
84
|
var BufferReader; // cyclic
|
|
871
85
|
|
|
@@ -942,28 +156,108 @@ Reader.create = create();
|
|
|
942
156
|
|
|
943
157
|
Reader.prototype._slice = util.Array.prototype.subarray || /* istanbul ignore next */ util.Array.prototype.slice;
|
|
944
158
|
|
|
159
|
+
/**
|
|
160
|
+
* Returns raw bytes from the backing buffer without advancing the reader.
|
|
161
|
+
* @param {number} start Start offset
|
|
162
|
+
* @param {number} end End offset
|
|
163
|
+
* @returns {Uint8Array} Raw bytes
|
|
164
|
+
*/
|
|
165
|
+
Reader.prototype.raw = function read_raw(start, end) {
|
|
166
|
+
if (Array.isArray(this.buf)) // plain array
|
|
167
|
+
return this.buf.slice(start, end);
|
|
168
|
+
|
|
169
|
+
if (start === end) // fix for IE 10/Win8 and others' subarray returning array of size 1
|
|
170
|
+
return new this.buf.constructor(0);
|
|
171
|
+
return this._slice.call(this.buf, start, end);
|
|
172
|
+
};
|
|
173
|
+
|
|
945
174
|
/**
|
|
946
175
|
* Reads a varint as an unsigned 32 bit value.
|
|
947
176
|
* @function
|
|
948
177
|
* @returns {number} Value read
|
|
949
178
|
*/
|
|
950
|
-
Reader.prototype.uint32 =
|
|
951
|
-
var
|
|
952
|
-
|
|
953
|
-
value = (
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
179
|
+
Reader.prototype.uint32 = function read_uint32() {
|
|
180
|
+
var buf = this.buf,
|
|
181
|
+
pos = this.pos,
|
|
182
|
+
value = (buf[pos] & 127) >>> 0;
|
|
183
|
+
if (buf[pos++] < 128) {
|
|
184
|
+
this.pos = pos;
|
|
185
|
+
return value;
|
|
186
|
+
}
|
|
187
|
+
value = (value | (buf[pos] & 127) << 7) >>> 0;
|
|
188
|
+
if (buf[pos++] < 128) {
|
|
189
|
+
this.pos = pos;
|
|
190
|
+
return value;
|
|
191
|
+
}
|
|
192
|
+
value = (value | (buf[pos] & 127) << 14) >>> 0;
|
|
193
|
+
if (buf[pos++] < 128) {
|
|
194
|
+
this.pos = pos;
|
|
195
|
+
return value;
|
|
196
|
+
}
|
|
197
|
+
value = (value | (buf[pos] & 127) << 21) >>> 0;
|
|
198
|
+
if (buf[pos++] < 128) {
|
|
199
|
+
this.pos = pos;
|
|
200
|
+
return value;
|
|
201
|
+
}
|
|
202
|
+
value = (value | (buf[pos] & 15) << 28) >>> 0;
|
|
203
|
+
if (buf[pos++] < 128) {
|
|
204
|
+
this.pos = pos;
|
|
205
|
+
return value;
|
|
206
|
+
}
|
|
958
207
|
|
|
208
|
+
for (var i = 0; i < 5; ++i) {
|
|
959
209
|
/* istanbul ignore if */
|
|
960
|
-
if (
|
|
961
|
-
this.pos =
|
|
962
|
-
throw indexOutOfRange(this
|
|
210
|
+
if (pos >= this.len) {
|
|
211
|
+
this.pos = pos;
|
|
212
|
+
throw indexOutOfRange(this);
|
|
213
|
+
}
|
|
214
|
+
if (buf[pos++] < 128) {
|
|
215
|
+
this.pos = pos;
|
|
216
|
+
return value;
|
|
963
217
|
}
|
|
218
|
+
}
|
|
219
|
+
/* istanbul ignore next */
|
|
220
|
+
this.pos = pos;
|
|
221
|
+
throw Error("invalid varint encoding");
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Reads a field tag.
|
|
226
|
+
* @function
|
|
227
|
+
* @returns {number} Tag read
|
|
228
|
+
*/
|
|
229
|
+
Reader.prototype.tag = function read_tag() {
|
|
230
|
+
var buf = this.buf,
|
|
231
|
+
pos = this.pos,
|
|
232
|
+
value = (buf[pos] & 127) >>> 0;
|
|
233
|
+
if (buf[pos++] < 128) {
|
|
234
|
+
this.pos = pos;
|
|
964
235
|
return value;
|
|
965
|
-
}
|
|
966
|
-
|
|
236
|
+
}
|
|
237
|
+
value = (value | (buf[pos] & 127) << 7) >>> 0;
|
|
238
|
+
if (buf[pos++] < 128) {
|
|
239
|
+
this.pos = pos;
|
|
240
|
+
return value;
|
|
241
|
+
}
|
|
242
|
+
value = (value | (buf[pos] & 127) << 14) >>> 0;
|
|
243
|
+
if (buf[pos++] < 128) {
|
|
244
|
+
this.pos = pos;
|
|
245
|
+
return value;
|
|
246
|
+
}
|
|
247
|
+
value = (value | (buf[pos] & 127) << 21) >>> 0;
|
|
248
|
+
if (buf[pos++] < 128) {
|
|
249
|
+
this.pos = pos;
|
|
250
|
+
return value;
|
|
251
|
+
}
|
|
252
|
+
value = (value | (buf[pos] & 15) << 28) >>> 0;
|
|
253
|
+
if (buf[pos] < 128 && (buf[pos] & 112) === 0) {
|
|
254
|
+
this.pos = pos + 1;
|
|
255
|
+
return value;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
this.pos = pos + 1;
|
|
259
|
+
throw Error("invalid tag encoding");
|
|
260
|
+
};
|
|
967
261
|
|
|
968
262
|
/**
|
|
969
263
|
* Reads a varint as a signed 32 bit value.
|
|
@@ -1065,7 +359,20 @@ function readLongVarint() {
|
|
|
1065
359
|
* @returns {boolean} Value read
|
|
1066
360
|
*/
|
|
1067
361
|
Reader.prototype.bool = function read_bool() {
|
|
1068
|
-
|
|
362
|
+
var value = false,
|
|
363
|
+
b;
|
|
364
|
+
for (var i = 0; i < 10; ++i) {
|
|
365
|
+
/* istanbul ignore if */
|
|
366
|
+
if (this.pos >= this.len)
|
|
367
|
+
throw indexOutOfRange(this);
|
|
368
|
+
b = this.buf[this.pos++];
|
|
369
|
+
if (b & 127)
|
|
370
|
+
value = true;
|
|
371
|
+
if (b < 128)
|
|
372
|
+
return value;
|
|
373
|
+
}
|
|
374
|
+
/* istanbul ignore next */
|
|
375
|
+
throw Error("invalid varint encoding");
|
|
1069
376
|
};
|
|
1070
377
|
|
|
1071
378
|
function readFixed32_end(buf, end) { // note that this uses `end`, not `pos`
|
|
@@ -1173,17 +480,8 @@ Reader.prototype.bytes = function read_bytes() {
|
|
|
1173
480
|
if (end > this.len)
|
|
1174
481
|
throw indexOutOfRange(this, length);
|
|
1175
482
|
|
|
1176
|
-
this.pos
|
|
1177
|
-
|
|
1178
|
-
return this.buf.slice(start, end);
|
|
1179
|
-
|
|
1180
|
-
if (start === end) { // fix for IE 10/Win8 and others' subarray returning array of size 1
|
|
1181
|
-
var nativeBuffer = util.Buffer;
|
|
1182
|
-
return nativeBuffer
|
|
1183
|
-
? nativeBuffer.alloc(0)
|
|
1184
|
-
: new this.buf.constructor(0);
|
|
1185
|
-
}
|
|
1186
|
-
return this._slice.call(this.buf, start, end);
|
|
483
|
+
this.pos = end;
|
|
484
|
+
return this.raw(start, end);
|
|
1187
485
|
};
|
|
1188
486
|
|
|
1189
487
|
/**
|
|
@@ -1191,8 +489,16 @@ Reader.prototype.bytes = function read_bytes() {
|
|
|
1191
489
|
* @returns {string} Value read
|
|
1192
490
|
*/
|
|
1193
491
|
Reader.prototype.string = function read_string() {
|
|
1194
|
-
var
|
|
1195
|
-
|
|
492
|
+
var length = this.uint32(),
|
|
493
|
+
start = this.pos,
|
|
494
|
+
end = this.pos + length;
|
|
495
|
+
|
|
496
|
+
/* istanbul ignore if */
|
|
497
|
+
if (end > this.len)
|
|
498
|
+
throw indexOutOfRange(this, length);
|
|
499
|
+
|
|
500
|
+
this.pos = end;
|
|
501
|
+
return utf8.read(this.buf, start, end);
|
|
1196
502
|
};
|
|
1197
503
|
|
|
1198
504
|
/**
|
|
@@ -1216,12 +522,25 @@ Reader.prototype.skip = function skip(length) {
|
|
|
1216
522
|
return this;
|
|
1217
523
|
};
|
|
1218
524
|
|
|
525
|
+
/**
|
|
526
|
+
* Recursion limit.
|
|
527
|
+
* @type {number}
|
|
528
|
+
*/
|
|
529
|
+
Reader.recursionLimit = util.recursionLimit;
|
|
530
|
+
|
|
1219
531
|
/**
|
|
1220
532
|
* Skips the next element of the specified wire type.
|
|
1221
533
|
* @param {number} wireType Wire type received
|
|
534
|
+
* @param {number} [depth] Depth of recursion to control nested calls; 0 if omitted
|
|
535
|
+
* @param {number} [fieldNumber] Field number for validating group end tags
|
|
1222
536
|
* @returns {Reader} `this`
|
|
1223
537
|
*/
|
|
1224
|
-
Reader.prototype.skipType = function(wireType) {
|
|
538
|
+
Reader.prototype.skipType = function(wireType, depth, fieldNumber) {
|
|
539
|
+
if (depth === undefined) depth = 0;
|
|
540
|
+
if (depth > Reader.recursionLimit)
|
|
541
|
+
throw Error("max depth exceeded");
|
|
542
|
+
if (fieldNumber === 0)
|
|
543
|
+
throw Error("illegal tag: field number 0");
|
|
1225
544
|
switch (wireType) {
|
|
1226
545
|
case 0:
|
|
1227
546
|
this.skip();
|
|
@@ -1233,8 +552,18 @@ Reader.prototype.skipType = function(wireType) {
|
|
|
1233
552
|
this.skip(this.uint32());
|
|
1234
553
|
break;
|
|
1235
554
|
case 3:
|
|
1236
|
-
while (
|
|
1237
|
-
this.
|
|
555
|
+
while (true) {
|
|
556
|
+
var tag = this.tag();
|
|
557
|
+
var nestedField = tag >>> 3;
|
|
558
|
+
wireType = tag & 7;
|
|
559
|
+
if (!nestedField)
|
|
560
|
+
throw Error("illegal tag: field number 0");
|
|
561
|
+
if (wireType === 4) {
|
|
562
|
+
if (fieldNumber !== undefined && nestedField !== fieldNumber)
|
|
563
|
+
throw Error("invalid end group tag");
|
|
564
|
+
break;
|
|
565
|
+
}
|
|
566
|
+
this.skipType(wireType, depth + 1, nestedField);
|
|
1238
567
|
}
|
|
1239
568
|
break;
|
|
1240
569
|
case 5:
|
|
@@ -1279,15 +608,15 @@ Reader._configure = function(BufferReader_) {
|
|
|
1279
608
|
});
|
|
1280
609
|
};
|
|
1281
610
|
|
|
1282
|
-
},{"
|
|
611
|
+
},{"13":13}],3:[function(require,module,exports){
|
|
1283
612
|
"use strict";
|
|
1284
613
|
module.exports = BufferReader;
|
|
1285
614
|
|
|
1286
615
|
// extends Reader
|
|
1287
|
-
var Reader = require(
|
|
616
|
+
var Reader = require(2);
|
|
1288
617
|
(BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;
|
|
1289
618
|
|
|
1290
|
-
var util = require(
|
|
619
|
+
var util = require(13);
|
|
1291
620
|
|
|
1292
621
|
/**
|
|
1293
622
|
* Constructs a new buffer reader instance.
|
|
@@ -1312,15 +641,36 @@ BufferReader._configure = function () {
|
|
|
1312
641
|
BufferReader.prototype._slice = util.Buffer.prototype.slice;
|
|
1313
642
|
};
|
|
1314
643
|
|
|
644
|
+
/**
|
|
645
|
+
* Returns raw bytes from the backing buffer without advancing the reader.
|
|
646
|
+
* @name BufferReader#raw
|
|
647
|
+
* @function
|
|
648
|
+
* @param {number} start Start offset
|
|
649
|
+
* @param {number} end End offset
|
|
650
|
+
* @returns {Buffer} Raw bytes
|
|
651
|
+
*/
|
|
652
|
+
BufferReader.prototype.raw = function read_raw_buffer(start, end) {
|
|
653
|
+
if (start === end)
|
|
654
|
+
return util.Buffer.alloc(0);
|
|
655
|
+
return this._slice.call(this.buf, start, end);
|
|
656
|
+
};
|
|
1315
657
|
|
|
1316
658
|
/**
|
|
1317
659
|
* @override
|
|
1318
660
|
*/
|
|
1319
661
|
BufferReader.prototype.string = function read_string_buffer() {
|
|
1320
|
-
var len = this.uint32()
|
|
662
|
+
var len = this.uint32(), // modifies pos
|
|
663
|
+
start = this.pos,
|
|
664
|
+
end = this.pos + len;
|
|
665
|
+
|
|
666
|
+
/* istanbul ignore if */
|
|
667
|
+
if (end > this.len)
|
|
668
|
+
throw RangeError("index out of range: " + this.pos + " + " + len + " > " + this.len);
|
|
669
|
+
|
|
670
|
+
this.pos = end;
|
|
1321
671
|
return this.buf.utf8Slice
|
|
1322
|
-
? this.buf.utf8Slice(
|
|
1323
|
-
: this.buf.toString("utf-8",
|
|
672
|
+
? this.buf.utf8Slice(start, end)
|
|
673
|
+
: this.buf.toString("utf-8", start, end);
|
|
1324
674
|
};
|
|
1325
675
|
|
|
1326
676
|
/**
|
|
@@ -1332,7 +682,7 @@ BufferReader.prototype.string = function read_string_buffer() {
|
|
|
1332
682
|
|
|
1333
683
|
BufferReader._configure();
|
|
1334
684
|
|
|
1335
|
-
},{"
|
|
685
|
+
},{"13":13,"2":2}],4:[function(require,module,exports){
|
|
1336
686
|
"use strict";
|
|
1337
687
|
module.exports = {};
|
|
1338
688
|
|
|
@@ -1352,7 +702,7 @@ module.exports = {};
|
|
|
1352
702
|
* var root = protobuf.roots["myroot"];
|
|
1353
703
|
*/
|
|
1354
704
|
|
|
1355
|
-
},{}],
|
|
705
|
+
},{}],5:[function(require,module,exports){
|
|
1356
706
|
"use strict";
|
|
1357
707
|
|
|
1358
708
|
/**
|
|
@@ -1388,13 +738,13 @@ var rpc = exports;
|
|
|
1388
738
|
* @returns {undefined}
|
|
1389
739
|
*/
|
|
1390
740
|
|
|
1391
|
-
rpc.Service = require(
|
|
741
|
+
rpc.Service = require(6);
|
|
1392
742
|
|
|
1393
|
-
},{"
|
|
743
|
+
},{"6":6}],6:[function(require,module,exports){
|
|
1394
744
|
"use strict";
|
|
1395
745
|
module.exports = Service;
|
|
1396
746
|
|
|
1397
|
-
var util = require(
|
|
747
|
+
var util = require(13);
|
|
1398
748
|
|
|
1399
749
|
// Extends EventEmitter
|
|
1400
750
|
(Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;
|
|
@@ -1534,11 +884,676 @@ Service.prototype.end = function end(endedByRPC) {
|
|
|
1534
884
|
return this;
|
|
1535
885
|
};
|
|
1536
886
|
|
|
1537
|
-
},{"
|
|
887
|
+
},{"13":13}],7:[function(require,module,exports){
|
|
888
|
+
"use strict";
|
|
889
|
+
module.exports = asPromise;
|
|
890
|
+
|
|
891
|
+
/**
|
|
892
|
+
* Callback as used by {@link util.asPromise}.
|
|
893
|
+
* @typedef asPromiseCallback
|
|
894
|
+
* @type {function}
|
|
895
|
+
* @param {Error|null} error Error, if any
|
|
896
|
+
* @param {...*} params Additional arguments
|
|
897
|
+
* @returns {undefined}
|
|
898
|
+
*/
|
|
899
|
+
|
|
900
|
+
/**
|
|
901
|
+
* Returns a promise from a node-style callback function.
|
|
902
|
+
* @memberof util
|
|
903
|
+
* @param {asPromiseCallback} fn Function to call
|
|
904
|
+
* @param {*} ctx Function context
|
|
905
|
+
* @param {...*} params Function arguments
|
|
906
|
+
* @returns {Promise<*>} Promisified function
|
|
907
|
+
*/
|
|
908
|
+
function asPromise(fn, ctx/*, varargs */) {
|
|
909
|
+
var params = new Array(arguments.length - 1),
|
|
910
|
+
offset = 0,
|
|
911
|
+
index = 2,
|
|
912
|
+
pending = true;
|
|
913
|
+
while (index < arguments.length)
|
|
914
|
+
params[offset++] = arguments[index++];
|
|
915
|
+
return new Promise(function executor(resolve, reject) {
|
|
916
|
+
params[offset] = function callback(err/*, varargs */) {
|
|
917
|
+
if (pending) {
|
|
918
|
+
pending = false;
|
|
919
|
+
if (err)
|
|
920
|
+
reject(err);
|
|
921
|
+
else {
|
|
922
|
+
var params = new Array(arguments.length - 1),
|
|
923
|
+
offset = 0;
|
|
924
|
+
while (offset < params.length)
|
|
925
|
+
params[offset++] = arguments[offset];
|
|
926
|
+
resolve.apply(null, params);
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
};
|
|
930
|
+
try {
|
|
931
|
+
fn.apply(ctx || null, params);
|
|
932
|
+
} catch (err) {
|
|
933
|
+
if (pending) {
|
|
934
|
+
pending = false;
|
|
935
|
+
reject(err);
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
});
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
},{}],8:[function(require,module,exports){
|
|
942
|
+
"use strict";
|
|
943
|
+
|
|
944
|
+
/**
|
|
945
|
+
* A minimal base64 implementation for number arrays.
|
|
946
|
+
* @memberof util
|
|
947
|
+
* @namespace
|
|
948
|
+
*/
|
|
949
|
+
var base64 = exports;
|
|
950
|
+
|
|
951
|
+
/**
|
|
952
|
+
* Calculates the byte length of a base64 encoded string.
|
|
953
|
+
* @param {string} string Base64 encoded string
|
|
954
|
+
* @returns {number} Byte length
|
|
955
|
+
*/
|
|
956
|
+
base64.length = function length(string) {
|
|
957
|
+
var p = string.length;
|
|
958
|
+
if (!p)
|
|
959
|
+
return 0;
|
|
960
|
+
while (p > 0 && string.charAt(p - 1) === "=")
|
|
961
|
+
--p;
|
|
962
|
+
return Math.floor(p * 3 / 4);
|
|
963
|
+
};
|
|
964
|
+
|
|
965
|
+
// Base64 encoding table
|
|
966
|
+
var b64 = new Array(64);
|
|
967
|
+
|
|
968
|
+
// Base64 decoding table
|
|
969
|
+
var s64 = new Array(123);
|
|
970
|
+
|
|
971
|
+
// 65..90, 97..122, 48..57, 43, 47
|
|
972
|
+
for (var i = 0; i < 64;)
|
|
973
|
+
s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;
|
|
974
|
+
|
|
975
|
+
s64[45] = 62; // - -> +
|
|
976
|
+
s64[95] = 63; // _ -> /
|
|
977
|
+
|
|
978
|
+
/**
|
|
979
|
+
* Encodes a buffer to a base64 encoded string.
|
|
980
|
+
* @param {Uint8Array} buffer Source buffer
|
|
981
|
+
* @param {number} start Source start
|
|
982
|
+
* @param {number} end Source end
|
|
983
|
+
* @returns {string} Base64 encoded string
|
|
984
|
+
*/
|
|
985
|
+
base64.encode = function encode(buffer, start, end) {
|
|
986
|
+
var parts = null,
|
|
987
|
+
chunk = [];
|
|
988
|
+
var i = 0, // output index
|
|
989
|
+
j = 0, // goto index
|
|
990
|
+
t; // temporary
|
|
991
|
+
while (start < end) {
|
|
992
|
+
var b = buffer[start++];
|
|
993
|
+
switch (j) {
|
|
994
|
+
case 0:
|
|
995
|
+
chunk[i++] = b64[b >> 2];
|
|
996
|
+
t = (b & 3) << 4;
|
|
997
|
+
j = 1;
|
|
998
|
+
break;
|
|
999
|
+
case 1:
|
|
1000
|
+
chunk[i++] = b64[t | b >> 4];
|
|
1001
|
+
t = (b & 15) << 2;
|
|
1002
|
+
j = 2;
|
|
1003
|
+
break;
|
|
1004
|
+
case 2:
|
|
1005
|
+
chunk[i++] = b64[t | b >> 6];
|
|
1006
|
+
chunk[i++] = b64[b & 63];
|
|
1007
|
+
j = 0;
|
|
1008
|
+
break;
|
|
1009
|
+
}
|
|
1010
|
+
if (i > 8191) {
|
|
1011
|
+
(parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));
|
|
1012
|
+
i = 0;
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
if (j) {
|
|
1016
|
+
chunk[i++] = b64[t];
|
|
1017
|
+
chunk[i++] = 61;
|
|
1018
|
+
if (j === 1)
|
|
1019
|
+
chunk[i++] = 61;
|
|
1020
|
+
}
|
|
1021
|
+
if (parts) {
|
|
1022
|
+
if (i)
|
|
1023
|
+
parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));
|
|
1024
|
+
return parts.join("");
|
|
1025
|
+
}
|
|
1026
|
+
return String.fromCharCode.apply(String, chunk.slice(0, i));
|
|
1027
|
+
};
|
|
1028
|
+
|
|
1029
|
+
var invalidEncoding = "invalid encoding";
|
|
1030
|
+
|
|
1031
|
+
/**
|
|
1032
|
+
* Decodes a base64 encoded string to a buffer.
|
|
1033
|
+
* @param {string} string Source string
|
|
1034
|
+
* @param {Uint8Array} buffer Destination buffer
|
|
1035
|
+
* @param {number} offset Destination offset
|
|
1036
|
+
* @returns {number} Number of bytes written
|
|
1037
|
+
* @throws {Error} If encoding is invalid
|
|
1038
|
+
*/
|
|
1039
|
+
base64.decode = function decode(string, buffer, offset) {
|
|
1040
|
+
var start = offset;
|
|
1041
|
+
var j = 0, // goto index
|
|
1042
|
+
t; // temporary
|
|
1043
|
+
for (var i = 0; i < string.length;) {
|
|
1044
|
+
var c = string.charCodeAt(i++);
|
|
1045
|
+
if (c === 61 && j > 1)
|
|
1046
|
+
break;
|
|
1047
|
+
if ((c = s64[c]) === undefined)
|
|
1048
|
+
throw Error(invalidEncoding);
|
|
1049
|
+
switch (j) {
|
|
1050
|
+
case 0:
|
|
1051
|
+
t = c;
|
|
1052
|
+
j = 1;
|
|
1053
|
+
break;
|
|
1054
|
+
case 1:
|
|
1055
|
+
buffer[offset++] = t << 2 | (c & 48) >> 4;
|
|
1056
|
+
t = c;
|
|
1057
|
+
j = 2;
|
|
1058
|
+
break;
|
|
1059
|
+
case 2:
|
|
1060
|
+
buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
|
|
1061
|
+
t = c;
|
|
1062
|
+
j = 3;
|
|
1063
|
+
break;
|
|
1064
|
+
case 3:
|
|
1065
|
+
buffer[offset++] = (t & 3) << 6 | c;
|
|
1066
|
+
j = 0;
|
|
1067
|
+
break;
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
if (j === 1)
|
|
1071
|
+
throw Error(invalidEncoding);
|
|
1072
|
+
return offset - start;
|
|
1073
|
+
};
|
|
1074
|
+
|
|
1075
|
+
var base64Re = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,
|
|
1076
|
+
base64UrlRe = /[-_]/,
|
|
1077
|
+
base64UrlNoPaddingRe = /^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2}(?:==)?|[A-Za-z0-9_-]{3}=?)?$/;
|
|
1078
|
+
|
|
1079
|
+
/**
|
|
1080
|
+
* Tests if the specified string appears to be base64 encoded.
|
|
1081
|
+
* @param {string} string String to test
|
|
1082
|
+
* @returns {boolean} `true` if probably base64 encoded, otherwise false
|
|
1083
|
+
*/
|
|
1084
|
+
base64.test = function test(string) {
|
|
1085
|
+
return base64Re.test(string)
|
|
1086
|
+
|| base64UrlRe.test(string) && base64UrlNoPaddingRe.test(string);
|
|
1087
|
+
};
|
|
1088
|
+
|
|
1089
|
+
},{}],9:[function(require,module,exports){
|
|
1090
|
+
"use strict";
|
|
1091
|
+
module.exports = EventEmitter;
|
|
1092
|
+
|
|
1093
|
+
/**
|
|
1094
|
+
* Constructs a new event emitter instance.
|
|
1095
|
+
* @classdesc A minimal event emitter.
|
|
1096
|
+
* @memberof util
|
|
1097
|
+
* @constructor
|
|
1098
|
+
*/
|
|
1099
|
+
function EventEmitter() {
|
|
1100
|
+
|
|
1101
|
+
/**
|
|
1102
|
+
* Registered listeners.
|
|
1103
|
+
* @type {Object.<string,*>}
|
|
1104
|
+
* @private
|
|
1105
|
+
*/
|
|
1106
|
+
this._listeners = {};
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
/**
|
|
1110
|
+
* Event listener as used by {@link util.EventEmitter}.
|
|
1111
|
+
* @typedef EventEmitterListener
|
|
1112
|
+
* @type {function}
|
|
1113
|
+
* @param {...*} args Arguments
|
|
1114
|
+
* @returns {undefined}
|
|
1115
|
+
*/
|
|
1116
|
+
|
|
1117
|
+
/**
|
|
1118
|
+
* Registers an event listener.
|
|
1119
|
+
* @param {string} evt Event name
|
|
1120
|
+
* @param {EventEmitterListener} fn Listener
|
|
1121
|
+
* @param {*} [ctx] Listener context
|
|
1122
|
+
* @returns {this} `this`
|
|
1123
|
+
*/
|
|
1124
|
+
EventEmitter.prototype.on = function on(evt, fn, ctx) {
|
|
1125
|
+
(this._listeners[evt] || (this._listeners[evt] = [])).push({
|
|
1126
|
+
fn : fn,
|
|
1127
|
+
ctx : ctx || this
|
|
1128
|
+
});
|
|
1129
|
+
return this;
|
|
1130
|
+
};
|
|
1131
|
+
|
|
1132
|
+
/**
|
|
1133
|
+
* Removes an event listener or any matching listeners if arguments are omitted.
|
|
1134
|
+
* @param {string} [evt] Event name. Removes all listeners if omitted.
|
|
1135
|
+
* @param {EventEmitterListener} [fn] Listener to remove. Removes all listeners of `evt` if omitted.
|
|
1136
|
+
* @returns {this} `this`
|
|
1137
|
+
*/
|
|
1138
|
+
EventEmitter.prototype.off = function off(evt, fn) {
|
|
1139
|
+
if (evt === undefined)
|
|
1140
|
+
this._listeners = {};
|
|
1141
|
+
else {
|
|
1142
|
+
if (fn === undefined)
|
|
1143
|
+
this._listeners[evt] = [];
|
|
1144
|
+
else {
|
|
1145
|
+
var listeners = this._listeners[evt];
|
|
1146
|
+
for (var i = 0; i < listeners.length;)
|
|
1147
|
+
if (listeners[i].fn === fn)
|
|
1148
|
+
listeners.splice(i, 1);
|
|
1149
|
+
else
|
|
1150
|
+
++i;
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
return this;
|
|
1154
|
+
};
|
|
1155
|
+
|
|
1156
|
+
/**
|
|
1157
|
+
* Emits an event by calling its listeners with the specified arguments.
|
|
1158
|
+
* @param {string} evt Event name
|
|
1159
|
+
* @param {...*} args Arguments
|
|
1160
|
+
* @returns {this} `this`
|
|
1161
|
+
*/
|
|
1162
|
+
EventEmitter.prototype.emit = function emit(evt) {
|
|
1163
|
+
var listeners = this._listeners[evt];
|
|
1164
|
+
if (listeners) {
|
|
1165
|
+
var args = [],
|
|
1166
|
+
i = 1;
|
|
1167
|
+
for (; i < arguments.length;)
|
|
1168
|
+
args.push(arguments[i++]);
|
|
1169
|
+
for (i = 0; i < listeners.length;)
|
|
1170
|
+
listeners[i].fn.apply(listeners[i++].ctx, args);
|
|
1171
|
+
}
|
|
1172
|
+
return this;
|
|
1173
|
+
};
|
|
1174
|
+
|
|
1175
|
+
},{}],10:[function(require,module,exports){
|
|
1176
|
+
"use strict";
|
|
1177
|
+
|
|
1178
|
+
module.exports = factory(factory);
|
|
1179
|
+
|
|
1180
|
+
/**
|
|
1181
|
+
* Reads / writes floats / doubles from / to buffers.
|
|
1182
|
+
* @name util.float
|
|
1183
|
+
* @namespace
|
|
1184
|
+
*/
|
|
1185
|
+
|
|
1186
|
+
/**
|
|
1187
|
+
* Writes a 32 bit float to a buffer using little endian byte order.
|
|
1188
|
+
* @name util.float.writeFloatLE
|
|
1189
|
+
* @function
|
|
1190
|
+
* @param {number} val Value to write
|
|
1191
|
+
* @param {Uint8Array} buf Target buffer
|
|
1192
|
+
* @param {number} pos Target buffer offset
|
|
1193
|
+
* @returns {undefined}
|
|
1194
|
+
*/
|
|
1195
|
+
|
|
1196
|
+
/**
|
|
1197
|
+
* Writes a 32 bit float to a buffer using big endian byte order.
|
|
1198
|
+
* @name util.float.writeFloatBE
|
|
1199
|
+
* @function
|
|
1200
|
+
* @param {number} val Value to write
|
|
1201
|
+
* @param {Uint8Array} buf Target buffer
|
|
1202
|
+
* @param {number} pos Target buffer offset
|
|
1203
|
+
* @returns {undefined}
|
|
1204
|
+
*/
|
|
1205
|
+
|
|
1206
|
+
/**
|
|
1207
|
+
* Reads a 32 bit float from a buffer using little endian byte order.
|
|
1208
|
+
* @name util.float.readFloatLE
|
|
1209
|
+
* @function
|
|
1210
|
+
* @param {Uint8Array} buf Source buffer
|
|
1211
|
+
* @param {number} pos Source buffer offset
|
|
1212
|
+
* @returns {number} Value read
|
|
1213
|
+
*/
|
|
1214
|
+
|
|
1215
|
+
/**
|
|
1216
|
+
* Reads a 32 bit float from a buffer using big endian byte order.
|
|
1217
|
+
* @name util.float.readFloatBE
|
|
1218
|
+
* @function
|
|
1219
|
+
* @param {Uint8Array} buf Source buffer
|
|
1220
|
+
* @param {number} pos Source buffer offset
|
|
1221
|
+
* @returns {number} Value read
|
|
1222
|
+
*/
|
|
1223
|
+
|
|
1224
|
+
/**
|
|
1225
|
+
* Writes a 64 bit double to a buffer using little endian byte order.
|
|
1226
|
+
* @name util.float.writeDoubleLE
|
|
1227
|
+
* @function
|
|
1228
|
+
* @param {number} val Value to write
|
|
1229
|
+
* @param {Uint8Array} buf Target buffer
|
|
1230
|
+
* @param {number} pos Target buffer offset
|
|
1231
|
+
* @returns {undefined}
|
|
1232
|
+
*/
|
|
1233
|
+
|
|
1234
|
+
/**
|
|
1235
|
+
* Writes a 64 bit double to a buffer using big endian byte order.
|
|
1236
|
+
* @name util.float.writeDoubleBE
|
|
1237
|
+
* @function
|
|
1238
|
+
* @param {number} val Value to write
|
|
1239
|
+
* @param {Uint8Array} buf Target buffer
|
|
1240
|
+
* @param {number} pos Target buffer offset
|
|
1241
|
+
* @returns {undefined}
|
|
1242
|
+
*/
|
|
1243
|
+
|
|
1244
|
+
/**
|
|
1245
|
+
* Reads a 64 bit double from a buffer using little endian byte order.
|
|
1246
|
+
* @name util.float.readDoubleLE
|
|
1247
|
+
* @function
|
|
1248
|
+
* @param {Uint8Array} buf Source buffer
|
|
1249
|
+
* @param {number} pos Source buffer offset
|
|
1250
|
+
* @returns {number} Value read
|
|
1251
|
+
*/
|
|
1252
|
+
|
|
1253
|
+
/**
|
|
1254
|
+
* Reads a 64 bit double from a buffer using big endian byte order.
|
|
1255
|
+
* @name util.float.readDoubleBE
|
|
1256
|
+
* @function
|
|
1257
|
+
* @param {Uint8Array} buf Source buffer
|
|
1258
|
+
* @param {number} pos Source buffer offset
|
|
1259
|
+
* @returns {number} Value read
|
|
1260
|
+
*/
|
|
1261
|
+
|
|
1262
|
+
// Factory function for the purpose of node-based testing in modified global environments
|
|
1263
|
+
function factory(exports) {
|
|
1264
|
+
|
|
1265
|
+
// float: typed array
|
|
1266
|
+
if (typeof Float32Array !== "undefined") (function() {
|
|
1267
|
+
|
|
1268
|
+
var f32 = new Float32Array([ -0 ]),
|
|
1269
|
+
f8b = new Uint8Array(f32.buffer),
|
|
1270
|
+
le = f8b[3] === 128;
|
|
1271
|
+
|
|
1272
|
+
function writeFloat_f32_cpy(val, buf, pos) {
|
|
1273
|
+
f32[0] = val;
|
|
1274
|
+
buf[pos ] = f8b[0];
|
|
1275
|
+
buf[pos + 1] = f8b[1];
|
|
1276
|
+
buf[pos + 2] = f8b[2];
|
|
1277
|
+
buf[pos + 3] = f8b[3];
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
function writeFloat_f32_rev(val, buf, pos) {
|
|
1281
|
+
f32[0] = val;
|
|
1282
|
+
buf[pos ] = f8b[3];
|
|
1283
|
+
buf[pos + 1] = f8b[2];
|
|
1284
|
+
buf[pos + 2] = f8b[1];
|
|
1285
|
+
buf[pos + 3] = f8b[0];
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
/* istanbul ignore next */
|
|
1289
|
+
exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;
|
|
1290
|
+
/* istanbul ignore next */
|
|
1291
|
+
exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;
|
|
1292
|
+
|
|
1293
|
+
function readFloat_f32_cpy(buf, pos) {
|
|
1294
|
+
f8b[0] = buf[pos ];
|
|
1295
|
+
f8b[1] = buf[pos + 1];
|
|
1296
|
+
f8b[2] = buf[pos + 2];
|
|
1297
|
+
f8b[3] = buf[pos + 3];
|
|
1298
|
+
return f32[0];
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
function readFloat_f32_rev(buf, pos) {
|
|
1302
|
+
f8b[3] = buf[pos ];
|
|
1303
|
+
f8b[2] = buf[pos + 1];
|
|
1304
|
+
f8b[1] = buf[pos + 2];
|
|
1305
|
+
f8b[0] = buf[pos + 3];
|
|
1306
|
+
return f32[0];
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
/* istanbul ignore next */
|
|
1310
|
+
exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;
|
|
1311
|
+
/* istanbul ignore next */
|
|
1312
|
+
exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;
|
|
1313
|
+
|
|
1314
|
+
// float: ieee754
|
|
1315
|
+
})(); else (function() {
|
|
1316
|
+
|
|
1317
|
+
function writeFloat_ieee754(writeUint, val, buf, pos) {
|
|
1318
|
+
var sign = val < 0 ? 1 : 0;
|
|
1319
|
+
if (sign)
|
|
1320
|
+
val = -val;
|
|
1321
|
+
if (val === 0)
|
|
1322
|
+
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);
|
|
1323
|
+
else if (isNaN(val))
|
|
1324
|
+
writeUint(2143289344, buf, pos);
|
|
1325
|
+
else if (val > 3.4028234663852886e+38) // +-Infinity
|
|
1326
|
+
writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);
|
|
1327
|
+
else if (val < 1.1754943508222875e-38) // denormal
|
|
1328
|
+
writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);
|
|
1329
|
+
else {
|
|
1330
|
+
var exponent = Math.floor(Math.log(val) / Math.LN2),
|
|
1331
|
+
mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;
|
|
1332
|
+
writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);
|
|
1333
|
+
}
|
|
1334
|
+
}
|
|
1335
|
+
|
|
1336
|
+
exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);
|
|
1337
|
+
exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);
|
|
1338
|
+
|
|
1339
|
+
function readFloat_ieee754(readUint, buf, pos) {
|
|
1340
|
+
var uint = readUint(buf, pos),
|
|
1341
|
+
sign = (uint >> 31) * 2 + 1,
|
|
1342
|
+
exponent = uint >>> 23 & 255,
|
|
1343
|
+
mantissa = uint & 8388607;
|
|
1344
|
+
return exponent === 255
|
|
1345
|
+
? mantissa
|
|
1346
|
+
? NaN
|
|
1347
|
+
: sign * Infinity
|
|
1348
|
+
: exponent === 0 // denormal
|
|
1349
|
+
? sign * 1.401298464324817e-45 * mantissa
|
|
1350
|
+
: sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);
|
|
1354
|
+
exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);
|
|
1355
|
+
|
|
1356
|
+
})();
|
|
1357
|
+
|
|
1358
|
+
// double: typed array
|
|
1359
|
+
if (typeof Float64Array !== "undefined") (function() {
|
|
1360
|
+
|
|
1361
|
+
var f64 = new Float64Array([-0]),
|
|
1362
|
+
f8b = new Uint8Array(f64.buffer),
|
|
1363
|
+
le = f8b[7] === 128;
|
|
1364
|
+
|
|
1365
|
+
function writeDouble_f64_cpy(val, buf, pos) {
|
|
1366
|
+
f64[0] = val;
|
|
1367
|
+
buf[pos ] = f8b[0];
|
|
1368
|
+
buf[pos + 1] = f8b[1];
|
|
1369
|
+
buf[pos + 2] = f8b[2];
|
|
1370
|
+
buf[pos + 3] = f8b[3];
|
|
1371
|
+
buf[pos + 4] = f8b[4];
|
|
1372
|
+
buf[pos + 5] = f8b[5];
|
|
1373
|
+
buf[pos + 6] = f8b[6];
|
|
1374
|
+
buf[pos + 7] = f8b[7];
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1377
|
+
function writeDouble_f64_rev(val, buf, pos) {
|
|
1378
|
+
f64[0] = val;
|
|
1379
|
+
buf[pos ] = f8b[7];
|
|
1380
|
+
buf[pos + 1] = f8b[6];
|
|
1381
|
+
buf[pos + 2] = f8b[5];
|
|
1382
|
+
buf[pos + 3] = f8b[4];
|
|
1383
|
+
buf[pos + 4] = f8b[3];
|
|
1384
|
+
buf[pos + 5] = f8b[2];
|
|
1385
|
+
buf[pos + 6] = f8b[1];
|
|
1386
|
+
buf[pos + 7] = f8b[0];
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1389
|
+
/* istanbul ignore next */
|
|
1390
|
+
exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;
|
|
1391
|
+
/* istanbul ignore next */
|
|
1392
|
+
exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;
|
|
1393
|
+
|
|
1394
|
+
function readDouble_f64_cpy(buf, pos) {
|
|
1395
|
+
f8b[0] = buf[pos ];
|
|
1396
|
+
f8b[1] = buf[pos + 1];
|
|
1397
|
+
f8b[2] = buf[pos + 2];
|
|
1398
|
+
f8b[3] = buf[pos + 3];
|
|
1399
|
+
f8b[4] = buf[pos + 4];
|
|
1400
|
+
f8b[5] = buf[pos + 5];
|
|
1401
|
+
f8b[6] = buf[pos + 6];
|
|
1402
|
+
f8b[7] = buf[pos + 7];
|
|
1403
|
+
return f64[0];
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
function readDouble_f64_rev(buf, pos) {
|
|
1407
|
+
f8b[7] = buf[pos ];
|
|
1408
|
+
f8b[6] = buf[pos + 1];
|
|
1409
|
+
f8b[5] = buf[pos + 2];
|
|
1410
|
+
f8b[4] = buf[pos + 3];
|
|
1411
|
+
f8b[3] = buf[pos + 4];
|
|
1412
|
+
f8b[2] = buf[pos + 5];
|
|
1413
|
+
f8b[1] = buf[pos + 6];
|
|
1414
|
+
f8b[0] = buf[pos + 7];
|
|
1415
|
+
return f64[0];
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1418
|
+
/* istanbul ignore next */
|
|
1419
|
+
exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;
|
|
1420
|
+
/* istanbul ignore next */
|
|
1421
|
+
exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;
|
|
1422
|
+
|
|
1423
|
+
// double: ieee754
|
|
1424
|
+
})(); else (function() {
|
|
1425
|
+
|
|
1426
|
+
function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {
|
|
1427
|
+
var sign = val < 0 ? 1 : 0;
|
|
1428
|
+
if (sign)
|
|
1429
|
+
val = -val;
|
|
1430
|
+
if (val === 0) {
|
|
1431
|
+
writeUint(0, buf, pos + off0);
|
|
1432
|
+
writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);
|
|
1433
|
+
} else if (isNaN(val)) {
|
|
1434
|
+
writeUint(0, buf, pos + off0);
|
|
1435
|
+
writeUint(2146959360, buf, pos + off1);
|
|
1436
|
+
} else if (val > 1.7976931348623157e+308) { // +-Infinity
|
|
1437
|
+
writeUint(0, buf, pos + off0);
|
|
1438
|
+
writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);
|
|
1439
|
+
} else {
|
|
1440
|
+
var mantissa;
|
|
1441
|
+
if (val < 2.2250738585072014e-308) { // denormal
|
|
1442
|
+
mantissa = val / 5e-324;
|
|
1443
|
+
writeUint(mantissa >>> 0, buf, pos + off0);
|
|
1444
|
+
writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);
|
|
1445
|
+
} else {
|
|
1446
|
+
var exponent = Math.floor(Math.log(val) / Math.LN2);
|
|
1447
|
+
if (exponent === 1024)
|
|
1448
|
+
exponent = 1023;
|
|
1449
|
+
mantissa = val * Math.pow(2, -exponent);
|
|
1450
|
+
writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);
|
|
1451
|
+
writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);
|
|
1452
|
+
}
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);
|
|
1457
|
+
exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);
|
|
1458
|
+
|
|
1459
|
+
function readDouble_ieee754(readUint, off0, off1, buf, pos) {
|
|
1460
|
+
var lo = readUint(buf, pos + off0),
|
|
1461
|
+
hi = readUint(buf, pos + off1);
|
|
1462
|
+
var sign = (hi >> 31) * 2 + 1,
|
|
1463
|
+
exponent = hi >>> 20 & 2047,
|
|
1464
|
+
mantissa = 4294967296 * (hi & 1048575) + lo;
|
|
1465
|
+
return exponent === 2047
|
|
1466
|
+
? mantissa
|
|
1467
|
+
? NaN
|
|
1468
|
+
: sign * Infinity
|
|
1469
|
+
: exponent === 0 // denormal
|
|
1470
|
+
? sign * 5e-324 * mantissa
|
|
1471
|
+
: sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1474
|
+
exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);
|
|
1475
|
+
exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);
|
|
1476
|
+
|
|
1477
|
+
})();
|
|
1478
|
+
|
|
1479
|
+
return exports;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
// uint helpers
|
|
1483
|
+
|
|
1484
|
+
function writeUintLE(val, buf, pos) {
|
|
1485
|
+
buf[pos ] = val & 255;
|
|
1486
|
+
buf[pos + 1] = val >>> 8 & 255;
|
|
1487
|
+
buf[pos + 2] = val >>> 16 & 255;
|
|
1488
|
+
buf[pos + 3] = val >>> 24;
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1491
|
+
function writeUintBE(val, buf, pos) {
|
|
1492
|
+
buf[pos ] = val >>> 24;
|
|
1493
|
+
buf[pos + 1] = val >>> 16 & 255;
|
|
1494
|
+
buf[pos + 2] = val >>> 8 & 255;
|
|
1495
|
+
buf[pos + 3] = val & 255;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
function readUintLE(buf, pos) {
|
|
1499
|
+
return (buf[pos ]
|
|
1500
|
+
| buf[pos + 1] << 8
|
|
1501
|
+
| buf[pos + 2] << 16
|
|
1502
|
+
| buf[pos + 3] << 24) >>> 0;
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
function readUintBE(buf, pos) {
|
|
1506
|
+
return (buf[pos ] << 24
|
|
1507
|
+
| buf[pos + 1] << 16
|
|
1508
|
+
| buf[pos + 2] << 8
|
|
1509
|
+
| buf[pos + 3]) >>> 0;
|
|
1510
|
+
}
|
|
1511
|
+
|
|
1512
|
+
},{}],11:[function(require,module,exports){
|
|
1513
|
+
"use strict";
|
|
1514
|
+
module.exports = inquire;
|
|
1515
|
+
|
|
1516
|
+
/**
|
|
1517
|
+
* Requires a module only if available.
|
|
1518
|
+
* @memberof util
|
|
1519
|
+
* @param {string} moduleName Module to require
|
|
1520
|
+
* @returns {?Object} Required module if available and not empty, otherwise `null`
|
|
1521
|
+
* @deprecated Legacy optional require helper. Will be removed in a future release.
|
|
1522
|
+
*/
|
|
1523
|
+
function inquire(moduleName) {
|
|
1524
|
+
try {
|
|
1525
|
+
if (typeof require !== "function") {
|
|
1526
|
+
return null;
|
|
1527
|
+
}
|
|
1528
|
+
var mod = require(moduleName);
|
|
1529
|
+
if (mod && (mod.length || Object.keys(mod).length)) return mod;
|
|
1530
|
+
return null;
|
|
1531
|
+
} catch (err) {
|
|
1532
|
+
// ignore
|
|
1533
|
+
return null;
|
|
1534
|
+
}
|
|
1535
|
+
}
|
|
1536
|
+
|
|
1537
|
+
/*
|
|
1538
|
+
// maybe worth a shot to prevent renaming issues:
|
|
1539
|
+
// see: https://github.com/webpack/webpack/blob/master/lib/dependencies/CommonJsRequireDependencyParserPlugin.js
|
|
1540
|
+
// triggers on:
|
|
1541
|
+
// - expression require.cache
|
|
1542
|
+
// - expression require (???)
|
|
1543
|
+
// - call require
|
|
1544
|
+
// - call require:commonjs:item
|
|
1545
|
+
// - call require:commonjs:context
|
|
1546
|
+
|
|
1547
|
+
Object.defineProperty(Function.prototype, "__self", { get: function() { return this; } });
|
|
1548
|
+
var r = require.__self;
|
|
1549
|
+
delete Function.prototype.__self;
|
|
1550
|
+
*/
|
|
1551
|
+
|
|
1552
|
+
},{}],12:[function(require,module,exports){
|
|
1538
1553
|
"use strict";
|
|
1539
1554
|
module.exports = LongBits;
|
|
1540
1555
|
|
|
1541
|
-
var util = require(
|
|
1556
|
+
var util = require(13);
|
|
1542
1557
|
|
|
1543
1558
|
/**
|
|
1544
1559
|
* Constructs new long bits.
|
|
@@ -1736,33 +1751,33 @@ LongBits.prototype.length = function length() {
|
|
|
1736
1751
|
: part2 < 128 ? 9 : 10;
|
|
1737
1752
|
};
|
|
1738
1753
|
|
|
1739
|
-
},{"
|
|
1754
|
+
},{"13":13}],13:[function(require,module,exports){
|
|
1740
1755
|
"use strict";
|
|
1741
1756
|
var util = exports;
|
|
1742
1757
|
|
|
1743
1758
|
// used to return a Promise where callback is omitted
|
|
1744
|
-
util.asPromise = require(
|
|
1759
|
+
util.asPromise = require(7);
|
|
1745
1760
|
|
|
1746
1761
|
// converts to / from base64 encoded strings
|
|
1747
|
-
util.base64 = require(
|
|
1762
|
+
util.base64 = require(8);
|
|
1748
1763
|
|
|
1749
1764
|
// base class of rpc.Service
|
|
1750
|
-
util.EventEmitter = require(
|
|
1765
|
+
util.EventEmitter = require(9);
|
|
1751
1766
|
|
|
1752
1767
|
// float handling accross browsers
|
|
1753
|
-
util.float = require(
|
|
1768
|
+
util.float = require(10);
|
|
1754
1769
|
|
|
1755
1770
|
// requires modules optionally and hides the call from bundlers
|
|
1756
|
-
util.inquire = require(
|
|
1771
|
+
util.inquire = require(11);
|
|
1757
1772
|
|
|
1758
1773
|
// converts to / from utf8 encoded strings
|
|
1759
|
-
util.utf8 = require(
|
|
1774
|
+
util.utf8 = require(15);
|
|
1760
1775
|
|
|
1761
1776
|
// provides a node-like buffer pool in the browser
|
|
1762
|
-
util.pool = require(
|
|
1777
|
+
util.pool = require(14);
|
|
1763
1778
|
|
|
1764
1779
|
// utility to work with the low and high bits of a 64 bit value
|
|
1765
|
-
util.LongBits = require(
|
|
1780
|
+
util.LongBits = require(12);
|
|
1766
1781
|
|
|
1767
1782
|
/**
|
|
1768
1783
|
* Whether running within node or not.
|
|
@@ -1864,7 +1879,7 @@ util.isSet = function isSet(obj, prop) {
|
|
|
1864
1879
|
*/
|
|
1865
1880
|
util.Buffer = (function() {
|
|
1866
1881
|
try {
|
|
1867
|
-
var Buffer = util.
|
|
1882
|
+
var Buffer = util.global.Buffer;
|
|
1868
1883
|
// refuse to use non-node buffers if not explicitly assigned (perf reasons):
|
|
1869
1884
|
return Buffer.prototype.utf8Write ? Buffer : /* istanbul ignore next */ null;
|
|
1870
1885
|
} catch (e) {
|
|
@@ -1918,14 +1933,22 @@ util.Array = typeof Uint8Array !== "undefined" ? Uint8Array /* istanbul ignore n
|
|
|
1918
1933
|
*/
|
|
1919
1934
|
util.Long = /* istanbul ignore next */ util.global.dcodeIO && /* istanbul ignore next */ util.global.dcodeIO.Long
|
|
1920
1935
|
|| /* istanbul ignore next */ util.global.Long
|
|
1921
|
-
||
|
|
1936
|
+
|| (function() {
|
|
1937
|
+
try {
|
|
1938
|
+
var Long = require("long");
|
|
1939
|
+
return Long && Long.isLong ? Long : null;
|
|
1940
|
+
} catch (e) {
|
|
1941
|
+
/* istanbul ignore next */
|
|
1942
|
+
return null;
|
|
1943
|
+
}
|
|
1944
|
+
})();
|
|
1922
1945
|
|
|
1923
1946
|
/**
|
|
1924
1947
|
* Regular expression used to verify 2 bit (`bool`) map keys.
|
|
1925
1948
|
* @type {RegExp}
|
|
1926
1949
|
* @const
|
|
1927
1950
|
*/
|
|
1928
|
-
util.key2Re = /^true|false|0|1$/;
|
|
1951
|
+
util.key2Re = /^(?:true|false|0|1)$/;
|
|
1929
1952
|
|
|
1930
1953
|
/**
|
|
1931
1954
|
* Regular expression used to verify 32 bit (`int32` etc.) map keys.
|
|
@@ -1939,7 +1962,7 @@ util.key32Re = /^-?(?:0|[1-9][0-9]*)$/;
|
|
|
1939
1962
|
* @type {RegExp}
|
|
1940
1963
|
* @const
|
|
1941
1964
|
*/
|
|
1942
|
-
util.key64Re = /^(?:[
|
|
1965
|
+
util.key64Re = /^(?:[\x00-\xff]{8}|-?(?:0|[1-9][0-9]*))$/; // eslint-disable-line no-control-regex
|
|
1943
1966
|
|
|
1944
1967
|
/**
|
|
1945
1968
|
* Converts a number or long to an 8 characters long hash string.
|
|
@@ -1965,6 +1988,27 @@ util.longFromHash = function longFromHash(hash, unsigned) {
|
|
|
1965
1988
|
return bits.toNumber(Boolean(unsigned));
|
|
1966
1989
|
};
|
|
1967
1990
|
|
|
1991
|
+
/**
|
|
1992
|
+
* Converts a 64 bit key to a long or number if it is an 8 characters long hash string.
|
|
1993
|
+
* @param {string} key Map key
|
|
1994
|
+
* @param {boolean} [unsigned=false] Whether unsigned or not
|
|
1995
|
+
* @returns {Long|number|string} Original value
|
|
1996
|
+
*/
|
|
1997
|
+
util.longFromKey = function longFromKey(key, unsigned) {
|
|
1998
|
+
return util.key64Re.test(key) && !util.key32Re.test(key)
|
|
1999
|
+
? util.longFromHash(key, unsigned)
|
|
2000
|
+
: key;
|
|
2001
|
+
};
|
|
2002
|
+
|
|
2003
|
+
/**
|
|
2004
|
+
* Converts a boolean key to a boolean value.
|
|
2005
|
+
* @param {string} key Map key
|
|
2006
|
+
* @returns {boolean} Boolean value
|
|
2007
|
+
*/
|
|
2008
|
+
util.boolFromKey = function boolFromKey(key) {
|
|
2009
|
+
return key === "true" || key === "1";
|
|
2010
|
+
};
|
|
2011
|
+
|
|
1968
2012
|
/**
|
|
1969
2013
|
* Merges the properties of the source object into the destination object.
|
|
1970
2014
|
* @memberof util
|
|
@@ -1976,12 +2020,45 @@ util.longFromHash = function longFromHash(hash, unsigned) {
|
|
|
1976
2020
|
function merge(dst, src, ifNotSet) { // used by converters
|
|
1977
2021
|
for (var keys = Object.keys(src), i = 0; i < keys.length; ++i)
|
|
1978
2022
|
if (dst[keys[i]] === undefined || !ifNotSet)
|
|
1979
|
-
|
|
2023
|
+
if (keys[i] !== "__proto__")
|
|
2024
|
+
dst[keys[i]] = src[keys[i]];
|
|
1980
2025
|
return dst;
|
|
1981
2026
|
}
|
|
1982
2027
|
|
|
1983
2028
|
util.merge = merge;
|
|
1984
2029
|
|
|
2030
|
+
/**
|
|
2031
|
+
* Schema declaration nesting limit.
|
|
2032
|
+
* @memberof util
|
|
2033
|
+
* @type {number}
|
|
2034
|
+
*/
|
|
2035
|
+
util.nestingLimit = 32; // protoc: MaxMessageDeclarationNestingDepth
|
|
2036
|
+
|
|
2037
|
+
/**
|
|
2038
|
+
* Recursion limit.
|
|
2039
|
+
* @memberof util
|
|
2040
|
+
* @type {number}
|
|
2041
|
+
*/
|
|
2042
|
+
util.recursionLimit = 100; // protoc: CodedInputStream::default_recursion_limit_
|
|
2043
|
+
|
|
2044
|
+
/**
|
|
2045
|
+
* Makes a property safe for assignment as an own property.
|
|
2046
|
+
* @memberof util
|
|
2047
|
+
* @param {Object.<string,*>} obj Object
|
|
2048
|
+
* @param {string} key Property key
|
|
2049
|
+
* @param {boolean} [enumerable=true] Whether the property should be enumerable
|
|
2050
|
+
* @returns {undefined}
|
|
2051
|
+
*/
|
|
2052
|
+
util.makeProp = function makeProp(obj, key, enumerable) {
|
|
2053
|
+
if (Object.prototype.hasOwnProperty.call(obj, key))
|
|
2054
|
+
return;
|
|
2055
|
+
Object.defineProperty(obj, key, {
|
|
2056
|
+
enumerable: enumerable === undefined ? true : enumerable,
|
|
2057
|
+
configurable: true,
|
|
2058
|
+
writable: true
|
|
2059
|
+
});
|
|
2060
|
+
};
|
|
2061
|
+
|
|
1985
2062
|
/**
|
|
1986
2063
|
* Converts the first character of a string to lower case.
|
|
1987
2064
|
* @param {string} str String to convert
|
|
@@ -2176,11 +2253,193 @@ util._configure = function() {
|
|
|
2176
2253
|
};
|
|
2177
2254
|
};
|
|
2178
2255
|
|
|
2179
|
-
},{"
|
|
2256
|
+
},{"10":10,"11":11,"12":12,"14":14,"15":15,"7":7,"8":8,"9":9,"long":"long"}],14:[function(require,module,exports){
|
|
2257
|
+
"use strict";
|
|
2258
|
+
module.exports = pool;
|
|
2259
|
+
|
|
2260
|
+
/**
|
|
2261
|
+
* An allocator as used by {@link util.pool}.
|
|
2262
|
+
* @typedef PoolAllocator
|
|
2263
|
+
* @type {function}
|
|
2264
|
+
* @param {number} size Buffer size
|
|
2265
|
+
* @returns {Uint8Array} Buffer
|
|
2266
|
+
*/
|
|
2267
|
+
|
|
2268
|
+
/**
|
|
2269
|
+
* A slicer as used by {@link util.pool}.
|
|
2270
|
+
* @typedef PoolSlicer
|
|
2271
|
+
* @type {function}
|
|
2272
|
+
* @param {number} start Start offset
|
|
2273
|
+
* @param {number} end End offset
|
|
2274
|
+
* @returns {Uint8Array} Buffer slice
|
|
2275
|
+
* @this {Uint8Array}
|
|
2276
|
+
*/
|
|
2277
|
+
|
|
2278
|
+
/**
|
|
2279
|
+
* A general purpose buffer pool.
|
|
2280
|
+
* @memberof util
|
|
2281
|
+
* @function
|
|
2282
|
+
* @param {PoolAllocator} alloc Allocator
|
|
2283
|
+
* @param {PoolSlicer} slice Slicer
|
|
2284
|
+
* @param {number} [size=8192] Slab size
|
|
2285
|
+
* @returns {PoolAllocator} Pooled allocator
|
|
2286
|
+
*/
|
|
2287
|
+
function pool(alloc, slice, size) {
|
|
2288
|
+
var SIZE = size || 8192;
|
|
2289
|
+
var MAX = SIZE >>> 1;
|
|
2290
|
+
var slab = null;
|
|
2291
|
+
var offset = SIZE;
|
|
2292
|
+
return function pool_alloc(size) {
|
|
2293
|
+
if (size < 1 || size > MAX)
|
|
2294
|
+
return alloc(size);
|
|
2295
|
+
if (offset + size > SIZE) {
|
|
2296
|
+
slab = alloc(SIZE);
|
|
2297
|
+
offset = 0;
|
|
2298
|
+
}
|
|
2299
|
+
var buf = slice.call(slab, offset, offset += size);
|
|
2300
|
+
if (offset & 7) // align to 32 bit
|
|
2301
|
+
offset = (offset | 7) + 1;
|
|
2302
|
+
return buf;
|
|
2303
|
+
};
|
|
2304
|
+
}
|
|
2305
|
+
|
|
2306
|
+
},{}],15:[function(require,module,exports){
|
|
2307
|
+
"use strict";
|
|
2308
|
+
|
|
2309
|
+
/**
|
|
2310
|
+
* A minimal UTF8 implementation for number arrays.
|
|
2311
|
+
* @memberof util
|
|
2312
|
+
* @namespace
|
|
2313
|
+
*/
|
|
2314
|
+
var utf8 = exports,
|
|
2315
|
+
replacementChar = "\ufffd";
|
|
2316
|
+
|
|
2317
|
+
/**
|
|
2318
|
+
* Calculates the UTF8 byte length of a string.
|
|
2319
|
+
* @param {string} string String
|
|
2320
|
+
* @returns {number} Byte length
|
|
2321
|
+
*/
|
|
2322
|
+
utf8.length = function utf8_length(string) {
|
|
2323
|
+
var len = 0,
|
|
2324
|
+
c = 0;
|
|
2325
|
+
for (var i = 0; i < string.length; ++i) {
|
|
2326
|
+
c = string.charCodeAt(i);
|
|
2327
|
+
if (c < 128)
|
|
2328
|
+
len += 1;
|
|
2329
|
+
else if (c < 2048)
|
|
2330
|
+
len += 2;
|
|
2331
|
+
else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
|
|
2332
|
+
++i;
|
|
2333
|
+
len += 4;
|
|
2334
|
+
} else
|
|
2335
|
+
len += 3;
|
|
2336
|
+
}
|
|
2337
|
+
return len;
|
|
2338
|
+
};
|
|
2339
|
+
|
|
2340
|
+
function utf8_read_js(buffer, start, end, str) {
|
|
2341
|
+
for (var i = start; i < end;) {
|
|
2342
|
+
var t = buffer[i++];
|
|
2343
|
+
if (t <= 0x7F) {
|
|
2344
|
+
str += String.fromCharCode(t);
|
|
2345
|
+
} else if (t >= 0xC0 && t < 0xE0) {
|
|
2346
|
+
var c2 = (t & 0x1F) << 6 | buffer[i++] & 0x3F;
|
|
2347
|
+
str += c2 >= 0x80 ? String.fromCharCode(c2) : replacementChar;
|
|
2348
|
+
} else if (t >= 0xE0 && t < 0xF0) {
|
|
2349
|
+
var c3 = (t & 0xF) << 12 | (buffer[i++] & 0x3F) << 6 | buffer[i++] & 0x3F;
|
|
2350
|
+
str += c3 >= 0x800 ? String.fromCharCode(c3) : replacementChar;
|
|
2351
|
+
} else if (t >= 0xF0) {
|
|
2352
|
+
var t2 = (t & 7) << 18 | (buffer[i++] & 0x3F) << 12 | (buffer[i++] & 0x3F) << 6 | buffer[i++] & 0x3F;
|
|
2353
|
+
if (t2 < 0x10000 || t2 > 0x10FFFF)
|
|
2354
|
+
str += replacementChar;
|
|
2355
|
+
else {
|
|
2356
|
+
t2 -= 0x10000;
|
|
2357
|
+
str += String.fromCharCode(0xD800 + (t2 >> 10));
|
|
2358
|
+
str += String.fromCharCode(0xDC00 + (t2 & 0x3FF));
|
|
2359
|
+
}
|
|
2360
|
+
}
|
|
2361
|
+
}
|
|
2362
|
+
return str;
|
|
2363
|
+
}
|
|
2364
|
+
|
|
2365
|
+
/**
|
|
2366
|
+
* Reads UTF8 bytes as a string.
|
|
2367
|
+
* @param {Uint8Array} buffer Source buffer
|
|
2368
|
+
* @param {number} start Source start
|
|
2369
|
+
* @param {number} end Source end
|
|
2370
|
+
* @returns {string} String read
|
|
2371
|
+
*/
|
|
2372
|
+
utf8.read = function utf8_read_ascii(buffer, start, end) {
|
|
2373
|
+
if (end - start < 1)
|
|
2374
|
+
return "";
|
|
2375
|
+
|
|
2376
|
+
var str = "",
|
|
2377
|
+
i = start,
|
|
2378
|
+
c1, c2, c3, c4, c5, c6, c7, c8;
|
|
2379
|
+
|
|
2380
|
+
for (; i + 7 < end; i += 8) {
|
|
2381
|
+
c1 = buffer[i];
|
|
2382
|
+
c2 = buffer[i + 1];
|
|
2383
|
+
c3 = buffer[i + 2];
|
|
2384
|
+
c4 = buffer[i + 3];
|
|
2385
|
+
c5 = buffer[i + 4];
|
|
2386
|
+
c6 = buffer[i + 5];
|
|
2387
|
+
c7 = buffer[i + 6];
|
|
2388
|
+
c8 = buffer[i + 7];
|
|
2389
|
+
if ((c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8) & 0x80)
|
|
2390
|
+
return utf8_read_js(buffer, i, end, str);
|
|
2391
|
+
str += String.fromCharCode(c1, c2, c3, c4, c5, c6, c7, c8);
|
|
2392
|
+
}
|
|
2393
|
+
|
|
2394
|
+
for (; i < end; ++i) {
|
|
2395
|
+
c1 = buffer[i];
|
|
2396
|
+
if (c1 & 0x80)
|
|
2397
|
+
return utf8_read_js(buffer, i, end, str);
|
|
2398
|
+
str += String.fromCharCode(c1);
|
|
2399
|
+
}
|
|
2400
|
+
|
|
2401
|
+
return str;
|
|
2402
|
+
};
|
|
2403
|
+
|
|
2404
|
+
/**
|
|
2405
|
+
* Writes a string as UTF8 bytes.
|
|
2406
|
+
* @param {string} string Source string
|
|
2407
|
+
* @param {Uint8Array} buffer Destination buffer
|
|
2408
|
+
* @param {number} offset Destination offset
|
|
2409
|
+
* @returns {number} Bytes written
|
|
2410
|
+
*/
|
|
2411
|
+
utf8.write = function utf8_write(string, buffer, offset) {
|
|
2412
|
+
var start = offset,
|
|
2413
|
+
c1, // character 1
|
|
2414
|
+
c2; // character 2
|
|
2415
|
+
for (var i = 0; i < string.length; ++i) {
|
|
2416
|
+
c1 = string.charCodeAt(i);
|
|
2417
|
+
if (c1 < 128) {
|
|
2418
|
+
buffer[offset++] = c1;
|
|
2419
|
+
} else if (c1 < 2048) {
|
|
2420
|
+
buffer[offset++] = c1 >> 6 | 192;
|
|
2421
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
2422
|
+
} else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
|
|
2423
|
+
c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
|
|
2424
|
+
++i;
|
|
2425
|
+
buffer[offset++] = c1 >> 18 | 240;
|
|
2426
|
+
buffer[offset++] = c1 >> 12 & 63 | 128;
|
|
2427
|
+
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
2428
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
2429
|
+
} else {
|
|
2430
|
+
buffer[offset++] = c1 >> 12 | 224;
|
|
2431
|
+
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
2432
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
2433
|
+
}
|
|
2434
|
+
}
|
|
2435
|
+
return offset - start;
|
|
2436
|
+
};
|
|
2437
|
+
|
|
2438
|
+
},{}],16:[function(require,module,exports){
|
|
2180
2439
|
"use strict";
|
|
2181
2440
|
module.exports = Writer;
|
|
2182
2441
|
|
|
2183
|
-
var util = require(
|
|
2442
|
+
var util = require(13);
|
|
2184
2443
|
|
|
2185
2444
|
var BufferWriter; // cyclic
|
|
2186
2445
|
|
|
@@ -2352,6 +2611,11 @@ function writeByte(val, buf, pos) {
|
|
|
2352
2611
|
buf[pos] = val & 255;
|
|
2353
2612
|
}
|
|
2354
2613
|
|
|
2614
|
+
function writeStringAscii(val, buf, pos) {
|
|
2615
|
+
for (var i = 0; i < val.length;)
|
|
2616
|
+
buf[pos++] = val.charCodeAt(i++);
|
|
2617
|
+
}
|
|
2618
|
+
|
|
2355
2619
|
function writeVarint32(val, buf, pos) {
|
|
2356
2620
|
while (val > 127) {
|
|
2357
2621
|
buf[pos++] = val & 127 | 128;
|
|
@@ -2562,6 +2826,16 @@ Writer.prototype.bytes = function write_bytes(value) {
|
|
|
2562
2826
|
return this.uint32(len)._push(writeBytes, len, value);
|
|
2563
2827
|
};
|
|
2564
2828
|
|
|
2829
|
+
/**
|
|
2830
|
+
* Writes raw bytes without a tag or length prefix.
|
|
2831
|
+
* @param {Uint8Array} value Raw bytes
|
|
2832
|
+
* @returns {Writer} `this`
|
|
2833
|
+
*/
|
|
2834
|
+
Writer.prototype.raw = function write_raw(value) {
|
|
2835
|
+
var len = value.length >>> 0;
|
|
2836
|
+
return len ? this._push(writeBytes, len, value) : this;
|
|
2837
|
+
};
|
|
2838
|
+
|
|
2565
2839
|
/**
|
|
2566
2840
|
* Writes a string.
|
|
2567
2841
|
* @param {string} value Value to write
|
|
@@ -2570,7 +2844,7 @@ Writer.prototype.bytes = function write_bytes(value) {
|
|
|
2570
2844
|
Writer.prototype.string = function write_string(value) {
|
|
2571
2845
|
var len = utf8.length(value);
|
|
2572
2846
|
return len
|
|
2573
|
-
? this.uint32(len)._push(utf8.write, len, value)
|
|
2847
|
+
? this.uint32(len)._push(len === value.length ? writeStringAscii : utf8.write, len, value)
|
|
2574
2848
|
: this._push(writeByte, 1, 0);
|
|
2575
2849
|
};
|
|
2576
2850
|
|
|
@@ -2625,15 +2899,28 @@ Writer.prototype.ldelim = function ldelim() {
|
|
|
2625
2899
|
* @returns {Uint8Array} Finished buffer
|
|
2626
2900
|
*/
|
|
2627
2901
|
Writer.prototype.finish = function finish() {
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2902
|
+
return this.finishInto(this.constructor.alloc(this.len), 0);
|
|
2903
|
+
};
|
|
2904
|
+
|
|
2905
|
+
/**
|
|
2906
|
+
* Finishes the write operation, writing into the provided buffer.
|
|
2907
|
+
* The caller must ensure that `buf` has enough space starting at `offset`
|
|
2908
|
+
* to hold {@link Writer#len} bytes.
|
|
2909
|
+
* @param {T} buf Target buffer
|
|
2910
|
+
* @param {number} [offset=0] Offset to start writing at
|
|
2911
|
+
* @returns {T} The provided buffer
|
|
2912
|
+
* @template T extends Uint8Array
|
|
2913
|
+
*/
|
|
2914
|
+
Writer.prototype.finishInto = function finishInto(buf, offset) {
|
|
2915
|
+
if (offset === undefined)
|
|
2916
|
+
offset = 0;
|
|
2917
|
+
var head = this.head.next,
|
|
2918
|
+
pos = offset;
|
|
2631
2919
|
while (head) {
|
|
2632
2920
|
head.fn(head.val, buf, pos);
|
|
2633
2921
|
pos += head.len;
|
|
2634
2922
|
head = head.next;
|
|
2635
2923
|
}
|
|
2636
|
-
// this.head = this.tail = null;
|
|
2637
2924
|
return buf;
|
|
2638
2925
|
};
|
|
2639
2926
|
|
|
@@ -2643,7 +2930,7 @@ Writer._configure = function(BufferWriter_) {
|
|
|
2643
2930
|
BufferWriter._configure();
|
|
2644
2931
|
};
|
|
2645
2932
|
|
|
2646
|
-
},{"
|
|
2933
|
+
},{"13":13}],17:[function(require,module,exports){
|
|
2647
2934
|
"use strict";
|
|
2648
2935
|
module.exports = BufferWriter;
|
|
2649
2936
|
|
|
@@ -2651,7 +2938,7 @@ module.exports = BufferWriter;
|
|
|
2651
2938
|
var Writer = require(16);
|
|
2652
2939
|
(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;
|
|
2653
2940
|
|
|
2654
|
-
var util = require(
|
|
2941
|
+
var util = require(13);
|
|
2655
2942
|
|
|
2656
2943
|
/**
|
|
2657
2944
|
* Constructs a new buffer writer instance.
|
|
@@ -2700,6 +2987,23 @@ BufferWriter.prototype.bytes = function write_bytes_buffer(value) {
|
|
|
2700
2987
|
return this;
|
|
2701
2988
|
};
|
|
2702
2989
|
|
|
2990
|
+
/**
|
|
2991
|
+
* Writes raw bytes without a tag or length prefix.
|
|
2992
|
+
* @name BufferWriter#raw
|
|
2993
|
+
* @function
|
|
2994
|
+
* @param {Uint8Array} value Raw bytes
|
|
2995
|
+
* @returns {BufferWriter} `this`
|
|
2996
|
+
*/
|
|
2997
|
+
BufferWriter.prototype.raw = function write_raw_buffer(value) {
|
|
2998
|
+
var len = value.length >>> 0;
|
|
2999
|
+
return len ? this._push(BufferWriter.writeBytesBuffer, len, value) : this;
|
|
3000
|
+
};
|
|
3001
|
+
|
|
3002
|
+
function writeStringBufferAscii(val, buf, pos) {
|
|
3003
|
+
for (var i = 0; i < val.length;)
|
|
3004
|
+
buf[pos++] = val.charCodeAt(i++);
|
|
3005
|
+
}
|
|
3006
|
+
|
|
2703
3007
|
function writeStringBuffer(val, buf, pos) {
|
|
2704
3008
|
if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions)
|
|
2705
3009
|
util.utf8.write(val, buf, pos);
|
|
@@ -2716,7 +3020,7 @@ BufferWriter.prototype.string = function write_string_buffer(value) {
|
|
|
2716
3020
|
var len = util.Buffer.byteLength(value);
|
|
2717
3021
|
this.uint32(len);
|
|
2718
3022
|
if (len)
|
|
2719
|
-
this._push(writeStringBuffer, len, value);
|
|
3023
|
+
this._push(len === value.length && len < 40 ? writeStringBufferAscii : writeStringBuffer, len, value);
|
|
2720
3024
|
return this;
|
|
2721
3025
|
};
|
|
2722
3026
|
|
|
@@ -2730,7 +3034,7 @@ BufferWriter.prototype.string = function write_string_buffer(value) {
|
|
|
2730
3034
|
|
|
2731
3035
|
BufferWriter._configure();
|
|
2732
3036
|
|
|
2733
|
-
},{"
|
|
3037
|
+
},{"13":13,"16":16}]},{},[1])
|
|
2734
3038
|
|
|
2735
3039
|
})();
|
|
2736
3040
|
//# sourceMappingURL=protobuf.js.map
|