@leofcoin/peernet 0.11.31 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3809 @@
1
+ (self["webpackChunkPeernet"] = self["webpackChunkPeernet"] || []).push([[160],{
2
+
3
+ /***/ 1626:
4
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5
+
6
+ var parse = __webpack_require__(7126)
7
+ var stringify = __webpack_require__(2565)
8
+
9
+ module.exports = parse
10
+ module.exports.parse = parse
11
+ module.exports.stringify = stringify
12
+
13
+
14
+ /***/ }),
15
+
16
+ /***/ 7126:
17
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
18
+
19
+ var tokenize = __webpack_require__(989)
20
+ var MAX_RANGE = 0x1FFFFFFF
21
+
22
+ // "Only repeated fields of primitive numeric types (types which use the varint, 32-bit, or 64-bit wire types) can be declared "packed"."
23
+ // https://developers.google.com/protocol-buffers/docs/encoding#optional
24
+ var PACKABLE_TYPES = [
25
+ // varint wire types
26
+ 'int32', 'int64', 'uint32', 'uint64', 'sint32', 'sint64', 'bool',
27
+ // + ENUMS
28
+ // 64-bit wire types
29
+ 'fixed64', 'sfixed64', 'double',
30
+ // 32-bit wire types
31
+ 'fixed32', 'sfixed32', 'float'
32
+ ]
33
+
34
+ var onfieldoptionvalue = function (tokens) {
35
+ var value = tokens.shift()
36
+ if (value !== '{') {
37
+ return value
38
+ }
39
+ value = {}
40
+ var field = ''
41
+ while (tokens.length) {
42
+ switch (tokens[0]) {
43
+ case '}':
44
+ tokens.shift()
45
+ return value
46
+ case ':':
47
+ tokens.shift()
48
+ value[field] = onfieldoptionvalue(tokens)
49
+ break
50
+ default:
51
+ field = tokens.shift()
52
+ }
53
+ }
54
+ }
55
+
56
+ var onfieldoptions = function (tokens) {
57
+ var opts = {}
58
+
59
+ while (tokens.length) {
60
+ switch (tokens[0]) {
61
+ case '[':
62
+ case ',': {
63
+ tokens.shift()
64
+ var name = tokens.shift()
65
+ if (name === '(') { // handling [(A) = B]
66
+ name = tokens.shift()
67
+ tokens.shift() // remove the end of bracket
68
+ }
69
+ var field = []
70
+ if (tokens[0][0] === '.') {
71
+ field = tokens[0].substr(1).split('.')
72
+ tokens.shift()
73
+ }
74
+ if (tokens[0] !== '=') throw new Error('Unexpected token in field options: ' + tokens[0])
75
+ tokens.shift()
76
+ if (tokens[0] === ']') throw new Error('Unexpected ] in field option')
77
+
78
+ // for option (A).b.c
79
+ // path will be ['A', 'b'] and lastFieldName 'c'
80
+ var path = [name].concat(field)
81
+ var lastFieldName = path.pop()
82
+
83
+ // opt references opts.A.b
84
+ var opt = path.reduce(function (opt, n, index) {
85
+ if (opt[n] == null) {
86
+ opt[n] = {}
87
+ }
88
+ return opt[n]
89
+ }, opts)
90
+
91
+ // now set opt['c'] that references opts.A.b['c']
92
+ opt[lastFieldName] = onfieldoptionvalue(tokens)
93
+ break
94
+ }
95
+ case ']':
96
+ tokens.shift()
97
+ return opts
98
+
99
+ default:
100
+ throw new Error('Unexpected token in field options: ' + tokens[0])
101
+ }
102
+ }
103
+
104
+ throw new Error('No closing tag for field options')
105
+ }
106
+
107
+ var onfield = function (tokens) {
108
+ var field = {
109
+ name: null,
110
+ type: null,
111
+ tag: -1,
112
+ map: null,
113
+ oneof: null,
114
+ required: false,
115
+ repeated: false,
116
+ options: {}
117
+ }
118
+
119
+ while (tokens.length) {
120
+ switch (tokens[0]) {
121
+ case '=':
122
+ tokens.shift()
123
+ field.tag = Number(tokens.shift())
124
+ break
125
+
126
+ case 'map':
127
+ field.type = 'map'
128
+ field.map = { from: null, to: null }
129
+ tokens.shift()
130
+ if (tokens[0] !== '<') throw new Error('Unexpected token in map type: ' + tokens[0])
131
+ tokens.shift()
132
+ field.map.from = tokens.shift()
133
+ if (tokens[0] !== ',') throw new Error('Unexpected token in map type: ' + tokens[0])
134
+ tokens.shift()
135
+ field.map.to = tokens.shift()
136
+ if (tokens[0] !== '>') throw new Error('Unexpected token in map type: ' + tokens[0])
137
+ tokens.shift()
138
+ field.name = tokens.shift()
139
+ break
140
+
141
+ case 'repeated':
142
+ case 'required':
143
+ case 'optional':
144
+ var t = tokens.shift()
145
+ field.required = t === 'required'
146
+ field.repeated = t === 'repeated'
147
+ field.type = tokens.shift()
148
+ field.name = tokens.shift()
149
+ break
150
+
151
+ case '[':
152
+ field.options = onfieldoptions(tokens)
153
+ break
154
+
155
+ case ';':
156
+ if (field.name === null) throw new Error('Missing field name')
157
+ if (field.type === null) throw new Error('Missing type in message field: ' + field.name)
158
+ if (field.tag === -1) throw new Error('Missing tag number in message field: ' + field.name)
159
+ tokens.shift()
160
+ return field
161
+
162
+ default:
163
+ throw new Error('Unexpected token in message field: ' + tokens[0])
164
+ }
165
+ }
166
+
167
+ throw new Error('No ; found for message field')
168
+ }
169
+
170
+ var onmessagebody = function (tokens) {
171
+ var body = {
172
+ enums: [],
173
+ options: {},
174
+ messages: [],
175
+ fields: [],
176
+ extends: [],
177
+ extensions: null
178
+ }
179
+
180
+ while (tokens.length) {
181
+ switch (tokens[0]) {
182
+ case 'map':
183
+ case 'repeated':
184
+ case 'optional':
185
+ case 'required':
186
+ body.fields.push(onfield(tokens))
187
+ break
188
+
189
+ case 'enum':
190
+ body.enums.push(onenum(tokens))
191
+ break
192
+
193
+ case 'message':
194
+ body.messages.push(onmessage(tokens))
195
+ break
196
+
197
+ case 'extensions':
198
+ body.extensions = onextensions(tokens)
199
+ break
200
+
201
+ case 'oneof':
202
+ tokens.shift()
203
+ var name = tokens.shift()
204
+ if (tokens[0] !== '{') throw new Error('Unexpected token in oneof: ' + tokens[0])
205
+ tokens.shift()
206
+ while (tokens[0] !== '}') {
207
+ tokens.unshift('optional')
208
+ var field = onfield(tokens)
209
+ field.oneof = name
210
+ body.fields.push(field)
211
+ }
212
+ tokens.shift()
213
+ break
214
+
215
+ case 'extend':
216
+ body.extends.push(onextend(tokens))
217
+ break
218
+
219
+ case ';':
220
+ tokens.shift()
221
+ break
222
+
223
+ case 'reserved':
224
+ tokens.shift()
225
+ while (tokens[0] !== ';') {
226
+ tokens.shift()
227
+ }
228
+ break
229
+
230
+ case 'option':
231
+ var opt = onoption(tokens)
232
+ if (body.options[opt.name] !== undefined) throw new Error('Duplicate option ' + opt.name)
233
+ body.options[opt.name] = opt.value
234
+ break
235
+
236
+ default:
237
+ // proto3 does not require the use of optional/required, assumed as optional
238
+ // "singular: a well-formed message can have zero or one of this field (but not more than one)."
239
+ // https://developers.google.com/protocol-buffers/docs/proto3#specifying-field-rules
240
+ tokens.unshift('optional')
241
+ body.fields.push(onfield(tokens))
242
+ }
243
+ }
244
+
245
+ return body
246
+ }
247
+
248
+ var onextend = function (tokens) {
249
+ var out = {
250
+ name: tokens[1],
251
+ message: onmessage(tokens)
252
+ }
253
+ return out
254
+ }
255
+
256
+ var onextensions = function (tokens) {
257
+ tokens.shift()
258
+ var from = Number(tokens.shift())
259
+ if (isNaN(from)) throw new Error('Invalid from in extensions definition')
260
+ if (tokens.shift() !== 'to') throw new Error("Expected keyword 'to' in extensions definition")
261
+ var to = tokens.shift()
262
+ if (to === 'max') to = MAX_RANGE
263
+ to = Number(to)
264
+ if (isNaN(to)) throw new Error('Invalid to in extensions definition')
265
+ if (tokens.shift() !== ';') throw new Error('Missing ; in extensions definition')
266
+ return { from: from, to: to }
267
+ }
268
+ var onmessage = function (tokens) {
269
+ tokens.shift()
270
+
271
+ var lvl = 1
272
+ var body = []
273
+ var msg = {
274
+ name: tokens.shift(),
275
+ options: {},
276
+ enums: [],
277
+ extends: [],
278
+ messages: [],
279
+ fields: []
280
+ }
281
+
282
+ if (tokens[0] !== '{') throw new Error('Expected { but found ' + tokens[0])
283
+ tokens.shift()
284
+
285
+ while (tokens.length) {
286
+ if (tokens[0] === '{') lvl++
287
+ else if (tokens[0] === '}') lvl--
288
+
289
+ if (!lvl) {
290
+ tokens.shift()
291
+ body = onmessagebody(body)
292
+ msg.enums = body.enums
293
+ msg.messages = body.messages
294
+ msg.fields = body.fields
295
+ msg.extends = body.extends
296
+ msg.extensions = body.extensions
297
+ msg.options = body.options
298
+ return msg
299
+ }
300
+
301
+ body.push(tokens.shift())
302
+ }
303
+
304
+ if (lvl) throw new Error('No closing tag for message')
305
+ }
306
+
307
+ var onpackagename = function (tokens) {
308
+ tokens.shift()
309
+ var name = tokens.shift()
310
+ if (tokens[0] !== ';') throw new Error('Expected ; but found ' + tokens[0])
311
+ tokens.shift()
312
+ return name
313
+ }
314
+
315
+ var onsyntaxversion = function (tokens) {
316
+ tokens.shift()
317
+
318
+ if (tokens[0] !== '=') throw new Error('Expected = but found ' + tokens[0])
319
+ tokens.shift()
320
+
321
+ var version = tokens.shift()
322
+ switch (version) {
323
+ case '"proto2"':
324
+ version = 2
325
+ break
326
+
327
+ case '"proto3"':
328
+ version = 3
329
+ break
330
+
331
+ default:
332
+ throw new Error('Expected protobuf syntax version but found ' + version)
333
+ }
334
+
335
+ if (tokens[0] !== ';') throw new Error('Expected ; but found ' + tokens[0])
336
+ tokens.shift()
337
+
338
+ return version
339
+ }
340
+
341
+ var onenumvalue = function (tokens) {
342
+ if (tokens.length < 4) throw new Error('Invalid enum value: ' + tokens.slice(0, 3).join(' '))
343
+ if (tokens[0] === 'reserved') {
344
+ tokens.shift()
345
+ while (tokens[0] !== ';') {
346
+ tokens.shift()
347
+ }
348
+ tokens.shift()
349
+ return null
350
+ }
351
+ if (tokens[1] !== '=') throw new Error('Expected = but found ' + tokens[1])
352
+ if (tokens[3] !== ';' && tokens[3] !== '[') throw new Error('Expected ; or [ but found ' + tokens[1])
353
+
354
+ var name = tokens.shift()
355
+ tokens.shift()
356
+ var val = {
357
+ value: null,
358
+ options: {}
359
+ }
360
+ val.value = Number(tokens.shift())
361
+ if (tokens[0] === '[') {
362
+ val.options = onfieldoptions(tokens)
363
+ }
364
+ tokens.shift() // expecting the semicolon here
365
+
366
+ return {
367
+ name: name,
368
+ val: val
369
+ }
370
+ }
371
+
372
+ var onenum = function (tokens) {
373
+ tokens.shift()
374
+ var options = {}
375
+ var e = {
376
+ name: tokens.shift(),
377
+ values: {},
378
+ options: {}
379
+ }
380
+
381
+ if (tokens[0] !== '{') throw new Error('Expected { but found ' + tokens[0])
382
+ tokens.shift()
383
+
384
+ while (tokens.length) {
385
+ if (tokens[0] === '}') {
386
+ tokens.shift()
387
+ // there goes optional semicolon after the enclosing "}"
388
+ if (tokens[0] === ';') tokens.shift()
389
+ return e
390
+ }
391
+ if (tokens[0] === 'option') {
392
+ options = onoption(tokens)
393
+ e.options[options.name] = options.value
394
+ continue
395
+ }
396
+ var val = onenumvalue(tokens)
397
+ if (val !== null) {
398
+ e.values[val.name] = val.val
399
+ }
400
+ }
401
+
402
+ throw new Error('No closing tag for enum')
403
+ }
404
+
405
+ var onoption = function (tokens) {
406
+ var name = null
407
+ var value = null
408
+
409
+ var parse = function (value) {
410
+ if (value === 'true') return true
411
+ if (value === 'false') return false
412
+ return value.replace(/^"+|"+$/gm, '')
413
+ }
414
+
415
+ while (tokens.length) {
416
+ if (tokens[0] === ';') {
417
+ tokens.shift()
418
+ return { name: name, value: value }
419
+ }
420
+ switch (tokens[0]) {
421
+ case 'option':
422
+ tokens.shift()
423
+
424
+ var hasBracket = tokens[0] === '('
425
+ if (hasBracket) tokens.shift()
426
+
427
+ name = tokens.shift()
428
+
429
+ if (hasBracket) {
430
+ if (tokens[0] !== ')') throw new Error('Expected ) but found ' + tokens[0])
431
+ tokens.shift()
432
+ }
433
+
434
+ if (tokens[0][0] === '.') {
435
+ name += tokens.shift()
436
+ }
437
+
438
+ break
439
+
440
+ case '=':
441
+ tokens.shift()
442
+ if (name === null) throw new Error('Expected key for option with value: ' + tokens[0])
443
+ value = parse(tokens.shift())
444
+
445
+ if (name === 'optimize_for' && !/^(SPEED|CODE_SIZE|LITE_RUNTIME)$/.test(value)) {
446
+ throw new Error('Unexpected value for option optimize_for: ' + value)
447
+ } else if (value === '{') {
448
+ // option foo = {bar: baz}
449
+ value = onoptionMap(tokens)
450
+ }
451
+ break
452
+
453
+ default:
454
+ throw new Error('Unexpected token in option: ' + tokens[0])
455
+ }
456
+ }
457
+ }
458
+
459
+ var onoptionMap = function (tokens) {
460
+ var parse = function (value) {
461
+ if (value === 'true') return true
462
+ if (value === 'false') return false
463
+ return value.replace(/^"+|"+$/gm, '')
464
+ }
465
+
466
+ var map = {}
467
+
468
+ while (tokens.length) {
469
+ if (tokens[0] === '}') {
470
+ tokens.shift()
471
+ return map
472
+ }
473
+
474
+ var hasBracket = tokens[0] === '('
475
+ if (hasBracket) tokens.shift()
476
+
477
+ var key = tokens.shift()
478
+ if (hasBracket) {
479
+ if (tokens[0] !== ')') throw new Error('Expected ) but found ' + tokens[0])
480
+ tokens.shift()
481
+ }
482
+
483
+ var value = null
484
+
485
+ switch (tokens[0]) {
486
+ case ':':
487
+ if (map[key] !== undefined) throw new Error('Duplicate option map key ' + key)
488
+
489
+ tokens.shift()
490
+
491
+ value = parse(tokens.shift())
492
+
493
+ if (value === '{') {
494
+ // option foo = {bar: baz}
495
+ value = onoptionMap(tokens)
496
+ }
497
+
498
+ map[key] = value
499
+
500
+ if (tokens[0] === ';') {
501
+ tokens.shift()
502
+ }
503
+ break
504
+
505
+ case '{':
506
+ tokens.shift()
507
+ value = onoptionMap(tokens)
508
+
509
+ if (map[key] === undefined) map[key] = []
510
+ if (!Array.isArray(map[key])) throw new Error('Duplicate option map key ' + key)
511
+
512
+ map[key].push(value)
513
+ break
514
+
515
+ default:
516
+ throw new Error('Unexpected token in option map: ' + tokens[0])
517
+ }
518
+ }
519
+
520
+ throw new Error('No closing tag for option map')
521
+ }
522
+
523
+ var onimport = function (tokens) {
524
+ tokens.shift()
525
+ var file = tokens.shift().replace(/^"+|"+$/gm, '')
526
+
527
+ if (tokens[0] !== ';') throw new Error('Unexpected token: ' + tokens[0] + '. Expected ";"')
528
+
529
+ tokens.shift()
530
+ return file
531
+ }
532
+
533
+ var onservice = function (tokens) {
534
+ tokens.shift()
535
+
536
+ var service = {
537
+ name: tokens.shift(),
538
+ methods: [],
539
+ options: {}
540
+ }
541
+
542
+ if (tokens[0] !== '{') throw new Error('Expected { but found ' + tokens[0])
543
+ tokens.shift()
544
+
545
+ while (tokens.length) {
546
+ if (tokens[0] === '}') {
547
+ tokens.shift()
548
+ // there goes optional semicolon after the enclosing "}"
549
+ if (tokens[0] === ';') tokens.shift()
550
+ return service
551
+ }
552
+
553
+ switch (tokens[0]) {
554
+ case 'option':
555
+ var opt = onoption(tokens)
556
+ if (service.options[opt.name] !== undefined) throw new Error('Duplicate option ' + opt.name)
557
+ service.options[opt.name] = opt.value
558
+ break
559
+ case 'rpc':
560
+ service.methods.push(onrpc(tokens))
561
+ break
562
+ default:
563
+ throw new Error('Unexpected token in service: ' + tokens[0])
564
+ }
565
+ }
566
+
567
+ throw new Error('No closing tag for service')
568
+ }
569
+
570
+ var onrpc = function (tokens) {
571
+ tokens.shift()
572
+
573
+ var rpc = {
574
+ name: tokens.shift(),
575
+ input_type: null,
576
+ output_type: null,
577
+ client_streaming: false,
578
+ server_streaming: false,
579
+ options: {}
580
+ }
581
+
582
+ if (tokens[0] !== '(') throw new Error('Expected ( but found ' + tokens[0])
583
+ tokens.shift()
584
+
585
+ if (tokens[0] === 'stream') {
586
+ tokens.shift()
587
+ rpc.client_streaming = true
588
+ }
589
+
590
+ rpc.input_type = tokens.shift()
591
+
592
+ if (tokens[0] !== ')') throw new Error('Expected ) but found ' + tokens[0])
593
+ tokens.shift()
594
+
595
+ if (tokens[0] !== 'returns') throw new Error('Expected returns but found ' + tokens[0])
596
+ tokens.shift()
597
+
598
+ if (tokens[0] !== '(') throw new Error('Expected ( but found ' + tokens[0])
599
+ tokens.shift()
600
+
601
+ if (tokens[0] === 'stream') {
602
+ tokens.shift()
603
+ rpc.server_streaming = true
604
+ }
605
+
606
+ rpc.output_type = tokens.shift()
607
+
608
+ if (tokens[0] !== ')') throw new Error('Expected ) but found ' + tokens[0])
609
+ tokens.shift()
610
+
611
+ if (tokens[0] === ';') {
612
+ tokens.shift()
613
+ return rpc
614
+ }
615
+
616
+ if (tokens[0] !== '{') throw new Error('Expected { but found ' + tokens[0])
617
+ tokens.shift()
618
+
619
+ while (tokens.length) {
620
+ if (tokens[0] === '}') {
621
+ tokens.shift()
622
+ // there goes optional semicolon after the enclosing "}"
623
+ if (tokens[0] === ';') tokens.shift()
624
+ return rpc
625
+ }
626
+
627
+ if (tokens[0] === 'option') {
628
+ var opt = onoption(tokens)
629
+ if (rpc.options[opt.name] !== undefined) throw new Error('Duplicate option ' + opt.name)
630
+ rpc.options[opt.name] = opt.value
631
+ } else {
632
+ throw new Error('Unexpected token in rpc options: ' + tokens[0])
633
+ }
634
+ }
635
+
636
+ throw new Error('No closing tag for rpc')
637
+ }
638
+
639
+ var parse = function (buf) {
640
+ var tokens = tokenize(buf.toString())
641
+ // check for isolated strings in tokens by looking for opening quote
642
+ for (var i = 0; i < tokens.length; i++) {
643
+ if (/^("|')([^'"]*)$/.test(tokens[i])) {
644
+ var j
645
+ if (tokens[i].length === 1) {
646
+ j = i + 1
647
+ } else {
648
+ j = i
649
+ }
650
+ // look ahead for the closing quote and collapse all
651
+ // in-between tokens into a single token
652
+ for (j; j < tokens.length; j++) {
653
+ if (/^[^'"\\]*(?:\\.[^'"\\]*)*("|')$/.test(tokens[j])) {
654
+ tokens = tokens.slice(0, i).concat(tokens.slice(i, j + 1).join('')).concat(tokens.slice(j + 1))
655
+ break
656
+ }
657
+ }
658
+ }
659
+ }
660
+ var schema = {
661
+ syntax: 3,
662
+ package: null,
663
+ imports: [],
664
+ enums: [],
665
+ messages: [],
666
+ options: {},
667
+ extends: []
668
+ }
669
+
670
+ var firstline = true
671
+
672
+ while (tokens.length) {
673
+ switch (tokens[0]) {
674
+ case 'package':
675
+ schema.package = onpackagename(tokens)
676
+ break
677
+
678
+ case 'syntax':
679
+ if (!firstline) throw new Error('Protobuf syntax version should be first thing in file')
680
+ schema.syntax = onsyntaxversion(tokens)
681
+ break
682
+
683
+ case 'message':
684
+ schema.messages.push(onmessage(tokens))
685
+ break
686
+
687
+ case 'enum':
688
+ schema.enums.push(onenum(tokens))
689
+ break
690
+
691
+ case 'option':
692
+ var opt = onoption(tokens)
693
+ if (schema.options[opt.name]) throw new Error('Duplicate option ' + opt.name)
694
+ schema.options[opt.name] = opt.value
695
+ break
696
+
697
+ case 'import':
698
+ schema.imports.push(onimport(tokens))
699
+ break
700
+
701
+ case 'extend':
702
+ schema.extends.push(onextend(tokens))
703
+ break
704
+
705
+ case 'service':
706
+ if (!schema.services) schema.services = []
707
+ schema.services.push(onservice(tokens))
708
+ break
709
+
710
+ default:
711
+ throw new Error('Unexpected token: ' + tokens[0])
712
+ }
713
+ firstline = false
714
+ }
715
+
716
+ // now iterate over messages and propagate extends
717
+ schema.extends.forEach(function (ext) {
718
+ schema.messages.forEach(function (msg) {
719
+ if (msg.name === ext.name) {
720
+ ext.message.fields.forEach(function (field) {
721
+ if (!msg.extensions || field.tag < msg.extensions.from || field.tag > msg.extensions.to) {
722
+ throw new Error(msg.name + ' does not declare ' + field.tag + ' as an extension number')
723
+ }
724
+ msg.fields.push(field)
725
+ })
726
+ }
727
+ })
728
+ })
729
+
730
+ schema.messages.forEach(function (msg) {
731
+ msg.fields.forEach(function (field) {
732
+ var fieldSplit
733
+ var messageName
734
+ var nestedEnumName
735
+ var message
736
+
737
+ function enumNameIsFieldType (en) {
738
+ return en.name === field.type
739
+ }
740
+
741
+ function enumNameIsNestedEnumName (en) {
742
+ return en.name === nestedEnumName
743
+ }
744
+
745
+ if (field.options && field.options.packed === 'true') {
746
+ if (PACKABLE_TYPES.indexOf(field.type) === -1) {
747
+ // let's see if it's an enum
748
+ if (field.type.indexOf('.') === -1) {
749
+ if (msg.enums && msg.enums.some(enumNameIsFieldType)) {
750
+ return
751
+ }
752
+ } else {
753
+ fieldSplit = field.type.split('.')
754
+ if (fieldSplit.length > 2) {
755
+ throw new Error('what is this?')
756
+ }
757
+
758
+ messageName = fieldSplit[0]
759
+ nestedEnumName = fieldSplit[1]
760
+
761
+ schema.messages.some(function (msg) {
762
+ if (msg.name === messageName) {
763
+ message = msg
764
+ return msg
765
+ }
766
+ })
767
+
768
+ if (message && message.enums && message.enums.some(enumNameIsNestedEnumName)) {
769
+ return
770
+ }
771
+ }
772
+
773
+ throw new Error(
774
+ 'Fields of type ' + field.type + ' cannot be declared [packed=true]. ' +
775
+ 'Only repeated fields of primitive numeric types (types which use ' +
776
+ 'the varint, 32-bit, or 64-bit wire types) can be declared "packed". ' +
777
+ 'See https://developers.google.com/protocol-buffers/docs/encoding#optional'
778
+ )
779
+ }
780
+ }
781
+ })
782
+ })
783
+
784
+ return schema
785
+ }
786
+
787
+ module.exports = parse
788
+
789
+
790
+ /***/ }),
791
+
792
+ /***/ 2565:
793
+ /***/ (function(module) {
794
+
795
+ var onimport = function (i, result) {
796
+ result.push('import "' + i + '";', '')
797
+ return result
798
+ }
799
+
800
+ var onfield = function (f, result) {
801
+ var prefix = f.repeated ? 'repeated' : f.required ? 'required' : 'optional'
802
+ if (f.type === 'map') prefix = 'map<' + f.map.from + ',' + f.map.to + '>'
803
+ if (f.oneof) prefix = ''
804
+
805
+ var opts = Object.keys(f.options || {}).map(function (key) {
806
+ return key + ' = ' + f.options[key]
807
+ }).join(',')
808
+
809
+ if (opts) opts = ' [' + opts + ']'
810
+
811
+ result.push((prefix ? prefix + ' ' : '') + (f.map === 'map' ? '' : f.type + ' ') + f.name + ' = ' + f.tag + opts + ';')
812
+ return result
813
+ }
814
+
815
+ var onmessage = function (m, result) {
816
+ result.push('message ' + m.name + ' {')
817
+
818
+ if (!m.options) m.options = {}
819
+ onoption(m.options, result)
820
+
821
+ if (!m.enums) m.enums = []
822
+ m.enums.forEach(function (e) {
823
+ result.push(onenum(e, []))
824
+ })
825
+
826
+ if (!m.messages) m.messages = []
827
+ m.messages.forEach(function (m) {
828
+ result.push(onmessage(m, []))
829
+ })
830
+
831
+ var oneofs = {}
832
+
833
+ if (!m.fields) m.fields = []
834
+ m.fields.forEach(function (f) {
835
+ if (f.oneof) {
836
+ if (!oneofs[f.oneof]) oneofs[f.oneof] = []
837
+ oneofs[f.oneof].push(onfield(f, []))
838
+ } else {
839
+ result.push(onfield(f, []))
840
+ }
841
+ })
842
+
843
+ Object.keys(oneofs).forEach(function (n) {
844
+ oneofs[n].unshift('oneof ' + n + ' {')
845
+ oneofs[n].push('}')
846
+ result.push(oneofs[n])
847
+ })
848
+
849
+ result.push('}', '')
850
+ return result
851
+ }
852
+
853
+ var onenum = function (e, result) {
854
+ result.push('enum ' + e.name + ' {')
855
+ if (!e.options) e.options = {}
856
+ var options = onoption(e.options, [])
857
+ if (options.length > 1) {
858
+ result.push(options.slice(0, -1))
859
+ }
860
+ Object.keys(e.values).map(function (v) {
861
+ var val = onenumvalue(e.values[v])
862
+ result.push([v + ' = ' + val + ';'])
863
+ })
864
+ result.push('}', '')
865
+ return result
866
+ }
867
+
868
+ var onenumvalue = function (v, result) {
869
+ var opts = Object.keys(v.options || {}).map(function (key) {
870
+ return key + ' = ' + v.options[key]
871
+ }).join(',')
872
+
873
+ if (opts) opts = ' [' + opts + ']'
874
+ var val = v.value + opts
875
+ return val
876
+ }
877
+
878
+ var onoption = function (o, result) {
879
+ var keys = Object.keys(o)
880
+ keys.forEach(function (option) {
881
+ var v = o[option]
882
+ if (~option.indexOf('.')) option = '(' + option + ')'
883
+
884
+ var type = typeof v
885
+
886
+ if (type === 'object') {
887
+ v = onoptionMap(v, [])
888
+ if (v.length) result.push('option ' + option + ' = {', v, '};')
889
+ } else {
890
+ if (type === 'string' && option !== 'optimize_for') v = '"' + v + '"'
891
+ result.push('option ' + option + ' = ' + v + ';')
892
+ }
893
+ })
894
+ if (keys.length > 0) {
895
+ result.push('')
896
+ }
897
+
898
+ return result
899
+ }
900
+
901
+ var onoptionMap = function (o, result) {
902
+ var keys = Object.keys(o)
903
+ keys.forEach(function (k) {
904
+ var v = o[k]
905
+
906
+ var type = typeof v
907
+
908
+ if (type === 'object') {
909
+ if (Array.isArray(v)) {
910
+ v.forEach(function (v) {
911
+ v = onoptionMap(v, [])
912
+ if (v.length) result.push(k + ' {', v, '}')
913
+ })
914
+ } else {
915
+ v = onoptionMap(v, [])
916
+ if (v.length) result.push(k + ' {', v, '}')
917
+ }
918
+ } else {
919
+ if (type === 'string') v = '"' + v + '"'
920
+ result.push(k + ': ' + v)
921
+ }
922
+ })
923
+
924
+ return result
925
+ }
926
+
927
+ var onservices = function (s, result) {
928
+ result.push('service ' + s.name + ' {')
929
+
930
+ if (!s.options) s.options = {}
931
+ onoption(s.options, result)
932
+ if (!s.methods) s.methods = []
933
+ s.methods.forEach(function (m) {
934
+ result.push(onrpc(m, []))
935
+ })
936
+
937
+ result.push('}', '')
938
+ return result
939
+ }
940
+
941
+ var onrpc = function (rpc, result) {
942
+ var def = 'rpc ' + rpc.name + '('
943
+ if (rpc.client_streaming) def += 'stream '
944
+ def += rpc.input_type + ') returns ('
945
+ if (rpc.server_streaming) def += 'stream '
946
+ def += rpc.output_type + ')'
947
+
948
+ if (!rpc.options) rpc.options = {}
949
+
950
+ var options = onoption(rpc.options, [])
951
+ if (options.length > 1) {
952
+ result.push(def + ' {', options.slice(0, -1), '}')
953
+ } else {
954
+ result.push(def + ';')
955
+ }
956
+
957
+ return result
958
+ }
959
+
960
+ var indent = function (lvl) {
961
+ return function (line) {
962
+ if (Array.isArray(line)) return line.map(indent(lvl + ' ')).join('\n')
963
+ return lvl + line
964
+ }
965
+ }
966
+
967
+ module.exports = function (schema) {
968
+ var result = []
969
+
970
+ result.push('syntax = "proto' + schema.syntax + '";', '')
971
+
972
+ if (schema.package) result.push('package ' + schema.package + ';', '')
973
+
974
+ if (schema.imports) {
975
+ schema.imports.forEach(function (i) {
976
+ onimport(i, result)
977
+ })
978
+ }
979
+
980
+ if (!schema.options) schema.options = {}
981
+
982
+ onoption(schema.options, result)
983
+
984
+ if (!schema.enums) schema.enums = []
985
+ schema.enums.forEach(function (e) {
986
+ onenum(e, result)
987
+ })
988
+
989
+ if (!schema.messages) schema.messages = []
990
+ schema.messages.forEach(function (m) {
991
+ onmessage(m, result)
992
+ })
993
+
994
+ if (schema.services) {
995
+ schema.services.forEach(function (s) {
996
+ onservices(s, result)
997
+ })
998
+ }
999
+ return result.map(indent('')).join('\n')
1000
+ }
1001
+
1002
+
1003
+ /***/ }),
1004
+
1005
+ /***/ 989:
1006
+ /***/ (function(module) {
1007
+
1008
+ module.exports = function (sch) {
1009
+ var noComments = function (line) {
1010
+ var i = line.indexOf('//')
1011
+ return i > -1 ? line.slice(0, i) : line
1012
+ }
1013
+
1014
+ var noMultilineComments = function () {
1015
+ var inside = false
1016
+ return function (token) {
1017
+ if (token === '/*') {
1018
+ inside = true
1019
+ return false
1020
+ }
1021
+ if (token === '*/') {
1022
+ inside = false
1023
+ return false
1024
+ }
1025
+ return !inside
1026
+ }
1027
+ }
1028
+
1029
+ var trim = function (line) {
1030
+ return line.trim()
1031
+ }
1032
+
1033
+ var removeQuotedLines = function (list) {
1034
+ return function (str) {
1035
+ var s = '$' + list.length + '$'
1036
+ list.push(str)
1037
+ return s
1038
+ }
1039
+ }
1040
+
1041
+ var restoreQuotedLines = function (list) {
1042
+ var re = /^\$(\d+)\$$/
1043
+ return function (line) {
1044
+ var m = line.match(re)
1045
+ return m ? list[+m[1]] : line
1046
+ }
1047
+ }
1048
+
1049
+ var replacements = []
1050
+ return sch
1051
+ .replace(/"(\\"|[^"\n])*?"|'(\\'|[^'\n])*?'/gm, removeQuotedLines(replacements))
1052
+ .replace(/([;,{}()=:[\]<>]|\/\*|\*\/)/g, ' $1 ')
1053
+ .split(/\n/)
1054
+ .map(trim)
1055
+ .filter(Boolean)
1056
+ .map(noComments)
1057
+ .map(trim)
1058
+ .filter(Boolean)
1059
+ .join('\n')
1060
+ .split(/\s+|\n+/gm)
1061
+ .filter(noMultilineComments())
1062
+ .map(restoreQuotedLines(replacements))
1063
+ }
1064
+
1065
+
1066
+ /***/ }),
1067
+
1068
+ /***/ 8853:
1069
+ /***/ (function(module) {
1070
+
1071
+ module.exports = read
1072
+
1073
+ var MSB = 0x80
1074
+ , REST = 0x7F
1075
+
1076
+ function read(buf, offset) {
1077
+ var res = 0
1078
+ , offset = offset || 0
1079
+ , shift = 0
1080
+ , counter = offset
1081
+ , b
1082
+ , l = buf.length
1083
+
1084
+ do {
1085
+ if (counter >= l) {
1086
+ read.bytes = 0
1087
+ throw new RangeError('Could not decode varint')
1088
+ }
1089
+ b = buf[counter++]
1090
+ res += shift < 28
1091
+ ? (b & REST) << shift
1092
+ : (b & REST) * Math.pow(2, shift)
1093
+ shift += 7
1094
+ } while (b >= MSB)
1095
+
1096
+ read.bytes = counter - offset
1097
+
1098
+ return res
1099
+ }
1100
+
1101
+
1102
+ /***/ }),
1103
+
1104
+ /***/ 7659:
1105
+ /***/ (function(module) {
1106
+
1107
+ module.exports = encode
1108
+
1109
+ var MSB = 0x80
1110
+ , REST = 0x7F
1111
+ , MSBALL = ~REST
1112
+ , INT = Math.pow(2, 31)
1113
+
1114
+ function encode(num, out, offset) {
1115
+ out = out || []
1116
+ offset = offset || 0
1117
+ var oldOffset = offset
1118
+
1119
+ while(num >= INT) {
1120
+ out[offset++] = (num & 0xFF) | MSB
1121
+ num /= 128
1122
+ }
1123
+ while(num & MSBALL) {
1124
+ out[offset++] = (num & 0xFF) | MSB
1125
+ num >>>= 7
1126
+ }
1127
+ out[offset] = num | 0
1128
+
1129
+ encode.bytes = offset - oldOffset + 1
1130
+
1131
+ return out
1132
+ }
1133
+
1134
+
1135
+ /***/ }),
1136
+
1137
+ /***/ 138:
1138
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1139
+
1140
+ module.exports = {
1141
+ encode: __webpack_require__(7659)
1142
+ , decode: __webpack_require__(8853)
1143
+ , encodingLength: __webpack_require__(184)
1144
+ }
1145
+
1146
+
1147
+ /***/ }),
1148
+
1149
+ /***/ 184:
1150
+ /***/ (function(module) {
1151
+
1152
+
1153
+ var N1 = Math.pow(2, 7)
1154
+ var N2 = Math.pow(2, 14)
1155
+ var N3 = Math.pow(2, 21)
1156
+ var N4 = Math.pow(2, 28)
1157
+ var N5 = Math.pow(2, 35)
1158
+ var N6 = Math.pow(2, 42)
1159
+ var N7 = Math.pow(2, 49)
1160
+ var N8 = Math.pow(2, 56)
1161
+ var N9 = Math.pow(2, 63)
1162
+
1163
+ module.exports = function (value) {
1164
+ return (
1165
+ value < N1 ? 1
1166
+ : value < N2 ? 2
1167
+ : value < N3 ? 3
1168
+ : value < N4 ? 4
1169
+ : value < N5 ? 5
1170
+ : value < N6 ? 6
1171
+ : value < N7 ? 7
1172
+ : value < N8 ? 8
1173
+ : value < N9 ? 9
1174
+ : 10
1175
+ )
1176
+ }
1177
+
1178
+
1179
+ /***/ }),
1180
+
1181
+ /***/ 7986:
1182
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1183
+
1184
+ "use strict";
1185
+ /* eslint max-depth: 1 */
1186
+
1187
+
1188
+ const varint = __webpack_require__(138)
1189
+ const defined = (__webpack_require__(3864)/* .defined */ .r)
1190
+
1191
+ function toSentenceCase (string) {
1192
+ return `${string.substring(0, 1).toUpperCase()}${string.substring(1)}`
1193
+ }
1194
+
1195
+ function addPropertyAccessors (obj, name, value, defaultValue) {
1196
+ if (Object.prototype.hasOwnProperty.call(obj, name)) {
1197
+ // have already added this property
1198
+ return
1199
+ }
1200
+
1201
+ const sentenceCaseName = toSentenceCase(name)
1202
+
1203
+ Object.defineProperties(obj, {
1204
+ [name]: {
1205
+ enumerable: true,
1206
+ configurable: true,
1207
+ set: (val) => {
1208
+ value = val
1209
+ },
1210
+ get: () => {
1211
+ if (value === undefined) {
1212
+ return defaultValue
1213
+ }
1214
+
1215
+ return value
1216
+ }
1217
+ },
1218
+ [`has${sentenceCaseName}`]: {
1219
+ configurable: true,
1220
+ value: () => {
1221
+ return value !== undefined
1222
+ }
1223
+ },
1224
+ [`set${sentenceCaseName}`]: {
1225
+ configurable: true,
1226
+ value: (val) => {
1227
+ value = val
1228
+ }
1229
+ },
1230
+ [`get${sentenceCaseName}`]: {
1231
+ configurable: true,
1232
+ value: () => {
1233
+ return value
1234
+ }
1235
+ },
1236
+ [`clear${sentenceCaseName}`]: {
1237
+ configurable: true,
1238
+ value: () => {
1239
+ value = undefined
1240
+ obj[name] = undefined
1241
+ }
1242
+ }
1243
+ })
1244
+ }
1245
+
1246
+ function compileDecode (m, resolve, enc) {
1247
+ const requiredFields = []
1248
+ const fields = {}
1249
+ const oneofFields = []
1250
+ const vals = []
1251
+
1252
+ for (var i = 0; i < enc.length; i++) {
1253
+ const field = m.fields[i]
1254
+
1255
+ fields[field.tag] = i
1256
+
1257
+ const def = field.options && field.options.default
1258
+ const resolved = resolve(field.type, m.id, false)
1259
+ vals[i] = [def, resolved && resolved.values]
1260
+
1261
+ m.fields[i].packed = field.repeated && field.options && field.options.packed && field.options.packed !== 'false'
1262
+
1263
+ if (field.required) {
1264
+ requiredFields.push(field.name)
1265
+ }
1266
+
1267
+ if (field.oneof) {
1268
+ oneofFields.push(field.name)
1269
+ }
1270
+ }
1271
+
1272
+ function decodeField (e, field, obj, buf, dataView, offset, i) {
1273
+ const name = field.name
1274
+
1275
+ if (field.oneof) {
1276
+ // clear already defined oneof fields
1277
+ const props = Object.keys(obj)
1278
+ for (var j = 0; j < props.length; j++) {
1279
+ if (oneofFields.indexOf(props[j]) > -1) {
1280
+ const sentenceCase = toSentenceCase(props[j])
1281
+ delete obj[`has${sentenceCase}`]
1282
+ delete obj[`get${sentenceCase}`]
1283
+ delete obj[`set${sentenceCase}`]
1284
+ delete obj[`clear${sentenceCase}`]
1285
+ delete obj[props[j]]
1286
+ }
1287
+ }
1288
+ }
1289
+
1290
+ let value
1291
+
1292
+ if (e.message) {
1293
+ const len = varint.decode(buf, offset)
1294
+ offset += varint.decode.bytes
1295
+
1296
+ const decoded = e.decode(buf, dataView, offset, offset + len)
1297
+
1298
+ if (field.map) {
1299
+ value = obj[name] || {}
1300
+ value[decoded.key] = decoded.value
1301
+ } else if (field.repeated) {
1302
+ value = obj[name] || []
1303
+ value.push(decoded)
1304
+ } else {
1305
+ value = decoded
1306
+ }
1307
+ } else {
1308
+ if (field.repeated) {
1309
+ value = obj[name] || []
1310
+ value.push(e.decode(buf, dataView, offset))
1311
+ } else {
1312
+ value = e.decode(buf, dataView, offset)
1313
+ }
1314
+ }
1315
+
1316
+ addPropertyAccessors(obj, name, value)
1317
+
1318
+ offset += e.decode.bytes
1319
+
1320
+ return offset
1321
+ }
1322
+
1323
+ return function decode (buf, view, offset, end) {
1324
+ if (offset == null) {
1325
+ offset = 0
1326
+ }
1327
+
1328
+ if (end == null) {
1329
+ end = buf.length
1330
+ }
1331
+
1332
+ if (!(end <= buf.length && offset <= buf.length)) {
1333
+ throw new Error('Decoded message is not valid')
1334
+ }
1335
+
1336
+ if (!view) {
1337
+ view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
1338
+ }
1339
+
1340
+ var oldOffset = offset
1341
+ var obj = {}
1342
+ var field
1343
+
1344
+ while (true) {
1345
+ if (end <= offset) {
1346
+ // finished
1347
+
1348
+ // check required methods
1349
+ var name = ''
1350
+ var j = 0
1351
+ for (j = 0; j < requiredFields.length; j++) {
1352
+ name = requiredFields[j]
1353
+ if (!defined(obj[name])) {
1354
+ throw new Error('Decoded message is not valid, missing required field: ' + name)
1355
+ }
1356
+ }
1357
+
1358
+ // fill out missing defaults
1359
+ var val
1360
+ var def
1361
+ for (j = 0; j < enc.length; j++) {
1362
+ field = m.fields[j]
1363
+ def = vals[j][0]
1364
+ val = vals[j][1]
1365
+ name = field.name
1366
+ let defaultVal
1367
+
1368
+ if (Object.prototype.hasOwnProperty.call(obj, name)) {
1369
+ continue
1370
+ }
1371
+
1372
+ var done = false
1373
+
1374
+ if (field.oneof) {
1375
+ var props = Object.keys(obj)
1376
+
1377
+ for (var k = 0; k < props.length; k++) {
1378
+ if (oneofFields.indexOf(props[k]) > -1) {
1379
+ done = true
1380
+ break
1381
+ }
1382
+ }
1383
+ }
1384
+
1385
+ if (done) {
1386
+ continue
1387
+ }
1388
+
1389
+ if (val) { // is enum
1390
+ if (field.repeated) {
1391
+ def = []
1392
+ } else {
1393
+ def = (def && val[def]) ? val[def].value : val[Object.keys(val)[0]].value
1394
+ def = parseInt(def || 0, 10)
1395
+ }
1396
+ } else {
1397
+ defaultVal = defaultValue(field)
1398
+ def = coerceValue(field, def)
1399
+ }
1400
+
1401
+ addPropertyAccessors(obj, name, def, defaultVal)
1402
+ }
1403
+
1404
+ decode.bytes = offset - oldOffset
1405
+ return obj
1406
+ }
1407
+
1408
+ var prefix = varint.decode(buf, offset)
1409
+ offset += varint.decode.bytes
1410
+ var tag = prefix >> 3
1411
+
1412
+ var i = fields[tag]
1413
+
1414
+ if (i == null) {
1415
+ offset = skip(prefix & 7, buf, view, offset)
1416
+ continue
1417
+ }
1418
+
1419
+ var e = enc[i]
1420
+ field = m.fields[i]
1421
+
1422
+ if (field.packed) {
1423
+ var packedEnd = varint.decode(buf, offset)
1424
+ offset += varint.decode.bytes
1425
+ packedEnd += offset
1426
+
1427
+ while (offset < packedEnd) {
1428
+ offset = decodeField(e, field, obj, buf, view, offset, i)
1429
+ }
1430
+ } else {
1431
+ offset = decodeField(e, field, obj, buf, view, offset, i)
1432
+ }
1433
+ }
1434
+ }
1435
+ }
1436
+
1437
+ var skip = function (type, buffer, view, offset) {
1438
+ switch (type) {
1439
+ case 0:
1440
+ varint.decode(buffer, offset)
1441
+ return offset + varint.decode.bytes
1442
+
1443
+ case 1:
1444
+ return offset + 8
1445
+
1446
+ case 2:
1447
+ var len = varint.decode(buffer, offset)
1448
+ return offset + varint.decode.bytes + len
1449
+
1450
+ case 3:
1451
+ case 4:
1452
+ throw new Error('Groups are not supported')
1453
+
1454
+ case 5:
1455
+ return offset + 4
1456
+ default:
1457
+ throw new Error('Unknown wire type: ' + type)
1458
+ }
1459
+ }
1460
+
1461
+ var defaultValue = function (f) {
1462
+ if (f.map) return {}
1463
+ if (f.repeated) return []
1464
+
1465
+ switch (f.type) {
1466
+ case 'string':
1467
+ return ''
1468
+ case 'bool':
1469
+ return false
1470
+ case 'float':
1471
+ case 'double':
1472
+ case 'sfixed32':
1473
+ case 'fixed32':
1474
+ case 'varint':
1475
+ case 'enum':
1476
+ case 'uint64':
1477
+ case 'uint32':
1478
+ case 'int64':
1479
+ case 'int32':
1480
+ case 'sint64':
1481
+ case 'sint32':
1482
+ return 0
1483
+ default:
1484
+ return null
1485
+ }
1486
+ }
1487
+
1488
+ var coerceValue = function (f, def) {
1489
+ if (def === undefined) {
1490
+ return def
1491
+ }
1492
+
1493
+ switch (f.type) {
1494
+ case 'bool':
1495
+ return def === 'true'
1496
+ case 'float':
1497
+ case 'double':
1498
+ case 'sfixed32':
1499
+ case 'fixed32':
1500
+ case 'varint':
1501
+ case 'enum':
1502
+ case 'uint64':
1503
+ case 'uint32':
1504
+ case 'int64':
1505
+ case 'int32':
1506
+ case 'sint64':
1507
+ case 'sint32':
1508
+ return parseInt(def, 10)
1509
+ default:
1510
+ return def
1511
+ }
1512
+ }
1513
+
1514
+ module.exports = compileDecode
1515
+
1516
+
1517
+ /***/ }),
1518
+
1519
+ /***/ 9611:
1520
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1521
+
1522
+ "use strict";
1523
+
1524
+
1525
+ var defined = (__webpack_require__(3864)/* .defined */ .r)
1526
+ var varint = __webpack_require__(138)
1527
+
1528
+ function compileEncode (m, resolve, enc, oneofs, encodingLength) {
1529
+ const oneofsKeys = Object.keys(oneofs)
1530
+ const encLength = enc.length
1531
+ const ints = {}
1532
+ for (let i = 0; i < encLength; i++) {
1533
+ ints[i] = {
1534
+ p: varint.encode(m.fields[i].tag << 3 | 2),
1535
+ h: varint.encode(m.fields[i].tag << 3 | enc[i].type)
1536
+ }
1537
+
1538
+ const field = m.fields[i]
1539
+ m.fields[i].packed = field.repeated && field.options && field.options.packed && field.options.packed !== 'false'
1540
+ }
1541
+
1542
+ function encodeField (buf, view, offset, h, e, packed, innerVal) {
1543
+ let j = 0
1544
+ if (!packed) {
1545
+ for (j = 0; j < h.length; j++) {
1546
+ buf[offset++] = h[j]
1547
+ }
1548
+ }
1549
+
1550
+ if (e.message) {
1551
+ varint.encode(e.encodingLength(innerVal), buf, offset)
1552
+ offset += varint.encode.bytes
1553
+ }
1554
+
1555
+ e.encode(innerVal, buf, view, offset)
1556
+
1557
+ return offset + e.encode.bytes
1558
+ }
1559
+
1560
+ return function encode (obj, buf, view, offset = 0) {
1561
+ if (buf == null) {
1562
+ buf = new Uint8Array(encodingLength(obj))
1563
+ }
1564
+
1565
+ if (view == null) {
1566
+ view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength)
1567
+ }
1568
+
1569
+ const oldOffset = offset
1570
+ const objKeys = Object.keys(obj)
1571
+ let i = 0
1572
+
1573
+ // oneof checks
1574
+
1575
+ let match = false
1576
+ for (i = 0; i < oneofsKeys.length; i++) {
1577
+ const name = oneofsKeys[i]
1578
+ const prop = oneofs[i]
1579
+ if (objKeys.indexOf(prop) > -1) {
1580
+ if (match) {
1581
+ throw new Error('only one of the properties defined in oneof ' + name + ' can be set')
1582
+ }
1583
+
1584
+ match = true
1585
+ }
1586
+ }
1587
+
1588
+ for (i = 0; i < encLength; i++) {
1589
+ const e = enc[i]
1590
+ const field = m.fields[i] // was f
1591
+ let val = obj[field.name]
1592
+ let j = 0
1593
+
1594
+ if (!defined(val)) {
1595
+ if (field.required) {
1596
+ throw new Error(field.name + ' is required')
1597
+ }
1598
+ continue
1599
+ }
1600
+ const p = ints[i].p
1601
+ const h = ints[i].h
1602
+
1603
+ const packed = field.packed
1604
+
1605
+ if (field.map) {
1606
+ const tmp = Object.keys(val)
1607
+ for (j = 0; j < tmp.length; j++) {
1608
+ tmp[j] = {
1609
+ key: tmp[j],
1610
+ value: val[tmp[j]]
1611
+ }
1612
+ }
1613
+ val = tmp
1614
+ }
1615
+
1616
+ if (packed) {
1617
+ let packedLen = 0
1618
+ for (j = 0; j < val.length; j++) {
1619
+ if (!Object.prototype.hasOwnProperty.call(val, j)) {
1620
+ continue
1621
+ }
1622
+
1623
+ packedLen += e.encodingLength(val[j])
1624
+ }
1625
+
1626
+ if (packedLen) {
1627
+ for (j = 0; j < h.length; j++) {
1628
+ buf[offset++] = p[j]
1629
+ }
1630
+ varint.encode(packedLen, buf, offset)
1631
+ offset += varint.encode.bytes
1632
+ }
1633
+ }
1634
+
1635
+ if (field.repeated) {
1636
+ let innerVal
1637
+ for (j = 0; j < val.length; j++) {
1638
+ innerVal = val[j]
1639
+ if (!defined(innerVal)) {
1640
+ continue
1641
+ }
1642
+
1643
+ offset = encodeField(buf, view, offset, h, e, packed, innerVal)
1644
+ }
1645
+ } else {
1646
+ offset = encodeField(buf, view, offset, h, e, packed, val)
1647
+ }
1648
+ }
1649
+
1650
+ encode.bytes = offset - oldOffset
1651
+ return buf
1652
+ }
1653
+ }
1654
+
1655
+ module.exports = compileEncode
1656
+
1657
+
1658
+ /***/ }),
1659
+
1660
+ /***/ 1216:
1661
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1662
+
1663
+ "use strict";
1664
+
1665
+
1666
+ var defined = (__webpack_require__(3864)/* .defined */ .r)
1667
+ var varint = __webpack_require__(138)
1668
+
1669
+ function compileEncodingLength (m, enc, oneofs) {
1670
+ const oneofsKeys = Object.keys(oneofs)
1671
+ const encLength = enc.length
1672
+
1673
+ const hls = new Array(encLength)
1674
+
1675
+ for (let i = 0; i < m.fields.length; i++) {
1676
+ hls[i] = varint.encodingLength(m.fields[i].tag << 3 | enc[i].type)
1677
+
1678
+ const field = m.fields[i]
1679
+ m.fields[i].packed = field.repeated && field.options && field.options.packed && field.options.packed !== 'false'
1680
+ }
1681
+
1682
+ return function encodingLength (obj) {
1683
+ let length = 0
1684
+ let i = 0
1685
+ let j = 0
1686
+
1687
+ for (i = 0; i < oneofsKeys.length; i++) {
1688
+ const name = oneofsKeys[i]
1689
+ const props = oneofs[name]
1690
+
1691
+ let match = false
1692
+ for (j = 0; j < props.length; j++) {
1693
+ if (defined(obj[props[j]])) {
1694
+ if (match) {
1695
+ throw new Error('only one of the properties defined in oneof ' + name + ' can be set')
1696
+ }
1697
+ match = true
1698
+ }
1699
+ }
1700
+ }
1701
+
1702
+ for (i = 0; i < encLength; i++) {
1703
+ const e = enc[i]
1704
+ const field = m.fields[i]
1705
+ let val = obj[field.name]
1706
+ const hl = hls[i]
1707
+ let len
1708
+
1709
+ if (!defined(val)) {
1710
+ if (field.required) {
1711
+ throw new Error(field.name + ' is required')
1712
+ }
1713
+
1714
+ continue
1715
+ }
1716
+
1717
+ if (field.map) {
1718
+ const tmp = Object.keys(val)
1719
+ for (j = 0; j < tmp.length; j++) {
1720
+ tmp[j] = {
1721
+ key: tmp[j],
1722
+ value: val[tmp[j]]
1723
+ }
1724
+ }
1725
+
1726
+ val = tmp
1727
+ }
1728
+
1729
+ if (field.packed) {
1730
+ let packedLen = 0
1731
+ for (j = 0; j < val.length; j++) {
1732
+ if (!defined(val[j])) {
1733
+ continue
1734
+ }
1735
+ len = e.encodingLength(val[j])
1736
+ packedLen += len
1737
+
1738
+ if (e.message) {
1739
+ packedLen += varint.encodingLength(len)
1740
+ }
1741
+ }
1742
+
1743
+ if (packedLen) {
1744
+ length += hl + packedLen + varint.encodingLength(packedLen)
1745
+ }
1746
+ } else if (field.repeated) {
1747
+ for (j = 0; j < val.length; j++) {
1748
+ if (!defined(val[j])) {
1749
+ continue
1750
+ }
1751
+
1752
+ len = e.encodingLength(val[j])
1753
+ length += hl + len + (e.message ? varint.encodingLength(len) : 0)
1754
+ }
1755
+ } else {
1756
+ len = e.encodingLength(val)
1757
+ length += hl + len + (e.message ? varint.encodingLength(len) : 0)
1758
+ }
1759
+ }
1760
+
1761
+ return length
1762
+ }
1763
+ }
1764
+
1765
+ module.exports = compileEncodingLength
1766
+
1767
+
1768
+ /***/ }),
1769
+
1770
+ /***/ 104:
1771
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1772
+
1773
+ "use strict";
1774
+
1775
+
1776
+ const encoder = __webpack_require__(9851)
1777
+
1778
+ function boolEncodingLength () {
1779
+ return 1
1780
+ }
1781
+
1782
+ function boolEncode (value, buffer, dataView, offset) {
1783
+ buffer[offset] = value ? 1 : 0
1784
+ boolEncode.bytes = 1
1785
+ }
1786
+
1787
+ function boolDecode (buffer, dataView, offset) {
1788
+ const bool = buffer[offset] > 0
1789
+ boolDecode.bytes = 1
1790
+
1791
+ return bool
1792
+ }
1793
+
1794
+ module.exports = encoder(0, boolEncode, boolDecode, boolEncodingLength)
1795
+
1796
+
1797
+ /***/ }),
1798
+
1799
+ /***/ 1092:
1800
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1801
+
1802
+ "use strict";
1803
+
1804
+
1805
+ const varint = __webpack_require__(138)
1806
+ const encoder = __webpack_require__(9851)
1807
+
1808
+ function bytesBufferLength (val) {
1809
+ return val.byteLength
1810
+ }
1811
+
1812
+ function bytesEncodingLength (val) {
1813
+ const len = bytesBufferLength(val)
1814
+ return varint.encodingLength(len) + len
1815
+ }
1816
+
1817
+ function bytesEncode (val, buffer, dataView, offset) {
1818
+ const oldOffset = offset
1819
+ const len = bytesBufferLength(val)
1820
+
1821
+ varint.encode(len, buffer, offset)
1822
+ offset += varint.encode.bytes
1823
+
1824
+ buffer.set(val, offset)
1825
+ offset += len
1826
+
1827
+ bytesEncode.bytes = offset - oldOffset
1828
+ }
1829
+
1830
+ function bytesDecode (buffer, dataView, offset) {
1831
+ const oldOffset = offset
1832
+
1833
+ const len = varint.decode(buffer, offset)
1834
+ offset += varint.decode.bytes
1835
+
1836
+ const val = buffer.slice(offset, offset + len)
1837
+ offset += val.length
1838
+
1839
+ bytesDecode.bytes = offset - oldOffset
1840
+
1841
+ return val
1842
+ }
1843
+
1844
+ module.exports = encoder(2, bytesEncode, bytesDecode, bytesEncodingLength)
1845
+
1846
+
1847
+ /***/ }),
1848
+
1849
+ /***/ 9620:
1850
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1851
+
1852
+ "use strict";
1853
+
1854
+
1855
+ const encoder = __webpack_require__(9851)
1856
+
1857
+ function doubleEncodingLength () {
1858
+ return 8
1859
+ }
1860
+
1861
+ function doubleEncode (val, buffer, dataView, offset) {
1862
+ dataView.setFloat64(offset, val, true)
1863
+ doubleEncode.bytes = 8
1864
+ }
1865
+
1866
+ function doubleDecode (buffer, dataView, offset) {
1867
+ const val = dataView.getFloat64(offset, true)
1868
+ doubleDecode.bytes = 8
1869
+
1870
+ return val
1871
+ }
1872
+
1873
+ module.exports = encoder(1, doubleEncode, doubleDecode, doubleEncodingLength)
1874
+
1875
+
1876
+ /***/ }),
1877
+
1878
+ /***/ 9851:
1879
+ /***/ (function(module) {
1880
+
1881
+ "use strict";
1882
+
1883
+
1884
+ function encoder (type, encode, decode, encodingLength) {
1885
+ encode.bytes = decode.bytes = 0
1886
+
1887
+ return {
1888
+ type: type,
1889
+ encode: encode,
1890
+ decode: decode,
1891
+ encodingLength: encodingLength
1892
+ }
1893
+ }
1894
+
1895
+ module.exports = encoder
1896
+
1897
+
1898
+ /***/ }),
1899
+
1900
+ /***/ 9018:
1901
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1902
+
1903
+ "use strict";
1904
+
1905
+
1906
+ const encoder = __webpack_require__(9851)
1907
+
1908
+ function fixed32EncodingLength (val) {
1909
+ return 4
1910
+ }
1911
+
1912
+ function fixed32Encode (val, buffer, dataView, offset) {
1913
+ dataView.setUint32(offset, val, true)
1914
+ fixed32Encode.bytes = 4
1915
+ }
1916
+
1917
+ function fixed32Decode (buffer, dataView, offset) {
1918
+ const val = dataView.getUint32(offset, true)
1919
+ fixed32Decode.bytes = 4
1920
+
1921
+ return val
1922
+ }
1923
+
1924
+ module.exports = encoder(5, fixed32Encode, fixed32Decode, fixed32EncodingLength)
1925
+
1926
+
1927
+ /***/ }),
1928
+
1929
+ /***/ 3334:
1930
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1931
+
1932
+ "use strict";
1933
+
1934
+
1935
+ const encoder = __webpack_require__(9851)
1936
+
1937
+ function fixed64EncodingLength () {
1938
+ return 8
1939
+ }
1940
+
1941
+ function fixed64Encode (val, buffer, dataView, offset) {
1942
+ for (const byte of val) {
1943
+ buffer[offset] = byte
1944
+ offset++
1945
+ }
1946
+
1947
+ fixed64Encode.bytes = 8
1948
+ }
1949
+
1950
+ function fixed64Decode (buffer, dataView, offset) {
1951
+ const val = buffer.slice(offset, offset + 8)
1952
+ fixed64Decode.bytes = 8
1953
+
1954
+ return val
1955
+ }
1956
+
1957
+ module.exports = encoder(1, fixed64Encode, fixed64Decode, fixed64EncodingLength)
1958
+
1959
+
1960
+ /***/ }),
1961
+
1962
+ /***/ 4606:
1963
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1964
+
1965
+ "use strict";
1966
+
1967
+
1968
+ const encoder = __webpack_require__(9851)
1969
+
1970
+ function floatEncodingLength () {
1971
+ return 4
1972
+ }
1973
+
1974
+ function floatEncode (val, buffer, dataView, offset) {
1975
+ dataView.setFloat32(offset, val, true)
1976
+ floatEncode.bytes = 4
1977
+ }
1978
+
1979
+ function floatDecode (buffer, dataView, offset) {
1980
+ const val = dataView.getFloat32(offset, true)
1981
+ floatDecode.bytes = 4
1982
+
1983
+ return val
1984
+ }
1985
+
1986
+ module.exports = encoder(5, floatEncode, floatDecode, floatEncodingLength)
1987
+
1988
+
1989
+ /***/ }),
1990
+
1991
+ /***/ 119:
1992
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1993
+
1994
+ "use strict";
1995
+
1996
+
1997
+ exports.make = __webpack_require__(9851)
1998
+ exports.bytes = __webpack_require__(1092)
1999
+ exports.string = __webpack_require__(6626)
2000
+ exports.bool = __webpack_require__(104)
2001
+ exports.int32 = __webpack_require__(5282)
2002
+ exports.int64 = __webpack_require__(4291)
2003
+ exports.sint32 =
2004
+ exports.sint64 = __webpack_require__(2407)
2005
+ exports.uint32 =
2006
+ exports.uint64 =
2007
+ exports["enum"] =
2008
+ exports.varint = __webpack_require__(3083)
2009
+
2010
+ // we cannot represent these in javascript so we just use buffers
2011
+ exports.fixed64 =
2012
+ exports.sfixed64 = __webpack_require__(3334)
2013
+ exports.double = __webpack_require__(9620)
2014
+ exports.fixed32 = __webpack_require__(9018)
2015
+ exports.sfixed32 = __webpack_require__(2730)
2016
+ exports.float = __webpack_require__(4606)
2017
+
2018
+
2019
+ /***/ }),
2020
+
2021
+ /***/ 5282:
2022
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2023
+
2024
+ "use strict";
2025
+
2026
+
2027
+ const varint = __webpack_require__(138)
2028
+ const encoder = __webpack_require__(9851)
2029
+
2030
+ function in32Encode (val, buffer, dataView, offset) {
2031
+ varint.encode(val < 0 ? val + 4294967296 : val, buffer, offset)
2032
+ in32Encode.bytes = varint.encode.bytes
2033
+ }
2034
+
2035
+ function int32Decode (buffer, dataView, offset) {
2036
+ const val = varint.decode(buffer, offset)
2037
+ int32Decode.bytes = varint.decode.bytes
2038
+
2039
+ return val > 2147483647 ? val - 4294967296 : val
2040
+ }
2041
+
2042
+ function int32EncodingLength (val) {
2043
+ return varint.encodingLength(val < 0 ? val + 4294967296 : val)
2044
+ }
2045
+
2046
+ module.exports = encoder(0, in32Encode, int32Decode, int32EncodingLength)
2047
+
2048
+
2049
+ /***/ }),
2050
+
2051
+ /***/ 4291:
2052
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2053
+
2054
+ "use strict";
2055
+
2056
+
2057
+ const varint = __webpack_require__(138)
2058
+ const encoder = __webpack_require__(9851)
2059
+
2060
+ function int64Encode (val, buffer, dataView, offset) {
2061
+ if (val < 0) {
2062
+ const last = offset + 9
2063
+ varint.encode(val * -1, buffer, offset)
2064
+
2065
+ offset += varint.encode.bytes - 1
2066
+ buffer[offset] = buffer[offset] | 0x80
2067
+
2068
+ while (offset < last - 1) {
2069
+ offset++
2070
+ buffer[offset] = 0xff
2071
+ }
2072
+ buffer[last] = 0x01
2073
+
2074
+ int64Encode.bytes = 10
2075
+ } else {
2076
+ varint.encode(val, buffer, offset)
2077
+ int64Encode.bytes = varint.encode.bytes
2078
+ }
2079
+ }
2080
+
2081
+ function int64Decode (buffer, dataView, offset) {
2082
+ let val = varint.decode(buffer, offset)
2083
+
2084
+ if (val >= Math.pow(2, 63)) {
2085
+ let limit = 9
2086
+ while (buffer[offset + limit - 1] === 0xff) limit--
2087
+ limit = limit || 9
2088
+ const subset = buffer.subarray(offset, offset + limit)
2089
+ subset[limit - 1] = subset[limit - 1] & 0x7f
2090
+ val = -1 * varint.decode(subset, 0)
2091
+ int64Decode.bytes = 10
2092
+ } else {
2093
+ int64Decode.bytes = varint.decode.bytes
2094
+ }
2095
+
2096
+ return val
2097
+ }
2098
+
2099
+ function int64EncodingLength (val) {
2100
+ return val < 0 ? 10 : varint.encodingLength(val)
2101
+ }
2102
+
2103
+ module.exports = encoder(0, int64Encode, int64Decode, int64EncodingLength)
2104
+
2105
+
2106
+ /***/ }),
2107
+
2108
+ /***/ 2730:
2109
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2110
+
2111
+ "use strict";
2112
+
2113
+
2114
+ const encoder = __webpack_require__(9851)
2115
+
2116
+ function sfixed32EncodingLength (val) {
2117
+ return 4
2118
+ }
2119
+
2120
+ function sfixed32Encode (val, buffer, dataView, offset) {
2121
+ dataView.setInt32(offset, val, true)
2122
+ sfixed32Encode.bytes = 4
2123
+ }
2124
+
2125
+ function sfixed32Decode (buffer, dataView, offset) {
2126
+ const val = dataView.getInt32(offset, true)
2127
+ sfixed32Decode.bytes = 4
2128
+
2129
+ return val
2130
+ }
2131
+
2132
+ module.exports = encoder(5, sfixed32Encode, sfixed32Decode, sfixed32EncodingLength)
2133
+
2134
+
2135
+ /***/ }),
2136
+
2137
+ /***/ 2407:
2138
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2139
+
2140
+ "use strict";
2141
+
2142
+
2143
+ const svarint = __webpack_require__(1842)
2144
+ const encoder = __webpack_require__(9851)
2145
+
2146
+ function svarintEncode (val, buffer, dataView, offset) {
2147
+ svarint.encode(val, buffer, offset)
2148
+
2149
+ svarintEncode.bytes = svarint.encode.bytes
2150
+ }
2151
+
2152
+ function svarintDecode (buffer, dataView, offset) {
2153
+ const val = svarint.decode(buffer, offset)
2154
+ svarintDecode.bytes = svarint.decode.bytes
2155
+
2156
+ return val
2157
+ }
2158
+
2159
+ module.exports = encoder(0, svarintEncode, svarintDecode, svarint.encodingLength)
2160
+
2161
+
2162
+ /***/ }),
2163
+
2164
+ /***/ 6626:
2165
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2166
+
2167
+ "use strict";
2168
+
2169
+
2170
+ const varint = __webpack_require__(138)
2171
+ const { fromString: uint8ArrayFromString } = __webpack_require__(2217)
2172
+ const { toString: uint8ArrayToString } = __webpack_require__(2263)
2173
+ const encoder = __webpack_require__(9851)
2174
+
2175
+ function stringEncodingLength (val) {
2176
+ const len = uint8ArrayFromString(val).byteLength
2177
+ return varint.encodingLength(len) + len
2178
+ }
2179
+
2180
+ function stringEncode (val, buffer, dataView, offset) {
2181
+ const oldOffset = offset
2182
+ const len = uint8ArrayFromString(val).byteLength
2183
+
2184
+ varint.encode(len, buffer, offset, 'utf-8')
2185
+ offset += varint.encode.bytes
2186
+
2187
+ const arr = uint8ArrayFromString(val)
2188
+ buffer.set(arr, offset)
2189
+ offset += arr.length
2190
+
2191
+ stringEncode.bytes = offset - oldOffset
2192
+ }
2193
+
2194
+ function stringDecode (buffer, dataView, offset) {
2195
+ const oldOffset = offset
2196
+
2197
+ const len = varint.decode(buffer, offset)
2198
+ offset += varint.decode.bytes
2199
+
2200
+ const val = uint8ArrayToString(buffer.subarray(offset, offset + len))
2201
+ offset += len
2202
+
2203
+ stringDecode.bytes = offset - oldOffset
2204
+
2205
+ return val
2206
+ }
2207
+
2208
+ module.exports = encoder(2, stringEncode, stringDecode, stringEncodingLength)
2209
+
2210
+
2211
+ /***/ }),
2212
+
2213
+ /***/ 3083:
2214
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2215
+
2216
+ "use strict";
2217
+
2218
+
2219
+ const varint = __webpack_require__(138)
2220
+ const encoder = __webpack_require__(9851)
2221
+
2222
+ function varintEncode (val, buffer, dataView, offset) {
2223
+ varint.encode(val, buffer, offset)
2224
+
2225
+ varintEncode.bytes = varint.encode.bytes
2226
+ }
2227
+
2228
+ function varintDecode (buffer, dataView, offset) {
2229
+ const val = varint.decode(buffer, offset)
2230
+ varintDecode.bytes = varint.decode.bytes
2231
+
2232
+ return val
2233
+ }
2234
+
2235
+ module.exports = encoder(0, varintEncode, varintDecode, varint.encodingLength)
2236
+
2237
+
2238
+ /***/ }),
2239
+
2240
+ /***/ 7961:
2241
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2242
+
2243
+ "use strict";
2244
+
2245
+
2246
+ const encodings = __webpack_require__(119)
2247
+ const compileDecode = __webpack_require__(7986)
2248
+ const compileEncode = __webpack_require__(9611)
2249
+ const compileEncodingLength = __webpack_require__(1216)
2250
+ const varint = __webpack_require__(138)
2251
+
2252
+ const flatten = function (values) {
2253
+ if (!values) return null
2254
+ const result = {}
2255
+ Object.keys(values).forEach(function (k) {
2256
+ result[k] = values[k].value
2257
+ })
2258
+ return result
2259
+ }
2260
+
2261
+ module.exports = function (schema, extraEncodings) {
2262
+ const messages = {}
2263
+ const enums = {}
2264
+ const cache = {}
2265
+
2266
+ const visit = function (schema, prefix) {
2267
+ if (schema.enums) {
2268
+ schema.enums.forEach(function (e) {
2269
+ e.id = prefix + (prefix ? '.' : '') + e.name
2270
+ enums[e.id] = e
2271
+ visit(e, e.id)
2272
+ })
2273
+ }
2274
+ if (schema.messages) {
2275
+ schema.messages.forEach(function (m) {
2276
+ m.id = prefix + (prefix ? '.' : '') + m.name
2277
+ messages[m.id] = m
2278
+ m.fields.forEach(function (f) {
2279
+ if (!f.map) return
2280
+
2281
+ const name = 'Map_' + f.map.from + '_' + f.map.to
2282
+ const map = {
2283
+ name: name,
2284
+ enums: [],
2285
+ messages: [],
2286
+ fields: [{
2287
+ name: 'key',
2288
+ type: f.map.from,
2289
+ tag: 1,
2290
+ repeated: false,
2291
+ required: true
2292
+ }, {
2293
+ name: 'value',
2294
+ type: f.map.to,
2295
+ tag: 2,
2296
+ repeated: false,
2297
+ required: false
2298
+ }],
2299
+ extensions: null,
2300
+ id: prefix + (prefix ? '.' : '') + name
2301
+ }
2302
+
2303
+ if (!messages[map.id]) {
2304
+ messages[map.id] = map
2305
+ schema.messages.push(map)
2306
+ }
2307
+ f.type = name
2308
+ f.repeated = true
2309
+ })
2310
+ visit(m, m.id)
2311
+ })
2312
+ }
2313
+ }
2314
+
2315
+ visit(schema, '')
2316
+
2317
+ const compileEnum = function (e) {
2318
+ const values = Object.keys(e.values || []).map(function (k) {
2319
+ return parseInt(e.values[k].value, 10)
2320
+ })
2321
+
2322
+ const encode = function enumEncode (val, buf, view, offset) {
2323
+ if (!values.length || values.indexOf(val) === -1) {
2324
+ throw new Error('Invalid enum value: ' + val)
2325
+ }
2326
+ varint.encode(val, buf, offset)
2327
+ enumEncode.bytes = varint.encode.bytes
2328
+ return buf
2329
+ }
2330
+
2331
+ const decode = function enumDecode (buf, view, offset) {
2332
+ var val = varint.decode(buf, offset)
2333
+ if (!values.length || values.indexOf(val) === -1) {
2334
+ throw new Error('Invalid enum value: ' + val)
2335
+ }
2336
+ enumDecode.bytes = varint.decode.bytes
2337
+ return val
2338
+ }
2339
+
2340
+ return encodings.make(0, encode, decode, varint.encodingLength)
2341
+ }
2342
+
2343
+ const compileMessage = function (m, exports) {
2344
+ m.messages.forEach(function (nested) {
2345
+ exports[nested.name] = resolve(nested.name, m.id)
2346
+ })
2347
+
2348
+ m.enums.forEach(function (val) {
2349
+ exports[val.name] = flatten(val.values)
2350
+ })
2351
+
2352
+ exports.type = 2
2353
+ exports.message = true
2354
+ exports.name = m.name
2355
+
2356
+ const oneofs = {}
2357
+
2358
+ m.fields.forEach(function (f) {
2359
+ if (!f.oneof) return
2360
+ if (!oneofs[f.oneof]) oneofs[f.oneof] = []
2361
+ oneofs[f.oneof].push(f.name)
2362
+ })
2363
+
2364
+ const enc = m.fields.map(function (f) {
2365
+ return resolve(f.type, m.id)
2366
+ })
2367
+
2368
+ const encodingLength = compileEncodingLength(m, enc, oneofs)
2369
+ const encode = compileEncode(m, resolve, enc, oneofs, encodingLength)
2370
+ const decode = compileDecode(m, resolve, enc)
2371
+
2372
+ // end of compilation - return all the things
2373
+
2374
+ encode.bytes = decode.bytes = 0
2375
+
2376
+ exports.buffer = true
2377
+ exports.encode = encode
2378
+ exports.decode = decode
2379
+ exports.encodingLength = encodingLength
2380
+
2381
+ return exports
2382
+ }
2383
+
2384
+ const resolve = function (name, from, compile) {
2385
+ if (extraEncodings && extraEncodings[name]) return extraEncodings[name]
2386
+ if (encodings[name]) return encodings[name]
2387
+
2388
+ const m = (from ? from + '.' + name : name).split('.')
2389
+ .map(function (part, i, list) {
2390
+ return list.slice(0, i).concat(name).join('.')
2391
+ })
2392
+ .reverse()
2393
+ .reduce(function (result, id) {
2394
+ return result || messages[id] || enums[id]
2395
+ }, null)
2396
+
2397
+ if (compile === false) return m
2398
+ if (!m) throw new Error('Could not resolve ' + name)
2399
+
2400
+ if (m.values) return compileEnum(m)
2401
+ const res = cache[m.id] || compileMessage(m, cache[m.id] = {})
2402
+ return res
2403
+ }
2404
+
2405
+ return (schema.enums || []).concat((schema.messages || []).map(function (message) {
2406
+ return resolve(message.id)
2407
+ }))
2408
+ }
2409
+
2410
+
2411
+ /***/ }),
2412
+
2413
+ /***/ 3864:
2414
+ /***/ (function(__unused_webpack_module, exports) {
2415
+
2416
+ "use strict";
2417
+
2418
+
2419
+ exports.r = function (val) {
2420
+ return val !== null && val !== undefined && (typeof val !== 'number' || !isNaN(val))
2421
+ }
2422
+
2423
+
2424
+ /***/ }),
2425
+
2426
+ /***/ 7160:
2427
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2428
+
2429
+ "use strict";
2430
+
2431
+
2432
+ var schema = __webpack_require__(1626)
2433
+ var compile = __webpack_require__(7961)
2434
+
2435
+ var flatten = function (values) {
2436
+ if (!values) return null
2437
+ var result = {}
2438
+ Object.keys(values).forEach(function (k) {
2439
+ result[k] = values[k].value
2440
+ })
2441
+ return result
2442
+ }
2443
+
2444
+ module.exports = function (proto, opts) {
2445
+ if (!opts) opts = {}
2446
+ if (!proto) throw new Error('Pass in a .proto string or a protobuf-schema parsed object')
2447
+
2448
+ var sch = (typeof proto === 'object' && !(proto instanceof Uint8Array)) ? proto : schema.parse(proto)
2449
+
2450
+ // to not make toString,toJSON enumarable we make a fire-and-forget prototype
2451
+ var Messages = function () {
2452
+ var self = this
2453
+
2454
+ compile(sch, opts.encodings || {}).forEach(function (m) {
2455
+ self[m.name] = flatten(m.values) || m
2456
+ })
2457
+ }
2458
+
2459
+ Messages.prototype.toString = function () {
2460
+ return schema.stringify(sch)
2461
+ }
2462
+
2463
+ Messages.prototype.toJSON = function () {
2464
+ return sch
2465
+ }
2466
+
2467
+ return new Messages()
2468
+ }
2469
+
2470
+
2471
+ /***/ }),
2472
+
2473
+ /***/ 1842:
2474
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2475
+
2476
+ var varint = __webpack_require__(9365)
2477
+ exports.encode = function encode (v, b, o) {
2478
+ v = v >= 0 ? v*2 : v*-2 - 1
2479
+ var r = varint.encode(v, b, o)
2480
+ encode.bytes = varint.encode.bytes
2481
+ return r
2482
+ }
2483
+ exports.decode = function decode (b, o) {
2484
+ var v = varint.decode(b, o)
2485
+ decode.bytes = varint.decode.bytes
2486
+ return v & 1 ? (v+1) / -2 : v / 2
2487
+ }
2488
+
2489
+ exports.encodingLength = function (v) {
2490
+ return varint.encodingLength(v >= 0 ? v*2 : v*-2 - 1)
2491
+ }
2492
+
2493
+
2494
+ /***/ }),
2495
+
2496
+ /***/ 7721:
2497
+ /***/ (function(module) {
2498
+
2499
+ module.exports = read
2500
+
2501
+ var MSB = 0x80
2502
+ , REST = 0x7F
2503
+
2504
+ function read(buf, offset) {
2505
+ var res = 0
2506
+ , offset = offset || 0
2507
+ , shift = 0
2508
+ , counter = offset
2509
+ , b
2510
+ , l = buf.length
2511
+
2512
+ do {
2513
+ if (counter >= l) {
2514
+ read.bytes = 0
2515
+ throw new RangeError('Could not decode varint')
2516
+ }
2517
+ b = buf[counter++]
2518
+ res += shift < 28
2519
+ ? (b & REST) << shift
2520
+ : (b & REST) * Math.pow(2, shift)
2521
+ shift += 7
2522
+ } while (b >= MSB)
2523
+
2524
+ read.bytes = counter - offset
2525
+
2526
+ return res
2527
+ }
2528
+
2529
+
2530
+ /***/ }),
2531
+
2532
+ /***/ 508:
2533
+ /***/ (function(module) {
2534
+
2535
+ module.exports = encode
2536
+
2537
+ var MSB = 0x80
2538
+ , REST = 0x7F
2539
+ , MSBALL = ~REST
2540
+ , INT = Math.pow(2, 31)
2541
+
2542
+ function encode(num, out, offset) {
2543
+ out = out || []
2544
+ offset = offset || 0
2545
+ var oldOffset = offset
2546
+
2547
+ while(num >= INT) {
2548
+ out[offset++] = (num & 0xFF) | MSB
2549
+ num /= 128
2550
+ }
2551
+ while(num & MSBALL) {
2552
+ out[offset++] = (num & 0xFF) | MSB
2553
+ num >>>= 7
2554
+ }
2555
+ out[offset] = num | 0
2556
+
2557
+ encode.bytes = offset - oldOffset + 1
2558
+
2559
+ return out
2560
+ }
2561
+
2562
+
2563
+ /***/ }),
2564
+
2565
+ /***/ 9365:
2566
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2567
+
2568
+ module.exports = {
2569
+ encode: __webpack_require__(508)
2570
+ , decode: __webpack_require__(7721)
2571
+ , encodingLength: __webpack_require__(8184)
2572
+ }
2573
+
2574
+
2575
+ /***/ }),
2576
+
2577
+ /***/ 8184:
2578
+ /***/ (function(module) {
2579
+
2580
+
2581
+ var N1 = Math.pow(2, 7)
2582
+ var N2 = Math.pow(2, 14)
2583
+ var N3 = Math.pow(2, 21)
2584
+ var N4 = Math.pow(2, 28)
2585
+ var N5 = Math.pow(2, 35)
2586
+ var N6 = Math.pow(2, 42)
2587
+ var N7 = Math.pow(2, 49)
2588
+ var N8 = Math.pow(2, 56)
2589
+ var N9 = Math.pow(2, 63)
2590
+
2591
+ module.exports = function (value) {
2592
+ return (
2593
+ value < N1 ? 1
2594
+ : value < N2 ? 2
2595
+ : value < N3 ? 3
2596
+ : value < N4 ? 4
2597
+ : value < N5 ? 5
2598
+ : value < N6 ? 6
2599
+ : value < N7 ? 7
2600
+ : value < N8 ? 8
2601
+ : value < N9 ? 9
2602
+ : 10
2603
+ )
2604
+ }
2605
+
2606
+
2607
+ /***/ }),
2608
+
2609
+ /***/ 2217:
2610
+ /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2611
+
2612
+ "use strict";
2613
+ __webpack_require__.r(__webpack_exports__);
2614
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2615
+ /* harmony export */ "fromString": function() { return /* binding */ fromString; }
2616
+ /* harmony export */ });
2617
+ /* harmony import */ var _util_bases_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(660);
2618
+
2619
+ function fromString(string, encoding = 'utf8') {
2620
+ const base = _util_bases_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z[encoding];
2621
+ if (!base) {
2622
+ throw new Error(`Unsupported encoding "${ encoding }"`);
2623
+ }
2624
+ return base.decoder.decode(`${ base.prefix }${ string }`);
2625
+ }
2626
+
2627
+ /***/ }),
2628
+
2629
+ /***/ 2263:
2630
+ /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2631
+
2632
+ "use strict";
2633
+ __webpack_require__.r(__webpack_exports__);
2634
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2635
+ /* harmony export */ "toString": function() { return /* binding */ toString; }
2636
+ /* harmony export */ });
2637
+ /* harmony import */ var _util_bases_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(660);
2638
+
2639
+ function toString(array, encoding = 'utf8') {
2640
+ const base = _util_bases_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z[encoding];
2641
+ if (!base) {
2642
+ throw new Error(`Unsupported encoding "${ encoding }"`);
2643
+ }
2644
+ return base.encoder.encode(array).substring(1);
2645
+ }
2646
+
2647
+ /***/ }),
2648
+
2649
+ /***/ 660:
2650
+ /***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2651
+
2652
+ "use strict";
2653
+
2654
+ // EXPORTS
2655
+ __webpack_require__.d(__webpack_exports__, {
2656
+ "Z": function() { return /* binding */ util_bases; }
2657
+ });
2658
+
2659
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/bases/identity.js
2660
+ var identity_namespaceObject = {};
2661
+ __webpack_require__.r(identity_namespaceObject);
2662
+ __webpack_require__.d(identity_namespaceObject, {
2663
+ "identity": function() { return identity; }
2664
+ });
2665
+
2666
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/bases/base2.js
2667
+ var base2_namespaceObject = {};
2668
+ __webpack_require__.r(base2_namespaceObject);
2669
+ __webpack_require__.d(base2_namespaceObject, {
2670
+ "base2": function() { return base2; }
2671
+ });
2672
+
2673
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/bases/base8.js
2674
+ var base8_namespaceObject = {};
2675
+ __webpack_require__.r(base8_namespaceObject);
2676
+ __webpack_require__.d(base8_namespaceObject, {
2677
+ "base8": function() { return base8; }
2678
+ });
2679
+
2680
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/bases/base10.js
2681
+ var base10_namespaceObject = {};
2682
+ __webpack_require__.r(base10_namespaceObject);
2683
+ __webpack_require__.d(base10_namespaceObject, {
2684
+ "base10": function() { return base10; }
2685
+ });
2686
+
2687
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/bases/base16.js
2688
+ var base16_namespaceObject = {};
2689
+ __webpack_require__.r(base16_namespaceObject);
2690
+ __webpack_require__.d(base16_namespaceObject, {
2691
+ "base16": function() { return base16; },
2692
+ "base16upper": function() { return base16upper; }
2693
+ });
2694
+
2695
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/bases/base32.js
2696
+ var base32_namespaceObject = {};
2697
+ __webpack_require__.r(base32_namespaceObject);
2698
+ __webpack_require__.d(base32_namespaceObject, {
2699
+ "base32": function() { return base32_base32; },
2700
+ "base32hex": function() { return base32hex; },
2701
+ "base32hexpad": function() { return base32hexpad; },
2702
+ "base32hexpadupper": function() { return base32hexpadupper; },
2703
+ "base32hexupper": function() { return base32hexupper; },
2704
+ "base32pad": function() { return base32pad; },
2705
+ "base32padupper": function() { return base32padupper; },
2706
+ "base32upper": function() { return base32upper; },
2707
+ "base32z": function() { return base32z; }
2708
+ });
2709
+
2710
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/bases/base36.js
2711
+ var base36_namespaceObject = {};
2712
+ __webpack_require__.r(base36_namespaceObject);
2713
+ __webpack_require__.d(base36_namespaceObject, {
2714
+ "base36": function() { return base36; },
2715
+ "base36upper": function() { return base36upper; }
2716
+ });
2717
+
2718
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/bases/base58.js
2719
+ var base58_namespaceObject = {};
2720
+ __webpack_require__.r(base58_namespaceObject);
2721
+ __webpack_require__.d(base58_namespaceObject, {
2722
+ "base58btc": function() { return base58_base58btc; },
2723
+ "base58flickr": function() { return base58flickr; }
2724
+ });
2725
+
2726
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/bases/base64.js
2727
+ var base64_namespaceObject = {};
2728
+ __webpack_require__.r(base64_namespaceObject);
2729
+ __webpack_require__.d(base64_namespaceObject, {
2730
+ "base64": function() { return base64; },
2731
+ "base64pad": function() { return base64pad; },
2732
+ "base64url": function() { return base64url; },
2733
+ "base64urlpad": function() { return base64urlpad; }
2734
+ });
2735
+
2736
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/hashes/sha2-browser.js
2737
+ var sha2_browser_namespaceObject = {};
2738
+ __webpack_require__.r(sha2_browser_namespaceObject);
2739
+ __webpack_require__.d(sha2_browser_namespaceObject, {
2740
+ "sha256": function() { return sha256; },
2741
+ "sha512": function() { return sha512; }
2742
+ });
2743
+
2744
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/hashes/identity.js
2745
+ var hashes_identity_namespaceObject = {};
2746
+ __webpack_require__.r(hashes_identity_namespaceObject);
2747
+ __webpack_require__.d(hashes_identity_namespaceObject, {
2748
+ "identity": function() { return identity_identity; }
2749
+ });
2750
+
2751
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/codecs/raw.js
2752
+ var raw_namespaceObject = {};
2753
+ __webpack_require__.r(raw_namespaceObject);
2754
+ __webpack_require__.d(raw_namespaceObject, {
2755
+ "code": function() { return raw_code; },
2756
+ "decode": function() { return raw_decode; },
2757
+ "encode": function() { return raw_encode; },
2758
+ "name": function() { return raw_name; }
2759
+ });
2760
+
2761
+ // NAMESPACE OBJECT: ./node_modules/multiformats/esm/src/codecs/json.js
2762
+ var json_namespaceObject = {};
2763
+ __webpack_require__.r(json_namespaceObject);
2764
+ __webpack_require__.d(json_namespaceObject, {
2765
+ "code": function() { return json_code; },
2766
+ "decode": function() { return json_decode; },
2767
+ "encode": function() { return json_encode; },
2768
+ "name": function() { return json_name; }
2769
+ });
2770
+
2771
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/vendor/base-x.js
2772
+ function base(ALPHABET, name) {
2773
+ if (ALPHABET.length >= 255) {
2774
+ throw new TypeError('Alphabet too long');
2775
+ }
2776
+ var BASE_MAP = new Uint8Array(256);
2777
+ for (var j = 0; j < BASE_MAP.length; j++) {
2778
+ BASE_MAP[j] = 255;
2779
+ }
2780
+ for (var i = 0; i < ALPHABET.length; i++) {
2781
+ var x = ALPHABET.charAt(i);
2782
+ var xc = x.charCodeAt(0);
2783
+ if (BASE_MAP[xc] !== 255) {
2784
+ throw new TypeError(x + ' is ambiguous');
2785
+ }
2786
+ BASE_MAP[xc] = i;
2787
+ }
2788
+ var BASE = ALPHABET.length;
2789
+ var LEADER = ALPHABET.charAt(0);
2790
+ var FACTOR = Math.log(BASE) / Math.log(256);
2791
+ var iFACTOR = Math.log(256) / Math.log(BASE);
2792
+ function encode(source) {
2793
+ if (source instanceof Uint8Array);
2794
+ else if (ArrayBuffer.isView(source)) {
2795
+ source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);
2796
+ } else if (Array.isArray(source)) {
2797
+ source = Uint8Array.from(source);
2798
+ }
2799
+ if (!(source instanceof Uint8Array)) {
2800
+ throw new TypeError('Expected Uint8Array');
2801
+ }
2802
+ if (source.length === 0) {
2803
+ return '';
2804
+ }
2805
+ var zeroes = 0;
2806
+ var length = 0;
2807
+ var pbegin = 0;
2808
+ var pend = source.length;
2809
+ while (pbegin !== pend && source[pbegin] === 0) {
2810
+ pbegin++;
2811
+ zeroes++;
2812
+ }
2813
+ var size = (pend - pbegin) * iFACTOR + 1 >>> 0;
2814
+ var b58 = new Uint8Array(size);
2815
+ while (pbegin !== pend) {
2816
+ var carry = source[pbegin];
2817
+ var i = 0;
2818
+ for (var it1 = size - 1; (carry !== 0 || i < length) && it1 !== -1; it1--, i++) {
2819
+ carry += 256 * b58[it1] >>> 0;
2820
+ b58[it1] = carry % BASE >>> 0;
2821
+ carry = carry / BASE >>> 0;
2822
+ }
2823
+ if (carry !== 0) {
2824
+ throw new Error('Non-zero carry');
2825
+ }
2826
+ length = i;
2827
+ pbegin++;
2828
+ }
2829
+ var it2 = size - length;
2830
+ while (it2 !== size && b58[it2] === 0) {
2831
+ it2++;
2832
+ }
2833
+ var str = LEADER.repeat(zeroes);
2834
+ for (; it2 < size; ++it2) {
2835
+ str += ALPHABET.charAt(b58[it2]);
2836
+ }
2837
+ return str;
2838
+ }
2839
+ function decodeUnsafe(source) {
2840
+ if (typeof source !== 'string') {
2841
+ throw new TypeError('Expected String');
2842
+ }
2843
+ if (source.length === 0) {
2844
+ return new Uint8Array();
2845
+ }
2846
+ var psz = 0;
2847
+ if (source[psz] === ' ') {
2848
+ return;
2849
+ }
2850
+ var zeroes = 0;
2851
+ var length = 0;
2852
+ while (source[psz] === LEADER) {
2853
+ zeroes++;
2854
+ psz++;
2855
+ }
2856
+ var size = (source.length - psz) * FACTOR + 1 >>> 0;
2857
+ var b256 = new Uint8Array(size);
2858
+ while (source[psz]) {
2859
+ var carry = BASE_MAP[source.charCodeAt(psz)];
2860
+ if (carry === 255) {
2861
+ return;
2862
+ }
2863
+ var i = 0;
2864
+ for (var it3 = size - 1; (carry !== 0 || i < length) && it3 !== -1; it3--, i++) {
2865
+ carry += BASE * b256[it3] >>> 0;
2866
+ b256[it3] = carry % 256 >>> 0;
2867
+ carry = carry / 256 >>> 0;
2868
+ }
2869
+ if (carry !== 0) {
2870
+ throw new Error('Non-zero carry');
2871
+ }
2872
+ length = i;
2873
+ psz++;
2874
+ }
2875
+ if (source[psz] === ' ') {
2876
+ return;
2877
+ }
2878
+ var it4 = size - length;
2879
+ while (it4 !== size && b256[it4] === 0) {
2880
+ it4++;
2881
+ }
2882
+ var vch = new Uint8Array(zeroes + (size - it4));
2883
+ var j = zeroes;
2884
+ while (it4 !== size) {
2885
+ vch[j++] = b256[it4++];
2886
+ }
2887
+ return vch;
2888
+ }
2889
+ function decode(string) {
2890
+ var buffer = decodeUnsafe(string);
2891
+ if (buffer) {
2892
+ return buffer;
2893
+ }
2894
+ throw new Error(`Non-${ name } character`);
2895
+ }
2896
+ return {
2897
+ encode: encode,
2898
+ decodeUnsafe: decodeUnsafe,
2899
+ decode: decode
2900
+ };
2901
+ }
2902
+ var src = base;
2903
+ var _brrp__multiformats_scope_baseX = src;
2904
+ /* harmony default export */ var base_x = (_brrp__multiformats_scope_baseX);
2905
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bytes.js
2906
+ const empty = new Uint8Array(0);
2907
+ const toHex = d => d.reduce((hex, byte) => hex + byte.toString(16).padStart(2, '0'), '');
2908
+ const fromHex = hex => {
2909
+ const hexes = hex.match(/../g);
2910
+ return hexes ? new Uint8Array(hexes.map(b => parseInt(b, 16))) : empty;
2911
+ };
2912
+ const equals = (aa, bb) => {
2913
+ if (aa === bb)
2914
+ return true;
2915
+ if (aa.byteLength !== bb.byteLength) {
2916
+ return false;
2917
+ }
2918
+ for (let ii = 0; ii < aa.byteLength; ii++) {
2919
+ if (aa[ii] !== bb[ii]) {
2920
+ return false;
2921
+ }
2922
+ }
2923
+ return true;
2924
+ };
2925
+ const bytes_coerce = o => {
2926
+ if (o instanceof Uint8Array && o.constructor.name === 'Uint8Array')
2927
+ return o;
2928
+ if (o instanceof ArrayBuffer)
2929
+ return new Uint8Array(o);
2930
+ if (ArrayBuffer.isView(o)) {
2931
+ return new Uint8Array(o.buffer, o.byteOffset, o.byteLength);
2932
+ }
2933
+ throw new Error('Unknown type, must be binary type');
2934
+ };
2935
+ const isBinary = o => o instanceof ArrayBuffer || ArrayBuffer.isView(o);
2936
+ const fromString = str => new TextEncoder().encode(str);
2937
+ const bytes_toString = b => new TextDecoder().decode(b);
2938
+
2939
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bases/base.js
2940
+
2941
+
2942
+ class Encoder {
2943
+ constructor(name, prefix, baseEncode) {
2944
+ this.name = name;
2945
+ this.prefix = prefix;
2946
+ this.baseEncode = baseEncode;
2947
+ }
2948
+ encode(bytes) {
2949
+ if (bytes instanceof Uint8Array) {
2950
+ return `${ this.prefix }${ this.baseEncode(bytes) }`;
2951
+ } else {
2952
+ throw Error('Unknown type, must be binary type');
2953
+ }
2954
+ }
2955
+ }
2956
+ class Decoder {
2957
+ constructor(name, prefix, baseDecode) {
2958
+ this.name = name;
2959
+ this.prefix = prefix;
2960
+ this.baseDecode = baseDecode;
2961
+ }
2962
+ decode(text) {
2963
+ if (typeof text === 'string') {
2964
+ switch (text[0]) {
2965
+ case this.prefix: {
2966
+ return this.baseDecode(text.slice(1));
2967
+ }
2968
+ default: {
2969
+ throw Error(`Unable to decode multibase string ${ JSON.stringify(text) }, ${ this.name } decoder only supports inputs prefixed with ${ this.prefix }`);
2970
+ }
2971
+ }
2972
+ } else {
2973
+ throw Error('Can only multibase decode strings');
2974
+ }
2975
+ }
2976
+ or(decoder) {
2977
+ return or(this, decoder);
2978
+ }
2979
+ }
2980
+ class ComposedDecoder {
2981
+ constructor(decoders) {
2982
+ this.decoders = decoders;
2983
+ }
2984
+ or(decoder) {
2985
+ return or(this, decoder);
2986
+ }
2987
+ decode(input) {
2988
+ const prefix = input[0];
2989
+ const decoder = this.decoders[prefix];
2990
+ if (decoder) {
2991
+ return decoder.decode(input);
2992
+ } else {
2993
+ throw RangeError(`Unable to decode multibase string ${ JSON.stringify(input) }, only inputs prefixed with ${ Object.keys(this.decoders) } are supported`);
2994
+ }
2995
+ }
2996
+ }
2997
+ const or = (left, right) => new ComposedDecoder({
2998
+ ...left.decoders || { [left.prefix]: left },
2999
+ ...right.decoders || { [right.prefix]: right }
3000
+ });
3001
+ class Codec {
3002
+ constructor(name, prefix, baseEncode, baseDecode) {
3003
+ this.name = name;
3004
+ this.prefix = prefix;
3005
+ this.baseEncode = baseEncode;
3006
+ this.baseDecode = baseDecode;
3007
+ this.encoder = new Encoder(name, prefix, baseEncode);
3008
+ this.decoder = new Decoder(name, prefix, baseDecode);
3009
+ }
3010
+ encode(input) {
3011
+ return this.encoder.encode(input);
3012
+ }
3013
+ decode(input) {
3014
+ return this.decoder.decode(input);
3015
+ }
3016
+ }
3017
+ const from = ({name, prefix, encode, decode}) => new Codec(name, prefix, encode, decode);
3018
+ const baseX = ({prefix, name, alphabet}) => {
3019
+ const {encode, decode} = base_x(alphabet, name);
3020
+ return from({
3021
+ prefix,
3022
+ name,
3023
+ encode,
3024
+ decode: text => bytes_coerce(decode(text))
3025
+ });
3026
+ };
3027
+ const decode = (string, alphabet, bitsPerChar, name) => {
3028
+ const codes = {};
3029
+ for (let i = 0; i < alphabet.length; ++i) {
3030
+ codes[alphabet[i]] = i;
3031
+ }
3032
+ let end = string.length;
3033
+ while (string[end - 1] === '=') {
3034
+ --end;
3035
+ }
3036
+ const out = new Uint8Array(end * bitsPerChar / 8 | 0);
3037
+ let bits = 0;
3038
+ let buffer = 0;
3039
+ let written = 0;
3040
+ for (let i = 0; i < end; ++i) {
3041
+ const value = codes[string[i]];
3042
+ if (value === undefined) {
3043
+ throw new SyntaxError(`Non-${ name } character`);
3044
+ }
3045
+ buffer = buffer << bitsPerChar | value;
3046
+ bits += bitsPerChar;
3047
+ if (bits >= 8) {
3048
+ bits -= 8;
3049
+ out[written++] = 255 & buffer >> bits;
3050
+ }
3051
+ }
3052
+ if (bits >= bitsPerChar || 255 & buffer << 8 - bits) {
3053
+ throw new SyntaxError('Unexpected end of data');
3054
+ }
3055
+ return out;
3056
+ };
3057
+ const encode = (data, alphabet, bitsPerChar) => {
3058
+ const pad = alphabet[alphabet.length - 1] === '=';
3059
+ const mask = (1 << bitsPerChar) - 1;
3060
+ let out = '';
3061
+ let bits = 0;
3062
+ let buffer = 0;
3063
+ for (let i = 0; i < data.length; ++i) {
3064
+ buffer = buffer << 8 | data[i];
3065
+ bits += 8;
3066
+ while (bits > bitsPerChar) {
3067
+ bits -= bitsPerChar;
3068
+ out += alphabet[mask & buffer >> bits];
3069
+ }
3070
+ }
3071
+ if (bits) {
3072
+ out += alphabet[mask & buffer << bitsPerChar - bits];
3073
+ }
3074
+ if (pad) {
3075
+ while (out.length * bitsPerChar & 7) {
3076
+ out += '=';
3077
+ }
3078
+ }
3079
+ return out;
3080
+ };
3081
+ const rfc4648 = ({name, prefix, bitsPerChar, alphabet}) => {
3082
+ return from({
3083
+ prefix,
3084
+ name,
3085
+ encode(input) {
3086
+ return encode(input, alphabet, bitsPerChar);
3087
+ },
3088
+ decode(input) {
3089
+ return decode(input, alphabet, bitsPerChar, name);
3090
+ }
3091
+ });
3092
+ };
3093
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bases/identity.js
3094
+
3095
+
3096
+ const identity = from({
3097
+ prefix: '\0',
3098
+ name: 'identity',
3099
+ encode: buf => bytes_toString(buf),
3100
+ decode: str => fromString(str)
3101
+ });
3102
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bases/base2.js
3103
+
3104
+ const base2 = rfc4648({
3105
+ prefix: '0',
3106
+ name: 'base2',
3107
+ alphabet: '01',
3108
+ bitsPerChar: 1
3109
+ });
3110
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bases/base8.js
3111
+
3112
+ const base8 = rfc4648({
3113
+ prefix: '7',
3114
+ name: 'base8',
3115
+ alphabet: '01234567',
3116
+ bitsPerChar: 3
3117
+ });
3118
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bases/base10.js
3119
+
3120
+ const base10 = baseX({
3121
+ prefix: '9',
3122
+ name: 'base10',
3123
+ alphabet: '0123456789'
3124
+ });
3125
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bases/base16.js
3126
+
3127
+ const base16 = rfc4648({
3128
+ prefix: 'f',
3129
+ name: 'base16',
3130
+ alphabet: '0123456789abcdef',
3131
+ bitsPerChar: 4
3132
+ });
3133
+ const base16upper = rfc4648({
3134
+ prefix: 'F',
3135
+ name: 'base16upper',
3136
+ alphabet: '0123456789ABCDEF',
3137
+ bitsPerChar: 4
3138
+ });
3139
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bases/base32.js
3140
+
3141
+ const base32_base32 = rfc4648({
3142
+ prefix: 'b',
3143
+ name: 'base32',
3144
+ alphabet: 'abcdefghijklmnopqrstuvwxyz234567',
3145
+ bitsPerChar: 5
3146
+ });
3147
+ const base32upper = rfc4648({
3148
+ prefix: 'B',
3149
+ name: 'base32upper',
3150
+ alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',
3151
+ bitsPerChar: 5
3152
+ });
3153
+ const base32pad = rfc4648({
3154
+ prefix: 'c',
3155
+ name: 'base32pad',
3156
+ alphabet: 'abcdefghijklmnopqrstuvwxyz234567=',
3157
+ bitsPerChar: 5
3158
+ });
3159
+ const base32padupper = rfc4648({
3160
+ prefix: 'C',
3161
+ name: 'base32padupper',
3162
+ alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=',
3163
+ bitsPerChar: 5
3164
+ });
3165
+ const base32hex = rfc4648({
3166
+ prefix: 'v',
3167
+ name: 'base32hex',
3168
+ alphabet: '0123456789abcdefghijklmnopqrstuv',
3169
+ bitsPerChar: 5
3170
+ });
3171
+ const base32hexupper = rfc4648({
3172
+ prefix: 'V',
3173
+ name: 'base32hexupper',
3174
+ alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV',
3175
+ bitsPerChar: 5
3176
+ });
3177
+ const base32hexpad = rfc4648({
3178
+ prefix: 't',
3179
+ name: 'base32hexpad',
3180
+ alphabet: '0123456789abcdefghijklmnopqrstuv=',
3181
+ bitsPerChar: 5
3182
+ });
3183
+ const base32hexpadupper = rfc4648({
3184
+ prefix: 'T',
3185
+ name: 'base32hexpadupper',
3186
+ alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUV=',
3187
+ bitsPerChar: 5
3188
+ });
3189
+ const base32z = rfc4648({
3190
+ prefix: 'h',
3191
+ name: 'base32z',
3192
+ alphabet: 'ybndrfg8ejkmcpqxot1uwisza345h769',
3193
+ bitsPerChar: 5
3194
+ });
3195
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bases/base36.js
3196
+
3197
+ const base36 = baseX({
3198
+ prefix: 'k',
3199
+ name: 'base36',
3200
+ alphabet: '0123456789abcdefghijklmnopqrstuvwxyz'
3201
+ });
3202
+ const base36upper = baseX({
3203
+ prefix: 'K',
3204
+ name: 'base36upper',
3205
+ alphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
3206
+ });
3207
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bases/base58.js
3208
+
3209
+ const base58_base58btc = baseX({
3210
+ name: 'base58btc',
3211
+ prefix: 'z',
3212
+ alphabet: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
3213
+ });
3214
+ const base58flickr = baseX({
3215
+ name: 'base58flickr',
3216
+ prefix: 'Z',
3217
+ alphabet: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'
3218
+ });
3219
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/bases/base64.js
3220
+
3221
+ const base64 = rfc4648({
3222
+ prefix: 'm',
3223
+ name: 'base64',
3224
+ alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
3225
+ bitsPerChar: 6
3226
+ });
3227
+ const base64pad = rfc4648({
3228
+ prefix: 'M',
3229
+ name: 'base64pad',
3230
+ alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',
3231
+ bitsPerChar: 6
3232
+ });
3233
+ const base64url = rfc4648({
3234
+ prefix: 'u',
3235
+ name: 'base64url',
3236
+ alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',
3237
+ bitsPerChar: 6
3238
+ });
3239
+ const base64urlpad = rfc4648({
3240
+ prefix: 'U',
3241
+ name: 'base64urlpad',
3242
+ alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=',
3243
+ bitsPerChar: 6
3244
+ });
3245
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/vendor/varint.js
3246
+ var encode_1 = varint_encode;
3247
+ var MSB = 128, REST = 127, MSBALL = ~REST, INT = Math.pow(2, 31);
3248
+ function varint_encode(num, out, offset) {
3249
+ out = out || [];
3250
+ offset = offset || 0;
3251
+ var oldOffset = offset;
3252
+ while (num >= INT) {
3253
+ out[offset++] = num & 255 | MSB;
3254
+ num /= 128;
3255
+ }
3256
+ while (num & MSBALL) {
3257
+ out[offset++] = num & 255 | MSB;
3258
+ num >>>= 7;
3259
+ }
3260
+ out[offset] = num | 0;
3261
+ varint_encode.bytes = offset - oldOffset + 1;
3262
+ return out;
3263
+ }
3264
+ var varint_decode = read;
3265
+ var MSB$1 = 128, REST$1 = 127;
3266
+ function read(buf, offset) {
3267
+ var res = 0, offset = offset || 0, shift = 0, counter = offset, b, l = buf.length;
3268
+ do {
3269
+ if (counter >= l) {
3270
+ read.bytes = 0;
3271
+ throw new RangeError('Could not decode varint');
3272
+ }
3273
+ b = buf[counter++];
3274
+ res += shift < 28 ? (b & REST$1) << shift : (b & REST$1) * Math.pow(2, shift);
3275
+ shift += 7;
3276
+ } while (b >= MSB$1);
3277
+ read.bytes = counter - offset;
3278
+ return res;
3279
+ }
3280
+ var N1 = Math.pow(2, 7);
3281
+ var N2 = Math.pow(2, 14);
3282
+ var N3 = Math.pow(2, 21);
3283
+ var N4 = Math.pow(2, 28);
3284
+ var N5 = Math.pow(2, 35);
3285
+ var N6 = Math.pow(2, 42);
3286
+ var N7 = Math.pow(2, 49);
3287
+ var N8 = Math.pow(2, 56);
3288
+ var N9 = Math.pow(2, 63);
3289
+ var varint_length = function (value) {
3290
+ return value < N1 ? 1 : value < N2 ? 2 : value < N3 ? 3 : value < N4 ? 4 : value < N5 ? 5 : value < N6 ? 6 : value < N7 ? 7 : value < N8 ? 8 : value < N9 ? 9 : 10;
3291
+ };
3292
+ var varint_varint = {
3293
+ encode: encode_1,
3294
+ decode: varint_decode,
3295
+ encodingLength: varint_length
3296
+ };
3297
+ var _brrp_varint = varint_varint;
3298
+ /* harmony default export */ var vendor_varint = (_brrp_varint);
3299
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/varint.js
3300
+
3301
+ const src_varint_decode = data => {
3302
+ const code = varint.decode(data);
3303
+ return [
3304
+ code,
3305
+ varint.decode.bytes
3306
+ ];
3307
+ };
3308
+ const encodeTo = (int, target, offset = 0) => {
3309
+ vendor_varint.encode(int, target, offset);
3310
+ return target;
3311
+ };
3312
+ const encodingLength = int => {
3313
+ return vendor_varint.encodingLength(int);
3314
+ };
3315
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/hashes/digest.js
3316
+
3317
+
3318
+ const create = (code, digest) => {
3319
+ const size = digest.byteLength;
3320
+ const sizeOffset = encodingLength(code);
3321
+ const digestOffset = sizeOffset + encodingLength(size);
3322
+ const bytes = new Uint8Array(digestOffset + size);
3323
+ encodeTo(code, bytes, 0);
3324
+ encodeTo(size, bytes, sizeOffset);
3325
+ bytes.set(digest, digestOffset);
3326
+ return new digest_Digest(code, size, digest, bytes);
3327
+ };
3328
+ const digest_decode = multihash => {
3329
+ const bytes = coerce(multihash);
3330
+ const [code, sizeOffset] = varint.decode(bytes);
3331
+ const [size, digestOffset] = varint.decode(bytes.subarray(sizeOffset));
3332
+ const digest = bytes.subarray(sizeOffset + digestOffset);
3333
+ if (digest.byteLength !== size) {
3334
+ throw new Error('Incorrect length');
3335
+ }
3336
+ return new digest_Digest(code, size, digest, bytes);
3337
+ };
3338
+ const digest_equals = (a, b) => {
3339
+ if (a === b) {
3340
+ return true;
3341
+ } else {
3342
+ return a.code === b.code && a.size === b.size && equalBytes(a.bytes, b.bytes);
3343
+ }
3344
+ };
3345
+ class digest_Digest {
3346
+ constructor(code, size, digest, bytes) {
3347
+ this.code = code;
3348
+ this.size = size;
3349
+ this.digest = digest;
3350
+ this.bytes = bytes;
3351
+ }
3352
+ }
3353
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/hashes/hasher.js
3354
+
3355
+ const hasher_from = ({name, code, encode}) => new Hasher(name, code, encode);
3356
+ class Hasher {
3357
+ constructor(name, code, encode) {
3358
+ this.name = name;
3359
+ this.code = code;
3360
+ this.encode = encode;
3361
+ }
3362
+ digest(input) {
3363
+ if (input instanceof Uint8Array) {
3364
+ const result = this.encode(input);
3365
+ return result instanceof Uint8Array ? create(this.code, result) : result.then(digest => create(this.code, digest));
3366
+ } else {
3367
+ throw Error('Unknown type, must be binary type');
3368
+ }
3369
+ }
3370
+ }
3371
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/hashes/sha2-browser.js
3372
+
3373
+ const sha = name => async data => new Uint8Array(await crypto.subtle.digest(name, data));
3374
+ const sha256 = hasher_from({
3375
+ name: 'sha2-256',
3376
+ code: 18,
3377
+ encode: sha('SHA-256')
3378
+ });
3379
+ const sha512 = hasher_from({
3380
+ name: 'sha2-512',
3381
+ code: 19,
3382
+ encode: sha('SHA-512')
3383
+ });
3384
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/hashes/identity.js
3385
+
3386
+
3387
+ const code = 0;
3388
+ const identity_name = 'identity';
3389
+ const identity_encode = bytes_coerce;
3390
+ const digest = input => create(code, identity_encode(input));
3391
+ const identity_identity = {
3392
+ code,
3393
+ name: identity_name,
3394
+ encode: identity_encode,
3395
+ digest
3396
+ };
3397
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/codecs/raw.js
3398
+
3399
+ const raw_name = 'raw';
3400
+ const raw_code = 85;
3401
+ const raw_encode = node => bytes_coerce(node);
3402
+ const raw_decode = data => bytes_coerce(data);
3403
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/codecs/json.js
3404
+ const textEncoder = new TextEncoder();
3405
+ const textDecoder = new TextDecoder();
3406
+ const json_name = 'json';
3407
+ const json_code = 512;
3408
+ const json_encode = node => textEncoder.encode(JSON.stringify(node));
3409
+ const json_decode = data => JSON.parse(textDecoder.decode(data));
3410
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/cid.js
3411
+
3412
+
3413
+
3414
+
3415
+
3416
+ class CID {
3417
+ constructor(version, code, multihash, bytes) {
3418
+ this.code = code;
3419
+ this.version = version;
3420
+ this.multihash = multihash;
3421
+ this.bytes = bytes;
3422
+ this.byteOffset = bytes.byteOffset;
3423
+ this.byteLength = bytes.byteLength;
3424
+ this.asCID = this;
3425
+ this._baseCache = new Map();
3426
+ Object.defineProperties(this, {
3427
+ byteOffset: cid_hidden,
3428
+ byteLength: cid_hidden,
3429
+ code: readonly,
3430
+ version: readonly,
3431
+ multihash: readonly,
3432
+ bytes: readonly,
3433
+ _baseCache: cid_hidden,
3434
+ asCID: cid_hidden
3435
+ });
3436
+ }
3437
+ toV0() {
3438
+ switch (this.version) {
3439
+ case 0: {
3440
+ return this;
3441
+ }
3442
+ default: {
3443
+ const {code, multihash} = this;
3444
+ if (code !== DAG_PB_CODE) {
3445
+ throw new Error('Cannot convert a non dag-pb CID to CIDv0');
3446
+ }
3447
+ if (multihash.code !== SHA_256_CODE) {
3448
+ throw new Error('Cannot convert non sha2-256 multihash CID to CIDv0');
3449
+ }
3450
+ return CID.createV0(multihash);
3451
+ }
3452
+ }
3453
+ }
3454
+ toV1() {
3455
+ switch (this.version) {
3456
+ case 0: {
3457
+ const {code, digest} = this.multihash;
3458
+ const multihash = Digest.create(code, digest);
3459
+ return CID.createV1(this.code, multihash);
3460
+ }
3461
+ case 1: {
3462
+ return this;
3463
+ }
3464
+ default: {
3465
+ throw Error(`Can not convert CID version ${ this.version } to version 0. This is a bug please report`);
3466
+ }
3467
+ }
3468
+ }
3469
+ equals(other) {
3470
+ return other && this.code === other.code && this.version === other.version && Digest.equals(this.multihash, other.multihash);
3471
+ }
3472
+ toString(base) {
3473
+ const {bytes, version, _baseCache} = this;
3474
+ switch (version) {
3475
+ case 0:
3476
+ return toStringV0(bytes, _baseCache, base || base58btc.encoder);
3477
+ default:
3478
+ return toStringV1(bytes, _baseCache, base || base32.encoder);
3479
+ }
3480
+ }
3481
+ toJSON() {
3482
+ return {
3483
+ code: this.code,
3484
+ version: this.version,
3485
+ hash: this.multihash.bytes
3486
+ };
3487
+ }
3488
+ get [Symbol.toStringTag]() {
3489
+ return 'CID';
3490
+ }
3491
+ [Symbol.for('nodejs.util.inspect.custom')]() {
3492
+ return 'CID(' + this.toString() + ')';
3493
+ }
3494
+ static isCID(value) {
3495
+ deprecate(/^0\.0/, IS_CID_DEPRECATION);
3496
+ return !!(value && (value[cidSymbol] || value.asCID === value));
3497
+ }
3498
+ get toBaseEncodedString() {
3499
+ throw new Error('Deprecated, use .toString()');
3500
+ }
3501
+ get codec() {
3502
+ throw new Error('"codec" property is deprecated, use integer "code" property instead');
3503
+ }
3504
+ get buffer() {
3505
+ throw new Error('Deprecated .buffer property, use .bytes to get Uint8Array instead');
3506
+ }
3507
+ get multibaseName() {
3508
+ throw new Error('"multibaseName" property is deprecated');
3509
+ }
3510
+ get prefix() {
3511
+ throw new Error('"prefix" property is deprecated');
3512
+ }
3513
+ static asCID(value) {
3514
+ if (value instanceof CID) {
3515
+ return value;
3516
+ } else if (value != null && value.asCID === value) {
3517
+ const {version, code, multihash, bytes} = value;
3518
+ return new CID(version, code, multihash, bytes || encodeCID(version, code, multihash.bytes));
3519
+ } else if (value != null && value[cidSymbol] === true) {
3520
+ const {version, multihash, code} = value;
3521
+ const digest = Digest.decode(multihash);
3522
+ return CID.create(version, code, digest);
3523
+ } else {
3524
+ return null;
3525
+ }
3526
+ }
3527
+ static create(version, code, digest) {
3528
+ if (typeof code !== 'number') {
3529
+ throw new Error('String codecs are no longer supported');
3530
+ }
3531
+ switch (version) {
3532
+ case 0: {
3533
+ if (code !== DAG_PB_CODE) {
3534
+ throw new Error(`Version 0 CID must use dag-pb (code: ${ DAG_PB_CODE }) block encoding`);
3535
+ } else {
3536
+ return new CID(version, code, digest, digest.bytes);
3537
+ }
3538
+ }
3539
+ case 1: {
3540
+ const bytes = encodeCID(version, code, digest.bytes);
3541
+ return new CID(version, code, digest, bytes);
3542
+ }
3543
+ default: {
3544
+ throw new Error('Invalid version');
3545
+ }
3546
+ }
3547
+ }
3548
+ static createV0(digest) {
3549
+ return CID.create(0, DAG_PB_CODE, digest);
3550
+ }
3551
+ static createV1(code, digest) {
3552
+ return CID.create(1, code, digest);
3553
+ }
3554
+ static decode(bytes) {
3555
+ const [cid, remainder] = CID.decodeFirst(bytes);
3556
+ if (remainder.length) {
3557
+ throw new Error('Incorrect length');
3558
+ }
3559
+ return cid;
3560
+ }
3561
+ static decodeFirst(bytes) {
3562
+ const specs = CID.inspectBytes(bytes);
3563
+ const prefixSize = specs.size - specs.multihashSize;
3564
+ const multihashBytes = coerce(bytes.subarray(prefixSize, prefixSize + specs.multihashSize));
3565
+ if (multihashBytes.byteLength !== specs.multihashSize) {
3566
+ throw new Error('Incorrect length');
3567
+ }
3568
+ const digestBytes = multihashBytes.subarray(specs.multihashSize - specs.digestSize);
3569
+ const digest = new Digest.Digest(specs.multihashCode, specs.digestSize, digestBytes, multihashBytes);
3570
+ const cid = specs.version === 0 ? CID.createV0(digest) : CID.createV1(specs.codec, digest);
3571
+ return [
3572
+ cid,
3573
+ bytes.subarray(specs.size)
3574
+ ];
3575
+ }
3576
+ static inspectBytes(initialBytes) {
3577
+ let offset = 0;
3578
+ const next = () => {
3579
+ const [i, length] = varint.decode(initialBytes.subarray(offset));
3580
+ offset += length;
3581
+ return i;
3582
+ };
3583
+ let version = next();
3584
+ let codec = DAG_PB_CODE;
3585
+ if (version === 18) {
3586
+ version = 0;
3587
+ offset = 0;
3588
+ } else if (version === 1) {
3589
+ codec = next();
3590
+ }
3591
+ if (version !== 0 && version !== 1) {
3592
+ throw new RangeError(`Invalid CID version ${ version }`);
3593
+ }
3594
+ const prefixSize = offset;
3595
+ const multihashCode = next();
3596
+ const digestSize = next();
3597
+ const size = offset + digestSize;
3598
+ const multihashSize = size - prefixSize;
3599
+ return {
3600
+ version,
3601
+ codec,
3602
+ multihashCode,
3603
+ digestSize,
3604
+ multihashSize,
3605
+ size
3606
+ };
3607
+ }
3608
+ static parse(source, base) {
3609
+ const [prefix, bytes] = parseCIDtoBytes(source, base);
3610
+ const cid = CID.decode(bytes);
3611
+ cid._baseCache.set(prefix, source);
3612
+ return cid;
3613
+ }
3614
+ }
3615
+ const parseCIDtoBytes = (source, base) => {
3616
+ switch (source[0]) {
3617
+ case 'Q': {
3618
+ const decoder = base || base58btc;
3619
+ return [
3620
+ base58btc.prefix,
3621
+ decoder.decode(`${ base58btc.prefix }${ source }`)
3622
+ ];
3623
+ }
3624
+ case base58btc.prefix: {
3625
+ const decoder = base || base58btc;
3626
+ return [
3627
+ base58btc.prefix,
3628
+ decoder.decode(source)
3629
+ ];
3630
+ }
3631
+ case base32.prefix: {
3632
+ const decoder = base || base32;
3633
+ return [
3634
+ base32.prefix,
3635
+ decoder.decode(source)
3636
+ ];
3637
+ }
3638
+ default: {
3639
+ if (base == null) {
3640
+ throw Error('To parse non base32 or base58btc encoded CID multibase decoder must be provided');
3641
+ }
3642
+ return [
3643
+ source[0],
3644
+ base.decode(source)
3645
+ ];
3646
+ }
3647
+ }
3648
+ };
3649
+ const toStringV0 = (bytes, cache, base) => {
3650
+ const {prefix} = base;
3651
+ if (prefix !== base58btc.prefix) {
3652
+ throw Error(`Cannot string encode V0 in ${ base.name } encoding`);
3653
+ }
3654
+ const cid = cache.get(prefix);
3655
+ if (cid == null) {
3656
+ const cid = base.encode(bytes).slice(1);
3657
+ cache.set(prefix, cid);
3658
+ return cid;
3659
+ } else {
3660
+ return cid;
3661
+ }
3662
+ };
3663
+ const toStringV1 = (bytes, cache, base) => {
3664
+ const {prefix} = base;
3665
+ const cid = cache.get(prefix);
3666
+ if (cid == null) {
3667
+ const cid = base.encode(bytes);
3668
+ cache.set(prefix, cid);
3669
+ return cid;
3670
+ } else {
3671
+ return cid;
3672
+ }
3673
+ };
3674
+ const DAG_PB_CODE = 112;
3675
+ const SHA_256_CODE = 18;
3676
+ const encodeCID = (version, code, multihash) => {
3677
+ const codeOffset = varint.encodingLength(version);
3678
+ const hashOffset = codeOffset + varint.encodingLength(code);
3679
+ const bytes = new Uint8Array(hashOffset + multihash.byteLength);
3680
+ varint.encodeTo(version, bytes, 0);
3681
+ varint.encodeTo(code, bytes, codeOffset);
3682
+ bytes.set(multihash, hashOffset);
3683
+ return bytes;
3684
+ };
3685
+ const cidSymbol = Symbol.for('@ipld/js-cid/CID');
3686
+ const readonly = {
3687
+ writable: false,
3688
+ configurable: false,
3689
+ enumerable: true
3690
+ };
3691
+ const cid_hidden = {
3692
+ writable: false,
3693
+ enumerable: false,
3694
+ configurable: false
3695
+ };
3696
+ const version = '0.0.0-dev';
3697
+ const deprecate = (range, message) => {
3698
+ if (range.test(version)) {
3699
+ console.warn(message);
3700
+ } else {
3701
+ throw new Error(message);
3702
+ }
3703
+ };
3704
+ const IS_CID_DEPRECATION = (/* unused pure expression or super */ null && (`CID.isCID(v) is deprecated and will be removed in the next major release.
3705
+ Following code pattern:
3706
+
3707
+ if (CID.isCID(value)) {
3708
+ doSomethingWithCID(value)
3709
+ }
3710
+
3711
+ Is replaced with:
3712
+
3713
+ const cid = CID.asCID(value)
3714
+ if (cid) {
3715
+ // Make sure to use cid instead of value
3716
+ doSomethingWithCID(cid)
3717
+ }
3718
+ `));
3719
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/index.js
3720
+
3721
+
3722
+
3723
+
3724
+
3725
+
3726
+ ;// CONCATENATED MODULE: ./node_modules/multiformats/esm/src/basics.js
3727
+
3728
+
3729
+
3730
+
3731
+
3732
+
3733
+
3734
+
3735
+
3736
+
3737
+
3738
+
3739
+
3740
+
3741
+ const bases = {
3742
+ ...identity_namespaceObject,
3743
+ ...base2_namespaceObject,
3744
+ ...base8_namespaceObject,
3745
+ ...base10_namespaceObject,
3746
+ ...base16_namespaceObject,
3747
+ ...base32_namespaceObject,
3748
+ ...base36_namespaceObject,
3749
+ ...base58_namespaceObject,
3750
+ ...base64_namespaceObject
3751
+ };
3752
+ const hashes = {
3753
+ ...sha2_browser_namespaceObject,
3754
+ ...hashes_identity_namespaceObject
3755
+ };
3756
+ const codecs = {
3757
+ raw: raw_namespaceObject,
3758
+ json: json_namespaceObject
3759
+ };
3760
+
3761
+ ;// CONCATENATED MODULE: ./node_modules/uint8arrays/esm/src/util/bases.js
3762
+
3763
+ function createCodec(name, prefix, encode, decode) {
3764
+ return {
3765
+ name,
3766
+ prefix,
3767
+ encoder: {
3768
+ name,
3769
+ prefix,
3770
+ encode
3771
+ },
3772
+ decoder: { decode }
3773
+ };
3774
+ }
3775
+ const string = createCodec('utf8', 'u', buf => {
3776
+ const decoder = new TextDecoder('utf8');
3777
+ return 'u' + decoder.decode(buf);
3778
+ }, str => {
3779
+ const encoder = new TextEncoder();
3780
+ return encoder.encode(str.substring(1));
3781
+ });
3782
+ const ascii = createCodec('ascii', 'a', buf => {
3783
+ let string = 'a';
3784
+ for (let i = 0; i < buf.length; i++) {
3785
+ string += String.fromCharCode(buf[i]);
3786
+ }
3787
+ return string;
3788
+ }, str => {
3789
+ str = str.substring(1);
3790
+ const buf = new Uint8Array(str.length);
3791
+ for (let i = 0; i < str.length; i++) {
3792
+ buf[i] = str.charCodeAt(i);
3793
+ }
3794
+ return buf;
3795
+ });
3796
+ const BASES = {
3797
+ utf8: string,
3798
+ 'utf-8': string,
3799
+ hex: bases.base16,
3800
+ latin1: ascii,
3801
+ ascii: ascii,
3802
+ binary: ascii,
3803
+ ...bases
3804
+ };
3805
+ /* harmony default export */ var util_bases = (BASES);
3806
+
3807
+ /***/ })
3808
+
3809
+ }]);