@fireproof/core 0.19.115 → 0.19.116-dev-vendor

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/{chunk-JO62JMEP.js → chunk-2D2X6HIB.js} +1 -1
  2. package/chunk-2D2X6HIB.js.map +1 -0
  3. package/{chunk-UUOLR3GZ.js → chunk-WVN66YAN.js} +2 -2
  4. package/deno.json +2 -7
  5. package/{gateway-UT5GFV5R.js → gateway-3WGEEKVQ.js} +3 -3
  6. package/index.cjs +38 -28
  7. package/index.cjs.map +1 -1
  8. package/index.d.cts +6 -6
  9. package/index.d.ts +6 -6
  10. package/index.js +38 -29
  11. package/index.js.map +1 -1
  12. package/{key-bag-file-GTGVZHHM.js → key-bag-file-CBCAWTVG.js} +3 -3
  13. package/{key-bag-indexdb-NZMTNJLK.js → key-bag-indexdb-RTSMSGM7.js} +3 -3
  14. package/metafile-cjs.json +1 -1
  15. package/metafile-esm.json +1 -1
  16. package/package.json +3 -8
  17. package/react/index.cjs.map +1 -1
  18. package/react/index.d.cts +2 -2
  19. package/react/index.d.ts +2 -2
  20. package/react/index.js.map +1 -1
  21. package/react/metafile-cjs.json +1 -1
  22. package/react/metafile-esm.json +1 -1
  23. package/tests/blockstore/fragment-gateway.test.ts +1 -1
  24. package/tests/blockstore/keyed-crypto.test.ts +2 -2
  25. package/tests/blockstore/loader.test.ts +3 -3
  26. package/tests/blockstore/store.test.ts +1 -1
  27. package/tests/blockstore/transaction.test.ts +1 -1
  28. package/tests/fireproof/config.test.ts +1 -1
  29. package/tests/fireproof/crdt.test.ts +1 -1
  30. package/tests/fireproof/indexer.test.ts +1 -1
  31. package/tests/fireproof/utils.test.ts +1 -1
  32. package/{utils-5UEZAKVP.js → utils-XESRUKDJ.js} +3 -3
  33. package/web/gateway-impl.cjs.map +1 -1
  34. package/web/gateway-impl.js.map +1 -1
  35. package/web/metafile-cjs.json +1 -1
  36. package/web/metafile-esm.json +1 -1
  37. package/chunk-JO62JMEP.js.map +0 -1
  38. package/index.global.js +0 -149
  39. package/index.global.js.map +0 -1
  40. package/metafile-iife.json +0 -1
  41. /package/{chunk-UUOLR3GZ.js.map → chunk-WVN66YAN.js.map} +0 -0
  42. /package/{gateway-UT5GFV5R.js.map → gateway-3WGEEKVQ.js.map} +0 -0
  43. /package/{key-bag-file-GTGVZHHM.js.map → key-bag-file-CBCAWTVG.js.map} +0 -0
  44. /package/{key-bag-indexdb-NZMTNJLK.js.map → key-bag-indexdb-RTSMSGM7.js.map} +0 -0
  45. /package/{utils-5UEZAKVP.js.map → utils-XESRUKDJ.js.map} +0 -0
@@ -287,4 +287,4 @@ export {
287
287
  dataDir,
288
288
  UInt8ArrayEqual
289
289
  };
