@fireproof/core 0.19.112-dev-iife → 0.19.112-dev-usefp

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@ import {
2
2
  getFileName,
3
3
  getFileSystem,
4
4
  getPath
5
- } from "./chunk-OKACCIGZ.js";
5
+ } from "./chunk-PWEDYV5H.js";
6
6
  import "./chunk-D4E6UX6S.js";
7
7
  import "./chunk-PZ5AY32C.js";
8
8
  export {
@@ -10,4 +10,4 @@ export {
10
10
  getFileSystem,
11
11
  getPath
12
12
  };
13
- //# sourceMappingURL=utils-GYG2FMCZ.js.map
13
+ //# sourceMappingURL=utils-WS4AZWA7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/runtime/gateways/file/utils.ts"],"sourcesContent":["import { KeyedResolvOnce, URI } from \"@adviser/cement\";\nimport { getStore } from \"../../../utils.js\";\nimport { SuperThis, SysFileSystem } from \"../../../types.js\";\n\nconst externalLoaders = new KeyedResolvOnce<SysFileSystem>();\nexport async function getFileSystem(url: URI): Promise<SysFileSystem> {\n const name = url.getParam(\"fs\", \"node\");\n let fs: SysFileSystem;\n switch (name) {\n case \"mem\":\n fs = await externalLoaders.get(name).once(async () => {\n // const memjs = \"./node/mem-filesystem.js\"\n // const { MemFileSystem } = await import(/* @vite-ignore */memjs);\n const { MemFileSystem } = await import(\"./node/mem-filesystem.js\");\n return new MemFileSystem();\n });\n break;\n // case 'deno': {\n // const { DenoFileSystem } = await import(\"./deno-filesystem.js\");\n // fs = new DenoFileSystem();\n // break;\n // }\n default:\n fs = await externalLoaders.get(name).once(async () => {\n // const nodejs = \"./node/node-filesystem.js\"\n // const { NodeFileSystem } = await import(/* @vite-ignore */nodejs);\n const { NodeFileSystem } = await import(\"./node/node-filesystem.js\");\n return new NodeFileSystem();\n });\n }\n return fs.start();\n}\n\nexport function getPath(url: URI, sthis: SuperThis): string {\n const basePath = url.pathname;\n // .toString()\n // .replace(new RegExp(`^${url.protocol}//`), \"\")\n // .replace(/\\?.*$/, \"\");\n const name = url.getParam(\"name\");\n if (name) {\n const version = url.getParam(\"version\");\n if (!version) throw sthis.logger.Error().Url(url).Msg(`version not found`).AsError();\n return sthis.pathOps.join(basePath, version, name);\n }\n return sthis.pathOps.join(basePath);\n}\n\nexport function getFileName(url: URI, sthis: SuperThis): string {\n const key = url.getParam(\"key\");\n if (!key) throw sthis.logger.Error().Url(url).Msg(`key not found`).AsError();\n const res = getStore(url, sthis, (...a: string[]) => a.join(\"-\"));\n switch (res.store) {\n case \"data\":\n return sthis.pathOps.join(res.name, key + \".car\");\n case \"wal\":\n case \"meta\":\n return sthis.pathOps.join(res.name, key + \".json\");\n default:\n throw sthis.logger.Error().Url(url).Msg(`unsupported store type`).AsError();\n }\n}\n"],"mappings":";;;;;AAAA,SAAS,uBAA4B;AAIrC,IAAM,kBAAkB,IAAI,gBAA+B;AAC3D,eAAsB,cAAc,KAAkC;AACpE,QAAM,OAAO,IAAI,SAAS,MAAM,MAAM;AACtC,MAAI;AACJ,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,WAAK,MAAM,gBAAgB,IAAI,IAAI,EAAE,KAAK,YAAY;AAGpD,cAAM,EAAE,cAAc,IAAI,MAAM,OAAO,0BAA0B;AACjE,eAAO,IAAI,cAAc;AAAA,MAC3B,CAAC;AACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMF;AACE,WAAK,MAAM,gBAAgB,IAAI,IAAI,EAAE,KAAK,YAAY;AAGpD,cAAM,EAAE,eAAe,IAAI,MAAM,OAAO,2BAA2B;AACnE,eAAO,IAAI,eAAe;AAAA,MAC5B,CAAC;AAAA,EACL;AACA,SAAO,GAAG,MAAM;AAClB;AAEO,SAAS,QAAQ,KAAU,OAA0B;AAC1D,QAAM,WAAW,IAAI;AAIrB,QAAM,OAAO,IAAI,SAAS,MAAM;AAChC,MAAI,MAAM;AACR,UAAM,UAAU,IAAI,SAAS,SAAS;AACtC,QAAI,CAAC,QAAS,OAAM,MAAM,OAAO,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,mBAAmB,EAAE,QAAQ;AACnF,WAAO,MAAM,QAAQ,KAAK,UAAU,SAAS,IAAI;AAAA,EACnD;AACA,SAAO,MAAM,QAAQ,KAAK,QAAQ;AACpC;AAEO,SAAS,YAAY,KAAU,OAA0B;AAC9D,QAAM,MAAM,IAAI,SAAS,KAAK;AAC9B,MAAI,CAAC,IAAK,OAAM,MAAM,OAAO,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,eAAe,EAAE,QAAQ;AAC3E,QAAM,MAAM,SAAS,KAAK,OAAO,IAAI,MAAgB,EAAE,KAAK,GAAG,CAAC;AAChE,UAAQ,IAAI,OAAO;AAAA,IACjB,KAAK;AACH,aAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,MAAM,MAAM;AAAA,IAClD,KAAK;AAAA,IACL,KAAK;AACH,aAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,MAAM,OAAO;AAAA,IACnD;AACE,YAAM,MAAM,OAAO,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,wBAAwB,EAAE,QAAQ;AAAA,EAC9E;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/runtime/gateways/indexdb/gateway.ts"],"sourcesContent":["import { ResolveOnce, Result, URI } from \"@adviser/cement\";\nimport { Gateway, GetResult, TestGateway, VoidResult } from \"../../../blockstore/gateway.js\";\nimport { SuperThis } from \"../../../types.js\";\n\nconst loadExternal = new ResolveOnce<Gateway>();\nexport class IndexDBGateway implements Gateway {\n readonly sthis: SuperThis;\n\n constructor(sthis: SuperThis) {\n this.sthis = sthis;\n }\n private getGateway(): Promise<Gateway> {\n return loadExternal.once(() => {\n // const gwimpl = \"./web/gateway-impl.js\"\n // return import(/* @vite-ignore */gwimpl).then(({ IndexDBGatewayImpl }) => new IndexDBGatewayImpl(this.sthis));\n return import(\"./web/gateway-impl.js\").then(({ IndexDBGatewayImpl }) => new IndexDBGatewayImpl(this.sthis));\n });\n }\n buildUrl(baseUrl: URI, key: string): Promise<Result<URI>> {\n return this.getGateway().then((gw) => gw.buildUrl(baseUrl, key));\n }\n start(baseUrl: URI): Promise<Result<URI>> {\n return this.getGateway().then((gw) => gw.start(baseUrl));\n }\n close(baseUrl: URI): Promise<VoidResult> {\n return this.getGateway().then((gw) => gw.close(baseUrl));\n }\n destroy(baseUrl: URI): Promise<VoidResult> {\n return this.getGateway().then((gw) => gw.destroy(baseUrl));\n }\n put(url: URI, body: Uint8Array): Promise<VoidResult> {\n return this.getGateway().then((gw) => gw.put(url, body));\n }\n get(url: URI): Promise<GetResult> {\n return this.getGateway().then((gw) => gw.get(url));\n }\n delete(url: URI): Promise<VoidResult> {\n return this.getGateway().then((gw) => gw.delete(url));\n }\n // subscribe?(url: URI, callback: (meta: Uint8Array) => void): Promise<UnsubscribeResult> {\n // // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n // return this.getGateway().then(gw => gw.subscribe!(url, callback));\n // }\n}\n\nexport class IndexDBTestStore implements TestGateway {\n readonly sthis: SuperThis;\n constructor(sthis: SuperThis) {\n this.sthis = sthis;\n }\n readonly loadExternal = new ResolveOnce<TestGateway>();\n private getGateway(): Promise<TestGateway> {\n return this.loadExternal.once(() => {\n // const gwimpl = \"./web/gateway-impl.js\"\n // return import(gwimpl).then(({ IndexDBTestStore }) => new IndexDBTestStore(this.sthis));\n return import(\"./web/gateway-impl.js\").then(({ IndexDBTestStore }) => new IndexDBTestStore(this.sthis));\n });\n }\n\n get(url: URI, key: string) {\n return this.getGateway().then((gw) => gw.get(url, key));\n }\n}\n"],"mappings":";;;AAAA,SAAS,mBAAgC;AAIzC,IAAM,eAAe,IAAI,YAAqB;AACvC,IAAM,iBAAN,MAAwC;AAAA,EAG7C,YAAY,OAAkB;AAC5B,SAAK,QAAQ;AAAA,EACf;AAAA,EACQ,aAA+B;AACrC,WAAO,aAAa,KAAK,MAAM;AAG7B,aAAO,OAAO,uBAAuB,EAAE,KAAK,CAAC,EAAE,mBAAmB,MAAM,IAAI,mBAAmB,KAAK,KAAK,CAAC;AAAA,IAC5G,CAAC;AAAA,EACH;AAAA,EACA,SAAS,SAAc,KAAmC;AACxD,WAAO,KAAK,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,SAAS,SAAS,GAAG,CAAC;AAAA,EACjE;AAAA,EACA,MAAM,SAAoC;AACxC,WAAO,KAAK,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,OAAO,CAAC;AAAA,EACzD;AAAA,EACA,MAAM,SAAmC;AACvC,WAAO,KAAK,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,OAAO,CAAC;AAAA,EACzD;AAAA,EACA,QAAQ,SAAmC;AACzC,WAAO,KAAK,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,QAAQ,OAAO,CAAC;AAAA,EAC3D;AAAA,EACA,IAAI,KAAU,MAAuC;AACnD,WAAO,KAAK,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;AAAA,EACzD;AAAA,EACA,IAAI,KAA8B;AAChC,WAAO,KAAK,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC;AAAA,EACnD;AAAA,EACA,OAAO,KAA+B;AACpC,WAAO,KAAK,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,GAAG,CAAC;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA;AAKF;AAEO,IAAM,mBAAN,MAA8C;AAAA,EAEnD,YAAY,OAAkB;AAG9B,SAAS,eAAe,IAAI,YAAyB;AAFnD,SAAK,QAAQ;AAAA,EACf;AAAA,EAEQ,aAAmC;AACzC,WAAO,KAAK,aAAa,KAAK,MAAM;AAGlC,aAAO,OAAO,uBAAuB,EAAE,KAAK,CAAC,EAAE,kBAAAA,kBAAiB,MAAM,IAAIA,kBAAiB,KAAK,KAAK,CAAC;AAAA,IACxG,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,KAAU,KAAa;AACzB,WAAO,KAAK,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,GAAG,CAAC;AAAA,EACxD;AACF;","names":["IndexDBTestStore"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/runtime/key-bag-indexdb.ts"],"sourcesContent":["import { IDBPDatabase, openDB } from \"idb\";\nimport { KeyBagProvider, KeyItem } from \"./key-bag.js\";\nimport { getPath } from \"./gateways/file/utils.js\";\nimport { Logger, ResolveOnce, URI } from \"@adviser/cement\";\nimport { SuperThis } from \"use-fireproof\";\n\nexport class KeyBagProviderIndexDB implements KeyBagProvider {\n readonly _db: ResolveOnce<IDBPDatabase<unknown>> = new ResolveOnce<IDBPDatabase<unknown>>();\n\n readonly dbName: string;\n readonly url: URI;\n readonly logger: Logger;\n readonly sthis: SuperThis;\n constructor(url: URI, sthis: SuperThis) {\n this.sthis = sthis;\n this.logger = sthis.logger;\n this.url = url;\n this.dbName = getPath(this.url, this.sthis);\n }\n\n async _prepare(): Promise<IDBPDatabase<unknown>> {\n return this._db.once(async () => {\n return await openDB(this.dbName, 1, {\n upgrade(db) {\n // console.log('upgrade:', dbName);\n [\"bag\"].map((store) => {\n db.createObjectStore(store, {\n autoIncrement: false,\n });\n });\n },\n });\n });\n }\n\n async get(id: string): Promise<KeyItem | undefined> {\n const db = await this._prepare();\n const tx = db.transaction([\"bag\"], \"readonly\");\n const keyItem = await tx.objectStore(\"bag\").get(id);\n await tx.done;\n if (!keyItem) {\n return undefined;\n }\n return keyItem;\n }\n\n async set(id: string, item: KeyItem): Promise<void> {\n const db = await this._prepare();\n const tx = db.transaction([\"bag\"], \"readwrite\");\n await tx.objectStore(\"bag\").put(item, id);\n await tx.done;\n }\n}\n"],"mappings":";;;;;;;AAAA,SAAuB,cAAc;AAGrC,SAAiB,mBAAwB;AAGlC,IAAM,wBAAN,MAAsD;AAAA,EAO3D,YAAY,KAAU,OAAkB;AANxC,SAAS,MAA0C,IAAI,YAAmC;AAOxF,SAAK,QAAQ;AACb,SAAK,SAAS,MAAM;AACpB,SAAK,MAAM;AACX,SAAK,SAAS,QAAQ,KAAK,KAAK,KAAK,KAAK;AAAA,EAC5C;AAAA,EAEA,MAAM,WAA2C;AAC/C,WAAO,KAAK,IAAI,KAAK,YAAY;AAC/B,aAAO,MAAM,OAAO,KAAK,QAAQ,GAAG;AAAA,QAClC,QAAQ,IAAI;AAEV,WAAC,KAAK,EAAE,IAAI,CAAC,UAAU;AACrB,eAAG,kBAAkB,OAAO;AAAA,cAC1B,eAAe;AAAA,YACjB,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,IAAI,IAA0C;AAClD,UAAM,KAAK,MAAM,KAAK,SAAS;AAC/B,UAAM,KAAK,GAAG,YAAY,CAAC,KAAK,GAAG,UAAU;AAC7C,UAAM,UAAU,MAAM,GAAG,YAAY,KAAK,EAAE,IAAI,EAAE;AAClD,UAAM,GAAG;AACT,QAAI,CAAC,SAAS;AACZ,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,IAAI,IAAY,MAA8B;AAClD,UAAM,KAAK,MAAM,KAAK,SAAS;AAC/B,UAAM,KAAK,GAAG,YAAY,CAAC,KAAK,GAAG,WAAW;AAC9C,UAAM,GAAG,YAAY,KAAK,EAAE,IAAI,MAAM,EAAE;AACxC,UAAM,GAAG;AAAA,EACX;AACF;","names":[]}