@effect-aws/dynamodb 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.
Files changed (53) hide show
  1. package/DynamoDBDocumentClientInstance/package.json +6 -0
  2. package/DynamoDBDocumentService/package.json +6 -0
  3. package/DynamoDBDocumentServiceConfig/package.json +6 -0
  4. package/DynamoDBStore/package.json +6 -0
  5. package/LICENSE +19 -0
  6. package/README.md +65 -0
  7. package/dist/cjs/DynamoDBDocumentClientInstance.d.ts +25 -0
  8. package/dist/cjs/DynamoDBDocumentClientInstance.d.ts.map +1 -0
  9. package/dist/cjs/DynamoDBDocumentClientInstance.js +54 -0
  10. package/dist/cjs/DynamoDBDocumentClientInstance.js.map +1 -0
  11. package/dist/cjs/DynamoDBDocumentService.d.ts +97 -0
  12. package/dist/cjs/DynamoDBDocumentService.d.ts.map +1 -0
  13. package/dist/cjs/DynamoDBDocumentService.js +68 -0
  14. package/dist/cjs/DynamoDBDocumentService.js.map +1 -0
  15. package/dist/cjs/DynamoDBDocumentServiceConfig.d.ts +25 -0
  16. package/dist/cjs/DynamoDBDocumentServiceConfig.d.ts.map +1 -0
  17. package/dist/cjs/DynamoDBDocumentServiceConfig.js +28 -0
  18. package/dist/cjs/DynamoDBDocumentServiceConfig.js.map +1 -0
  19. package/dist/cjs/DynamoDBStore.d.ts +82 -0
  20. package/dist/cjs/DynamoDBStore.d.ts.map +1 -0
  21. package/dist/cjs/DynamoDBStore.js +57 -0
  22. package/dist/cjs/DynamoDBStore.js.map +1 -0
  23. package/dist/cjs/index.d.ts +44 -0
  24. package/dist/cjs/index.d.ts.map +1 -0
  25. package/dist/cjs/index.js +56 -0
  26. package/dist/cjs/index.js.map +1 -0
  27. package/dist/dts/DynamoDBDocumentClientInstance.d.ts +25 -0
  28. package/dist/dts/DynamoDBDocumentClientInstance.d.ts.map +1 -0
  29. package/dist/dts/DynamoDBDocumentService.d.ts +97 -0
  30. package/dist/dts/DynamoDBDocumentService.d.ts.map +1 -0
  31. package/dist/dts/DynamoDBDocumentServiceConfig.d.ts +25 -0
  32. package/dist/dts/DynamoDBDocumentServiceConfig.d.ts.map +1 -0
  33. package/dist/dts/DynamoDBStore.d.ts +82 -0
  34. package/dist/dts/DynamoDBStore.d.ts.map +1 -0
  35. package/dist/dts/index.d.ts +44 -0
  36. package/dist/dts/index.d.ts.map +1 -0
  37. package/dist/esm/DynamoDBDocumentClientInstance.js +27 -0
  38. package/dist/esm/DynamoDBDocumentClientInstance.js.map +1 -0
  39. package/dist/esm/DynamoDBDocumentService.js +41 -0
  40. package/dist/esm/DynamoDBDocumentService.js.map +1 -0
  41. package/dist/esm/DynamoDBDocumentServiceConfig.js +24 -0
  42. package/dist/esm/DynamoDBDocumentServiceConfig.js.map +1 -0
  43. package/dist/esm/DynamoDBStore.js +53 -0
  44. package/dist/esm/DynamoDBStore.js.map +1 -0
  45. package/dist/esm/index.js +27 -0
  46. package/dist/esm/index.js.map +1 -0
  47. package/dist/esm/package.json +4 -0
  48. package/package.json +73 -0
  49. package/src/DynamoDBDocumentClientInstance.ts +34 -0
  50. package/src/DynamoDBDocumentService.ts +377 -0
  51. package/src/DynamoDBDocumentServiceConfig.ts +43 -0
  52. package/src/DynamoDBStore.ts +131 -0
  53. package/src/index.ts +50 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/DynamoDBDocumentClientInstance.js",
