@fireproof/core 0.19.119-dev-log → 0.19.120

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 (51) hide show
  1. package/README.md +8 -0
  2. package/{chunk-WVN66YAN.js → chunk-F4FC6B2T.js} +5 -13
  3. package/chunk-F4FC6B2T.js.map +1 -0
  4. package/{chunk-2D2X6HIB.js → chunk-RXC4JGJT.js} +13 -2
  5. package/chunk-RXC4JGJT.js.map +1 -0
  6. package/deno.json +5 -5
  7. package/{gateway-G4CPXEQF.js → gateway-C62S56GY.js} +2 -2
  8. package/{gateway-G4CPXEQF.js.map → gateway-C62S56GY.js.map} +1 -1
  9. package/{gateway-2O7QPHGW.js → gateway-VVS4QWDA.js} +3 -3
  10. package/gateway-VVS4QWDA.js.map +1 -0
  11. package/index.cjs +47 -21
  12. package/index.cjs.map +1 -1
  13. package/index.d.cts +2 -1
  14. package/index.d.ts +2 -1
  15. package/index.js +34 -10
  16. package/index.js.map +1 -1
  17. package/{key-bag-file-CBCAWTVG.js → key-bag-file-PWZ3QE7B.js} +3 -3
  18. package/{key-bag-indexdb-RTSMSGM7.js → key-bag-indexdb-SYG3YD4D.js} +3 -3
  19. package/metafile-cjs.json +1 -1
  20. package/metafile-esm.json +1 -1
  21. package/node/mem-filesystem.cjs.map +1 -1
  22. package/node/mem-filesystem.d.cts +1 -1
  23. package/node/mem-filesystem.d.ts +1 -1
  24. package/node/mem-filesystem.js.map +1 -1
  25. package/node/metafile-cjs.json +1 -1
  26. package/node/metafile-esm.json +1 -1
  27. package/node/node-filesystem.cjs.map +1 -1
  28. package/node/node-filesystem.d.cts +1 -2
  29. package/node/node-filesystem.d.ts +1 -2
  30. package/node/node-filesystem.js.map +1 -1
  31. package/package.json +17 -17
  32. package/react/index.cjs +3 -3
  33. package/tests/fireproof/config.test.ts +1 -0
  34. package/tests/fireproof/multiple-ledger.test.ts +1 -1
  35. package/{utils-XESRUKDJ.js → utils-ZVVGAXFE.js} +3 -3
  36. package/web/gateway-impl.cjs +24 -167
  37. package/web/gateway-impl.cjs.map +1 -1
  38. package/web/gateway-impl.d.cts +5 -59
  39. package/web/gateway-impl.d.ts +5 -59
  40. package/web/gateway-impl.js +7 -162
  41. package/web/gateway-impl.js.map +1 -1
  42. package/web/metafile-cjs.json +1 -1
  43. package/web/metafile-esm.json +1 -1
  44. package/chunk-2D2X6HIB.js.map +0 -1
  45. package/chunk-WVN66YAN.js.map +0 -1
  46. package/gateway-2O7QPHGW.js.map +0 -1
  47. package/node/types-DARSfXlb.d.cts +0 -23
  48. package/node/types-DARSfXlb.d.ts +0 -23
  49. /package/{key-bag-file-CBCAWTVG.js.map → key-bag-file-PWZ3QE7B.js.map} +0 -0
  50. /package/{key-bag-indexdb-RTSMSGM7.js.map → key-bag-indexdb-SYG3YD4D.js.map} +0 -0
  51. /package/{utils-XESRUKDJ.js.map → utils-ZVVGAXFE.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { PathLike, MakeDirectoryOptions, Stats } from 'fs';
2
2
  import { IReaddirOptions } from 'memfs/lib/node/types/options.js';
3
- import { S as SysFileSystem } from './types-DARSfXlb.js';
3
+ import { SysFileSystem } from '@fireproof/core';
4
4
 
5
5
  declare class MemFileSystem implements SysFileSystem {
6
6
  start(): Promise<SysFileSystem>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtime/gateways/file/node/mem-filesystem.ts"],"sourcesContent":["import type { PathLike, MakeDirectoryOptions, Stats } from \"fs\";\nimport { fs } from \"memfs\";\nimport { IReaddirOptions } from \"memfs/lib/node/types/options.js\";\nimport { toArrayBuffer } from \"./to-array-buffer.js\";\nimport type { SysFileSystem } from \"../../../../types.js\";\n\nexport class MemFileSystem implements SysFileSystem {\n async start(): Promise<SysFileSystem> {\n return this;\n }\n mkdir(path: PathLike, options?: { recursive: boolean }): Promise<string | undefined> {\n return fs.promises.mkdir(path, options);\n }\n readdir(path: PathLike, options?: IReaddirOptions): Promise<string[]> {\n return fs.promises.readdir(path, options) as Promise<string[]>;\n }\n rm(path: PathLike, options?: MakeDirectoryOptions & { recursive: boolean }): Promise<void> {\n return fs.promises.rm(path, options);\n }\n copyFile(source: PathLike, destination: PathLike): Promise<void> {\n return fs.promises.copyFile(source, destination);\n }\n async readfile(path: PathLike, options?: { encoding: BufferEncoding; flag?: string }): Promise<Uint8Array> {\n const ret = await fs.promises.readFile(path, options);\n return toArrayBuffer(ret);\n }\n stat(path: PathLike): Promise<Stats> {\n return fs.promises.stat(path) as Promise<Stats>;\n }\n unlink(path: PathLike): Promise<void> {\n return fs.promises.unlink(path);\n }\n writefile(path: PathLike, data: Uint8Array | string): Promise<void> {\n return fs.promises.writeFile(path, Buffer.from(data));\n }\n}\n"],"mappings":";;;;;AACA,SAAS,UAAU;AAKZ,IAAM,gBAAN,MAA6C;AAAA,EAClD,MAAM,QAAgC;AACpC,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAgB,SAA+D;AACnF,WAAO,GAAG,SAAS,MAAM,MAAM,OAAO;AAAA,EACxC;AAAA,EACA,QAAQ,MAAgB,SAA8C;AACpE,WAAO,GAAG,SAAS,QAAQ,MAAM,OAAO;AAAA,EAC1C;AAAA,EACA,GAAG,MAAgB,SAAwE;AACzF,WAAO,GAAG,SAAS,GAAG,MAAM,OAAO;AAAA,EACrC;AAAA,EACA,SAAS,QAAkB,aAAsC;AAC/D,WAAO,GAAG,SAAS,SAAS,QAAQ,WAAW;AAAA,EACjD;AAAA,EACA,MAAM,SAAS,MAAgB,SAA4E;AACzG,UAAM,MAAM,MAAM,GAAG,SAAS,SAAS,MAAM,OAAO;AACpD,WAAO,cAAc,GAAG;AAAA,EAC1B;AAAA,EACA,KAAK,MAAgC;AACnC,WAAO,GAAG,SAAS,KAAK,IAAI;AAAA,EAC9B;AAAA,EACA,OAAO,MAA+B;AACpC,WAAO,GAAG,SAAS,OAAO,IAAI;AAAA,EAChC;AAAA,EACA,UAAU,MAAgB,MAA0C;AAClE,WAAO,GAAG,SAAS,UAAU,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,EACtD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtime/gateways/file/node/mem-filesystem.ts"],"sourcesContent":["import type { PathLike, MakeDirectoryOptions, Stats } from \"fs\";\nimport { fs } from \"memfs\";\nimport { IReaddirOptions } from \"memfs/lib/node/types/options.js\";\nimport { toArrayBuffer } from \"./to-array-buffer.js\";\nimport type { SysFileSystem } from \"@fireproof/core\";\n\nexport class MemFileSystem implements SysFileSystem {\n async start(): Promise<SysFileSystem> {\n return this;\n }\n mkdir(path: PathLike, options?: { recursive: boolean }): Promise<string | undefined> {\n return fs.promises.mkdir(path, options);\n }\n readdir(path: PathLike, options?: IReaddirOptions): Promise<string[]> {\n return fs.promises.readdir(path, options) as Promise<string[]>;\n }\n rm(path: PathLike, options?: MakeDirectoryOptions & { recursive: boolean }): Promise<void> {\n return fs.promises.rm(path, options);\n }\n copyFile(source: PathLike, destination: PathLike): Promise<void> {\n return fs.promises.copyFile(source, destination);\n }\n async readfile(path: PathLike, options?: { encoding: BufferEncoding; flag?: string }): Promise<Uint8Array> {\n const ret = await fs.promises.readFile(path, options);\n return toArrayBuffer(ret);\n }\n stat(path: PathLike): Promise<Stats> {\n return fs.promises.stat(path) as Promise<Stats>;\n }\n unlink(path: PathLike): Promise<void> {\n return fs.promises.unlink(path);\n }\n writefile(path: PathLike, data: Uint8Array | string): Promise<void> {\n return fs.promises.writeFile(path, Buffer.from(data));\n }\n}\n"],"mappings":";;;;;AACA,SAAS,UAAU;AAKZ,IAAM,gBAAN,MAA6C;AAAA,EAClD,MAAM,QAAgC;AACpC,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAgB,SAA+D;AACnF,WAAO,GAAG,SAAS,MAAM,MAAM,OAAO;AAAA,EACxC;AAAA,EACA,QAAQ,MAAgB,SAA8C;AACpE,WAAO,GAAG,SAAS,QAAQ,MAAM,OAAO;AAAA,EAC1C;AAAA,EACA,GAAG,MAAgB,SAAwE;AACzF,WAAO,GAAG,SAAS,GAAG,MAAM,OAAO;AAAA,EACrC;AAAA,EACA,SAAS,QAAkB,aAAsC;AAC/D,WAAO,GAAG,SAAS,SAAS,QAAQ,WAAW;AAAA,EACjD;AAAA,EACA,MAAM,SAAS,MAAgB,SAA4E;AACzG,UAAM,MAAM,MAAM,GAAG,SAAS,SAAS,MAAM,OAAO;AACpD,WAAO,cAAc,GAAG;AAAA,EAC1B;AAAA,EACA,KAAK,MAAgC;AACnC,WAAO,GAAG,SAAS,KAAK,IAAI;AAAA,EAC9B;AAAA,EACA,OAAO,MAA+B;AACpC,WAAO,GAAG,SAAS,OAAO,IAAI;AAAA,EAChC;AAAA,EACA,UAAU,MAAgB,MAA0C;AAClE,WAAO,GAAG,SAAS,UAAU,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,EACtD;AACF;","names":[]}
