@fireproof/core 0.10.0-dev → 0.10.1-dev

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. package/package.json +5 -1
  2. package/.eslintrc.cjs +0 -37
  3. package/.vscode/launch.json +0 -12
  4. package/dist/crdt-helpers.browser.js +0 -4961
  5. package/dist/crdt-helpers.browser.js.map +0 -7
  6. package/dist/crdt-helpers.cjs.js +0 -4823
  7. package/dist/crdt-helpers.cjs.js.map +0 -7
  8. package/dist/crdt-helpers.esm.js +0 -4788
  9. package/dist/crdt-helpers.esm.js.map +0 -7
  10. package/dist/crdt.browser.js +0 -18214
  11. package/dist/crdt.browser.js.map +0 -7
  12. package/dist/crdt.cjs.js +0 -8692
  13. package/dist/crdt.cjs.js.map +0 -7
  14. package/dist/crdt.esm.js +0 -8682
  15. package/dist/crdt.esm.js.map +0 -7
  16. package/dist/database.browser.js +0 -18867
  17. package/dist/database.browser.js.map +0 -7
  18. package/dist/database.cjs.js +0 -9296
  19. package/dist/database.cjs.js.map +0 -7
  20. package/dist/database.esm.js +0 -9288
  21. package/dist/database.esm.js.map +0 -7
  22. package/dist/loader-helpers.browser.js +0 -6943
  23. package/dist/loader-helpers.browser.js.map +0 -7
  24. package/dist/loader-helpers.cjs.js +0 -4419
  25. package/dist/loader-helpers.cjs.js.map +0 -7
  26. package/dist/loader-helpers.esm.js +0 -4408
  27. package/dist/loader-helpers.esm.js.map +0 -7
  28. package/dist/loader.browser.js +0 -15968
  29. package/dist/loader.browser.js.map +0 -7
  30. package/dist/loader.cjs.js +0 -6667
  31. package/dist/loader.cjs.js.map +0 -7
  32. package/dist/loader.esm.js +0 -6657
  33. package/dist/loader.esm.js.map +0 -7
  34. package/dist/store-browser.browser.js +0 -1414
  35. package/dist/store-browser.browser.js.map +0 -7
  36. package/dist/store-browser.cjs.js +0 -1387
  37. package/dist/store-browser.cjs.js.map +0 -7
  38. package/dist/store-browser.esm.js +0 -1358
  39. package/dist/store-browser.esm.js.map +0 -7
  40. package/dist/store-fs.browser.js +0 -16142
  41. package/dist/store-fs.browser.js.map +0 -7
  42. package/dist/store-fs.cjs.js +0 -1171
  43. package/dist/store-fs.cjs.js.map +0 -7
  44. package/dist/store-fs.esm.js +0 -1143
  45. package/dist/store-fs.esm.js.map +0 -7
  46. package/dist/store.browser.js +0 -1113
  47. package/dist/store.browser.js.map +0 -7
  48. package/dist/store.cjs.js +0 -1126
  49. package/dist/store.cjs.js.map +0 -7
  50. package/dist/store.esm.js +0 -1097
  51. package/dist/store.esm.js.map +0 -7
  52. package/dist/transaction.browser.js +0 -17241
  53. package/dist/transaction.browser.js.map +0 -7
  54. package/dist/transaction.cjs.js +0 -7842
  55. package/dist/transaction.cjs.js.map +0 -7
  56. package/dist/transaction.esm.js +0 -7831
  57. package/dist/transaction.esm.js.map +0 -7
  58. package/dist/types.d.browser.js +0 -4
  59. package/dist/types.d.browser.js.map +0 -7
  60. package/dist/types.d.cjs.js +0 -19
  61. package/dist/types.d.cjs.js.map +0 -7
  62. package/dist/types.d.esm.js +0 -1
  63. package/dist/types.d.esm.js.map +0 -7
  64. package/scripts/analyze.js +0 -31
  65. package/scripts/build.js +0 -20
  66. package/scripts/serve.js +0 -20
  67. package/scripts/settings.js +0 -65
  68. package/scripts/test.js +0 -14
  69. package/src/crdt-helpers.ts +0 -89
  70. package/src/crdt.ts +0 -45
  71. package/src/database.ts +0 -61
  72. package/src/fireproof.ts +0 -6
  73. package/src/loader-helpers.ts +0 -53
  74. package/src/loader.ts +0 -66
  75. package/src/store-browser.ts +0 -76
  76. package/src/store-fs.ts +0 -51
  77. package/src/store.ts +0 -32
  78. package/src/transaction.ts +0 -68
  79. package/src/types.d.ts +0 -38
  80. package/test/crdt.test.js +0 -142
  81. package/test/database.test.js +0 -144
  82. package/test/fireproof.test.js +0 -50
  83. package/test/globals.d.ts +0 -4
  84. package/test/hello.test.js +0 -9
  85. package/test/helpers.js +0 -34
  86. package/test/loader.test.js +0 -112
  87. package/test/store-fs.test.js +0 -105
  88. package/test/transaction.test.js +0 -90
  89. package/tsconfig.json +0 -18
  90. package/webpack.config.cjs +0 -17
