dynamo-document-builder 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/attributes/attribute-map.d.ts +11 -7
- package/dist/attributes/index.d.ts +1 -1
- package/dist/commands/base-command.d.ts +13 -10
- package/dist/commands/batch-get.d.ts +11 -7
- package/dist/commands/batch-write.d.ts +17 -11
- package/dist/commands/condition-check.d.ts +12 -8
- package/dist/commands/conditional-delete.d.ts +14 -10
- package/dist/commands/conditional-put.d.ts +17 -11
- package/dist/commands/conditional-update.d.ts +14 -10
- package/dist/commands/delete.d.ts +12 -8
- package/dist/commands/get.d.ts +11 -7
- package/dist/commands/index.d.ts +18 -18
- package/dist/commands/projected-get.d.ts +13 -9
- package/dist/commands/projected-query.d.ts +14 -10
- package/dist/commands/projected-scan.d.ts +14 -10
- package/dist/commands/put.d.ts +15 -9
- package/dist/commands/query.cjs +4 -4
- package/dist/commands/query.cjs.map +1 -1
- package/dist/commands/query.d.ts +14 -10
- package/dist/commands/query.mjs +4 -4
- package/dist/commands/query.mjs.map +1 -1
- package/dist/commands/scan.cjs.map +1 -1
- package/dist/commands/scan.d.ts +15 -11
- package/dist/commands/scan.mjs.map +1 -1
- package/dist/commands/transact-get.d.ts +11 -7
- package/dist/commands/transact-write.d.ts +12 -8
- package/dist/commands/update.d.ts +13 -9
- package/dist/conditions/and.d.ts +5 -2
- package/dist/conditions/begins-with.d.ts +5 -2
- package/dist/conditions/between.d.ts +5 -2
- package/dist/conditions/condition-parser.d.ts +8 -4
- package/dist/conditions/condition-symbols.d.ts +13 -11
- package/dist/conditions/condition-types.d.ts +34 -31
- package/dist/conditions/contains.d.ts +6 -3
- package/dist/conditions/equals.d.ts +5 -2
- package/dist/conditions/exists.d.ts +5 -2
- package/dist/conditions/greater-than-or-equal.d.ts +5 -2
- package/dist/conditions/greater-than.d.ts +5 -2
- package/dist/conditions/index.d.ts +19 -19
- package/dist/conditions/is-in.d.ts +5 -2
- package/dist/conditions/less-than-or-equal.d.ts +5 -2
- package/dist/conditions/less-than.d.ts +5 -2
- package/dist/conditions/not-equals.d.ts +5 -2
- package/dist/conditions/not-exists.d.ts +5 -2
- package/dist/conditions/not.d.ts +5 -2
- package/dist/conditions/or.d.ts +5 -2
- package/dist/conditions/size.d.ts +5 -2
- package/dist/conditions/type-is.d.ts +5 -2
- package/dist/core/core-types.d.ts +17 -14
- package/dist/core/entity.d.ts +12 -8
- package/dist/core/index.d.ts +4 -4
- package/dist/core/key.d.ts +11 -7
- package/dist/core/table.cjs +11 -7
- package/dist/core/table.cjs.map +1 -1
- package/dist/core/table.d.ts +8 -4
- package/dist/core/table.mjs +11 -7
- package/dist/core/table.mjs.map +1 -1
- package/dist/errors.cjs +5 -0
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +4 -1
- package/dist/errors.mjs +5 -0
- package/dist/errors.mjs.map +1 -1
- package/dist/index.cjs +8 -8
- package/dist/index.d.ts +55 -7
- package/dist/index.mjs +4 -4
- package/dist/internal-constants.d.ts +10 -8
- package/dist/projections/index.d.ts +2 -2
- package/dist/projections/projection-parser.cjs +17 -1
- package/dist/projections/projection-parser.cjs.map +1 -1
- package/dist/projections/projection-parser.d.ts +8 -4
- package/dist/projections/projection-parser.mjs +17 -1
- package/dist/projections/projection-parser.mjs.map +1 -1
- package/dist/projections/projection-types.d.ts +3 -1
- package/dist/updates/add-to-set.d.ts +6 -3
- package/dist/updates/add.d.ts +5 -2
- package/dist/updates/append.d.ts +6 -3
- package/dist/updates/index.cjs +8 -8
- package/dist/updates/index.d.ts +10 -10
- package/dist/updates/index.mjs +4 -4
- package/dist/updates/prepend.d.ts +6 -3
- package/dist/updates/ref.d.ts +6 -3
- package/dist/updates/{delete.cjs → remove-from-set.cjs} +1 -1
- package/dist/updates/remove-from-set.cjs.map +1 -0
- package/dist/updates/remove-from-set.d.ts +6 -0
- package/dist/updates/{delete.mjs → remove-from-set.mjs} +1 -1
- package/dist/updates/remove-from-set.mjs.map +1 -0
- package/dist/updates/remove.d.ts +5 -2
- package/dist/updates/subtract.d.ts +5 -2
- package/dist/updates/update-parser.cjs +6 -4
- package/dist/updates/update-parser.cjs.map +1 -1
- package/dist/updates/update-parser.d.ts +8 -4
- package/dist/updates/update-parser.mjs +6 -4
- package/dist/updates/update-parser.mjs.map +1 -1
- package/dist/updates/update-symbols.d.ts +12 -10
- package/dist/updates/update-types.d.ts +16 -13
- package/package.json +4 -3
- package/dist/updates/delete.cjs.map +0 -1
- package/dist/updates/delete.d.ts +0 -3
- package/dist/updates/delete.mjs.map +0 -1
package/dist/commands/query.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
|
|
1
|
+
import { Condition } from '../conditions/condition-types.js';
|
|
2
|
+
import { EntityKeyInput, DynamoEntity } from '../core/entity.js';
|
|
3
|
+
import { EntitySchema } from '../core/core-types.js';
|
|
4
|
+
import { Select } from '@aws-sdk/client-dynamodb';
|
|
5
|
+
import { ZodObject } from 'zod/v4';
|
|
6
|
+
import { BaseConfig, BaseResult, BaseCommand, BasePaginatable } from './base-command.js';
|
|
7
|
+
import { QueryCommandInput, NativeAttributeValue, QueryCommandOutput } from '@aws-sdk/lib-dynamodb';
|
|
8
|
+
|
|
9
|
+
type QueryConfig<Schema extends ZodObject> = BaseConfig & EntityKeyInput<EntitySchema<Schema>> & {
|
|
9
10
|
sortKeyCondition?: Condition;
|
|
10
11
|
filter?: Condition;
|
|
11
12
|
limit?: number;
|
|
@@ -16,13 +17,13 @@ export type QueryConfig<Schema extends ZodObject> = BaseConfig & EntityKeyInput<
|
|
|
16
17
|
exclusiveStartKey?: Partial<EntitySchema<Schema>>;
|
|
17
18
|
pageSize?: number;
|
|
18
19
|
};
|
|
19
|
-
|
|
20
|
+
type QueryResult<Schema extends ZodObject> = BaseResult & {
|
|
20
21
|
items: EntitySchema<Schema>[];
|
|
21
22
|
count: number;
|
|
22
23
|
scannedCount: number;
|
|
23
24
|
lastEvaluatedKey?: Partial<EntitySchema<Schema>> | undefined;
|
|
24
25
|
};
|
|
25
|
-
|
|
26
|
+
declare class Query<Schema extends ZodObject> implements BaseCommand<QueryResult<Schema>, Schema>, BasePaginatable<QueryResult<Schema>, Schema> {
|
|
26
27
|
#private;
|
|
27
28
|
constructor(config: QueryConfig<Schema>);
|
|
28
29
|
buildCommandInput(entity: DynamoEntity<Schema>): QueryCommandInput;
|
|
@@ -31,3 +32,6 @@ export declare class Query<Schema extends ZodObject> implements BaseCommand<Quer
|
|
|
31
32
|
execute(entity: DynamoEntity<Schema>): Promise<QueryResult<Schema>>;
|
|
32
33
|
executePaginated(entity: DynamoEntity<Schema>): AsyncGenerator<QueryResult<Schema>, void, unknown>;
|
|
33
34
|
}
|
|
35
|
+
|
|
36
|
+
export { Query };
|
|
37
|
+
export type { QueryConfig, QueryResult };
|
package/dist/commands/query.mjs
CHANGED
|
@@ -15,6 +15,9 @@ class Query {
|
|
|
15
15
|
buildCommandInput(entity) {
|
|
16
16
|
var _a, _b;
|
|
17
17
|
const attributeExpressionMap = new AttributeExpressionMap();
|
|
18
|
+
if (!('key' in __classPrivateFieldGet(this, _Query_config, "f")) && !('index' in __classPrivateFieldGet(this, _Query_config, "f"))) {
|
|
19
|
+
throw new DocumentBuilderError("Either 'key' or 'index' must be specified for a query.");
|
|
20
|
+
}
|
|
18
21
|
// Generate the PK or GSIPK key
|
|
19
22
|
const keyItem = entity.buildPrimaryOrIndexKey(__classPrivateFieldGet(this, _Query_config, "f"));
|
|
20
23
|
let queryKeyName;
|
|
@@ -24,15 +27,12 @@ class Query {
|
|
|
24
27
|
}
|
|
25
28
|
else if ('index' in __classPrivateFieldGet(this, _Query_config, "f")) {
|
|
26
29
|
const indexes = Object.keys(__classPrivateFieldGet(this, _Query_config, "f").index);
|
|
27
|
-
if (
|
|
30
|
+
if (indexes.length === 0) {
|
|
28
31
|
throw new DocumentBuilderError('No index specified in query configuration.');
|
|
29
32
|
}
|
|
30
33
|
indexName = Object.keys(__classPrivateFieldGet(this, _Query_config, "f").index)[0];
|
|
31
34
|
queryKeyName = entity.table.globalSecondaryIndexKeyNames[indexName].partitionKey;
|
|
32
35
|
}
|
|
33
|
-
else {
|
|
34
|
-
throw new DocumentBuilderError("Either 'key' or 'index' must be specified for a query.");
|
|
35
|
-
}
|
|
36
36
|
const queryKeyValue = keyItem[queryKeyName];
|
|
37
37
|
const keyConditionExpression = parseCondition(Object.assign({ [queryKeyName]: queryKeyValue }, ((_a = __classPrivateFieldGet(this, _Query_config, "f").sortKeyCondition) !== null && _a !== void 0 ? _a : {})), attributeExpressionMap).conditionExpression;
|
|
38
38
|
let filterExpression;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.mjs","sources":["../../src/commands/query.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;MAuCa,KAAK,CAAA;AAKhB,IAAA,WAAA,CAAY,MAA2B,EAAA;QAFvC,aAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,aAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEO,IAAA,iBAAiB,CAAC,MAA4B,EAAA;;AACnD,QAAA,MAAM,sBAAsB,GAAG,IAAI,sBAAsB,EAAE;;
|
|
1
|
+
{"version":3,"file":"query.mjs","sources":["../../src/commands/query.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -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":";;;;;;;;;;MAsCa,IAAI,CAAA;AAKf,IAAA,WAAA,CAAY,MAA2B,EAAA;QAFvC,YAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEO,IAAA,iBAAiB,CAAC,MAA4B,EAAA;;AACnD,QAAA,MAAM,sBAAsB,GAAG,IAAIC,8CAAsB,EAAE;AAE3D,QAAA,IAAI,gBAAoC;AACxC,QAAA,IAAI,MAAAC,gCAAA,CAAA,IAAI,oBAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,EAAE;AACxB,YAAA,gBAAgB,GAAGC,yCAAc,CAC/BD,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,CAAC,MAAM,EACnB,sBAAsB,CACvB,CAAC,mBAAmB;QACvB;QAEA,OAAO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACL,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EACjC,gBAAgB,EAAE,gBAAgB,EAAA,EAC/B,sBAAsB,CAAC,2BAA2B,EAAE,CAAA,EAAA,EACvD,MAAM,EAAE,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,gBAAgB,EACtC,KAAK,EAAE,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,EAC1B,cAAc,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAAA,iCAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,0CAAE,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,KAAK,EACjD,SAAS,EAAE,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,SAAS,EAClC,OAAO,EAAE,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,EAC9B,aAAa,EAAE,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,EAC1C,iBAAiB,EAAE,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,iBAAiB,EAClD,sBAAsB,EAAE,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,sBAAsB,EAAA,CAClC;IAC9B;IAEa,aAAa,CACxB,MAA4B,EAC5B,KAAyD,EAAA;;;YAEzD,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,OAAO,EAAE;YACX;AACA,YAAA,IAAI,MAAAA,gCAAA,CAAA,IAAI,oBAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,cAAc,EAAE;AAChC,gBAAA,OAAO,KAA+B;YACxC;AACA,YAAA,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACzD,WAAW,EAAE,MAAA,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAIE,6CAA2B;gBAC/E,MAAM,EAAE,MAAA,CAAA,EAAA,GAAAF,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM;AAC9C,aAAA,CAAC;QACJ,CAAC,CAAA;AAAA,IAAA;IAEM,WAAW,CAChB,KAA6B,EAC7B,UAA6B,EAAA;;QAE7B,OAAO;YACL,KAAK;AACL,YAAA,KAAK,EAAE,CAAA,EAAA,GAAA,UAAU,CAAC,KAAK,mCAAI,CAAC;AAC5B,YAAA,YAAY,EAAE,CAAA,EAAA,GAAA,UAAU,CAAC,YAAY,mCAAI,CAAC;YAC1C,gBAAgB,EAAE,UAAU,CAAC,gBAA6D;YAC1F,gBAAgB,EAAE,UAAU,CAAC,SAAS;YACtC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;SAC9C;IACH;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,IAAI,GAAG,IAAIG,uBAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC5D,YAAA,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC9D,WAAW,EAAE,MAAA,CAAA,EAAA,GAAAH,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM;AAClD,gBAAA,cAAc,EAAE,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,0CAAE,SAAS;AACxC,aAAA,CAAC;AACF,YAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;YAChE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC;QAC5C,CAAC,CAAA;AAAA,IAAA;AAEa,IAAA,gBAAgB,CAC5B,MAA4B,EAAA;;;;YAE5B,MAAM,SAAS,GAAGI,wBAAY,CAC5B;AACE,gBAAA,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;AACnC,gBAAA,QAAQ,EAAE,CAAA,EAAA,GAAAJ,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,0CAAE,QAAQ;AACjC,aAAA,EACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC9B;gBACE,WAAW,EAAE,MAAA,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM;AAClD,gBAAA,cAAc,EAAE,CAAA,EAAA,GAAAA,gCAAA,CAAA,IAAI,EAAA,YAAA,EAAA,GAAA,CAAQ,0CAAE,SAAS;AACxC,aAAA,CACF;;AAED,gBAAA,KAAyB,eAAA,WAAA,GAAAK,uBAAA,CAAA,SAAS,CAAA,EAAA,aAAA,wGAAE;oBAAX,EAAA,GAAA,aAAA,CAAA,KAAA;oBAAA,EAAA,GAAA,KAAA;oBAAd,MAAM,IAAI,KAAA;AACnB,oBAAA,MAAM,KAAK,GAAG,MAAAC,iBAAA,CAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;oBAC1D,MAAA,MAAAA,iBAAA,CAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBACrC;;;;;;;;;QACF,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
|
package/dist/commands/scan.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
|
|
1
|
+
import { Condition } from '../conditions/condition-types.js';
|
|
2
|
+
import { DynamoEntity } from '../core/entity.js';
|
|
3
|
+
import { EntitySchema } from '../core/core-types.js';
|
|
4
|
+
import { Select } from '@aws-sdk/client-dynamodb';
|
|
5
|
+
import { ZodObject } from 'zod/v4';
|
|
6
|
+
import { BaseConfig, BaseResult, BaseCommand, BasePaginatable } from './base-command.js';
|
|
7
|
+
import { ScanCommandInput, NativeAttributeValue, ScanCommandOutput } from '@aws-sdk/lib-dynamodb';
|
|
8
|
+
|
|
9
|
+
type ScanConfig<Schema extends ZodObject> = BaseConfig & {
|
|
9
10
|
indexName?: string;
|
|
10
11
|
filter?: Condition;
|
|
11
12
|
limit?: number;
|
|
@@ -16,14 +17,14 @@ export type ScanConfig<Schema extends ZodObject> = (BaseConfig & {
|
|
|
16
17
|
totalSegments?: number;
|
|
17
18
|
exclusiveStartKey?: Partial<EntitySchema<Schema>>;
|
|
18
19
|
pageSize?: number;
|
|
19
|
-
}
|
|
20
|
-
|
|
20
|
+
};
|
|
21
|
+
type ScanResult<Schema extends ZodObject> = BaseResult & {
|
|
21
22
|
items: EntitySchema<Schema>[];
|
|
22
23
|
count: number;
|
|
23
24
|
scannedCount: number;
|
|
24
25
|
lastEvaluatedKey?: Partial<EntitySchema<Schema>> | undefined;
|
|
25
26
|
};
|
|
26
|
-
|
|
27
|
+
declare class Scan<Schema extends ZodObject> implements BaseCommand<ScanResult<Schema>, Schema>, BasePaginatable<ScanResult<Schema>, Schema> {
|
|
27
28
|
#private;
|
|
28
29
|
constructor(config?: ScanConfig<Schema>);
|
|
29
30
|
buildCommandInput(entity: DynamoEntity<Schema>): ScanCommandInput;
|
|
@@ -32,3 +33,6 @@ export declare class Scan<Schema extends ZodObject> implements BaseCommand<ScanR
|
|
|
32
33
|
execute(entity: DynamoEntity<Schema>): Promise<ScanResult<Schema>>;
|
|
33
34
|
executePaginated(entity: DynamoEntity<Schema>): AsyncGenerator<ScanResult<Schema>, void, unknown>;
|
|
34
35
|
}
|
|
36
|
+
|
|
37
|
+
export { Scan };
|
|
38
|
+
export type { ScanConfig, ScanResult };
|
|
@@ -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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"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
1
|
+
import { DynamoEntity } from '../core/entity.js';
|
|
2
|
+
import { BaseConfig, BaseResult, BaseCommand } from './base-command.js';
|
|
3
|
+
import { ZodObject } from 'zod/v4';
|
|
4
|
+
import { EntitySchema } from '../core/core-types.js';
|
|
5
|
+
|
|
6
|
+
type TransactGetConfig<Schema extends ZodObject> = BaseConfig & {
|
|
6
7
|
keys: Array<Partial<EntitySchema<Schema>>>;
|
|
7
8
|
};
|
|
8
|
-
|
|
9
|
+
type TransactGetResult<Schema extends ZodObject> = BaseResult & {
|
|
9
10
|
items: Array<EntitySchema<Schema> | undefined>;
|
|
10
11
|
};
|
|
11
|
-
|
|
12
|
+
declare class TransactGet<Schema extends ZodObject> implements BaseCommand<TransactGetResult<Schema>, Schema> {
|
|
12
13
|
#private;
|
|
13
14
|
constructor(config: TransactGetConfig<Schema>);
|
|
14
15
|
execute(entity: DynamoEntity<Schema>): Promise<TransactGetResult<Schema>>;
|
|
15
16
|
}
|
|
17
|
+
|
|
18
|
+
export { TransactGet };
|
|
19
|
+
export type { TransactGetConfig, TransactGetResult };
|
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
1
|
+
import { BaseConfig, WriteTransactable, BaseCommand } from './base-command.js';
|
|
2
|
+
import { ReturnItemCollectionMetrics, ConsumedCapacity, ItemCollectionMetrics } from '@aws-sdk/client-dynamodb';
|
|
3
|
+
import { DynamoEntity } from '../core/entity.js';
|
|
4
|
+
import { ResponseMetadata } from '@aws-sdk/types';
|
|
5
|
+
import { ZodObject } from 'zod/v4';
|
|
6
|
+
|
|
7
|
+
type TransactWriteConfig<Schema extends ZodObject> = BaseConfig & {
|
|
7
8
|
writes: WriteTransactable<Schema>[];
|
|
8
9
|
idempotencyToken?: string;
|
|
9
10
|
returnItemCollectionMetrics?: ReturnItemCollectionMetrics;
|
|
10
11
|
};
|
|
11
|
-
|
|
12
|
+
type TransactWriteResult = {
|
|
12
13
|
responseMetadata?: ResponseMetadata;
|
|
13
14
|
consumedCapacity?: ConsumedCapacity[] | undefined;
|
|
14
15
|
itemCollectionMetrics?: ItemCollectionMetrics;
|
|
15
16
|
};
|
|
16
|
-
|
|
17
|
+
declare class TransactWrite<Schema extends ZodObject> implements BaseCommand<TransactWriteResult, Schema> {
|
|
17
18
|
#private;
|
|
18
19
|
constructor(config: TransactWriteConfig<Schema>);
|
|
19
20
|
execute(entity: DynamoEntity<Schema>): Promise<TransactWriteResult>;
|
|
20
21
|
}
|
|
22
|
+
|
|
23
|
+
export { TransactWrite };
|
|
24
|
+
export type { TransactWriteConfig, TransactWriteResult };
|
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
1
|
+
import { DynamoEntity } from '../core/entity.js';
|
|
2
|
+
import { EntitySchema, TransactWriteOperation } from '../core/core-types.js';
|
|
3
|
+
import { ReturnValue, ReturnItemCollectionMetrics, ItemCollectionMetrics } from '@aws-sdk/client-dynamodb';
|
|
4
|
+
import { UpdateValues } from '../updates/update-types.js';
|
|
5
|
+
import { ZodObject } from 'zod/v4';
|
|
6
|
+
import { BaseConfig, BaseResult, BaseCommand, WriteTransactable } from './base-command.js';
|
|
7
|
+
|
|
8
|
+
type UpdateConfig<Schema extends ZodObject> = BaseConfig & {
|
|
8
9
|
key: Partial<EntitySchema<Schema>>;
|
|
9
10
|
update: UpdateValues;
|
|
10
11
|
returnValues?: ReturnValue;
|
|
11
12
|
returnItemCollectionMetrics?: ReturnItemCollectionMetrics;
|
|
12
13
|
};
|
|
13
|
-
|
|
14
|
+
type UpdateResult<Schema extends ZodObject> = BaseResult & {
|
|
14
15
|
updatedItem?: Partial<EntitySchema<Schema>> | undefined;
|
|
15
16
|
itemCollectionMetrics?: ItemCollectionMetrics;
|
|
16
17
|
};
|
|
17
|
-
|
|
18
|
+
declare class Update<Schema extends ZodObject> implements BaseCommand<UpdateResult<Schema>, Schema>, WriteTransactable<Schema> {
|
|
18
19
|
#private;
|
|
19
20
|
constructor(config: UpdateConfig<Schema>);
|
|
20
21
|
execute(entity: DynamoEntity<Schema>): Promise<UpdateResult<Schema>>;
|
|
21
22
|
prepareWriteTransaction(entity: DynamoEntity<Schema>): Promise<TransactWriteOperation>;
|
|
22
23
|
}
|
|
24
|
+
|
|
25
|
+
export { Update };
|
|
26
|
+
export type { UpdateConfig, UpdateResult };
|
package/dist/conditions/and.d.ts
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ConditionExpressionTemplate, LogicalExpression } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function and(firstCondition: ConditionExpressionTemplate, secondCondition: ConditionExpressionTemplate, ...additionalConditions: ConditionExpressionTemplate[]): LogicalExpression;
|
|
4
|
+
|
|
5
|
+
export { and };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { BeginsWithExpressionTemplate } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function beginsWith(prefix: string): BeginsWithExpressionTemplate;
|
|
4
|
+
|
|
5
|
+
export { beginsWith };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ValueExpression, BetweenExpressionTemplate } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function between(lowerBound: ValueExpression, upperBound: ValueExpression): BetweenExpressionTemplate;
|
|
4
|
+
|
|
5
|
+
export { between };
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { AttributeExpressionMap } from '
|
|
3
|
-
|
|
1
|
+
import { Condition } from './condition-types.js';
|
|
2
|
+
import { AttributeExpressionMap } from '../attributes/attribute-map.js';
|
|
3
|
+
|
|
4
|
+
type ConditionParserResult = {
|
|
4
5
|
conditionExpression: string;
|
|
5
6
|
attributeExpressionMap: AttributeExpressionMap;
|
|
6
7
|
};
|
|
7
|
-
|
|
8
|
+
declare function parseCondition(condition: Condition, attributeExpressionMap?: AttributeExpressionMap): ConditionParserResult;
|
|
9
|
+
|
|
10
|
+
export { parseCondition };
|
|
11
|
+
export type { ConditionParserResult };
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Internal symbols used to identify different types of conditions.
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
declare const $comparison: unique symbol;
|
|
5
|
+
declare const $logical: unique symbol;
|
|
6
|
+
declare const $between: unique symbol;
|
|
7
|
+
declare const $in: unique symbol;
|
|
8
|
+
declare const $not: unique symbol;
|
|
9
|
+
declare const $exists: unique symbol;
|
|
10
|
+
declare const $type: unique symbol;
|
|
11
|
+
declare const $beginsWith: unique symbol;
|
|
12
|
+
declare const $contains: unique symbol;
|
|
13
|
+
declare const $size: unique symbol;
|
|
14
|
+
declare function isConditionSymbol(value: unknown): boolean;
|
|
15
|
+
|
|
16
|
+
export { $beginsWith, $between, $comparison, $contains, $exists, $in, $logical, $not, $size, $type, isConditionSymbol };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { NativeAttributeValue } from '@aws-sdk/lib-dynamodb';
|
|
2
|
+
import { $comparison, $size, $logical, $between, $in, $not, $exists, $type, $beginsWith, $contains } from './condition-symbols.js';
|
|
3
|
+
|
|
3
4
|
/**
|
|
4
5
|
* These are the basic building block types for constructing DynamoDB condition expressions.
|
|
5
6
|
*
|
|
@@ -10,76 +11,78 @@ import type { $beginsWith, $between, $comparison, $contains, $exists, $in, $logi
|
|
|
10
11
|
*
|
|
11
12
|
* {@link https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html#Expressions.OperatorsAndFunctions.Syntax}
|
|
12
13
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
type Operand = string;
|
|
15
|
+
type ComparisonOperator = '=' | '<>' | '<' | '<=' | '>' | '>=';
|
|
16
|
+
type LogicalOperator = 'AND' | 'OR';
|
|
17
|
+
type DynamoAttributeType = 'B' | 'BOOL' | 'BS' | 'L' | 'M' | 'N' | 'NS' | 'NULL' | 'S' | 'SS';
|
|
18
|
+
type ValueExpression = NativeAttributeValue | SizeExpression;
|
|
19
|
+
type ComparisonExpression = {
|
|
19
20
|
type: typeof $comparison;
|
|
20
21
|
operand: Operand;
|
|
21
22
|
operator: ComparisonOperator;
|
|
22
23
|
value: ValueExpression;
|
|
23
24
|
};
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
type ComparisonExpressionTemplate = Omit<ComparisonExpression, 'operand'>;
|
|
26
|
+
type LogicalExpression = {
|
|
26
27
|
type: typeof $logical;
|
|
27
28
|
operator: LogicalOperator;
|
|
28
29
|
subConditions: ConditionExpressionTemplate[];
|
|
29
30
|
};
|
|
30
|
-
|
|
31
|
+
type BetweenExpression = {
|
|
31
32
|
type: typeof $between;
|
|
32
33
|
operand: Operand;
|
|
33
34
|
lowerValue: ValueExpression;
|
|
34
35
|
upperValue: ValueExpression;
|
|
35
36
|
};
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
type BetweenExpressionTemplate = Omit<BetweenExpression, 'operand'>;
|
|
38
|
+
type InExpression = {
|
|
38
39
|
type: typeof $in;
|
|
39
40
|
operand: Operand;
|
|
40
41
|
values: ValueExpression[];
|
|
41
42
|
};
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
type InExpressionTemplate = Omit<InExpression, 'operand'>;
|
|
44
|
+
type NotExpression = {
|
|
44
45
|
type: typeof $not;
|
|
45
46
|
condition: ConditionExpressionTemplate;
|
|
46
47
|
};
|
|
47
|
-
|
|
48
|
+
type ExistsExpression = {
|
|
48
49
|
type: typeof $exists;
|
|
49
50
|
operand: Operand;
|
|
50
51
|
not?: true;
|
|
51
52
|
};
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
type ExistsExpressionTemplate = Omit<ExistsExpression, 'operand'>;
|
|
54
|
+
type TypeCheckExpression = {
|
|
54
55
|
type: typeof $type;
|
|
55
56
|
operand: Operand;
|
|
56
57
|
attributeType: DynamoAttributeType;
|
|
57
58
|
};
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
type TypeCheckExpressionTemplate = Omit<TypeCheckExpression, 'operand'>;
|
|
60
|
+
type BeginsWithExpression = {
|
|
60
61
|
type: typeof $beginsWith;
|
|
61
62
|
operand: Operand;
|
|
62
63
|
prefix: string;
|
|
63
64
|
};
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
type BeginsWithExpressionTemplate = Omit<BeginsWithExpression, 'operand'>;
|
|
66
|
+
type ContainsExpression = {
|
|
66
67
|
type: typeof $contains;
|
|
67
68
|
operand: Operand;
|
|
68
69
|
substringOrElement: NativeAttributeValue;
|
|
69
70
|
};
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
type ContainsExpressionTemplate = Omit<ContainsExpression, 'operand'>;
|
|
72
|
+
type SizeExpression = {
|
|
72
73
|
type: typeof $size;
|
|
73
74
|
attribute: Operand;
|
|
74
75
|
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
type BooleanExpression = ExistsExpression | TypeCheckExpression | BeginsWithExpression | ContainsExpression;
|
|
77
|
+
type FunctionExpression = BooleanExpression | SizeExpression;
|
|
78
|
+
type TemplateExpression = Omit<ComparisonExpression | BetweenExpression | InExpression | BooleanExpression, 'operand'>;
|
|
78
79
|
/**
|
|
79
80
|
* Implicit AND between all attributes in the template
|
|
80
81
|
* This is an object where keys are operands and values are either values or template expressions
|
|
81
82
|
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
type ConditionTemplate = Record<Operand, ValueExpression | TemplateExpression>;
|
|
84
|
+
type ConditionExpression = ComparisonExpression | LogicalExpression | BetweenExpression | InExpression | NotExpression | BooleanExpression;
|
|
85
|
+
type ConditionExpressionTemplate = ConditionExpression | ConditionTemplate;
|
|
86
|
+
type Condition = ConditionExpressionTemplate | ConditionExpressionTemplate[];
|
|
87
|
+
|
|
88
|
+
export type { BeginsWithExpression, BeginsWithExpressionTemplate, BetweenExpression, BetweenExpressionTemplate, BooleanExpression, ComparisonExpression, ComparisonExpressionTemplate, ComparisonOperator, Condition, ConditionExpression, ConditionExpressionTemplate, ConditionTemplate, ContainsExpression, ContainsExpressionTemplate, DynamoAttributeType, ExistsExpression, ExistsExpressionTemplate, FunctionExpression, InExpression, InExpressionTemplate, LogicalExpression, LogicalOperator, NotExpression, Operand, SizeExpression, TemplateExpression, TypeCheckExpression, TypeCheckExpressionTemplate, ValueExpression };
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import { NativeAttributeValue } from '@aws-sdk/util-dynamodb';
|
|
2
|
+
import { ContainsExpressionTemplate } from './condition-types.js';
|
|
3
|
+
|
|
4
|
+
declare function contains(substringOrElement: NativeAttributeValue): ContainsExpressionTemplate;
|
|
5
|
+
|
|
6
|
+
export { contains };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ValueExpression, ComparisonExpressionTemplate } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function equals(value: ValueExpression): ComparisonExpressionTemplate;
|
|
4
|
+
|
|
5
|
+
export { equals };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ExistsExpressionTemplate } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function exists(): ExistsExpressionTemplate;
|
|
4
|
+
|
|
5
|
+
export { exists };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ValueExpression, ComparisonExpressionTemplate } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function greaterThanOrEqual(value: ValueExpression): ComparisonExpressionTemplate;
|
|
4
|
+
|
|
5
|
+
export { greaterThanOrEqual };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ValueExpression, ComparisonExpressionTemplate } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function greaterThan(value: ValueExpression): ComparisonExpressionTemplate;
|
|
4
|
+
|
|
5
|
+
export { greaterThan };
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
1
|
+
export { and } from './and.js';
|
|
2
|
+
export { beginsWith } from './begins-with.js';
|
|
3
|
+
export { between } from './between.js';
|
|
4
|
+
export { ConditionParserResult, parseCondition } from './condition-parser.js';
|
|
5
|
+
export { BeginsWithExpression, BeginsWithExpressionTemplate, BetweenExpression, BetweenExpressionTemplate, BooleanExpression, ComparisonExpression, ComparisonExpressionTemplate, ComparisonOperator, Condition, ConditionExpression, ConditionExpressionTemplate, ConditionTemplate, ContainsExpression, ContainsExpressionTemplate, DynamoAttributeType, ExistsExpression, ExistsExpressionTemplate, FunctionExpression, InExpression, InExpressionTemplate, LogicalExpression, LogicalOperator, NotExpression, Operand, SizeExpression, TemplateExpression, TypeCheckExpression, TypeCheckExpressionTemplate, ValueExpression } from './condition-types.js';
|
|
6
|
+
export { contains } from './contains.js';
|
|
7
|
+
export { equals } from './equals.js';
|
|
8
|
+
export { exists } from './exists.js';
|
|
9
|
+
export { greaterThan } from './greater-than.js';
|
|
10
|
+
export { greaterThanOrEqual } from './greater-than-or-equal.js';
|
|
11
|
+
export { isIn } from './is-in.js';
|
|
12
|
+
export { lessThan } from './less-than.js';
|
|
13
|
+
export { lessThanOrEqual } from './less-than-or-equal.js';
|
|
14
|
+
export { not } from './not.js';
|
|
15
|
+
export { notEquals } from './not-equals.js';
|
|
16
|
+
export { notExists } from './not-exists.js';
|
|
17
|
+
export { or } from './or.js';
|
|
18
|
+
export { size } from './size.js';
|
|
19
|
+
export { typeIs } from './type-is.js';
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ValueExpression, InExpressionTemplate } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function isIn(firstValue: ValueExpression, secondValue: ValueExpression, ...additionalValues: ValueExpression[]): InExpressionTemplate;
|
|
4
|
+
|
|
5
|
+
export { isIn };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ValueExpression, ComparisonExpressionTemplate } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function lessThanOrEqual(value: ValueExpression): ComparisonExpressionTemplate;
|
|
4
|
+
|
|
5
|
+
export { lessThanOrEqual };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ValueExpression, ComparisonExpressionTemplate } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function lessThan(value: ValueExpression): ComparisonExpressionTemplate;
|
|
4
|
+
|
|
5
|
+
export { lessThan };
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ValueExpression, ComparisonExpressionTemplate } from './condition-types.js';
|
|
2
|
+
|
|
3
|
+
declare function notEquals(value: ValueExpression): ComparisonExpressionTemplate;
|
|
4
|
+
|
|
5
|
+
export { notEquals };
|