@@ -1 +1 @@
1
- {"inputs":{"src/runtime/gateways/file/node/to-array-buffer.ts":{"bytes":313,"imports":[],"format":"esm"},"src/runtime/gateways/file/node/mem-filesystem.ts":{"bytes":1466,"imports":[{"path":"memfs","kind":"import-statement","external":true},{"path":"memfs/lib/node/types/options.js","kind":"import-statement","external":true},{"path":"src/runtime/gateways/file/node/to-array-buffer.ts","kind":"import-statement","original":"./to-array-buffer.js"}],"format":"esm"},"src/runtime/gateways/file/node/node-filesystem.ts":{"bytes":3143,"imports":[{"path":"src/runtime/gateways/file/node/to-array-buffer.ts","kind":"import-statement","original":"./to-array-buffer.js"},{"path":"@adviser/cement","kind":"import-statement","external":true},{"path":"fs/promises","kind":"dynamic-import","external":true}],"format":"esm"}},"outputs":{"dist/fireproof-core/node/mem-filesystem.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3071},"dist/fireproof-core/node/mem-filesystem.cjs":{"imports":[{"path":"memfs","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/runtime/gateways/file/node/mem-filesystem.ts","inputs":{"src/runtime/gateways/file/node/mem-filesystem.ts":{"bytesInOutput":1016},"src/runtime/gateways/file/node/to-array-buffer.ts":{"bytesInOutput":277}},"bytes":2252},"dist/fireproof-core/node/node-filesystem.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4979},"dist/fireproof-core/node/node-filesystem.cjs":{"imports":[{"path":"@adviser/cement","kind":"require-call","external":true},{"path":"fs/promises","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"src/runtime/gateways/file/node/node-filesystem.ts","inputs":{"src/runtime/gateways/file/node/node-filesystem.ts":{"bytesInOutput":1084},"src/runtime/gateways/file/node/to-array-buffer.ts":{"bytesInOutput":277}},"bytes":2919}}}
1
+ {"inputs":{"src/runtime/gateways/file/node/to-array-buffer.ts":{"bytes":313,"imports":[],"format":"esm"},"src/runtime/gateways/file/node/mem-filesystem.ts":{"bytes":1461,"imports":[{"path":"memfs","kind":"import-statement","external":true},{"path":"memfs/lib/node/types/options.js","kind":"import-statement","external":true},{"path":"src/runtime/gateways/file/node/to-array-buffer.ts","kind":"import-statement","original":"./to-array-buffer.js"}],"format":"esm"},"src/runtime/gateways/file/node/node-filesystem.ts":{"bytes":3138,"imports":[{"path":"src/runtime/gateways/file/node/to-array-buffer.ts","kind":"import-statement","original":"./to-array-buffer.js"},{"path":"@adviser/cement","kind":"import-statement","external":true},{"path":"fs/promises","kind":"dynamic-import","external":true}],"format":"esm"}},"outputs":{"dist/fireproof-core/node/mem-filesystem.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3066},"dist/fireproof-core/node/mem-filesystem.cjs":{"imports":[{"path":"memfs","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/runtime/gateways/file/node/mem-filesystem.ts","inputs":{"src/runtime/gateways/file/node/mem-filesystem.ts":{"bytesInOutput":1016},"src/runtime/gateways/file/node/to-array-buffer.ts":{"bytesInOutput":277}},"bytes":2252},"dist/fireproof-core/node/node-filesystem.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4974},"dist/fireproof-core/node/node-filesystem.cjs":{"imports":[{"path":"@adviser/cement","kind":"require-call","external":true},{"path":"fs/promises","kind":"dynamic-import","external":true}],"exports":[],"entryPoint":"src/runtime/gateways/file/node/node-filesystem.ts","inputs":{"src/runtime/gateways/file/node/node-filesystem.ts":{"bytesInOutput":1084},"src/runtime/gateways/file/node/to-array-buffer.ts":{"bytesInOutput":277}},"bytes":2919}}}
@@ -1 +1 @@
1
- {"inputs":{"src/runtime/gateways/file/node/to-array-buffer.ts":{"bytes":313,"imports":[],"format":"esm"},"src/runtime/gateways/file/node/mem-filesystem.ts":{"bytes":1466,"imports":[{"path":"memfs","kind":"import-statement","external":true},{"path":"memfs/lib/node/types/options.js","kind":"import-statement","external":true},{"path":"src/runtime/gateways/file/node/to-array-buffer.ts","kind":"import-statement","original":"./to-array-buffer.js"}],"format":"esm"},"src/runtime/gateways/file/node/node-filesystem.ts":{"bytes":3143,"imports":[{"path":"src/runtime/gateways/file/node/to-array-buffer.ts","kind":"import-statement","original":"./to-array-buffer.js"},{"path":"@adviser/cement","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"dynamic-import","external":true}],"format":"esm"}},"outputs":{"dist/fireproof-core/node/mem-filesystem.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":2377},"dist/fireproof-core/node/mem-filesystem.js":{"imports":[{"path":"dist/fireproof-core/node/chunk-4A4RAVNS.js","kind":"import-statement"},{"path":"memfs","kind":"import-statement","external":true}],"exports":["MemFileSystem"],"entryPoint":"src/runtime/gateways/file/node/mem-filesystem.ts","inputs":{"src/runtime/gateways/file/node/mem-filesystem.ts":{"bytesInOutput":739}},"bytes":875},"dist/fireproof-core/node/node-filesystem.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":4285},"dist/fireproof-core/node/node-filesystem.js":{"imports":[{"path":"dist/fireproof-core/node/chunk-4A4RAVNS.js","kind":"import-statement"},{"path":"@adviser/cement","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"dynamic-import","external":true}],"exports":["NodeFileSystem"],"entryPoint":"src/runtime/gateways/file/node/node-filesystem.ts","inputs":{"src/runtime/gateways/file/node/node-filesystem.ts":{"bytesInOutput":898}},"bytes":1036},"dist/fireproof-core/node/chunk-4A4RAVNS.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":735},"dist/fireproof-core/node/chunk-4A4RAVNS.js":{"imports":[],"exports":["toArrayBuffer"],"inputs":{"src/runtime/gateways/file/node/to-array-buffer.ts":{"bytesInOutput":277}},"bytes":359}}}
1
+ {"inputs":{"src/runtime/gateways/file/node/to-array-buffer.ts":{"bytes":313,"imports":[],"format":"esm"},"src/runtime/gateways/file/node/mem-filesystem.ts":{"bytes":1461,"imports":[{"path":"memfs","kind":"import-statement","external":true},{"path":"memfs/lib/node/types/options.js","kind":"import-statement","external":true},{"path":"src/runtime/gateways/file/node/to-array-buffer.ts","kind":"import-statement","original":"./to-array-buffer.js"}],"format":"esm"},"src/runtime/gateways/file/node/node-filesystem.ts":{"bytes":3138,"imports":[{"path":"src/runtime/gateways/file/node/to-array-buffer.ts","kind":"import-statement","original":"./to-array-buffer.js"},{"path":"@adviser/cement","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"dynamic-import","external":true}],"format":"esm"}},"outputs":{"dist/fireproof-core/node/mem-filesystem.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":2372},"dist/fireproof-core/node/mem-filesystem.js":{"imports":[{"path":"dist/fireproof-core/node/chunk-4A4RAVNS.js","kind":"import-statement"},{"path":"memfs","kind":"import-statement","external":true}],"exports":["MemFileSystem"],"entryPoint":"src/runtime/gateways/file/node/mem-filesystem.ts","inputs":{"src/runtime/gateways/file/node/mem-filesystem.ts":{"bytesInOutput":739}},"bytes":875},"dist/fireproof-core/node/node-filesystem.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":4280},"dist/fireproof-core/node/node-filesystem.js":{"imports":[{"path":"dist/fireproof-core/node/chunk-4A4RAVNS.js","kind":"import-statement"},{"path":"@adviser/cement","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"dynamic-import","external":true}],"exports":["NodeFileSystem"],"entryPoint":"src/runtime/gateways/file/node/node-filesystem.ts","inputs":{"src/runtime/gateways/file/node/node-filesystem.ts":{"bytesInOutput":898}},"bytes":1036},"dist/fireproof-core/node/chunk-4A4RAVNS.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":735},"dist/fireproof-core/node/chunk-4A4RAVNS.js":{"imports":[],"exports":["toArrayBuffer"],"inputs":{"src/runtime/gateways/file/node/to-array-buffer.ts":{"bytesInOutput":277}},"bytes":359}}}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtime/gateways/file/node/node-filesystem.ts","../../../src/runtime/gateways/file/node/to-array-buffer.ts"],"sourcesContent":["import type { PathLike, MakeDirectoryOptions, Stats, ObjectEncodingOptions } from \"node:fs\";\nimport type { mkdir, readdir, rm, copyFile, readFile, stat, unlink, writeFile } from \"node:fs/promises\";\nimport { toArrayBuffer } from \"./to-array-buffer.js\";\nimport type { SysFileSystem } from \"../../../../types.js\";\nimport { runtimeFn } from \"@adviser/cement\";\n\nexport class NodeFileSystem implements SysFileSystem {\n fs?: {\n mkdir: typeof mkdir;\n readdir: typeof readdir;\n rm: typeof rm;\n copyFile: typeof copyFile;\n readFile: typeof readFile;\n stat: typeof stat;\n unlink: typeof unlink;\n writeFile: typeof writeFile;\n };\n\n async start(): Promise<SysFileSystem> {\n this.fs = await import(\"node:fs/promises\");\n return this;\n }\n async mkdir(path: PathLike, options?: { recursive: boolean }): Promise<string | undefined> {\n return this.fs?.mkdir(path, options);\n }\n async readdir(path: PathLike, options?: ObjectEncodingOptions): Promise<string[]> {\n return this.fs?.readdir(path, options) as Promise<string[]>;\n }\n async rm(path: PathLike, options?: MakeDirectoryOptions & { recursive: boolean }): Promise<void> {\n return this.fs?.rm(path, options);\n }\n async copyFile(source: PathLike, destination: PathLike): Promise<void> {\n return this.fs?.copyFile(source, destination);\n }\n async readfile(path: PathLike, options?: { encoding: BufferEncoding; flag?: string }): Promise<Uint8Array> {\n const ret = (await this.fs?.readFile(path, options)) as Buffer;\n return toArrayBuffer(ret);\n }\n stat(path: PathLike): Promise<Stats> {\n return this.fs?.stat(path) as Promise<Stats>;\n }\n async unlink(path: PathLike): Promise<void> {\n return this.fs?.unlink(path);\n }\n async writefile(path: PathLike, data: Uint8Array | string): Promise<void> {\n if (runtimeFn().isDeno) {\n return this.fs?.writeFile(path, data);\n }\n return this.fs?.writeFile(path, Buffer.from(data));\n }\n}\n\n// import { type NodeMap, join } from \"../../sys-container.js\";\n// import type { ObjectEncodingOptions, PathLike } from \"fs\";\n// import * as fs from \"fs/promises\";\n// import * as path from \"path\";\n// import * as os from \"os\";\n// import * as url from \"url\";\n// import { toArrayBuffer } from \"./utils.js\";\n\n// export async function createNodeSysContainer(): Promise<NodeMap> {\n// // const nodePath = \"node:path\";\n// // const nodeOS = \"node:os\";\n// // const nodeURL = \"node:url\";\n// // const nodeFS = \"node:fs\";\n// // const fs = (await import(\"node:fs\")).promises;\n// // const assert = \"assert\";\n// // const path = await import(\"node:path\");\n// return {\n// state: \"node\",\n// ...path,\n// // ...(await import(\"node:os\")),\n// // ...(await import(\"node:url\")),\n// ...os,\n// ...url,\n// ...fs,\n// join,\n// stat: fs.stat as NodeMap[\"stat\"],\n// readdir: fs.readdir as NodeMap[\"readdir\"],\n// readfile: async (path: PathLike, options?: ObjectEncodingOptions): Promise<Uint8Array> => {\n// const rs = await fs.readFile(path, options);\n// return toArrayBuffer(rs);\n// },\n// writefile: fs.writeFile as NodeMap[\"writefile\"],\n// };\n// }\n","export function toArrayBuffer(buffer: Buffer | string): Uint8Array {\n if (typeof buffer === \"string\") {\n buffer = Buffer.from(buffer);\n }\n const ab = new ArrayBuffer(buffer.length);\n const view = new Uint8Array(ab);\n for (let i = 0; i < buffer.length; ++i) {\n view[i] = buffer[i];\n }\n return view;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,SAAS,cAAc,QAAqC;AACjE,MAAI,OAAO,WAAW,UAAU;AAC9B,aAAS,OAAO,KAAK,MAAM;AAAA,EAC7B;AACA,QAAM,KAAK,IAAI,YAAY,OAAO,MAAM;AACxC,QAAM,OAAO,IAAI,WAAW,EAAE;AAC9B,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,EAAE,GAAG;AACtC,SAAK,CAAC,IAAI,OAAO,CAAC;AAAA,EACpB;AACA,SAAO;AACT;;;ADNA,oBAA0B;AAEnB,IAAM,iBAAN,MAA8C;AAAA,EAYnD,MAAM,QAAgC;AACpC,SAAK,KAAK,MAAM,OAAO,aAAkB;AACzC,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,MAAgB,SAA+D;AACzF,WAAO,KAAK,IAAI,MAAM,MAAM,OAAO;AAAA,EACrC;AAAA,EACA,MAAM,QAAQ,MAAgB,SAAoD;AAChF,WAAO,KAAK,IAAI,QAAQ,MAAM,OAAO;AAAA,EACvC;AAAA,EACA,MAAM,GAAG,MAAgB,SAAwE;AAC/F,WAAO,KAAK,IAAI,GAAG,MAAM,OAAO;AAAA,EAClC;AAAA,EACA,MAAM,SAAS,QAAkB,aAAsC;AACrE,WAAO,KAAK,IAAI,SAAS,QAAQ,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,SAAS,MAAgB,SAA4E;AACzG,UAAM,MAAO,MAAM,KAAK,IAAI,SAAS,MAAM,OAAO;AAClD,WAAO,cAAc,GAAG;AAAA,EAC1B;AAAA,EACA,KAAK,MAAgC;AACnC,WAAO,KAAK,IAAI,KAAK,IAAI;AAAA,EAC3B;AAAA,EACA,MAAM,OAAO,MAA+B;AAC1C,WAAO,KAAK,IAAI,OAAO,IAAI;AAAA,EAC7B;AAAA,EACA,MAAM,UAAU,MAAgB,MAA0C;AACxE,YAAI,yBAAU,EAAE,QAAQ;AACtB,aAAO,KAAK,IAAI,UAAU,MAAM,IAAI;AAAA,IACtC;AACA,WAAO,KAAK,IAAI,UAAU,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,EACnD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtime/gateways/file/node/node-filesystem.ts","../../../src/runtime/gateways/file/node/to-array-buffer.ts"],"sourcesContent":["import type { PathLike, MakeDirectoryOptions, Stats, ObjectEncodingOptions } from \"node:fs\";\nimport type { mkdir, readdir, rm, copyFile, readFile, stat, unlink, writeFile } from \"node:fs/promises\";\nimport { toArrayBuffer } from \"./to-array-buffer.js\";\nimport type { SysFileSystem } from \"@fireproof/core\";\nimport { runtimeFn } from \"@adviser/cement\";\n\nexport class NodeFileSystem implements SysFileSystem {\n fs?: {\n mkdir: typeof mkdir;\n readdir: typeof readdir;\n rm: typeof rm;\n copyFile: typeof copyFile;\n readFile: typeof readFile;\n stat: typeof stat;\n unlink: typeof unlink;\n writeFile: typeof writeFile;\n };\n\n async start(): Promise<SysFileSystem> {\n this.fs = await import(\"node:fs/promises\");\n return this;\n }\n async mkdir(path: PathLike, options?: { recursive: boolean }): Promise<string | undefined> {\n return this.fs?.mkdir(path, options);\n }\n async readdir(path: PathLike, options?: ObjectEncodingOptions): Promise<string[]> {\n return this.fs?.readdir(path, options) as Promise<string[]>;\n }\n async rm(path: PathLike, options?: MakeDirectoryOptions & { recursive: boolean }): Promise<void> {\n return this.fs?.rm(path, options);\n }\n async copyFile(source: PathLike, destination: PathLike): Promise<void> {\n return this.fs?.copyFile(source, destination);\n }\n async readfile(path: PathLike, options?: { encoding: BufferEncoding; flag?: string }): Promise<Uint8Array> {\n const ret = (await this.fs?.readFile(path, options)) as Buffer;\n return toArrayBuffer(ret);\n }\n stat(path: PathLike): Promise<Stats> {\n return this.fs?.stat(path) as Promise<Stats>;\n }\n async unlink(path: PathLike): Promise<void> {\n return this.fs?.unlink(path);\n }\n async writefile(path: PathLike, data: Uint8Array | string): Promise<void> {\n if (runtimeFn().isDeno) {\n return this.fs?.writeFile(path, data);\n }\n return this.fs?.writeFile(path, Buffer.from(data));\n }\n}\n\n// import { type NodeMap, join } from \"../../sys-container.js\";\n// import type { ObjectEncodingOptions, PathLike } from \"fs\";\n// import * as fs from \"fs/promises\";\n// import * as path from \"path\";\n// import * as os from \"os\";\n// import * as url from \"url\";\n// import { toArrayBuffer } from \"./utils.js\";\n\n// export async function createNodeSysContainer(): Promise<NodeMap> {\n// // const nodePath = \"node:path\";\n// // const nodeOS = \"node:os\";\n// // const nodeURL = \"node:url\";\n// // const nodeFS = \"node:fs\";\n// // const fs = (await import(\"node:fs\")).promises;\n// // const assert = \"assert\";\n// // const path = await import(\"node:path\");\n// return {\n// state: \"node\",\n// ...path,\n// // ...(await import(\"node:os\")),\n// // ...(await import(\"node:url\")),\n// ...os,\n// ...url,\n// ...fs,\n// join,\n// stat: fs.stat as NodeMap[\"stat\"],\n// readdir: fs.readdir as NodeMap[\"readdir\"],\n// readfile: async (path: PathLike, options?: ObjectEncodingOptions): Promise<Uint8Array> => {\n// const rs = await fs.readFile(path, options);\n// return toArrayBuffer(rs);\n// },\n// writefile: fs.writeFile as NodeMap[\"writefile\"],\n// };\n// }\n","export function toArrayBuffer(buffer: Buffer | string): Uint8Array {\n if (typeof buffer === \"string\") {\n buffer = Buffer.from(buffer);\n }\n const ab = new ArrayBuffer(buffer.length);\n const view = new Uint8Array(ab);\n for (let i = 0; i < buffer.length; ++i) {\n view[i] = buffer[i];\n }\n return view;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,SAAS,cAAc,QAAqC;AACjE,MAAI,OAAO,WAAW,UAAU;AAC9B,aAAS,OAAO,KAAK,MAAM;AAAA,EAC7B;AACA,QAAM,KAAK,IAAI,YAAY,OAAO,MAAM;AACxC,QAAM,OAAO,IAAI,WAAW,EAAE;AAC9B,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,EAAE,GAAG;AACtC,SAAK,CAAC,IAAI,OAAO,CAAC;AAAA,EACpB;AACA,SAAO;AACT;;;ADNA,oBAA0B;AAEnB,IAAM,iBAAN,MAA8C;AAAA,EAYnD,MAAM,QAAgC;AACpC,SAAK,KAAK,MAAM,OAAO,aAAkB;AACzC,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,MAAgB,SAA+D;AACzF,WAAO,KAAK,IAAI,MAAM,MAAM,OAAO;AAAA,EACrC;AAAA,EACA,MAAM,QAAQ,MAAgB,SAAoD;AAChF,WAAO,KAAK,IAAI,QAAQ,MAAM,OAAO;AAAA,EACvC;AAAA,EACA,MAAM,GAAG,MAAgB,SAAwE;AAC/F,WAAO,KAAK,IAAI,GAAG,MAAM,OAAO;AAAA,EAClC;AAAA,EACA,MAAM,SAAS,QAAkB,aAAsC;AACrE,WAAO,KAAK,IAAI,SAAS,QAAQ,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,SAAS,MAAgB,SAA4E;AACzG,UAAM,MAAO,MAAM,KAAK,IAAI,SAAS,MAAM,OAAO;AAClD,WAAO,cAAc,GAAG;AAAA,EAC1B;AAAA,EACA,KAAK,MAAgC;AACnC,WAAO,KAAK,IAAI,KAAK,IAAI;AAAA,EAC3B;AAAA,EACA,MAAM,OAAO,MAA+B;AAC1C,WAAO,KAAK,IAAI,OAAO,IAAI;AAAA,EAC7B;AAAA,EACA,MAAM,UAAU,MAAgB,MAA0C;AACxE,YAAI,yBAAU,EAAE,QAAQ;AACtB,aAAO,KAAK,IAAI,UAAU,MAAM,IAAI;AAAA,IACtC;AACA,WAAO,KAAK,IAAI,UAAU,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,EACnD;AACF;","names":[]}
@@ -1,7 +1,6 @@
1
1
  import { PathLike, ObjectEncodingOptions, MakeDirectoryOptions, Stats } from 'node:fs';