3
+ "module": "../dist/esm/DynamoDBDocumentClientInstance.js",
4
+ "types": "../dist/dts/DynamoDBDocumentClientInstance.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/DynamoDBDocumentService.js",
3
+ "module": "../dist/esm/DynamoDBDocumentService.js",
4
+ "types": "../dist/dts/DynamoDBDocumentService.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/DynamoDBDocumentServiceConfig.js",
3
+ "module": "../dist/esm/DynamoDBDocumentServiceConfig.js",
4
+ "types": "../dist/dts/DynamoDBDocumentServiceConfig.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/DynamoDBStore.js",
3
+ "module": "../dist/esm/DynamoDBStore.js",
4
+ "types": "../dist/dts/DynamoDBStore.d.ts",
5
+ "sideEffects": []
6
+ }
package/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2025 Victor Korzunin
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,65 @@
1
+ # @effect-aws/dynamodb
2
+
3
+ [![npm version](https://img.shields.io/npm/v/%40effect-aws%2Flib-dynamodb?color=brightgreen&label=npm%20package)](https://www.npmjs.com/package/@effect-aws/dynamodb)
4
+ [![npm downloads](https://img.shields.io/npm/dm/%40effect-aws%2Flib-dynamodb)](https://www.npmjs.com/package/@effect-aws/dynamodb)
5
+
6
+ ## Installation
7
+
8
+ ```bash
9
+ npm install --save @effect-aws/dynamodb
10
+ ```
11
+
12
+ ## Usage
13
+
14
+ With default DynamoDBClient instance:
15
+
16
+ ```typescript
17
+ import { DynamoDBDocument } from "@effect-aws/dynamodb"
18
+
19
+ const program = DynamoDBDocument.put(args)
20
+
21
+ const result = pipe(
22
+ program,
23
+ Effect.provide(DynamoDBDocument.defaultLayer),
24
+ Effect.runPromise
25
+ )
26
+ ```
27
+
28
+ With custom DynamoDBClient instance:
29
+
30
+ ```typescript
31
+ import { DynamoDBDocument } from "@effect-aws/dynamodb"
32
+
33
+ const program = DynamoDBDocument.put(args)
34
+
35
+ const result = await pipe(
36
+ program,
37
+ Effect.provide(
38
+ DynamoDBDocumentClient.from(
39
+ new DynamoDBClient({ region: "eu-central-1" }),
40
+ { marshallOptions: { removeUndefinedValues: true } }
41
+ )
42
+ ),
43
+ Effect.runPromise
44
+ )
45
+ ```
46
+
47
+ With custom DynamoDBClient configuration:
48
+
49
+ ```typescript
50
+ import { DynamoDBDocument } from "@effect-aws/dynamodb"
51
+
52
+ const program = DynamoDBDocument.put(args)
53
+
54
+ const result = await pipe(
55
+ program,
56
+ Effect.provide(
57
+ DynamoDBDocument.layer({
58
+ marshallOptions: { removeUndefinedValues: true }
59
+ })
60
+ ),
61
+ Effect.runPromiseExit
62
+ )
63
+ ```
64
+
65
+ or use `DynamoDBDocument.baseLayer((default) => DynamoDBDocumentClient.from(new DynamoDBClient({ ...default, region: "eu-central-1" }), { marshallOptions: { removeUndefinedValues: true } }))`
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb";
5
+ import { DynamoDBClientInstance } from "@effect-aws/client-dynamodb";
6
+ import { Context, Effect, Layer } from "effect";
7
+ declare const DynamoDBDocumentClientInstance_base: Context.TagClass<DynamoDBDocumentClientInstance, "@effect-aws/lib-dynamodb/DynamoDBDocumentClientInstance", DynamoDBDocumentClient>;
8
+ /**
9
+ * @since 1.0.0
10
+ * @category tags
11
+ */
12
+ export declare class DynamoDBDocumentClientInstance extends DynamoDBDocumentClientInstance_base {
13
+ }
14
+ /**
15
+ * @since 1.0.0
16
+ * @category constructors
17
+ */
18
+ export declare const make: Effect.Effect<DynamoDBDocumentClient, never, DynamoDBClientInstance.DynamoDBClientInstance>;
19
+ /**
20
+ * @since 1.0.0
21
+ * @category layers
22
+ */
23
+ export declare const layer: Layer.Layer<DynamoDBDocumentClientInstance, never, never>;
24
+ export {};
25
+ //# sourceMappingURL=DynamoDBDocumentClientInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoDBDocumentClientInstance.d.ts","sourceRoot":"","sources":["../../src/DynamoDBDocumentClientInstance.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;;AAGhD;;;GAGG;AACH,qBAAa,8BAA+B,SAAQ,mCAEO;CAAG;AAE9D;;;GAGG;AACH,eAAO,MAAM,IAAI,6FAKhB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,2DAEjB,CAAC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.layer = exports.make = exports.DynamoDBDocumentClientInstance = void 0;
27
+ /**
28
+ * @since 1.0.0
29
+ */
30
+ const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
31
+ const client_dynamodb_1 = require("@effect-aws/client-dynamodb");
32
+ const effect_1 = require("effect");
33
+ const DynamoDBDocumentServiceConfig = __importStar(require("./DynamoDBDocumentServiceConfig.js"));
34
+ /**
35
+ * @since 1.0.0
36
+ * @category tags
37
+ */
38
+ class DynamoDBDocumentClientInstance extends effect_1.Context.Tag("@effect-aws/lib-dynamodb/DynamoDBDocumentClientInstance")() {
39
+ }
40
+ exports.DynamoDBDocumentClientInstance = DynamoDBDocumentClientInstance;
41
+ /**
42
+ * @since 1.0.0
43
+ * @category constructors
44
+ */
45
+ exports.make = effect_1.Effect.all([
46
+ client_dynamodb_1.DynamoDBClientInstance.DynamoDBClientInstance,
47
+ DynamoDBDocumentServiceConfig.toTranslateConfig,
48
+ ]).pipe(effect_1.Effect.map(([client, config]) => lib_dynamodb_1.DynamoDBDocumentClient.from(client, config)));
49
+ /**
50
+ * @since 1.0.0
51
+ * @category layers
52
+ */
53
+ exports.layer = effect_1.Layer.scoped(DynamoDBDocumentClientInstance, exports.make).pipe(effect_1.Layer.provide(client_dynamodb_1.DynamoDBClientInstance.layer));
54
+ //# sourceMappingURL=DynamoDBDocumentClientInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoDBDocumentClientInstance.js","sourceRoot":"","sources":["../../src/DynamoDBDocumentClientInstance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,wDAA+D;AAC/D,iEAAqE;AACrE,mCAAgD;AAChD,kGAAoF;AAEpF;;;GAGG;AACH,MAAa,8BAA+B,SAAQ,gBAAO,CAAC,GAAG,CAC7D,yDAAyD,CAC1D,EAA0D;CAAG;AAF9D,wEAE8D;AAE9D;;;GAGG;AACU,QAAA,IAAI,GAAG,eAAM,CAAC,GAAG,CAAC;IAC7B,wCAAsB,CAAC,sBAAsB;IAC7C,6BAA6B,CAAC,iBAAiB;CAChD,CAAC,CAAC,IAAI,CACL,eAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,qCAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC9E,CAAC;AAEF;;;GAGG;AACU,QAAA,KAAK,GAAG,cAAK,CAAC,MAAM,CAAC,8BAA8B,EAAE,YAAI,CAAC,CAAC,IAAI,CAC1E,cAAK,CAAC,OAAO,CAAC,wCAAsB,CAAC,KAAK,CAAC,CAC5C,CAAC"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { DynamoDBClientConfig } from "@aws-sdk/client-dynamodb";
5
+ import type { BatchExecuteStatementCommandInput, BatchExecuteStatementCommandOutput, BatchGetCommandInput, BatchGetCommandOutput, BatchWriteCommandInput, BatchWriteCommandOutput, DeleteCommandInput, DeleteCommandOutput, DynamoDBDocumentClient, ExecuteStatementCommandInput, ExecuteStatementCommandOutput, ExecuteTransactionCommandInput, ExecuteTransactionCommandOutput, GetCommandInput, GetCommandOutput, PutCommandInput, PutCommandOutput, QueryCommandInput, QueryCommandOutput, ScanCommandInput, ScanCommandOutput, TransactGetCommandInput, TransactGetCommandOutput, TransactWriteCommandInput, TransactWriteCommandOutput, TranslateConfig, UpdateCommandInput, UpdateCommandOutput } from "@aws-sdk/lib-dynamodb";
6
+ import type { ConditionalCheckFailedError, DuplicateItemError, IdempotentParameterMismatchError, InternalServerError, InvalidEndpointError, ItemCollectionSizeLimitExceededError, ProvisionedThroughputExceededError, RequestLimitExceededError, ResourceNotFoundError, SdkError, TransactionCanceledError, TransactionConflictError, TransactionInProgressError } from "@effect-aws/client-dynamodb";
7
+ import { type HttpHandlerOptions } from "@effect-aws/commons";
8
+ import type { Cause } from "effect";
9
+ import { Effect, Layer } from "effect";
10
+ import * as Instance from "./DynamoDBDocumentClientInstance.js";
11
+ interface DynamoDBDocumentService$ {
12
+ readonly _: unique symbol;
13
+ /**
14
+ * @see {@link BatchExecuteStatementCommand}
15
+ */
16
+ batchExecuteStatement(args: BatchExecuteStatementCommandInput, options?: HttpHandlerOptions): Effect.Effect<BatchExecuteStatementCommandOutput, Cause.TimeoutException | SdkError | InternalServerError | RequestLimitExceededError>;
17
+ /**
18
+ * @see {@link BatchGetCommand}
19
+ */
20
+ batchGet(args: BatchGetCommandInput, options?: HttpHandlerOptions): Effect.Effect<BatchGetCommandOutput, Cause.TimeoutException | SdkError | InternalServerError | InvalidEndpointError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError>;
21
+ /**
22
+ * @see {@link BatchWriteCommand}
23
+ */
24
+ batchWrite(args: BatchWriteCommandInput, options?: HttpHandlerOptions): Effect.Effect<BatchWriteCommandOutput, Cause.TimeoutException | SdkError | InternalServerError | InvalidEndpointError | ItemCollectionSizeLimitExceededError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError>;
25
+ /**
26
+ * @see {@link DeleteCommand}
27
+ */
28
+ delete(args: DeleteCommandInput, options?: HttpHandlerOptions): Effect.Effect<DeleteCommandOutput, Cause.TimeoutException | SdkError | ConditionalCheckFailedError | InternalServerError | InvalidEndpointError | ItemCollectionSizeLimitExceededError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError | TransactionConflictError>;
29
+ /**
30
+ * @see {@link ExecuteStatementCommand}
31
+ */
32
+ executeStatement(args: ExecuteStatementCommandInput, options?: HttpHandlerOptions): Effect.Effect<ExecuteStatementCommandOutput, Cause.TimeoutException | SdkError | ConditionalCheckFailedError | DuplicateItemError | InternalServerError | ItemCollectionSizeLimitExceededError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError | TransactionConflictError>;
33
+ /**
34
+ * @see {@link ExecuteTransactionCommand}
35
+ */
36
+ executeTransaction(args: ExecuteTransactionCommandInput, options?: HttpHandlerOptions): Effect.Effect<ExecuteTransactionCommandOutput, Cause.TimeoutException | SdkError | IdempotentParameterMismatchError | InternalServerError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError | TransactionCanceledError | TransactionInProgressError>;
37
+ /**
38
+ * @see {@link GetCommand}
39
+ */
40
+ get(args: GetCommandInput, options?: HttpHandlerOptions): Effect.Effect<GetCommandOutput, Cause.TimeoutException | SdkError | InternalServerError | InvalidEndpointError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError>;
41
+ /**
42
+ * @see {@link PutCommand}
43
+ */
44
+ put(args: PutCommandInput, options?: HttpHandlerOptions): Effect.Effect<PutCommandOutput, Cause.TimeoutException | SdkError | ConditionalCheckFailedError | InternalServerError | InvalidEndpointError | ItemCollectionSizeLimitExceededError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError | TransactionConflictError>;
45
+ /**
46
+ * @see {@link QueryCommand}
47
+ */
48
+ query(args: QueryCommandInput, options?: HttpHandlerOptions): Effect.Effect<QueryCommandOutput, Cause.TimeoutException | SdkError | InternalServerError | InvalidEndpointError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError>;
49
+ /**
50
+ * @see {@link ScanCommand}
51
+ */
52
+ scan(args: ScanCommandInput, options?: HttpHandlerOptions): Effect.Effect<ScanCommandOutput, Cause.TimeoutException | SdkError | InternalServerError | InvalidEndpointError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError>;
53
+ /**
54
+ * @see {@link TransactGetCommand}
55
+ */
56
+ transactGet(args: TransactGetCommandInput, options?: HttpHandlerOptions): Effect.Effect<TransactGetCommandOutput, Cause.TimeoutException | SdkError | InternalServerError | InvalidEndpointError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError | TransactionCanceledError>;
57
+ /**
58
+ * @see {@link TransactWriteCommand}
59
+ */
60
+ transactWrite(args: TransactWriteCommandInput, options?: HttpHandlerOptions): Effect.Effect<TransactWriteCommandOutput, Cause.TimeoutException | SdkError | IdempotentParameterMismatchError | InternalServerError | InvalidEndpointError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError | TransactionCanceledError | TransactionInProgressError>;
61
+ /**
62
+ * @see {@link UpdateCommand}
63
+ */
64
+ update(args: UpdateCommandInput, options?: HttpHandlerOptions): Effect.Effect<UpdateCommandOutput, Cause.TimeoutException | SdkError | ConditionalCheckFailedError | InternalServerError | InvalidEndpointError | ItemCollectionSizeLimitExceededError | ProvisionedThroughputExceededError | RequestLimitExceededError | ResourceNotFoundError | TransactionConflictError>;
65
+ }
66
+ /**
67
+ * @since 1.0.0
68
+ * @category constructors
69
+ */
70
+ export declare const makeDynamoDBDocumentService: Effect.Effect<DynamoDBDocumentService$, never, Instance.DynamoDBDocumentClientInstance>;
71
+ declare const DynamoDBDocumentService_base: import("effect/Context").TagClass<DynamoDBDocumentService, "@effect-aws/lib-dynamodb/DynamoDBDocumentService", DynamoDBDocumentService$> & Effect.Tag.Proxy<DynamoDBDocumentService, DynamoDBDocumentService$> & {
72
+ use: <X>(body: (_: DynamoDBDocumentService$) => X) => [X] extends [Effect.Effect<infer A, infer E, infer R>] ? Effect.Effect<A, E, DynamoDBDocumentService | R> : [X] extends [PromiseLike<infer A_1>] ? Effect.Effect<A_1, Cause.UnknownException, DynamoDBDocumentService> : Effect.Effect<X, never, DynamoDBDocumentService>;
73
+ };
74
+ /**
75
+ * @since 1.0.0
76
+ * @category models
77
+ */
78
+ export declare class DynamoDBDocumentService extends DynamoDBDocumentService_base {
79
+ static readonly defaultLayer: Layer.Layer<DynamoDBDocumentService, never, never>;
80
+ static readonly layer: (config: DynamoDBDocumentService.Config) => Layer.Layer<DynamoDBDocumentService, never, never>;
81
+ static readonly baseLayer: (evaluate: (defaultConfig: DynamoDBClientConfig) => DynamoDBDocumentClient) => Layer.Layer<DynamoDBDocumentService, never, never>;
82
+ }
83
+ /**
84
+ * @since 1.0.0
85
+ */
86
+ export declare namespace DynamoDBDocumentService {
87
+ /**
88
+ * @since 1.0.0
89
+ */
90
+ type Config = TranslateConfig;
91
+ /**
92
+ * @since 1.0.0
93
+ */
94
+ type Type = DynamoDBDocumentService$;
95
+ }
96
+ export {};
97
+ //# sourceMappingURL=DynamoDBDocumentService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoDBDocumentService.d.ts","sourceRoot":"","sources":["../../src/DynamoDBDocumentService.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EACV,iCAAiC,EACjC,kCAAkC,EAClC,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAgB/B,OAAO,KAAK,EACV,2BAA2B,EAC3B,kBAAkB,EAClB,gCAAgC,EAChC,mBAAmB,EACnB,oBAAoB,EACpB,oCAAoC,EACpC,kCAAkC,EAClC,yBAAyB,EACzB,qBAAqB,EACrB,QAAQ,EACR,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,KAAK,kBAAkB,EAAW,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAC;AAmBhE,UAAU,wBAAwB;IAChC,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAC;IAE1B;;OAEG;IACH,qBAAqB,CACnB,IAAI,EAAE,iCAAiC,EACvC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,kCAAkC,EAClC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,GAAG,mBAAmB,GAAG,yBAAyB,CACpF,CAAC;IAEF;;OAEG;IACH,QAAQ,CACN,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,qBAAqB,EACnB,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,mBAAmB,GACnB,oBAAoB,GACpB,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,CACxB,CAAC;IAEF;;OAEG;IACH,UAAU,CACR,IAAI,EAAE,sBAAsB,EAC5B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,uBAAuB,EACrB,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,mBAAmB,GACnB,oBAAoB,GACpB,oCAAoC,GACpC,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,CACxB,CAAC;IAEF;;OAEG;IACH,MAAM,CACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,mBAAmB,EACjB,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,2BAA2B,GAC3B,mBAAmB,GACnB,oBAAoB,GACpB,oCAAoC,GACpC,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,GACrB,wBAAwB,CAC3B,CAAC;IAEF;;OAEG;IACH,gBAAgB,CACd,IAAI,EAAE,4BAA4B,EAClC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,6BAA6B,EAC3B,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,2BAA2B,GAC3B,kBAAkB,GAClB,mBAAmB,GACnB,oCAAoC,GACpC,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,GACrB,wBAAwB,CAC3B,CAAC;IAEF;;OAEG;IACH,kBAAkB,CAChB,IAAI,EAAE,8BAA8B,EACpC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,+BAA+B,EAC7B,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,gCAAgC,GAChC,mBAAmB,GACnB,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,GACrB,wBAAwB,GACxB,0BAA0B,CAC7B,CAAC;IAEF;;OAEG;IACH,GAAG,CACD,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,gBAAgB,EACd,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,mBAAmB,GACnB,oBAAoB,GACpB,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,CACxB,CAAC;IAEF;;OAEG;IACH,GAAG,CACD,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,gBAAgB,EACd,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,2BAA2B,GAC3B,mBAAmB,GACnB,oBAAoB,GACpB,oCAAoC,GACpC,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,GACrB,wBAAwB,CAC3B,CAAC;IAEF;;OAEG;IACH,KAAK,CACH,IAAI,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,kBAAkB,EAChB,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,mBAAmB,GACnB,oBAAoB,GACpB,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,CACxB,CAAC;IAEF;;OAEG;IACH,IAAI,CACF,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,iBAAiB,EACf,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,mBAAmB,GACnB,oBAAoB,GACpB,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,CACxB,CAAC;IAEF;;OAEG;IACH,WAAW,CACT,IAAI,EAAE,uBAAuB,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,wBAAwB,EACtB,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,mBAAmB,GACnB,oBAAoB,GACpB,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,GACrB,wBAAwB,CAC3B,CAAC;IAEF;;OAEG;IACH,aAAa,CACX,IAAI,EAAE,yBAAyB,EAC/B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,0BAA0B,EACxB,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,gCAAgC,GAChC,mBAAmB,GACnB,oBAAoB,GACpB,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,GACrB,wBAAwB,GACxB,0BAA0B,CAC7B,CAAC;IAEF;;OAEG;IACH,MAAM,CACJ,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CACd,mBAAmB,EACjB,KAAK,CAAC,gBAAgB,GACtB,QAAQ,GACR,2BAA2B,GAC3B,mBAAmB,GACnB,oBAAoB,GACpB,oCAAoC,GACpC,kCAAkC,GAClC,yBAAyB,GACzB,qBAAqB,GACrB,wBAAwB,CAC3B,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,yFAMtC,CAAC;;;;AAEH;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,4BAES;IACpD,MAAM,CAAC,QAAQ,CAAC,YAAY,qDAAuF;IACnH,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAY,wBAAwB,MAAM,wDAI3D;IACJ,MAAM,CAAC,QAAQ,CAAC,SAAS,aACb,CAAC,aAAa,EAAE,oBAAoB,KAAK,sBAAsB,wDASvE;CACL;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,uBAAuB,CAAC;IAC/C;;OAEG;IACH,KAAY,MAAM,GAAG,eAAe,CAAC;IAErC;;OAEG;IACH,KAAY,IAAI,GAAG,wBAAwB,CAAC;CAC7C"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DynamoDBDocumentService = exports.makeDynamoDBDocumentService = void 0;
27
+ const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
28
+ const client_dynamodb_1 = require("@effect-aws/client-dynamodb");
29
+ const commons_1 = require("@effect-aws/commons");
30
+ const effect_1 = require("effect");
31
+ const Instance = __importStar(require("./DynamoDBDocumentClientInstance.js"));
32
+ const DynamoDBDocumentServiceConfig = __importStar(require("./DynamoDBDocumentServiceConfig.js"));
33
+ const commands = {
34
+ BatchExecuteStatementCommand: lib_dynamodb_1.BatchExecuteStatementCommand,
35
+ BatchGetCommand: lib_dynamodb_1.BatchGetCommand,
36
+ BatchWriteCommand: lib_dynamodb_1.BatchWriteCommand,
37
+ DeleteCommand: lib_dynamodb_1.DeleteCommand,
38
+ ExecuteStatementCommand: lib_dynamodb_1.ExecuteStatementCommand,
39
+ ExecuteTransactionCommand: lib_dynamodb_1.ExecuteTransactionCommand,
40
+ GetCommand: lib_dynamodb_1.GetCommand,
41
+ PutCommand: lib_dynamodb_1.PutCommand,
42
+ QueryCommand: lib_dynamodb_1.QueryCommand,
43
+ ScanCommand: lib_dynamodb_1.ScanCommand,
44
+ TransactGetCommand: lib_dynamodb_1.TransactGetCommand,
45
+ TransactWriteCommand: lib_dynamodb_1.TransactWriteCommand,
46
+ UpdateCommand: lib_dynamodb_1.UpdateCommand,
47
+ };
48
+ /**
49
+ * @since 1.0.0
50
+ * @category constructors
51
+ */
52
+ exports.makeDynamoDBDocumentService = effect_1.Effect.gen(function* () {
53
+ const client = yield* Instance.DynamoDBDocumentClientInstance;
54
+ return yield* commons_1.Service.fromClientAndCommands(client, commands, {
55
+ resolveClientConfig: client_dynamodb_1.DynamoDBServiceConfig.toDynamoDBClientConfig,
56
+ });
57
+ });
58
+ /**
59
+ * @since 1.0.0
60
+ * @category models
61
+ */
62
+ class DynamoDBDocumentService extends effect_1.Effect.Tag("@effect-aws/lib-dynamodb/DynamoDBDocumentService")() {
63
+ static defaultLayer = effect_1.Layer.effect(this, exports.makeDynamoDBDocumentService).pipe(effect_1.Layer.provide(Instance.layer));
64
+ static layer = (config) => effect_1.Layer.effect(this, exports.makeDynamoDBDocumentService).pipe(effect_1.Layer.provide(Instance.layer), effect_1.Layer.provide(DynamoDBDocumentServiceConfig.setDynamoDBDocumentServiceConfig(config)));
65
+ static baseLayer = (evaluate) => effect_1.Layer.effect(this, exports.makeDynamoDBDocumentService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(Instance.DynamoDBDocumentClientInstance, effect_1.Effect.map(client_dynamodb_1.DynamoDBServiceConfig.toDynamoDBClientConfig, evaluate))));
66
+ }
67
+ exports.DynamoDBDocumentService = DynamoDBDocumentService;
68
+ //# sourceMappingURL=DynamoDBDocumentService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoDBDocumentService.js","sourceRoot":"","sources":["../../src/DynamoDBDocumentService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,wDAc+B;AAgB/B,iEAAoE;AACpE,iDAAuE;AAEvE,mCAAuC;AACvC,8EAAgE;AAChE,kGAAoF;AAEpF,MAAM,QAAQ,GAAG;IACf,4BAA4B,EAA5B,2CAA4B;IAC5B,eAAe,EAAf,8BAAe;IACf,iBAAiB,EAAjB,gCAAiB;IACjB,aAAa,EAAb,4BAAa;IACb,uBAAuB,EAAvB,sCAAuB;IACvB,yBAAyB,EAAzB,wCAAyB;IACzB,UAAU,EAAV,yBAAU;IACV,UAAU,EAAV,yBAAU;IACV,YAAY,EAAZ,2BAAY;IACZ,WAAW,EAAX,0BAAW;IACX,kBAAkB,EAAlB,iCAAkB;IAClB,oBAAoB,EAApB,mCAAoB;IACpB,aAAa,EAAb,4BAAa;CACd,CAAC;AAgPF;;;GAGG;AACU,QAAA,2BAA2B,GAAG,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAE9D,OAAO,KAAK,CAAC,CAAC,iBAAO,CAAC,qBAAqB,CAA2B,MAAM,EAAE,QAAQ,EAAE;QACtF,mBAAmB,EAAE,uCAAqB,CAAC,sBAAsB;KAClE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,eAAM,CAAC,GAAG,CACrD,kDAAkD,CACnD,EAAqD;IACpD,MAAM,CAAU,YAAY,GAAG,cAAK,CAAC,MAAM,CAAC,IAAI,EAAE,mCAA2B,CAAC,CAAC,IAAI,CAAC,cAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACnH,MAAM,CAAU,KAAK,GAAG,CAAC,MAAsC,EAAE,EAAE,CACjE,cAAK,CAAC,MAAM,CAAC,IAAI,EAAE,mCAA2B,CAAC,CAAC,IAAI,CAClD,cAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC7B,cAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC,CACtF,CAAC;IACJ,MAAM,CAAU,SAAS,GAAG,CAC1B,QAAyE,EACzE,EAAE,CACF,cAAK,CAAC,MAAM,CAAC,IAAI,EAAE,mCAA2B,CAAC,CAAC,IAAI,CAClD,cAAK,CAAC,OAAO,CACX,cAAK,CAAC,MAAM,CACV,QAAQ,CAAC,8BAA8B,EACvC,eAAM,CAAC,GAAG,CAAC,uCAAqB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CACnE,CACF,CACF,CAAC;;AAnBN,0DAoBC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { TranslateConfig } from "@aws-sdk/lib-dynamodb";
5
+ import { Effect, Layer } from "effect";
6
+ import type { DynamoDBDocumentService } from "./DynamoDBDocumentService.js";
7
+ /**
8
+ * @since 1.0.0
9
+ * @category dynamodb service config
10
+ */
11
+ export declare const withDynamoDBDocumentServiceConfig: {
12
+ (config: DynamoDBDocumentService.Config): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
13
+ <A, E, R>(effect: Effect.Effect<A, E, R>, config: DynamoDBDocumentService.Config): Effect.Effect<A, E, R>;
14
+ };
15
+ /**
16
+ * @since 1.0.0
17
+ * @category dynamodb service config
18
+ */
19
+ export declare const setDynamoDBDocumentServiceConfig: (config: DynamoDBDocumentService.Config) => Layer.Layer<never, never, never>;
20
+ /**
21
+ * @since 1.0.0
22
+ * @category adapters
23
+ */
24
+ export declare const toTranslateConfig: Effect.Effect<TranslateConfig>;
25
+ //# sourceMappingURL=DynamoDBDocumentServiceConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoDBDocumentServiceConfig.d.ts","sourceRoot":"","sources":["../../src/DynamoDBDocumentServiceConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAY,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAW5E;;;GAGG;AACH,eAAO,MAAM,iCAAiC,EAAE;IAC9C,CAAC,MAAM,EAAE,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9G,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,uBAAuB,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAK3G,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,WAAY,wBAAwB,MAAM,qCACpB,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAsD,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toTranslateConfig = exports.setDynamoDBDocumentServiceConfig = exports.withDynamoDBDocumentServiceConfig = void 0;
4
+ const effect_1 = require("effect");
5
+ const Function_1 = require("effect/Function");
6
+ const GlobalValue_1 = require("effect/GlobalValue");
7
+ /**
8
+ * @since 1.0.0
9
+ * @category dynamodb service config
10
+ */
11
+ const currentDynamoDBDocumentServiceConfig = (0, GlobalValue_1.globalValue)("@effect-aws/lib-dynamodb/currentDynamoDBDocumentServiceConfig", () => effect_1.FiberRef.unsafeMake({}));
12
+ /**
13
+ * @since 1.0.0
14
+ * @category dynamodb service config
15
+ */
16
+ exports.withDynamoDBDocumentServiceConfig = (0, Function_1.dual)(2, (effect, config) => effect_1.Effect.locally(effect, currentDynamoDBDocumentServiceConfig, config));
17
+ /**
18
+ * @since 1.0.0
19
+ * @category dynamodb service config
20
+ */
21
+ const setDynamoDBDocumentServiceConfig = (config) => effect_1.Layer.locallyScoped(currentDynamoDBDocumentServiceConfig, config);
22
+ exports.setDynamoDBDocumentServiceConfig = setDynamoDBDocumentServiceConfig;
23
+ /**
24
+ * @since 1.0.0
25
+ * @category adapters
26
+ */
27
+ exports.toTranslateConfig = effect_1.FiberRef.get(currentDynamoDBDocumentServiceConfig);
28
+ //# sourceMappingURL=DynamoDBDocumentServiceConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoDBDocumentServiceConfig.js","sourceRoot":"","sources":["../../src/DynamoDBDocumentServiceConfig.ts"],"names":[],"mappings":";;;AAIA,mCAAiD;AACjD,8CAAuC;AACvC,oDAAiD;AAGjD;;;GAGG;AACH,MAAM,oCAAoC,GAAG,IAAA,yBAAW,EACtD,+DAA+D,EAC/D,GAAG,EAAE,CAAC,iBAAQ,CAAC,UAAU,CAAiC,EAAE,CAAC,CAC9D,CAAC;AAEF;;;GAGG;AACU,QAAA,iCAAiC,GAG1C,IAAA,eAAI,EACN,CAAC,EACD,CAAU,MAA8B,EAAE,MAAsC,EAA0B,EAAE,CAC1G,eAAM,CAAC,OAAO,CAAC,MAAM,EAAE,oCAAoC,EAAE,MAAM,CAAC,CACvE,CAAC;AAEF;;;GAGG;AACI,MAAM,gCAAgC,GAAG,CAAC,MAAsC,EAAE,EAAE,CACzF,cAAK,CAAC,aAAa,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;AADvD,QAAA,gCAAgC,oCACuB;AAEpE;;;GAGG;AACU,QAAA,iBAAiB,GAAmC,iBAAQ,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { Config, Effect, Layer } from "effect";
5
+ import { DynamoDBDocumentService } from "./DynamoDBDocumentService.js";
6
+ type WithoutTableNameInArgs = {
7
+ [K in keyof Omit<DynamoDBDocumentService.Type, "_">]: Parameters<DynamoDBDocumentService.Type[K]>[0] extends {
8
+ TableName?: string;
9
+ } ? (args: Omit<Parameters<DynamoDBDocumentService.Type[K]>[0], "TableName">, options?: Parameters<DynamoDBDocumentService.Type[K]>[1]) => Effect.Effect<Effect.Effect.Success<ReturnType<DynamoDBDocumentService.Type[K]>> extends {
10
+ Item?: infer Item;
11
+ } ? Item | undefined : Effect.Effect.Success<ReturnType<DynamoDBDocumentService.Type[K]>> extends {
12
+ Items?: infer Items;
13
+ } ? Items : Effect.Effect.Success<ReturnType<DynamoDBDocumentService.Type[K]>> extends {
14
+ Attributes?: infer Attributes;
15
+ } ? Attributes | undefined : never, Effect.Effect.Error<ReturnType<DynamoDBDocumentService.Type[K]>>, Effect.Effect.Context<ReturnType<DynamoDBDocumentService.Type[K]>>> : never;
16
+ };
17
+ type WithoutTableNameInBatchRequest = {
18
+ [K in keyof Omit<DynamoDBDocumentService.Type, "_">]: Parameters<DynamoDBDocumentService.Type[K]>[0] extends {
19
+ RequestItems?: {
20
+ [key: string]: infer RequestItems;
21
+ };
22
+ } ? (args: RequestItems, options?: Parameters<DynamoDBDocumentService.Type[K]>[1]) => ReturnType<DynamoDBDocumentService.Type[K]> : never;
23
+ };
24
+ type OmitNeverProps<T> = {
25
+ [K in keyof T as T[K] extends never ? never : K]: T[K];
26
+ };
27
+ /**
28
+ * @since 1.0.0
29
+ * @category constructors
30
+ */
31
+ export declare const makeDynamoDBStore: (props: DynamoDBStore.Config) => Effect.Effect<{
32
+ scan: (args: Omit<import("@aws-sdk/lib-dynamodb").ScanCommandInput, "TableName">) => Effect.Effect<Record<string, any>[], import("effect/Cause").TimeoutException | import("@effect-aws/client-dynamodb").SdkError | import("@effect-aws/client-dynamodb").InternalServerError | import("@effect-aws/client-dynamodb").RequestLimitExceededError | import("@effect-aws/client-dynamodb").InvalidEndpointError | import("@effect-aws/client-dynamodb").ProvisionedThroughputExceededError | import("@effect-aws/client-dynamodb").ResourceNotFoundError, never>;
33
+ query: (args: Omit<import("@aws-sdk/lib-dynamodb").QueryCommandInput, "TableName">) => Effect.Effect<Record<string, any>[], import("effect/Cause").TimeoutException | import("@effect-aws/client-dynamodb").SdkError | import("@effect-aws/client-dynamodb").InternalServerError | import("@effect-aws/client-dynamodb").RequestLimitExceededError | import("@effect-aws/client-dynamodb").InvalidEndpointError | import("@effect-aws/client-dynamodb").ProvisionedThroughputExceededError | import("@effect-aws/client-dynamodb").ResourceNotFoundError, never>;
34
+ get: (args: Omit<import("@aws-sdk/lib-dynamodb").GetCommandInput, "TableName">) => Effect.Effect<Record<string, any> | undefined, import("effect/Cause").TimeoutException | import("@effect-aws/client-dynamodb").SdkError | import("@effect-aws/client-dynamodb").InternalServerError | import("@effect-aws/client-dynamodb").RequestLimitExceededError | import("@effect-aws/client-dynamodb").InvalidEndpointError | import("@effect-aws/client-dynamodb").ProvisionedThroughputExceededError | import("@effect-aws/client-dynamodb").ResourceNotFoundError, never>;
35
+ put: (args: Omit<import("@aws-sdk/lib-dynamodb").PutCommandInput, "TableName">) => Effect.Effect<Record<string, any> | undefined, import("effect/Cause").TimeoutException | import("@effect-aws/client-dynamodb").SdkError | import("@effect-aws/client-dynamodb").InternalServerError | import("@effect-aws/client-dynamodb").RequestLimitExceededError | import("@effect-aws/client-dynamodb").InvalidEndpointError | import("@effect-aws/client-dynamodb").ProvisionedThroughputExceededError | import("@effect-aws/client-dynamodb").ResourceNotFoundError | import("@effect-aws/client-dynamodb").ItemCollectionSizeLimitExceededError | import("@effect-aws/client-dynamodb").ConditionalCheckFailedError | import("@effect-aws/client-dynamodb").TransactionConflictError, never>;
36
+ batchWrite: (items: (Omit<import("@aws-sdk/client-dynamodb").WriteRequest, "PutRequest" | "DeleteRequest"> & {
37
+ PutRequest?: (Omit<import("@aws-sdk/client-dynamodb").PutRequest, "Item"> & {
38
+ Item: Record<string, any> | undefined;
39
+ }) | undefined;
40
+ DeleteRequest?: (Omit<import("@aws-sdk/client-dynamodb").DeleteRequest, "Key"> & {
41
+ Key: Record<string, any> | undefined;
42
+ }) | undefined;
43
+ })[]) => Effect.Effect<import("@aws-sdk/lib-dynamodb").BatchWriteCommandOutput, import("effect/Cause").TimeoutException | import("@effect-aws/client-dynamodb").SdkError | import("@effect-aws/client-dynamodb").InternalServerError | import("@effect-aws/client-dynamodb").RequestLimitExceededError | import("@effect-aws/client-dynamodb").InvalidEndpointError | import("@effect-aws/client-dynamodb").ProvisionedThroughputExceededError | import("@effect-aws/client-dynamodb").ResourceNotFoundError | import("@effect-aws/client-dynamodb").ItemCollectionSizeLimitExceededError, never>;
44
+ batchPut: (items: Record<string, any>[]) => Effect.Effect<import("@aws-sdk/lib-dynamodb").BatchWriteCommandOutput, import("effect/Cause").TimeoutException | import("@effect-aws/client-dynamodb").SdkError | import("@effect-aws/client-dynamodb").InternalServerError | import("@effect-aws/client-dynamodb").RequestLimitExceededError | import("@effect-aws/client-dynamodb").InvalidEndpointError | import("@effect-aws/client-dynamodb").ProvisionedThroughputExceededError | import("@effect-aws/client-dynamodb").ResourceNotFoundError | import("@effect-aws/client-dynamodb").ItemCollectionSizeLimitExceededError, never>;
45
+ batchDelete: (keys: Record<string, any>[]) => Effect.Effect<import("@aws-sdk/lib-dynamodb").BatchWriteCommandOutput, import("effect/Cause").TimeoutException | import("@effect-aws/client-dynamodb").SdkError | import("@effect-aws/client-dynamodb").InternalServerError | import("@effect-aws/client-dynamodb").RequestLimitExceededError | import("@effect-aws/client-dynamodb").InvalidEndpointError | import("@effect-aws/client-dynamodb").ProvisionedThroughputExceededError | import("@effect-aws/client-dynamodb").ResourceNotFoundError | import("@effect-aws/client-dynamodb").ItemCollectionSizeLimitExceededError, never>;
46
+ batchGet: (items: Omit<import("@aws-sdk/client-dynamodb").KeysAndAttributes, "Keys"> & {
47
+ Keys: Record<string, any>[] | undefined;
48
+ }) => Effect.Effect<import("@aws-sdk/lib-dynamodb").BatchGetCommandOutput, import("effect/Cause").TimeoutException | import("@effect-aws/client-dynamodb").SdkError | import("@effect-aws/client-dynamodb").InternalServerError | import("@effect-aws/client-dynamodb").RequestLimitExceededError | import("@effect-aws/client-dynamodb").InvalidEndpointError | import("@effect-aws/client-dynamodb").ProvisionedThroughputExceededError | import("@effect-aws/client-dynamodb").ResourceNotFoundError, never>;
49
+ update: (args: Omit<import("@aws-sdk/lib-dynamodb").UpdateCommandInput, "TableName">) => Effect.Effect<Record<string, any> | undefined, import("effect/Cause").TimeoutException | import("@effect-aws/client-dynamodb").SdkError | import("@effect-aws/client-dynamodb").InternalServerError | import("@effect-aws/client-dynamodb").RequestLimitExceededError | import("@effect-aws/client-dynamodb").InvalidEndpointError | import("@effect-aws/client-dynamodb").ProvisionedThroughputExceededError | import("@effect-aws/client-dynamodb").ResourceNotFoundError | import("@effect-aws/client-dynamodb").ItemCollectionSizeLimitExceededError | import("@effect-aws/client-dynamodb").ConditionalCheckFailedError | import("@effect-aws/client-dynamodb").TransactionConflictError, never>;
50
+ delete: (args: Omit<import("@aws-sdk/lib-dynamodb").DeleteCommandInput, "TableName">) => Effect.Effect<Record<string, any> | undefined, import("effect/Cause").TimeoutException | import("@effect-aws/client-dynamodb").SdkError | import("@effect-aws/client-dynamodb").InternalServerError | import("@effect-aws/client-dynamodb").RequestLimitExceededError | import("@effect-aws/client-dynamodb").InvalidEndpointError | import("@effect-aws/client-dynamodb").ProvisionedThroughputExceededError | import("@effect-aws/client-dynamodb").ResourceNotFoundError | import("@effect-aws/client-dynamodb").ItemCollectionSizeLimitExceededError | import("@effect-aws/client-dynamodb").ConditionalCheckFailedError | import("@effect-aws/client-dynamodb").TransactionConflictError, never>;
51
+ }, never, DynamoDBDocumentService>;
52
+ declare const DynamoDBStore_base: import("effect/Context").TagClass<DynamoDBStore, "@pms/common/DynamoDBStore", DynamoDBStore.Type> & Effect.Tag.Proxy<DynamoDBStore, DynamoDBStore.Type> & {
53
+ use: <X>(body: (_: DynamoDBStore.Type) => X) => [X] extends [Effect.Effect<infer A, infer E, infer R>] ? Effect.Effect<A, E, R | DynamoDBStore> : [X] extends [PromiseLike<infer A_1>] ? Effect.Effect<A_1, import("effect/Cause").UnknownException, DynamoDBStore> : Effect.Effect<X, never, DynamoDBStore>;
54
+ };
55
+ /**
56
+ * @since 1.0.0
57
+ * @category models
58
+ */
59
+ export declare class DynamoDBStore extends DynamoDBStore_base {
60
+ static layer: (props: DynamoDBStore.Config) => Layer.Layer<DynamoDBStore, never, DynamoDBDocumentService>;
61
+ static layerConfig: (config: Config.Config.Wrap<DynamoDBStore.Config>) => Layer.Layer<DynamoDBStore, import("effect/ConfigError").ConfigError, DynamoDBDocumentService>;
62
+ }
63
+ /**
64
+ * @since 1.0.0
65
+ */
66
+ export declare namespace DynamoDBStore {
67
+ /**
68
+ * @since 1.0.0
69
+ */
70
+ type Config = {
71
+ readonly tableName: string;
72
+ };
73
+ /**
74
+ * @since 1.0.0
75
+ */
76
+ type Type = OmitNeverProps<WithoutTableNameInArgs> & OmitNeverProps<WithoutTableNameInBatchRequest> & {
77
+ batchPut: (items: Array<Record<string, any>>) => ReturnType<DynamoDBDocumentService.Type["batchWrite"]>;
78
+ batchDelete: (keys: Array<Record<string, any>>) => ReturnType<DynamoDBDocumentService.Type["batchWrite"]>;
79
+ };
80
+ }
81
+ export {};
82
+ //# sourceMappingURL=DynamoDBStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoDBStore.d.ts","sourceRoot":"","sources":["../../src/DynamoDBStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DynamoDBStore = exports.makeDynamoDBStore = void 0;
4
+ /**
5
+ * @since 1.0.0
6
+ */
7
+ const effect_1 = require("effect");
8
+ const DynamoDBDocumentService_js_1 = require("./DynamoDBDocumentService.js");
9
+ /**
10
+ * @since 1.0.0
11
+ * @category constructors
12
+ */
13
+ exports.makeDynamoDBStore = effect_1.Effect.fn(function* (props) {
14
+ const ddb = yield* DynamoDBDocumentService_js_1.DynamoDBDocumentService;
15
+ return {
16
+ scan: (args) => ddb
17
+ .scan({ TableName: props.tableName, ...args })
18
+ .pipe(effect_1.Effect.map(({ Items }) => Items ?? [])),
19
+ query: (args) => ddb
20
+ .query({ TableName: props.tableName, ...args })
21
+ .pipe(effect_1.Effect.map(({ Items }) => Items ?? [])),
22
+ get: (args) => ddb
23
+ .get({ TableName: props.tableName, Key: args?.Key })
24
+ .pipe(effect_1.Effect.map(({ Item }) => Item)),
25
+ put: (args) => ddb
26
+ .put({ TableName: props.tableName, ...args })
27
+ .pipe(effect_1.Effect.map(({ Attributes }) => Attributes)),
28
+ batchWrite: (items) => ddb.batchWrite({ RequestItems: { [props.tableName]: items } }),
29
+ batchPut: (items) => ddb.batchWrite({
30
+ RequestItems: {
31
+ [props.tableName]: items.map((Item) => ({ PutRequest: { Item } })),
32
+ },
33
+ }),
34
+ batchDelete: (keys) => ddb.batchWrite({
35
+ RequestItems: {
36
+ [props.tableName]: keys.map((Key) => ({ DeleteRequest: { Key } })),
37
+ },
38
+ }),
39
+ batchGet: (items) => ddb.batchGet({ RequestItems: { [props.tableName]: items } }),
40
+ update: (args) => ddb
41
+ .update({ TableName: props.tableName, ...args })
42
+ .pipe(effect_1.Effect.map(({ Attributes }) => Attributes)),
43
+ delete: (args) => ddb
44
+ .delete({ TableName: props.tableName, ...args })
45
+ .pipe(effect_1.Effect.map(({ Attributes }) => Attributes)),
46
+ };
47
+ });
48
+ /**
49
+ * @since 1.0.0
50
+ * @category models
51
+ */
52
+ class DynamoDBStore extends effect_1.Effect.Tag("@pms/common/DynamoDBStore")() {
53
+ static layer = (props) => effect_1.Layer.effect(this, (0, exports.makeDynamoDBStore)(props));
54
+ static layerConfig = (config) => effect_1.Layer.effect(this, effect_1.Config.unwrap(config).pipe(effect_1.Effect.flatMap(exports.makeDynamoDBStore)));
55
+ }
56
+ exports.DynamoDBStore = DynamoDBStore;
57
+ //# sourceMappingURL=DynamoDBStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoDBStore.js","sourceRoot":"","sources":["../../src/DynamoDBStore.ts"],"names":[],"mappings":"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"}