@gaganref/confect-server 0.0.0-stage → 10.3.1-fork.10
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/CHANGELOG.md +2119 -0
- package/LICENSE +7 -0
- package/README.md +16 -2
- package/dist/ActionCtx.d.ts +10 -0
- package/dist/ActionCtx.d.ts.map +1 -0
- package/dist/ActionCtx.js +18 -0
- package/dist/ActionCtx.js.map +1 -0
- package/dist/ActionRunner.d.ts +16 -0
- package/dist/ActionRunner.d.ts.map +1 -0
- package/dist/ActionRunner.js +18 -0
- package/dist/ActionRunner.js.map +1 -0
- package/dist/AiGatewayDecisionClient.d.ts +20 -0
- package/dist/AiGatewayDecisionClient.d.ts.map +1 -0
- package/dist/AiGatewayDecisionClient.js +31 -0
- package/dist/AiGatewayDecisionClient.js.map +1 -0
- package/dist/AiGatewayDecisionModel.d.ts +24 -0
- package/dist/AiGatewayDecisionModel.d.ts.map +1 -0
- package/dist/AiGatewayDecisionModel.js +27 -0
- package/dist/AiGatewayDecisionModel.js.map +1 -0
- package/dist/AiGatewayLanguageClient.d.ts +21 -0
- package/dist/AiGatewayLanguageClient.d.ts.map +1 -0
- package/dist/AiGatewayLanguageClient.js +32 -0
- package/dist/AiGatewayLanguageClient.js.map +1 -0
- package/dist/AiGatewayLanguageModel.d.ts +95 -0
- package/dist/AiGatewayLanguageModel.d.ts.map +1 -0
- package/dist/AiGatewayLanguageModel.js +42 -0
- package/dist/AiGatewayLanguageModel.js.map +1 -0
- package/dist/Auth.d.ts +20 -0
- package/dist/Auth.d.ts.map +1 -0
- package/dist/Auth.js +31 -0
- package/dist/Auth.js.map +1 -0
- package/dist/BlobNotFoundError.d.ts +9 -0
- package/dist/BlobNotFoundError.d.ts.map +1 -0
- package/dist/BlobNotFoundError.js +13 -0
- package/dist/BlobNotFoundError.js.map +1 -0
- package/dist/Callback.d.ts +31 -0
- package/dist/Callback.d.ts.map +1 -0
- package/dist/Callback.js +182 -0
- package/dist/Callback.js.map +1 -0
- package/dist/ComponentCtx.d.ts +71 -0
- package/dist/ComponentCtx.d.ts.map +1 -0
- package/dist/ComponentCtx.js +0 -0
- package/dist/ConvexConfigProvider.d.ts +21 -0
- package/dist/ConvexConfigProvider.d.ts.map +1 -0
- package/dist/ConvexConfigProvider.js +36 -0
- package/dist/ConvexConfigProvider.js.map +1 -0
- package/dist/ConvexFunctionDefinitions.d.ts +25 -0
- package/dist/ConvexFunctionDefinitions.d.ts.map +1 -0
- package/dist/ConvexFunctionDefinitions.js +25 -0
- package/dist/ConvexFunctionDefinitions.js.map +1 -0
- package/dist/ConvexLogger.d.ts +17 -0
- package/dist/ConvexLogger.d.ts.map +1 -0
- package/dist/ConvexLogger.js +33 -0
- package/dist/ConvexLogger.js.map +1 -0
- package/dist/CronJob.d.ts +14 -0
- package/dist/CronJob.d.ts.map +1 -0
- package/dist/CronJob.js +22 -0
- package/dist/CronJob.js.map +1 -0
- package/dist/CronJobs.d.ts +22 -0
- package/dist/CronJobs.d.ts.map +1 -0
- package/dist/CronJobs.js +83 -0
- package/dist/CronJobs.js.map +1 -0
- package/dist/DataModel.d.ts +28 -0
- package/dist/DataModel.d.ts.map +1 -0
- package/dist/DataModel.js +7 -0
- package/dist/DataModel.js.map +1 -0
- package/dist/DatabaseReader.d.ts +26 -0
- package/dist/DatabaseReader.d.ts.map +1 -0
- package/dist/DatabaseReader.js +33 -0
- package/dist/DatabaseReader.js.map +1 -0
- package/dist/DatabaseSchema.d.ts +67 -0
- package/dist/DatabaseSchema.d.ts.map +1 -0
- package/dist/DatabaseSchema.js +61 -0
- package/dist/DatabaseSchema.js.map +1 -0
- package/dist/DatabaseWriter.d.ts +44 -0
- package/dist/DatabaseWriter.d.ts.map +1 -0
- package/dist/DatabaseWriter.js +47 -0
- package/dist/DatabaseWriter.js.map +1 -0
- package/dist/Document.d.ts +37 -0
- package/dist/Document.d.ts.map +1 -0
- package/dist/Document.js +54 -0
- package/dist/Document.js.map +1 -0
- package/dist/ExecutionMetadata.d.ts +13 -0
- package/dist/ExecutionMetadata.d.ts.map +1 -0
- package/dist/ExecutionMetadata.js +19 -0
- package/dist/ExecutionMetadata.js.map +1 -0
- package/dist/FunctionImpl.d.ts +39 -0
- package/dist/FunctionImpl.d.ts.map +1 -0
- package/dist/FunctionImpl.js +46 -0
- package/dist/FunctionImpl.js.map +1 -0
- package/dist/FunctionRegistryItem.d.ts +36 -0
- package/dist/FunctionRegistryItem.d.ts.map +1 -0
- package/dist/FunctionRegistryItem.js +34 -0
- package/dist/FunctionRegistryItem.js.map +1 -0
- package/dist/GroupImpl.d.ts +77 -0
- package/dist/GroupImpl.d.ts.map +1 -0
- package/dist/GroupImpl.js +81 -0
- package/dist/GroupImpl.js.map +1 -0
- package/dist/GroupRegistry.d.ts +8 -0
- package/dist/GroupRegistry.d.ts.map +1 -0
- package/dist/GroupRegistry.js +26 -0
- package/dist/GroupRegistry.js.map +1 -0
- package/dist/Handler.d.ts +47 -0
- package/dist/Handler.d.ts.map +1 -0
- package/dist/Handler.js +7 -0
- package/dist/Handler.js.map +1 -0
- package/dist/HttpRouter.d.ts +80 -0
- package/dist/HttpRouter.d.ts.map +1 -0
- package/dist/HttpRouter.js +195 -0
- package/dist/HttpRouter.js.map +1 -0
- package/dist/MiddlewareImpl.d.ts +79 -0
- package/dist/MiddlewareImpl.d.ts.map +1 -0
- package/dist/MiddlewareImpl.js +58 -0
- package/dist/MiddlewareImpl.js.map +1 -0
- package/dist/MiddlewareRegistryItem.d.ts +12 -0
- package/dist/MiddlewareRegistryItem.d.ts.map +1 -0
- package/dist/MiddlewareRegistryItem.js +15 -0
- package/dist/MiddlewareRegistryItem.js.map +1 -0
- package/dist/MutationCtx.d.ts +10 -0
- package/dist/MutationCtx.d.ts.map +1 -0
- package/dist/MutationCtx.js +18 -0
- package/dist/MutationCtx.js.map +1 -0
- package/dist/MutationRunner.d.ts +27 -0
- package/dist/MutationRunner.d.ts.map +1 -0
- package/dist/MutationRunner.js +28 -0
- package/dist/MutationRunner.js.map +1 -0
- package/dist/MutationTransactionContext.d.ts +17 -0
- package/dist/MutationTransactionContext.d.ts.map +1 -0
- package/dist/MutationTransactionContext.js +20 -0
- package/dist/MutationTransactionContext.js.map +1 -0
- package/dist/OrderedQuery.d.ts +32 -0
- package/dist/OrderedQuery.d.ts.map +1 -0
- package/dist/OrderedQuery.js +36 -0
- package/dist/OrderedQuery.js.map +1 -0
- package/dist/QueryCtx.d.ts +10 -0
- package/dist/QueryCtx.d.ts.map +1 -0
- package/dist/QueryCtx.js +18 -0
- package/dist/QueryCtx.js.map +1 -0
- package/dist/QueryInitializer.d.ts +75 -0
- package/dist/QueryInitializer.d.ts.map +1 -0
- package/dist/QueryInitializer.js +105 -0
- package/dist/QueryInitializer.js.map +1 -0
- package/dist/QueryRunner.d.ts +46 -0
- package/dist/QueryRunner.d.ts.map +1 -0
- package/dist/QueryRunner.js +30 -0
- package/dist/QueryRunner.js.map +1 -0
- package/dist/QueryStream.d.ts +678 -0
- package/dist/QueryStream.d.ts.map +1 -0
- package/dist/QueryStream.js +943 -0
- package/dist/QueryStream.js.map +1 -0
- package/dist/QueryStreamCursor.d.ts +39 -0
- package/dist/QueryStreamCursor.d.ts.map +1 -0
- package/dist/QueryStreamCursor.js +52 -0
- package/dist/QueryStreamCursor.js.map +1 -0
- package/dist/QueryStreamIndexPrefix.d.ts +48 -0
- package/dist/QueryStreamIndexPrefix.d.ts.map +1 -0
- package/dist/QueryStreamIndexPrefix.js +38 -0
- package/dist/QueryStreamIndexPrefix.js.map +1 -0
- package/dist/QueryStreamIndexRange.d.ts +193 -0
- package/dist/QueryStreamIndexRange.d.ts.map +1 -0
- package/dist/QueryStreamIndexRange.js +241 -0
- package/dist/QueryStreamIndexRange.js.map +1 -0
- package/dist/QueryStreamKey.d.ts +64 -0
- package/dist/QueryStreamKey.d.ts.map +1 -0
- package/dist/QueryStreamKey.js +69 -0
- package/dist/QueryStreamKey.js.map +1 -0
- package/dist/QueryStreamKeyBounds.d.ts +136 -0
- package/dist/QueryStreamKeyBounds.d.ts.map +1 -0
- package/dist/QueryStreamKeyBounds.js +208 -0
- package/dist/QueryStreamKeyBounds.js.map +1 -0
- package/dist/QueryStreamKeyLabels.d.ts +27 -0
- package/dist/QueryStreamKeyLabels.d.ts.map +1 -0
- package/dist/QueryStreamKeyLabels.js +22 -0
- package/dist/QueryStreamKeyLabels.js.map +1 -0
- package/dist/QueryStreamKeyLayout.d.ts +179 -0
- package/dist/QueryStreamKeyLayout.d.ts.map +1 -0
- package/dist/QueryStreamKeyLayout.js +167 -0
- package/dist/QueryStreamKeyLayout.js.map +1 -0
- package/dist/QueryStreamKeyValues.d.ts +40 -0
- package/dist/QueryStreamKeyValues.d.ts.map +1 -0
- package/dist/QueryStreamKeyValues.js +57 -0
- package/dist/QueryStreamKeyValues.js.map +1 -0
- package/dist/QueryStreamOrderDirection.d.ts +24 -0
- package/dist/QueryStreamOrderDirection.d.ts.map +1 -0
- package/dist/QueryStreamOrderDirection.js +11 -0
- package/dist/QueryStreamOrderDirection.js.map +1 -0
- package/dist/QueryStreamPagination.d.ts +264 -0
- package/dist/QueryStreamPagination.d.ts.map +1 -0
- package/dist/QueryStreamPagination.js +172 -0
- package/dist/QueryStreamPagination.js.map +1 -0
- package/dist/QueryStreamReadBudget.d.ts +63 -0
- package/dist/QueryStreamReadBudget.d.ts.map +1 -0
- package/dist/QueryStreamReadBudget.js +81 -0
- package/dist/QueryStreamReadBudget.js.map +1 -0
- package/dist/QueryTransactionContext.d.ts +16 -0
- package/dist/QueryTransactionContext.d.ts.map +1 -0
- package/dist/QueryTransactionContext.js +17 -0
- package/dist/QueryTransactionContext.js.map +1 -0
- package/dist/RegisteredConvexFunction.d.ts +359 -0
- package/dist/RegisteredConvexFunction.d.ts.map +1 -0
- package/dist/RegisteredConvexFunction.js +154 -0
- package/dist/RegisteredConvexFunction.js.map +1 -0
- package/dist/RegisteredFunction.d.ts +143 -0
- package/dist/RegisteredFunction.d.ts.map +1 -0
- package/dist/RegisteredFunction.js +125 -0
- package/dist/RegisteredFunction.js.map +1 -0
- package/dist/RegisteredFunctions.d.ts +57 -0
- package/dist/RegisteredFunctions.d.ts.map +1 -0
- package/dist/RegisteredFunctions.js +32 -0
- package/dist/RegisteredFunctions.js.map +1 -0
- package/dist/RegisteredNodeFunction.d.ts +11 -0
- package/dist/RegisteredNodeFunction.d.ts.map +1 -0
- package/dist/RegisteredNodeFunction.js +45 -0
- package/dist/RegisteredNodeFunction.js.map +1 -0
- package/dist/Registry.d.ts +12 -0
- package/dist/Registry.d.ts.map +1 -0
- package/dist/Registry.js +17 -0
- package/dist/Registry.js.map +1 -0
- package/dist/RegistryItems.d.ts +21 -0
- package/dist/RegistryItems.d.ts.map +1 -0
- package/dist/RegistryItems.js +27 -0
- package/dist/RegistryItems.js.map +1 -0
- package/dist/RequestMetadata.d.ts +12 -0
- package/dist/RequestMetadata.d.ts.map +1 -0
- package/dist/RequestMetadata.js +16 -0
- package/dist/RequestMetadata.js.map +1 -0
- package/dist/ResolvedMiddleware.d.ts +24 -0
- package/dist/ResolvedMiddleware.d.ts.map +1 -0
- package/dist/ResolvedMiddleware.js +34 -0
- package/dist/ResolvedMiddleware.js.map +1 -0
- package/dist/Scheduler.d.ts +31 -0
- package/dist/Scheduler.d.ts.map +1 -0
- package/dist/Scheduler.js +35 -0
- package/dist/Scheduler.js.map +1 -0
- package/dist/Storage.d.ts +22 -0
- package/dist/Storage.d.ts.map +1 -0
- package/dist/Storage.js +27 -0
- package/dist/Storage.js.map +1 -0
- package/dist/StorageActionWriter.d.ts +35 -0
- package/dist/StorageActionWriter.d.ts.map +1 -0
- package/dist/StorageActionWriter.js +24 -0
- package/dist/StorageActionWriter.js.map +1 -0
- package/dist/StorageReader.d.ts +26 -0
- package/dist/StorageReader.d.ts.map +1 -0
- package/dist/StorageReader.js +22 -0
- package/dist/StorageReader.js.map +1 -0
- package/dist/StorageWriter.d.ts +29 -0
- package/dist/StorageWriter.d.ts.map +1 -0
- package/dist/StorageWriter.js +24 -0
- package/dist/StorageWriter.js.map +1 -0
- package/dist/Table.d.ts +274 -0
- package/dist/Table.d.ts.map +1 -0
- package/dist/Table.js +70 -0
- package/dist/Table.js.map +1 -0
- package/dist/TableInfo.d.ts +44 -0
- package/dist/TableInfo.d.ts.map +1 -0
- package/dist/TableInfo.js +7 -0
- package/dist/TableInfo.js.map +1 -0
- package/dist/TransactionMetadata.d.ts +12 -0
- package/dist/TransactionMetadata.d.ts.map +1 -0
- package/dist/TransactionMetadata.js +16 -0
- package/dist/TransactionMetadata.js.map +1 -0
- package/dist/VectorSearch.d.ts +23 -0
- package/dist/VectorSearch.d.ts.map +1 -0
- package/dist/VectorSearch.js +17 -0
- package/dist/VectorSearch.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/index.d.ts +88 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +61 -0
- package/dist/internal/AiGatewayDecisionClient.d.ts +7 -0
- package/dist/internal/AiGatewayDecisionClient.d.ts.map +1 -0
- package/dist/internal/AiGatewayDecisionClient.js +19 -0
- package/dist/internal/AiGatewayDecisionClient.js.map +1 -0
- package/dist/internal/AiGatewayLanguageClient.d.ts +7 -0
- package/dist/internal/AiGatewayLanguageClient.d.ts.map +1 -0
- package/dist/internal/AiGatewayLanguageClient.js +19 -0
- package/dist/internal/AiGatewayLanguageClient.js.map +1 -0
- package/dist/internal/AiGatewayServiceToken.d.ts +46 -0
- package/dist/internal/AiGatewayServiceToken.d.ts.map +1 -0
- package/dist/internal/AiGatewayServiceToken.js +62 -0
- package/dist/internal/AiGatewayServiceToken.js.map +1 -0
- package/dist/internal/constants.d.ts +2 -0
- package/dist/internal/constants.d.ts.map +1 -0
- package/dist/internal/constants.js +6 -0
- package/dist/internal/constants.js.map +1 -0
- package/dist/internal/utils.d.ts +13 -0
- package/dist/internal/utils.d.ts.map +1 -0
- package/dist/internal/utils.js +50 -0
- package/dist/internal/utils.js.map +1 -0
- package/dist/node.d.ts +2 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +1 -0
- package/package.json +68 -3
- package/src/ActionCtx.ts +45 -0
- package/src/ActionRunner.ts +36 -0
- package/src/AiGatewayDecisionClient.ts +40 -0
- package/src/AiGatewayDecisionModel.ts +46 -0
- package/src/AiGatewayLanguageClient.ts +41 -0
- package/src/AiGatewayLanguageModel.ts +61 -0
- package/src/Auth.ts +51 -0
- package/src/BlobNotFoundError.ts +12 -0
- package/src/Callback.ts +313 -0
- package/src/ComponentCtx.ts +192 -0
- package/src/ConvexConfigProvider.ts +39 -0
- package/src/ConvexFunctionDefinitions.ts +91 -0
- package/src/ConvexLogger.ts +43 -0
- package/src/CronJob.ts +42 -0
- package/src/CronJobs.ts +165 -0
- package/src/DataModel.ts +81 -0
- package/src/DatabaseReader.ts +118 -0
- package/src/DatabaseSchema.ts +139 -0
- package/src/DatabaseWriter.ts +232 -0
- package/src/Document.ts +146 -0
- package/src/ExecutionMetadata.ts +26 -0
- package/src/FunctionImpl.ts +96 -0
- package/src/FunctionRegistryItem.ts +85 -0
- package/src/GroupImpl.ts +167 -0
- package/src/GroupRegistry.ts +41 -0
- package/src/Handler.ts +191 -0
- package/src/HttpRouter.ts +388 -0
- package/src/MiddlewareImpl.ts +247 -0
- package/src/MiddlewareRegistryItem.ts +21 -0
- package/src/MutationCtx.ts +45 -0
- package/src/MutationRunner.ts +66 -0
- package/src/MutationTransactionContext.ts +48 -0
- package/src/OrderedQuery.ts +136 -0
- package/src/QueryCtx.ts +45 -0
- package/src/QueryInitializer.ts +537 -0
- package/src/QueryRunner.ts +91 -0
- package/src/QueryStream.ts +2476 -0
- package/src/QueryStreamCursor.ts +99 -0
- package/src/QueryStreamIndexPrefix.ts +79 -0
- package/src/QueryStreamIndexRange.ts +489 -0
- package/src/QueryStreamKey.ts +118 -0
- package/src/QueryStreamKeyBounds.ts +395 -0
- package/src/QueryStreamKeyLabels.ts +56 -0
- package/src/QueryStreamKeyLayout.ts +382 -0
- package/src/QueryStreamKeyValues.ts +112 -0
- package/src/QueryStreamOrderDirection.ts +29 -0
- package/src/QueryStreamPagination.ts +357 -0
- package/src/QueryStreamReadBudget.ts +167 -0
- package/src/QueryTransactionContext.ts +37 -0
- package/src/RegisteredConvexFunction.ts +415 -0
- package/src/RegisteredFunction.ts +391 -0
- package/src/RegisteredFunctions.ts +88 -0
- package/src/RegisteredNodeFunction.ts +120 -0
- package/src/Registry.ts +17 -0
- package/src/RegistryItems.ts +40 -0
- package/src/RequestMetadata.ts +20 -0
- package/src/ResolvedMiddleware.ts +70 -0
- package/src/Scheduler.ts +85 -0
- package/src/Storage.ts +37 -0
- package/src/StorageActionWriter.ts +59 -0
- package/src/StorageReader.ts +59 -0
- package/src/StorageWriter.ts +58 -0
- package/src/Table.ts +156 -0
- package/src/TableInfo.ts +106 -0
- package/src/TransactionMetadata.ts +20 -0
- package/src/VectorSearch.ts +75 -0
- package/src/index.ts +87 -0
- package/src/internal/AiGatewayDecisionClient.ts +16 -0
- package/src/internal/AiGatewayLanguageClient.ts +16 -0
- package/src/internal/AiGatewayServiceToken.ts +129 -0
- package/src/internal/constants.ts +1 -0
- package/src/internal/utils.ts +89 -0
- package/src/node.ts +1 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { isMiddlewareRegistryItem } from "./MiddlewareRegistryItem.js";
|
|
3
|
+
import { isFunctionRegistryItem } from "./FunctionRegistryItem.js";
|
|
4
|
+
import { pipe } from "effect/Function";
|
|
5
|
+
import * as Array from "effect/Array";
|
|
6
|
+
import * as Record from "effect/Record";
|
|
7
|
+
//#region src/RegistryItems.ts
|
|
8
|
+
var RegistryItems_exports = /* @__PURE__ */ __exportAll({
|
|
9
|
+
functionNames: () => functionNames,
|
|
10
|
+
middlewareKeys: () => middlewareKeys
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* The names of the function-shaped entries in a group's (flat, isolated)
|
|
14
|
+
* registry. `FunctionImpl.make` registers each function under a single-segment
|
|
15
|
+
* key, so the registry built for one group contains exactly that group's
|
|
16
|
+
* functions at the top level.
|
|
17
|
+
*/
|
|
18
|
+
const functionNames = (items) => pipe(Record.toEntries(items), Array.filter(([, value]) => isFunctionRegistryItem(value)), Array.map(([name]) => name));
|
|
19
|
+
/**
|
|
20
|
+
* The keys of the middleware implementations registered into a group's registry
|
|
21
|
+
* (stored under `middleware:<key>` entries by `MiddlewareImpl`).
|
|
22
|
+
*/
|
|
23
|
+
const middlewareKeys = (items) => pipe(Record.values(items), Array.filter(isMiddlewareRegistryItem), Array.map((item) => item.middlewareSpec.key));
|
|
24
|
+
//#endregion
|
|
25
|
+
export { RegistryItems_exports, functionNames, middlewareKeys };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=RegistryItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegistryItems.js","names":["FunctionRegistryItem.isFunctionRegistryItem","MiddlewareRegistryItem.isMiddlewareRegistryItem"],"sources":["../src/RegistryItems.ts"],"sourcesContent":["import * as Array from \"effect/Array\";\nimport { pipe } from \"effect/Function\";\nimport * as Record from \"effect/Record\";\nimport * as FunctionRegistryItem from \"./FunctionRegistryItem.js\";\nimport * as MiddlewareRegistryItem from \"./MiddlewareRegistryItem.js\";\n\n/**\n * Runtime tree that mirrors a `Spec`'s group structure. Values remain unknown\n * at this boundary so producers and consumers can narrow branches and registry\n * items as needed.\n */\nexport interface RegistryItems {\n readonly [key: string]: unknown;\n}\n\n/**\n * The names of the function-shaped entries in a group's (flat, isolated)\n * registry. `FunctionImpl.make` registers each function under a single-segment\n * key, so the registry built for one group contains exactly that group's\n * functions at the top level.\n */\nexport const functionNames = (items: RegistryItems): ReadonlyArray<string> =>\n pipe(\n Record.toEntries(items),\n Array.filter(([, value]) =>\n FunctionRegistryItem.isFunctionRegistryItem(value),\n ),\n Array.map(([name]) => name),\n );\n\n/**\n * The keys of the middleware implementations registered into a group's registry\n * (stored under `middleware:<key>` entries by `MiddlewareImpl`).\n */\nexport const middlewareKeys = (items: RegistryItems): ReadonlyArray<string> =>\n pipe(\n Record.values(items),\n Array.filter(MiddlewareRegistryItem.isMiddlewareRegistryItem),\n Array.map((item) => item.middlewareSpec.key),\n );\n"],"mappings":";;;;;;;;;;;;;;;;;AAqBA,MAAa,iBAAiB,UAC5B,KACE,OAAO,UAAU,KAAK,GACtB,MAAM,QAAQ,GAAG,WACfA,uBAA4C,KAAK,CACnD,GACA,MAAM,KAAK,CAAC,UAAU,IAAI,CAC5B;;;;;AAMF,MAAa,kBAAkB,UAC7B,KACE,OAAO,OAAO,KAAK,GACnB,MAAM,OAAOC,wBAA+C,GAC5D,MAAM,KAAK,SAAS,KAAK,eAAe,GAAG,CAC7C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MutationMeta } from "convex/server";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
export type { RequestMetadata as Metadata } from "convex/server";
|
|
6
|
+
declare const RequestMetadata_base: Context.ServiceClass<RequestMetadata, "@confect/server/RequestMetadata", {
|
|
7
|
+
get: () => Effect.Effect<import("convex/server").RequestMetadata, never, never>;
|
|
8
|
+
}>;
|
|
9
|
+
export declare class RequestMetadata extends RequestMetadata_base {
|
|
10
|
+
}
|
|
11
|
+
export declare const layer: (meta: Pick<MutationMeta, "getRequestMetadata">) => Layer.Layer<RequestMetadata, never, never>;
|
|
12
|
+
//# sourceMappingURL=RequestMetadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestMetadata.d.ts","sourceRoot":"","sources":["../src/RequestMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,YAAY,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;;;;AAQjE,qBAAa,eAAgB,SAAQ,oBAGC;CAAG;AAEzC,eAAO,MAAM,KAAK,SAAU,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,+CACxB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
//#region src/RequestMetadata.ts
|
|
6
|
+
var RequestMetadata_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
RequestMetadata: () => RequestMetadata,
|
|
8
|
+
layer: () => layer
|
|
9
|
+
});
|
|
10
|
+
const make = (meta) => ({ get: Effect.fn("RequestMetadata.get")(() => Effect.promise(() => meta.getRequestMetadata())) });
|
|
11
|
+
var RequestMetadata = class extends Context.Service()("@confect/server/RequestMetadata") {};
|
|
12
|
+
const layer = (meta) => Layer.succeed(RequestMetadata, make(meta));
|
|
13
|
+
//#endregion
|
|
14
|
+
export { RequestMetadata, RequestMetadata_exports, layer };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=RequestMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestMetadata.js","names":[],"sources":["../src/RequestMetadata.ts"],"sourcesContent":["import type { MutationMeta } from \"convex/server\";\nimport * as Context from \"effect/Context\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\n\nexport type { RequestMetadata as Metadata } from \"convex/server\";\n\nconst make = (meta: Pick<MutationMeta, \"getRequestMetadata\">) => ({\n get: Effect.fn(\"RequestMetadata.get\")(() =>\n Effect.promise(() => meta.getRequestMetadata()),\n ),\n});\n\nexport class RequestMetadata extends Context.Service<\n RequestMetadata,\n ReturnType<typeof make>\n>()(\"@confect/server/RequestMetadata\") {}\n\nexport const layer = (meta: Pick<MutationMeta, \"getRequestMetadata\">) =>\n Layer.succeed(RequestMetadata, make(meta));\n"],"mappings":";;;;;;;;;AAOA,MAAM,QAAQ,UAAoD,EAChE,KAAK,OAAO,GAAG,qBAAqB,CAAC,OACnC,OAAO,cAAc,KAAK,mBAAmB,CAAC,CAChD,EACF;AAEA,IAAa,kBAAb,cAAqC,QAAQ,QAG3C,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC;AAExC,MAAa,SAAS,SACpB,MAAM,QAAQ,iBAAiB,KAAK,IAAI,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type * as MiddlewareSpec from "@confect/core/MiddlewareSpec";
|
|
2
|
+
import type * as FunctionRegistryItem from "./FunctionRegistryItem.js";
|
|
3
|
+
import type * as MiddlewareRegistryItem from "./MiddlewareRegistryItem.js";
|
|
4
|
+
/**
|
|
5
|
+
* A middleware spec paired with its implementation for one function's type—the
|
|
6
|
+
* resolved form consumed by runtime-specific function preparation.
|
|
7
|
+
*/
|
|
8
|
+
export interface ResolvedMiddleware {
|
|
9
|
+
readonly middlewareSpec: MiddlewareSpec.AnyMiddlewareSpec;
|
|
10
|
+
readonly middlewareImpl: MiddlewareSpec.AnyMiddlewareImpl;
|
|
11
|
+
readonly options?: unknown;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Pair each middleware spec attached to a function with its registered
|
|
15
|
+
* implementation for the function's type. Both misses are ruled out by the type
|
|
16
|
+
* system (`GroupImpl.finalize` demands every attached middleware's
|
|
17
|
+
* `MiddlewareImpl` service; `MiddlewareImpl.make`/`makeByFunctionType` cover
|
|
18
|
+
* exactly the declared functionTypes, which `GroupSpec.middleware` requires to
|
|
19
|
+
* cover every function). Spec identity is checked separately because
|
|
20
|
+
* implementation services are keyed by string, so the type system cannot
|
|
21
|
+
* distinguish same-key specs.
|
|
22
|
+
*/
|
|
23
|
+
export declare const resolve: (functionRegistryItem: FunctionRegistryItem.ConfectFunctionRegistryItem, middlewareRegistryItems: ReadonlyMap<string, MiddlewareRegistryItem.MiddlewareRegistryItem>) => ReadonlyArray<ResolvedMiddleware>;
|
|
24
|
+
//# sourceMappingURL=ResolvedMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolvedMiddleware.d.ts","sourceRoot":"","sources":["../src/ResolvedMiddleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,KAAK,sBAAsB,MAAM,6BAA6B,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,iBAAiB,CAAC;IAC1D,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,iBAAiB,CAAC;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,yBACI,oBAAoB,CAAC,2BAA2B,2BAC7C,WAAW,CAClC,MAAM,EACN,sBAAsB,CAAC,sBAAsB,CAC9C,KACA,aAAa,CAAC,kBAAkB,CAqClC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import * as Result from "effect/Result";
|
|
3
|
+
import * as MiddlewareAttachment from "@confect/core/MiddlewareAttachment";
|
|
4
|
+
//#region src/ResolvedMiddleware.ts
|
|
5
|
+
var ResolvedMiddleware_exports = /* @__PURE__ */ __exportAll({ resolve: () => resolve });
|
|
6
|
+
/**
|
|
7
|
+
* Pair each middleware spec attached to a function with its registered
|
|
8
|
+
* implementation for the function's type. Both misses are ruled out by the type
|
|
9
|
+
* system (`GroupImpl.finalize` demands every attached middleware's
|
|
10
|
+
* `MiddlewareImpl` service; `MiddlewareImpl.make`/`makeByFunctionType` cover
|
|
11
|
+
* exactly the declared functionTypes, which `GroupSpec.middleware` requires to
|
|
12
|
+
* cover every function). Spec identity is checked separately because
|
|
13
|
+
* implementation services are keyed by string, so the type system cannot
|
|
14
|
+
* distinguish same-key specs.
|
|
15
|
+
*/
|
|
16
|
+
const resolve = (functionRegistryItem, middlewareRegistryItems) => {
|
|
17
|
+
Result.getOrThrowWith(MiddlewareAttachment.validateAll(functionRegistryItem.middlewareAttachments, `function "${functionRegistryItem.name}"`), (error) => new Error(MiddlewareAttachment.formatValidationError(error)));
|
|
18
|
+
return functionRegistryItem.middlewareAttachments.map(({ spec: middlewareSpec, options }) => {
|
|
19
|
+
const registered = middlewareRegistryItems.get(middlewareSpec.key);
|
|
20
|
+
if (registered === void 0) throw new Error(`Middleware "${middlewareSpec.key}" is attached to this group's spec, but no implementation was provided—pipe the group's impl through \`Layer.provide(MiddlewareImpl.make(...))\` (or \`makeByFunctionType\`/\`provides\`).`);
|
|
21
|
+
if (registered.middlewareSpec !== middlewareSpec) throw new Error(`Middleware "${middlewareSpec.key}" attached to function "${functionRegistryItem.name}" has an implementation registered for a different spec with the same key. Register the implementation using the attached middleware spec.`);
|
|
22
|
+
const middlewareImpl = registered.impls[functionRegistryItem.functionType];
|
|
23
|
+
if (middlewareImpl === void 0) throw new Error(`Middleware "${middlewareSpec.key}" has no implementation for function type "${functionRegistryItem.functionType}", the type of function "${functionRegistryItem.name}". Declare the function type in the middleware's \`functionTypes\` and cover it in \`MiddlewareImpl.makeByFunctionType\`.`);
|
|
24
|
+
return {
|
|
25
|
+
middlewareImpl,
|
|
26
|
+
middlewareSpec,
|
|
27
|
+
options
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
export { ResolvedMiddleware_exports, resolve };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=ResolvedMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolvedMiddleware.js","names":[],"sources":["../src/ResolvedMiddleware.ts"],"sourcesContent":["import * as MiddlewareAttachment from \"@confect/core/MiddlewareAttachment\";\nimport type * as MiddlewareSpec from \"@confect/core/MiddlewareSpec\";\nimport * as Result from \"effect/Result\";\nimport type * as FunctionRegistryItem from \"./FunctionRegistryItem.js\";\nimport type * as MiddlewareRegistryItem from \"./MiddlewareRegistryItem.js\";\n\n/**\n * A middleware spec paired with its implementation for one function's type—the\n * resolved form consumed by runtime-specific function preparation.\n */\nexport interface ResolvedMiddleware {\n readonly middlewareSpec: MiddlewareSpec.AnyMiddlewareSpec;\n readonly middlewareImpl: MiddlewareSpec.AnyMiddlewareImpl;\n readonly options?: unknown;\n}\n\n/**\n * Pair each middleware spec attached to a function with its registered\n * implementation for the function's type. Both misses are ruled out by the type\n * system (`GroupImpl.finalize` demands every attached middleware's\n * `MiddlewareImpl` service; `MiddlewareImpl.make`/`makeByFunctionType` cover\n * exactly the declared functionTypes, which `GroupSpec.middleware` requires to\n * cover every function). Spec identity is checked separately because\n * implementation services are keyed by string, so the type system cannot\n * distinguish same-key specs.\n */\nexport const resolve = (\n functionRegistryItem: FunctionRegistryItem.ConfectFunctionRegistryItem,\n middlewareRegistryItems: ReadonlyMap<\n string,\n MiddlewareRegistryItem.MiddlewareRegistryItem\n >,\n): ReadonlyArray<ResolvedMiddleware> => {\n Result.getOrThrowWith(\n MiddlewareAttachment.validateAll(\n functionRegistryItem.middlewareAttachments,\n `function \"${functionRegistryItem.name}\"`,\n ),\n (error) => new Error(MiddlewareAttachment.formatValidationError(error)),\n );\n return functionRegistryItem.middlewareAttachments.map(\n ({ spec: middlewareSpec, options }) => {\n const registered = middlewareRegistryItems.get(middlewareSpec.key);\n if (registered === undefined) {\n throw new Error(\n `Middleware \"${middlewareSpec.key}\" is attached to this group's spec, but no implementation was provided—pipe the group's impl through \\`Layer.provide(MiddlewareImpl.make(...))\\` (or \\`makeByFunctionType\\`/\\`provides\\`).`,\n );\n }\n if (registered.middlewareSpec !== middlewareSpec) {\n throw new Error(\n `Middleware \"${middlewareSpec.key}\" attached to function \"${functionRegistryItem.name}\" has an implementation registered for a different spec with the same key. Register the implementation using the attached middleware spec.`,\n );\n }\n\n const middlewareImpl =\n registered.impls[functionRegistryItem.functionType];\n if (middlewareImpl === undefined) {\n throw new Error(\n `Middleware \"${middlewareSpec.key}\" has no implementation for function type \"${functionRegistryItem.functionType}\", the type of function \"${functionRegistryItem.name}\". Declare the function type in the middleware's \\`functionTypes\\` and cover it in \\`MiddlewareImpl.makeByFunctionType\\`.`,\n );\n }\n\n return {\n middlewareImpl,\n middlewareSpec,\n options,\n };\n },\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AA0BA,MAAa,WACX,sBACA,4BAIsC;CACtC,OAAO,eACL,qBAAqB,YACnB,qBAAqB,uBACrB,aAAa,qBAAqB,KAAK,EACzC,IACC,UAAU,IAAI,MAAM,qBAAqB,sBAAsB,KAAK,CAAC,CACxE;CACA,OAAO,qBAAqB,sBAAsB,KAC/C,EAAE,MAAM,gBAAgB,cAAc;EACrC,MAAM,aAAa,wBAAwB,IAAI,eAAe,GAAG;EACjE,IAAI,eAAe,KAAA,GACjB,MAAM,IAAI,MACR,eAAe,eAAe,IAAI,2LACpC;EAEF,IAAI,WAAW,mBAAmB,gBAChC,MAAM,IAAI,MACR,eAAe,eAAe,IAAI,0BAA0B,qBAAqB,KAAK,2IACxF;EAGF,MAAM,iBACJ,WAAW,MAAM,qBAAqB;EACxC,IAAI,mBAAmB,KAAA,GACrB,MAAM,IAAI,MACR,eAAe,eAAe,IAAI,6CAA6C,qBAAqB,aAAa,2BAA2B,qBAAqB,KAAK,0HACxK;EAGF,OAAO;GACL;GACA;GACA;EACF;CACF,CACF;AACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type * as IdScope from "@confect/core/IdScope";
|
|
2
|
+
import { Ref } from "@confect/core";
|
|
3
|
+
import type { GenericId } from "@confect/core/GenericId";
|
|
4
|
+
import type { Scheduler as ConvexScheduler } from "convex/server";
|
|
5
|
+
import type { GenericId as ConvexGenericId } from "convex/values";
|
|
6
|
+
import * as Context from "effect/Context";
|
|
7
|
+
import * as DateTime from "effect/DateTime";
|
|
8
|
+
import * as Duration from "effect/Duration";
|
|
9
|
+
import * as Effect from "effect/Effect";
|
|
10
|
+
import * as Layer from "effect/Layer";
|
|
11
|
+
export declare const Scheduler: Context.Service<{
|
|
12
|
+
cancel: (id: ConvexGenericId<"_scheduled_functions">) => Effect.Effect<void, never, never>;
|
|
13
|
+
runAfter: <Ref_ extends Ref.AnyMutation | Ref.AnyAction>(delay: Duration.Duration, ref: Ref_, ...args: Ref.OptionalArgs<Ref_>) => Effect.Effect<ConvexGenericId<"_scheduled_functions">, never, never>;
|
|
14
|
+
runAt: <Ref_ extends Ref.AnyMutation | Ref.AnyAction>(dateTime: DateTime.DateTime, ref: Ref_, ...args: Ref.OptionalArgs<Ref_>) => Effect.Effect<ConvexGenericId<"_scheduled_functions">, never, never>;
|
|
15
|
+
}, {
|
|
16
|
+
cancel: (id: ConvexGenericId<"_scheduled_functions">) => Effect.Effect<void, never, never>;
|
|
17
|
+
runAfter: <Ref_ extends Ref.AnyMutation | Ref.AnyAction>(delay: Duration.Duration, ref: Ref_, ...args: Ref.OptionalArgs<Ref_>) => Effect.Effect<ConvexGenericId<"_scheduled_functions">, never, never>;
|
|
18
|
+
runAt: <Ref_ extends Ref.AnyMutation | Ref.AnyAction>(dateTime: DateTime.DateTime, ref: Ref_, ...args: Ref.OptionalArgs<Ref_>) => Effect.Effect<ConvexGenericId<"_scheduled_functions">, never, never>;
|
|
19
|
+
}>;
|
|
20
|
+
export type Scheduler = typeof Scheduler.Identifier;
|
|
21
|
+
export interface Service<Scope extends IdScope.IdScope = IdScope.App> {
|
|
22
|
+
cancel(id: GenericId<"_scheduled_functions", Scope>): Effect.Effect<void>;
|
|
23
|
+
runAfter<Ref_ extends Ref.AnyMutation | Ref.AnyAction>(delay: Duration.Duration, ref: Ref_, ...args: Ref.OptionalArgs<Ref_>): Effect.Effect<GenericId<"_scheduled_functions", Scope>>;
|
|
24
|
+
runAt<Ref_ extends Ref.AnyMutation | Ref.AnyAction>(dateTime: DateTime.DateTime, ref: Ref_, ...args: Ref.OptionalArgs<Ref_>): Effect.Effect<GenericId<"_scheduled_functions", Scope>>;
|
|
25
|
+
}
|
|
26
|
+
export type ForScope<Scope extends IdScope.IdScope> = Scope extends IdScope.App ? Scheduler : {
|
|
27
|
+
readonly "~ScopedScheduler": Scope;
|
|
28
|
+
};
|
|
29
|
+
export declare const forScope: <Scope extends IdScope.IdScope = IdScope.App>() => Context.Service<ForScope<Scope>, Service<Scope>>;
|
|
30
|
+
export declare const layer: <Scope extends IdScope.IdScope = IdScope.App>(scheduler: ConvexScheduler, _scope?: Scope) => Layer.Layer<ForScope<Scope>, never, never>;
|
|
31
|
+
//# sourceMappingURL=Scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAuCtC,eAAO,MAAM,SAAS;iBApCP,eAAe,CAAC,sBAAsB,CAAC;eAEzC,IAAI,SAAS,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,SAC9C,QAAQ,CAAC,QAAQ,OACnB,IAAI,WACA,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;YAazB,IAAI,SAAS,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,YACxC,QAAQ,CAAC,QAAQ,OACtB,IAAI,WACA,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;;;;;EAiBlC,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,UAAU,CAAC;AAEpD,MAAM,WAAW,OAAO,CAAC,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG;IAClE,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1E,QAAQ,CAAC,IAAI,SAAS,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,EACnD,KAAK,EAAE,QAAQ,CAAC,QAAQ,EACxB,GAAG,EAAE,IAAI,EACT,GAAG,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAC9B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,EAChD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,GAAG,EAAE,IAAI,EACT,GAAG,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAC9B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAC;CAC5D;AAED,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,OAAO,CAAC,OAAO,IAAI,KAAK,SAAS,OAAO,CAAC,GAAG,GAC3E,SAAS,GACT;IAAE,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAA;CAAE,CAAC;AAE3C,eAAO,MAAM,QAAQ,GACnB,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,OACxC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CACN,CAAC;AAE/C,eAAO,MAAM,KAAK,GAAI,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,aACpD,eAAe,WACjB,KAAK,+CAMb,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Duration from "effect/Duration";
|
|
6
|
+
import { Ref } from "@confect/core";
|
|
7
|
+
import * as DateTime from "effect/DateTime";
|
|
8
|
+
//#region src/Scheduler.ts
|
|
9
|
+
var Scheduler_exports = /* @__PURE__ */ __exportAll({
|
|
10
|
+
Scheduler: () => Scheduler,
|
|
11
|
+
forScope: () => forScope,
|
|
12
|
+
layer: () => layer
|
|
13
|
+
});
|
|
14
|
+
const make = (scheduler) => ({
|
|
15
|
+
cancel: (id) => Effect.promise(() => scheduler.cancel(id)),
|
|
16
|
+
runAfter: (delay, ref, ...args) => {
|
|
17
|
+
const delayMs = Duration.toMillis(delay);
|
|
18
|
+
const functionReference = Ref.getFunctionReference(ref);
|
|
19
|
+
const encodedArgs = Ref.encodeArgsSync(ref, args[0] ?? {});
|
|
20
|
+
return Effect.promise(() => scheduler.runAfter(delayMs, functionReference, encodedArgs));
|
|
21
|
+
},
|
|
22
|
+
runAt: (dateTime, ref, ...args) => {
|
|
23
|
+
const timestamp = DateTime.toEpochMillis(dateTime);
|
|
24
|
+
const functionReference = Ref.getFunctionReference(ref);
|
|
25
|
+
const encodedArgs = Ref.encodeArgsSync(ref, args[0] ?? {});
|
|
26
|
+
return Effect.promise(() => scheduler.runAt(timestamp, functionReference, encodedArgs));
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
const Scheduler = Context.Service("@confect/server/Scheduler");
|
|
30
|
+
const forScope = () => Context.Service("@confect/server/Scheduler");
|
|
31
|
+
const layer = (scheduler, _scope) => Layer.succeed(forScope(), make(scheduler));
|
|
32
|
+
//#endregion
|
|
33
|
+
export { Scheduler, Scheduler_exports, forScope, layer };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=Scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scheduler.js","names":[],"sources":["../src/Scheduler.ts"],"sourcesContent":["import type * as IdScope from \"@confect/core/IdScope\";\nimport { Ref } from \"@confect/core\";\nimport type { GenericId } from \"@confect/core/GenericId\";\nimport type { Scheduler as ConvexScheduler } from \"convex/server\";\nimport type { GenericId as ConvexGenericId } from \"convex/values\";\nimport * as Context from \"effect/Context\";\nimport * as DateTime from \"effect/DateTime\";\nimport * as Duration from \"effect/Duration\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\n\nconst make = (scheduler: ConvexScheduler) => ({\n cancel: (id: ConvexGenericId<\"_scheduled_functions\">) =>\n Effect.promise(() => scheduler.cancel(id)),\n runAfter: <Ref_ extends Ref.AnyMutation | Ref.AnyAction>(\n delay: Duration.Duration,\n ref: Ref_,\n ...args: Ref.OptionalArgs<Ref_>\n ) => {\n const delayMs = Duration.toMillis(delay);\n const functionReference = Ref.getFunctionReference(ref);\n const encodedArgs = Ref.encodeArgsSync(\n ref,\n (args[0] ?? {}) as Ref.Args<Ref_>,\n );\n\n return Effect.promise(() =>\n scheduler.runAfter(delayMs, functionReference, encodedArgs),\n );\n },\n runAt: <Ref_ extends Ref.AnyMutation | Ref.AnyAction>(\n dateTime: DateTime.DateTime,\n ref: Ref_,\n ...args: Ref.OptionalArgs<Ref_>\n ) => {\n const timestamp = DateTime.toEpochMillis(dateTime);\n const functionReference = Ref.getFunctionReference(ref);\n const encodedArgs = Ref.encodeArgsSync(\n ref,\n (args[0] ?? {}) as Ref.Args<Ref_>,\n );\n\n return Effect.promise(() =>\n scheduler.runAt(timestamp, functionReference, encodedArgs),\n );\n },\n});\n\nexport const Scheduler = Context.Service<ReturnType<typeof make>>(\n \"@confect/server/Scheduler\",\n);\nexport type Scheduler = typeof Scheduler.Identifier;\n\nexport interface Service<Scope extends IdScope.IdScope = IdScope.App> {\n cancel(id: GenericId<\"_scheduled_functions\", Scope>): Effect.Effect<void>;\n runAfter<Ref_ extends Ref.AnyMutation | Ref.AnyAction>(\n delay: Duration.Duration,\n ref: Ref_,\n ...args: Ref.OptionalArgs<Ref_>\n ): Effect.Effect<GenericId<\"_scheduled_functions\", Scope>>;\n runAt<Ref_ extends Ref.AnyMutation | Ref.AnyAction>(\n dateTime: DateTime.DateTime,\n ref: Ref_,\n ...args: Ref.OptionalArgs<Ref_>\n ): Effect.Effect<GenericId<\"_scheduled_functions\", Scope>>;\n}\n\nexport type ForScope<Scope extends IdScope.IdScope> = Scope extends IdScope.App\n ? Scheduler\n : { readonly \"~ScopedScheduler\": Scope };\n\nexport const forScope = <\n Scope extends IdScope.IdScope = IdScope.App,\n>(): Context.Service<ForScope<Scope>, Service<Scope>> =>\n Context.Service(\"@confect/server/Scheduler\");\n\nexport const layer = <Scope extends IdScope.IdScope = IdScope.App>(\n scheduler: ConvexScheduler,\n _scope?: Scope,\n) =>\n // Scopes are phantom: Convex still receives and returns the same ID strings.\n Layer.succeed(\n forScope<Scope>(),\n make(scheduler) as unknown as Service<Scope>,\n );\n"],"mappings":";;;;;;;;;;;;;AAWA,MAAM,QAAQ,eAAgC;CAC5C,SAAS,OACP,OAAO,cAAc,UAAU,OAAO,EAAE,CAAC;CAC3C,WACE,OACA,KACA,GAAG,SACA;EACH,MAAM,UAAU,SAAS,SAAS,KAAK;EACvC,MAAM,oBAAoB,IAAI,qBAAqB,GAAG;EACtD,MAAM,cAAc,IAAI,eACtB,KACC,KAAK,MAAM,CAAC,CACf;EAEA,OAAO,OAAO,cACZ,UAAU,SAAS,SAAS,mBAAmB,WAAW,CAC5D;CACF;CACA,QACE,UACA,KACA,GAAG,SACA;EACH,MAAM,YAAY,SAAS,cAAc,QAAQ;EACjD,MAAM,oBAAoB,IAAI,qBAAqB,GAAG;EACtD,MAAM,cAAc,IAAI,eACtB,KACC,KAAK,MAAM,CAAC,CACf;EAEA,OAAO,OAAO,cACZ,UAAU,MAAM,WAAW,mBAAmB,WAAW,CAC3D;CACF;AACF;AAEA,MAAa,YAAY,QAAQ,QAC/B,2BACF;AAqBA,MAAa,iBAGX,QAAQ,QAAQ,2BAA2B;AAE7C,MAAa,SACX,WACA,WAGA,MAAM,QACJ,SAAgB,GAChB,KAAK,SAAS,CAChB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { StorageReader as ConvexStorageReader } from "convex/server";
|
|
2
|
+
import type { GenericId } from "convex/values";
|
|
3
|
+
import * as Context from "effect/Context";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
6
|
+
import { StorageActionWriter } from "./StorageActionWriter.js";
|
|
7
|
+
import { StorageReader } from "./StorageReader.js";
|
|
8
|
+
import { StorageWriter } from "./StorageWriter.js";
|
|
9
|
+
declare const Storage_base: Context.ServiceClass<Storage, "@confect/server/Storage", {
|
|
10
|
+
getUrl: (storageId: GenericId<"_storage">) => Effect.Effect<URL, import("./BlobNotFoundError.js").BlobNotFoundError, never>;
|
|
11
|
+
generateUploadUrl: Effect.Effect<URL, never, StorageWriter>;
|
|
12
|
+
delete: (storageId: GenericId<"_storage">) => Effect.Effect<void, import("./BlobNotFoundError.js").BlobNotFoundError, StorageWriter>;
|
|
13
|
+
get: (storageId: GenericId<"_storage">) => Effect.Effect<Blob, import("./BlobNotFoundError.js").BlobNotFoundError, StorageActionWriter>;
|
|
14
|
+
store: (blob: Blob, options?: {
|
|
15
|
+
sha256?: string;
|
|
16
|
+
}) => Effect.Effect<GenericId<"_storage">, never, StorageActionWriter>;
|
|
17
|
+
}>;
|
|
18
|
+
export declare class Storage extends Storage_base {
|
|
19
|
+
}
|
|
20
|
+
export declare const layer: (storageReader: ConvexStorageReader) => Layer.Layer<Storage | StorageReader, never, never>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=Storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../src/Storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;;;;wBAU3B,SAAS,CAAC,UAAU,CAAC;qBAExB,SAAS,CAAC,UAAU,CAAC;kBAExB,IAAI,YAAY;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;AAOrD,qBAAa,OAAQ,SAAQ,YAGC;CAAG;AAEjC,eAAO,MAAM,KAAK,kBAAmB,mBAAmB,uDAGrD,CAAC"}
|
package/dist/Storage.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { StorageActionWriter } from "./StorageActionWriter.js";
|
|
3
|
+
import { StorageReader } from "./StorageReader.js";
|
|
4
|
+
import { StorageWriter } from "./StorageWriter.js";
|
|
5
|
+
import * as Context from "effect/Context";
|
|
6
|
+
import * as Layer from "effect/Layer";
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
//#region src/Storage.ts
|
|
9
|
+
var Storage_exports = /* @__PURE__ */ __exportAll({
|
|
10
|
+
Storage: () => Storage,
|
|
11
|
+
layer: () => layer
|
|
12
|
+
});
|
|
13
|
+
const make = Effect.gen(function* () {
|
|
14
|
+
return {
|
|
15
|
+
getUrl: (yield* StorageReader).getUrl,
|
|
16
|
+
generateUploadUrl: Effect.flatMap(StorageWriter, (writer) => writer.generateUploadUrl),
|
|
17
|
+
delete: (storageId) => Effect.flatMap(StorageWriter, (writer) => writer.delete(storageId)),
|
|
18
|
+
get: (storageId) => Effect.flatMap(StorageActionWriter, (writer) => writer.get(storageId)),
|
|
19
|
+
store: (blob, options) => Effect.flatMap(StorageActionWriter, (writer) => writer.store(blob, options))
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
var Storage = class extends Context.Service()("@confect/server/Storage") {};
|
|
23
|
+
const layer = (storageReader) => Layer.effect(Storage, make).pipe(Layer.provideMerge(StorageReader.layer(storageReader)));
|
|
24
|
+
//#endregion
|
|
25
|
+
export { Storage, Storage_exports, layer };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=Storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Storage.js","names":[],"sources":["../src/Storage.ts"],"sourcesContent":["import type { StorageReader as ConvexStorageReader } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport * as Context from \"effect/Context\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport { StorageActionWriter } from \"./StorageActionWriter.js\";\nimport { StorageReader } from \"./StorageReader.js\";\nimport { StorageWriter } from \"./StorageWriter.js\";\n\nconst make = Effect.gen(function* () {\n const reader = yield* StorageReader;\n return {\n getUrl: reader.getUrl,\n generateUploadUrl: Effect.flatMap(\n StorageWriter,\n (writer) => writer.generateUploadUrl,\n ),\n delete: (storageId: GenericId<\"_storage\">) =>\n Effect.flatMap(StorageWriter, (writer) => writer.delete(storageId)),\n get: (storageId: GenericId<\"_storage\">) =>\n Effect.flatMap(StorageActionWriter, (writer) => writer.get(storageId)),\n store: (blob: Blob, options?: { sha256?: string }) =>\n Effect.flatMap(StorageActionWriter, (writer) =>\n writer.store(blob, options),\n ),\n };\n});\n\nexport class Storage extends Context.Service<\n Storage,\n Effect.Success<typeof make>\n>()(\"@confect/server/Storage\") {}\n\nexport const layer = (storageReader: ConvexStorageReader) =>\n Layer.effect(Storage, make).pipe(\n Layer.provideMerge(StorageReader.layer(storageReader)),\n );\n"],"mappings":";;;;;;;;;;;;AASA,MAAM,OAAO,OAAO,IAAI,aAAa;CAEnC,OAAO;EACL,SAAQ,OAFY,cAAA,CAEL;EACf,mBAAmB,OAAO,QACxB,gBACC,WAAW,OAAO,iBACrB;EACA,SAAS,cACP,OAAO,QAAQ,gBAAgB,WAAW,OAAO,OAAO,SAAS,CAAC;EACpE,MAAM,cACJ,OAAO,QAAQ,sBAAsB,WAAW,OAAO,IAAI,SAAS,CAAC;EACvE,QAAQ,MAAY,YAClB,OAAO,QAAQ,sBAAsB,WACnC,OAAO,MAAM,MAAM,OAAO,CAC5B;CACJ;AACF,CAAC;AAED,IAAa,UAAb,cAA6B,QAAQ,QAGnC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAEhC,MAAa,SAAS,kBACpB,MAAM,OAAO,SAAS,IAAI,CAAC,CAAC,KAC1B,MAAM,aAAa,cAAc,MAAM,aAAa,CAAC,CACvD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type * as IdScope from "@confect/core/IdScope";
|
|
2
|
+
import type { StorageActionWriter as ConvexStorageActionWriter } from "convex/server";
|
|
3
|
+
import type { GenericId } from "convex/values";
|
|
4
|
+
import * as Context from "effect/Context";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Layer from "effect/Layer";
|
|
7
|
+
import { BlobNotFoundError } from "./BlobNotFoundError.js";
|
|
8
|
+
import type * as ScopedId from "@confect/core/GenericId";
|
|
9
|
+
export type Service<Scope extends IdScope.IdScope = IdScope.App> = {
|
|
10
|
+
get: (id: ScopedId.GenericId<"_storage", Scope>) => ReturnType<ReturnType<typeof make>["get"]>;
|
|
11
|
+
store: (blob: Blob, options?: {
|
|
12
|
+
sha256?: string;
|
|
13
|
+
}) => Effect.Effect<ScopedId.GenericId<"_storage", Scope>>;
|
|
14
|
+
};
|
|
15
|
+
export type ForScope<Scope extends IdScope.IdScope> = Scope extends IdScope.App ? StorageActionWriter : {
|
|
16
|
+
readonly "~ScopedStorageActionWriter": Scope;
|
|
17
|
+
};
|
|
18
|
+
declare const make: (storageActionWriter: ConvexStorageActionWriter) => {
|
|
19
|
+
get: (storageId: GenericId<"_storage">) => Effect.Effect<Blob, BlobNotFoundError, never>;
|
|
20
|
+
store: (blob: Blob, options?: {
|
|
21
|
+
sha256?: string;
|
|
22
|
+
}) => Effect.Effect<GenericId<"_storage">, never, never>;
|
|
23
|
+
};
|
|
24
|
+
declare const StorageActionWriter_base: Context.ServiceClass<StorageActionWriter, "@confect/server/StorageActionWriter", {
|
|
25
|
+
get: (storageId: GenericId<"_storage">) => Effect.Effect<Blob, BlobNotFoundError, never>;
|
|
26
|
+
store: (blob: Blob, options?: {
|
|
27
|
+
sha256?: string;
|
|
28
|
+
}) => Effect.Effect<GenericId<"_storage">, never, never>;
|
|
29
|
+
}>;
|
|
30
|
+
export declare class StorageActionWriter extends StorageActionWriter_base {
|
|
31
|
+
static readonly forScope: <Scope extends IdScope.IdScope = IdScope.App>() => Context.Service<ForScope<Scope>, Service<Scope>>;
|
|
32
|
+
static readonly layer: <Scope extends IdScope.IdScope = IdScope.App>(storageActionWriter: ConvexStorageActionWriter, _scope?: Scope) => Layer.Layer<ForScope<Scope>, never, never>;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=StorageActionWriter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageActionWriter.d.ts","sourceRoot":"","sources":["../src/StorageActionWriter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,IAAI,yBAAyB,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAEzD,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI;IACjE,GAAG,EAAE,CACH,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,KACtC,UAAU,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,KAAK,EAAE,CACL,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAC1B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;CAC3D,CAAC;AACF,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,OAAO,CAAC,OAAO,IAAI,KAAK,SAAS,OAAO,CAAC,GAAG,GAC3E,mBAAmB,GACnB;IAAE,QAAQ,CAAC,4BAA4B,EAAE,KAAK,CAAA;CAAE,CAAC;AAErD,QAAA,MAAM,IAAI,wBAAyB,yBAAyB;IAC1D,GAAG,cAAc,SAAS,CAAC,UAAU,CAAC;IAYtC,KAAK,SAAS,IAAI,YAAY;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAEjD,CAAC;;qBAdgB,SAAS,CAAC,UAAU,CAAC;kBAYxB,IAAI,YAAY;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;AAInD,qBAAa,mBAAoB,SAAQ,wBAGC;IACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GACtB,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,OACxC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CACI;IAEzD,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAI,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,uBAC7C,yBAAyB,WACrC,KAAK,gDAKZ;CACL"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { BlobNotFoundError } from "./BlobNotFoundError.js";
|
|
3
|
+
import * as Context from "effect/Context";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import { flow } from "effect/Function";
|
|
7
|
+
import * as Option from "effect/Option";
|
|
8
|
+
//#region src/StorageActionWriter.ts
|
|
9
|
+
var StorageActionWriter_exports = /* @__PURE__ */ __exportAll({ StorageActionWriter: () => StorageActionWriter });
|
|
10
|
+
const make = (storageActionWriter) => ({
|
|
11
|
+
get: (storageId) => Effect.promise(() => storageActionWriter.get(storageId)).pipe(Effect.andThen(flow(Option.fromNullishOr, Option.match({
|
|
12
|
+
onNone: () => Effect.fail(new BlobNotFoundError({ id: storageId })),
|
|
13
|
+
onSome: Effect.succeed
|
|
14
|
+
})))),
|
|
15
|
+
store: (blob, options) => Effect.promise(() => storageActionWriter.store(blob, options))
|
|
16
|
+
});
|
|
17
|
+
var StorageActionWriter = class extends Context.Service()("@confect/server/StorageActionWriter") {
|
|
18
|
+
static forScope = () => Context.Service("@confect/server/StorageActionWriter");
|
|
19
|
+
static layer = (storageActionWriter, _scope) => Layer.succeed(this.forScope(), make(storageActionWriter));
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { StorageActionWriter, StorageActionWriter_exports };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=StorageActionWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageActionWriter.js","names":[],"sources":["../src/StorageActionWriter.ts"],"sourcesContent":["import type * as IdScope from \"@confect/core/IdScope\";\nimport type { StorageActionWriter as ConvexStorageActionWriter } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport * as Context from \"effect/Context\";\nimport { flow } from \"effect/Function\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Option from \"effect/Option\";\nimport { BlobNotFoundError } from \"./BlobNotFoundError.js\";\nimport type * as ScopedId from \"@confect/core/GenericId\";\n\nexport type Service<Scope extends IdScope.IdScope = IdScope.App> = {\n get: (\n id: ScopedId.GenericId<\"_storage\", Scope>,\n ) => ReturnType<ReturnType<typeof make>[\"get\"]>;\n store: (\n blob: Blob,\n options?: { sha256?: string },\n ) => Effect.Effect<ScopedId.GenericId<\"_storage\", Scope>>;\n};\nexport type ForScope<Scope extends IdScope.IdScope> = Scope extends IdScope.App\n ? StorageActionWriter\n : { readonly \"~ScopedStorageActionWriter\": Scope };\n\nconst make = (storageActionWriter: ConvexStorageActionWriter) => ({\n get: (storageId: GenericId<\"_storage\">) =>\n Effect.promise(() => storageActionWriter.get(storageId)).pipe(\n Effect.andThen(\n flow(\n Option.fromNullishOr,\n Option.match({\n onNone: () => Effect.fail(new BlobNotFoundError({ id: storageId })),\n onSome: Effect.succeed,\n }),\n ),\n ),\n ),\n store: (blob: Blob, options?: { sha256?: string }) =>\n Effect.promise(() => storageActionWriter.store(blob, options)),\n});\n\nexport class StorageActionWriter extends Context.Service<\n StorageActionWriter,\n ReturnType<typeof make>\n>()(\"@confect/server/StorageActionWriter\") {\n static readonly forScope = <\n Scope extends IdScope.IdScope = IdScope.App,\n >(): Context.Service<ForScope<Scope>, Service<Scope>> =>\n Context.Service(\"@confect/server/StorageActionWriter\");\n\n static readonly layer = <Scope extends IdScope.IdScope = IdScope.App>(\n storageActionWriter: ConvexStorageActionWriter,\n _scope?: Scope,\n ) =>\n Layer.succeed(\n this.forScope<Scope>(),\n make(storageActionWriter) as unknown as Service<Scope>,\n );\n}\n"],"mappings":";;;;;;;;;AAwBA,MAAM,QAAQ,yBAAoD;CAChE,MAAM,cACJ,OAAO,cAAc,oBAAoB,IAAI,SAAS,CAAC,CAAC,CAAC,KACvD,OAAO,QACL,KACE,OAAO,eACP,OAAO,MAAM;EACX,cAAc,OAAO,KAAK,IAAI,kBAAkB,EAAE,IAAI,UAAU,CAAC,CAAC;EAClE,QAAQ,OAAO;CACjB,CAAC,CACH,CACF,CACF;CACF,QAAQ,MAAY,YAClB,OAAO,cAAc,oBAAoB,MAAM,MAAM,OAAO,CAAC;AACjE;AAEA,IAAa,sBAAb,cAAyC,QAAQ,QAG/C,CAAC,CAAC,qCAAqC,CAAC,CAAC;CACzC,OAAgB,iBAGd,QAAQ,QAAQ,qCAAqC;CAEvD,OAAgB,SACd,qBACA,WAEA,MAAM,QACJ,KAAK,SAAgB,GACrB,KAAK,mBAAmB,CAC1B;AACJ"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type * as IdScope from "@confect/core/IdScope";
|
|
2
|
+
import type { StorageReader as ConvexStorageReader } from "convex/server";
|
|
3
|
+
import type { GenericId } from "convex/values";
|
|
4
|
+
import * as Context from "effect/Context";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Layer from "effect/Layer";
|
|
7
|
+
import { BlobNotFoundError } from "./BlobNotFoundError.js";
|
|
8
|
+
import type * as ScopedId from "@confect/core/GenericId";
|
|
9
|
+
export type Service<Scope extends IdScope.IdScope = IdScope.App> = {
|
|
10
|
+
getUrl: (id: ScopedId.GenericId<"_storage", Scope>) => ReturnType<ReturnType<typeof make>["getUrl"]>;
|
|
11
|
+
};
|
|
12
|
+
export type ForScope<Scope extends IdScope.IdScope> = Scope extends IdScope.App ? StorageReader : {
|
|
13
|
+
readonly "~ScopedStorageReader": Scope;
|
|
14
|
+
};
|
|
15
|
+
declare const make: (storageReader: ConvexStorageReader) => {
|
|
16
|
+
getUrl: (storageId: GenericId<"_storage">) => Effect.Effect<URL, BlobNotFoundError, never>;
|
|
17
|
+
};
|
|
18
|
+
declare const StorageReader_base: Context.ServiceClass<StorageReader, "@confect/server/StorageReader", {
|
|
19
|
+
getUrl: (storageId: GenericId<"_storage">) => Effect.Effect<URL, BlobNotFoundError, never>;
|
|
20
|
+
}>;
|
|
21
|
+
export declare class StorageReader extends StorageReader_base {
|
|
22
|
+
static readonly forScope: <Scope extends IdScope.IdScope = IdScope.App>() => Context.Service<ForScope<Scope>, Service<Scope>>;
|
|
23
|
+
static readonly layer: <Scope extends IdScope.IdScope = IdScope.App>(storageReader: ConvexStorageReader, _scope?: Scope) => Layer.Layer<ForScope<Scope>, never, never>;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=StorageReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageReader.d.ts","sourceRoot":"","sources":["../src/StorageReader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAEzD,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI;IACjE,MAAM,EAAE,CACN,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,KACtC,UAAU,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;CACpD,CAAC;AACF,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,OAAO,CAAC,OAAO,IAAI,KAAK,SAAS,OAAO,CAAC,GAAG,GAC3E,aAAa,GACb;IAAE,QAAQ,CAAC,sBAAsB,EAAE,KAAK,CAAA;CAAE,CAAC;AAE/C,QAAA,MAAM,IAAI,kBAAmB,mBAAmB;IAC9C,MAAM,cAAc,SAAS,CAAC,UAAU,CAAC;CAiBzC,CAAC;;wBAjBmB,SAAS,CAAC,UAAU,CAAC;;AAmB3C,qBAAa,aAAc,SAAQ,kBAGC;IAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GACtB,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,OACxC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CACF;IAEnD,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAI,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,iBACnD,mBAAmB,WACzB,KAAK,gDAKZ;CACL"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { BlobNotFoundError } from "./BlobNotFoundError.js";
|
|
3
|
+
import * as Context from "effect/Context";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Schema from "effect/Schema";
|
|
7
|
+
import { flow, pipe } from "effect/Function";
|
|
8
|
+
import * as Option from "effect/Option";
|
|
9
|
+
//#region src/StorageReader.ts
|
|
10
|
+
var StorageReader_exports = /* @__PURE__ */ __exportAll({ StorageReader: () => StorageReader });
|
|
11
|
+
const make = (storageReader) => ({ getUrl: (storageId) => Effect.promise(() => storageReader.getUrl(storageId)).pipe(Effect.andThen(flow(Option.fromNullishOr, Option.match({
|
|
12
|
+
onNone: () => Effect.fail(new BlobNotFoundError({ id: storageId })),
|
|
13
|
+
onSome: (doc) => pipe(doc, Schema.decodeEffect(Schema.URLFromString), Effect.catchTag("SchemaError", Effect.die))
|
|
14
|
+
})))) });
|
|
15
|
+
var StorageReader = class extends Context.Service()("@confect/server/StorageReader") {
|
|
16
|
+
static forScope = () => Context.Service("@confect/server/StorageReader");
|
|
17
|
+
static layer = (storageReader, _scope) => Layer.succeed(this.forScope(), make(storageReader));
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
export { StorageReader, StorageReader_exports };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=StorageReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageReader.js","names":[],"sources":["../src/StorageReader.ts"],"sourcesContent":["import type * as IdScope from \"@confect/core/IdScope\";\nimport type { StorageReader as ConvexStorageReader } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport * as Context from \"effect/Context\";\nimport { flow, pipe } from \"effect/Function\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Option from \"effect/Option\";\nimport * as Schema from \"effect/Schema\";\nimport { BlobNotFoundError } from \"./BlobNotFoundError.js\";\nimport type * as ScopedId from \"@confect/core/GenericId\";\n\nexport type Service<Scope extends IdScope.IdScope = IdScope.App> = {\n getUrl: (\n id: ScopedId.GenericId<\"_storage\", Scope>,\n ) => ReturnType<ReturnType<typeof make>[\"getUrl\"]>;\n};\nexport type ForScope<Scope extends IdScope.IdScope> = Scope extends IdScope.App\n ? StorageReader\n : { readonly \"~ScopedStorageReader\": Scope };\n\nconst make = (storageReader: ConvexStorageReader) => ({\n getUrl: (storageId: GenericId<\"_storage\">) =>\n Effect.promise(() => storageReader.getUrl(storageId)).pipe(\n Effect.andThen(\n flow(\n Option.fromNullishOr,\n Option.match({\n onNone: () => Effect.fail(new BlobNotFoundError({ id: storageId })),\n onSome: (doc) =>\n pipe(\n doc,\n Schema.decodeEffect(Schema.URLFromString),\n Effect.catchTag(\"SchemaError\", Effect.die),\n ),\n }),\n ),\n ),\n ),\n});\n\nexport class StorageReader extends Context.Service<\n StorageReader,\n ReturnType<typeof make>\n>()(\"@confect/server/StorageReader\") {\n static readonly forScope = <\n Scope extends IdScope.IdScope = IdScope.App,\n >(): Context.Service<ForScope<Scope>, Service<Scope>> =>\n Context.Service(\"@confect/server/StorageReader\");\n\n static readonly layer = <Scope extends IdScope.IdScope = IdScope.App>(\n storageReader: ConvexStorageReader,\n _scope?: Scope,\n ) =>\n Layer.succeed(\n this.forScope<Scope>(),\n make(storageReader) as unknown as Service<Scope>,\n );\n}\n"],"mappings":";;;;;;;;;;AAqBA,MAAM,QAAQ,mBAAwC,EACpD,SAAS,cACP,OAAO,cAAc,cAAc,OAAO,SAAS,CAAC,CAAC,CAAC,KACpD,OAAO,QACL,KACE,OAAO,eACP,OAAO,MAAM;CACX,cAAc,OAAO,KAAK,IAAI,kBAAkB,EAAE,IAAI,UAAU,CAAC,CAAC;CAClE,SAAS,QACP,KACE,KACA,OAAO,aAAa,OAAO,aAAa,GACxC,OAAO,SAAS,eAAe,OAAO,GAAG,CAC3C;AACJ,CAAC,CACH,CACF,CACF,EACJ;AAEA,IAAa,gBAAb,cAAmC,QAAQ,QAGzC,CAAC,CAAC,+BAA+B,CAAC,CAAC;CACnC,OAAgB,iBAGd,QAAQ,QAAQ,+BAA+B;CAEjD,OAAgB,SACd,eACA,WAEA,MAAM,QACJ,KAAK,SAAgB,GACrB,KAAK,aAAa,CACpB;AACJ"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type * as IdScope from "@confect/core/IdScope";
|
|
2
|
+
import type { StorageWriter as ConvexStorageWriter } from "convex/server";
|
|
3
|
+
import type { GenericId } from "convex/values";
|
|
4
|
+
import * as Context from "effect/Context";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Layer from "effect/Layer";
|
|
7
|
+
import { BlobNotFoundError } from "./BlobNotFoundError.js";
|
|
8
|
+
import type * as ScopedId from "@confect/core/GenericId";
|
|
9
|
+
export type Service<Scope extends IdScope.IdScope = IdScope.App> = {
|
|
10
|
+
generateUploadUrl: ReturnType<typeof make>["generateUploadUrl"];
|
|
11
|
+
delete: (id: ScopedId.GenericId<"_storage", Scope>) => ReturnType<ReturnType<typeof make>["delete"]>;
|
|
12
|
+
};
|
|
13
|
+
export type ForScope<Scope extends IdScope.IdScope> = Scope extends IdScope.App ? StorageWriter : {
|
|
14
|
+
readonly "~ScopedStorageWriter": Scope;
|
|
15
|
+
};
|
|
16
|
+
declare const make: (storageWriter: ConvexStorageWriter) => {
|
|
17
|
+
generateUploadUrl: Effect.Effect<URL, never, never>;
|
|
18
|
+
delete: (storageId: GenericId<"_storage">) => Effect.Effect<void, BlobNotFoundError, never>;
|
|
19
|
+
};
|
|
20
|
+
declare const StorageWriter_base: Context.ServiceClass<StorageWriter, "@confect/server/StorageWriter", {
|
|
21
|
+
generateUploadUrl: Effect.Effect<URL, never, never>;
|
|
22
|
+
delete: (storageId: GenericId<"_storage">) => Effect.Effect<void, BlobNotFoundError, never>;
|
|
23
|
+
}>;
|
|
24
|
+
export declare class StorageWriter extends StorageWriter_base {
|
|
25
|
+
static readonly forScope: <Scope extends IdScope.IdScope = IdScope.App>() => Context.Service<ForScope<Scope>, Service<Scope>>;
|
|
26
|
+
static readonly layer: <Scope extends IdScope.IdScope = IdScope.App>(storageWriter: ConvexStorageWriter, _scope?: Scope) => Layer.Layer<ForScope<Scope>, never, never>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=StorageWriter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageWriter.d.ts","sourceRoot":"","sources":["../src/StorageWriter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAEzD,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI;IACjE,iBAAiB,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAChE,MAAM,EAAE,CACN,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,KACtC,UAAU,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;CACpD,CAAC;AACF,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,OAAO,CAAC,OAAO,IAAI,KAAK,SAAS,OAAO,CAAC,GAAG,GAC3E,aAAa,GACb;IAAE,QAAQ,CAAC,sBAAsB,EAAE,KAAK,CAAA;CAAE,CAAC;AAE/C,QAAA,MAAM,IAAI,kBAAmB,mBAAmB;IAC9C,iBAAiB;IAWjB,MAAM,cAAc,SAAS,CAAC,UAAU,CAAC;CAKzC,CAAC;;;wBALmB,SAAS,CAAC,UAAU,CAAC;;AAO3C,qBAAa,aAAc,SAAQ,kBAGC;IAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GACtB,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,OACxC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CACF;IAEnD,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAI,KAAK,SAAS,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,iBACnD,mBAAmB,WACzB,KAAK,gDAKZ;CACL"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { BlobNotFoundError } from "./BlobNotFoundError.js";
|
|
3
|
+
import * as Context from "effect/Context";
|
|
4
|
+
import * as Layer from "effect/Layer";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Schema from "effect/Schema";
|
|
7
|
+
import { pipe } from "effect/Function";
|
|
8
|
+
//#region src/StorageWriter.ts
|
|
9
|
+
var StorageWriter_exports = /* @__PURE__ */ __exportAll({ StorageWriter: () => StorageWriter });
|
|
10
|
+
const make = (storageWriter) => ({
|
|
11
|
+
generateUploadUrl: Effect.promise(() => storageWriter.generateUploadUrl()).pipe(Effect.andThen((url) => pipe(url, Schema.decodeEffect(Schema.URLFromString), Effect.catchTag("SchemaError", Effect.die)))),
|
|
12
|
+
delete: (storageId) => Effect.tryPromise({
|
|
13
|
+
try: () => storageWriter.delete(storageId),
|
|
14
|
+
catch: () => new BlobNotFoundError({ id: storageId })
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
var StorageWriter = class extends Context.Service()("@confect/server/StorageWriter") {
|
|
18
|
+
static forScope = () => Context.Service("@confect/server/StorageWriter");
|
|
19
|
+
static layer = (storageWriter, _scope) => Layer.succeed(this.forScope(), make(storageWriter));
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { StorageWriter, StorageWriter_exports };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=StorageWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageWriter.js","names":[],"sources":["../src/StorageWriter.ts"],"sourcesContent":["import type * as IdScope from \"@confect/core/IdScope\";\nimport type { StorageWriter as ConvexStorageWriter } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\nimport * as Context from \"effect/Context\";\nimport { pipe } from \"effect/Function\";\nimport * as Effect from \"effect/Effect\";\nimport * as Layer from \"effect/Layer\";\nimport * as Schema from \"effect/Schema\";\nimport { BlobNotFoundError } from \"./BlobNotFoundError.js\";\nimport type * as ScopedId from \"@confect/core/GenericId\";\n\nexport type Service<Scope extends IdScope.IdScope = IdScope.App> = {\n generateUploadUrl: ReturnType<typeof make>[\"generateUploadUrl\"];\n delete: (\n id: ScopedId.GenericId<\"_storage\", Scope>,\n ) => ReturnType<ReturnType<typeof make>[\"delete\"]>;\n};\nexport type ForScope<Scope extends IdScope.IdScope> = Scope extends IdScope.App\n ? StorageWriter\n : { readonly \"~ScopedStorageWriter\": Scope };\n\nconst make = (storageWriter: ConvexStorageWriter) => ({\n generateUploadUrl: Effect.promise(() =>\n storageWriter.generateUploadUrl(),\n ).pipe(\n Effect.andThen((url) =>\n pipe(\n url,\n Schema.decodeEffect(Schema.URLFromString),\n Effect.catchTag(\"SchemaError\", Effect.die),\n ),\n ),\n ),\n delete: (storageId: GenericId<\"_storage\">) =>\n Effect.tryPromise({\n try: () => storageWriter.delete(storageId),\n catch: () => new BlobNotFoundError({ id: storageId }),\n }),\n});\n\nexport class StorageWriter extends Context.Service<\n StorageWriter,\n ReturnType<typeof make>\n>()(\"@confect/server/StorageWriter\") {\n static readonly forScope = <\n Scope extends IdScope.IdScope = IdScope.App,\n >(): Context.Service<ForScope<Scope>, Service<Scope>> =>\n Context.Service(\"@confect/server/StorageWriter\");\n\n static readonly layer = <Scope extends IdScope.IdScope = IdScope.App>(\n storageWriter: ConvexStorageWriter,\n _scope?: Scope,\n ) =>\n Layer.succeed(\n this.forScope<Scope>(),\n make(storageWriter) as unknown as Service<Scope>,\n );\n}\n"],"mappings":";;;;;;;;;AAqBA,MAAM,QAAQ,mBAAwC;CACpD,mBAAmB,OAAO,cACxB,cAAc,kBAAkB,CAClC,CAAC,CAAC,KACA,OAAO,SAAS,QACd,KACE,KACA,OAAO,aAAa,OAAO,aAAa,GACxC,OAAO,SAAS,eAAe,OAAO,GAAG,CAC3C,CACF,CACF;CACA,SAAS,cACP,OAAO,WAAW;EAChB,WAAW,cAAc,OAAO,SAAS;EACzC,aAAa,IAAI,kBAAkB,EAAE,IAAI,UAAU,CAAC;CACtD,CAAC;AACL;AAEA,IAAa,gBAAb,cAAmC,QAAQ,QAGzC,CAAC,CAAC,+BAA+B,CAAC,CAAC;CACnC,OAAgB,iBAGd,QAAQ,QAAQ,+BAA+B;CAEjD,OAAgB,SACd,eACA,WAEA,MAAM,QACJ,KAAK,SAAgB,GACrB,KAAK,aAAa,CACpB;AACJ"}
|