290
- //# sourceMappingURL=chunk-JO62JMEP.js.map
290
+ //# sourceMappingURL=chunk-2D2X6HIB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import {\n Logger,\n LoggerImpl,\n IsLogger,\n Result,\n ResolveOnce,\n isURL,\n URI,\n CoerceURI,\n runtimeFn,\n envFactory,\n Env,\n toCryptoRuntime,\n CryptoRuntime,\n JSONFormatter,\n YAMLFormatter,\n} from \"@adviser/cement\";\nimport { PathOps, StoreType, SuperThis, SuperThisOpts, TextEndeCoder } from \"./types.js\";\nimport { base58btc } from \"multiformats/bases/base58\";\n\nexport type { Logger };\nexport { Result };\n\nconst _globalLogger = new ResolveOnce();\nfunction globalLogger(): Logger {\n return _globalLogger.once(() => new LoggerImpl());\n}\n\nconst registerFP_DEBUG = new ResolveOnce();\n\ninterface superThisOpts {\n readonly logger: Logger;\n readonly env: Env;\n readonly pathOps: PathOps;\n readonly crypto: CryptoRuntime;\n readonly ctx: Record<string, unknown>;\n readonly txt: TextEndeCoder;\n}\n\nclass SuperThisImpl implements SuperThis {\n readonly logger: Logger;\n readonly env: Env;\n readonly pathOps: PathOps;\n readonly ctx: Record<string, unknown>;\n readonly txt: TextEndeCoder;\n readonly crypto: CryptoRuntime;\n\n constructor(opts: superThisOpts) {\n this.logger = opts.logger;\n this.env = opts.env;\n this.crypto = opts.crypto;\n this.pathOps = opts.pathOps;\n this.txt = opts.txt;\n this.ctx = { ...opts.ctx };\n // console.log(\"superThis\", this);\n }\n\n nextId(bytes = 6): { str: string; bin: Uint8Array } {\n const bin = this.crypto.randomBytes(bytes);\n return {\n str: base58btc.encode(bin),\n bin,\n };\n }\n\n timeOrderedNextId(now?: number): { str: string } {\n now = typeof now === \"number\" ? now : new Date().getTime();\n // 49th bit\n const t = (0x1000000000000 + now).toString(16).replace(/^1/, \"\");\n const bin = this.crypto.randomBytes(10);\n bin[1] = (bin[1] & 0xf0) | (bin[1] | 0x08 && 0x0b);\n const hex = Array.from(bin)\n .map((i) => i.toString(16).padStart(2, \"0\"))\n .join(\"\");\n return {\n str: `${t.slice(0, 8)}-${t.slice(8)}-7${hex.slice(0, 3)}-${hex.slice(3, 7)}-${hex.slice(7, 19)}`,\n };\n }\n\n start(): Promise<void> {\n return Promise.resolve();\n }\n\n clone(override: Partial<SuperThisOpts>): SuperThis {\n return new SuperThisImpl({\n logger: override.logger || this.logger,\n env: envFactory(override.env) || this.env,\n crypto: override.crypto || this.crypto,\n pathOps: override.pathOps || this.pathOps,\n txt: override.txt || this.txt,\n ctx: { ...this.ctx, ...override.ctx },\n });\n }\n}\n\n// const pathOps =\nfunction presetEnv() {\n const penv = new Map([\n // [\"FP_DEBUG\", \"xxx\"],\n // [\"FP_ENV\", \"development\"],\n ...Array.from(\n Object.entries(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((globalThis as any)[Symbol.for(\"FP_PRESET_ENV\")] || {}) as Record<string, string>,\n ),\n ), // .map(([k, v]) => [k, v as string])\n ]);\n // console.log(\">>>>>>\", penv)\n return penv;\n}\n// const envImpl = envFactory({\n// symbol: \"FP_ENV\",\n// presetEnv: presetEnv(),\n// });\nclass pathOpsImpl implements PathOps {\n join(...paths: string[]): string {\n return paths.map((i) => i.replace(/\\/+$/, \"\")).join(\"/\");\n }\n dirname(path: string) {\n return path.split(\"/\").slice(0, -1).join(\"/\");\n }\n // homedir() {\n // throw new Error(\"SysContainer:homedir is not available in seeded state\");\n // }\n}\nconst pathOps = new pathOpsImpl();\nconst txtOps = {\n // eslint-disable-next-line no-restricted-globals\n encode: (input: string) => new TextEncoder().encode(input),\n // eslint-disable-next-line no-restricted-globals\n decode: (input: Uint8Array) => new TextDecoder().decode(input),\n};\n\nexport function ensureSuperThis(osthis?: Partial<SuperThisOpts>): SuperThis {\n const env = envFactory({\n symbol: osthis?.env?.symbol || \"FP_ENV\",\n presetEnv: osthis?.env?.presetEnv || presetEnv(),\n });\n return new SuperThisImpl({\n logger: osthis?.logger || globalLogger(),\n env,\n crypto: osthis?.crypto || toCryptoRuntime(),\n ctx: osthis?.ctx || {},\n pathOps,\n txt: osthis?.txt || txtOps,\n });\n}\n\n// // eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function ensureSuperLog(sthis: SuperThis, componentName: string, ctx?: Record<string, unknown>): SuperThis {\n return sthis.clone({\n logger: ensureLogger(sthis, componentName, ctx),\n });\n}\n\nexport function ensureLogger(\n sthis: SuperThis /* Partial<LoggerOpts> | Logger */,\n componentName: string,\n ctx?: Record<string, unknown>,\n): Logger {\n // if (!opts?.logger) {\n // throw new Error(\"logger is required\");\n // }\n let logger: Logger;\n if (IsLogger(sthis)) {\n logger = sthis;\n } else if (sthis && IsLogger(sthis.logger)) {\n logger = sthis.logger;\n } else {\n logger = globalLogger();\n }\n const cLogger = logger.With().Module(componentName); //.Str(\"this\", uuidv7());\n const debug: string[] = [];\n let exposeStack = false;\n if (ctx) {\n if (\"debug\" in ctx) {\n if (typeof ctx.debug === \"string\" && ctx.debug.length > 0) {\n debug.push(ctx.debug);\n } else {\n debug.push(componentName);\n }\n delete ctx.debug;\n }\n if (\"exposeStack\" in ctx) {\n exposeStack = true;\n delete ctx.exposeStack;\n }\n if (\"this\" in ctx) {\n cLogger.Str(\"this\", sthis.nextId(4).str);\n delete ctx.this;\n }\n for (const [key, value] of Object.entries(ctx)) {\n switch (typeof value) {\n case \"string\":\n cLogger.Str(key, value);\n break;\n case \"number\":\n cLogger.Uint64(key, value);\n break;\n default:\n if (value instanceof Date) {\n cLogger.Str(key, value.toISOString());\n } else if (isURL(value)) {\n cLogger.Str(key, value.toString());\n } else if (typeof value === \"function\") {\n cLogger.Ref(key, value);\n } else {\n cLogger.Any(key, value);\n }\n break;\n }\n }\n }\n registerFP_DEBUG\n .once(async () => {\n // console.log(\"registerFP_DEBUG\", SysContainer.env)\n sthis.env.onSet(\n (key, value) => {\n // console.log(\"FP_DEBUG\", key, value, debug)\n switch (key) {\n case \"FP_FORMAT\": {\n switch (value) {\n case \"jsonice\":\n logger.SetFormatter(new JSONFormatter(logger.TxtEnDe(), 2));\n break;\n case \"yaml\":\n logger.SetFormatter(new YAMLFormatter(logger.TxtEnDe(), 2));\n break;\n case \"json\":\n default:\n logger.SetFormatter(new JSONFormatter(logger.TxtEnDe()));\n break;\n }\n break;\n }\n case \"FP_DEBUG\":\n logger.SetDebug(value || []);\n break;\n case \"FP_STACK\":\n logger.SetExposeStack(!!value);\n break;\n }\n },\n \"FP_FORMAT\",\n \"FP_DEBUG\",\n \"FP_STACK\",\n );\n })\n .finally(() => {\n /* do nothing */\n });\n\n if (debug.length > 0) {\n logger.SetDebug(debug);\n }\n if (exposeStack) {\n logger.SetExposeStack(true);\n }\n const out = cLogger.Logger();\n // out.Debug().Msg(\"logger ready\");\n return out;\n}\n\nexport type Joiner = (...toJoin: string[]) => string;\n\nexport interface Store {\n readonly store: StoreType;\n readonly name: string;\n}\n\nexport function getStore(url: URI, sthis: SuperThis, joiner: Joiner): Store {\n const store = url.getParam(\"store\");\n switch (store) {\n case \"data\":\n case \"wal\":\n case \"meta\":\n break;\n default:\n throw sthis.logger.Error().Url(url).Msg(`store not found`).AsError();\n }\n let name: string = store;\n if (url.hasParam(\"index\")) {\n name = joiner(url.getParam(\"index\") || \"idx\", name);\n }\n return { store, name };\n}\n\nexport function getKey(url: URI, logger: Logger): string {\n const result = url.getParam(\"key\");\n if (!result) throw logger.Error().Str(\"url\", url.toString()).Msg(`key not found`).AsError();\n return result;\n}\n\nexport function getName(sthis: SuperThis, url: URI): string {\n let result = url.getParam(\"name\");\n if (!result) {\n result = sthis.pathOps.dirname(url.pathname);\n if (result.length === 0) {\n throw sthis.logger.Error().Str(\"url\", url.toString()).Msg(`name not found`).AsError();\n }\n }\n return result;\n}\n\n// export function exception2Result<T = void>(fn: () => Promise<T>): Promise<Result<T>> {\n// return fn()\n// .then((value) => Result.Ok(value))\n// .catch((e) => Result.Err(e));\n// }\n\nexport async function exceptionWrapper<T, E extends Error>(fn: () => Promise<Result<T, E>>): Promise<Result<T, E>> {\n return fn().catch((e) => Result.Err(e));\n}\n\n// // the big side effect party --- hate it\n// export function sanitizeURL(url: URL) {\n// url.searchParams.sort();\n// // const searchParams = Object.entries(url.searchParams).sort(([a], [b]) => a.localeCompare(b));\n// // console.log(\"searchParams\", searchParams);\n// // for (const [key] of searchParams) {\n// // url.searchParams.delete(key);\n// // }\n// // for (const [key, value] of searchParams) {\n// // url.searchParams.set(key, value);\n// // }\n// }\n\nexport class NotFoundError extends Error {\n readonly code = \"ENOENT\";\n}\n\nexport function isNotFoundError(e: Error | Result<unknown> | unknown): e is NotFoundError {\n if (Result.Is(e)) {\n if (e.isOk()) return false;\n e = e.Err();\n }\n if ((e as NotFoundError).code === \"ENOENT\") return true;\n return false;\n}\n\nexport function dataDir(sthis: SuperThis, name?: string, base?: CoerceURI): URI {\n if (!base) {\n if (!runtimeFn().isBrowser) {\n const home = sthis.env.get(\"HOME\") || \"./\";\n base = sthis.env.get(\"FP_STORAGE_URL\") || `file://${sthis.pathOps.join(home, \".fireproof\")}`;\n } else {\n base = sthis.env.get(\"FP_STORAGE_URL\") || `indexdb://fp`;\n }\n }\n return URI.from(base.toString())\n .build()\n .setParam(\"name\", name || \"\")\n .URI();\n}\n\nexport function UInt8ArrayEqual(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getStore
3
- } from "./chunk-JO62JMEP.js";
3
+ } from "./chunk-2D2X6HIB.js";
4
4
 
