@fireproof/core 0.19.112-dev-web → 0.19.112-dev-iife
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
})();
|