2
2
  import { mkdir, readdir, rm, copyFile, readFile, stat, unlink, writeFile } from 'node:fs/promises';
3
- import { S as SysFileSystem } from './types-DARSfXlb.cjs';
4
- import 'fs';
3
+ import { SysFileSystem } from '@fireproof/core';
5
4
 
6
5
  declare class NodeFileSystem implements SysFileSystem {
7
6
  fs?: {
@@ -1,7 +1,6 @@
1
1
  import { PathLike, ObjectEncodingOptions, MakeDirectoryOptions, Stats } from 'node:fs';
2
2
  import { mkdir, readdir, rm, copyFile, readFile, stat, unlink, writeFile } from 'node:fs/promises';
3
- import { S as SysFileSystem } from './types-DARSfXlb.js';
4
- import 'fs';
3
+ import { SysFileSystem } from '@fireproof/core';
5
4
 
6
5
  declare class NodeFileSystem implements SysFileSystem {
7
6
  fs?: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtime/gateways/file/node/node-filesystem.ts"],"sourcesContent":["import type { PathLike, MakeDirectoryOptions, Stats, ObjectEncodingOptions } from \"node:fs\";\nimport type { mkdir, readdir, rm, copyFile, readFile, stat, unlink, writeFile } from \"node:fs/promises\";\nimport { toArrayBuffer } from \"./to-array-buffer.js\";\nimport type { SysFileSystem } from \"../../../../types.js\";\nimport { runtimeFn } from \"@adviser/cement\";\n\nexport class NodeFileSystem implements SysFileSystem {\n fs?: {\n mkdir: typeof mkdir;\n readdir: typeof readdir;\n rm: typeof rm;\n copyFile: typeof copyFile;\n readFile: typeof readFile;\n stat: typeof stat;\n unlink: typeof unlink;\n writeFile: typeof writeFile;\n };\n\n async start(): Promise<SysFileSystem> {\n this.fs = await import(\"node:fs/promises\");\n return this;\n }\n async mkdir(path: PathLike, options?: { recursive: boolean }): Promise<string | undefined> {\n return this.fs?.mkdir(path, options);\n }\n async readdir(path: PathLike, options?: ObjectEncodingOptions): Promise<string[]> {\n return this.fs?.readdir(path, options) as Promise<string[]>;\n }\n async rm(path: PathLike, options?: MakeDirectoryOptions & { recursive: boolean }): Promise<void> {\n return this.fs?.rm(path, options);\n }\n async copyFile(source: PathLike, destination: PathLike): Promise<void> {\n return this.fs?.copyFile(source, destination);\n }\n async readfile(path: PathLike, options?: { encoding: BufferEncoding; flag?: string }): Promise<Uint8Array> {\n const ret = (await this.fs?.readFile(path, options)) as Buffer;\n return toArrayBuffer(ret);\n }\n stat(path: PathLike): Promise<Stats> {\n return this.fs?.stat(path) as Promise<Stats>;\n }\n async unlink(path: PathLike): Promise<void> {\n return this.fs?.unlink(path);\n }\n async writefile(path: PathLike, data: Uint8Array | string): Promise<void> {\n if (runtimeFn().isDeno) {\n return this.fs?.writeFile(path, data);\n }\n return this.fs?.writeFile(path, Buffer.from(data));\n }\n}\n\n// import { type NodeMap, join } from \"../../sys-container.js\";\n// import type { ObjectEncodingOptions, PathLike } from \"fs\";\n// import * as fs from \"fs/promises\";\n// import * as path from \"path\";\n// import * as os from \"os\";\n// import * as url from \"url\";\n// import { toArrayBuffer } from \"./utils.js\";\n\n// export async function createNodeSysContainer(): Promise<NodeMap> {\n// // const nodePath = \"node:path\";\n// // const nodeOS = \"node:os\";\n// // const nodeURL = \"node:url\";\n// // const nodeFS = \"node:fs\";\n// // const fs = (await import(\"node:fs\")).promises;\n// // const assert = \"assert\";\n// // const path = await import(\"node:path\");\n// return {\n// state: \"node\",\n// ...path,\n// // ...(await import(\"node:os\")),\n// // ...(await import(\"node:url\")),\n// ...os,\n// ...url,\n// ...fs,\n// join,\n// stat: fs.stat as NodeMap[\"stat\"],\n// readdir: fs.readdir as NodeMap[\"readdir\"],\n// readfile: async (path: PathLike, options?: ObjectEncodingOptions): Promise<Uint8Array> => {\n// const rs = await fs.readFile(path, options);\n// return toArrayBuffer(rs);\n// },\n// writefile: fs.writeFile as NodeMap[\"writefile\"],\n// };\n// }\n"],"mappings":";;;;;AAIA,SAAS,iBAAiB;AAEnB,IAAM,iBAAN,MAA8C;AAAA,EAYnD,MAAM,QAAgC;AACpC,SAAK,KAAK,MAAM,OAAO,kBAAkB;AACzC,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,MAAgB,SAA+D;AACzF,WAAO,KAAK,IAAI,MAAM,MAAM,OAAO;AAAA,EACrC;AAAA,EACA,MAAM,QAAQ,MAAgB,SAAoD;AAChF,WAAO,KAAK,IAAI,QAAQ,MAAM,OAAO;AAAA,EACvC;AAAA,EACA,MAAM,GAAG,MAAgB,SAAwE;AAC/F,WAAO,KAAK,IAAI,GAAG,MAAM,OAAO;AAAA,EAClC;AAAA,EACA,MAAM,SAAS,QAAkB,aAAsC;AACrE,WAAO,KAAK,IAAI,SAAS,QAAQ,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,SAAS,MAAgB,SAA4E;AACzG,UAAM,MAAO,MAAM,KAAK,IAAI,SAAS,MAAM,OAAO;AAClD,WAAO,cAAc,GAAG;AAAA,EAC1B;AAAA,EACA,KAAK,MAAgC;AACnC,WAAO,KAAK,IAAI,KAAK,IAAI;AAAA,EAC3B;AAAA,EACA,MAAM,OAAO,MAA+B;AAC1C,WAAO,KAAK,IAAI,OAAO,IAAI;AAAA,EAC7B;AAAA,EACA,MAAM,UAAU,MAAgB,MAA0C;AACxE,QAAI,UAAU,EAAE,QAAQ;AACtB,aAAO,KAAK,IAAI,UAAU,MAAM,IAAI;AAAA,IACtC;AACA,WAAO,KAAK,IAAI,UAAU,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,EACnD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtime/gateways/file/node/node-filesystem.ts"],"sourcesContent":["import type { PathLike, MakeDirectoryOptions, Stats, ObjectEncodingOptions } from \"node:fs\";\nimport type { mkdir, readdir, rm, copyFile, readFile, stat, unlink, writeFile } from \"node:fs/promises\";\nimport { toArrayBuffer } from \"./to-array-buffer.js\";\nimport type { SysFileSystem } from \"@fireproof/core\";\nimport { runtimeFn } from \"@adviser/cement\";\n\nexport class NodeFileSystem implements SysFileSystem {\n fs?: {\n mkdir: typeof mkdir;\n readdir: typeof readdir;\n rm: typeof rm;\n copyFile: typeof copyFile;\n readFile: typeof readFile;\n stat: typeof stat;\n unlink: typeof unlink;\n writeFile: typeof writeFile;\n };\n\n async start(): Promise<SysFileSystem> {\n this.fs = await import(\"node:fs/promises\");\n return this;\n }\n async mkdir(path: PathLike, options?: { recursive: boolean }): Promise<string | undefined> {\n return this.fs?.mkdir(path, options);\n }\n async readdir(path: PathLike, options?: ObjectEncodingOptions): Promise<string[]> {\n return this.fs?.readdir(path, options) as Promise<string[]>;\n }\n async rm(path: PathLike, options?: MakeDirectoryOptions & { recursive: boolean }): Promise<void> {\n return this.fs?.rm(path, options);\n }\n async copyFile(source: PathLike, destination: PathLike): Promise<void> {\n return this.fs?.copyFile(source, destination);\n }\n async readfile(path: PathLike, options?: { encoding: BufferEncoding; flag?: string }): Promise<Uint8Array> {\n const ret = (await this.fs?.readFile(path, options)) as Buffer;\n return toArrayBuffer(ret);\n }\n stat(path: PathLike): Promise<Stats> {\n return this.fs?.stat(path) as Promise<Stats>;\n }\n async unlink(path: PathLike): Promise<void> {\n return this.fs?.unlink(path);\n }\n async writefile(path: PathLike, data: Uint8Array | string): Promise<void> {\n if (runtimeFn().isDeno) {\n return this.fs?.writeFile(path, data);\n }\n return this.fs?.writeFile(path, Buffer.from(data));\n }\n}\n\n// import { type NodeMap, join } from \"../../sys-container.js\";\n// import type { ObjectEncodingOptions, PathLike } from \"fs\";\n// import * as fs from \"fs/promises\";\n// import * as path from \"path\";\n// import * as os from \"os\";\n// import * as url from \"url\";\n// import { toArrayBuffer } from \"./utils.js\";\n\n// export async function createNodeSysContainer(): Promise<NodeMap> {\n// // const nodePath = \"node:path\";\n// // const nodeOS = \"node:os\";\n// // const nodeURL = \"node:url\";\n// // const nodeFS = \"node:fs\";\n// // const fs = (await import(\"node:fs\")).promises;\n// // const assert = \"assert\";\n// // const path = await import(\"node:path\");\n// return {\n// state: \"node\",\n// ...path,\n// // ...(await import(\"node:os\")),\n// // ...(await import(\"node:url\")),\n// ...os,\n// ...url,\n// ...fs,\n// join,\n// stat: fs.stat as NodeMap[\"stat\"],\n// readdir: fs.readdir as NodeMap[\"readdir\"],\n// readfile: async (path: PathLike, options?: ObjectEncodingOptions): Promise<Uint8Array> => {\n// const rs = await fs.readFile(path, options);\n// return toArrayBuffer(rs);\n// },\n// writefile: fs.writeFile as NodeMap[\"writefile\"],\n// };\n// }\n"],"mappings":";;;;;AAIA,SAAS,iBAAiB;AAEnB,IAAM,iBAAN,MAA8C;AAAA,EAYnD,MAAM,QAAgC;AACpC,SAAK,KAAK,MAAM,OAAO,kBAAkB;AACzC,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,MAAgB,SAA+D;AACzF,WAAO,KAAK,IAAI,MAAM,MAAM,OAAO;AAAA,EACrC;AAAA,EACA,MAAM,QAAQ,MAAgB,SAAoD;AAChF,WAAO,KAAK,IAAI,QAAQ,MAAM,OAAO;AAAA,EACvC;AAAA,EACA,MAAM,GAAG,MAAgB,SAAwE;AAC/F,WAAO,KAAK,IAAI,GAAG,MAAM,OAAO;AAAA,EAClC;AAAA,EACA,MAAM,SAAS,QAAkB,aAAsC;AACrE,WAAO,KAAK,IAAI,SAAS,QAAQ,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,SAAS,MAAgB,SAA4E;AACzG,UAAM,MAAO,MAAM,KAAK,IAAI,SAAS,MAAM,OAAO;AAClD,WAAO,cAAc,GAAG;AAAA,EAC1B;AAAA,EACA,KAAK,MAAgC;AACnC,WAAO,KAAK,IAAI,KAAK,IAAI;AAAA,EAC3B;AAAA,EACA,MAAM,OAAO,MAA+B;AAC1C,WAAO,KAAK,IAAI,OAAO,IAAI;AAAA,EAC7B;AAAA,EACA,MAAM,UAAU,MAAgB,MAA0C;AACxE,QAAI,UAAU,EAAE,QAAQ;AACtB,aAAO,KAAK,IAAI,UAAU,MAAM,IAAI;AAAA,IACtC;AACA,WAAO,KAAK,IAAI,UAAU,MAAM,OAAO,KAAK,IAAI,CAAC;AAAA,EACnD;AACF;","names":[]}
