@fireproof/core 0.19.116 → 0.19.118

Sign up to get free protection for your applications and to get access to all the features.
package/deno.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "imports": {
3
3
  "@fireproof/core": "./index.js",
4
- "@adviser/cement": "npm:@adviser/cement@^0.2.40",
4
+ "@adviser/cement": "npm:@adviser/cement@^0.2.41",
5
5
  "@fireproof/vendor": "npm:@fireproof/vendor@^1.0.0",
6
6
  "@ipld/unixfs": "npm:@ipld/unixfs@^3.0.0",
7
7
  "multiformats": "npm:multiformats@^13.3.1",
8
8
  "charwise": "npm:charwise@^3.0.1",
9
9
  "prolly-trees": "npm:prolly-trees@^1.0.4",
10
10
  "idb": "npm:idb@^8.0.0",
11
- "memfs": "npm:memfs@^4.14.1",
11
+ "memfs": "npm:memfs@^4.15.0",
12
12
  "p-limit": "npm:p-limit@^6.1.0",
13
- "p-map": "npm:p-map@^7.0.2",
13
+ "p-map": "npm:p-map@^7.0.3",
14
14
  "p-retry": "npm:p-retry@^6.2.1"
15
15
  }
16
16
  }
@@ -142,4 +142,4 @@ export {
142
142
  FileGateway,
143
143
  FileTestStore
144
144
  };
