@fireproof/core 0.19.112-dev-web → 0.19.112-dev-iife
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-GZANCVTS.js → chunk-D4E6UX6S.js} +1 -8
- package/{chunk-GZANCVTS.js.map → chunk-D4E6UX6S.js.map} +1 -1
- package/{web/chunk-S4HRSKEO.js → chunk-OKACCIGZ.js} +15 -29
- package/chunk-OKACCIGZ.js.map +1 -0
- package/chunk-PZ5AY32C.js +10 -0
- package/gateway-3YJXDXD3.js +59 -0
- package/gateway-3YJXDXD3.js.map +1 -0
- package/{gateway@skip-iife-OZ2V32XH.js → gateway-HUSQCAA7.js} +5 -4
- package/gateway-HUSQCAA7.js.map +1 -0
- package/index.cjs +73 -285
- package/index.cjs.map +1 -1
- package/index.d.cts +1 -3
- package/index.d.ts +1 -3
- package/index.global.js +195 -171
- package/index.global.js.map +1 -1
- package/index.js +17 -17
- package/index.js.map +1 -1
- package/{key-bag-file-4TYN2H7F.js → key-bag-file-QCOF7UFH.js} +4 -3
- package/{key-bag-file-4TYN2H7F.js.map → key-bag-file-QCOF7UFH.js.map} +1 -1
- package/{key-bag-indexdb-JEOAS4WM.js → key-bag-indexdb-VHX3MZ66.js} +4 -3
- package/{key-bag-indexdb-JEOAS4WM.js.map → key-bag-indexdb-VHX3MZ66.js.map} +1 -1
- package/metafile-cjs.json +1 -1
- package/metafile-esm.json +1 -1
- package/metafile-iife.json +1 -1
- package/node/chunk-4A4RAVNS.js +17 -0
- package/node/chunk-4A4RAVNS.js.map +1 -0
- package/node/mem-filesystem.cjs +72 -0
- package/node/mem-filesystem.cjs.map +1 -0
- package/node/mem-filesystem.d.cts +25 -0
- package/node/mem-filesystem.d.ts +25 -0
- package/{mem-filesystem@skip-iife-CJI7IIKV.js → node/mem-filesystem.js} +3 -4
- package/node/mem-filesystem.js.map +1 -0
- package/node/metafile-cjs.json +1 -0
- package/node/metafile-esm.json +1 -0
- package/node/node-filesystem.cjs +86 -0
- package/node/node-filesystem.cjs.map +1 -0
- package/node/node-filesystem.d.cts +36 -0
- package/node/node-filesystem.d.ts +36 -0
- package/{node-filesystem@skip-iife-O74VAABQ.js → node/node-filesystem.js} +3 -4
- package/node/node-filesystem.js.map +1 -0
- package/node/types-DARSfXlb.d.cts +23 -0
- package/node/types-DARSfXlb.d.ts +23 -0
- package/package.json +1 -1
- package/utils-GYG2FMCZ.js +13 -0
- package/web/gateway-impl.cjs +319 -0
- package/web/gateway-impl.cjs.map +1 -0
- package/web/gateway-impl.d.cts +86 -0
- package/web/gateway-impl.d.ts +86 -0
- package/{gateway@skip-esm-O655UEIP.js → web/gateway-impl.js} +165 -20
- package/web/gateway-impl.js.map +1 -0
- package/web/metafile-cjs.json +1 -1
- package/web/metafile-esm.json +1 -1
- package/chunk-LNFBDD6E.js +0 -75
- package/chunk-LNFBDD6E.js.map +0 -1
- package/chunk-PB4BKL4O.js +0 -7
- package/chunk-PB4BKL4O.js.map +0 -1
- package/gateway@skip-esm-O655UEIP.js.map +0 -1
- package/gateway@skip-iife-OZ2V32XH.js.map +0 -1
- package/mem-filesystem@skip-iife-CJI7IIKV.js.map +0 -1
- package/node-filesystem@skip-iife-O74VAABQ.js.map +0 -1
- package/utils-L7MUZUJX.js +0 -14
- package/web/bundle-not-impl-UH74NK5L.js +0 -5
- package/web/bundle-not-impl-UH74NK5L.js.map +0 -1
- package/web/chunk-2DC5ZIR4.js +0 -7
- package/web/chunk-2DC5ZIR4.js.map +0 -1
- package/web/chunk-Q5W7UNMP.js +0 -292
- package/web/chunk-Q5W7UNMP.js.map +0 -1
- package/web/chunk-S4HRSKEO.js.map +0 -1
- package/web/gateway@skip-esm-GI5PRACF.js +0 -165
- package/web/gateway@skip-esm-GI5PRACF.js.map +0 -1
- package/web/index.cjs +0 -4138
- package/web/index.cjs.map +0 -1
- package/web/index.d.cts +0 -1139
- package/web/index.d.ts +0 -1139
- package/web/index.js +0 -3478
- package/web/index.js.map +0 -1
- package/web/key-bag-file-4SJQGORQ.js +0 -54
- package/web/key-bag-file-4SJQGORQ.js.map +0 -1
- package/web/key-bag-indexdb-GSQOUUVQ.js +0 -50
- package/web/key-bag-indexdb-GSQOUUVQ.js.map +0 -1
- package/web/utils-EFZJNXH5.js +0 -14
- /package/{utils-L7MUZUJX.js.map → chunk-PZ5AY32C.js.map} +0 -0
- /package/{web/utils-EFZJNXH5.js.map → utils-GYG2FMCZ.js.map} +0 -0
package/index.d.cts
CHANGED
@@ -1037,7 +1037,6 @@ declare function fireproof(name: string, opts?: ConfigOpts): Database;
|
|
1037
1037
|
declare function getFileSystem(url: URI): Promise<SysFileSystem>;
|
1038
1038
|
declare function getPath(url: URI, sthis: SuperThis): string;
|
1039
1039
|
declare function getFileName(url: URI, sthis: SuperThis): string;
|
1040
|
-
declare function toArrayBuffer(buffer: Buffer | string): Uint8Array;
|
1041
1040
|
|
1042
1041
|
declare function encodeFile(blob: BlobLike): Promise<{
|
1043
1042
|
cid: AnyLink;
|
@@ -1128,9 +1127,8 @@ declare const index_getFileName: typeof getFileName;
|
|
1128
1127
|
declare const index_getFileSystem: typeof getFileSystem;
|
1129
1128
|
declare const index_getPath: typeof getPath;
|
1130
1129
|
declare const index_runtimeFn: typeof runtimeFn;
|
1131
|
-
declare const index_toArrayBuffer: typeof toArrayBuffer;
|
1132
1130
|
declare namespace index {
|
1133
|
-
export { index_FILESTORE_VERSION as FILESTORE_VERSION, index_INDEXDB_VERSION as INDEXDB_VERSION, index_files as files, index_getFileName as getFileName, index_getFileSystem as getFileSystem, index_getPath as getPath, keyBag as kb, keyedCrypto as kc, index$1 as mf, index_runtimeFn as runtimeFn
|
1131
|
+
export { index_FILESTORE_VERSION as FILESTORE_VERSION, index_INDEXDB_VERSION as INDEXDB_VERSION, index_files as files, index_getFileName as getFileName, index_getFileSystem as getFileSystem, index_getPath as getPath, keyBag as kb, keyedCrypto as kc, index$1 as mf, index_runtimeFn as runtimeFn };
|
1134
1132
|
}
|
1135
1133
|
|
1136
1134
|
declare const PACKAGE_VERSION: string;
|
package/index.d.ts
CHANGED
@@ -1037,7 +1037,6 @@ declare function fireproof(name: string, opts?: ConfigOpts): Database;
|
|
1037
1037
|
declare function getFileSystem(url: URI): Promise<SysFileSystem>;
|
1038
1038
|
declare function getPath(url: URI, sthis: SuperThis): string;
|
1039
1039
|
declare function getFileName(url: URI, sthis: SuperThis): string;
|
1040
|
-
declare function toArrayBuffer(buffer: Buffer | string): Uint8Array;
|
1041
1040
|
|
1042
1041
|
declare function encodeFile(blob: BlobLike): Promise<{
|
1043
1042
|
cid: AnyLink;
|
@@ -1128,9 +1127,8 @@ declare const index_getFileName: typeof getFileName;
|
|
1128
1127
|
declare const index_getFileSystem: typeof getFileSystem;
|
1129
1128
|
declare const index_getPath: typeof getPath;
|
1130
1129
|
declare const index_runtimeFn: typeof runtimeFn;
|
1131
|
-
declare const index_toArrayBuffer: typeof toArrayBuffer;
|
1132
1130
|
declare namespace index {
|
1133
|
-
export { index_FILESTORE_VERSION as FILESTORE_VERSION, index_INDEXDB_VERSION as INDEXDB_VERSION, index_files as files, index_getFileName as getFileName, index_getFileSystem as getFileSystem, index_getPath as getPath, keyBag as kb, keyedCrypto as kc, index$1 as mf, index_runtimeFn as runtimeFn
|
1131
|
+
export { index_FILESTORE_VERSION as FILESTORE_VERSION, index_INDEXDB_VERSION as INDEXDB_VERSION, index_files as files, index_getFileName as getFileName, index_getFileSystem as getFileSystem, index_getPath as getPath, keyBag as kb, keyedCrypto as kc, index$1 as mf, index_runtimeFn as runtimeFn };
|
1134
1132
|
}
|
1135
1133
|
|
1136
1134
|
declare const PACKAGE_VERSION: string;
|
package/index.global.js
CHANGED
@@ -12431,33 +12431,28 @@ ${end.comment}` : end.comment;
|
|
12431
12431
|
__export(utils_exports2, {
|
12432
12432
|
getFileName: () => getFileName,
|
12433
12433
|
getFileSystem: () => getFileSystem,
|
12434
|
-
getPath: () => getPath
|
12435
|
-
toArrayBuffer: () => toArrayBuffer
|
12434
|
+
getPath: () => getPath
|
12436
12435
|
});
|
12437
12436
|
async function getFileSystem(url) {
|
12438
|
-
const name6 = url.getParam("fs");
|
12437
|
+
const name6 = url.getParam("fs", "node");
|
12439
12438
|
let fs;
|
12440
12439
|
switch (name6) {
|
12441
12440
|
case "mem":
|
12442
|
-
{
|
12441
|
+
fs = await externalLoaders.get(name6).once(async () => {
|
12443
12442
|
const { MemFileSystem } = await Promise.resolve().then(() => __toESM(require_bundle_not_impl(), 1));
|
12444
|
-
|
12445
|
-
}
|
12443
|
+
return new MemFileSystem();
|
12444
|
+
});
|
12446
12445
|
break;
|
12447
12446
|
// case 'deno': {
|
12448
12447
|
// const { DenoFileSystem } = await import("./deno-filesystem.js");
|
12449
12448
|
// fs = new DenoFileSystem();
|
12450
12449
|
// break;
|
12451
12450
|
// }
|
12452
|
-
|
12453
|
-
|
12454
|
-
|
12455
|
-
|
12456
|
-
|
12457
|
-
case "sys":
|
12458
|
-
default: {
|
12459
|
-
return getFileSystem(url.build().setParam("fs", "node").URI());
|
12460
|
-
}
|
12451
|
+
default:
|
12452
|
+
fs = await externalLoaders.get(name6).once(async () => {
|
12453
|
+
const { NodeFileSystem } = await Promise.resolve().then(() => __toESM(require_bundle_not_impl(), 1));
|
12454
|
+
return new NodeFileSystem();
|
12455
|
+
});
|
12461
12456
|
}
|
12462
12457
|
return fs.start();
|
12463
12458
|
}
|
@@ -12485,21 +12480,13 @@ ${end.comment}` : end.comment;
|
|
12485
12480
|
throw sthis.logger.Error().Url(url).Msg(`unsupported store type`).AsError();
|
12486
12481
|
}
|
12487
12482
|
}
|
12488
|
-
|
12489
|
-
if (typeof buffer2 === "string") {
|
12490
|
-
buffer2 = Buffer.from(buffer2);
|
12491
|
-
}
|
12492
|
-
const ab = new ArrayBuffer(buffer2.length);
|
12493
|
-
const view = new Uint8Array(ab);
|
12494
|
-
for (let i = 0; i < buffer2.length; ++i) {
|
12495
|
-
view[i] = buffer2[i];
|
12496
|
-
}
|
12497
|
-
return view;
|
12498
|
-
}
|
12483
|
+
var externalLoaders;
|
12499
12484
|
var init_utils2 = __esm({
|
12500
12485
|
"src/runtime/gateways/file/utils.ts"() {
|
12501
12486
|
"use strict";
|
12487
|
+
init_cement();
|
12502
12488
|
init_utils();
|
12489
|
+
externalLoaders = new KeyedResolvOnce();
|
12503
12490
|
}
|
12504
12491
|
});
|
12505
12492
|
|
@@ -13084,173 +13071,213 @@ ${end.comment}` : end.comment;
|
|
13084
13071
|
}
|
13085
13072
|
});
|
13086
13073
|
|
13087
|
-
// src/runtime/gateways/
|
13088
|
-
var
|
13074
|
+
// src/runtime/gateways/file/version.ts
|
13075
|
+
var FILESTORE_VERSION;
|
13089
13076
|
var init_version = __esm({
|
13090
|
-
"src/runtime/gateways/
|
13077
|
+
"src/runtime/gateways/file/version.ts"() {
|
13091
13078
|
"use strict";
|
13092
|
-
|
13079
|
+
FILESTORE_VERSION = "v0.19-file";
|
13093
13080
|
}
|
13094
13081
|
});
|
13095
13082
|
|
13096
|
-
// src/runtime/gateways/
|
13097
|
-
var
|
13098
|
-
__export(
|
13099
|
-
|
13100
|
-
|
13101
|
-
getIndexDBName: () => getIndexDBName
|
13083
|
+
// src/runtime/gateways/file/gateway.ts
|
13084
|
+
var gateway_exports = {};
|
13085
|
+
__export(gateway_exports, {
|
13086
|
+
FileGateway: () => FileGateway,
|
13087
|
+
FileTestStore: () => FileTestStore
|
13102
13088
|
});
|
13103
|
-
|
13104
|
-
|
13105
|
-
|
13106
|
-
function sanitzeKey(key) {
|
13107
|
-
if (key.length === 1) {
|
13108
|
-
key = key[0];
|
13109
|
-
}
|
13110
|
-
return key;
|
13111
|
-
}
|
13112
|
-
async function connectIdb(url, sthis) {
|
13113
|
-
const dbName = getIndexDBName(url, sthis);
|
13114
|
-
const once = await onceIndexDB.get(dbName.fullDb).once(async () => {
|
13115
|
-
const db = await openDB(dbName.fullDb, 1, {
|
13116
|
-
upgrade(db2) {
|
13117
|
-
["version", "data", "wal", "meta", "idx.data", "idx.wal", "idx.meta"].map((store) => {
|
13118
|
-
db2.createObjectStore(store, {
|
13119
|
-
autoIncrement: false
|
13120
|
-
});
|
13121
|
-
});
|
13122
|
-
}
|
13123
|
-
});
|
13124
|
-
const found = await db.get("version", "version");
|
13125
|
-
const version = ensureVersion(url).getParam("version");
|
13126
|
-
if (!found) {
|
13127
|
-
await db.put("version", { version }, "version");
|
13128
|
-
} else if (found.version !== version) {
|
13129
|
-
sthis.logger.Warn().Str("url", url.toString()).Str("version", version).Str("found", found.version).Msg("version mismatch");
|
13130
|
-
}
|
13131
|
-
return { db, dbName, version, url };
|
13132
|
-
});
|
13133
|
-
return {
|
13134
|
-
...once,
|
13135
|
-
url: url.build().setParam("version", once.version).URI()
|
13136
|
-
};
|
13137
|
-
}
|
13138
|
-
function joinDBName(...names) {
|
13139
|
-
return names.map((i) => i.replace(/^[^a-zA-Z0-9]+/g, "").replace(/[^a-zA-Z0-9]+/g, "_")).filter((i) => i.length).join(".");
|
13140
|
-
}
|
13141
|
-
function getIndexDBName(iurl, sthis) {
|
13142
|
-
const url = ensureVersion(iurl);
|
13143
|
-
const fullDb = url.pathname.replace(/^\/+/, "").replace(/\?.*$/, "");
|
13144
|
-
const dbName = url.getParam("name");
|
13145
|
-
if (!dbName) throw sthis.logger.Error().Str("url", url.toString()).Msg(`name not found`).AsError();
|
13146
|
-
const result = joinDBName(fullDb, dbName);
|
13147
|
-
const objStore = getStore(url, sthis, joinDBName).name;
|
13148
|
-
const connectionKey = [result, objStore].join(":");
|
13149
|
-
return {
|
13150
|
-
fullDb: result,
|
13151
|
-
objStore,
|
13152
|
-
connectionKey,
|
13153
|
-
dbName
|
13154
|
-
};
|
13155
|
-
}
|
13156
|
-
var onceIndexDB, IndexDBGateway, IndexDBTestStore;
|
13157
|
-
var init_gateway_skip_esm = __esm({
|
13158
|
-
"src/runtime/gateways/indexdb/gateway@skip-esm.ts"() {
|
13089
|
+
var versionFiles, FileGateway, FileTestStore;
|
13090
|
+
var init_gateway = __esm({
|
13091
|
+
"src/runtime/gateways/file/gateway.ts"() {
|
13159
13092
|
"use strict";
|
13160
|
-
init_build();
|
13161
|
-
init_cement();
|
13162
13093
|
init_version();
|
13094
|
+
init_cement();
|
13163
13095
|
init_utils();
|
13164
|
-
|
13165
|
-
|
13096
|
+
init_utils2();
|
13097
|
+
versionFiles = new KeyedResolvOnce();
|
13098
|
+
FileGateway = class {
|
13099
|
+
get fs() {
|
13100
|
+
if (!this._fs) throw this.logger.Error().Msg("fs not initialized").AsError();
|
13101
|
+
return this._fs;
|
13102
|
+
}
|
13166
13103
|
constructor(sthis) {
|
13167
|
-
this._db = {};
|
13168
|
-
this.logger = ensureLogger(sthis, "IndexDBGateway");
|
13169
13104
|
this.sthis = sthis;
|
13105
|
+
this.logger = sthis.logger;
|
13170
13106
|
}
|
13171
|
-
async
|
13107
|
+
async getVersionFromFile(path, logger) {
|
13108
|
+
return versionFiles.get(path).once(async () => {
|
13109
|
+
await this.fs.mkdir(path, { recursive: true });
|
13110
|
+
const vFile = this.sthis.pathOps.join(path, "version");
|
13111
|
+
const vFileStat = await this.fs.stat(vFile).catch(() => void 0);
|
13112
|
+
if (!vFileStat) {
|
13113
|
+
await this.fs.writefile(this.sthis.pathOps.join(path, "version"), FILESTORE_VERSION);
|
13114
|
+
return FILESTORE_VERSION;
|
13115
|
+
} else if (!vFileStat.isFile()) {
|
13116
|
+
throw logger.Error().Str("file", vFile).Msg(`version file is a directory`).AsError();
|
13117
|
+
}
|
13118
|
+
const v = await this.fs.readfile(vFile);
|
13119
|
+
const vStr = this.sthis.txt.decode(v);
|
13120
|
+
if (vStr !== FILESTORE_VERSION) {
|
13121
|
+
logger.Warn().Str("file", vFile).Str("from", vStr).Str("expected", FILESTORE_VERSION).Msg(`version mismatch`);
|
13122
|
+
}
|
13123
|
+
return vStr;
|
13124
|
+
});
|
13125
|
+
}
|
13126
|
+
start(baseURL) {
|
13172
13127
|
return exception2Result(async () => {
|
13173
|
-
this.
|
13174
|
-
await this.
|
13175
|
-
const
|
13176
|
-
|
13177
|
-
this.
|
13178
|
-
|
13128
|
+
this._fs = await getFileSystem(baseURL);
|
13129
|
+
await this.fs.start();
|
13130
|
+
const url = baseURL.build();
|
13131
|
+
url.defParam("version", FILESTORE_VERSION);
|
13132
|
+
const dbUrl = await this.buildUrl(url.URI(), "dummy");
|
13133
|
+
const dbdirFile = this.getFilePath(dbUrl.Ok());
|
13134
|
+
await this.fs.mkdir(this.sthis.pathOps.dirname(dbdirFile), { recursive: true });
|
13135
|
+
const dbroot = this.sthis.pathOps.dirname(dbdirFile);
|
13136
|
+
this.logger.Debug().Url(url.URI()).Str("dbroot", dbroot).Msg("start");
|
13137
|
+
url.setParam("version", await this.getVersionFromFile(dbroot, this.logger));
|
13138
|
+
return url.URI();
|
13179
13139
|
});
|
13180
13140
|
}
|
13141
|
+
async buildUrl(baseUrl, key) {
|
13142
|
+
return Result.Ok(baseUrl.build().setParam("key", key).URI());
|
13143
|
+
}
|
13181
13144
|
async close() {
|
13182
13145
|
return Result.Ok(void 0);
|
13183
13146
|
}
|
13184
|
-
|
13147
|
+
// abstract buildUrl(baseUrl: URL, key: string): Promise<Result<URL>>;
|
13148
|
+
getFilePath(url) {
|
13149
|
+
const key = url.getParam("key");
|
13150
|
+
if (!key) throw this.logger.Error().Url(url).Msg(`key not found`).AsError();
|
13151
|
+
return this.sthis.pathOps.join(getPath(url, this.sthis), getFileName(url, this.sthis));
|
13152
|
+
}
|
13153
|
+
async put(url, body) {
|
13185
13154
|
return exception2Result(async () => {
|
13186
|
-
const
|
13187
|
-
|
13188
|
-
|
13189
|
-
const object_store = trans.objectStore(type2);
|
13190
|
-
const toDelete = [];
|
13191
|
-
for (let cursor = await object_store.openCursor(); cursor; cursor = await cursor.continue()) {
|
13192
|
-
toDelete.push(cursor.primaryKey);
|
13193
|
-
}
|
13194
|
-
for (const key of toDelete) {
|
13195
|
-
await trans.db.delete(type2, key);
|
13196
|
-
}
|
13197
|
-
await trans.done;
|
13155
|
+
const file = await this.getFilePath(url);
|
13156
|
+
this.logger.Debug().Str("url", url.toString()).Str("file", file).Msg("put");
|
13157
|
+
await this.fs.writefile(file, body);
|
13198
13158
|
});
|
13199
13159
|
}
|
13200
|
-
buildUrl(baseUrl, key) {
|
13201
|
-
return Promise.resolve(Result.Ok(baseUrl.build().setParam("key", key).URI()));
|
13202
|
-
}
|
13203
13160
|
async get(url) {
|
13204
13161
|
return exceptionWrapper(async () => {
|
13205
|
-
const
|
13206
|
-
|
13207
|
-
|
13208
|
-
|
13209
|
-
|
13210
|
-
|
13211
|
-
|
13212
|
-
|
13162
|
+
const file = this.getFilePath(url);
|
13163
|
+
try {
|
13164
|
+
const res = await this.fs.readfile(file);
|
13165
|
+
this.logger.Debug().Url(url.asURL()).Str("file", file).Msg("get");
|
13166
|
+
return Result.Ok(new Uint8Array(res));
|
13167
|
+
} catch (e) {
|
13168
|
+
if (isNotFoundError(e)) {
|
13169
|
+
return Result.Err(new NotFoundError2(`file not found: ${file}`));
|
13170
|
+
}
|
13171
|
+
return Result.Err(e);
|
13213
13172
|
}
|
13214
|
-
return Result.Ok(bytes);
|
13215
13173
|
});
|
13216
13174
|
}
|
13217
|
-
async
|
13175
|
+
async delete(url) {
|
13218
13176
|
return exception2Result(async () => {
|
13219
|
-
|
13220
|
-
const store = getStore(url, this.sthis, joinDBName).name;
|
13221
|
-
this.logger.Debug().Url(url).Str("key", key).Str("store", store).Msg("putting");
|
13222
|
-
const tx = this._db.transaction([store], "readwrite");
|
13223
|
-
await tx.objectStore(store).put(value, sanitzeKey(key));
|
13224
|
-
await tx.done;
|
13177
|
+
await this.fs.unlink(this.getFilePath(url));
|
13225
13178
|
});
|
13226
13179
|
}
|
13227
|
-
async
|
13228
|
-
|
13229
|
-
|
13230
|
-
|
13231
|
-
|
13232
|
-
|
13233
|
-
await
|
13234
|
-
|
13235
|
-
|
13180
|
+
async destroy(baseURL) {
|
13181
|
+
const url = await this.buildUrl(baseURL, "x");
|
13182
|
+
if (url.isErr()) return url;
|
13183
|
+
const filepath = this.sthis.pathOps.dirname(this.getFilePath(url.Ok()));
|
13184
|
+
let files = [];
|
13185
|
+
try {
|
13186
|
+
files = await this.fs.readdir(filepath);
|
13187
|
+
} catch (e) {
|
13188
|
+
if (!isNotFoundError(e)) {
|
13189
|
+
throw this.logger.Error().Err(e).Str("dir", filepath).Msg("destroy:readdir").AsError();
|
13190
|
+
}
|
13191
|
+
}
|
13192
|
+
for (const file of files) {
|
13193
|
+
const pathed = this.sthis.pathOps.join(filepath, file);
|
13194
|
+
try {
|
13195
|
+
await this.fs.unlink(pathed);
|
13196
|
+
} catch (e) {
|
13197
|
+
if (!isNotFoundError(e)) {
|
13198
|
+
throw this.logger.Error().Err(e).Str("file", pathed).Msg("destroy:unlink").AsError();
|
13199
|
+
}
|
13200
|
+
}
|
13201
|
+
}
|
13202
|
+
return Result.Ok(void 0);
|
13203
|
+
}
|
13204
|
+
};
|
13205
|
+
FileTestStore = class {
|
13206
|
+
constructor(sthis) {
|
13207
|
+
this.logger = ensureLogger(sthis, "FileTestStore");
|
13208
|
+
this.sthis = sthis;
|
13209
|
+
}
|
13210
|
+
async get(iurl, key) {
|
13211
|
+
const url = iurl.build().setParam("key", key).URI();
|
13212
|
+
const dbFile = this.sthis.pathOps.join(getPath(url, this.sthis), getFileName(url, this.sthis));
|
13213
|
+
this.logger.Debug().Url(url).Str("dbFile", dbFile).Msg("get");
|
13214
|
+
const buffer2 = await (await getFileSystem(url)).readfile(dbFile);
|
13215
|
+
this.logger.Debug().Url(url).Str("dbFile", dbFile).Len(buffer2).Msg("got");
|
13216
|
+
return buffer2;
|
13217
|
+
}
|
13218
|
+
};
|
13219
|
+
}
|
13220
|
+
});
|
13221
|
+
|
13222
|
+
// src/runtime/gateways/indexdb/gateway.ts
|
13223
|
+
var gateway_exports2 = {};
|
13224
|
+
__export(gateway_exports2, {
|
13225
|
+
IndexDBGateway: () => IndexDBGateway,
|
13226
|
+
IndexDBTestStore: () => IndexDBTestStore
|
13227
|
+
});
|
13228
|
+
var loadExternal, IndexDBGateway, IndexDBTestStore;
|
13229
|
+
var init_gateway2 = __esm({
|
13230
|
+
"src/runtime/gateways/indexdb/gateway.ts"() {
|
13231
|
+
"use strict";
|
13232
|
+
init_cement();
|
13233
|
+
loadExternal = new ResolveOnce();
|
13234
|
+
IndexDBGateway = class {
|
13235
|
+
constructor(sthis) {
|
13236
|
+
this.sthis = sthis;
|
13237
|
+
}
|
13238
|
+
getGateway() {
|
13239
|
+
return loadExternal.once(() => {
|
13240
|
+
return Promise.resolve().then(() => __toESM(require_bundle_not_impl(), 1)).then(({ IndexDBGatewayImpl }) => new IndexDBGatewayImpl(this.sthis));
|
13236
13241
|
});
|
13237
13242
|
}
|
13243
|
+
buildUrl(baseUrl, key) {
|
13244
|
+
return this.getGateway().then((gw) => gw.buildUrl(baseUrl, key));
|
13245
|
+
}
|
13246
|
+
start(baseUrl) {
|
13247
|
+
return this.getGateway().then((gw) => gw.start(baseUrl));
|
13248
|
+
}
|
13249
|
+
close(baseUrl) {
|
13250
|
+
return this.getGateway().then((gw) => gw.close(baseUrl));
|
13251
|
+
}
|
13252
|
+
destroy(baseUrl) {
|
13253
|
+
return this.getGateway().then((gw) => gw.destroy(baseUrl));
|
13254
|
+
}
|
13255
|
+
put(url, body) {
|
13256
|
+
return this.getGateway().then((gw) => gw.put(url, body));
|
13257
|
+
}
|
13258
|
+
get(url) {
|
13259
|
+
return this.getGateway().then((gw) => gw.get(url));
|
13260
|
+
}
|
13261
|
+
delete(url) {
|
13262
|
+
return this.getGateway().then((gw) => gw.delete(url));
|
13263
|
+
}
|
13264
|
+
// subscribe?(url: URI, callback: (meta: Uint8Array) => void): Promise<UnsubscribeResult> {
|
13265
|
+
// // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
13266
|
+
// return this.getGateway().then(gw => gw.subscribe!(url, callback));
|
13267
|
+
// }
|
13238
13268
|
};
|
13239
13269
|
IndexDBTestStore = class {
|
13240
13270
|
constructor(sthis) {
|
13271
|
+
this.loadExternal = new ResolveOnce();
|
13241
13272
|
this.sthis = sthis;
|
13242
|
-
this.logger = ensureLogger(sthis, "IndexDBTestStore", {});
|
13243
13273
|
}
|
13244
|
-
|
13245
|
-
|
13246
|
-
|
13247
|
-
|
13248
|
-
|
13249
|
-
|
13250
|
-
|
13251
|
-
bytes = this.sthis.txt.encode(bytes);
|
13252
|
-
}
|
13253
|
-
return bytes;
|
13274
|
+
getGateway() {
|
13275
|
+
return this.loadExternal.once(() => {
|
13276
|
+
return Promise.resolve().then(() => __toESM(require_bundle_not_impl(), 1)).then(({ IndexDBTestStore: IndexDBTestStore2 }) => new IndexDBTestStore2(this.sthis));
|
13277
|
+
});
|
13278
|
+
}
|
13279
|
+
get(url, key) {
|
13280
|
+
return this.getGateway().then((gw) => gw.get(url, key));
|
13254
13281
|
}
|
13255
13282
|
};
|
13256
13283
|
}
|
@@ -28370,22 +28397,22 @@ You can use close({ resize: true }) to resize header`);
|
|
28370
28397
|
registerStoreProtocol({
|
28371
28398
|
protocol: "file:",
|
28372
28399
|
gateway: async (sthis) => {
|
28373
|
-
const { FileGateway } = await Promise.resolve().then(() =>
|
28374
|
-
return new
|
28400
|
+
const { FileGateway: FileGateway2 } = await Promise.resolve().then(() => (init_gateway(), gateway_exports));
|
28401
|
+
return new FileGateway2(sthis);
|
28375
28402
|
},
|
28376
28403
|
test: async (sthis) => {
|
28377
|
-
const { FileTestStore } = await Promise.resolve().then(() =>
|
28378
|
-
return new
|
28404
|
+
const { FileTestStore: FileTestStore2 } = await Promise.resolve().then(() => (init_gateway(), gateway_exports));
|
28405
|
+
return new FileTestStore2(sthis);
|
28379
28406
|
}
|
28380
28407
|
});
|
28381
28408
|
registerStoreProtocol({
|
28382
28409
|
protocol: "indexdb:",
|
28383
28410
|
gateway: async (sthis) => {
|
28384
|
-
const { IndexDBGateway: IndexDBGateway2 } = await Promise.resolve().then(() => (
|
28411
|
+
const { IndexDBGateway: IndexDBGateway2 } = await Promise.resolve().then(() => (init_gateway2(), gateway_exports2));
|
28385
28412
|
return new IndexDBGateway2(sthis);
|
28386
28413
|
},
|
28387
28414
|
test: async (sthis) => {
|
28388
|
-
const { IndexDBTestStore: IndexDBTestStore2 } = await Promise.resolve().then(() => (
|
28415
|
+
const { IndexDBTestStore: IndexDBTestStore2 } = await Promise.resolve().then(() => (init_gateway2(), gateway_exports2));
|
28389
28416
|
return new IndexDBTestStore2(sthis);
|
28390
28417
|
}
|
28391
28418
|
});
|
@@ -30758,8 +30785,7 @@ You can use close({ resize: true }) to resize header`);
|
|
30758
30785
|
kb: () => key_bag_exports,
|
30759
30786
|
kc: () => keyed_crypto_exports,
|
30760
30787
|
mf: () => wait_pr_multiformats_exports,
|
30761
|
-
runtimeFn: () => runtimeFn
|
30762
|
-
toArrayBuffer: () => toArrayBuffer
|
30788
|
+
runtimeFn: () => runtimeFn
|
30763
30789
|
});
|
30764
30790
|
init_utils2();
|
30765
30791
|
|
@@ -30775,19 +30801,17 @@ You can use close({ resize: true }) to resize header`);
|
|
30775
30801
|
|
30776
30802
|
// src/runtime/index.ts
|
30777
30803
|
init_cement();
|
30778
|
-
|
30779
|
-
// src/runtime/gateways/file/version.ts
|
30780
|
-
var FILESTORE_VERSION = "v0.19-file";
|
30781
|
-
|
30782
|
-
// src/runtime/index.ts
|
30783
30804
|
init_version();
|
30784
30805
|
|
30806
|
+
// src/runtime/gateways/indexdb/version.ts
|
30807
|
+
var INDEXDB_VERSION = "v0.19-indexdb";
|
30808
|
+
|
30785
30809
|
// src/index.ts
|
30786
30810
|
init_utils();
|
30787
30811
|
|
30788
30812
|
// src/version.ts
|
30789
30813
|
var PACKAGE_VERSION = Object.keys({
|
30790
|
-
"0.19.112-dev-
|
30814
|
+
"0.19.112-dev-iife": "xxxx"
|
30791
30815
|
})[0];
|
30792
30816
|
return __toCommonJS(src_exports6);
|
30793
30817
|
})();
|