package/package.json CHANGED
@@ -1,35 +1,35 @@
1
1
  {
2
2
  "name": "@fireproof/core",
3
- "version": "0.19.119-dev-log",
3
+ "version": "0.19.120",
4
4
  "description": "Live database for the web.",
5
5
  "type": "module",
6
6
  "module": "./index.js",
7
7
  "main": "./index.cjs",
8
- "browser": "./index.global.js",
9
8
  "types": "./index.d.ts",
10
9
  "exports": {
11
10
  ".": {
12
11
  "import": "./index.js",
13
12
  "require": "./index.cjs",
14
- "script": "./index.global.js",
15
13
  "types": "./index.d.ts"
16
14
  },
17
15
  "./node": {
18
- "import": "./index.js",
19
- "require": "./index.cjs",
20
- "script": "./index.global.js",
21
- "types": "./index.d.ts"
16
+ "import": "./node/node-filesystem.js",
17
+ "require": "./node/node-filesystem.cjs",
18
+ "types": "./node/node-filesystem.d.ts"
19
+ },
20
+ "./mem": {
21
+ "import": "./node/mem-filesystem.js",
22
+ "require": "./node/mem-filesystem.cjs",
23
+ "types": "./node/mem-filesystem.d.ts"
22
24
  },
23
25
  "./web": {
24
- "import": "./web/index.js",
25
- "require": "./web/index.cjs",
26
- "script": "./web/index.global.js",
27
- "types": "./web/index.d.ts"
26
+ "import": "./web/gateway-impl.js",
27
+ "require": "./web/gateway-impl.cjs",
28
+ "types": "./web/gateway-impl.d.ts"
28
29
  },
29
30
  "./react": {
30
31
  "import": "./react/index.js",
31
32
  "require": "./react/index.cjs",
32
- "script": "./react/index.global.js",
33
33
  "types": "./react/index.d.ts"
34
34
  }
35
35
  },
@@ -64,15 +64,15 @@
64
64
  "react": "^18.3.1"
65
65
  },
