@uploadista/kv-store-cloudflare-kv 0.0.3 → 0.0.4
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/.turbo/turbo-build.log +19 -2
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +15 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +14 -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 +5 -4
- package/tsdown.config.ts +11 -0
- package/dist/cloudflare-kv-store.d.ts +0 -9
- package/dist/cloudflare-kv-store.d.ts.map +0 -1
- package/dist/cloudflare-kv-store.js +0 -42
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @uploadista/kv-store-cloudflare-kv@0.0.
|
|
4
|
-
>
|
|
3
|
+
> @uploadista/kv-store-cloudflare-kv@0.0.3 build /Users/denislaboureyras/Documents/uploadista/dev/uploadista-workspace/uploadista-sdk/packages/kv-stores/cloudflare-kv
|
|
4
|
+
> tsdown
|
|
5
5
|
|
|
6
|
+
[34mℹ[39m tsdown [2mv0.15.9[22m powered by rolldown [2mv1.0.0-beta.44[22m
|
|
7
|
+
[34mℹ[39m Using tsdown config: [4m/Users/denislaboureyras/Documents/uploadista/dev/uploadista-workspace/uploadista-sdk/packages/kv-stores/cloudflare-kv/tsdown.config.ts[24m
|
|
8
|
+
[34mℹ[39m entry: [34msrc/index.ts[39m
|
|
9
|
+
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
10
|
+
[34mℹ[39m Build start
|
|
11
|
+
[34mℹ[39m Cleaning 7 files
|
|
12
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mindex.cjs[22m [2m1.46 kB[22m [2m│ gzip: 0.70 kB[22m
|
|
13
|
+
[34mℹ[39m [33m[CJS][39m 1 files, total: 1.46 kB
|
|
14
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mindex.js[22m [2m0.91 kB[22m [2m│ gzip: 0.47 kB[22m
|
|
15
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex.js.map [2m3.28 kB[22m [2m│ gzip: 1.12 kB[22m
|
|
16
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex.d.ts.map [2m0.34 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
17
|
+
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m0.60 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
18
|
+
[34mℹ[39m [34m[ESM][39m 4 files, total: 5.14 kB
|
|
19
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22mindex.d.cts.map [2m0.34 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
20
|
+
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32m[1mindex.d.cts[22m[39m [2m0.61 kB[22m [2m│ gzip: 0.30 kB[22m
|
|
21
|
+
[34mℹ[39m [33m[CJS][39m 2 files, total: 0.94 kB
|
|
22
|
+
[32m✔[39m Build complete in [32m8580ms[39m
|
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(`@uploadista/core/errors`);c=s(c);let l=require(`@uploadista/core/types`);l=s(l);let u=require(`effect`);u=s(u);function d({kv:e}){return{get:t=>u.Effect.tryPromise({try:()=>e.get(t),catch:e=>c.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}),set:(t,n)=>u.Effect.tryPromise({try:()=>e.put(t,n),catch:e=>c.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}).pipe(u.Effect.asVoid),delete:t=>u.Effect.tryPromise({try:()=>e.delete(t),catch:e=>c.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}).pipe(u.Effect.asVoid),list:t=>u.Effect.gen(function*(n){let r=new Set,i=null;do{let a=yield*n(u.Effect.tryPromise({try:()=>e.list({prefix:t,limit:20,cursor:i}),catch:e=>c.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}));i=a.list_complete?null:a.cursor;for(let e of a.keys){let n=e.name.replace(t,``);r.add(n)}}while(i);return Array.from(r)})}}const f=e=>u.Layer.succeed(l.BaseKvStoreService,d(e));exports.cloudflareKvStore=f,exports.makeCloudflareBaseKvStore=d;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { KVNamespace } from "@cloudflare/workers-types";
|
|
2
|
+
import { BaseKvStore, BaseKvStoreService } from "@uploadista/core/types";
|
|
3
|
+
import { Layer } from "effect";
|
|
4
|
+
|
|
5
|
+
//#region src/cloudflare-kv-store.d.ts
|
|
6
|
+
type CloudflareKvStoreConfig = {
|
|
7
|
+
kv: KVNamespace<string>;
|
|
8
|
+
};
|
|
9
|
+
declare function makeCloudflareBaseKvStore({
|
|
10
|
+
kv
|
|
11
|
+
}: CloudflareKvStoreConfig): BaseKvStore;
|
|
12
|
+
declare const cloudflareKvStore: (config: CloudflareKvStoreConfig) => Layer.Layer<BaseKvStoreService, never, never>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { CloudflareKvStoreConfig, cloudflareKvStore, makeCloudflareBaseKvStore };
|
|
15
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/cloudflare-kv-store.ts"],"sourcesContent":[],"mappings":";;;;;KASY,uBAAA;MACN;AADN,CAAA;AAKgB,iBAAA,yBAAA,CAAyB;EAAA;AAAA,CAAA,EAEtC,uBAFsC,CAAA,EAEZ,WAFY;AACvC,cAqDW,iBArDX,EAAA,CAAA,MAAA,EAqDwC,uBArDxC,EAAA,GAqD+D,KAAA,CAAA,KArD/D,CAqD+D,kBArD/D,EAAA,KAAA,EAAA,KAAA,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
import { BaseKvStore, BaseKvStoreService } from "@uploadista/core/types";
|
|
2
|
+
import { Layer } from "effect";
|
|
3
|
+
import { KVNamespace } from "@cloudflare/workers-types";
|
|
4
|
+
|
|
5
|
+
//#region src/cloudflare-kv-store.d.ts
|
|
6
|
+
type CloudflareKvStoreConfig = {
|
|
7
|
+
kv: KVNamespace<string>;
|
|
8
|
+
};
|
|
9
|
+
declare function makeCloudflareBaseKvStore({
|
|
10
|
+
kv
|
|
11
|
+
}: CloudflareKvStoreConfig): BaseKvStore;
|
|
12
|
+
declare const cloudflareKvStore: (config: CloudflareKvStoreConfig) => Layer.Layer<BaseKvStoreService, never, never>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { CloudflareKvStoreConfig, cloudflareKvStore, makeCloudflareBaseKvStore };
|
|
2
15
|
//# 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/cloudflare-kv-store.ts"],"sourcesContent":[],"mappings":";;;;;KASY,uBAAA;MACN;AADN,CAAA;AAKgB,iBAAA,yBAAA,CAAyB;EAAA;AAAA,CAAA,EAEtC,uBAFsC,CAAA,EAEZ,WAFY;AACvC,cAqDW,iBArDX,EAAA,CAAA,MAAA,EAqDwC,uBArDxC,EAAA,GAqD+D,KAAA,CAAA,KArD/D,CAqD+D,kBArD/D,EAAA,KAAA,EAAA,KAAA,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import{UploadistaError as e}from"@uploadista/core/errors";import{BaseKvStoreService as t}from"@uploadista/core/types";import{Effect as n,Layer as r}from"effect";function i({kv:t}){return{get:r=>n.tryPromise({try:()=>t.get(r),catch:t=>e.fromCode(`UNKNOWN_ERROR`,{cause:t})}),set:(r,i)=>n.tryPromise({try:()=>t.put(r,i),catch:t=>e.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.asVoid),delete:r=>n.tryPromise({try:()=>t.delete(r),catch:t=>e.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.asVoid),list:r=>n.gen(function*(i){let a=new Set,o=null;do{let s=yield*i(n.tryPromise({try:()=>t.list({prefix:r,limit:20,cursor:o}),catch:t=>e.fromCode(`UNKNOWN_ERROR`,{cause:t})}));o=s.list_complete?null:s.cursor;for(let e of s.keys){let t=e.name.replace(r,``);a.add(t)}}while(o);return Array.from(a)})}}const a=e=>r.succeed(t,i(e));export{a as cloudflareKvStore,i as makeCloudflareBaseKvStore};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["cursor: string | null","result: KVNamespaceListResult<unknown, string>"],"sources":["../src/cloudflare-kv-store.ts"],"sourcesContent":["import type {\n KVNamespace,\n KVNamespaceListResult,\n} from \"@cloudflare/workers-types\";\nimport { UploadistaError } from \"@uploadista/core/errors\";\n\nimport { type BaseKvStore, BaseKvStoreService } from \"@uploadista/core/types\";\nimport { Effect, Layer } from \"effect\";\n\nexport type CloudflareKvStoreConfig = {\n kv: KVNamespace<string>;\n};\n\n// Base CloudFlare KV store that stores raw strings\nexport function makeCloudflareBaseKvStore({\n kv,\n}: CloudflareKvStoreConfig): BaseKvStore {\n return {\n get: (key: string) =>\n Effect.tryPromise({\n try: () => kv.get(key),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }),\n\n set: (key: string, value: string) =>\n Effect.tryPromise({\n try: () => kv.put(key, value),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }).pipe(Effect.asVoid),\n\n delete: (key: string) =>\n Effect.tryPromise({\n try: () => kv.delete(key),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }).pipe(Effect.asVoid),\n\n list: (keyPrefix: string) =>\n Effect.gen(function* (_) {\n const keys = new Set<string>();\n let cursor: string | null = null;\n\n do {\n const result: KVNamespaceListResult<unknown, string> = yield* _(\n Effect.tryPromise({\n try: () =>\n kv.list({\n prefix: keyPrefix,\n limit: 20,\n cursor,\n }),\n catch: (cause) =>\n UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }),\n );\n\n cursor = result.list_complete ? null : result.cursor;\n for (const key of result.keys) {\n const unprefixedKey = key.name.replace(keyPrefix, \"\");\n keys.add(unprefixedKey);\n }\n } while (cursor);\n\n return Array.from(keys);\n }),\n };\n}\n\n// Base store layer\nexport const cloudflareKvStore = (config: CloudflareKvStoreConfig) =>\n Layer.succeed(BaseKvStoreService, makeCloudflareBaseKvStore(config));\n"],"mappings":"iKAcA,SAAgB,EAA0B,CACxC,MACuC,CACvC,MAAO,CACL,IAAM,GACJ,EAAO,WAAW,CAChB,QAAW,EAAG,IAAI,EAAI,CACtB,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAEJ,KAAM,EAAa,IACjB,EAAO,WAAW,CAChB,QAAW,EAAG,IAAI,EAAK,EAAM,CAC7B,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAAC,KAAK,EAAO,OAAO,CAExB,OAAS,GACP,EAAO,WAAW,CAChB,QAAW,EAAG,OAAO,EAAI,CACzB,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAAC,KAAK,EAAO,OAAO,CAExB,KAAO,GACL,EAAO,IAAI,UAAW,EAAG,CACvB,IAAM,EAAO,IAAI,IACbA,EAAwB,KAE5B,EAAG,CACD,IAAMC,EAAiD,MAAO,EAC5D,EAAO,WAAW,CAChB,QACE,EAAG,KAAK,CACN,OAAQ,EACR,MAAO,GACP,SACD,CAAC,CACJ,MAAQ,GACN,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvD,CAAC,CACH,CAED,EAAS,EAAO,cAAgB,KAAO,EAAO,OAC9C,IAAK,IAAM,KAAO,EAAO,KAAM,CAC7B,IAAM,EAAgB,EAAI,KAAK,QAAQ,EAAW,GAAG,CACrD,EAAK,IAAI,EAAc,QAElB,GAET,OAAO,MAAM,KAAK,EAAK,EACvB,CACL,CAIH,MAAa,EAAqB,GAChC,EAAM,QAAQ,EAAoB,EAA0B,EAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uploadista/kv-store-cloudflare-kv",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.4",
|
|
5
5
|
"description": "Cloudflare KV store for Uploadista",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "Uploadista",
|
|
@@ -15,13 +15,14 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@cloudflare/workers-types": "4.20251011.0",
|
|
17
17
|
"effect": "3.18.4",
|
|
18
|
-
"@uploadista/core": "0.0.
|
|
18
|
+
"@uploadista/core": "0.0.4"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"
|
|
21
|
+
"tsdown": "0.15.9",
|
|
22
|
+
"@uploadista/typescript-config": "0.0.4"
|
|
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
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { KVNamespace } from "@cloudflare/workers-types";
|
|
2
|
-
import { type BaseKvStore, BaseKvStoreService } from "@uploadista/core/types";
|
|
3
|
-
import { Layer } from "effect";
|
|
4
|
-
export type CloudflareKvStoreConfig = {
|
|
5
|
-
kv: KVNamespace<string>;
|
|
6
|
-
};
|
|
7
|
-
export declare function makeCloudflareBaseKvStore({ kv, }: CloudflareKvStoreConfig): BaseKvStore;
|
|
8
|
-
export declare const cloudflareKvStore: (config: CloudflareKvStoreConfig) => Layer.Layer<BaseKvStoreService, never, never>;
|
|
9
|
-
//# sourceMappingURL=cloudflare-kv-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-kv-store.d.ts","sourceRoot":"","sources":["../src/cloudflare-kv-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,KAAK,WAAW,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC;AAGF,wBAAgB,yBAAyB,CAAC,EACxC,EAAE,GACH,EAAE,uBAAuB,GAAG,WAAW,CAiDvC;AAGD,eAAO,MAAM,iBAAiB,GAAI,QAAQ,uBAAuB,kDACK,CAAC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { UploadistaError } from "@uploadista/core/errors";
|
|
2
|
-
import { BaseKvStoreService } from "@uploadista/core/types";
|
|
3
|
-
import { Effect, Layer } from "effect";
|
|
4
|
-
// Base CloudFlare KV store that stores raw strings
|
|
5
|
-
export function makeCloudflareBaseKvStore({ kv, }) {
|
|
6
|
-
return {
|
|
7
|
-
get: (key) => Effect.tryPromise({
|
|
8
|
-
try: () => kv.get(key),
|
|
9
|
-
catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
|
|
10
|
-
}),
|
|
11
|
-
set: (key, value) => Effect.tryPromise({
|
|
12
|
-
try: () => kv.put(key, value),
|
|
13
|
-
catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
|
|
14
|
-
}).pipe(Effect.asVoid),
|
|
15
|
-
delete: (key) => Effect.tryPromise({
|
|
16
|
-
try: () => kv.delete(key),
|
|
17
|
-
catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
|
|
18
|
-
}).pipe(Effect.asVoid),
|
|
19
|
-
list: (keyPrefix) => Effect.gen(function* (_) {
|
|
20
|
-
const keys = new Set();
|
|
21
|
-
let cursor = null;
|
|
22
|
-
do {
|
|
23
|
-
const result = yield* _(Effect.tryPromise({
|
|
24
|
-
try: () => kv.list({
|
|
25
|
-
prefix: keyPrefix,
|
|
26
|
-
limit: 20,
|
|
27
|
-
cursor,
|
|
28
|
-
}),
|
|
29
|
-
catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
|
|
30
|
-
}));
|
|
31
|
-
cursor = result.list_complete ? null : result.cursor;
|
|
32
|
-
for (const key of result.keys) {
|
|
33
|
-
const unprefixedKey = key.name.replace(keyPrefix, "");
|
|
34
|
-
keys.add(unprefixedKey);
|
|
35
|
-
}
|
|
36
|
-
} while (cursor);
|
|
37
|
-
return Array.from(keys);
|
|
38
|
-
}),
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
// Base store layer
|
|
42
|
-
export const cloudflareKvStore = (config) => Layer.succeed(BaseKvStoreService, makeCloudflareBaseKvStore(config));
|