@uploadista/kv-store-cloudflare-do 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.
@@ -1,5 +1,22 @@
1
1
 
2
2
  
3
- > @uploadista/kv-store-cloudflare-do@0.0.2 build /Users/denislaboureyras/Documents/uploadista/dev/uploadista-workspace/uploadista-sdk/packages/kv-stores/cloudflare-do
4
- > tsc -b
3
+ > @uploadista/kv-store-cloudflare-do@0.0.3 build /Users/denislaboureyras/Documents/uploadista/dev/uploadista-workspace/uploadista-sdk/packages/kv-stores/cloudflare-do
4
+ > tsdown
5
5
 
6
+ ℹ tsdown v0.15.9 powered by rolldown v1.0.0-beta.44
7
+ ℹ Using tsdown config: /Users/denislaboureyras/Documents/uploadista/dev/uploadista-workspace/uploadista-sdk/packages/kv-stores/cloudflare-do/tsdown.config.ts
8
+ ℹ entry: src/index.ts
9
+ ℹ tsconfig: tsconfig.json
10
+ ℹ Build start
11
+ ℹ Cleaning 7 files
12
+ ℹ [CJS] dist/index.cjs 2.24 kB │ gzip: 0.71 kB
13
+ ℹ [CJS] 1 files, total: 2.24 kB
14
+ ℹ [ESM] dist/index.js 1.55 kB │ gzip: 0.48 kB
15
+ ℹ [ESM] dist/index.js.map 5.81 kB │ gzip: 1.23 kB
16
+ ℹ [ESM] dist/index.d.ts.map 1.21 kB │ gzip: 0.64 kB
17
+ ℹ [ESM] dist/index.d.ts 2.38 kB │ gzip: 0.61 kB
18
+ ℹ [ESM] 4 files, total: 10.95 kB
19
+ ℹ [CJS] dist/index.d.cts.map 1.22 kB │ gzip: 0.64 kB
20
+ ℹ [CJS] dist/index.d.cts 2.38 kB │ gzip: 0.61 kB
21
+ ℹ [CJS] 2 files, total: 3.59 kB
22
+ ✔ Build complete in 9931ms
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({durableObject:e}){function t(t){let n=e.idFromName(t);return e.get(n)}return{get:e=>{let n=t(e);return u.Effect.tryPromise({try:()=>n.getFlowJob(),catch:e=>c.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}).pipe(u.Effect.flatMap(e=>e===void 0?u.Effect.fail(c.UploadistaError.fromCode(`FILE_NOT_FOUND`)):u.Effect.succeed(e)))},set:(e,n)=>{let r=t(e);return u.Effect.tryPromise({try:()=>r.setFlowJob(n),catch:e=>c.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}).pipe(u.Effect.asVoid)},delete:e=>{let n=t(e);return u.Effect.tryPromise({try:()=>n.deleteFlowJob(),catch:e=>c.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}).pipe(u.Effect.asVoid)}}}const f=d,p=e=>u.Layer.succeed(l.FlowJobKVStore,d(e));function m({durableObject:e}){function t(t){let n=e.idFromName(t);return e.get(n)}return{get:e=>{let n=t(e);return u.Effect.tryPromise({try:()=>n.getUploadFile(),catch:e=>c.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}).pipe(u.Effect.flatMap(e=>e===void 0?u.Effect.fail(c.UploadistaError.fromCode(`FILE_NOT_FOUND`)):u.Effect.succeed(e)))},set:(e,n)=>{let r=t(e);return u.Effect.tryPromise({try:()=>r.setUploadFile(n),catch:e=>c.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}).pipe(u.Effect.asVoid)},delete:e=>{let n=t(e);return u.Effect.tryPromise({try:()=>n.deleteUploadFile(),catch:e=>c.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:e})}).pipe(u.Effect.asVoid)}}}const h=e=>u.Layer.succeed(l.UploadFileKVStore,m(e));exports.cloudflareDoFlowJobKvStore=p,exports.cloudflareDoFlowStore=f,exports.cloudflareDoUploadStore=h,exports.makeCloudflareDoFlowStore=d,exports.makeCloudflareDoUploadStore=m;
@@ -0,0 +1,44 @@
1
+ import { FlowEvent, FlowJob } from "@uploadista/core/flow";
2
+ import { FlowJobKVStore, KvStore, UploadEventType, UploadFile, UploadFileKVStore } from "@uploadista/core/types";
3
+ import { Layer } from "effect";
4
+ import { DurableObjectNamespace, Rpc } from "@cloudflare/workers-types";
5
+
6
+ //#region src/flowjob-durable-object.d.ts
7
+ type FlowJobDurableObjectBranded<T extends FlowJob> = Rpc.DurableObjectBranded & {
8
+ getFlowJob: () => Promise<T | undefined>;
9
+ setFlowJob: (value: T) => Promise<void>;
10
+ deleteFlowJob: () => Promise<void>;
11
+ emit: (event: FlowEvent) => Promise<void>;
12
+ };
13
+ type FlowJobDurableObject<T extends FlowJob> = DurableObjectNamespace<FlowJobDurableObjectBranded<T>>;
14
+ //#endregion
15
+ //#region src/cloudflare-do-flow-store.d.ts
16
+ type CloudflareDoFlowStoreOptions = {
17
+ durableObject: FlowJobDurableObject<FlowJob>;
18
+ };
19
+ declare function makeCloudflareDoFlowStore<T extends FlowJob>({
20
+ durableObject
21
+ }: CloudflareDoFlowStoreOptions): KvStore<T>;
22
+ declare const cloudflareDoFlowStore: typeof makeCloudflareDoFlowStore;
23
+ declare const cloudflareDoFlowJobKvStore: (config: CloudflareDoFlowStoreOptions) => Layer.Layer<FlowJobKVStore, never, never>;
24
+ //#endregion
25
+ //#region src/uploadfile-durable-object.d.ts
26
+ type UploadFileDurableObjectBranded<T extends UploadFile> = Rpc.DurableObjectBranded & {
27
+ getUploadFile: () => Promise<T | undefined>;
28
+ setUploadFile: (value: T) => Promise<void>;
29
+ deleteUploadFile: () => Promise<void>;
30
+ emit: (event: UploadEventType) => Promise<void>;
31
+ };
32
+ type UploadFileDurableObject<T extends UploadFile> = DurableObjectNamespace<UploadFileDurableObjectBranded<T>>;
33
+ //#endregion
34
+ //#region src/cloudflare-do-upload-store.d.ts
35
+ type CloudflareDoUploadStoreOptions = {
36
+ durableObject: UploadFileDurableObject<UploadFile>;
37
+ };
38
+ declare function makeCloudflareDoUploadStore<T extends UploadFile>({
39
+ durableObject
40
+ }: CloudflareDoUploadStoreOptions): KvStore<T>;
41
+ declare const cloudflareDoUploadStore: (config: CloudflareDoUploadStoreOptions) => Layer.Layer<UploadFileKVStore, never, never>;
42
+ //#endregion
43
+ export { CloudflareDoFlowStoreOptions, CloudflareDoUploadStoreOptions, FlowJobDurableObject, FlowJobDurableObjectBranded, UploadFileDurableObject, UploadFileDurableObjectBranded, cloudflareDoFlowJobKvStore, cloudflareDoFlowStore, cloudflareDoUploadStore, makeCloudflareDoFlowStore, makeCloudflareDoUploadStore };
44
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/flowjob-durable-object.ts","../src/cloudflare-do-flow-store.ts","../src/uploadfile-durable-object.ts","../src/cloudflare-do-upload-store.ts"],"sourcesContent":[],"mappings":";;;;;;KAGY,sCAAsC,WAChD,GAAA,CAAI;oBACgB,QAAQ;sBACN,MAAM;uBACL;EAJb,IAAA,EAAA,CAAA,KAAA,EAKM,SALN,EAAA,GAKoB,OALO,CAAA,IAAA,CAAA;CAAW;AAC5C,KAQM,oBARN,CAAA,UAQqC,OARrC,CAAA,GAQgD,sBARhD,CASJ,2BATI,CASwB,CATxB,CAAA,CAAA;;;KCKM,4BAAA;iBACK,qBAAqB;ADPtC,CAAA;AAAkD,iBCUlC,yBDVkC,CAAA,UCUE,ODVF,CAAA,CAAA;EAAA;AAAA,CAAA,ECY/C,4BDZ+C,CAAA,ECYhB,ODZgB,CCYR,CDZQ,CAAA;AAC5C,cCoDO,qBDpDP,EAAA,OCoD4B,yBDpD5B;AACwB,cCqDjB,0BDrDiB,EAAA,CAAA,MAAA,ECsDpB,4BDtDoB,EAAA,GCsDQ,KAAA,CAAA,KDtDR,CCsDQ,cDtDR,EAAA,KAAA,EAAA,KAAA,CAAA;;;KEFlB,yCAAyC,cACnD,GAAA,CAAI;uBACmB,QAAQ;yBACN,MAAM;0BACL;EFJhB,IAAA,EAAA,CAAA,KAAA,EEKM,eFLN,EAA2B,GEKD,OFLC,CAAA,IAAA,CAAA;CAAW;AAC5C,KEQM,uBFRN,CAAA,UEQwC,UFRxC,CAAA,GESJ,sBFTI,CESmB,8BFTnB,CESkD,CFTlD,CAAA,CAAA;;;KGQM,8BAAA;iBACK,wBAAwB;;AHV7B,iBGaI,2BHbuB,CAAA,UGae,UHbf,CAAA,CAAA;EAAA;AAAA,CAAA,EGepC,8BHfoC,CAAA,EGeH,OHfG,CGeK,CHfL,CAAA;AAAW,cGyDrC,uBHzDqC,EAAA,CAAA,MAAA,EG0DxC,8BH1DwC,EAAA,GG0DV,KAAA,CAAA,KH1DU,CG0DV,iBH1DU,EAAA,KAAA,EAAA,KAAA,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,44 @@
1
- export * from "./cloudflare-do-flow-store";
2
- export * from "./cloudflare-do-upload-store";
3
- export * from "./flowjob-durable-object";
4
- export * from "./uploadfile-durable-object";
1
+ import { FlowJobKVStore, KvStore, UploadEventType, UploadFile, UploadFileKVStore } from "@uploadista/core/types";
2
+ import { Layer } from "effect";
3
+ import { FlowEvent, FlowJob } from "@uploadista/core/flow";
4
+ import { DurableObjectNamespace, Rpc } from "@cloudflare/workers-types";
5
+
6
+ //#region src/flowjob-durable-object.d.ts
7
+ type FlowJobDurableObjectBranded<T extends FlowJob> = Rpc.DurableObjectBranded & {
8
+ getFlowJob: () => Promise<T | undefined>;
9
+ setFlowJob: (value: T) => Promise<void>;
10
+ deleteFlowJob: () => Promise<void>;
11
+ emit: (event: FlowEvent) => Promise<void>;
12
+ };
13
+ type FlowJobDurableObject<T extends FlowJob> = DurableObjectNamespace<FlowJobDurableObjectBranded<T>>;
14
+ //#endregion
15
+ //#region src/cloudflare-do-flow-store.d.ts
16
+ type CloudflareDoFlowStoreOptions = {
17
+ durableObject: FlowJobDurableObject<FlowJob>;
18
+ };
19
+ declare function makeCloudflareDoFlowStore<T extends FlowJob>({
20
+ durableObject
21
+ }: CloudflareDoFlowStoreOptions): KvStore<T>;
22
+ declare const cloudflareDoFlowStore: typeof makeCloudflareDoFlowStore;
23
+ declare const cloudflareDoFlowJobKvStore: (config: CloudflareDoFlowStoreOptions) => Layer.Layer<FlowJobKVStore, never, never>;
24
+ //#endregion
25
+ //#region src/uploadfile-durable-object.d.ts
26
+ type UploadFileDurableObjectBranded<T extends UploadFile> = Rpc.DurableObjectBranded & {
27
+ getUploadFile: () => Promise<T | undefined>;
28
+ setUploadFile: (value: T) => Promise<void>;
29
+ deleteUploadFile: () => Promise<void>;
30
+ emit: (event: UploadEventType) => Promise<void>;
31
+ };
32
+ type UploadFileDurableObject<T extends UploadFile> = DurableObjectNamespace<UploadFileDurableObjectBranded<T>>;
33
+ //#endregion
34
+ //#region src/cloudflare-do-upload-store.d.ts
35
+ type CloudflareDoUploadStoreOptions = {
36
+ durableObject: UploadFileDurableObject<UploadFile>;
37
+ };
38
+ declare function makeCloudflareDoUploadStore<T extends UploadFile>({
39
+ durableObject
40
+ }: CloudflareDoUploadStoreOptions): KvStore<T>;
41
+ declare const cloudflareDoUploadStore: (config: CloudflareDoUploadStoreOptions) => Layer.Layer<UploadFileKVStore, never, never>;
42
+ //#endregion
43
+ export { CloudflareDoFlowStoreOptions, CloudflareDoUploadStoreOptions, FlowJobDurableObject, FlowJobDurableObjectBranded, UploadFileDurableObject, UploadFileDurableObjectBranded, cloudflareDoFlowJobKvStore, cloudflareDoFlowStore, cloudflareDoUploadStore, makeCloudflareDoFlowStore, makeCloudflareDoUploadStore };
5
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/flowjob-durable-object.ts","../src/cloudflare-do-flow-store.ts","../src/uploadfile-durable-object.ts","../src/cloudflare-do-upload-store.ts"],"sourcesContent":[],"mappings":";;;;;;KAGY,sCAAsC,WAChD,GAAA,CAAI;oBACgB,QAAQ;sBACN,MAAM;uBACL;EAJb,IAAA,EAAA,CAAA,KAAA,EAKM,SALN,EAAA,GAKoB,OALO,CAAA,IAAA,CAAA;CAAW;AAC5C,KAQM,oBARN,CAAA,UAQqC,OARrC,CAAA,GAQgD,sBARhD,CASJ,2BATI,CASwB,CATxB,CAAA,CAAA;;;KCKM,4BAAA;iBACK,qBAAqB;ADPtC,CAAA;AAAkD,iBCUlC,yBDVkC,CAAA,UCUE,ODVF,CAAA,CAAA;EAAA;AAAA,CAAA,ECY/C,4BDZ+C,CAAA,ECYhB,ODZgB,CCYR,CDZQ,CAAA;AAC5C,cCoDO,qBDpDP,EAAA,OCoD4B,yBDpD5B;AACwB,cCqDjB,0BDrDiB,EAAA,CAAA,MAAA,ECsDpB,4BDtDoB,EAAA,GCsDQ,KAAA,CAAA,KDtDR,CCsDQ,cDtDR,EAAA,KAAA,EAAA,KAAA,CAAA;;;KEFlB,yCAAyC,cACnD,GAAA,CAAI;uBACmB,QAAQ;yBACN,MAAM;0BACL;EFJhB,IAAA,EAAA,CAAA,KAAA,EEKM,eFLN,EAA2B,GEKD,OFLC,CAAA,IAAA,CAAA;CAAW;AAC5C,KEQM,uBFRN,CAAA,UEQwC,UFRxC,CAAA,GESJ,sBFTI,CESmB,8BFTnB,CESkD,CFTlD,CAAA,CAAA;;;KGQM,8BAAA;iBACK,wBAAwB;;AHV7B,iBGaI,2BHbuB,CAAA,UGae,UHbf,CAAA,CAAA;EAAA;AAAA,CAAA,EGepC,8BHfoC,CAAA,EGeH,OHfG,CGeK,CHfL,CAAA;AAAW,cGyDrC,uBHzDqC,EAAA,CAAA,MAAA,EG0DxC,8BH1DwC,EAAA,GG0DV,KAAA,CAAA,KH1DU,CG0DV,iBH1DU,EAAA,KAAA,EAAA,KAAA,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,2 @@
1
- export * from "./cloudflare-do-flow-store";
2
- export * from "./cloudflare-do-upload-store";
3
- export * from "./flowjob-durable-object";
4
- export * from "./uploadfile-durable-object";
1
+ import{UploadistaError as e}from"@uploadista/core/errors";import{FlowJobKVStore as t,UploadFileKVStore as n}from"@uploadista/core/types";import{Effect as r,Layer as i}from"effect";function a({durableObject:t}){function n(e){let n=t.idFromName(e);return t.get(n)}return{get:t=>{let i=n(t);return r.tryPromise({try:()=>i.getFlowJob(),catch:t=>e.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(r.flatMap(t=>t===void 0?r.fail(e.fromCode(`FILE_NOT_FOUND`)):r.succeed(t)))},set:(t,i)=>{let a=n(t);return r.tryPromise({try:()=>a.setFlowJob(i),catch:t=>e.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(r.asVoid)},delete:t=>{let i=n(t);return r.tryPromise({try:()=>i.deleteFlowJob(),catch:t=>e.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(r.asVoid)}}}const o=a,s=e=>i.succeed(t,a(e));function c({durableObject:t}){function n(e){let n=t.idFromName(e);return t.get(n)}return{get:t=>{let i=n(t);return r.tryPromise({try:()=>i.getUploadFile(),catch:t=>e.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(r.flatMap(t=>t===void 0?r.fail(e.fromCode(`FILE_NOT_FOUND`)):r.succeed(t)))},set:(t,i)=>{let a=n(t);return r.tryPromise({try:()=>a.setUploadFile(i),catch:t=>e.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(r.asVoid)},delete:t=>{let i=n(t);return r.tryPromise({try:()=>i.deleteUploadFile(),catch:t=>e.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(r.asVoid)}}}const l=e=>i.succeed(n,c(e));export{s as cloudflareDoFlowJobKvStore,o as cloudflareDoFlowStore,l as cloudflareDoUploadStore,a as makeCloudflareDoFlowStore,c as makeCloudflareDoUploadStore};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/cloudflare-do-flow-store.ts","../src/cloudflare-do-upload-store.ts"],"sourcesContent":["import { UploadistaError } from \"@uploadista/core/errors\";\nimport type { FlowJob } from \"@uploadista/core/flow\";\nimport { type KvStore, FlowJobKVStore } from \"@uploadista/core/types\";\nimport { Effect, Layer } from \"effect\";\nimport type {\n FlowJobDurableObject,\n FlowJobDurableObjectBranded,\n} from \"./flowjob-durable-object\";\n\nexport type CloudflareDoFlowStoreOptions = {\n durableObject: FlowJobDurableObject<FlowJob>;\n};\n\nexport function makeCloudflareDoFlowStore<T extends FlowJob>({\n durableObject,\n}: CloudflareDoFlowStoreOptions): KvStore<T> {\n function getStub(key: string): FlowJobDurableObjectBranded<T> {\n const id = durableObject.idFromName(key);\n return durableObject.get(id) as unknown as FlowJobDurableObjectBranded<T>;\n }\n\n return {\n get: (key: string) => {\n const stub = getStub(key);\n return Effect.tryPromise({\n try: () => stub.getFlowJob(),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }).pipe(\n Effect.flatMap((value) => {\n if (value === undefined) {\n return Effect.fail(UploadistaError.fromCode(\"FILE_NOT_FOUND\"));\n }\n return Effect.succeed(value);\n }),\n );\n },\n\n set: (key: string, value: T) => {\n const stub = getStub(key);\n return Effect.tryPromise({\n try: () => stub.setFlowJob(value),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }).pipe(Effect.asVoid);\n },\n\n delete: (key: string) => {\n const stub = getStub(key);\n return Effect.tryPromise({\n try: () => stub.deleteFlowJob(),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }).pipe(Effect.asVoid);\n },\n };\n}\n\n// Legacy function for backward compatibility\nexport const cloudflareDoFlowStore = makeCloudflareDoFlowStore;\n\nexport const cloudflareDoFlowJobKvStore = (\n config: CloudflareDoFlowStoreOptions,\n) => Layer.succeed(FlowJobKVStore, makeCloudflareDoFlowStore(config));\n","import { UploadistaError } from \"@uploadista/core/errors\";\nimport {\n type KvStore,\n type UploadFile,\n UploadFileKVStore,\n} from \"@uploadista/core/types\";\nimport { Effect, Layer } from \"effect\";\nimport type {\n UploadFileDurableObject,\n UploadFileDurableObjectBranded,\n} from \"./uploadfile-durable-object\";\n\nexport type CloudflareDoUploadStoreOptions = {\n durableObject: UploadFileDurableObject<UploadFile>;\n};\n\nexport function makeCloudflareDoUploadStore<T extends UploadFile>({\n durableObject,\n}: CloudflareDoUploadStoreOptions): KvStore<T> {\n function getStub(key: string): UploadFileDurableObjectBranded<T> {\n const id = durableObject.idFromName(key);\n return durableObject.get(\n id,\n ) as unknown as UploadFileDurableObjectBranded<T>;\n }\n\n return {\n get: (key: string) => {\n const stub = getStub(key);\n return Effect.tryPromise({\n try: () => stub.getUploadFile(),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }).pipe(\n Effect.flatMap((value) => {\n if (value === undefined) {\n return Effect.fail(UploadistaError.fromCode(\"FILE_NOT_FOUND\"));\n }\n return Effect.succeed(value);\n }),\n );\n },\n\n set: (key: string, value: T) => {\n const stub = getStub(key);\n return Effect.tryPromise({\n try: () => stub.setUploadFile(value),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }).pipe(Effect.asVoid);\n },\n\n delete: (key: string) => {\n const stub = getStub(key);\n return Effect.tryPromise({\n try: () => stub.deleteUploadFile(),\n catch: (cause) => UploadistaError.fromCode(\"UNKNOWN_ERROR\", { cause }),\n }).pipe(Effect.asVoid);\n },\n };\n}\n\nexport const cloudflareDoUploadStore = (\n config: CloudflareDoUploadStoreOptions,\n) => Layer.succeed(UploadFileKVStore, makeCloudflareDoUploadStore(config));\n"],"mappings":"oLAaA,SAAgB,EAA6C,CAC3D,iBAC2C,CAC3C,SAAS,EAAQ,EAA6C,CAC5D,IAAM,EAAK,EAAc,WAAW,EAAI,CACxC,OAAO,EAAc,IAAI,EAAG,CAG9B,MAAO,CACL,IAAM,GAAgB,CACpB,IAAM,EAAO,EAAQ,EAAI,CACzB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,YAAY,CAC5B,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAAC,KACD,EAAO,QAAS,GACV,IAAU,IAAA,GACL,EAAO,KAAK,EAAgB,SAAS,iBAAiB,CAAC,CAEzD,EAAO,QAAQ,EAAM,CAC5B,CACH,EAGH,KAAM,EAAa,IAAa,CAC9B,IAAM,EAAO,EAAQ,EAAI,CACzB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,WAAW,EAAM,CACjC,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAAC,KAAK,EAAO,OAAO,EAGxB,OAAS,GAAgB,CACvB,IAAM,EAAO,EAAQ,EAAI,CACzB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,eAAe,CAC/B,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAAC,KAAK,EAAO,OAAO,EAEzB,CAIH,MAAa,EAAwB,EAExB,EACX,GACG,EAAM,QAAQ,EAAgB,EAA0B,EAAO,CAAC,CC5CrE,SAAgB,EAAkD,CAChE,iBAC6C,CAC7C,SAAS,EAAQ,EAAgD,CAC/D,IAAM,EAAK,EAAc,WAAW,EAAI,CACxC,OAAO,EAAc,IACnB,EACD,CAGH,MAAO,CACL,IAAM,GAAgB,CACpB,IAAM,EAAO,EAAQ,EAAI,CACzB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,eAAe,CAC/B,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAAC,KACD,EAAO,QAAS,GACV,IAAU,IAAA,GACL,EAAO,KAAK,EAAgB,SAAS,iBAAiB,CAAC,CAEzD,EAAO,QAAQ,EAAM,CAC5B,CACH,EAGH,KAAM,EAAa,IAAa,CAC9B,IAAM,EAAO,EAAQ,EAAI,CACzB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,cAAc,EAAM,CACpC,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAAC,KAAK,EAAO,OAAO,EAGxB,OAAS,GAAgB,CACvB,IAAM,EAAO,EAAQ,EAAI,CACzB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,kBAAkB,CAClC,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,QAAO,CAAC,CACvE,CAAC,CAAC,KAAK,EAAO,OAAO,EAEzB,CAGH,MAAa,EACX,GACG,EAAM,QAAQ,EAAmB,EAA4B,EAAO,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@uploadista/kv-store-cloudflare-do",
3
3
  "type": "module",
4
- "version": "0.0.3",
4
+ "version": "0.0.4",
5
5
  "description": "Cloudflare Durable Object 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.3"
18
+ "@uploadista/core": "0.0.4"
19
19
  },
20
20
  "devDependencies": {
21
- "@uploadista/typescript-config": "0.0.3"
21
+ "tsdown": "0.15.9",
22
+ "@uploadista/typescript-config": "0.0.4"
22
23
  },
23
24
  "scripts": {
24
- "build": "tsc -b",
25
+ "build": "tsdown",
25
26
  "format": "biome format --write ./src",
26
27
  "lint": "biome lint --write ./src",
27
28
  "check": "biome check --write ./src"
@@ -0,0 +1,11 @@
1
+ import { defineConfig } from "tsdown";
2
+
3
+ export default defineConfig({
4
+ entry: {
5
+ index: "src/index.ts",
6
+ },
7
+ minify: true,
8
+ format: ["esm", "cjs"],
9
+ dts: true,
10
+ outDir: "dist",
11
+ });
@@ -1,11 +0,0 @@
1
- import type { FlowJob } from "@uploadista/core/flow";
2
- import { type KvStore, FlowJobKVStore } from "@uploadista/core/types";
3
- import { Layer } from "effect";
4
- import type { FlowJobDurableObject } from "./flowjob-durable-object";
5
- export type CloudflareDoFlowStoreOptions = {
6
- durableObject: FlowJobDurableObject<FlowJob>;
7
- };
8
- export declare function makeCloudflareDoFlowStore<T extends FlowJob>({ durableObject, }: CloudflareDoFlowStoreOptions): KvStore<T>;
9
- export declare const cloudflareDoFlowStore: typeof makeCloudflareDoFlowStore;
10
- export declare const cloudflareDoFlowJobKvStore: (config: CloudflareDoFlowStoreOptions) => Layer.Layer<FlowJobKVStore, never, never>;
11
- //# sourceMappingURL=cloudflare-do-flow-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloudflare-do-flow-store.d.ts","sourceRoot":"","sources":["../src/cloudflare-do-flow-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,4BAA4B,GAAG;IACzC,aAAa,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;CAC9C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,OAAO,EAAE,EAC3D,aAAa,GACd,EAAE,4BAA4B,GAAG,OAAO,CAAC,CAAC,CAAC,CAsC3C;AAGD,eAAO,MAAM,qBAAqB,kCAA4B,CAAC;AAE/D,eAAO,MAAM,0BAA0B,GACrC,QAAQ,4BAA4B,8CAC+B,CAAC"}
@@ -1,40 +0,0 @@
1
- import { UploadistaError } from "@uploadista/core/errors";
2
- import { FlowJobKVStore } from "@uploadista/core/types";
3
- import { Effect, Layer } from "effect";
4
- export function makeCloudflareDoFlowStore({ durableObject, }) {
5
- function getStub(key) {
6
- const id = durableObject.idFromName(key);
7
- return durableObject.get(id);
8
- }
9
- return {
10
- get: (key) => {
11
- const stub = getStub(key);
12
- return Effect.tryPromise({
13
- try: () => stub.getFlowJob(),
14
- catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
15
- }).pipe(Effect.flatMap((value) => {
16
- if (value === undefined) {
17
- return Effect.fail(UploadistaError.fromCode("FILE_NOT_FOUND"));
18
- }
19
- return Effect.succeed(value);
20
- }));
21
- },
22
- set: (key, value) => {
23
- const stub = getStub(key);
24
- return Effect.tryPromise({
25
- try: () => stub.setFlowJob(value),
26
- catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
27
- }).pipe(Effect.asVoid);
28
- },
29
- delete: (key) => {
30
- const stub = getStub(key);
31
- return Effect.tryPromise({
32
- try: () => stub.deleteFlowJob(),
33
- catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
34
- }).pipe(Effect.asVoid);
35
- },
36
- };
37
- }
38
- // Legacy function for backward compatibility
39
- export const cloudflareDoFlowStore = makeCloudflareDoFlowStore;
40
- export const cloudflareDoFlowJobKvStore = (config) => Layer.succeed(FlowJobKVStore, makeCloudflareDoFlowStore(config));
@@ -1,7 +0,0 @@
1
- import type { KvStore } from "@uploadista/core/types/kv-store";
2
- import type { UploadFile } from "@uploadista/core/types/upload-file";
3
- import type { UploadFileDurableObject } from "./uploadfile-durable-object";
4
- export declare function cloudflareDoStore<T extends UploadFile>({ durableObject, }: {
5
- durableObject: UploadFileDurableObject<T>;
6
- }): KvStore<T>;
7
- //# sourceMappingURL=cloudflare-do-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloudflare-do-store.d.ts","sourceRoot":"","sources":["../src/cloudflare-do-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,6BAA6B,CAAC;AAErC,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,EACtD,aAAa,GACd,EAAE;IACD,aAAa,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;CAC3C,GAAG,OAAO,CAAC,CAAC,CAAC,CA8Bb"}
@@ -1,28 +0,0 @@
1
- export function cloudflareDoStore({ durableObject, }) {
2
- function getStub(key) {
3
- const id = durableObject.idFromName(key);
4
- return durableObject.get(id);
5
- }
6
- return {
7
- get: async (key) => {
8
- const stub = getStub(key);
9
- const result = await stub.getUploadFile();
10
- return result;
11
- },
12
- set: async (key, value) => {
13
- const stub = getStub(key);
14
- await stub.setUploadFile(value);
15
- },
16
- delete: async (key) => {
17
- const stub = getStub(key);
18
- await stub.deleteUploadFile();
19
- },
20
- emit: async (key, event) => {
21
- const stub = getStub(key);
22
- const result = await stub.getUploadFile();
23
- if (result) {
24
- await stub.emit(event);
25
- }
26
- },
27
- };
28
- }
@@ -1,9 +0,0 @@
1
- import { type KvStore, type UploadFile, UploadFileKVStore } from "@uploadista/core/types";
2
- import { Layer } from "effect";
3
- import type { UploadFileDurableObject } from "./uploadfile-durable-object";
4
- export type CloudflareDoUploadStoreOptions = {
5
- durableObject: UploadFileDurableObject<UploadFile>;
6
- };
7
- export declare function makeCloudflareDoUploadStore<T extends UploadFile>({ durableObject, }: CloudflareDoUploadStoreOptions): KvStore<T>;
8
- export declare const cloudflareDoUploadStore: (config: CloudflareDoUploadStoreOptions) => Layer.Layer<UploadFileKVStore, never, never>;
9
- //# sourceMappingURL=cloudflare-do-upload-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloudflare-do-upload-store.d.ts","sourceRoot":"","sources":["../src/cloudflare-do-upload-store.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,aAAa,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAC;CACpD,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,UAAU,EAAE,EAChE,aAAa,GACd,EAAE,8BAA8B,GAAG,OAAO,CAAC,CAAC,CAAC,CAwC7C;AAED,eAAO,MAAM,uBAAuB,GAClC,QAAQ,8BAA8B,iDACkC,CAAC"}
@@ -1,38 +0,0 @@
1
- import { UploadistaError } from "@uploadista/core/errors";
2
- import { UploadFileKVStore, } from "@uploadista/core/types";
3
- import { Effect, Layer } from "effect";
4
- export function makeCloudflareDoUploadStore({ durableObject, }) {
5
- function getStub(key) {
6
- const id = durableObject.idFromName(key);
7
- return durableObject.get(id);
8
- }
9
- return {
10
- get: (key) => {
11
- const stub = getStub(key);
12
- return Effect.tryPromise({
13
- try: () => stub.getUploadFile(),
14
- catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
15
- }).pipe(Effect.flatMap((value) => {
16
- if (value === undefined) {
17
- return Effect.fail(UploadistaError.fromCode("FILE_NOT_FOUND"));
18
- }
19
- return Effect.succeed(value);
20
- }));
21
- },
22
- set: (key, value) => {
23
- const stub = getStub(key);
24
- return Effect.tryPromise({
25
- try: () => stub.setUploadFile(value),
26
- catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
27
- }).pipe(Effect.asVoid);
28
- },
29
- delete: (key) => {
30
- const stub = getStub(key);
31
- return Effect.tryPromise({
32
- try: () => stub.deleteUploadFile(),
33
- catch: (cause) => UploadistaError.fromCode("UNKNOWN_ERROR", { cause }),
34
- }).pipe(Effect.asVoid);
35
- },
36
- };
37
- }
38
- export const cloudflareDoUploadStore = (config) => Layer.succeed(UploadFileKVStore, makeCloudflareDoUploadStore(config));
@@ -1,10 +0,0 @@
1
- import type { DurableObjectNamespace, Rpc } from "@cloudflare/workers-types";
2
- import type { FlowEvent, FlowJob } from "@uploadista/core/flow";
3
- export type FlowJobDurableObjectBranded<T extends FlowJob> = Rpc.DurableObjectBranded & {
4
- getFlowJob: () => Promise<T | undefined>;
5
- setFlowJob: (value: T) => Promise<void>;
6
- deleteFlowJob: () => Promise<void>;
7
- emit: (event: FlowEvent) => Promise<void>;
8
- };
9
- export type FlowJobDurableObject<T extends FlowJob> = DurableObjectNamespace<FlowJobDurableObjectBranded<T>>;
10
- //# sourceMappingURL=flowjob-durable-object.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flowjob-durable-object.d.ts","sourceRoot":"","sources":["../src/flowjob-durable-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,OAAO,IACvD,GAAG,CAAC,oBAAoB,GAAG;IACzB,UAAU,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C,CAAC;AAGJ,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,OAAO,IAAI,sBAAsB,CAC1E,2BAA2B,CAAC,CAAC,CAAC,CAC/B,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import type { DurableObjectNamespace, Rpc } from "@cloudflare/workers-types";
2
- import type { UploadEventType, UploadFile } from "@uploadista/core/types";
3
- export type UploadFileDurableObjectBranded<T extends UploadFile> = Rpc.DurableObjectBranded & {
4
- getUploadFile: () => Promise<T | undefined>;
5
- setUploadFile: (value: T) => Promise<void>;
6
- deleteUploadFile: () => Promise<void>;
7
- emit: (event: UploadEventType) => Promise<void>;
8
- };
9
- export type UploadFileDurableObject<T extends UploadFile> = DurableObjectNamespace<UploadFileDurableObjectBranded<T>>;
10
- //# sourceMappingURL=uploadfile-durable-object.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uploadfile-durable-object.d.ts","sourceRoot":"","sources":["../src/uploadfile-durable-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE1E,MAAM,MAAM,8BAA8B,CAAC,CAAC,SAAS,UAAU,IAC7D,GAAG,CAAC,oBAAoB,GAAG;IACzB,aAAa,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,CAAC;AAGJ,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,UAAU,IACtD,sBAAsB,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};