@@ -1,1113 +0,0 @@
1
- "use strict";
2
- (() => {
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
-
24
- // node_modules/multiformats/vendor/varint.js
25
- var encode_1 = encode;
26
- var MSB = 128;
27
- var REST = 127;
28
- var MSBALL = ~REST;
29
- var INT = Math.pow(2, 31);
30
- function encode(num, out, offset) {
31
- out = out || [];
32
- offset = offset || 0;
33
- var oldOffset = offset;
34
- while (num >= INT) {
35
- out[offset++] = num & 255 | MSB;
36
- num /= 128;
37
- }
38
- while (num & MSBALL) {
39
- out[offset++] = num & 255 | MSB;
40
- num >>>= 7;
41
- }
42
- out[offset] = num | 0;
43
- encode.bytes = offset - oldOffset + 1;
44
- return out;
45
- }
46
- var decode = read;
47
- var MSB$1 = 128;
48
- var REST$1 = 127;
49
- function read(buf, offset) {
50
- var res = 0, offset = offset || 0, shift = 0, counter = offset, b, l = buf.length;
51
- do {
52
- if (counter >= l) {
53
- read.bytes = 0;
54
- throw new RangeError("Could not decode varint");
55
- }
56
- b = buf[counter++];
57
- res += shift < 28 ? (b & REST$1) << shift : (b & REST$1) * Math.pow(2, shift);
58
- shift += 7;
59
- } while (b >= MSB$1);
60
- read.bytes = counter - offset;
61
- return res;
62
- }
63
- var N1 = Math.pow(2, 7);
64
- var N2 = Math.pow(2, 14);
65
- var N3 = Math.pow(2, 21);
66
- var N4 = Math.pow(2, 28);
67
- var N5 = Math.pow(2, 35);
68
- var N6 = Math.pow(2, 42);
69
- var N7 = Math.pow(2, 49);
70
- var N8 = Math.pow(2, 56);
71
- var N9 = Math.pow(2, 63);
72
- var length = function(value) {
73
- 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;
74
- };
75
- var varint = {
76
- encode: encode_1,
77
- decode,
78
- encodingLength: length
79
- };
80
- var _brrp_varint = varint;
81
- var varint_default = _brrp_varint;
82
-
83
- // node_modules/multiformats/src/varint.js
84
- var decode2 = (data, offset = 0) => {
85
- const code = varint_default.decode(data, offset);
86
- return [code, varint_default.decode.bytes];
87
- };
88
- var encodeTo = (int, target, offset = 0) => {
89
- varint_default.encode(int, target, offset);
90
- return target;
91
- };
92
- var encodingLength = (int) => {
93
- return varint_default.encodingLength(int);
94
- };
95
-
96
- // node_modules/multiformats/src/bytes.js
97
- var empty = new Uint8Array(0);
98
- var equals = (aa, bb) => {
99
- if (aa === bb)
100
- return true;
101
- if (aa.byteLength !== bb.byteLength) {
102
- return false;
103
- }
104
- for (let ii = 0; ii < aa.byteLength; ii++) {
105
- if (aa[ii] !== bb[ii]) {
106
- return false;
107
- }
108
- }
109
- return true;
110
- };
111
- var coerce = (o) => {
112
- if (o instanceof Uint8Array && o.constructor.name === "Uint8Array")
113
- return o;
114
- if (o instanceof ArrayBuffer)
115
- return new Uint8Array(o);
116
- if (ArrayBuffer.isView(o)) {
117
- return new Uint8Array(o.buffer, o.byteOffset, o.byteLength);
118
- }
119
- throw new Error("Unknown type, must be binary type");
120
- };
121
-
122
- // node_modules/multiformats/src/hashes/digest.js
123
- var create = (code, digest) => {
124
- const size = digest.byteLength;
125
- const sizeOffset = encodingLength(code);
126
- const digestOffset = sizeOffset + encodingLength(size);
127
- const bytes = new Uint8Array(digestOffset + size);
128
- encodeTo(code, bytes, 0);
129
- encodeTo(size, bytes, sizeOffset);
130
- bytes.set(digest, digestOffset);
131
- return new Digest(code, size, digest, bytes);
132
- };
133
- var decode3 = (multihash) => {
134
- const bytes = coerce(multihash);
135
- const [code, sizeOffset] = decode2(bytes);
136
- const [size, digestOffset] = decode2(bytes.subarray(sizeOffset));
137
- const digest = bytes.subarray(sizeOffset + digestOffset);
138
- if (digest.byteLength !== size) {
139
- throw new Error("Incorrect length");
140
- }
141
- return new Digest(code, size, digest, bytes);
142
- };
143
- var equals2 = (a, b) => {
144
- if (a === b) {
145
- return true;
146
- } else {
147
- const data = (
148
- /** @type {{code?:unknown, size?:unknown, bytes?:unknown}} */
149
- b
150
- );
151
- return a.code === data.code && a.size === data.size && data.bytes instanceof Uint8Array && equals(a.bytes, data.bytes);
152
- }
153
- };
154
- var Digest = class {
155
- /**
156
- * Creates a multihash digest.
157
- *
158
- * @param {Code} code
159
- * @param {Size} size
160
- * @param {Uint8Array} digest
161
- * @param {Uint8Array} bytes
162
- */
163
- constructor(code, size, digest, bytes) {
164
- this.code = code;
165
- this.size = size;
166
- this.digest = digest;
167
- this.bytes = bytes;
168
- }
169
- };
170
-
171
- // node_modules/multiformats/vendor/base-x.js
172
- function base(ALPHABET, name) {
173
- if (ALPHABET.length >= 255) {
174
- throw new TypeError("Alphabet too long");
175
- }
176
- var BASE_MAP = new Uint8Array(256);
177
- for (var j = 0; j < BASE_MAP.length; j++) {
178
- BASE_MAP[j] = 255;
179
- }
180
- for (var i = 0; i < ALPHABET.length; i++) {
181
- var x = ALPHABET.charAt(i);
182
- var xc = x.charCodeAt(0);
183
- if (BASE_MAP[xc] !== 255) {
184
- throw new TypeError(x + " is ambiguous");
185
- }
186
- BASE_MAP[xc] = i;
187
- }
188
- var BASE = ALPHABET.length;
189
- var LEADER = ALPHABET.charAt(0);
190
- var FACTOR = Math.log(BASE) / Math.log(256);
191
- var iFACTOR = Math.log(256) / Math.log(BASE);
192
- function encode3(source) {
193
- if (source instanceof Uint8Array)
194
- ;
195
- else if (ArrayBuffer.isView(source)) {
196
- source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);
197
- } else if (Array.isArray(source)) {
198
- source = Uint8Array.from(source);
199
- }
200
- if (!(source instanceof Uint8Array)) {
201
- throw new TypeError("Expected Uint8Array");
202
- }
203
- if (source.length === 0) {
204
- return "";
205
- }
206
- var zeroes = 0;
207
- var length2 = 0;
208
- var pbegin = 0;
209
- var pend = source.length;
210
- while (pbegin !== pend && source[pbegin] === 0) {
211
- pbegin++;
212
- zeroes++;
213
- }
214
- var size = (pend - pbegin) * iFACTOR + 1 >>> 0;
215
- var b58 = new Uint8Array(size);
216
- while (pbegin !== pend) {
217
- var carry = source[pbegin];
218
- var i2 = 0;
219
- for (var it1 = size - 1; (carry !== 0 || i2 < length2) && it1 !== -1; it1--, i2++) {
220
- carry += 256 * b58[it1] >>> 0;
221
- b58[it1] = carry % BASE >>> 0;
222
- carry = carry / BASE >>> 0;
223
- }
224
- if (carry !== 0) {
225
- throw new Error("Non-zero carry");
226
- }
227
- length2 = i2;
228
- pbegin++;
229
- }
230
- var it2 = size - length2;
231
- while (it2 !== size && b58[it2] === 0) {
232
- it2++;
233
- }
234
- var str = LEADER.repeat(zeroes);
235
- for (; it2 < size; ++it2) {
236
- str += ALPHABET.charAt(b58[it2]);
237
- }
238
- return str;
239
- }
240
- function decodeUnsafe(source) {
241
- if (typeof source !== "string") {
242
- throw new TypeError("Expected String");
243
- }
244
- if (source.length === 0) {
245
- return new Uint8Array();
246
- }
247
- var psz = 0;
248
- if (source[psz] === " ") {
249
- return;
250
- }
251
- var zeroes = 0;
252
- var length2 = 0;
253
- while (source[psz] === LEADER) {
254
- zeroes++;
255
- psz++;
256
- }
257
- var size = (source.length - psz) * FACTOR + 1 >>> 0;
258
- var b256 = new Uint8Array(size);
259
- while (source[psz]) {
260
- var carry = BASE_MAP[source.charCodeAt(psz)];
261
- if (carry === 255) {
262
- return;
263
- }
264
- var i2 = 0;
265
- for (var it3 = size - 1; (carry !== 0 || i2 < length2) && it3 !== -1; it3--, i2++) {
266
- carry += BASE * b256[it3] >>> 0;
267
- b256[it3] = carry % 256 >>> 0;
268
- carry = carry / 256 >>> 0;
269
- }
270
- if (carry !== 0) {
271
- throw new Error("Non-zero carry");
272
- }
273
- length2 = i2;
274
- psz++;
275
- }
276
- if (source[psz] === " ") {
277
- return;
278
- }
279
- var it4 = size - length2;
280
- while (it4 !== size && b256[it4] === 0) {
281
- it4++;
282
- }
283
- var vch = new Uint8Array(zeroes + (size - it4));
284
- var j2 = zeroes;
285
- while (it4 !== size) {
286
- vch[j2++] = b256[it4++];
287
- }
288
- return vch;
289
- }
290
- function decode5(string) {
291
- var buffer = decodeUnsafe(string);
292
- if (buffer) {
293
- return buffer;
294
- }
295
- throw new Error(`Non-${name} character`);
296
- }
297
- return {
298
- encode: encode3,
299
- decodeUnsafe,
300
- decode: decode5
301
- };
302
- }
303
- var src = base;
304
- var _brrp__multiformats_scope_baseX = src;
305
- var base_x_default = _brrp__multiformats_scope_baseX;
306
-
307
- // node_modules/multiformats/src/bases/base.js
308
- var Encoder = class {
309
- /**
310
- * @param {Base} name
311
- * @param {Prefix} prefix
312
- * @param {(bytes:Uint8Array) => string} baseEncode
313
- */
314
- constructor(name, prefix, baseEncode) {
315
- this.name = name;
316
- this.prefix = prefix;
317
- this.baseEncode = baseEncode;
318
- }
319
- /**
320
- * @param {Uint8Array} bytes
321
- * @returns {API.Multibase<Prefix>}
322
- */
323
- encode(bytes) {
324
- if (bytes instanceof Uint8Array) {
325
- return `${this.prefix}${this.baseEncode(bytes)}`;
326
- } else {
327
- throw Error("Unknown type, must be binary type");
328
- }
329
- }
330
- };
331
- var Decoder = class {
332
- /**
333
- * @param {Base} name
334
- * @param {Prefix} prefix
335
- * @param {(text:string) => Uint8Array} baseDecode
336
- */
337
- constructor(name, prefix, baseDecode) {
338
- this.name = name;
339
- this.prefix = prefix;
340
- if (prefix.codePointAt(0) === void 0) {
341
- throw new Error("Invalid prefix character");
342
- }
343
- this.prefixCodePoint = /** @type {number} */
344
- prefix.codePointAt(0);
345
- this.baseDecode = baseDecode;
346
- }
347
- /**
348
- * @param {string} text
349
- */
350
- decode(text) {
351
- if (typeof text === "string") {
352
- if (text.codePointAt(0) !== this.prefixCodePoint) {
353
- throw Error(`Unable to decode multibase string ${JSON.stringify(text)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);
354
- }
355
- return this.baseDecode(text.slice(this.prefix.length));
356
- } else {
357
- throw Error("Can only multibase decode strings");
358
- }
359
- }
360
- /**
361
- * @template {string} OtherPrefix
362
- * @param {API.UnibaseDecoder<OtherPrefix>|ComposedDecoder<OtherPrefix>} decoder
363
- * @returns {ComposedDecoder<Prefix|OtherPrefix>}
364
- */
365
- or(decoder) {
366
- return or(this, decoder);
367
- }
368
- };
369
- var ComposedDecoder = class {
370
- /**
371
- * @param {Decoders<Prefix>} decoders
372
- */
373
- constructor(decoders) {
374
- this.decoders = decoders;
375
- }
376
- /**
377
- * @template {string} OtherPrefix
378
- * @param {API.UnibaseDecoder<OtherPrefix>|ComposedDecoder<OtherPrefix>} decoder
379
- * @returns {ComposedDecoder<Prefix|OtherPrefix>}
380
- */
381
- or(decoder) {
382
- return or(this, decoder);
383
- }
384
- /**
385
- * @param {string} input
386
- * @returns {Uint8Array}
387
- */
388
- decode(input) {
389
- const prefix = (
390
- /** @type {Prefix} */
391
- input[0]
392
- );
393
- const decoder = this.decoders[prefix];
394
- if (decoder) {
395
- return decoder.decode(input);
396
- } else {
397
- throw RangeError(`Unable to decode multibase string ${JSON.stringify(input)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`);
398
- }
399
- }
400
- };
401
- var or = (left, right) => new ComposedDecoder(
402
- /** @type {Decoders<L|R>} */
403
- __spreadValues(__spreadValues({}, left.decoders || { [
404
- /** @type API.UnibaseDecoder<L> */
405
- left.prefix
406
- ]: left }), right.decoders || { [
407
- /** @type API.UnibaseDecoder<R> */
408
- right.prefix
409
- ]: right })
410
- );
411
- var Codec = class {
412
- /**
413
- * @param {Base} name
414
- * @param {Prefix} prefix
415
- * @param {(bytes:Uint8Array) => string} baseEncode
416
- * @param {(text:string) => Uint8Array} baseDecode
417
- */
418
- constructor(name, prefix, baseEncode, baseDecode) {
419
- this.name = name;
420
- this.prefix = prefix;
421
- this.baseEncode = baseEncode;
422
- this.baseDecode = baseDecode;
423
- this.encoder = new Encoder(name, prefix, baseEncode);
424
- this.decoder = new Decoder(name, prefix, baseDecode);
425
- }
426
- /**
427
- * @param {Uint8Array} input
428
- */
429
- encode(input) {
430
- return this.encoder.encode(input);
431
- }
432
- /**
433
- * @param {string} input
434
- */
435
- decode(input) {
436
- return this.decoder.decode(input);
437
- }
438
- };
439
- var from = ({ name, prefix, encode: encode3, decode: decode5 }) => new Codec(name, prefix, encode3, decode5);
440
- var baseX = ({ prefix, name, alphabet }) => {
441
- const { encode: encode3, decode: decode5 } = base_x_default(alphabet, name);
442
- return from({
443
- prefix,
444
- name,
445
- encode: encode3,
446
- /**
447
- * @param {string} text
448
- */
449
- decode: (text) => coerce(decode5(text))
450
- });
451
- };
452
- var decode4 = (string, alphabet, bitsPerChar, name) => {
453
- const codes = {};
454
- for (let i = 0; i < alphabet.length; ++i) {
455
- codes[alphabet[i]] = i;
456
- }
457
- let end = string.length;
458
- while (string[end - 1] === "=") {
459
- --end;
460
- }
461
- const out = new Uint8Array(end * bitsPerChar / 8 | 0);
462
- let bits = 0;
463
- let buffer = 0;
464
- let written = 0;
465
- for (let i = 0; i < end; ++i) {
466
- const value = codes[string[i]];
467
- if (value === void 0) {
468
- throw new SyntaxError(`Non-${name} character`);
469
- }
470
- buffer = buffer << bitsPerChar | value;
471
- bits += bitsPerChar;
472
- if (bits >= 8) {
473
- bits -= 8;
474
- out[written++] = 255 & buffer >> bits;
475
- }
476
- }
477
- if (bits >= bitsPerChar || 255 & buffer << 8 - bits) {
478
- throw new SyntaxError("Unexpected end of data");
479
- }
480
- return out;
481
- };
482
- var encode2 = (data, alphabet, bitsPerChar) => {
483
- const pad = alphabet[alphabet.length - 1] === "=";
484
- const mask = (1 << bitsPerChar) - 1;
485
- let out = "";
486
- let bits = 0;
487
- let buffer = 0;
488
- for (let i = 0; i < data.length; ++i) {
489
- buffer = buffer << 8 | data[i];
490
- bits += 8;
491
- while (bits > bitsPerChar) {
492
- bits -= bitsPerChar;
493
- out += alphabet[mask & buffer >> bits];
494
- }
495
- }
496
- if (bits) {
497
- out += alphabet[mask & buffer << bitsPerChar - bits];
498
- }
499
- if (pad) {
500
- while (out.length * bitsPerChar & 7) {
501
- out += "=";
502
- }
503
- }
504
- return out;
505
- };
506
- var rfc4648 = ({ name, prefix, bitsPerChar, alphabet }) => {
507
- return from({
508
- prefix,
509
- name,
510
- encode(input) {
511
- return encode2(input, alphabet, bitsPerChar);
512
- },
513
- decode(input) {
514
- return decode4(input, alphabet, bitsPerChar, name);
515
- }
516
- });
517
- };
518
-
519
- // node_modules/multiformats/src/bases/base58.js
520
- var base58btc = baseX({
521
- name: "base58btc",
522
- prefix: "z",
523
- alphabet: "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
524
- });
525
- var base58flickr = baseX({
526
- name: "base58flickr",
527
- prefix: "Z",
528
- alphabet: "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"
529
- });
530
-
531
- // node_modules/multiformats/src/bases/base32.js
532
- var base32 = rfc4648({
533
- prefix: "b",
534
- name: "base32",
535
- alphabet: "abcdefghijklmnopqrstuvwxyz234567",
536
- bitsPerChar: 5
537
- });
538
- var base32upper = rfc4648({
539
- prefix: "B",
540
- name: "base32upper",
541
- alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",
542
- bitsPerChar: 5
543
- });
544
- var base32pad = rfc4648({
545
- prefix: "c",
546
- name: "base32pad",
547
- alphabet: "abcdefghijklmnopqrstuvwxyz234567=",
548
- bitsPerChar: 5
549
- });
550
- var base32padupper = rfc4648({
551
- prefix: "C",
552
- name: "base32padupper",
553
- alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",
554
- bitsPerChar: 5
555
- });
556
- var base32hex = rfc4648({
557
- prefix: "v",
558
- name: "base32hex",
559
- alphabet: "0123456789abcdefghijklmnopqrstuv",
560
- bitsPerChar: 5
561
- });
562
- var base32hexupper = rfc4648({
563
- prefix: "V",
564
- name: "base32hexupper",
565
- alphabet: "0123456789ABCDEFGHIJKLMNOPQRSTUV",
566
- bitsPerChar: 5
567
- });
568
- var base32hexpad = rfc4648({
569
- prefix: "t",
570
- name: "base32hexpad",
571
- alphabet: "0123456789abcdefghijklmnopqrstuv=",
572
- bitsPerChar: 5
573
- });
574
- var base32hexpadupper = rfc4648({
575
- prefix: "T",
576
- name: "base32hexpadupper",
577
- alphabet: "0123456789ABCDEFGHIJKLMNOPQRSTUV=",
578
- bitsPerChar: 5
579
- });
580
- var base32z = rfc4648({
581
- prefix: "h",
582
- name: "base32z",
583
- alphabet: "ybndrfg8ejkmcpqxot1uwisza345h769",
584
- bitsPerChar: 5
585
- });
586
-
587
- // node_modules/multiformats/src/cid.js
588
- var format = (link, base2) => {
589
- const { bytes, version } = link;
590
- switch (version) {
591
- case 0:
592
- return toStringV0(
593
- bytes,
594
- baseCache(link),
595
- /** @type {API.MultibaseEncoder<"z">} */
596
- base2 || base58btc.encoder
597
- );
598
- default:
599
- return toStringV1(
600
- bytes,
601
- baseCache(link),
602
- /** @type {API.MultibaseEncoder<Prefix>} */
603
- base2 || base32.encoder
604
- );
605
- }
606
- };
607
- var cache = /* @__PURE__ */ new WeakMap();
608
- var baseCache = (cid) => {
609
- const baseCache2 = cache.get(cid);
610
- if (baseCache2 == null) {
611
- const baseCache3 = /* @__PURE__ */ new Map();
612
- cache.set(cid, baseCache3);
613
- return baseCache3;
614
- }
615
- return baseCache2;
616
- };
617
- var CID = class _CID {
618
- /**
619
- * @param {Version} version - Version of the CID
620
- * @param {Format} code - Code of the codec content is encoded in, see https://github.com/multiformats/multicodec/blob/master/table.csv
621
- * @param {API.MultihashDigest<Alg>} multihash - (Multi)hash of the of the content.
622
- * @param {Uint8Array} bytes
623
- *
624
- */
625
- constructor(version, code, multihash, bytes) {
626
- this.code = code;
627
- this.version = version;
628
- this.multihash = multihash;
629
- this.bytes = bytes;
630
- this["/"] = bytes;
631
- }
632
- /**
633
- * Signalling `cid.asCID === cid` has been replaced with `cid['/'] === cid.bytes`
634
- * please either use `CID.asCID(cid)` or switch to new signalling mechanism
635
- *
636
- * @deprecated
637
- */
638
- get asCID() {
639
- return this;
640
- }
641
- // ArrayBufferView
642
- get byteOffset() {
643
- return this.bytes.byteOffset;
644
- }
645
- // ArrayBufferView
646
- get byteLength() {
647
- return this.bytes.byteLength;
648
- }
649
- /**
650
- * @returns {CID<Data, API.DAG_PB, API.SHA_256, 0>}
651
- */
652
- toV0() {
653
- switch (this.version) {
654
- case 0: {
655
- return (
656
- /** @type {CID<Data, API.DAG_PB, API.SHA_256, 0>} */
657
- this
658
- );
659
- }
660
- case 1: {
661
- const { code, multihash } = this;
662
- if (code !== DAG_PB_CODE) {
663
- throw new Error("Cannot convert a non dag-pb CID to CIDv0");
664
- }
665
- if (multihash.code !== SHA_256_CODE) {
666
- throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");
667
- }
668
- return (
669
- /** @type {CID<Data, API.DAG_PB, API.SHA_256, 0>} */
670
- _CID.createV0(
671
- /** @type {API.MultihashDigest<API.SHA_256>} */
672
- multihash
673
- )
674
- );
675
- }
676
- default: {
677
- throw Error(
678
- `Can not convert CID version ${this.version} to version 0. This is a bug please report`
679
- );
680
- }
681
- }
682
- }
683
- /**
684
- * @returns {CID<Data, Format, Alg, 1>}
685
- */
686
- toV1() {
687
- switch (this.version) {
688
- case 0: {
689
- const { code, digest } = this.multihash;
690
- const multihash = create(code, digest);
691
- return (
692
- /** @type {CID<Data, Format, Alg, 1>} */
693
- _CID.createV1(this.code, multihash)
694
- );
695
- }
696
- case 1: {
697
- return (
698
- /** @type {CID<Data, Format, Alg, 1>} */
699
- this
700
- );
701
- }
702
- default: {
703
- throw Error(
704
- `Can not convert CID version ${this.version} to version 1. This is a bug please report`
705
- );
706
- }
707
- }
708
- }
709
- /**
710
- * @param {unknown} other
711
- * @returns {other is CID<Data, Format, Alg, Version>}
712
- */
713
- equals(other) {
714
- return _CID.equals(this, other);
715
- }
716
- /**
717
- * @template {unknown} Data
718
- * @template {number} Format
719
- * @template {number} Alg
720
- * @template {API.Version} Version
721
- * @param {API.Link<Data, Format, Alg, Version>} self
722
- * @param {unknown} other
723
- * @returns {other is CID}
724
- */
725
- static equals(self, other) {
726
- const unknown = (
727
- /** @type {{code?:unknown, version?:unknown, multihash?:unknown}} */
728
- other
729
- );
730
- return unknown && self.code === unknown.code && self.version === unknown.version && equals2(self.multihash, unknown.multihash);
731
- }
732
- /**
733
- * @param {API.MultibaseEncoder<string>} [base]
734
- * @returns {string}
735
- */
736
- toString(base2) {
737
- return format(this, base2);
738
- }
739
- toJSON() {
740
- return { "/": format(this) };
741
- }
742
- link() {
743
- return this;
744
- }
745
- get [Symbol.toStringTag]() {
746
- return "CID";
747
- }
748
- // Legacy
749
- [Symbol.for("nodejs.util.inspect.custom")]() {
750
- return `CID(${this.toString()})`;
751
- }
752
- /**
753
- * Takes any input `value` and returns a `CID` instance if it was
754
- * a `CID` otherwise returns `null`. If `value` is instanceof `CID`
755
- * it will return value back. If `value` is not instance of this CID
756
- * class, but is compatible CID it will return new instance of this
757
- * `CID` class. Otherwise returns null.
758
- *
759
- * This allows two different incompatible versions of CID library to
760
- * co-exist and interop as long as binary interface is compatible.
761
- *
762
- * @template {unknown} Data
763
- * @template {number} Format
764
- * @template {number} Alg
765
- * @template {API.Version} Version
766
- * @template {unknown} U
767
- * @param {API.Link<Data, Format, Alg, Version>|U} input
768
- * @returns {CID<Data, Format, Alg, Version>|null}
769
- */
770
- static asCID(input) {
771
- if (input == null) {
772
- return null;
773
- }
774
- const value = (
775
- /** @type {any} */
776
- input
777
- );
778
- if (value instanceof _CID) {
779
- return value;
780
- } else if (value["/"] != null && value["/"] === value.bytes || value.asCID === value) {
781
- const { version, code, multihash, bytes } = value;
782
- return new _CID(
783
- version,
784
- code,
785
- /** @type {API.MultihashDigest<Alg>} */
786
- multihash,
787
- bytes || encodeCID(version, code, multihash.bytes)
788
- );
789
- } else if (value[cidSymbol] === true) {
790
- const { version, multihash, code } = value;
791
- const digest = (
792
- /** @type {API.MultihashDigest<Alg>} */
793
- decode3(multihash)
794
- );
795
- return _CID.create(version, code, digest);
796
- } else {
797
- return null;
798
- }
799
- }
800
- /**
801
- *
802
- * @template {unknown} Data
803
- * @template {number} Format
804
- * @template {number} Alg
805
- * @template {API.Version} Version
806
- * @param {Version} version - Version of the CID
807
- * @param {Format} code - Code of the codec content is encoded in, see https://github.com/multiformats/multicodec/blob/master/table.csv
808
- * @param {API.MultihashDigest<Alg>} digest - (Multi)hash of the of the content.
809
- * @returns {CID<Data, Format, Alg, Version>}
810
- */
811
- static create(version, code, digest) {
812
- if (typeof code !== "number") {
813
- throw new Error("String codecs are no longer supported");
814
- }
815
- if (!(digest.bytes instanceof Uint8Array)) {
816
- throw new Error("Invalid digest");
817
- }
818
- switch (version) {
819
- case 0: {
820
- if (code !== DAG_PB_CODE) {
821
- throw new Error(
822
- `Version 0 CID must use dag-pb (code: ${DAG_PB_CODE}) block encoding`
823
- );
824
- } else {
825
- return new _CID(version, code, digest, digest.bytes);
826
- }
827
- }
828
- case 1: {
829
- const bytes = encodeCID(version, code, digest.bytes);
830
- return new _CID(version, code, digest, bytes);
831
- }
832
- default: {
833
- throw new Error("Invalid version");
834
- }
835
- }
836
- }
837
- /**
838
- * Simplified version of `create` for CIDv0.
839
- *
840
- * @template {unknown} [T=unknown]
841
- * @param {API.MultihashDigest<typeof SHA_256_CODE>} digest - Multihash.
842
- * @returns {CID<T, typeof DAG_PB_CODE, typeof SHA_256_CODE, 0>}
843
- */
844
- static createV0(digest) {
845
- return _CID.create(0, DAG_PB_CODE, digest);
846
- }
847
- /**
848
- * Simplified version of `create` for CIDv1.
849
- *
850
- * @template {unknown} Data
851
- * @template {number} Code
852
- * @template {number} Alg
853
- * @param {Code} code - Content encoding format code.
854
- * @param {API.MultihashDigest<Alg>} digest - Miltihash of the content.
855
- * @returns {CID<Data, Code, Alg, 1>}
856
- */
857
- static createV1(code, digest) {
858
- return _CID.create(1, code, digest);
859
- }
860
- /**
861
- * Decoded a CID from its binary representation. The byte array must contain
862
- * only the CID with no additional bytes.
863
- *
864
- * An error will be thrown if the bytes provided do not contain a valid
865
- * binary representation of a CID.
866
- *
867
- * @template {unknown} Data
868
- * @template {number} Code
869
- * @template {number} Alg
870
- * @template {API.Version} Ver
871
- * @param {API.ByteView<API.Link<Data, Code, Alg, Ver>>} bytes
872
- * @returns {CID<Data, Code, Alg, Ver>}
873
- */
874
- static decode(bytes) {
875
- const [cid, remainder] = _CID.decodeFirst(bytes);
876
- if (remainder.length) {
877
- throw new Error("Incorrect length");
878
- }
879
- return cid;
880
- }
881
- /**
882
- * Decoded a CID from its binary representation at the beginning of a byte
883
- * array.
884
- *
885
- * Returns an array with the first element containing the CID and the second
886
- * element containing the remainder of the original byte array. The remainder
887
- * will be a zero-length byte array if the provided bytes only contained a
888
- * binary CID representation.
889
- *
890
- * @template {unknown} T
891
- * @template {number} C
892
- * @template {number} A
893
- * @template {API.Version} V
894
- * @param {API.ByteView<API.Link<T, C, A, V>>} bytes
895
- * @returns {[CID<T, C, A, V>, Uint8Array]}
896
- */
897
- static decodeFirst(bytes) {
898
- const specs = _CID.inspectBytes(bytes);
899
- const prefixSize = specs.size - specs.multihashSize;
900
- const multihashBytes = coerce(
901
- bytes.subarray(prefixSize, prefixSize + specs.multihashSize)
902
- );
903
- if (multihashBytes.byteLength !== specs.multihashSize) {
904
- throw new Error("Incorrect length");
905
- }
906
- const digestBytes = multihashBytes.subarray(
907
- specs.multihashSize - specs.digestSize
908
- );
909
- const digest = new Digest(
910
- specs.multihashCode,
911
- specs.digestSize,
912
- digestBytes,
913
- multihashBytes
914
- );
915
- const cid = specs.version === 0 ? _CID.createV0(
916
- /** @type {API.MultihashDigest<API.SHA_256>} */
917
- digest
918
- ) : _CID.createV1(specs.codec, digest);
919
- return [
920
- /** @type {CID<T, C, A, V>} */
921
- cid,
922
- bytes.subarray(specs.size)
923
- ];
924
- }
925
- /**
926
- * Inspect the initial bytes of a CID to determine its properties.
927
- *
928
- * Involves decoding up to 4 varints. Typically this will require only 4 to 6
929
- * bytes but for larger multicodec code values and larger multihash digest
930
- * lengths these varints can be quite large. It is recommended that at least
931
- * 10 bytes be made available in the `initialBytes` argument for a complete
932
- * inspection.
933
- *
934
- * @template {unknown} T
935
- * @template {number} C
936
- * @template {number} A
937
- * @template {API.Version} V
938
- * @param {API.ByteView<API.Link<T, C, A, V>>} initialBytes
939
- * @returns {{ version:V, codec:C, multihashCode:A, digestSize:number, multihashSize:number, size:number }}
940
- */
941
- static inspectBytes(initialBytes) {
942
- let offset = 0;
943
- const next = () => {
944
- const [i, length2] = decode2(initialBytes.subarray(offset));
945
- offset += length2;
946
- return i;
947
- };
948
- let version = (
949
- /** @type {V} */
950
- next()
951
- );
952
- let codec = (
953
- /** @type {C} */
954
- DAG_PB_CODE
955
- );
956
- if (
957
- /** @type {number} */
958
- version === 18
959
- ) {
960
- version = /** @type {V} */
961
- 0;
962
- offset = 0;
963
- } else {
964
- codec = /** @type {C} */
965
- next();
966
- }
967
- if (version !== 0 && version !== 1) {
968
- throw new RangeError(`Invalid CID version ${version}`);
969
- }
970
- const prefixSize = offset;
971
- const multihashCode = (
972
- /** @type {A} */
973
- next()
974
- );
975
- const digestSize = next();
976
- const size = offset + digestSize;
977
- const multihashSize = size - prefixSize;
978
- return { version, codec, multihashCode, digestSize, multihashSize, size };
979
- }
980
- /**
981
- * Takes cid in a string representation and creates an instance. If `base`
982
- * decoder is not provided will use a default from the configuration. It will
983
- * throw an error if encoding of the CID is not compatible with supplied (or
984
- * a default decoder).
985
- *
986
- * @template {string} Prefix
987
- * @template {unknown} Data
988
- * @template {number} Code
989
- * @template {number} Alg
990
- * @template {API.Version} Ver
991
- * @param {API.ToString<API.Link<Data, Code, Alg, Ver>, Prefix>} source
992
- * @param {API.MultibaseDecoder<Prefix>} [base]
993
- * @returns {CID<Data, Code, Alg, Ver>}
994
- */
995
- static parse(source, base2) {
996
- const [prefix, bytes] = parseCIDtoBytes(source, base2);
997
- const cid = _CID.decode(bytes);
998
- if (cid.version === 0 && source[0] !== "Q") {
999
- throw Error("Version 0 CID string must not include multibase prefix");
1000
- }
1001
- baseCache(cid).set(prefix, source);
1002
- return cid;
1003
- }
1004
- };
1005
- var parseCIDtoBytes = (source, base2) => {
1006
- switch (source[0]) {
1007
- case "Q": {
1008
- const decoder = base2 || base58btc;
1009
- return [
1010
- /** @type {Prefix} */
1011
- base58btc.prefix,
1012
- decoder.decode(`${base58btc.prefix}${source}`)
1013
- ];
1014
- }
1015
- case base58btc.prefix: {
1016
- const decoder = base2 || base58btc;
1017
- return [
1018
- /** @type {Prefix} */
1019
- base58btc.prefix,
1020
- decoder.decode(source)
1021
- ];
1022
- }
1023
- case base32.prefix: {
1024
- const decoder = base2 || base32;
1025
- return [
1026
- /** @type {Prefix} */
1027
- base32.prefix,
1028
- decoder.decode(source)
1029
- ];
1030
- }
1031
- default: {
1032
- if (base2 == null) {
1033
- throw Error(
1034
- "To parse non base32 or base58btc encoded CID multibase decoder must be provided"
1035
- );
1036
- }
1037
- return [
1038
- /** @type {Prefix} */
1039
- source[0],
1040
- base2.decode(source)
1041
- ];
1042
- }
1043
- }
1044
- };
1045
- var toStringV0 = (bytes, cache2, base2) => {
1046
- const { prefix } = base2;
1047
- if (prefix !== base58btc.prefix) {
1048
- throw Error(`Cannot string encode V0 in ${base2.name} encoding`);
1049
- }
1050
- const cid = cache2.get(prefix);
1051
- if (cid == null) {
1052
- const cid2 = base2.encode(bytes).slice(1);
1053
- cache2.set(prefix, cid2);
1054
- return cid2;
1055
- } else {
1056
- return cid;
1057
- }
1058
- };
1059
- var toStringV1 = (bytes, cache2, base2) => {
1060
- const { prefix } = base2;
1061
- const cid = cache2.get(prefix);
1062
- if (cid == null) {
1063
- const cid2 = base2.encode(bytes);
1064
- cache2.set(prefix, cid2);
1065
- return cid2;
1066
- } else {
1067
- return cid;
1068
- }
1069
- };
1070
- var DAG_PB_CODE = 112;
1071
- var SHA_256_CODE = 18;
1072
- var encodeCID = (version, code, multihash) => {
1073
- const codeOffset = encodingLength(version);
1074
- const hashOffset = codeOffset + encodingLength(code);
1075
- const bytes = new Uint8Array(hashOffset + multihash.byteLength);
1076
- encodeTo(version, bytes, 0);
1077
- encodeTo(code, bytes, codeOffset);
1078
- bytes.set(multihash, hashOffset);
1079
- return bytes;
1080
- };
1081
- var cidSymbol = Symbol.for("@ipld/js-cid/CID");
1082
-
1083
- // node_modules/multiformats/src/link.js
1084
- var parse = (source, base2) => CID.parse(source, base2);
1085
-
1086
- // src/store.ts
1087
- var StoredHeader = class {
1088
- constructor(jsonHeader) {
1089
- __publicField(this, "car");
1090
- this.car = parse(jsonHeader.car);
1091
- }
1092
- };
1093
- var HeaderStore = class {
1094
- constructor(name) {
1095
- __publicField(this, "name");
1096
- this.name = name;
1097
- }
1098
- makeHeader(car) {
1099
- return JSON.stringify({ car: car.toString() });
1100
- }
1101
- parseHeader(headerData) {
1102
- const header = JSON.parse(headerData);
1103
- return new StoredHeader(header);
1104
- }
1105
- };
1106
- var CarStore = class {
1107
- constructor(name) {
1108
- __publicField(this, "name");
1109
- this.name = name;
1110
- }
1111
- };
1112
- })();
1113
- //# sourceMappingURL=store.browser.js.map