5
5
  // src/runtime/gateways/file/get-file-system-dynamic.ts
6
6
  import { KeyedResolvOnce } from "@adviser/cement";
@@ -68,4 +68,4 @@ export {
68
68
  getPath,
69
69
  getFileName
70
70
  };
71
- //# sourceMappingURL=chunk-UUOLR3GZ.js.map
71
+ //# sourceMappingURL=chunk-WVN66YAN.js.map
package/deno.json CHANGED
@@ -2,17 +2,12 @@
2
2
  "imports": {
3
3
  "@fireproof/core": "./index.js",
4
4
  "@adviser/cement": "npm:@adviser/cement@^0.2.40",
5
- "multiformats": "npm:multiformats@^13.3.1",
5
+ "@fireproof/vendor": "npm:@fireproof/vendor@^1.0.0",
6
6
  "@ipld/unixfs": "npm:@ipld/unixfs@^3.0.0",
7
- "@ipld/car": "npm:@ipld/car@^5.3.3",
8
- "@ipld/dag-json": "npm:@ipld/dag-json@^10.2.3",
9
- "@ipld/dag-cbor": "npm:@ipld/dag-cbor@^9.2.2",
10
- "@web3-storage/pail": "npm:@web3-storage/pail@^0.6.0",
11
- "cborg": "npm:cborg@^4.2.6",
7
+ "multiformats": "npm:multiformats@^13.3.1",
12
8
  "charwise": "npm:charwise@^3.0.1",
13
9
  "prolly-trees": "npm:prolly-trees@^1.0.4",
14
10
  "idb": "npm:idb@^8.0.0",
15
- "ipfs-unixfs-exporter": "npm:ipfs-unixfs-exporter@^13.6.1",
16
11
  "memfs": "npm:memfs@^4.14.1",
17
12
  "p-limit": "npm:p-limit@^6.1.0",
18
13
  "p-map": "npm:p-map@^7.0.2",
@@ -5,13 +5,13 @@ import {
5
5
  getFileName,
6
6
  getFileSystem,
7
7
  getPath
8
- } from "./chunk-UUOLR3GZ.js";
8
+ } from "./chunk-WVN66YAN.js";
9
9
  import {
10
10
  NotFoundError,
11
11
  ensureLogger,
12
12
  exceptionWrapper,
13
13
  isNotFoundError
14
- } from "./chunk-JO62JMEP.js";
14
+ } from "./chunk-2D2X6HIB.js";
15
15
  import "./chunk-PZ5AY32C.js";
