@uploadista/kv-store-cloudflare-do 1.0.0-beta.3 → 1.0.0

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 CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@uploadista/core/errors`),t=require(`@uploadista/core/types`),n=require(`effect`);function r({durableObject:t}){function r(e){let n=t.idFromName(e);return t.get(n)}return{get:t=>{let i=r(t);return n.Effect.tryPromise({try:()=>i.getFlowJob(),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.flatMap(t=>t===void 0?n.Effect.fail(e.UploadistaError.fromCode(`FILE_NOT_FOUND`)):n.Effect.succeed(t)))},set:(t,i)=>{let a=r(t);return n.Effect.tryPromise({try:()=>a.setFlowJob(i),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.asVoid)},delete:t=>{let i=r(t);return n.Effect.tryPromise({try:()=>i.deleteFlowJob(),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.asVoid)}}}const i=r,a=e=>n.Layer.succeed(t.FlowJobKVStore,r(e));function o({durableObject:t}){function r(e){let n=t.idFromName(e);return t.get(n)}return{get:t=>{let i=r(t);return n.Effect.tryPromise({try:()=>i.getUploadFile(),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.flatMap(t=>t===void 0?n.Effect.fail(e.UploadistaError.fromCode(`FILE_NOT_FOUND`)):n.Effect.succeed(t)))},set:(t,i)=>{let a=r(t);return n.Effect.tryPromise({try:()=>a.setUploadFile(i),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.asVoid)},delete:t=>{let i=r(t);return n.Effect.tryPromise({try:()=>i.deleteUploadFile(),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.asVoid)}}}const s=e=>n.Layer.succeed(t.UploadFileKVStore,o(e));exports.cloudflareDoFlowJobKvStore=a,exports.cloudflareDoFlowStore=i,exports.cloudflareDoUploadStore=s,exports.makeCloudflareDoFlowStore=r,exports.makeCloudflareDoUploadStore=o;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@uploadista/core/errors"),t=require("@uploadista/core/types"),n=require("effect");function r({durableObject:t}){function r(e){let n=t.idFromName(e);return t.get(n)}return{get:t=>{let i=r(t);return n.Effect.tryPromise({try:()=>i.getFlowJob(),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.flatMap(t=>t===void 0?n.Effect.fail(e.UploadistaError.fromCode(`FILE_NOT_FOUND`)):n.Effect.succeed(t)))},set:(t,i)=>{let a=r(t);return n.Effect.tryPromise({try:()=>a.setFlowJob(i),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.asVoid)},delete:t=>{let i=r(t);return n.Effect.tryPromise({try:()=>i.deleteFlowJob(),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.asVoid)}}}const i=r,a=e=>n.Layer.succeed(t.FlowJobKVStore,r(e));function o({durableObject:t}){function r(e){let n=t.idFromName(e);return t.get(n)}return{get:t=>{let i=r(t);return n.Effect.tryPromise({try:()=>i.getUploadFile(),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.flatMap(t=>t===void 0?n.Effect.fail(e.UploadistaError.fromCode(`FILE_NOT_FOUND`)):n.Effect.succeed(t)))},set:(t,i)=>{let a=r(t);return n.Effect.tryPromise({try:()=>a.setUploadFile(i),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.asVoid)},delete:t=>{let i=r(t);return n.Effect.tryPromise({try:()=>i.deleteUploadFile(),catch:t=>e.UploadistaError.fromCode(`UNKNOWN_ERROR`,{cause:t})}).pipe(n.Effect.asVoid)}}}const s=e=>n.Layer.succeed(t.UploadFileKVStore,o(e));exports.cloudflareDoFlowJobKvStore=a,exports.cloudflareDoFlowStore=i,exports.cloudflareDoUploadStore=s,exports.makeCloudflareDoFlowStore=r,exports.makeCloudflareDoUploadStore=o;
@@ -1 +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"],"mappings":";;;;;;KAGY,2BAAA,WAAsC,OAAA,IAChD,GAAA,CAAI,oBAAA;EACF,UAAA,QAAkB,OAAA,CAAQ,CAAA;EAC1B,UAAA,GAAa,KAAA,EAAO,CAAA,KAAM,OAAA;EAC1B,aAAA,QAAqB,OAAA;EACrB,IAAA,GAAO,KAAA,EAAO,SAAA,KAAc,OAAA;AAAA;AAAA,KAIpB,oBAAA,WAA+B,OAAA,IAAW,sBAAA,CACpD,2BAAA,CAA4B,CAAA;;;KCJlB,4BAAA;EACV,aAAA,EAAe,oBAAA,CAAqB,OAAA;AAAA;AAAA,iBAGtB,yBAAA,WAAoC,OAAA,CAAA,CAAA;EAClD;AAAA,GACC,4BAAA,GAA+B,OAAA,CAAQ,CAAA;AAAA,cAyC7B,qBAAA,SAAqB,yBAAA;AAAA,cAErB,0BAAA,GACX,MAAA,EAAQ,4BAAA,KAA4B,KAAA,CAAA,KAAA,CAAA,cAAA;;;KCxD1B,8BAAA,WAAyC,UAAA,IACnD,GAAA,CAAI,oBAAA;EACF,aAAA,QAAqB,OAAA,CAAQ,CAAA;EAC7B,aAAA,GAAgB,KAAA,EAAO,CAAA,KAAM,OAAA;EAC7B,gBAAA,QAAwB,OAAA;EACxB,IAAA,GAAO,KAAA,EAAO,eAAA,KAAoB,OAAA;AAAA;AAAA,KAI1B,uBAAA,WAAkC,UAAA,IAC5C,sBAAA,CAAuB,8BAAA,CAA+B,CAAA;;;KCD5C,8BAAA;EACV,aAAA,EAAe,uBAAA,CAAwB,UAAA;AAAA;AAAA,iBAGzB,2BAAA,WAAsC,UAAA,CAAA,CAAA;EACpD;AAAA,GACC,8BAAA,GAAiC,OAAA,CAAQ,CAAA;AAAA,cA0C/B,uBAAA,GACX,MAAA,EAAQ,8BAAA,KAA8B,KAAA,CAAA,KAAA,CAAA,iBAAA"}
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"],"mappings":";;;;;;KAGY,2BAAA,WAAsC,OAAA,IAChD,GAAA,CAAI,oBAAA;EACF,UAAA,QAAkB,OAAA,CAAQ,CAAA;EAC1B,UAAA,GAAa,KAAA,EAAO,CAAA,KAAM,OAAA;EAC1B,aAAA,QAAqB,OAAA;EACrB,IAAA,GAAO,KAAA,EAAO,SAAA,KAAc,OAAA;AAAA;AAAA,KAIpB,oBAAA,WAA+B,OAAA,IAAW,sBAAA,CACpD,2BAAA,CAA4B,CAAA;;;KCJlB,4BAAA;EACV,aAAA,EAAe,oBAAoB,CAAC,OAAA;AAAA;AAAA,iBAGtB,yBAAA,WAAoC,OAAA;EAClD;AAAA,GACC,4BAAA,GAA+B,OAAA,CAAQ,CAAA;AAAA,cAyC7B,qBAAA,SAAqB,yBAA4B;AAAA,cAEjD,0BAAA,GACX,MAAA,EAAQ,4BAAA,KAA4B,KAAA,CAAA,KAAA,CAAA,cAAA;;;KCxD1B,8BAAA,WAAyC,UAAA,IACnD,GAAA,CAAI,oBAAA;EACF,aAAA,QAAqB,OAAA,CAAQ,CAAA;EAC7B,aAAA,GAAgB,KAAA,EAAO,CAAA,KAAM,OAAA;EAC7B,gBAAA,QAAwB,OAAA;EACxB,IAAA,GAAO,KAAA,EAAO,eAAA,KAAoB,OAAA;AAAA;AAAA,KAI1B,uBAAA,WAAkC,UAAA,IAC5C,sBAAA,CAAuB,8BAAA,CAA+B,CAAA;;;KCD5C,8BAAA;EACV,aAAA,EAAe,uBAAuB,CAAC,UAAA;AAAA;AAAA,iBAGzB,2BAAA,WAAsC,UAAA;EACpD;AAAA,GACC,8BAAA,GAAiC,OAAA,CAAQ,CAAA;AAAA,cA0C/B,uBAAA,GACX,MAAA,EAAQ,8BAAA,KAA8B,KAAA,CAAA,KAAA,CAAA,iBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/flowjob-durable-object.ts","../src/cloudflare-do-flow-store.ts","../src/uploadfile-durable-object.ts","../src/cloudflare-do-upload-store.ts"],"mappings":";;;;;;KAGY,2BAAA,WAAsC,OAAA,IAChD,GAAA,CAAI,oBAAA;EACF,UAAA,QAAkB,OAAA,CAAQ,CAAA;EAC1B,UAAA,GAAa,KAAA,EAAO,CAAA,KAAM,OAAA;EAC1B,aAAA,QAAqB,OAAA;EACrB,IAAA,GAAO,KAAA,EAAO,SAAA,KAAc,OAAA;AAAA;AAAA,KAIpB,oBAAA,WAA+B,OAAA,IAAW,sBAAA,CACpD,2BAAA,CAA4B,CAAA;;;KCJlB,4BAAA;EACV,aAAA,EAAe,oBAAA,CAAqB,OAAA;AAAA;AAAA,iBAGtB,yBAAA,WAAoC,OAAA,CAAA,CAAA;EAClD;AAAA,GACC,4BAAA,GAA+B,OAAA,CAAQ,CAAA;AAAA,cAyC7B,qBAAA,SAAqB,yBAAA;AAAA,cAErB,0BAAA,GACX,MAAA,EAAQ,4BAAA,KAA4B,KAAA,CAAA,KAAA,CAAA,cAAA;;;KCxD1B,8BAAA,WAAyC,UAAA,IACnD,GAAA,CAAI,oBAAA;EACF,aAAA,QAAqB,OAAA,CAAQ,CAAA;EAC7B,aAAA,GAAgB,KAAA,EAAO,CAAA,KAAM,OAAA;EAC7B,gBAAA,QAAwB,OAAA;EACxB,IAAA,GAAO,KAAA,EAAO,eAAA,KAAoB,OAAA;AAAA;AAAA,KAI1B,uBAAA,WAAkC,UAAA,IAC5C,sBAAA,CAAuB,8BAAA,CAA+B,CAAA;;;KCD5C,8BAAA;EACV,aAAA,EAAe,uBAAA,CAAwB,UAAA;AAAA;AAAA,iBAGzB,2BAAA,WAAsC,UAAA,CAAA,CAAA;EACpD;AAAA,GACC,8BAAA,GAAiC,OAAA,CAAQ,CAAA;AAAA,cA0C/B,uBAAA,GACX,MAAA,EAAQ,8BAAA,KAA8B,KAAA,CAAA,KAAA,CAAA,iBAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/flowjob-durable-object.ts","../src/cloudflare-do-flow-store.ts","../src/uploadfile-durable-object.ts","../src/cloudflare-do-upload-store.ts"],"mappings":";;;;;;KAGY,2BAAA,WAAsC,OAAA,IAChD,GAAA,CAAI,oBAAA;EACF,UAAA,QAAkB,OAAA,CAAQ,CAAA;EAC1B,UAAA,GAAa,KAAA,EAAO,CAAA,KAAM,OAAA;EAC1B,aAAA,QAAqB,OAAA;EACrB,IAAA,GAAO,KAAA,EAAO,SAAA,KAAc,OAAA;AAAA;AAAA,KAIpB,oBAAA,WAA+B,OAAA,IAAW,sBAAA,CACpD,2BAAA,CAA4B,CAAA;;;KCJlB,4BAAA;EACV,aAAA,EAAe,oBAAoB,CAAC,OAAA;AAAA;AAAA,iBAGtB,yBAAA,WAAoC,OAAA;EAClD;AAAA,GACC,4BAAA,GAA+B,OAAA,CAAQ,CAAA;AAAA,cAyC7B,qBAAA,SAAqB,yBAA4B;AAAA,cAEjD,0BAAA,GACX,MAAA,EAAQ,4BAAA,KAA4B,KAAA,CAAA,KAAA,CAAA,cAAA;;;KCxD1B,8BAAA,WAAyC,UAAA,IACnD,GAAA,CAAI,oBAAA;EACF,aAAA,QAAqB,OAAA,CAAQ,CAAA;EAC7B,aAAA,GAAgB,KAAA,EAAO,CAAA,KAAM,OAAA;EAC7B,gBAAA,QAAwB,OAAA;EACxB,IAAA,GAAO,KAAA,EAAO,eAAA,KAAoB,OAAA;AAAA;AAAA,KAI1B,uBAAA,WAAkC,UAAA,IAC5C,sBAAA,CAAuB,8BAAA,CAA+B,CAAA;;;KCD5C,8BAAA;EACV,aAAA,EAAe,uBAAuB,CAAC,UAAA;AAAA;AAAA,iBAGzB,2BAAA,WAAsC,UAAA;EACpD;AAAA,GACC,8BAAA,GAAiC,OAAA,CAAQ,CAAA;AAAA,cA0C/B,uBAAA,GACX,MAAA,EAAQ,8BAAA,KAA8B,KAAA,CAAA,KAAA,CAAA,iBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","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 { FlowJobKVStore, type KvStore } 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"}
1
+ {"version":3,"file":"index.mjs","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 { FlowJobKVStore, type KvStore } 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,CAAG,EACvC,OAAO,EAAc,IAAI,CAAE,CAC7B,CAEA,MAAO,CACL,IAAM,GAAgB,CACpB,IAAM,EAAO,EAAQ,CAAG,EACxB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,WAAW,EAC3B,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,OAAM,CAAC,CACvE,CAAC,CAAC,CAAC,KACD,EAAO,QAAS,GACV,IAAU,IAAA,GACL,EAAO,KAAK,EAAgB,SAAS,gBAAgB,CAAC,EAExD,EAAO,QAAQ,CAAK,CAC5B,CACH,CACF,EAEA,KAAM,EAAa,IAAa,CAC9B,IAAM,EAAO,EAAQ,CAAG,EACxB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,WAAW,CAAK,EAChC,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,OAAM,CAAC,CACvE,CAAC,CAAC,CAAC,KAAK,EAAO,MAAM,CACvB,EAEA,OAAS,GAAgB,CACvB,IAAM,EAAO,EAAQ,CAAG,EACxB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,cAAc,EAC9B,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,OAAM,CAAC,CACvE,CAAC,CAAC,CAAC,KAAK,EAAO,MAAM,CACvB,CACF,CACF,CAGA,MAAa,EAAwB,EAExB,EACX,GACG,EAAM,QAAQ,EAAgB,EAA0B,CAAM,CAAC,EC5CpE,SAAgB,EAAkD,CAChE,iBAC6C,CAC7C,SAAS,EAAQ,EAAgD,CAC/D,IAAM,EAAK,EAAc,WAAW,CAAG,EACvC,OAAO,EAAc,IACnB,CACF,CACF,CAEA,MAAO,CACL,IAAM,GAAgB,CACpB,IAAM,EAAO,EAAQ,CAAG,EACxB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,cAAc,EAC9B,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,OAAM,CAAC,CACvE,CAAC,CAAC,CAAC,KACD,EAAO,QAAS,GACV,IAAU,IAAA,GACL,EAAO,KAAK,EAAgB,SAAS,gBAAgB,CAAC,EAExD,EAAO,QAAQ,CAAK,CAC5B,CACH,CACF,EAEA,KAAM,EAAa,IAAa,CAC9B,IAAM,EAAO,EAAQ,CAAG,EACxB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,cAAc,CAAK,EACnC,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,OAAM,CAAC,CACvE,CAAC,CAAC,CAAC,KAAK,EAAO,MAAM,CACvB,EAEA,OAAS,GAAgB,CACvB,IAAM,EAAO,EAAQ,CAAG,EACxB,OAAO,EAAO,WAAW,CACvB,QAAW,EAAK,iBAAiB,EACjC,MAAQ,GAAU,EAAgB,SAAS,gBAAiB,CAAE,OAAM,CAAC,CACvE,CAAC,CAAC,CAAC,KAAK,EAAO,MAAM,CACvB,CACF,CACF,CAEA,MAAa,EACX,GACG,EAAM,QAAQ,EAAmB,EAA4B,CAAM,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": "1.0.0-beta.3",
4
+ "version": "1.0.0",
5
5
  "description": "Cloudflare Durable Object KV store for Uploadista",
6
6
  "license": "MIT",
7
7
  "author": "Uploadista",
@@ -14,18 +14,18 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@cloudflare/workers-types": "4.20260301.1",
18
- "@uploadista/core": "1.0.0-beta.3"
17
+ "@cloudflare/workers-types": "5.20260708.1",
18
+ "@uploadista/core": "1.0.0"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "effect": "^3.0.0"
22
22
  },
23
23
  "devDependencies": {
24
- "@effect/vitest": "0.27.0",
25
- "effect": "3.19.19",
26
- "tsdown": "0.20.3",
27
- "vitest": "4.0.18",
28
- "@uploadista/typescript-config": "1.0.0-beta.3"
24
+ "@effect/vitest": "0.29.0",
25
+ "effect": "3.21.4",
26
+ "tsdown": "0.22.3",
27
+ "vitest": "4.1.10",
28
+ "@uploadista/typescript-config": "1.0.0"
29
29
  },
30
30
  "scripts": {
31
31
  "build": "tsc --noEmit && tsdown",
package/tsconfig.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "extends": "@uploadista/typescript-config/server.json",
3
3
  "compilerOptions": {
4
- "baseUrl": "./",
5
4
  "paths": {
6
5
  "@/*": ["./src/*"]
7
6
  },