145
- //# sourceMappingURL=gateway-3WGEEKVQ.js.map
145
+ //# sourceMappingURL=gateway-2O7QPHGW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/runtime/gateways/file/gateway.ts"],"sourcesContent":["import { FILESTORE_VERSION } from \"./version.js\";\nimport { exception2Result, KeyedResolvOnce, Logger, Result, URI } from \"@adviser/cement\";\nimport { ensureLogger, exceptionWrapper, isNotFoundError, NotFoundError } from \"../../../utils.js\";\nimport { Gateway, GetResult, TestGateway } from \"../../../blockstore/gateway.js\";\nimport { getFileName, getFileSystem, getPath } from \"./utils.js\";\nimport { SuperThis, SysFileSystem } from \"../../../types.js\";\n\nconst versionFiles = new KeyedResolvOnce<string>();\n\nexport class FileGateway implements Gateway {\n // abstract readonly storeType: StoreType;\n readonly logger: Logger;\n readonly sthis: SuperThis;\n\n _fs?: SysFileSystem;\n\n get fs(): SysFileSystem {\n if (!this._fs) throw this.logger.Error().Msg(\"fs not initialized\").AsError();\n return this._fs;\n }\n\n constructor(sthis: SuperThis) {\n this.sthis = sthis;\n this.logger = sthis.logger;\n }\n\n async getVersionFromFile(path: string, logger: Logger): Promise<string> {\n return versionFiles.get(path).once(async () => {\n await this.fs.mkdir(path, { recursive: true });\n const vFile = this.sthis.pathOps.join(path, \"version\");\n const vFileStat = await this.fs.stat(vFile).catch(() => undefined);\n if (!vFileStat) {\n await this.fs.writefile(this.sthis.pathOps.join(path, \"version\"), FILESTORE_VERSION);\n return FILESTORE_VERSION;\n } else if (!vFileStat.isFile()) {\n throw logger.Error().Str(\"file\", vFile).Msg(`version file is a directory`).AsError();\n }\n const v = await this.fs.readfile(vFile);\n const vStr = this.sthis.txt.decode(v);\n if (vStr !== FILESTORE_VERSION) {\n logger.Warn().Str(\"file\", vFile).Str(\"from\", vStr).Str(\"expected\", FILESTORE_VERSION).Msg(`version mismatch`);\n }\n return vStr;\n });\n }\n\n start(baseURL: URI): Promise<Result<URI>> {\n return exception2Result(async () => {\n this._fs = await getFileSystem(baseURL);\n await this.fs.start();\n const url = baseURL.build();\n url.defParam(\"version\", FILESTORE_VERSION);\n // url.defParam(\"store\", this.storeType);\n const dbUrl = await this.buildUrl(url.URI(), \"dummy\");\n const dbdirFile = this.getFilePath(dbUrl.Ok());\n await this.fs.mkdir(this.sthis.pathOps.dirname(dbdirFile), { recursive: true });\n const dbroot = this.sthis.pathOps.dirname(dbdirFile);\n this.logger.Debug().Url(url.URI()).Str(\"dbroot\", dbroot).Msg(\"start\");\n url.setParam(\"version\", await this.getVersionFromFile(dbroot, this.logger));\n return url.URI();\n });\n }\n\n async buildUrl(baseUrl: URI, key: string): Promise<Result<URI>> {\n return Result.Ok(baseUrl.build().setParam(\"key\", key).URI());\n }\n\n async close(): Promise<Result<void>> {\n return Result.Ok(undefined);\n }\n // abstract buildUrl(baseUrl: URL, key: string): Promise<Result<URL>>;\n\n getFilePath(url: URI): string {\n const key = url.getParam(\"key\");\n if (!key) throw this.logger.Error().Url(url).Msg(`key not found`).AsError();\n return this.sthis.pathOps.join(getPath(url, this.sthis), getFileName(url, this.sthis));\n }\n\n async put(url: URI, body: Uint8Array): Promise<Result<void>> {\n return exception2Result(async () => {\n const file = await this.getFilePath(url);\n this.logger.Debug().Str(\"url\", url.toString()).Str(\"file\", file).Msg(\"put\");\n await this.fs.writefile(file, body);\n });\n }\n\n async get(url: URI): Promise<GetResult> {\n return exceptionWrapper(async () => {\n const file = this.getFilePath(url);\n try {\n const res = await this.fs.readfile(file);\n this.logger.Debug().Url(url.asURL()).Str(\"file\", file).Msg(\"get\");\n return Result.Ok(new Uint8Array(res));\n } catch (e: unknown) {\n // this.logger.Error().Err(e).Str(\"file\", file).Msg(\"get\");\n if (isNotFoundError(e)) {\n return Result.Err(new NotFoundError(`file not found: ${file}`));\n }\n return Result.Err(e as Error);\n }\n });\n }\n\n async delete(url: URI): Promise<Result<void>> {\n return exception2Result(async () => {\n await this.fs.unlink(this.getFilePath(url));\n });\n }\n\n async destroy(baseURL: URI): Promise<Result<void>> {\n const url = await this.buildUrl(baseURL, \"x\");\n if (url.isErr()) return url;\n const filepath = this.sthis.pathOps.dirname(this.getFilePath(url.Ok()));\n let files: string[] = [];\n try {\n files = await this.fs.readdir(filepath);\n } catch (e: unknown) {\n if (!isNotFoundError(e)) {\n throw this.logger.Error().Err(e).Str(\"dir\", filepath).Msg(\"destroy:readdir\").AsError();\n }\n }\n for (const file of files) {\n const pathed = this.sthis.pathOps.join(filepath, file);\n try {\n await this.fs.unlink(pathed);\n } catch (e: unknown) {\n if (!isNotFoundError(e)) {\n throw this.logger.Error().Err(e).Str(\"file\", pathed).Msg(\"destroy:unlink\").AsError();\n }\n }\n }\n return Result.Ok(undefined);\n }\n}\n\n// export class FileWALGateway extends FileGateway {\n// readonly storeType = \"wal\";\n// constructor(logger: Logger) {\n// super(ensureLogger(logger, \"FileWALGateway\"));\n// }\n// }\n\n// export class FileMetaGateway extends FileGateway {\n// readonly storeType = \"meta\";\n// constructor(logger: Logger) {\n// super(ensureLogger(logger, \"FileMetaGateway\"));\n// }\n// }\n\n// export class FileDataGateway extends FileGateway {\n// readonly storeType = \"data\";\n// readonly branches = new Set<string>();\n// constructor(logger: Logger) {\n// // console.log(\"FileDataGateway->\", logger);\n// super(ensureLogger(logger, \"FileDataGateway\"));\n// }\n// }\n\nexport class FileTestStore implements TestGateway {\n readonly logger: Logger;\n readonly sthis: SuperThis;\n constructor(sthis: SuperThis) {\n this.logger = ensureLogger(sthis, \"FileTestStore\");\n this.sthis = sthis;\n }\n\n async get(iurl: URI, key: string) {\n const url = iurl.build().setParam(\"key\", key).URI();\n const dbFile = this.sthis.pathOps.join(getPath(url, this.sthis), getFileName(url, this.sthis));\n this.logger.Debug().Url(url).Str(\"dbFile\", dbFile).Msg(\"get\");\n const buffer = await (await getFileSystem(url)).readfile(dbFile);\n this.logger.Debug().Url(url).Str(\"dbFile\", dbFile).Len(buffer).Msg(\"got\");\n return buffer;\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/runtime/gateways/file/gateway.ts"],"sourcesContent":["import { FILESTORE_VERSION } from \"./version.js\";\nimport { exception2Result, KeyedResolvOnce, Logger, Result, URI } from \"@adviser/cement\";\nimport { ensureLogger, exceptionWrapper, isNotFoundError, NotFoundError } from \"../../../utils.js\";\nimport { Gateway, GetResult, TestGateway } from \"../../../blockstore/gateway.js\";\nimport { getFileName, getFileSystem, getPath } from \"./utils.js\";\nimport { SuperThis, SysFileSystem } from \"../../../types.js\";\n\nconst versionFiles = new KeyedResolvOnce<string>();\n\nexport class FileGateway implements Gateway {\n // abstract readonly storeType: StoreType;\n readonly logger: Logger;\n readonly sthis: SuperThis;\n\n _fs?: SysFileSystem;\n\n get fs(): SysFileSystem {\n if (!this._fs) throw this.logger.Error().Msg(\"fs not initialized\").AsError();\n return this._fs;\n }\n\n constructor(sthis: SuperThis) {\n this.sthis = sthis;\n this.logger = sthis.logger;\n }\n\n async getVersionFromFile(path: string, logger: Logger): Promise<string> {\n return versionFiles.get(path).once(async () => {\n await this.fs.mkdir(path, { recursive: true });\n const vFile = this.sthis.pathOps.join(path, \"version\");\n const vFileStat = await this.fs.stat(vFile).catch(() => undefined);\n if (!vFileStat) {\n await this.fs.writefile(this.sthis.pathOps.join(path, \"version\"), FILESTORE_VERSION);\n return FILESTORE_VERSION;\n } else if (!vFileStat.isFile()) {\n throw logger.Error().Str(\"file\", vFile).Msg(`version file is a directory`).AsError();\n }\n const v = await this.fs.readfile(vFile);\n const vStr = this.sthis.txt.decode(v);\n if (vStr !== FILESTORE_VERSION) {\n logger.Warn().Str(\"file\", vFile).Str(\"from\", vStr).Str(\"expected\", FILESTORE_VERSION).Msg(`version mismatch`);\n }\n return vStr;\n });\n }\n\n start(baseURL: URI): Promise<Result<URI>> {\n return exception2Result(async () => {\n this._fs = await getFileSystem(baseURL);\n await this.fs.start();\n const url = baseURL.build();\n url.defParam(\"version\", FILESTORE_VERSION);\n // url.defParam(\"store\", this.storeType);\n const dbUrl = await this.buildUrl(url.URI(), \"dummy\");\n const dbdirFile = this.getFilePath(dbUrl.Ok());\n await this.fs.mkdir(this.sthis.pathOps.dirname(dbdirFile), { recursive: true });\n const dbroot = this.sthis.pathOps.dirname(dbdirFile);\n this.logger.Debug().Url(url.URI()).Str(\"dbroot\", dbroot).Msg(\"start\");\n url.setParam(\"version\", await this.getVersionFromFile(dbroot, this.logger));\n return url.URI();\n });\n }\n\n async buildUrl(baseUrl: URI, key: string): Promise<Result<URI>> {\n return Result.Ok(baseUrl.build().setParam(\"key\", key).URI());\n }\n\n async close(): Promise<Result<void>> {\n return Result.Ok(undefined);\n }\n // abstract buildUrl(baseUrl: URL, key: string): Promise<Result<URL>>;\n\n getFilePath(url: URI): string {\n const key = url.getParam(\"key\");\n if (!key) throw this.logger.Error().Url(url).Msg(`key not found`).AsError();\n return this.sthis.pathOps.join(getPath(url, this.sthis), getFileName(url, this.sthis));\n }\n\n async put(url: URI, body: Uint8Array): Promise<Result<void>> {\n return exception2Result(async () => {\n const file = await this.getFilePath(url);\n this.logger.Debug().Str(\"url\", url.toString()).Str(\"file\", file).Msg(\"put\");\n await this.fs.writefile(file, body);\n });\n }\n\n async get(url: URI): Promise<GetResult> {\n return exceptionWrapper(async () => {\n const file = this.getFilePath(url);\n try {\n const res = await this.fs.readfile(file);\n this.logger.Debug().Url(url.asURL()).Str(\"file\", file).Msg(\"get\");\n return Result.Ok(new Uint8Array(res));\n } catch (e: unknown) {\n // this.logger.Error().Err(e).Str(\"file\", file).Msg(\"get\");\n if (isNotFoundError(e)) {\n return Result.Err(new NotFoundError(`file not found: ${file}`));\n }\n return Result.Err(e as Error);\n }\n });\n }\n\n async delete(url: URI): Promise<Result<void>> {\n return exception2Result(async () => {\n await this.fs.unlink(this.getFilePath(url));\n });\n }\n\n async destroy(baseURL: URI): Promise<Result<void>> {\n const url = await this.buildUrl(baseURL, \"x\");\n if (url.isErr()) return url;\n const filepath = this.sthis.pathOps.dirname(this.getFilePath(url.Ok()));\n let files: string[] = [];\n try {\n files = await this.fs.readdir(filepath);\n } catch (e: unknown) {\n if (!isNotFoundError(e)) {\n throw this.logger.Error().Err(e).Str(\"dir\", filepath).Msg(\"destroy:readdir\").AsError();\n }\n }\n for (const file of files) {\n const pathed = this.sthis.pathOps.join(filepath, file);\n try {\n await this.fs.unlink(pathed);\n } catch (e: unknown) {\n if (!isNotFoundError(e)) {\n throw this.logger.Error().Err(e).Str(\"file\", pathed).Msg(\"destroy:unlink\").AsError();\n }\n }\n }\n return Result.Ok(undefined);\n }\n}\n\nexport class FileTestStore implements TestGateway {\n readonly logger: Logger;\n readonly sthis: SuperThis;\n constructor(sthis: SuperThis) {\n this.logger = ensureLogger(sthis, \"FileTestStore\");\n this.sthis = sthis;\n }\n\n async get(iurl: URI, key: string) {\n const url = iurl.build().setParam(\"key\", key).URI();\n const dbFile = this.sthis.pathOps.join(getPath(url, this.sthis), getFileName(url, this.sthis));\n this.logger.Debug().Url(url).Str(\"dbFile\", dbFile).Msg(\"get\");\n const buffer = await (await getFileSystem(url)).readfile(dbFile);\n this.logger.Debug().Url(url).Str(\"dbFile\", dbFile).Len(buffer).Msg(\"got\");\n return buffer;\n }\n}\n"],"mappings":"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","names":[]}
package/index.cjs CHANGED
@@ -4193,6 +4193,6 @@ init_utils();
4193
4193
 
4194
4194
  // src/version.ts
4195
4195
  var PACKAGE_VERSION = Object.keys({
4196
- "0.19.116": "xxxx"
4196
+ "0.19.118": "xxxx"
4197
4197
  })[0];
4198
4198
  //# sourceMappingURL=index.cjs.map