@uploadista/kv-store-filesystem 0.0.3 → 0.0.6
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/dist/index.cjs +1 -0
- package/dist/index.d.cts +14 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -0
- package/package.json +6 -5
- package/tsdown.config.ts +11 -0
- package/.turbo/turbo-build.log +0 -5
- package/.turbo/turbo-check.log +0 -5
- package/dist/file-kv-store.d.ts +0 -8
- package/dist/file-kv-store.d.ts.map +0 -1
- package/dist/file-kv-store.js +0 -36
- package/tsconfig.tsbuildinfo +0 -1
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`node:fs/promises`);c=s(c);let l=require(`node:path`);l=s(l);let u=require(`@uploadista/core/errors`);u=s(u);let d=require(`@uploadista/core/types`);d=s(d);let f=require(`effect`);f=s(f);function p({directory:e}){let t=t=>l.default.resolve(e,`${t}.json`);return{get:e=>f.Effect.tryPromise({try:()=>c.default.readFile(t(e),`utf8`),catch:e=>u.UploadistaError.fromCode(`FILE_NOT_FOUND`,{cause:e})}),set:(e,n)=>f.Effect.tryPromise({try:()=>c.default.writeFile(t(e),n),catch:e=>u.UploadistaError.fromCode(`FILE_WRITE_ERROR`,{cause:e})}),delete:e=>f.Effect.tryPromise({try:()=>c.default.rm(t(e)),catch:e=>u.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}),list:t=>f.Effect.tryPromise({try:()=>c.default.readdir(e),catch:e=>u.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}).pipe(f.Effect.map(e=>e.filter(e=>e.endsWith(`.json`)&&e.startsWith(t)).map(e=>l.default.basename(e,`.json`)).sort((e,t)=>e.localeCompare(t))))}}const m=e=>f.Layer.succeed(d.BaseKvStoreService,p(e));exports.fileKvStore=m,exports.makeFileBaseKvStore=p;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseKvStore, BaseKvStoreService } from "@uploadista/core/types";
|
|
2
|
+
import { Layer } from "effect";
|
|
3
|
+
|
|
4
|
+
//#region src/file-kv-store.d.ts
|
|
5
|
+
type FileKvStoreOptions = {
|
|
6
|
+
directory: string;
|
|
7
|
+
};
|
|
8
|
+
declare function makeFileBaseKvStore({
|
|
9
|
+
directory
|
|
10
|
+
}: FileKvStoreOptions): BaseKvStore;
|
|
11
|
+
declare const fileKvStore: (config: FileKvStoreOptions) => Layer.Layer<BaseKvStoreService, never, never>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { FileKvStoreOptions, fileKvStore, makeFileBaseKvStore };
|
|
14
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/file-kv-store.ts"],"sourcesContent":[],"mappings":";;;;KAMY,kBAAA;;AAAZ,CAAA;AAKgB,iBAAA,mBAAA,CAAmB;EAAA;AAAA,CAAA,EAEhC,kBAFgC,CAAA,EAEX,WAFW;AACjC,cA4CW,WA5CX,EAAA,CAAA,MAAA,EA4CkC,kBA5ClC,EAAA,GA4CoD,KAAA,CAAA,KA5CpD,CA4CoD,kBA5CpD,EAAA,KAAA,EAAA,KAAA,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import { BaseKvStore, BaseKvStoreService } from "@uploadista/core/types";
|
|
2
|
+
import { Layer } from "effect";
|
|
3
|
+
|
|
4
|
+
//#region src/file-kv-store.d.ts
|
|
5
|
+
type FileKvStoreOptions = {
|
|
6
|
+
directory: string;
|
|
7
|
+
};
|
|
8
|
+
declare function makeFileBaseKvStore({
|
|
9
|
+
directory
|
|
10
|
+
}: FileKvStoreOptions): BaseKvStore;
|
|
11
|
+
declare const fileKvStore: (config: FileKvStoreOptions) => Layer.Layer<BaseKvStoreService, never, never>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { FileKvStoreOptions, fileKvStore, makeFileBaseKvStore };
|
|
2
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/file-kv-store.ts"],"sourcesContent":[],"mappings":";;;;KAMY,kBAAA;;AAAZ,CAAA;AAKgB,iBAAA,mBAAA,CAAmB;EAAA;AAAA,CAAA,EAEhC,kBAFgC,CAAA,EAEX,WAFW;AACjC,cA4CW,WA5CX,EAAA,CAAA,MAAA,EA4CkC,kBA5ClC,EAAA,GA4CoD,KAAA,CAAA,KA5CpD,CA4CoD,kBA5CpD,EAAA,KAAA,EAAA,KAAA,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import e from"node:fs/promises";import t from"node:path";import{UploadistaError as n}from"@uploadista/core/errors";import{BaseKvStoreService as r}from"@uploadista/core/types";import{Effect as i,Layer as a}from"effect";function o({directory:r}){let a=e=>t.resolve(r,`${e}.json`);return{get:t=>i.tryPromise({try:()=>e.readFile(a(t),`utf8`),catch:e=>n.fromCode(`FILE_NOT_FOUND`,{cause:e})}),set:(t,r)=>i.tryPromise({try:()=>e.writeFile(a(t),r),catch:e=>n.fromCode(`FILE_WRITE_ERROR`,{cause:e})}),delete:t=>i.tryPromise({try:()=>e.rm(a(t)),catch:e=>n.fromCode(`UNKNOWN_ERROR`,{cause:e})}),list:a=>i.tryPromise({try:()=>e.readdir(r),catch:e=>n.fromCode(`UNKNOWN_ERROR`,{cause:e})}).pipe(i.map(e=>e.filter(e=>e.endsWith(`.json`)&&e.startsWith(a)).map(e=>t.basename(e,`.json`)).sort((e,t)=>e.localeCompare(t))))}}const s=e=>a.succeed(r,o(e));export{s as fileKvStore,o as makeFileBaseKvStore};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/file-kv-store.ts"],"sourcesContent":["import fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { UploadistaError } from \"@uploadista/core/errors\";\nimport { type BaseKvStore, BaseKvStoreService } from \"@uploadista/core/types\";\nimport { Effect, Layer } from \"effect\";\n\nexport type FileKvStoreOptions = {\n directory: string;\n};\n\n// Base Filesystem KV store that stores raw strings\nexport function makeFileBaseKvStore({\n directory,\n}: FileKvStoreOptions): BaseKvStore {\n const resolve = (key: string): string => {\n return path.resolve(directory, `${key}.json`);\n };\n\n return {\n get: (key: string) =>\n Effect.tryPromise({\n try: () => fs.readFile(resolve(key), \"utf8\"),\n catch: (cause) => UploadistaError.fromCode(\"FILE_NOT_FOUND\", { cause }),\n }),\n\n set: (key: string, value: string) =>\n Effect.tryPromise({\n try: () => fs.writeFile(resolve(key), value),\n catch: (cause) =>\n UploadistaError.fromCode(\"FILE_WRITE_ERROR\", { cause }),\n }),\n\n delete: (key: string) =>\n Effect.tryPromise({\n try: () => fs.rm(resolve(key)),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }),\n\n list: (keyPrefix: string) =>\n Effect.tryPromise({\n try: () => fs.readdir(directory),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }).pipe(\n Effect.map((files) => {\n return files\n .filter(\n (file) => file.endsWith(\".json\") && file.startsWith(keyPrefix),\n )\n .map((file) => path.basename(file, \".json\"))\n .sort((a, b) => a.localeCompare(b));\n }),\n ),\n };\n}\n\n// Base store layer\nexport const fileKvStore = (config: FileKvStoreOptions) =>\n Layer.succeed(BaseKvStoreService, makeFileBaseKvStore(config));\n"],"mappings":"0NAWA,SAAgB,EAAoB,CAClC,aACkC,CAClC,IAAM,EAAW,GACR,EAAK,QAAQ,EAAW,GAAG,EAAI,OAAO,CAG/C,MAAO,CACL,IAAM,GACJ,EAAO,WAAW,CAChB,QAAW,EAAG,SAAS,EAAQ,EAAI,CAAE,OAAO,CAC5C,MAAQ,GAAU,EAAgB,SAAS,iBAAkB,CAAE,QAAO,CAAC,CACxE,CAAC,CAEJ,KAAM,EAAa,IACjB,EAAO,WAAW,CAChB,QAAW,EAAG,UAAU,EAAQ,EAAI,CAAE,EAAM,CAC5C,MAAQ,GACN,EAAgB,SAAS,mBAAoB,CAAE,QAAO,CAAC,CAC1D,CAAC,CAEJ,OAAS,GACP,EAAO,WAAW,CAChB,QAAW,EAAG,GAAG,EAAQ,EAAI,CAAC,CAC9B,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAEJ,KAAO,GACL,EAAO,WAAW,CAChB,QAAW,EAAG,QAAQ,EAAU,CAChC,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAAC,KACD,EAAO,IAAK,GACH,EACJ,OACE,GAAS,EAAK,SAAS,QAAQ,EAAI,EAAK,WAAW,EAAU,CAC/D,CACA,IAAK,GAAS,EAAK,SAAS,EAAM,QAAQ,CAAC,CAC3C,MAAM,EAAG,IAAM,EAAE,cAAc,EAAE,CAAC,CACrC,CACH,CACJ,CAIH,MAAa,EAAe,GAC1B,EAAM,QAAQ,EAAoB,EAAoB,EAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uploadista/kv-store-filesystem",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.6",
|
|
5
5
|
"description": "File system KV store for Uploadista",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "Uploadista",
|
|
@@ -14,14 +14,15 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"effect": "3.18.4",
|
|
17
|
-
"@uploadista/core": "0.0.
|
|
17
|
+
"@uploadista/core": "0.0.6"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@types/node": "24.
|
|
21
|
-
"
|
|
20
|
+
"@types/node": "24.9.1",
|
|
21
|
+
"tsdown": "0.15.9",
|
|
22
|
+
"@uploadista/typescript-config": "0.0.6"
|
|
22
23
|
},
|
|
23
24
|
"scripts": {
|
|
24
|
-
"build": "
|
|
25
|
+
"build": "tsdown",
|
|
25
26
|
"format": "biome format --write ./src",
|
|
26
27
|
"lint": "biome lint --write ./src",
|
|
27
28
|
"check": "biome check --write ./src"
|
package/tsdown.config.ts
ADDED
package/.turbo/turbo-build.log
DELETED
package/.turbo/turbo-check.log
DELETED
package/dist/file-kv-store.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type BaseKvStore, BaseKvStoreService } from "@uploadista/core/types";
|
|
2
|
-
import { Layer } from "effect";
|
|
3
|
-
export type FileKvStoreOptions = {
|
|
4
|
-
directory: string;
|
|
5
|
-
};
|
|
6
|
-
export declare function makeFileBaseKvStore({ directory, }: FileKvStoreOptions): BaseKvStore;
|
|
7
|
-
export declare const fileKvStore: (config: FileKvStoreOptions) => Layer.Layer<BaseKvStoreService, never, never>;
|
|
8
|
-
//# sourceMappingURL=file-kv-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-kv-store.d.ts","sourceRoot":"","sources":["../src/file-kv-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,GACV,EAAE,kBAAkB,GAAG,WAAW,CAwClC;AAGD,eAAO,MAAM,WAAW,GAAI,QAAQ,kBAAkB,kDACU,CAAC"}
|
package/dist/file-kv-store.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs/promises";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { UploadistaError } from "@uploadista/core/errors";
|
|
4
|
-
import { BaseKvStoreService } from "@uploadista/core/types";
|
|
5
|
-
import { Effect, Layer } from "effect";
|
|
6
|
-
// Base Filesystem KV store that stores raw strings
|
|
7
|
-
export function makeFileBaseKvStore({ directory, }) {
|
|
8
|
-
const resolve = (key) => {
|
|
9
|
-
return path.resolve(directory, `${key}.json`);
|
|
10
|
-
};
|
|
11
|
-
return {
|
|
12
|
-
get: (key) => Effect.tryPromise({
|
|
13
|
-
try: () => fs.readFile(resolve(key), "utf8"),
|
|
14
|
-
catch: (cause) => UploadistaError.fromCode("FILE_NOT_FOUND", { cause }),
|
|
15
|
-
}),
|
|
16
|
-
set: (key, value) => Effect.tryPromise({
|
|
17
|
-
try: () => fs.writeFile(resolve(key), value),
|
|
18
|
-
catch: (cause) => UploadistaError.fromCode("FILE_WRITE_ERROR", { cause }),
|
|
19
|
-
}),
|
|
20
|
-
delete: (key) => Effect.tryPromise({
|
|
21
|
-
try: () => fs.rm(resolve(key)),
|
|
22
|
-
catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
|
|
23
|
-
}),
|
|
24
|
-
list: (keyPrefix) => Effect.tryPromise({
|
|
25
|
-
try: () => fs.readdir(directory),
|
|
26
|
-
catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
|
|
27
|
-
}).pipe(Effect.map((files) => {
|
|
28
|
-
return files
|
|
29
|
-
.filter((file) => file.endsWith(".json") && file.startsWith(keyPrefix))
|
|
30
|
-
.map((file) => path.basename(file, ".json"))
|
|
31
|
-
.sort((a, b) => a.localeCompare(b));
|
|
32
|
-
})),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
// Base store layer
|
|
36
|
-
export const fileKvStore = (config) => Layer.succeed(BaseKvStoreService, makeFileBaseKvStore(config));
|
package/tsconfig.tsbuildinfo
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"root":["./src/file-kv-store.ts","./src/index.ts"],"version":"5.9.3"}
|