dynamo-document-builder 0.0.0 → 0.1.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 +79 -2
- package/dist/attributes/attribute-map.cjs +114 -0
- package/dist/attributes/attribute-map.cjs.map +1 -0
- package/dist/attributes/attribute-map.d.ts +32 -0
- package/dist/attributes/attribute-map.mjs +112 -0
- package/dist/attributes/attribute-map.mjs.map +1 -0
- package/dist/attributes/index.cjs +8 -0
- package/dist/attributes/index.cjs.map +1 -0
- package/dist/attributes/index.d.ts +1 -0
- package/dist/attributes/index.mjs +2 -0
- package/dist/attributes/index.mjs.map +1 -0
- package/dist/commands/base-command.cjs +3 -0
- package/dist/commands/base-command.cjs.map +1 -0
- package/dist/commands/base-command.d.ts +24 -0
- package/dist/commands/base-command.mjs +2 -0
- package/dist/commands/base-command.mjs.map +1 -0
- package/dist/commands/batch-get.cjs +55 -0
- package/dist/commands/batch-get.cjs.map +1 -0
- package/dist/commands/batch-get.d.ts +17 -0
- package/dist/commands/batch-get.mjs +53 -0
- package/dist/commands/batch-get.mjs.map +1 -0
- package/dist/commands/batch-write.cjs +94 -0
- package/dist/commands/batch-write.cjs.map +1 -0
- package/dist/commands/batch-write.d.ts +34 -0
- package/dist/commands/batch-write.mjs +92 -0
- package/dist/commands/batch-write.mjs.map +1 -0
- package/dist/commands/condition-check.cjs +24 -0
- package/dist/commands/condition-check.cjs.map +1 -0
- package/dist/commands/condition-check.d.ts +16 -0
- package/dist/commands/condition-check.mjs +22 -0
- package/dist/commands/condition-check.mjs.map +1 -0
- package/dist/commands/conditional-delete.cjs +53 -0
- package/dist/commands/conditional-delete.cjs.map +1 -0
- package/dist/commands/conditional-delete.d.ts +21 -0
- package/dist/commands/conditional-delete.mjs +51 -0
- package/dist/commands/conditional-delete.mjs.map +1 -0
- package/dist/commands/conditional-put.cjs +63 -0
- package/dist/commands/conditional-put.cjs.map +1 -0
- package/dist/commands/conditional-put.d.ts +22 -0
- package/dist/commands/conditional-put.mjs +61 -0
- package/dist/commands/conditional-put.mjs.map +1 -0
- package/dist/commands/conditional-update.cjs +57 -0
- package/dist/commands/conditional-update.cjs.map +1 -0
- package/dist/commands/conditional-update.d.ts +21 -0
- package/dist/commands/conditional-update.mjs +55 -0
- package/dist/commands/conditional-update.mjs.map +1 -0
- package/dist/commands/delete.cjs +59 -0
- package/dist/commands/delete.cjs.map +1 -0
- package/dist/commands/delete.d.ts +20 -0
- package/dist/commands/delete.mjs +57 -0
- package/dist/commands/delete.mjs.map +1 -0
- package/dist/commands/get.cjs +46 -0
- package/dist/commands/get.cjs.map +1 -0
- package/dist/commands/get.d.ts +16 -0
- package/dist/commands/get.mjs +44 -0
- package/dist/commands/get.mjs.map +1 -0
- package/dist/commands/index.cjs +40 -0
- package/dist/commands/index.cjs.map +1 -0
- package/dist/commands/index.d.ts +18 -0
- package/dist/commands/index.mjs +18 -0
- package/dist/commands/index.mjs.map +1 -0
- package/dist/commands/projected-get.cjs +50 -0
- package/dist/commands/projected-get.cjs.map +1 -0
- package/dist/commands/projected-get.d.ts +18 -0
- package/dist/commands/projected-get.mjs +48 -0
- package/dist/commands/projected-get.mjs.map +1 -0
- package/dist/commands/projected-query.cjs +118 -0
- package/dist/commands/projected-query.cjs.map +1 -0
- package/dist/commands/projected-query.d.ts +26 -0
- package/dist/commands/projected-query.mjs +116 -0
- package/dist/commands/projected-query.mjs.map +1 -0
- package/dist/commands/projected-scan.cjs +98 -0
- package/dist/commands/projected-scan.cjs.map +1 -0
- package/dist/commands/projected-scan.d.ts +26 -0
- package/dist/commands/projected-scan.mjs +96 -0
- package/dist/commands/projected-scan.mjs.map +1 -0
- package/dist/commands/put.cjs +69 -0
- package/dist/commands/put.cjs.map +1 -0
- package/dist/commands/put.d.ts +21 -0
- package/dist/commands/put.mjs +67 -0
- package/dist/commands/put.mjs.map +1 -0
- package/dist/commands/query.cjs +117 -0
- package/dist/commands/query.cjs.map +1 -0
- package/dist/commands/query.d.ts +33 -0
- package/dist/commands/query.mjs +115 -0
- package/dist/commands/query.mjs.map +1 -0
- package/dist/commands/scan.cjs +96 -0
- package/dist/commands/scan.cjs.map +1 -0
- package/dist/commands/scan.d.ts +34 -0
- package/dist/commands/scan.mjs +94 -0
- package/dist/commands/scan.mjs.map +1 -0
- package/dist/commands/transact-get.cjs +60 -0
- package/dist/commands/transact-get.cjs.map +1 -0
- package/dist/commands/transact-get.d.ts +15 -0
- package/dist/commands/transact-get.mjs +58 -0
- package/dist/commands/transact-get.mjs.map +1 -0
- package/dist/commands/transact-write.cjs +42 -0
- package/dist/commands/transact-write.cjs.map +1 -0
- package/dist/commands/transact-write.d.ts +20 -0
- package/dist/commands/transact-write.mjs +40 -0
- package/dist/commands/transact-write.mjs.map +1 -0
- package/dist/commands/update.cjs +53 -0
- package/dist/commands/update.cjs.map +1 -0
- package/dist/commands/update.d.ts +22 -0
- package/dist/commands/update.mjs +51 -0
- package/dist/commands/update.mjs.map +1 -0
- package/dist/conditions/and.cjs +14 -0
- package/dist/conditions/and.cjs.map +1 -0
- package/dist/conditions/and.d.ts +2 -0
- package/dist/conditions/and.mjs +12 -0
- package/dist/conditions/and.mjs.map +1 -0
- package/dist/conditions/begins-with.cjs +13 -0
- package/dist/conditions/begins-with.cjs.map +1 -0
- package/dist/conditions/begins-with.d.ts +2 -0
- package/dist/conditions/begins-with.mjs +11 -0
- package/dist/conditions/begins-with.mjs.map +1 -0
- package/dist/conditions/between.cjs +14 -0
- package/dist/conditions/between.cjs.map +1 -0
- package/dist/conditions/between.d.ts +2 -0
- package/dist/conditions/between.mjs +12 -0
- package/dist/conditions/between.mjs.map +1 -0
- package/dist/conditions/condition-parser.cjs +194 -0
- package/dist/conditions/condition-parser.cjs.map +1 -0
- package/dist/conditions/condition-parser.d.ts +7 -0
- package/dist/conditions/condition-parser.mjs +192 -0
- package/dist/conditions/condition-parser.mjs.map +1 -0
- package/dist/conditions/condition-symbols.cjs +43 -0
- package/dist/conditions/condition-symbols.cjs.map +1 -0
- package/dist/conditions/condition-symbols.d.ts +14 -0
- package/dist/conditions/condition-symbols.mjs +31 -0
- package/dist/conditions/condition-symbols.mjs.map +1 -0
- package/dist/conditions/condition-types.cjs +3 -0
- package/dist/conditions/condition-types.cjs.map +1 -0
- package/dist/conditions/condition-types.d.ts +85 -0
- package/dist/conditions/condition-types.mjs +2 -0
- package/dist/conditions/condition-types.mjs.map +1 -0
- package/dist/conditions/contains.cjs +13 -0
- package/dist/conditions/contains.cjs.map +1 -0
- package/dist/conditions/contains.d.ts +3 -0
- package/dist/conditions/contains.mjs +11 -0
- package/dist/conditions/contains.mjs.map +1 -0
- package/dist/conditions/equals.cjs +14 -0
- package/dist/conditions/equals.cjs.map +1 -0
- package/dist/conditions/equals.d.ts +2 -0
- package/dist/conditions/equals.mjs +12 -0
- package/dist/conditions/equals.mjs.map +1 -0
- package/dist/conditions/exists.cjs +12 -0
- package/dist/conditions/exists.cjs.map +1 -0
- package/dist/conditions/exists.d.ts +2 -0
- package/dist/conditions/exists.mjs +10 -0
- package/dist/conditions/exists.mjs.map +1 -0
- package/dist/conditions/greater-than-or-equal.cjs +14 -0
- package/dist/conditions/greater-than-or-equal.cjs.map +1 -0
- package/dist/conditions/greater-than-or-equal.d.ts +2 -0
- package/dist/conditions/greater-than-or-equal.mjs +12 -0
- package/dist/conditions/greater-than-or-equal.mjs.map +1 -0
- package/dist/conditions/greater-than.cjs +14 -0
- package/dist/conditions/greater-than.cjs.map +1 -0
- package/dist/conditions/greater-than.d.ts +2 -0
- package/dist/conditions/greater-than.mjs +12 -0
- package/dist/conditions/greater-than.mjs.map +1 -0
- package/dist/conditions/index.cjs +42 -0
- package/dist/conditions/index.cjs.map +1 -0
- package/dist/conditions/index.d.ts +19 -0
- package/dist/conditions/index.mjs +19 -0
- package/dist/conditions/index.mjs.map +1 -0
- package/dist/conditions/is-in.cjs +13 -0
- package/dist/conditions/is-in.cjs.map +1 -0
- package/dist/conditions/is-in.d.ts +2 -0
- package/dist/conditions/is-in.mjs +11 -0
- package/dist/conditions/is-in.mjs.map +1 -0
- package/dist/conditions/less-than-or-equal.cjs +14 -0
- package/dist/conditions/less-than-or-equal.cjs.map +1 -0
- package/dist/conditions/less-than-or-equal.d.ts +2 -0
- package/dist/conditions/less-than-or-equal.mjs +12 -0
- package/dist/conditions/less-than-or-equal.mjs.map +1 -0
- package/dist/conditions/less-than.cjs +14 -0
- package/dist/conditions/less-than.cjs.map +1 -0
- package/dist/conditions/less-than.d.ts +2 -0
- package/dist/conditions/less-than.mjs +12 -0
- package/dist/conditions/less-than.mjs.map +1 -0
- package/dist/conditions/not-equals.cjs +14 -0
- package/dist/conditions/not-equals.cjs.map +1 -0
- package/dist/conditions/not-equals.d.ts +2 -0
- package/dist/conditions/not-equals.mjs +12 -0
- package/dist/conditions/not-equals.mjs.map +1 -0
- package/dist/conditions/not-exists.cjs +13 -0
- package/dist/conditions/not-exists.cjs.map +1 -0
- package/dist/conditions/not-exists.d.ts +2 -0
- package/dist/conditions/not-exists.mjs +11 -0
- package/dist/conditions/not-exists.mjs.map +1 -0
- package/dist/conditions/not.cjs +13 -0
- package/dist/conditions/not.cjs.map +1 -0
- package/dist/conditions/not.d.ts +2 -0
- package/dist/conditions/not.mjs +11 -0
- package/dist/conditions/not.mjs.map +1 -0
- package/dist/conditions/or.cjs +14 -0
- package/dist/conditions/or.cjs.map +1 -0
- package/dist/conditions/or.d.ts +2 -0
- package/dist/conditions/or.mjs +12 -0
- package/dist/conditions/or.mjs.map +1 -0
- package/dist/conditions/size.cjs +13 -0
- package/dist/conditions/size.cjs.map +1 -0
- package/dist/conditions/size.d.ts +2 -0
- package/dist/conditions/size.mjs +11 -0
- package/dist/conditions/size.mjs.map +1 -0
- package/dist/conditions/type-is.cjs +13 -0
- package/dist/conditions/type-is.cjs.map +1 -0
- package/dist/conditions/type-is.d.ts +2 -0
- package/dist/conditions/type-is.mjs +11 -0
- package/dist/conditions/type-is.mjs.map +1 -0
- package/dist/core/core-types.cjs +3 -0
- package/dist/core/core-types.cjs.map +1 -0
- package/dist/core/core-types.d.ts +41 -0
- package/dist/core/core-types.mjs +2 -0
- package/dist/core/core-types.mjs.map +1 -0
- package/dist/core/entity.cjs +146 -0
- package/dist/core/entity.cjs.map +1 -0
- package/dist/core/entity.d.ts +39 -0
- package/dist/core/entity.mjs +144 -0
- package/dist/core/entity.mjs.map +1 -0
- package/dist/core/index.cjs +12 -0
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.mjs +4 -0
- package/dist/core/index.mjs.map +1 -0
- package/dist/core/key.cjs +8 -0
- package/dist/core/key.cjs.map +1 -0
- package/dist/core/key.d.ts +12 -0
- package/dist/core/key.mjs +6 -0
- package/dist/core/key.mjs.map +1 -0
- package/dist/core/table.cjs +44 -0
- package/dist/core/table.cjs.map +1 -0
- package/dist/core/table.d.ts +22 -0
- package/dist/core/table.mjs +42 -0
- package/dist/core/table.mjs.map +1 -0
- package/dist/errors.cjs +7 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.ts +2 -0
- package/dist/errors.mjs +5 -0
- package/dist/errors.mjs.map +1 -0
- package/dist/index.cjs +106 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.mjs +51 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internal-constants.cjs +20 -0
- package/dist/internal-constants.cjs.map +1 -0
- package/dist/internal-constants.d.ts +8 -0
- package/dist/internal-constants.mjs +11 -0
- package/dist/internal-constants.mjs.map +1 -0
- package/dist/node_modules/tslib/tslib.es6.cjs +92 -0
- package/dist/node_modules/tslib/tslib.es6.cjs.map +1 -0
- package/dist/node_modules/tslib/tslib.es6.mjs +84 -0
- package/dist/node_modules/tslib/tslib.es6.mjs.map +1 -0
- package/dist/projections/index.cjs +8 -0
- package/dist/projections/index.cjs.map +1 -0
- package/dist/projections/index.d.ts +2 -0
- package/dist/projections/index.mjs +2 -0
- package/dist/projections/index.mjs.map +1 -0
- package/dist/projections/projection-parser.cjs +19 -0
- package/dist/projections/projection-parser.cjs.map +1 -0
- package/dist/projections/projection-parser.d.ts +7 -0
- package/dist/projections/projection-parser.mjs +17 -0
- package/dist/projections/projection-parser.mjs.map +1 -0
- package/dist/projections/projection-types.cjs +3 -0
- package/dist/projections/projection-types.cjs.map +1 -0
- package/dist/projections/projection-types.d.ts +1 -0
- package/dist/projections/projection-types.mjs +2 -0
- package/dist/projections/projection-types.mjs.map +1 -0
- package/dist/updates/add-to-set.cjs +14 -0
- package/dist/updates/add-to-set.cjs.map +1 -0
- package/dist/updates/add-to-set.d.ts +3 -0
- package/dist/updates/add-to-set.mjs +12 -0
- package/dist/updates/add-to-set.mjs.map +1 -0
- package/dist/updates/add.cjs +14 -0
- package/dist/updates/add.cjs.map +1 -0
- package/dist/updates/add.d.ts +2 -0
- package/dist/updates/add.mjs +12 -0
- package/dist/updates/add.mjs.map +1 -0
- package/dist/updates/append.cjs +14 -0
- package/dist/updates/append.cjs.map +1 -0
- package/dist/updates/append.d.ts +3 -0
- package/dist/updates/append.mjs +12 -0
- package/dist/updates/append.mjs.map +1 -0
- package/dist/updates/delete.cjs +13 -0
- package/dist/updates/delete.cjs.map +1 -0
- package/dist/updates/delete.d.ts +3 -0
- package/dist/updates/delete.mjs +11 -0
- package/dist/updates/delete.mjs.map +1 -0
- package/dist/updates/index.cjs +24 -0
- package/dist/updates/index.cjs.map +1 -0
- package/dist/updates/index.d.ts +10 -0
- package/dist/updates/index.mjs +10 -0
- package/dist/updates/index.mjs.map +1 -0
- package/dist/updates/prepend.cjs +14 -0
- package/dist/updates/prepend.cjs.map +1 -0
- package/dist/updates/prepend.d.ts +3 -0
- package/dist/updates/prepend.mjs +12 -0
- package/dist/updates/prepend.mjs.map +1 -0
- package/dist/updates/ref.cjs +14 -0
- package/dist/updates/ref.cjs.map +1 -0
- package/dist/updates/ref.d.ts +3 -0
- package/dist/updates/ref.mjs +12 -0
- package/dist/updates/ref.mjs.map +1 -0
- package/dist/updates/remove.cjs +12 -0
- package/dist/updates/remove.cjs.map +1 -0
- package/dist/updates/remove.d.ts +2 -0
- package/dist/updates/remove.mjs +10 -0
- package/dist/updates/remove.mjs.map +1 -0
- package/dist/updates/subtract.cjs +14 -0
- package/dist/updates/subtract.cjs.map +1 -0
- package/dist/updates/subtract.d.ts +2 -0
- package/dist/updates/subtract.mjs +12 -0
- package/dist/updates/subtract.mjs.map +1 -0
- package/dist/updates/update-parser.cjs +157 -0
- package/dist/updates/update-parser.cjs.map +1 -0
- package/dist/updates/update-parser.d.ts +7 -0
- package/dist/updates/update-parser.mjs +155 -0
- package/dist/updates/update-parser.mjs.map +1 -0
- package/dist/updates/update-symbols.cjs +30 -0
- package/dist/updates/update-symbols.cjs.map +1 -0
- package/dist/updates/update-symbols.d.ts +13 -0
- package/dist/updates/update-symbols.mjs +19 -0
- package/dist/updates/update-symbols.mjs.map +1 -0
- package/dist/updates/update-types.cjs +3 -0
- package/dist/updates/update-types.cjs.map +1 -0
- package/dist/updates/update-types.d.ts +42 -0
- package/dist/updates/update-types.mjs +2 -0
- package/dist/updates/update-types.mjs.map +1 -0
- package/package.json +142 -22
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -7
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
|
|
2
|
+
import { PutCommand } from '@aws-sdk/lib-dynamodb';
|
|
3
|
+
|
|
4
|
+
var _Put_config;
|
|
5
|
+
class Put {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
_Put_config.set(this, void 0);
|
|
8
|
+
__classPrivateFieldSet(this, _Put_config, config, "f");
|
|
9
|
+
}
|
|
10
|
+
buildItem(entity) {
|
|
11
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
const encodedData = __classPrivateFieldGet(this, _Put_config, "f").skipValidation
|
|
13
|
+
? __classPrivateFieldGet(this, _Put_config, "f").item
|
|
14
|
+
: yield entity.schema.encodeAsync(__classPrivateFieldGet(this, _Put_config, "f").item);
|
|
15
|
+
return Object.assign(Object.assign({}, encodedData), entity.buildAllKeys(__classPrivateFieldGet(this, _Put_config, "f").item));
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
execute(entity) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
var _a;
|
|
21
|
+
const item = yield this.buildItem(entity);
|
|
22
|
+
const put = new PutCommand({
|
|
23
|
+
TableName: entity.table.tableName,
|
|
24
|
+
Item: item,
|
|
25
|
+
ReturnValues: __classPrivateFieldGet(this, _Put_config, "f").returnValues,
|
|
26
|
+
ReturnConsumedCapacity: __classPrivateFieldGet(this, _Put_config, "f").returnConsumedCapacity,
|
|
27
|
+
ReturnItemCollectionMetrics: __classPrivateFieldGet(this, _Put_config, "f").returnItemCollectionMetrics,
|
|
28
|
+
});
|
|
29
|
+
const putResult = yield entity.table.documentClient.send(put, {
|
|
30
|
+
abortSignal: (_a = __classPrivateFieldGet(this, _Put_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
|
|
31
|
+
requestTimeout: __classPrivateFieldGet(this, _Put_config, "f").timeoutMs,
|
|
32
|
+
});
|
|
33
|
+
if (putResult.Attributes) {
|
|
34
|
+
const returnItem = (__classPrivateFieldGet(this, _Put_config, "f").skipValidation
|
|
35
|
+
? putResult.Attributes
|
|
36
|
+
: yield entity.schema.partial().parseAsync(putResult.Attributes));
|
|
37
|
+
return {
|
|
38
|
+
returnItem,
|
|
39
|
+
responseMetadata: putResult.$metadata,
|
|
40
|
+
consumedCapacity: putResult.ConsumedCapacity,
|
|
41
|
+
itemCollectionMetrics: putResult.ItemCollectionMetrics,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
returnItem: undefined,
|
|
46
|
+
responseMetadata: putResult.$metadata,
|
|
47
|
+
consumedCapacity: putResult.ConsumedCapacity,
|
|
48
|
+
itemCollectionMetrics: putResult.ItemCollectionMetrics,
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
prepareWriteTransaction(entity) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const item = yield this.buildItem(entity);
|
|
55
|
+
return {
|
|
56
|
+
Put: {
|
|
57
|
+
TableName: entity.table.tableName,
|
|
58
|
+
Item: item,
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
_Put_config = new WeakMap();
|
|
65
|
+
|
|
66
|
+
export { Put };
|
|
67
|
+
//# sourceMappingURL=put.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"put.mjs","sources":["../../src/commands/put.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
|
|
4
|
+
var attributes_attributeMap = require('../attributes/attribute-map.cjs');
|
|
5
|
+
var internalConstants = require('../internal-constants.cjs');
|
|
6
|
+
var libDynamodb = require('@aws-sdk/lib-dynamodb');
|
|
7
|
+
var conditions_conditionParser = require('../conditions/condition-parser.cjs');
|
|
8
|
+
var errors = require('../errors.cjs');
|
|
9
|
+
var pMap = require('p-map');
|
|
10
|
+
|
|
11
|
+
var _Query_config;
|
|
12
|
+
class Query {
|
|
13
|
+
constructor(config) {
|
|
14
|
+
_Query_config.set(this, void 0);
|
|
15
|
+
tslib_es6.__classPrivateFieldSet(this, _Query_config, config, "f");
|
|
16
|
+
}
|
|
17
|
+
buildCommandInput(entity) {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
const attributeExpressionMap = new attributes_attributeMap.AttributeExpressionMap();
|
|
20
|
+
// Generate the PK or GSIPK key
|
|
21
|
+
const keyItem = entity.buildPrimaryOrIndexKey(tslib_es6.__classPrivateFieldGet(this, _Query_config, "f"));
|
|
22
|
+
let queryKeyName;
|
|
23
|
+
let indexName;
|
|
24
|
+
if ('key' in tslib_es6.__classPrivateFieldGet(this, _Query_config, "f")) {
|
|
25
|
+
queryKeyName = entity.table.partitionKeyName;
|
|
26
|
+
}
|
|
27
|
+
else if ('index' in tslib_es6.__classPrivateFieldGet(this, _Query_config, "f")) {
|
|
28
|
+
const indexes = Object.keys(tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").index);
|
|
29
|
+
if (!indexes) {
|
|
30
|
+
throw new errors.DocumentBuilderError('No index specified in query configuration.');
|
|
31
|
+
}
|
|
32
|
+
indexName = Object.keys(tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").index)[0];
|
|
33
|
+
queryKeyName = entity.table.globalSecondaryIndexKeyNames[indexName].partitionKey;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
throw new errors.DocumentBuilderError("Either 'key' or 'index' must be specified for a query.");
|
|
37
|
+
}
|
|
38
|
+
const queryKeyValue = keyItem[queryKeyName];
|
|
39
|
+
const keyConditionExpression = conditions_conditionParser.parseCondition(Object.assign({ [queryKeyName]: queryKeyValue }, ((_a = tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").sortKeyCondition) !== null && _a !== void 0 ? _a : {})), attributeExpressionMap).conditionExpression;
|
|
40
|
+
let filterExpression;
|
|
41
|
+
if (tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").filter) {
|
|
42
|
+
filterExpression = conditions_conditionParser.parseCondition(tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").filter, attributeExpressionMap).conditionExpression;
|
|
43
|
+
}
|
|
44
|
+
return Object.assign(Object.assign({ TableName: entity.table.tableName, KeyConditionExpression: keyConditionExpression, FilterExpression: filterExpression }, attributeExpressionMap.toDynamoAttributeExpression()), { Select: tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").selectAttributes, Limit: tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").limit, ConsistentRead: (_b = tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").consistent) !== null && _b !== void 0 ? _b : false, IndexName: indexName, ScanIndexForward: !tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").reverseIndexScan, ExclusiveStartKey: tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").exclusiveStartKey, ReturnConsumedCapacity: tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").returnConsumedCapacity });
|
|
45
|
+
}
|
|
46
|
+
validateItems(entity, items) {
|
|
47
|
+
return tslib_es6.__awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
if (!items) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
if (tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").skipValidation) {
|
|
53
|
+
return items;
|
|
54
|
+
}
|
|
55
|
+
return pMap(items, item => entity.schema.parseAsync(item), {
|
|
56
|
+
concurrency: (_a = tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").validationConcurrency) !== null && _a !== void 0 ? _a : internalConstants.QUERY_VALIDATION_CONCURRENCY,
|
|
57
|
+
signal: (_b = tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
buildResult(items, queryResult) {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
return {
|
|
64
|
+
items,
|
|
65
|
+
count: (_a = queryResult.Count) !== null && _a !== void 0 ? _a : 0,
|
|
66
|
+
scannedCount: (_b = queryResult.ScannedCount) !== null && _b !== void 0 ? _b : 0,
|
|
67
|
+
lastEvaluatedKey: queryResult.LastEvaluatedKey,
|
|
68
|
+
responseMetadata: queryResult.$metadata,
|
|
69
|
+
consumedCapacity: queryResult.ConsumedCapacity,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
execute(entity) {
|
|
73
|
+
return tslib_es6.__awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
var _a;
|
|
75
|
+
const query = new libDynamodb.QueryCommand(this.buildCommandInput(entity));
|
|
76
|
+
const queryResult = yield entity.table.documentClient.send(query, {
|
|
77
|
+
abortSignal: (_a = tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
|
|
78
|
+
requestTimeout: tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").timeoutMs,
|
|
79
|
+
});
|
|
80
|
+
const items = yield this.validateItems(entity, queryResult.Items);
|
|
81
|
+
return this.buildResult(items, queryResult);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
executePaginated(entity) {
|
|
85
|
+
return tslib_es6.__asyncGenerator(this, arguments, function* executePaginated_1() {
|
|
86
|
+
var _a, e_1, _b, _c;
|
|
87
|
+
var _d;
|
|
88
|
+
const paginator = libDynamodb.paginateQuery({
|
|
89
|
+
client: entity.table.documentClient,
|
|
90
|
+
pageSize: tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").pageSize,
|
|
91
|
+
}, this.buildCommandInput(entity), {
|
|
92
|
+
abortSignal: (_d = tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").abortController) === null || _d === void 0 ? void 0 : _d.signal,
|
|
93
|
+
requestTimeout: tslib_es6.__classPrivateFieldGet(this, _Query_config, "f").timeoutMs,
|
|
94
|
+
});
|
|
95
|
+
try {
|
|
96
|
+
for (var _e = true, paginator_1 = tslib_es6.__asyncValues(paginator), paginator_1_1; paginator_1_1 = yield tslib_es6.__await(paginator_1.next()), _a = paginator_1_1.done, !_a; _e = true) {
|
|
97
|
+
_c = paginator_1_1.value;
|
|
98
|
+
_e = false;
|
|
99
|
+
const page = _c;
|
|
100
|
+
const items = yield tslib_es6.__await(this.validateItems(entity, page.Items));
|
|
101
|
+
yield yield tslib_es6.__await(this.buildResult(items, page));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
105
|
+
finally {
|
|
106
|
+
try {
|
|
107
|
+
if (!_e && !_a && (_b = paginator_1.return)) yield tslib_es6.__await(_b.call(paginator_1));
|
|
108
|
+
}
|
|
109
|
+
finally { if (e_1) throw e_1.error; }
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
_Query_config = new WeakMap();
|
|
115
|
+
|
|
116
|
+
exports.Query = Query;
|
|
117
|
+
//# sourceMappingURL=query.cjs.map
|
|
@@ -0,0 +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":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Condition } from '@/conditions/condition-types';
|
|
2
|
+
import type { DynamoEntity, EntityKeyInput } from '@/core/entity';
|
|
3
|
+
import type { EntitySchema } from '@/core/core-types';
|
|
4
|
+
import type { Select } from '@aws-sdk/client-dynamodb';
|
|
5
|
+
import type { ZodObject } from 'zod/v4';
|
|
6
|
+
import type { BaseConfig, BaseCommand, BasePaginatable, BaseResult } from '@/commands/base-command';
|
|
7
|
+
import { type QueryCommandInput, type NativeAttributeValue, type QueryCommandOutput } from '@aws-sdk/lib-dynamodb';
|
|
8
|
+
export type QueryConfig<Schema extends ZodObject> = BaseConfig & EntityKeyInput<EntitySchema<Schema>> & {
|
|
9
|
+
sortKeyCondition?: Condition;
|
|
10
|
+
filter?: Condition;
|
|
11
|
+
limit?: number;
|
|
12
|
+
selectAttributes?: Select;
|
|
13
|
+
consistent?: boolean;
|
|
14
|
+
validationConcurrency?: number;
|
|
15
|
+
reverseIndexScan?: boolean;
|
|
16
|
+
exclusiveStartKey?: Partial<EntitySchema<Schema>>;
|
|
17
|
+
pageSize?: number;
|
|
18
|
+
};
|
|
19
|
+
export type QueryResult<Schema extends ZodObject> = BaseResult & {
|
|
20
|
+
items: EntitySchema<Schema>[];
|
|
21
|
+
count: number;
|
|
22
|
+
scannedCount: number;
|
|
23
|
+
lastEvaluatedKey?: Partial<EntitySchema<Schema>> | undefined;
|
|
24
|
+
};
|
|
25
|
+
export declare class Query<Schema extends ZodObject> implements BaseCommand<QueryResult<Schema>, Schema>, BasePaginatable<QueryResult<Schema>, Schema> {
|
|
26
|
+
#private;
|
|
27
|
+
constructor(config: QueryConfig<Schema>);
|
|
28
|
+
buildCommandInput(entity: DynamoEntity<Schema>): QueryCommandInput;
|
|
29
|
+
validateItems(entity: DynamoEntity<Schema>, items: Record<string, NativeAttributeValue>[] | undefined): Promise<EntitySchema<Schema>[]>;
|
|
30
|
+
buildResult(items: EntitySchema<Schema>[], queryResult: QueryCommandOutput): QueryResult<Schema>;
|
|
31
|
+
execute(entity: DynamoEntity<Schema>): Promise<QueryResult<Schema>>;
|
|
32
|
+
executePaginated(entity: DynamoEntity<Schema>): AsyncGenerator<QueryResult<Schema>, void, unknown>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter, __asyncGenerator, __asyncValues, __await } from '../node_modules/tslib/tslib.es6.mjs';
|
|
2
|
+
import { AttributeExpressionMap } from '../attributes/attribute-map.mjs';
|
|
3
|
+
import { QUERY_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
|
|
4
|
+
import { QueryCommand, paginateQuery } from '@aws-sdk/lib-dynamodb';
|
|
5
|
+
import { parseCondition } from '../conditions/condition-parser.mjs';
|
|
6
|
+
import { DocumentBuilderError } from '../errors.mjs';
|
|
7
|
+
import pMap from 'p-map';
|
|
8
|
+
|
|
9
|
+
var _Query_config;
|
|
10
|
+
class Query {
|
|
11
|
+
constructor(config) {
|
|
12
|
+
_Query_config.set(this, void 0);
|
|
13
|
+
__classPrivateFieldSet(this, _Query_config, config, "f");
|
|
14
|
+
}
|
|
15
|
+
buildCommandInput(entity) {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
const attributeExpressionMap = new AttributeExpressionMap();
|
|
18
|
+
// Generate the PK or GSIPK key
|
|
19
|
+
const keyItem = entity.buildPrimaryOrIndexKey(__classPrivateFieldGet(this, _Query_config, "f"));
|
|
20
|
+
let queryKeyName;
|
|
21
|
+
let indexName;
|
|
22
|
+
if ('key' in __classPrivateFieldGet(this, _Query_config, "f")) {
|
|
23
|
+
queryKeyName = entity.table.partitionKeyName;
|
|
24
|
+
}
|
|
25
|
+
else if ('index' in __classPrivateFieldGet(this, _Query_config, "f")) {
|
|
26
|
+
const indexes = Object.keys(__classPrivateFieldGet(this, _Query_config, "f").index);
|
|
27
|
+
if (!indexes) {
|
|
28
|
+
throw new DocumentBuilderError('No index specified in query configuration.');
|
|
29
|
+
}
|
|
30
|
+
indexName = Object.keys(__classPrivateFieldGet(this, _Query_config, "f").index)[0];
|
|
31
|
+
queryKeyName = entity.table.globalSecondaryIndexKeyNames[indexName].partitionKey;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
throw new DocumentBuilderError("Either 'key' or 'index' must be specified for a query.");
|
|
35
|
+
}
|
|
36
|
+
const queryKeyValue = keyItem[queryKeyName];
|
|
37
|
+
const keyConditionExpression = parseCondition(Object.assign({ [queryKeyName]: queryKeyValue }, ((_a = __classPrivateFieldGet(this, _Query_config, "f").sortKeyCondition) !== null && _a !== void 0 ? _a : {})), attributeExpressionMap).conditionExpression;
|
|
38
|
+
let filterExpression;
|
|
39
|
+
if (__classPrivateFieldGet(this, _Query_config, "f").filter) {
|
|
40
|
+
filterExpression = parseCondition(__classPrivateFieldGet(this, _Query_config, "f").filter, attributeExpressionMap).conditionExpression;
|
|
41
|
+
}
|
|
42
|
+
return Object.assign(Object.assign({ TableName: entity.table.tableName, KeyConditionExpression: keyConditionExpression, FilterExpression: filterExpression }, attributeExpressionMap.toDynamoAttributeExpression()), { Select: __classPrivateFieldGet(this, _Query_config, "f").selectAttributes, Limit: __classPrivateFieldGet(this, _Query_config, "f").limit, ConsistentRead: (_b = __classPrivateFieldGet(this, _Query_config, "f").consistent) !== null && _b !== void 0 ? _b : false, IndexName: indexName, ScanIndexForward: !__classPrivateFieldGet(this, _Query_config, "f").reverseIndexScan, ExclusiveStartKey: __classPrivateFieldGet(this, _Query_config, "f").exclusiveStartKey, ReturnConsumedCapacity: __classPrivateFieldGet(this, _Query_config, "f").returnConsumedCapacity });
|
|
43
|
+
}
|
|
44
|
+
validateItems(entity, items) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
var _a, _b;
|
|
47
|
+
if (!items) {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
if (__classPrivateFieldGet(this, _Query_config, "f").skipValidation) {
|
|
51
|
+
return items;
|
|
52
|
+
}
|
|
53
|
+
return pMap(items, item => entity.schema.parseAsync(item), {
|
|
54
|
+
concurrency: (_a = __classPrivateFieldGet(this, _Query_config, "f").validationConcurrency) !== null && _a !== void 0 ? _a : QUERY_VALIDATION_CONCURRENCY,
|
|
55
|
+
signal: (_b = __classPrivateFieldGet(this, _Query_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
buildResult(items, queryResult) {
|
|
60
|
+
var _a, _b;
|
|
61
|
+
return {
|
|
62
|
+
items,
|
|
63
|
+
count: (_a = queryResult.Count) !== null && _a !== void 0 ? _a : 0,
|
|
64
|
+
scannedCount: (_b = queryResult.ScannedCount) !== null && _b !== void 0 ? _b : 0,
|
|
65
|
+
lastEvaluatedKey: queryResult.LastEvaluatedKey,
|
|
66
|
+
responseMetadata: queryResult.$metadata,
|
|
67
|
+
consumedCapacity: queryResult.ConsumedCapacity,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
execute(entity) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
var _a;
|
|
73
|
+
const query = new QueryCommand(this.buildCommandInput(entity));
|
|
74
|
+
const queryResult = yield entity.table.documentClient.send(query, {
|
|
75
|
+
abortSignal: (_a = __classPrivateFieldGet(this, _Query_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
|
|
76
|
+
requestTimeout: __classPrivateFieldGet(this, _Query_config, "f").timeoutMs,
|
|
77
|
+
});
|
|
78
|
+
const items = yield this.validateItems(entity, queryResult.Items);
|
|
79
|
+
return this.buildResult(items, queryResult);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
executePaginated(entity) {
|
|
83
|
+
return __asyncGenerator(this, arguments, function* executePaginated_1() {
|
|
84
|
+
var _a, e_1, _b, _c;
|
|
85
|
+
var _d;
|
|
86
|
+
const paginator = paginateQuery({
|
|
87
|
+
client: entity.table.documentClient,
|
|
88
|
+
pageSize: __classPrivateFieldGet(this, _Query_config, "f").pageSize,
|
|
89
|
+
}, this.buildCommandInput(entity), {
|
|
90
|
+
abortSignal: (_d = __classPrivateFieldGet(this, _Query_config, "f").abortController) === null || _d === void 0 ? void 0 : _d.signal,
|
|
91
|
+
requestTimeout: __classPrivateFieldGet(this, _Query_config, "f").timeoutMs,
|
|
92
|
+
});
|
|
93
|
+
try {
|
|
94
|
+
for (var _e = true, paginator_1 = __asyncValues(paginator), paginator_1_1; paginator_1_1 = yield __await(paginator_1.next()), _a = paginator_1_1.done, !_a; _e = true) {
|
|
95
|
+
_c = paginator_1_1.value;
|
|
96
|
+
_e = false;
|
|
97
|
+
const page = _c;
|
|
98
|
+
const items = yield __await(this.validateItems(entity, page.Items));
|
|
99
|
+
yield yield __await(this.buildResult(items, page));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
103
|
+
finally {
|
|
104
|
+
try {
|
|
105
|
+
if (!_e && !_a && (_b = paginator_1.return)) yield __await(_b.call(paginator_1));
|
|
106
|
+
}
|
|
107
|
+
finally { if (e_1) throw e_1.error; }
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
_Query_config = new WeakMap();
|
|
113
|
+
|
|
114
|
+
export { Query };
|
|
115
|
+
//# sourceMappingURL=query.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.mjs","sources":["../../src/commands/query.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
|
|
4
|
+
var attributes_attributeMap = require('../attributes/attribute-map.cjs');
|
|
5
|
+
var internalConstants = require('../internal-constants.cjs');
|
|
6
|
+
var libDynamodb = require('@aws-sdk/lib-dynamodb');
|
|
7
|
+
var conditions_conditionParser = require('../conditions/condition-parser.cjs');
|
|
8
|
+
var pMap = require('p-map');
|
|
9
|
+
|
|
10
|
+
var _Scan_config;
|
|
11
|
+
class Scan {
|
|
12
|
+
constructor(config) {
|
|
13
|
+
_Scan_config.set(this, void 0);
|
|
14
|
+
tslib_es6.__classPrivateFieldSet(this, _Scan_config, config, "f");
|
|
15
|
+
}
|
|
16
|
+
buildCommandInput(entity) {
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
18
|
+
const attributeExpressionMap = new attributes_attributeMap.AttributeExpressionMap();
|
|
19
|
+
let filterExpression;
|
|
20
|
+
if ((_a = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _a === void 0 ? void 0 : _a.filter) {
|
|
21
|
+
filterExpression = conditions_conditionParser.parseCondition(tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f").filter, attributeExpressionMap).conditionExpression;
|
|
22
|
+
}
|
|
23
|
+
return Object.assign(Object.assign({ TableName: entity.table.tableName, FilterExpression: filterExpression }, attributeExpressionMap.toDynamoAttributeExpression()), { Select: (_b = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _b === void 0 ? void 0 : _b.selectAttributes, Limit: (_c = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _c === void 0 ? void 0 : _c.limit, ConsistentRead: (_e = (_d = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _d === void 0 ? void 0 : _d.consistent) !== null && _e !== void 0 ? _e : false, IndexName: (_f = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _f === void 0 ? void 0 : _f.indexName, Segment: (_g = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _g === void 0 ? void 0 : _g.segment, TotalSegments: (_h = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _h === void 0 ? void 0 : _h.totalSegments, ExclusiveStartKey: (_j = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _j === void 0 ? void 0 : _j.exclusiveStartKey, ReturnConsumedCapacity: (_k = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _k === void 0 ? void 0 : _k.returnConsumedCapacity });
|
|
24
|
+
}
|
|
25
|
+
validateItems(entity, items) {
|
|
26
|
+
return tslib_es6.__awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
var _a, _b, _c, _d, _e;
|
|
28
|
+
if (!items) {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
if ((_a = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _a === void 0 ? void 0 : _a.skipValidation) {
|
|
32
|
+
return items;
|
|
33
|
+
}
|
|
34
|
+
return pMap(items, item => entity.schema.parseAsync(item), {
|
|
35
|
+
concurrency: (_c = (_b = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _b === void 0 ? void 0 : _b.validationConcurrency) !== null && _c !== void 0 ? _c : internalConstants.SCAN_VALIDATION_CONCURRENCY,
|
|
36
|
+
signal: (_e = (_d = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _d === void 0 ? void 0 : _d.abortController) === null || _e === void 0 ? void 0 : _e.signal,
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
buildResult(items, scanResult) {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
return {
|
|
43
|
+
items,
|
|
44
|
+
count: (_a = scanResult.Count) !== null && _a !== void 0 ? _a : 0,
|
|
45
|
+
scannedCount: (_b = scanResult.ScannedCount) !== null && _b !== void 0 ? _b : 0,
|
|
46
|
+
lastEvaluatedKey: scanResult.LastEvaluatedKey,
|
|
47
|
+
responseMetadata: scanResult.$metadata,
|
|
48
|
+
consumedCapacity: scanResult.ConsumedCapacity,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
execute(entity) {
|
|
52
|
+
return tslib_es6.__awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
var _a, _b, _c;
|
|
54
|
+
const scan = new libDynamodb.ScanCommand(this.buildCommandInput(entity));
|
|
55
|
+
const scanResult = yield entity.table.documentClient.send(scan, {
|
|
56
|
+
abortSignal: (_b = (_a = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _a === void 0 ? void 0 : _a.abortController) === null || _b === void 0 ? void 0 : _b.signal,
|
|
57
|
+
requestTimeout: (_c = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _c === void 0 ? void 0 : _c.timeoutMs,
|
|
58
|
+
});
|
|
59
|
+
const items = yield this.validateItems(entity, scanResult.Items);
|
|
60
|
+
return this.buildResult(items, scanResult);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
executePaginated(entity) {
|
|
64
|
+
return tslib_es6.__asyncGenerator(this, arguments, function* executePaginated_1() {
|
|
65
|
+
var _a, e_1, _b, _c;
|
|
66
|
+
var _d, _e, _f, _g;
|
|
67
|
+
const paginator = libDynamodb.paginateScan({
|
|
68
|
+
client: entity.table.documentClient,
|
|
69
|
+
pageSize: (_d = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _d === void 0 ? void 0 : _d.pageSize,
|
|
70
|
+
}, this.buildCommandInput(entity), {
|
|
71
|
+
abortSignal: (_f = (_e = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _e === void 0 ? void 0 : _e.abortController) === null || _f === void 0 ? void 0 : _f.signal,
|
|
72
|
+
requestTimeout: (_g = tslib_es6.__classPrivateFieldGet(this, _Scan_config, "f")) === null || _g === void 0 ? void 0 : _g.timeoutMs,
|
|
73
|
+
});
|
|
74
|
+
try {
|
|
75
|
+
for (var _h = true, paginator_1 = tslib_es6.__asyncValues(paginator), paginator_1_1; paginator_1_1 = yield tslib_es6.__await(paginator_1.next()), _a = paginator_1_1.done, !_a; _h = true) {
|
|
76
|
+
_c = paginator_1_1.value;
|
|
77
|
+
_h = false;
|
|
78
|
+
const page = _c;
|
|
79
|
+
const items = yield tslib_es6.__await(this.validateItems(entity, page.Items));
|
|
80
|
+
yield yield tslib_es6.__await(this.buildResult(items, page));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
84
|
+
finally {
|
|
85
|
+
try {
|
|
86
|
+
if (!_h && !_a && (_b = paginator_1.return)) yield tslib_es6.__await(_b.call(paginator_1));
|
|
87
|
+
}
|
|
88
|
+
finally { if (e_1) throw e_1.error; }
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
_Scan_config = new WeakMap();
|
|
94
|
+
|
|
95
|
+
exports.Scan = Scan;
|
|
96
|
+
//# sourceMappingURL=scan.cjs.map
|
|
@@ -0,0 +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":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Condition } from '@/conditions/condition-types';
|
|
2
|
+
import type { DynamoEntity } from '@/core/entity';
|
|
3
|
+
import type { EntitySchema } from '@/core/core-types';
|
|
4
|
+
import type { Select } from '@aws-sdk/client-dynamodb';
|
|
5
|
+
import type { ZodObject } from 'zod/v4';
|
|
6
|
+
import type { BaseCommand, BaseConfig, BasePaginatable, BaseResult } from '@/commands/base-command';
|
|
7
|
+
import { type NativeAttributeValue, type ScanCommandInput, type ScanCommandOutput } from '@aws-sdk/lib-dynamodb';
|
|
8
|
+
export type ScanConfig<Schema extends ZodObject> = (BaseConfig & {
|
|
9
|
+
indexName?: string;
|
|
10
|
+
filter?: Condition;
|
|
11
|
+
limit?: number;
|
|
12
|
+
selectAttributes?: Select;
|
|
13
|
+
consistent?: boolean;
|
|
14
|
+
validationConcurrency?: number;
|
|
15
|
+
segment?: number;
|
|
16
|
+
totalSegments?: number;
|
|
17
|
+
exclusiveStartKey?: Partial<EntitySchema<Schema>>;
|
|
18
|
+
pageSize?: number;
|
|
19
|
+
}) | undefined;
|
|
20
|
+
export type ScanResult<Schema extends ZodObject> = BaseResult & {
|
|
21
|
+
items: EntitySchema<Schema>[];
|
|
22
|
+
count: number;
|
|
23
|
+
scannedCount: number;
|
|
24
|
+
lastEvaluatedKey?: Partial<EntitySchema<Schema>> | undefined;
|
|
25
|
+
};
|
|
26
|
+
export declare class Scan<Schema extends ZodObject> implements BaseCommand<ScanResult<Schema>, Schema>, BasePaginatable<ScanResult<Schema>, Schema> {
|
|
27
|
+
#private;
|
|
28
|
+
constructor(config?: ScanConfig<Schema>);
|
|
29
|
+
buildCommandInput(entity: DynamoEntity<Schema>): ScanCommandInput;
|
|
30
|
+
validateItems(entity: DynamoEntity<Schema>, items: Record<string, NativeAttributeValue>[] | undefined): Promise<EntitySchema<Schema>[]>;
|
|
31
|
+
buildResult(items: EntitySchema<Schema>[], scanResult: ScanCommandOutput): ScanResult<Schema>;
|
|
32
|
+
execute(entity: DynamoEntity<Schema>): Promise<ScanResult<Schema>>;
|
|
33
|
+
executePaginated(entity: DynamoEntity<Schema>): AsyncGenerator<ScanResult<Schema>, void, unknown>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter, __asyncGenerator, __asyncValues, __await } from '../node_modules/tslib/tslib.es6.mjs';
|
|
2
|
+
import { AttributeExpressionMap } from '../attributes/attribute-map.mjs';
|
|
3
|
+
import { SCAN_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
|
|
4
|
+
import { ScanCommand, paginateScan } from '@aws-sdk/lib-dynamodb';
|
|
5
|
+
import { parseCondition } from '../conditions/condition-parser.mjs';
|
|
6
|
+
import pMap from 'p-map';
|
|
7
|
+
|
|
8
|
+
var _Scan_config;
|
|
9
|
+
class Scan {
|
|
10
|
+
constructor(config) {
|
|
11
|
+
_Scan_config.set(this, void 0);
|
|
12
|
+
__classPrivateFieldSet(this, _Scan_config, config, "f");
|
|
13
|
+
}
|
|
14
|
+
buildCommandInput(entity) {
|
|
15
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
16
|
+
const attributeExpressionMap = new AttributeExpressionMap();
|
|
17
|
+
let filterExpression;
|
|
18
|
+
if ((_a = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _a === void 0 ? void 0 : _a.filter) {
|
|
19
|
+
filterExpression = parseCondition(__classPrivateFieldGet(this, _Scan_config, "f").filter, attributeExpressionMap).conditionExpression;
|
|
20
|
+
}
|
|
21
|
+
return Object.assign(Object.assign({ TableName: entity.table.tableName, FilterExpression: filterExpression }, attributeExpressionMap.toDynamoAttributeExpression()), { Select: (_b = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _b === void 0 ? void 0 : _b.selectAttributes, Limit: (_c = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _c === void 0 ? void 0 : _c.limit, ConsistentRead: (_e = (_d = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _d === void 0 ? void 0 : _d.consistent) !== null && _e !== void 0 ? _e : false, IndexName: (_f = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _f === void 0 ? void 0 : _f.indexName, Segment: (_g = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _g === void 0 ? void 0 : _g.segment, TotalSegments: (_h = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _h === void 0 ? void 0 : _h.totalSegments, ExclusiveStartKey: (_j = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _j === void 0 ? void 0 : _j.exclusiveStartKey, ReturnConsumedCapacity: (_k = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _k === void 0 ? void 0 : _k.returnConsumedCapacity });
|
|
22
|
+
}
|
|
23
|
+
validateItems(entity, items) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
var _a, _b, _c, _d, _e;
|
|
26
|
+
if (!items) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
if ((_a = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _a === void 0 ? void 0 : _a.skipValidation) {
|
|
30
|
+
return items;
|
|
31
|
+
}
|
|
32
|
+
return pMap(items, item => entity.schema.parseAsync(item), {
|
|
33
|
+
concurrency: (_c = (_b = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _b === void 0 ? void 0 : _b.validationConcurrency) !== null && _c !== void 0 ? _c : SCAN_VALIDATION_CONCURRENCY,
|
|
34
|
+
signal: (_e = (_d = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _d === void 0 ? void 0 : _d.abortController) === null || _e === void 0 ? void 0 : _e.signal,
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
buildResult(items, scanResult) {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
return {
|
|
41
|
+
items,
|
|
42
|
+
count: (_a = scanResult.Count) !== null && _a !== void 0 ? _a : 0,
|
|
43
|
+
scannedCount: (_b = scanResult.ScannedCount) !== null && _b !== void 0 ? _b : 0,
|
|
44
|
+
lastEvaluatedKey: scanResult.LastEvaluatedKey,
|
|
45
|
+
responseMetadata: scanResult.$metadata,
|
|
46
|
+
consumedCapacity: scanResult.ConsumedCapacity,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
execute(entity) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
var _a, _b, _c;
|
|
52
|
+
const scan = new ScanCommand(this.buildCommandInput(entity));
|
|
53
|
+
const scanResult = yield entity.table.documentClient.send(scan, {
|
|
54
|
+
abortSignal: (_b = (_a = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _a === void 0 ? void 0 : _a.abortController) === null || _b === void 0 ? void 0 : _b.signal,
|
|
55
|
+
requestTimeout: (_c = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _c === void 0 ? void 0 : _c.timeoutMs,
|
|
56
|
+
});
|
|
57
|
+
const items = yield this.validateItems(entity, scanResult.Items);
|
|
58
|
+
return this.buildResult(items, scanResult);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
executePaginated(entity) {
|
|
62
|
+
return __asyncGenerator(this, arguments, function* executePaginated_1() {
|
|
63
|
+
var _a, e_1, _b, _c;
|
|
64
|
+
var _d, _e, _f, _g;
|
|
65
|
+
const paginator = paginateScan({
|
|
66
|
+
client: entity.table.documentClient,
|
|
67
|
+
pageSize: (_d = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _d === void 0 ? void 0 : _d.pageSize,
|
|
68
|
+
}, this.buildCommandInput(entity), {
|
|
69
|
+
abortSignal: (_f = (_e = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _e === void 0 ? void 0 : _e.abortController) === null || _f === void 0 ? void 0 : _f.signal,
|
|
70
|
+
requestTimeout: (_g = __classPrivateFieldGet(this, _Scan_config, "f")) === null || _g === void 0 ? void 0 : _g.timeoutMs,
|
|
71
|
+
});
|
|
72
|
+
try {
|
|
73
|
+
for (var _h = true, paginator_1 = __asyncValues(paginator), paginator_1_1; paginator_1_1 = yield __await(paginator_1.next()), _a = paginator_1_1.done, !_a; _h = true) {
|
|
74
|
+
_c = paginator_1_1.value;
|
|
75
|
+
_h = false;
|
|
76
|
+
const page = _c;
|
|
77
|
+
const items = yield __await(this.validateItems(entity, page.Items));
|
|
78
|
+
yield yield __await(this.buildResult(items, page));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
82
|
+
finally {
|
|
83
|
+
try {
|
|
84
|
+
if (!_h && !_a && (_b = paginator_1.return)) yield __await(_b.call(paginator_1));
|
|
85
|
+
}
|
|
86
|
+
finally { if (e_1) throw e_1.error; }
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
_Scan_config = new WeakMap();
|
|
92
|
+
|
|
93
|
+
export { Scan };
|
|
94
|
+
//# sourceMappingURL=scan.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan.mjs","sources":["../../src/commands/scan.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|