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