16
16
 
17
17
  // src/runtime/gateways/file/gateway.ts
@@ -142,4 +142,4 @@ export {
142
142
  FileGateway,
143
143
  FileTestStore
144
144
  };
145
- //# sourceMappingURL=gateway-UT5GFV5R.js.map
145
+ //# sourceMappingURL=gateway-3WGEEKVQ.js.map
package/index.cjs CHANGED
@@ -864,10 +864,10 @@ async function createUnsafe({
864
864
  // src/crdt-helpers.ts
865
865
  var import_link = require("multiformats/link");
866
866
  var import_sha25 = require("multiformats/hashes/sha2");
867
- var codec = __toESM(require("@ipld/dag-cbor"), 1);
868
- var import_crdt = require("@web3-storage/pail/crdt");
869
- var import_clock2 = require("@web3-storage/pail/clock");
870
- var Batch = __toESM(require("@web3-storage/pail/crdt/batch"), 1);
867
+ var codec = __toESM(require("@fireproof/vendor/@ipld/dag-cbor"), 1);
868
+ var import_crdt = require("@fireproof/vendor/@web3-storage/pail/crdt");
869
+ var import_clock2 = require("@fireproof/vendor/@web3-storage/pail/clock");
870
+ var Batch = __toESM(require("@fireproof/vendor/@web3-storage/pail/crdt/batch"), 1);
871
871
 
872
872
  // src/blockstore/index.ts
873
873
  var blockstore_exports = {};
@@ -908,7 +908,7 @@ var UnixFS = __toESM(require("@ipld/unixfs"), 1);
908
908
  var raw = __toESM(require("multiformats/codecs/raw"), 1);
909
909
  var import_fixed = require("@ipld/unixfs/file/chunker/fixed");
910
910
  var import_balanced = require("@ipld/unixfs/file/layout/balanced");
911
- var import_ipfs_unixfs_exporter = require("ipfs-unixfs-exporter");
911
+ var import_ipfs_unixfs_exporter = require("@fireproof/vendor/ipfs-unixfs-exporter");
912
912
  var queuingStrategy = UnixFS.withCapacity();
913
913
  var settings = UnixFS.configure({
914
914
  fileChunkEncoder: raw,
@@ -970,7 +970,7 @@ var UnixFSFileBuilder = class {
970
970
  };
971
971
 
972
972
  // src/blockstore/store.ts
973
- var import_dag_json2 = require("@ipld/dag-json");
973
+ var import_dag_json2 = require("@fireproof/vendor/@ipld/dag-json");
974
974
  var import_cement10 = require("@adviser/cement");
975
975
 
976
976
  // src/types.ts
@@ -995,12 +995,12 @@ init_utils();
995
995
 
996
996
  // src/blockstore/loader.ts
997
997
  var import_p_limit = __toESM(require("p-limit"), 1);
998
- var import_reader = require("@ipld/car/reader");
998
+ var import_reader = require("@fireproof/vendor/@ipld/car/reader");
999
999
  var import_cement7 = require("@adviser/cement");
1000
1000
 
1001
1001
  // src/blockstore/loader-helpers.ts
1002
1002
  var import_sha2 = require("multiformats/hashes/sha2");
1003
- var dagCodec = __toESM(require("@ipld/dag-cbor"), 1);
1003
+ var dagCodec = __toESM(require("@fireproof/vendor/@ipld/dag-cbor"), 1);
1004
1004
  async function parseCarFile(reader, logger) {
1005
1005
  const roots = await reader.getRoots();
1006
1006
  const header = await reader.get(roots[0]);
@@ -1014,7 +1014,7 @@ async function parseCarFile(reader, logger) {
1014
1014
  }
1015
1015
 
1016
1016
  // src/blockstore/transaction.ts
1017
- var import_block3 = require("@web3-storage/pail/block");
1017
+ var import_block3 = require("@fireproof/vendor/@web3-storage/pail/block");
1018
1018
  var import_cement2 = require("@adviser/cement");
1019
1019
  init_utils();
1020
1020
  var CarTransaction = class extends import_block3.MemoryBlockstore {
@@ -1478,9 +1478,9 @@ async function getKeyBag(sthis, kbo = {}) {
1478
1478
  }
1479
1479
 
1480
1480
  // src/blockstore/commitor.ts
1481
- var CBW = __toESM(require("@ipld/car/buffer-writer"), 1);
1481
+ var CBW = __toESM(require("@fireproof/vendor/@ipld/car/buffer-writer"), 1);
1482
1482
  var import_sha22 = require("multiformats/hashes/sha2");
1483
- var dagCodec2 = __toESM(require("@ipld/dag-cbor"), 1);
1483
+ var dagCodec2 = __toESM(require("@fireproof/vendor/@ipld/dag-cbor"), 1);
1484
1484
  async function encodeCarFile(roots, t, codec3) {
1485
1485
  let size = 0;
1486
1486
  const headerSize = CBW.headerLength({ roots });
@@ -1586,6 +1586,7 @@ var import_sha23 = require("multiformats/hashes/sha2");
1586
1586
  init_utils();
1587
1587
  var TaskManager = class {
1588
1588
  constructor(sthis, callback) {
1589
+ // we need to remove the events after some time
1589
1590
  this.eventsWeHandled = /* @__PURE__ */ new Set();
1590
1591
  this.queue = [];
1591
1592
  this.isProcessing = false;
@@ -1606,6 +1607,7 @@ var TaskManager = class {
1606
1607
  const filteredQueue = this.queue.filter(({ cid }) => !this.eventsWeHandled.has(cid));
1607
1608
  const first = filteredQueue[0];
1608
1609
  if (!first) {
1610
+ this.isProcessing = false;
1609
1611
  return;
1610
1612
  }
1611
1613
  try {
@@ -1981,7 +1983,7 @@ __export(keyed_crypto_exports, {
1981
1983
  init_utils();
1982
1984
  var import_base583 = require("multiformats/bases/base58");
1983
1985
  var import_sha24 = require("multiformats/hashes/sha2");
1984
- var CBOR = __toESM(require("cborg"), 1);
1986
+ var CBOR = __toESM(require("@fireproof/vendor/cborg"), 1);
1985
1987
  var generateIV = {
1986
1988
  random: {
1987
1989
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -2148,7 +2150,7 @@ async function keyedCryptoFactory(url, kb, sthis) {
2148
2150
  // src/blockstore/fragment-gateway.ts
2149
2151
  var import_cement8 = require("@adviser/cement");
2150
2152
  var import_base584 = require("multiformats/bases/base58");
2151
- var import_cborg = require("cborg");
2153
+ var import_cborg = require("@fireproof/vendor/cborg");
2152
2154
  init_utils();
2153
2155
  function getFragSize(url) {
2154
2156
  const fragSize = url.getParam("fragSize");
@@ -2301,25 +2303,33 @@ var FragmentGateway = class {
2301
2303
  };
2302
2304
 
2303
2305
  // src/blockstore/meta-key-helper.ts
2304
- var import_dag_json = require("@ipld/dag-json");
2305
- var import_clock = require("@web3-storage/pail/clock");
2306
+ var import_dag_json = require("@fireproof/vendor/@ipld/dag-json");
2307
+ var import_clock = require("@fireproof/vendor/@web3-storage/pail/clock");
2306
2308
  var import_multiformats2 = require("multiformats");
2307
2309
  var import_base64 = require("multiformats/bases/base64");
2308
2310
  var import_cement9 = require("@adviser/cement");
2311
+ init_utils();
2309
2312
  async function decodeGatewayMetaBytesToDbMeta(sthis, byteHeads) {
2310
2313
  const crdtEntries = JSON.parse(sthis.txt.decode(byteHeads));
2311
- if (!crdtEntries.length) {
2312
- sthis.logger.Debug().Any("byteHeads", byteHeads).Msg("No CRDT entries found");
2314
+ if (!Array.isArray(crdtEntries)) {
2315
+ sthis.logger.Debug().Str("crdtEntries", JSON.stringify(crdtEntries)).Msg("No data in CRDT entries");
2313
2316
  return [];
2314
2317
  }
2315
- if (!crdtEntries.map) {
2316
- sthis.logger.Debug().Str("crdtEntries", JSON.stringify(crdtEntries)).Msg("No data in CRDT entries");
2318
+ if (!crdtEntries.length) {
2319
+ sthis.logger.Debug().Any("byteHeads", byteHeads).Msg("No CRDT entries found");
2317
2320
  return [];
2318
2321
  }
2322
+ const logger = ensureLogger(sthis, "decodeGatewayMetaBytesToDbMeta");
2319
2323
  return Promise.all(
2320
2324
  crdtEntries.map(async (crdtEntry) => {
2321
2325
  const eventBlock = await (0, import_clock.decodeEventBlock)(import_base64.base64pad.decode(crdtEntry.data));
2322
2326
  const dbMeta = (0, import_dag_json.parse)(sthis.txt.decode(eventBlock.value.data.dbMeta));
2327
+ logger.Debug().Any("crdtEntry", {
2328
+ crdtEntry,
2329
+ eventBlock,
2330
+ dbMeta,
2331
+ dbMetaStrings: dbMeta.cars.map((car) => car.toString())
2332
+ }).Msg("CRDT entry");
2323
2333
  return {
2324
2334
  eventCid: eventBlock.cid,
2325
2335
  parents: crdtEntry.parents,
@@ -3345,10 +3355,10 @@ async function getBlock(blocks, cidString) {
3345
3355
 
3346
3356
  // src/indexer-helpers.ts
3347
3357
  var import_sha26 = require("multiformats/hashes/sha2");
3348
- var codec2 = __toESM(require("@ipld/dag-cbor"), 1);
3358
+ var codec2 = __toESM(require("@fireproof/vendor/@ipld/dag-cbor"), 1);
3349
3359
  var import_charwise = __toESM(require("charwise"), 1);
3350
3360
  var DbIndex = __toESM(require("prolly-trees/db-index"), 1);
3351
- var import_utils13 = require("prolly-trees/utils");
3361
+ var import_utils14 = require("prolly-trees/utils");
3352
3362
  var import_cache = require("prolly-trees/cache");
3353
3363
  var IndexTree = class {
3354
3364
  };
@@ -3356,17 +3366,17 @@ function refCompare(aRef, bRef) {
3356
3366
  if (Number.isNaN(aRef)) return -1;
3357
3367
  if (Number.isNaN(bRef)) throw new Error("ref may not be Infinity or NaN");
3358
3368
  if (aRef === Infinity) return 1;
3359
- return (0, import_utils13.simpleCompare)(aRef, bRef);
3369
+ return (0, import_utils14.simpleCompare)(aRef, bRef);
3360
3370
  }
3361
3371
  function compare(a, b) {
3362
3372
  const [aKey, aRef] = a;
3363
3373
  const [bKey, bRef] = b;
3364
- const comp = (0, import_utils13.simpleCompare)(aKey, bKey);
3374
+ const comp = (0, import_utils14.simpleCompare)(aKey, bKey);
3365
3375
  if (comp !== 0) return comp;
3366
3376
  return refCompare(aRef, bRef);
3367
3377
  }
3368
- var byKeyOpts = { cache: import_cache.nocache, chunker: (0, import_utils13.bf)(30), codec: codec2, hasher: import_sha26.sha256, compare };
3369
- var byIdOpts = { cache: import_cache.nocache, chunker: (0, import_utils13.bf)(30), codec: codec2, hasher: import_sha26.sha256, compare: import_utils13.simpleCompare };
3378
+ var byKeyOpts = { cache: import_cache.nocache, chunker: (0, import_utils14.bf)(30), codec: codec2, hasher: import_sha26.sha256, compare };
3379
+ var byIdOpts = { cache: import_cache.nocache, chunker: (0, import_utils14.bf)(30), codec: codec2, hasher: import_sha26.sha256, compare: import_utils14.simpleCompare };
3370
3380
  function indexEntriesForChanges(changes, mapFn) {
3371
3381
  const indexEntries = [];
3372
3382
  changes.forEach(({ id: key, value, del }) => {
@@ -3672,8 +3682,8 @@ var Index = class {
3672
3682
  };
3673
3683
 
3674
3684
  // src/crdt-clock.ts
3675
- var import_clock3 = require("@web3-storage/pail/clock");
3676
- var import_crdt2 = require("@web3-storage/pail/crdt");
3685
+ var import_clock3 = require("@fireproof/vendor/@web3-storage/pail/clock");
3686
+ var import_crdt2 = require("@fireproof/vendor/@web3-storage/pail/crdt");
3677
3687
  var import_cement14 = require("@adviser/cement");
3678
3688
 
3679
3689
  // src/apply-head-queue.ts
@@ -4183,6 +4193,6 @@ init_utils();
4183
4193
 
4184
4194
  // src/version.ts
4185
4195
  var PACKAGE_VERSION = Object.keys({
4186
- "0.19.115": "xxxx"
4196
+ "0.19.116-dev-vendor": "xxxx"
4187
4197
  })[0];
4188
4198
  //# sourceMappingURL=index.cjs.map