@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.
- package/{chunk-JO62JMEP.js → chunk-2D2X6HIB.js} +1 -1
- package/chunk-2D2X6HIB.js.map +1 -0
- package/{chunk-UUOLR3GZ.js → chunk-WVN66YAN.js} +2 -2
- package/deno.json +2 -7
- package/{gateway-UT5GFV5R.js → gateway-3WGEEKVQ.js} +3 -3
- package/index.cjs +38 -28
- package/index.cjs.map +1 -1
- package/index.d.cts +6 -6
- package/index.d.ts +6 -6
- package/index.js +38 -29
- package/index.js.map +1 -1
- package/{key-bag-file-GTGVZHHM.js → key-bag-file-CBCAWTVG.js} +3 -3
- package/{key-bag-indexdb-NZMTNJLK.js → key-bag-indexdb-RTSMSGM7.js} +3 -3
- package/metafile-cjs.json +1 -1
- package/metafile-esm.json +1 -1
- package/package.json +3 -8
- package/react/index.cjs.map +1 -1
- package/react/index.d.cts +2 -2
- package/react/index.d.ts +2 -2
- package/react/index.js.map +1 -1
- package/react/metafile-cjs.json +1 -1
- package/react/metafile-esm.json +1 -1
- package/tests/blockstore/fragment-gateway.test.ts +1 -1
- package/tests/blockstore/keyed-crypto.test.ts +2 -2
- package/tests/blockstore/loader.test.ts +3 -3
- package/tests/blockstore/store.test.ts +1 -1
- package/tests/blockstore/transaction.test.ts +1 -1
- package/tests/fireproof/config.test.ts +1 -1
- package/tests/fireproof/crdt.test.ts +1 -1
- package/tests/fireproof/indexer.test.ts +1 -1
- package/tests/fireproof/utils.test.ts +1 -1
- package/{utils-5UEZAKVP.js → utils-XESRUKDJ.js} +3 -3
- package/web/gateway-impl.cjs.map +1 -1
- package/web/gateway-impl.js.map +1 -1
- package/web/metafile-cjs.json +1 -1
- package/web/metafile-esm.json +1 -1
- package/chunk-JO62JMEP.js.map +0 -1
- package/index.global.js +0 -149
- package/index.global.js.map +0 -1
- package/metafile-iife.json +0 -1
- /package/{chunk-UUOLR3GZ.js.map → chunk-WVN66YAN.js.map} +0 -0
- /package/{gateway-UT5GFV5R.js.map → gateway-3WGEEKVQ.js.map} +0 -0
- /package/{key-bag-file-GTGVZHHM.js.map → key-bag-file-CBCAWTVG.js.map} +0 -0
- /package/{key-bag-indexdb-NZMTNJLK.js.map → key-bag-indexdb-RTSMSGM7.js.map} +0 -0
- /package/{utils-5UEZAKVP.js.map → utils-XESRUKDJ.js.map} +0 -0
@@ -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-
|
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-
|
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
|
-
"
|
5
|
+
"@fireproof/vendor": "npm:@fireproof/vendor@^1.0.0",
|
6
6
|
"@ipld/unixfs": "npm:@ipld/unixfs@^3.0.0",
|
7
|
-
"
|
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-
|
8
|
+
} from "./chunk-WVN66YAN.js";
|
9
9
|
import {
|
10
10
|
NotFoundError,
|
11
11
|
ensureLogger,
|
12
12
|
exceptionWrapper,
|
13
13
|
isNotFoundError
|
14
|
-
} from "./chunk-
|
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-
|
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
|
2312
|
-
sthis.logger.Debug().
|
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.
|
2316
|
-
sthis.logger.Debug().
|
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
|
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,
|
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,
|
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,
|
3369
|
-
var byIdOpts = { cache: import_cache.nocache, chunker: (0,
|
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.
|
4196
|
+
"0.19.116-dev-vendor": "xxxx"
|
4187
4197
|
})[0];
|
4188
4198
|
//# sourceMappingURL=index.cjs.map
|