dynamo-document-builder 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +367 -0
- package/dist/attributes/attribute-map.cjs +52 -0
- package/dist/attributes/attribute-map.cjs.map +1 -1
- package/dist/attributes/attribute-map.d.ts +67 -0
- package/dist/attributes/attribute-map.mjs +52 -0
- package/dist/attributes/attribute-map.mjs.map +1 -1
- package/dist/commands/batch-get.cjs +43 -0
- package/dist/commands/batch-get.cjs.map +1 -1
- package/dist/commands/batch-get.d.ts +51 -3
- package/dist/commands/batch-get.mjs +44 -1
- package/dist/commands/batch-get.mjs.map +1 -1
- package/dist/commands/batch-projected-get.cjs +42 -0
- package/dist/commands/batch-projected-get.cjs.map +1 -1
- package/dist/commands/batch-projected-get.d.ts +56 -3
- package/dist/commands/batch-projected-get.mjs +42 -0
- package/dist/commands/batch-projected-get.mjs.map +1 -1
- package/dist/commands/batch-write.cjs +44 -0
- package/dist/commands/batch-write.cjs.map +1 -1
- package/dist/commands/batch-write.d.ts +54 -4
- package/dist/commands/batch-write.mjs +45 -1
- package/dist/commands/batch-write.mjs.map +1 -1
- package/dist/commands/condition-check.cjs +37 -0
- package/dist/commands/condition-check.cjs.map +1 -1
- package/dist/commands/condition-check.d.ts +45 -3
- package/dist/commands/condition-check.mjs +37 -0
- package/dist/commands/condition-check.mjs.map +1 -1
- package/dist/commands/conditional-delete.cjs +33 -0
- package/dist/commands/conditional-delete.cjs.map +1 -1
- package/dist/commands/conditional-delete.d.ts +46 -3
- package/dist/commands/conditional-delete.mjs +33 -0
- package/dist/commands/conditional-delete.mjs.map +1 -1
- package/dist/commands/conditional-put.cjs +34 -0
- package/dist/commands/conditional-put.cjs.map +1 -1
- package/dist/commands/conditional-put.d.ts +48 -4
- package/dist/commands/conditional-put.mjs +34 -0
- package/dist/commands/conditional-put.mjs.map +1 -1
- package/dist/commands/conditional-update.cjs +35 -0
- package/dist/commands/conditional-update.cjs.map +1 -1
- package/dist/commands/conditional-update.d.ts +48 -3
- package/dist/commands/conditional-update.mjs +35 -0
- package/dist/commands/conditional-update.mjs.map +1 -1
- package/dist/commands/delete.cjs +32 -0
- package/dist/commands/delete.cjs.map +1 -1
- package/dist/commands/delete.d.ts +44 -2
- package/dist/commands/delete.mjs +32 -0
- package/dist/commands/delete.mjs.map +1 -1
- package/dist/commands/get.cjs +33 -0
- package/dist/commands/get.cjs.map +1 -1
- package/dist/commands/get.d.ts +45 -2
- package/dist/commands/get.mjs +33 -0
- package/dist/commands/get.mjs.map +1 -1
- package/dist/commands/index.cjs +8 -0
- package/dist/commands/index.cjs.map +1 -1
- package/dist/commands/index.d.ts +160 -1
- package/dist/commands/index.mjs +4 -0
- package/dist/commands/index.mjs.map +1 -1
- package/dist/commands/projected-get.cjs +40 -0
- package/dist/commands/projected-get.cjs.map +1 -1
- package/dist/commands/projected-get.d.ts +54 -3
- package/dist/commands/projected-get.mjs +40 -0
- package/dist/commands/projected-get.mjs.map +1 -1
- package/dist/commands/projected-query.cjs +41 -0
- package/dist/commands/projected-query.cjs.map +1 -1
- package/dist/commands/projected-query.d.ts +56 -3
- package/dist/commands/projected-query.mjs +41 -0
- package/dist/commands/projected-query.mjs.map +1 -1
- package/dist/commands/projected-scan.cjs +41 -0
- package/dist/commands/projected-scan.cjs.map +1 -1
- package/dist/commands/projected-scan.d.ts +55 -3
- package/dist/commands/projected-scan.mjs +41 -0
- package/dist/commands/projected-scan.mjs.map +1 -1
- package/dist/commands/put.cjs +37 -0
- package/dist/commands/put.cjs.map +1 -1
- package/dist/commands/put.d.ts +50 -3
- package/dist/commands/put.mjs +37 -0
- package/dist/commands/put.mjs.map +1 -1
- package/dist/commands/query.cjs +35 -0
- package/dist/commands/query.cjs.map +1 -1
- package/dist/commands/query.d.ts +48 -3
- package/dist/commands/query.mjs +35 -0
- package/dist/commands/query.mjs.map +1 -1
- package/dist/commands/scan.cjs +33 -0
- package/dist/commands/scan.cjs.map +1 -1
- package/dist/commands/scan.d.ts +46 -3
- package/dist/commands/scan.mjs +33 -0
- package/dist/commands/scan.mjs.map +1 -1
- package/dist/commands/table-batch-get.cjs +123 -0
- package/dist/commands/table-batch-get.cjs.map +1 -0
- package/dist/commands/table-batch-get.d.ts +86 -0
- package/dist/commands/table-batch-get.mjs +121 -0
- package/dist/commands/table-batch-get.mjs.map +1 -0
- package/dist/commands/table-batch-write.cjs +119 -0
- package/dist/commands/table-batch-write.cjs.map +1 -0
- package/dist/commands/table-batch-write.d.ts +79 -0
- package/dist/commands/table-batch-write.mjs +117 -0
- package/dist/commands/table-batch-write.mjs.map +1 -0
- package/dist/commands/table-transact-get.cjs +73 -0
- package/dist/commands/table-transact-get.cjs.map +1 -0
- package/dist/commands/table-transact-get.d.ts +60 -0
- package/dist/commands/table-transact-get.mjs +71 -0
- package/dist/commands/table-transact-get.mjs.map +1 -0
- package/dist/commands/table-transact-write.cjs +76 -0
- package/dist/commands/table-transact-write.cjs.map +1 -0
- package/dist/commands/table-transact-write.d.ts +51 -0
- package/dist/commands/table-transact-write.mjs +74 -0
- package/dist/commands/table-transact-write.mjs.map +1 -0
- package/dist/commands/transact-get.cjs +38 -0
- package/dist/commands/transact-get.cjs.map +1 -1
- package/dist/commands/transact-get.d.ts +49 -3
- package/dist/commands/transact-get.mjs +39 -1
- package/dist/commands/transact-get.mjs.map +1 -1
- package/dist/commands/transact-write.cjs +37 -0
- package/dist/commands/transact-write.cjs.map +1 -1
- package/dist/commands/transact-write.d.ts +46 -1
- package/dist/commands/transact-write.mjs +37 -0
- package/dist/commands/transact-write.mjs.map +1 -1
- package/dist/commands/update.cjs +37 -0
- package/dist/commands/update.cjs.map +1 -1
- package/dist/commands/update.d.ts +50 -3
- package/dist/commands/update.mjs +37 -0
- package/dist/commands/update.mjs.map +1 -1
- package/dist/conditions/and.cjs +3 -0
- package/dist/conditions/and.cjs.map +1 -1
- package/dist/conditions/and.d.ts +4 -1
- package/dist/conditions/and.mjs +3 -0
- package/dist/conditions/and.mjs.map +1 -1
- package/dist/conditions/begins-with.cjs +3 -0
- package/dist/conditions/begins-with.cjs.map +1 -1
- package/dist/conditions/begins-with.d.ts +4 -1
- package/dist/conditions/begins-with.mjs +3 -0
- package/dist/conditions/begins-with.mjs.map +1 -1
- package/dist/conditions/between.cjs +3 -0
- package/dist/conditions/between.cjs.map +1 -1
- package/dist/conditions/between.d.ts +4 -1
- package/dist/conditions/between.mjs +3 -0
- package/dist/conditions/between.mjs.map +1 -1
- package/dist/conditions/condition-parser.d.ts +1 -1
- package/dist/conditions/contains.cjs +3 -0
- package/dist/conditions/contains.cjs.map +1 -1
- package/dist/conditions/contains.d.ts +4 -1
- package/dist/conditions/contains.mjs +3 -0
- package/dist/conditions/contains.mjs.map +1 -1
- package/dist/conditions/equals.cjs +3 -0
- package/dist/conditions/equals.cjs.map +1 -1
- package/dist/conditions/equals.d.ts +4 -1
- package/dist/conditions/equals.mjs +3 -0
- package/dist/conditions/equals.mjs.map +1 -1
- package/dist/conditions/exists.cjs +3 -0
- package/dist/conditions/exists.cjs.map +1 -1
- package/dist/conditions/exists.d.ts +4 -1
- package/dist/conditions/exists.mjs +3 -0
- package/dist/conditions/exists.mjs.map +1 -1
- package/dist/conditions/greater-than-or-equal.cjs +3 -0
- package/dist/conditions/greater-than-or-equal.cjs.map +1 -1
- package/dist/conditions/greater-than-or-equal.d.ts +4 -1
- package/dist/conditions/greater-than-or-equal.mjs +3 -0
- package/dist/conditions/greater-than-or-equal.mjs.map +1 -1
- package/dist/conditions/greater-than.cjs +3 -0
- package/dist/conditions/greater-than.cjs.map +1 -1
- package/dist/conditions/greater-than.d.ts +4 -1
- package/dist/conditions/greater-than.mjs +3 -0
- package/dist/conditions/greater-than.mjs.map +1 -1
- package/dist/conditions/index.cjs +2 -2
- package/dist/conditions/index.d.ts +185 -2
- package/dist/conditions/index.mjs +1 -1
- package/dist/conditions/is-in.cjs +3 -0
- package/dist/conditions/is-in.cjs.map +1 -1
- package/dist/conditions/is-in.d.ts +4 -1
- package/dist/conditions/is-in.mjs +3 -0
- package/dist/conditions/is-in.mjs.map +1 -1
- package/dist/conditions/less-than-or-equal.cjs +3 -0
- package/dist/conditions/less-than-or-equal.cjs.map +1 -1
- package/dist/conditions/less-than-or-equal.d.ts +4 -1
- package/dist/conditions/less-than-or-equal.mjs +3 -0
- package/dist/conditions/less-than-or-equal.mjs.map +1 -1
- package/dist/conditions/less-than.cjs +3 -0
- package/dist/conditions/less-than.cjs.map +1 -1
- package/dist/conditions/less-than.d.ts +4 -1
- package/dist/conditions/less-than.mjs +3 -0
- package/dist/conditions/less-than.mjs.map +1 -1
- package/dist/conditions/not-equals.cjs +3 -0
- package/dist/conditions/not-equals.cjs.map +1 -1
- package/dist/conditions/not-equals.d.ts +4 -1
- package/dist/conditions/not-equals.mjs +3 -0
- package/dist/conditions/not-equals.mjs.map +1 -1
- package/dist/conditions/not-exists.cjs +3 -0
- package/dist/conditions/not-exists.cjs.map +1 -1
- package/dist/conditions/not-exists.d.ts +4 -1
- package/dist/conditions/not-exists.mjs +3 -0
- package/dist/conditions/not-exists.mjs.map +1 -1
- package/dist/conditions/not.cjs +3 -0
- package/dist/conditions/not.cjs.map +1 -1
- package/dist/conditions/not.d.ts +4 -1
- package/dist/conditions/not.mjs +3 -0
- package/dist/conditions/not.mjs.map +1 -1
- package/dist/conditions/or.cjs +3 -0
- package/dist/conditions/or.cjs.map +1 -1
- package/dist/conditions/or.d.ts +4 -1
- package/dist/conditions/or.mjs +3 -0
- package/dist/conditions/or.mjs.map +1 -1
- package/dist/conditions/size.cjs +3 -0
- package/dist/conditions/size.cjs.map +1 -1
- package/dist/conditions/size.d.ts +4 -1
- package/dist/conditions/size.mjs +3 -0
- package/dist/conditions/size.mjs.map +1 -1
- package/dist/conditions/type-is.cjs +3 -0
- package/dist/conditions/type-is.cjs.map +1 -1
- package/dist/conditions/type-is.d.ts +4 -1
- package/dist/conditions/type-is.mjs +3 -0
- package/dist/conditions/type-is.mjs.map +1 -1
- package/dist/core/entity.cjs +171 -0
- package/dist/core/entity.cjs.map +1 -1
- package/dist/core/entity.d.ts +99 -4
- package/dist/core/entity.mjs +171 -0
- package/dist/core/entity.mjs.map +1 -1
- package/dist/core/index.d.ts +139 -2
- package/dist/core/key.cjs +1 -1
- package/dist/core/key.cjs.map +1 -1
- package/dist/core/key.d.ts +26 -2
- package/dist/core/key.mjs +1 -1
- package/dist/core/key.mjs.map +1 -1
- package/dist/core/table.cjs +30 -0
- package/dist/core/table.cjs.map +1 -1
- package/dist/core/table.d.ts +40 -1
- package/dist/core/table.mjs +31 -1
- package/dist/core/table.mjs.map +1 -1
- package/dist/errors.cjs +3 -0
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +3 -0
- package/dist/errors.mjs +3 -0
- package/dist/errors.mjs.map +1 -1
- package/dist/index.cjs +10 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +11 -7
- package/dist/index.mjs +5 -1
- package/dist/index.mjs.map +1 -1
- package/dist/projections/index.d.ts +7 -1
- package/dist/projections/projection-parser.d.ts +1 -1
- package/dist/updates/add-to-set.cjs +5 -0
- package/dist/updates/add-to-set.cjs.map +1 -1
- package/dist/updates/add-to-set.d.ts +6 -1
- package/dist/updates/add-to-set.mjs +5 -0
- package/dist/updates/add-to-set.mjs.map +1 -1
- package/dist/updates/add.cjs +5 -0
- package/dist/updates/add.cjs.map +1 -1
- package/dist/updates/add.d.ts +6 -1
- package/dist/updates/add.mjs +5 -0
- package/dist/updates/add.mjs.map +1 -1
- package/dist/updates/append.cjs +5 -0
- package/dist/updates/append.cjs.map +1 -1
- package/dist/updates/append.d.ts +6 -1
- package/dist/updates/append.mjs +5 -0
- package/dist/updates/append.mjs.map +1 -1
- package/dist/updates/index.d.ts +78 -1
- package/dist/updates/prepend.cjs +5 -0
- package/dist/updates/prepend.cjs.map +1 -1
- package/dist/updates/prepend.d.ts +6 -1
- package/dist/updates/prepend.mjs +5 -0
- package/dist/updates/prepend.mjs.map +1 -1
- package/dist/updates/ref.cjs +6 -0
- package/dist/updates/ref.cjs.map +1 -1
- package/dist/updates/ref.d.ts +7 -1
- package/dist/updates/ref.mjs +6 -0
- package/dist/updates/ref.mjs.map +1 -1
- package/dist/updates/remove-from-set.cjs +5 -0
- package/dist/updates/remove-from-set.cjs.map +1 -1
- package/dist/updates/remove-from-set.d.ts +6 -1
- package/dist/updates/remove-from-set.mjs +5 -0
- package/dist/updates/remove-from-set.mjs.map +1 -1
- package/dist/updates/remove.cjs +3 -0
- package/dist/updates/remove.cjs.map +1 -1
- package/dist/updates/remove.d.ts +4 -1
- package/dist/updates/remove.mjs +3 -0
- package/dist/updates/remove.mjs.map +1 -1
- package/dist/updates/subtract.cjs +5 -0
- package/dist/updates/subtract.cjs.map +1 -1
- package/dist/updates/subtract.d.ts +6 -1
- package/dist/updates/subtract.mjs +5 -0
- package/dist/updates/subtract.mjs.map +1 -1
- package/dist/updates/update-parser.cjs +10 -0
- package/dist/updates/update-parser.cjs.map +1 -1
- package/dist/updates/update-parser.d.ts +17 -1
- package/dist/updates/update-parser.mjs +10 -0
- package/dist/updates/update-parser.mjs.map +1 -1
- package/package.json +2 -1
- package/dist/commands/base-command.cjs +0 -3
- package/dist/commands/base-command.cjs.map +0 -1
- package/dist/commands/base-command.d.ts +0 -27
- package/dist/commands/base-command.mjs +0 -2
- package/dist/commands/base-command.mjs.map +0 -1
- package/dist/conditions/condition-types.cjs +0 -3
- package/dist/conditions/condition-types.cjs.map +0 -1
- package/dist/conditions/condition-types.d.ts +0 -95
- package/dist/conditions/condition-types.mjs +0 -2
- package/dist/conditions/condition-types.mjs.map +0 -1
- package/dist/core/core-types.cjs +0 -3
- package/dist/core/core-types.cjs.map +0 -1
- package/dist/core/core-types.d.ts +0 -44
- package/dist/core/core-types.mjs +0 -2
- package/dist/core/core-types.mjs.map +0 -1
- package/dist/projections/projection-types.cjs +0 -3
- package/dist/projections/projection-types.cjs.map +0 -1
- package/dist/projections/projection-types.d.ts +0 -3
- package/dist/projections/projection-types.mjs +0 -2
- package/dist/projections/projection-types.mjs.map +0 -1
- package/dist/updates/update-types.cjs +0 -3
- package/dist/updates/update-types.cjs.map +0 -1
- package/dist/updates/update-types.d.ts +0 -45
- package/dist/updates/update-types.mjs +0 -2
- package/dist/updates/update-types.mjs.map +0 -1
package/dist/commands/put.cjs
CHANGED
|
@@ -4,6 +4,43 @@ var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
|
|
|
4
4
|
var libDynamodb = require('@aws-sdk/lib-dynamodb');
|
|
5
5
|
|
|
6
6
|
var _Put_config;
|
|
7
|
+
/**
|
|
8
|
+
* Command to create or replace an item in a DynamoDB table.
|
|
9
|
+
*
|
|
10
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { DynamoTable, DynamoEntity, key, Put } from 'dynamo-document-builder';
|
|
15
|
+
*
|
|
16
|
+
* const table = new DynamoTable({
|
|
17
|
+
* tableName: 'ExampleTable',
|
|
18
|
+
* documentClient,
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* const userEntity = new DynamoEntity({
|
|
22
|
+
* table,
|
|
23
|
+
* schema: z.object({
|
|
24
|
+
* userId: z.string(),
|
|
25
|
+
* name: z.string(),
|
|
26
|
+
* email: z.string(),
|
|
27
|
+
* }),
|
|
28
|
+
* partitionKey: user => key('USER', user.userId),
|
|
29
|
+
* sortKey: () => 'METADATA',
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* const putCommand = new Put({
|
|
33
|
+
* item: {
|
|
34
|
+
* userId: 'user123',
|
|
35
|
+
* name: 'John Doe',
|
|
36
|
+
* email: 'john@example.com',
|
|
37
|
+
* },
|
|
38
|
+
* returnValues: 'ALL_OLD',
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* const { returnItem } = await userEntity.send(putCommand);
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
7
44
|
class Put {
|
|
8
45
|
constructor(config) {
|
|
9
46
|
_Put_config.set(this, void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.cjs","sources":["../../src/commands/put.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","PutCommand"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"put.cjs","sources":["../../src/commands/put.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","PutCommand"],"mappings":"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"}
|
package/dist/commands/put.d.ts
CHANGED
|
@@ -1,20 +1,67 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EntitySchema, TransactWriteOperation } from '../core/index.js';
|
|
2
2
|
import * as zod_v4 from 'zod/v4';
|
|
3
3
|
import { ZodObject } from 'zod/v4';
|
|
4
4
|
import { DynamoEntity } from '../core/entity.js';
|
|
5
|
-
import { EntitySchema, TransactWriteOperation } from '../core/core-types.js';
|
|
6
5
|
import { ReturnValue, ReturnItemCollectionMetrics, ItemCollectionMetrics } from '@aws-sdk/client-dynamodb';
|
|
7
|
-
import { BaseConfig, BaseResult, BaseCommand, WriteTransactable } from './
|
|
6
|
+
import { BaseConfig, BaseResult, BaseCommand, WriteTransactable } from './index.js';
|
|
7
|
+
import { DynamoKey } from '../core/key.js';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Configuration for the Put command.
|
|
11
|
+
*
|
|
12
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
13
|
+
*/
|
|
9
14
|
type PutConfig<Schema extends ZodObject> = BaseConfig & {
|
|
10
15
|
item: EntitySchema<Schema>;
|
|
11
16
|
returnValues?: ReturnValue;
|
|
12
17
|
returnItemCollectionMetrics?: ReturnItemCollectionMetrics;
|
|
13
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* Result of the Put command.
|
|
21
|
+
*
|
|
22
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
23
|
+
*/
|
|
14
24
|
type PutResult<Schema extends ZodObject> = BaseResult & {
|
|
15
25
|
returnItem: Partial<EntitySchema<Schema>> | undefined;
|
|
16
26
|
itemCollectionMetrics?: ItemCollectionMetrics;
|
|
17
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Command to create or replace an item in a DynamoDB table.
|
|
30
|
+
*
|
|
31
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* import { DynamoTable, DynamoEntity, key, Put } from 'dynamo-document-builder';
|
|
36
|
+
*
|
|
37
|
+
* const table = new DynamoTable({
|
|
38
|
+
* tableName: 'ExampleTable',
|
|
39
|
+
* documentClient,
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* const userEntity = new DynamoEntity({
|
|
43
|
+
* table,
|
|
44
|
+
* schema: z.object({
|
|
45
|
+
* userId: z.string(),
|
|
46
|
+
* name: z.string(),
|
|
47
|
+
* email: z.string(),
|
|
48
|
+
* }),
|
|
49
|
+
* partitionKey: user => key('USER', user.userId),
|
|
50
|
+
* sortKey: () => 'METADATA',
|
|
51
|
+
* });
|
|
52
|
+
*
|
|
53
|
+
* const putCommand = new Put({
|
|
54
|
+
* item: {
|
|
55
|
+
* userId: 'user123',
|
|
56
|
+
* name: 'John Doe',
|
|
57
|
+
* email: 'john@example.com',
|
|
58
|
+
* },
|
|
59
|
+
* returnValues: 'ALL_OLD',
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* const { returnItem } = await userEntity.send(putCommand);
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
18
65
|
declare class Put<Schema extends ZodObject> implements BaseCommand<PutResult<Schema>, Schema>, WriteTransactable<Schema> {
|
|
19
66
|
#private;
|
|
20
67
|
constructor(config: PutConfig<Schema>);
|
package/dist/commands/put.mjs
CHANGED
|
@@ -2,6 +2,43 @@ import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../no
|
|
|
2
2
|
import { PutCommand } from '@aws-sdk/lib-dynamodb';
|
|
3
3
|
|
|
4
4
|
var _Put_config;
|
|
5
|
+
/**
|
|
6
|
+
* Command to create or replace an item in a DynamoDB table.
|
|
7
|
+
*
|
|
8
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { DynamoTable, DynamoEntity, key, Put } from 'dynamo-document-builder';
|
|
13
|
+
*
|
|
14
|
+
* const table = new DynamoTable({
|
|
15
|
+
* tableName: 'ExampleTable',
|
|
16
|
+
* documentClient,
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* const userEntity = new DynamoEntity({
|
|
20
|
+
* table,
|
|
21
|
+
* schema: z.object({
|
|
22
|
+
* userId: z.string(),
|
|
23
|
+
* name: z.string(),
|
|
24
|
+
* email: z.string(),
|
|
25
|
+
* }),
|
|
26
|
+
* partitionKey: user => key('USER', user.userId),
|
|
27
|
+
* sortKey: () => 'METADATA',
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* const putCommand = new Put({
|
|
31
|
+
* item: {
|
|
32
|
+
* userId: 'user123',
|
|
33
|
+
* name: 'John Doe',
|
|
34
|
+
* email: 'john@example.com',
|
|
35
|
+
* },
|
|
36
|
+
* returnValues: 'ALL_OLD',
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* const { returnItem } = await userEntity.send(putCommand);
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
5
42
|
class Put {
|
|
6
43
|
constructor(config) {
|
|
7
44
|
_Put_config.set(this, void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.mjs","sources":["../../src/commands/put.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"put.mjs","sources":["../../src/commands/put.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/commands/query.cjs
CHANGED
|
@@ -9,6 +9,41 @@ var errors = require('../errors.cjs');
|
|
|
9
9
|
var pMap = require('p-map');
|
|
10
10
|
|
|
11
11
|
var _Query_config;
|
|
12
|
+
/**
|
|
13
|
+
* Command to retrieve multiple items by partition key with optional sort key conditions.
|
|
14
|
+
*
|
|
15
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import { DynamoTable, DynamoEntity, key, Query, beginsWith } from 'dynamo-document-builder';
|
|
20
|
+
*
|
|
21
|
+
* const table = new DynamoTable({
|
|
22
|
+
* tableName: 'ExampleTable',
|
|
23
|
+
* documentClient,
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* const todoEntity = new DynamoEntity({
|
|
27
|
+
* table,
|
|
28
|
+
* schema: z.object({
|
|
29
|
+
* userId: z.string(),
|
|
30
|
+
* todoId: z.string(),
|
|
31
|
+
* title: z.string(),
|
|
32
|
+
* isComplete: z.boolean(),
|
|
33
|
+
* }),
|
|
34
|
+
* partitionKey: todo => key('USER', todo.userId),
|
|
35
|
+
* sortKey: todo => key('TODO', todo.todoId),
|
|
36
|
+
* });
|
|
37
|
+
*
|
|
38
|
+
* const queryCommand = new Query({
|
|
39
|
+
* key: { userId: 'user123' },
|
|
40
|
+
* sortKeyCondition: { SK: beginsWith('TODO#') },
|
|
41
|
+
* limit: 10,
|
|
42
|
+
* });
|
|
43
|
+
*
|
|
44
|
+
* const { items, count } = await todoEntity.send(queryCommand);
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
12
47
|
class Query {
|
|
13
48
|
constructor(config) {
|
|
14
49
|
_Query_config.set(this, void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.cjs","sources":["../../src/commands/query.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","AttributeExpressionMap","__classPrivateFieldGet","DocumentBuilderError","parseCondition","QUERY_VALIDATION_CONCURRENCY","QueryCommand","paginateQuery","__asyncValues","__await"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"query.cjs","sources":["../../src/commands/query.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","AttributeExpressionMap","__classPrivateFieldGet","DocumentBuilderError","parseCondition","QUERY_VALIDATION_CONCURRENCY","QueryCommand","paginateQuery","__asyncValues","__await"],"mappings":"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"}
|
package/dist/commands/query.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import { Condition } from '../conditions/
|
|
1
|
+
import { Condition } from '../conditions/index.js';
|
|
2
2
|
import { EntityKeyInput, DynamoEntity } from '../core/entity.js';
|
|
3
|
-
import { EntitySchema } from '../core/
|
|
3
|
+
import { EntitySchema } from '../core/index.js';
|
|
4
4
|
import { Select } from '@aws-sdk/client-dynamodb';
|
|
5
5
|
import { ZodObject } from 'zod/v4';
|
|
6
|
-
import { BaseConfig, BaseResult, BaseCommand, BasePaginatable } from './
|
|
6
|
+
import { BaseConfig, BaseResult, BaseCommand, BasePaginatable } from './index.js';
|
|
7
7
|
import { QueryCommandInput, NativeAttributeValue, QueryCommandOutput } from '@aws-sdk/lib-dynamodb';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Configuration for the Query command.
|
|
11
|
+
*
|
|
12
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
13
|
+
*/
|
|
9
14
|
type QueryConfig<Schema extends ZodObject> = BaseConfig & EntityKeyInput<EntitySchema<Schema>> & {
|
|
10
15
|
sortKeyCondition?: Condition;
|
|
11
16
|
filter?: Condition;
|
|
@@ -17,12 +22,52 @@ type QueryConfig<Schema extends ZodObject> = BaseConfig & EntityKeyInput<EntityS
|
|
|
17
22
|
exclusiveStartKey?: Partial<EntitySchema<Schema>>;
|
|
18
23
|
pageSize?: number;
|
|
19
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Result of the Query command.
|
|
27
|
+
*
|
|
28
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
29
|
+
*/
|
|
20
30
|
type QueryResult<Schema extends ZodObject> = BaseResult & {
|
|
21
31
|
items: EntitySchema<Schema>[];
|
|
22
32
|
count: number;
|
|
23
33
|
scannedCount: number;
|
|
24
34
|
lastEvaluatedKey?: Partial<EntitySchema<Schema>> | undefined;
|
|
25
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Command to retrieve multiple items by partition key with optional sort key conditions.
|
|
38
|
+
*
|
|
39
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* import { DynamoTable, DynamoEntity, key, Query, beginsWith } from 'dynamo-document-builder';
|
|
44
|
+
*
|
|
45
|
+
* const table = new DynamoTable({
|
|
46
|
+
* tableName: 'ExampleTable',
|
|
47
|
+
* documentClient,
|
|
48
|
+
* });
|
|
49
|
+
*
|
|
50
|
+
* const todoEntity = new DynamoEntity({
|
|
51
|
+
* table,
|
|
52
|
+
* schema: z.object({
|
|
53
|
+
* userId: z.string(),
|
|
54
|
+
* todoId: z.string(),
|
|
55
|
+
* title: z.string(),
|
|
56
|
+
* isComplete: z.boolean(),
|
|
57
|
+
* }),
|
|
58
|
+
* partitionKey: todo => key('USER', todo.userId),
|
|
59
|
+
* sortKey: todo => key('TODO', todo.todoId),
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* const queryCommand = new Query({
|
|
63
|
+
* key: { userId: 'user123' },
|
|
64
|
+
* sortKeyCondition: { SK: beginsWith('TODO#') },
|
|
65
|
+
* limit: 10,
|
|
66
|
+
* });
|
|
67
|
+
*
|
|
68
|
+
* const { items, count } = await todoEntity.send(queryCommand);
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
26
71
|
declare class Query<Schema extends ZodObject> implements BaseCommand<QueryResult<Schema>, Schema>, BasePaginatable<QueryResult<Schema>, Schema> {
|
|
27
72
|
#private;
|
|
28
73
|
constructor(config: QueryConfig<Schema>);
|
package/dist/commands/query.mjs
CHANGED
|
@@ -7,6 +7,41 @@ import { DocumentBuilderError } from '../errors.mjs';
|
|
|
7
7
|
import pMap from 'p-map';
|
|
8
8
|
|
|
9
9
|
var _Query_config;
|
|
10
|
+
/**
|
|
11
|
+
* Command to retrieve multiple items by partition key with optional sort key conditions.
|
|
12
|
+
*
|
|
13
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { DynamoTable, DynamoEntity, key, Query, beginsWith } from 'dynamo-document-builder';
|
|
18
|
+
*
|
|
19
|
+
* const table = new DynamoTable({
|
|
20
|
+
* tableName: 'ExampleTable',
|
|
21
|
+
* documentClient,
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* const todoEntity = new DynamoEntity({
|
|
25
|
+
* table,
|
|
26
|
+
* schema: z.object({
|
|
27
|
+
* userId: z.string(),
|
|
28
|
+
* todoId: z.string(),
|
|
29
|
+
* title: z.string(),
|
|
30
|
+
* isComplete: z.boolean(),
|
|
31
|
+
* }),
|
|
32
|
+
* partitionKey: todo => key('USER', todo.userId),
|
|
33
|
+
* sortKey: todo => key('TODO', todo.todoId),
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* const queryCommand = new Query({
|
|
37
|
+
* key: { userId: 'user123' },
|
|
38
|
+
* sortKeyCondition: { SK: beginsWith('TODO#') },
|
|
39
|
+
* limit: 10,
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* const { items, count } = await todoEntity.send(queryCommand);
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
10
45
|
class Query {
|
|
11
46
|
constructor(config) {
|
|
12
47
|
_Query_config.set(this, void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.mjs","sources":["../../src/commands/query.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"query.mjs","sources":["../../src/commands/query.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/commands/scan.cjs
CHANGED
|
@@ -8,6 +8,39 @@ var conditions_conditionParser = require('../conditions/condition-parser.cjs');
|
|
|
8
8
|
var pMap = require('p-map');
|
|
9
9
|
|
|
10
10
|
var _Scan_config;
|
|
11
|
+
/**
|
|
12
|
+
* Command to scan entire table or index (expensive operation).
|
|
13
|
+
*
|
|
14
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { DynamoTable, DynamoEntity, key, Scan } from 'dynamo-document-builder';
|
|
19
|
+
*
|
|
20
|
+
* const table = new DynamoTable({
|
|
21
|
+
* tableName: 'ExampleTable',
|
|
22
|
+
* documentClient,
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* const todoEntity = new DynamoEntity({
|
|
26
|
+
* table,
|
|
27
|
+
* schema: z.object({
|
|
28
|
+
* userId: z.string(),
|
|
29
|
+
* todoId: z.string(),
|
|
30
|
+
* isComplete: z.boolean(),
|
|
31
|
+
* }),
|
|
32
|
+
* partitionKey: todo => key('USER', todo.userId),
|
|
33
|
+
* sortKey: todo => key('TODO', todo.todoId),
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* const scanCommand = new Scan({
|
|
37
|
+
* filter: { isComplete: false },
|
|
38
|
+
* limit: 100,
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* const { items, scannedCount } = await todoEntity.send(scanCommand);
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
11
44
|
class Scan {
|
|
12
45
|
constructor(config) {
|
|
13
46
|
_Scan_config.set(this, void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.cjs","sources":["../../src/commands/scan.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","AttributeExpressionMap","__classPrivateFieldGet","parseCondition","SCAN_VALIDATION_CONCURRENCY","ScanCommand","paginateScan","__asyncValues","__await"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"scan.cjs","sources":["../../src/commands/scan.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","AttributeExpressionMap","__classPrivateFieldGet","parseCondition","SCAN_VALIDATION_CONCURRENCY","ScanCommand","paginateScan","__asyncValues","__await"],"mappings":"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"}
|
package/dist/commands/scan.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import { Condition } from '../conditions/
|
|
1
|
+
import { Condition } from '../conditions/index.js';
|
|
2
2
|
import { DynamoEntity } from '../core/entity.js';
|
|
3
|
-
import { EntitySchema } from '../core/
|
|
3
|
+
import { EntitySchema } from '../core/index.js';
|
|
4
4
|
import { Select } from '@aws-sdk/client-dynamodb';
|
|
5
5
|
import { ZodObject } from 'zod/v4';
|
|
6
|
-
import { BaseConfig, BaseResult, BaseCommand, BasePaginatable } from './
|
|
6
|
+
import { BaseConfig, BaseResult, BaseCommand, BasePaginatable } from './index.js';
|
|
7
7
|
import { ScanCommandInput, NativeAttributeValue, ScanCommandOutput } from '@aws-sdk/lib-dynamodb';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Configuration for the Scan command.
|
|
11
|
+
*
|
|
12
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
13
|
+
*/
|
|
9
14
|
type ScanConfig<Schema extends ZodObject> = BaseConfig & {
|
|
10
15
|
indexName?: string;
|
|
11
16
|
filter?: Condition;
|
|
@@ -18,12 +23,50 @@ type ScanConfig<Schema extends ZodObject> = BaseConfig & {
|
|
|
18
23
|
exclusiveStartKey?: Partial<EntitySchema<Schema>>;
|
|
19
24
|
pageSize?: number;
|
|
20
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* Result of the Scan command.
|
|
28
|
+
*
|
|
29
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
30
|
+
*/
|
|
21
31
|
type ScanResult<Schema extends ZodObject> = BaseResult & {
|
|
22
32
|
items: EntitySchema<Schema>[];
|
|
23
33
|
count: number;
|
|
24
34
|
scannedCount: number;
|
|
25
35
|
lastEvaluatedKey?: Partial<EntitySchema<Schema>> | undefined;
|
|
26
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Command to scan entire table or index (expensive operation).
|
|
39
|
+
*
|
|
40
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* import { DynamoTable, DynamoEntity, key, Scan } from 'dynamo-document-builder';
|
|
45
|
+
*
|
|
46
|
+
* const table = new DynamoTable({
|
|
47
|
+
* tableName: 'ExampleTable',
|
|
48
|
+
* documentClient,
|
|
49
|
+
* });
|
|
50
|
+
*
|
|
51
|
+
* const todoEntity = new DynamoEntity({
|
|
52
|
+
* table,
|
|
53
|
+
* schema: z.object({
|
|
54
|
+
* userId: z.string(),
|
|
55
|
+
* todoId: z.string(),
|
|
56
|
+
* isComplete: z.boolean(),
|
|
57
|
+
* }),
|
|
58
|
+
* partitionKey: todo => key('USER', todo.userId),
|
|
59
|
+
* sortKey: todo => key('TODO', todo.todoId),
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* const scanCommand = new Scan({
|
|
63
|
+
* filter: { isComplete: false },
|
|
64
|
+
* limit: 100,
|
|
65
|
+
* });
|
|
66
|
+
*
|
|
67
|
+
* const { items, scannedCount } = await todoEntity.send(scanCommand);
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
27
70
|
declare class Scan<Schema extends ZodObject> implements BaseCommand<ScanResult<Schema>, Schema>, BasePaginatable<ScanResult<Schema>, Schema> {
|
|
28
71
|
#private;
|
|
29
72
|
constructor(config?: ScanConfig<Schema>);
|
package/dist/commands/scan.mjs
CHANGED
|
@@ -6,6 +6,39 @@ import { parseCondition } from '../conditions/condition-parser.mjs';
|
|
|
6
6
|
import pMap from 'p-map';
|
|
7
7
|
|
|
8
8
|
var _Scan_config;
|
|
9
|
+
/**
|
|
10
|
+
* Command to scan entire table or index (expensive operation).
|
|
11
|
+
*
|
|
12
|
+
* @template Schema - The Zod schema defining the structure of the entity.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import { DynamoTable, DynamoEntity, key, Scan } from 'dynamo-document-builder';
|
|
17
|
+
*
|
|
18
|
+
* const table = new DynamoTable({
|
|
19
|
+
* tableName: 'ExampleTable',
|
|
20
|
+
* documentClient,
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* const todoEntity = new DynamoEntity({
|
|
24
|
+
* table,
|
|
25
|
+
* schema: z.object({
|
|
26
|
+
* userId: z.string(),
|
|
27
|
+
* todoId: z.string(),
|
|
28
|
+
* isComplete: z.boolean(),
|
|
29
|
+
* }),
|
|
30
|
+
* partitionKey: todo => key('USER', todo.userId),
|
|
31
|
+
* sortKey: todo => key('TODO', todo.todoId),
|
|
32
|
+
* });
|
|
33
|
+
*
|
|
34
|
+
* const scanCommand = new Scan({
|
|
35
|
+
* filter: { isComplete: false },
|
|
36
|
+
* limit: 100,
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* const { items, scannedCount } = await todoEntity.send(scanCommand);
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
9
42
|
class Scan {
|
|
10
43
|
constructor(config) {
|
|
11
44
|
_Scan_config.set(this, void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.mjs","sources":["../../src/commands/scan.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"scan.mjs","sources":["../../src/commands/scan.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|