66
66
  "dependencies": {
67
- "@adviser/cement": "^0.2.41",
68
- "@fireproof/vendor": "^1.0.0",
67
+ "@adviser/cement": "^0.3.3",
68
+ "@fireproof/vendor": "^1.0.3",
69
69
  "@ipld/unixfs": "^3.0.0",
70
70
  "multiformats": "^13.3.1",
71
71
  "charwise": "^3.0.1",
72
72
  "prolly-trees": "^1.0.4",
73
- "idb": "^8.0.0",
74
- "memfs": "^4.15.0",
75
- "p-limit": "^6.1.0",
73
+ "idb": "^8.0.1",
74
+ "memfs": "^4.15.1",
75
+ "p-limit": "^6.2.0",
76
76
  "p-map": "^7.0.3",
77
77
  "p-retry": "^6.2.1"
78
78
  },
package/react/index.cjs CHANGED
@@ -18,8 +18,8 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
20
  // src/react/index.ts
21
- var react_exports = {};
22
- __export(react_exports, {
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
23
  FireproofCtx: () => FireproofCtx,
24
24
  useAllDocs: () => useAllDocs,
25
25
  useChanges: () => useChanges,
@@ -27,7 +27,7 @@ __export(react_exports, {
27
27
  useFireproof: () => useFireproof,
28
28
  useLiveQuery: () => useLiveQuery
29
29
  });
30
- module.exports = __toCommonJS(react_exports);
30
+ module.exports = __toCommonJS(index_exports);
31
31
 
32
32
  // src/react/useFireproof.ts
33
33
  var import_core = require("@fireproof/core");
@@ -7,6 +7,7 @@ describe("runtime", () => {
7
7
  const isNode = !!(typeof process === "object" && process.versions?.node);
8
8
  expect(runtimeFn()).toEqual({
9
9
  isBrowser: !isNode,
10
+ isCFWorker: false,
10
11
  isDeno: false,
11
12
  isNodeIsh: isNode,
12
13
  isReactNative: false,
@@ -38,7 +38,7 @@ describe("Multiple Databases", () => {
38
38
  await Promise.all(
39
39
  dbs.map(async (db) => {
40
40
  await db.db.close();
41
- db.db.destroy();
41
+ await db.db.destroy();
42
42
  }),
43
43
  );
44
44
  dbs.length = 0;
@@ -2,12 +2,12 @@ import {
2
2
  getFileName,
3
3
  getFileSystem,
4
4
  getPath
5
- } from "./chunk-WVN66YAN.js";
6
- import "./chunk-2D2X6HIB.js";
5
+ } from "./chunk-F4FC6B2T.js";
6
+ import "./chunk-RXC4JGJT.js";
7
7
  import "./chunk-PZ5AY32C.js";
8
8
  export {
9
9
  getFileName,
10
10
  getFileSystem,
11
11
  getPath
12
12
  };
13
- //# sourceMappingURL=utils-XESRUKDJ.js.map
13
+ //# sourceMappingURL=utils-ZVVGAXFE.js.map
@@ -26,156 +26,13 @@ __export(gateway_impl_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(gateway_impl_exports);
28
28
  var import_idb = require("idb");
29
- var import_cement2 = require("@adviser/cement");
29
+ var import_cement = require("@adviser/cement");
30
30
 
31
31
  // src/runtime/gateways/indexdb/version.ts
32
32
  var INDEXDB_VERSION = "v0.19-indexdb";
33
33
 
34
- // src/utils.ts
35
- var import_cement = require("@adviser/cement");
36
- var import_base58 = require("multiformats/bases/base58");
37
- var _globalLogger = new import_cement.ResolveOnce();
38
- function globalLogger() {
39
- return _globalLogger.once(() => new import_cement.LoggerImpl());
40
- }
41
- var registerFP_DEBUG = new import_cement.ResolveOnce();
42
- var pathOpsImpl = class {
43
- join(...paths) {
44
- return paths.map((i) => i.replace(/\/+$/, "")).join("/");
45
- }
46
- dirname(path) {
47
- return path.split("/").slice(0, -1).join("/");
48
- }
49
- // homedir() {
50
- // throw new Error("SysContainer:homedir is not available in seeded state");
51
- // }
52
- };
53
- var pathOps = new pathOpsImpl();
54
- function ensureLogger(sthis, componentName, ctx) {
55
- let logger;
56
- if ((0, import_cement.IsLogger)(sthis)) {
57
- logger = sthis;
58
- } else if (sthis && (0, import_cement.IsLogger)(sthis.logger)) {
59
- logger = sthis.logger;
60
- } else {
61
- logger = globalLogger();
62
- }
63
- const cLogger = logger.With().Module(componentName);
64
- const debug = [];
65
- let exposeStack = false;
66
- if (ctx) {
67
- if ("debug" in ctx) {
68
- if (typeof ctx.debug === "string" && ctx.debug.length > 0) {
69
- debug.push(ctx.debug);
70
- } else {
71
- debug.push(componentName);
72
- }
73
- delete ctx.debug;
74
- }
75
- if ("exposeStack" in ctx) {
76
- exposeStack = true;
77
- delete ctx.exposeStack;
78
- }
79
- if ("this" in ctx) {
80
- cLogger.Str("this", sthis.nextId(4).str);
81
- delete ctx.this;
82
- }
83
- for (const [key, value] of Object.entries(ctx)) {
84
- switch (typeof value) {
85
- case "string":
86
- cLogger.Str(key, value);
87
- break;
88
- case "number":
89
- cLogger.Uint64(key, value);
90
- break;
91
- default:
92
- if (value instanceof Date) {
93
- cLogger.Str(key, value.toISOString());
94
- } else if ((0, import_cement.isURL)(value)) {
95
- cLogger.Str(key, value.toString());
96
- } else if (typeof value === "function") {
97
- cLogger.Ref(key, value);
98
- } else {
99
- cLogger.Any(key, value);
100
- }
101
- break;
102
- }
103
- }
104
- }
105
- registerFP_DEBUG.once(async () => {
106
- sthis.env.onSet(
107
- (key, value) => {
108
- switch (key) {
109
- case "FP_FORMAT": {
110
- switch (value) {
111
- case "jsonice":
112
- logger.SetFormatter(new import_cement.JSONFormatter(logger.TxtEnDe(), 2));
113
- break;
114
- case "yaml":
115
- logger.SetFormatter(new import_cement.YAMLFormatter(logger.TxtEnDe(), 2));
116
- break;
117
- case "json":
118
- default:
119
- logger.SetFormatter(new import_cement.JSONFormatter(logger.TxtEnDe()));
120
- break;
121
- }
122
- break;
123
- }
124
- case "FP_DEBUG":
125
- logger.SetDebug(value || []);
126
- break;
127
- case "FP_STACK":
128
- logger.SetExposeStack(!!value);
129
- break;
130
- }
131
- },
132
- "FP_FORMAT",
133
- "FP_DEBUG",
134
- "FP_STACK"
135
- );
136
- }).finally(() => {
137
- });
138
- if (debug.length > 0) {
139
- logger.SetDebug(debug);
140
- }
141
- if (exposeStack) {
142
- logger.SetExposeStack(true);
143
- }
144
- const out = cLogger.Logger();
145
- return out;
146
- }
147
- function getStore(url, sthis, joiner) {
148
- const store = url.getParam("store");
149
- switch (store) {
150
- case "data":
151
- case "wal":
152
- case "meta":
153
- break;
154
- default:
155
- throw sthis.logger.Error().Url(url).Msg(`store not found`).AsError();
156
- }
157
- let name = store;
158
- if (url.hasParam("index")) {
159
- name = joiner(url.getParam("index") || "idx", name);
160
- }
161
- return { store, name };
162
- }
163
- function getKey(url, logger) {
164
- const result = url.getParam("key");
165
- if (!result) throw logger.Error().Str("url", url.toString()).Msg(`key not found`).AsError();
166
- return result;
167
- }
168
- async function exceptionWrapper(fn) {
169
- return fn().catch((e) => import_cement.Result.Err(e));
170
- }
171
- var NotFoundError = class extends Error {
172
- constructor() {
173
- super(...arguments);
174
- this.code = "ENOENT";
175
- }
176
- };
177
-
178
34
  // src/runtime/gateways/indexdb/web/gateway-impl.ts
35
+ var import_core = require("@fireproof/core");
179
36
  function ensureVersion(url) {
180
37
  return url.build().defParam("version", INDEXDB_VERSION).URI();
181
38
  }
@@ -185,7 +42,7 @@ function sanitzeKey(key) {
185
42
  }
186
43
  return key;
187
44
  }
188
- var onceConn = new import_cement2.KeyedResolvOnce();
45
+ var onceConn = new import_cement.KeyedResolvOnce();
189
46
  async function connectIdb(url, sthis) {
190
47
  const dbName = getIndexDBName(url, sthis);
191
48
  const once = await onceConn.get(dbName.fullDb).once(async () => {
@@ -221,7 +78,7 @@ function getIndexDBName(iurl, sthis) {
221
78
  const dbName = url.getParam("name");
222
79
  if (!dbName) throw sthis.logger.Error().Str("url", url.toString()).Msg(`name not found`).AsError();
223
80
  const result = joinDBName(fullDb, dbName);
224
- const objStore = getStore(url, sthis, joinDBName).name;
81
+ const objStore = (0, import_core.getStore)(url, sthis, joinDBName).name;
225
82
  const connectionKey = [result, objStore].join(":");
226
83
  return {
227
84
  fullDb: result,
@@ -232,12 +89,12 @@ function getIndexDBName(iurl, sthis) {
232
89
  }
233
90
  var IndexDBGatewayImpl = class {
234
91
  constructor(sthis) {
235
- this.logger = ensureLogger(sthis, "IndexDBGateway");
92
+ this.logger = (0, import_core.ensureLogger)(sthis, "IndexDBGateway");
236
93
  this.sthis = sthis;
237
94
  }
238
95
  // _db: IDBPDatabase<unknown> = {} as IDBPDatabase<unknown>;
239
96
  async start(baseURL) {
240
- return (0, import_cement2.exception2Result)(async () => {
97
+ return (0, import_cement.exception2Result)(async () => {
241
98
  this.logger.Debug().Url(baseURL).Msg("starting");
242
99
  await this.sthis.start();
243
100
  const ic = await connectIdb(baseURL, this.sthis);
@@ -246,11 +103,11 @@ var IndexDBGatewayImpl = class {
246
103
  });
247
104
  }
248
105
  async close() {
249
- return import_cement2.Result.Ok(void 0);
106
+ return import_cement.Result.Ok(void 0);
250
107
  }
251
108
  async destroy(baseUrl) {
252
- return (0, import_cement2.exception2Result)(async () => {
253
- const type = getStore(baseUrl, this.sthis, joinDBName).name;
109
+ return (0, import_cement.exception2Result)(async () => {
110
+ const type = (0, import_core.getStore)(baseUrl, this.sthis, joinDBName).name;
254
111
  const idb = await connectIdb(baseUrl, this.sthis);
255
112
  const trans = idb.db.transaction(type, "readwrite");
256
113
  const object_store = trans.objectStore(type);
@@ -265,27 +122,27 @@ var IndexDBGatewayImpl = class {
265
122
  });
266
123
  }
267
124
  buildUrl(baseUrl, key) {
268
- return Promise.resolve(import_cement2.Result.Ok(baseUrl.build().setParam("key", key).URI()));
125
+ return Promise.resolve(import_cement.Result.Ok(baseUrl.build().setParam("key", key).URI()));
269
126
  }
270
127
  async get(url) {
271
- return exceptionWrapper(async () => {
272
- const key = getKey(url, this.logger);
273
- const store = getStore(url, this.sthis, joinDBName).name;
128
+ return (0, import_core.exceptionWrapper)(async () => {
129
+ const key = (0, import_core.getKey)(url, this.logger);
130
+ const store = (0, import_core.getStore)(url, this.sthis, joinDBName).name;
274
131
  this.logger.Debug().Url(url).Str("key", key).Str("store", store).Msg("getting");
275
132
  const { db } = await connectIdb(url, this.sthis);
276
133
  const tx = db.transaction([store], "readonly");
277
134
  const bytes = await tx.objectStore(store).get(sanitzeKey(key));
278
135
  await tx.done;
279
136
  if (!bytes) {
280
- return import_cement2.Result.Err(new NotFoundError(`missing ${key}`));
137
+ return import_cement.Result.Err(new import_core.NotFoundError(`missing ${key}`));
281
138
  }
282
- return import_cement2.Result.Ok(bytes);
139
+ return import_cement.Result.Ok(bytes);
283
140
  });
284
141
  }
285
142
  async put(url, value) {
286
- return (0, import_cement2.exception2Result)(async () => {
287
- const key = getKey(url, this.logger);
288
- const store = getStore(url, this.sthis, joinDBName).name;
143
+ return (0, import_cement.exception2Result)(async () => {
144
+ const key = (0, import_core.getKey)(url, this.logger);
145
+ const store = (0, import_core.getStore)(url, this.sthis, joinDBName).name;
289
146
  this.logger.Debug().Url(url).Str("key", key).Str("store", store).Msg("putting");
290
147
  const { db } = await connectIdb(url, this.sthis);
291
148
  const tx = db.transaction([store], "readwrite");
@@ -294,26 +151,26 @@ var IndexDBGatewayImpl = class {
294
151
  });
295
152
  }
296
153
  async delete(url) {
297
- return (0, import_cement2.exception2Result)(async () => {
298
- const key = getKey(url, this.logger);
299
- const store = getStore(url, this.sthis, joinDBName).name;
154
+ return (0, import_cement.exception2Result)(async () => {
155
+ const key = (0, import_core.getKey)(url, this.logger);
156
+ const store = (0, import_core.getStore)(url, this.sthis, joinDBName).name;
300
157
  this.logger.Debug().Url(url).Str("key", key).Str("store", store).Msg("deleting");
301
158
  const { db } = await connectIdb(url, this.sthis);
302
159
  const tx = db.transaction([store], "readwrite");
303
160
  await tx.objectStore(store).delete(sanitzeKey(key));
304
161
  await tx.done;
305
- return import_cement2.Result.Ok(void 0);
162
+ return import_cement.Result.Ok(void 0);
306
163
  });
307
164
  }
308
165
  };
309
166
  var IndexDBTestStore = class {
310
167
  constructor(sthis) {
311
168
  this.sthis = sthis;
312
- this.logger = ensureLogger(sthis, "IndexDBTestStore", {});
169
+ this.logger = (0, import_core.ensureLogger)(sthis, "IndexDBTestStore", {});
313
170
  }
314
171
  async get(url, key) {
315
172
  const ic = await connectIdb(url, this.sthis);
316
- const store = getStore(ic.url, this.sthis, joinDBName).name;
173
+ const store = (0, import_core.getStore)(ic.url, this.sthis, joinDBName).name;
317
174
  this.logger.Debug().Str("key", key).Str("store", store).Msg("getting");
318
175
  let bytes = await ic.db.get(store, sanitzeKey(key));
319
176
  this.logger.Debug().Str("key", key).Str("store", store).Int("len", bytes.length).Msg("got");