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,21 @@
|
|
|
1
|
+
import type { Condition } from '@/conditions/condition-types';
|
|
2
|
+
import type { DynamoEntity } from '@/core/entity';
|
|
3
|
+
import type { EntitySchema, TransactWriteOperation } from '@/core/core-types';
|
|
4
|
+
import type { ItemCollectionMetrics, ReturnValuesOnConditionCheckFailure } from '@aws-sdk/client-dynamodb';
|
|
5
|
+
import type { UpdateConfig } from '@/commands/update';
|
|
6
|
+
import type { ZodObject } from 'zod/v4';
|
|
7
|
+
import type { BaseResult, BaseCommand, WriteTransactable } from '@/commands/base-command';
|
|
8
|
+
export type ConditionalUpdateConfig<Schema extends ZodObject> = UpdateConfig<Schema> & {
|
|
9
|
+
condition: Condition;
|
|
10
|
+
returnValuesOnConditionCheckFailure?: ReturnValuesOnConditionCheckFailure;
|
|
11
|
+
};
|
|
12
|
+
export type ConditionalUpdateResult<Schema extends ZodObject> = BaseResult & {
|
|
13
|
+
updatedItem?: EntitySchema<Schema> | undefined;
|
|
14
|
+
itemCollectionMetrics?: ItemCollectionMetrics;
|
|
15
|
+
};
|
|
16
|
+
export declare class ConditionalUpdate<Schema extends ZodObject> implements BaseCommand<ConditionalUpdateResult<Schema>, Schema>, WriteTransactable<Schema> {
|
|
17
|
+
#private;
|
|
18
|
+
constructor(config: ConditionalUpdateConfig<Schema>);
|
|
19
|
+
execute(entity: DynamoEntity<Schema>): Promise<ConditionalUpdateResult<Schema>>;
|
|
20
|
+
prepareWriteTransaction(entity: DynamoEntity<Schema>): Promise<TransactWriteOperation>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
|
|
2
|
+
import { AttributeExpressionMap } from '../attributes/attribute-map.mjs';
|
|
3
|
+
import { UpdateCommand } from '@aws-sdk/lib-dynamodb';
|
|
4
|
+
import { parseCondition } from '../conditions/condition-parser.mjs';
|
|
5
|
+
import { parseUpdate } from '../updates/update-parser.mjs';
|
|
6
|
+
|
|
7
|
+
var _ConditionalUpdate_config;
|
|
8
|
+
class ConditionalUpdate {
|
|
9
|
+
constructor(config) {
|
|
10
|
+
_ConditionalUpdate_config.set(this, void 0);
|
|
11
|
+
__classPrivateFieldSet(this, _ConditionalUpdate_config, config, "f");
|
|
12
|
+
}
|
|
13
|
+
execute(entity) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
var _a;
|
|
16
|
+
const attributeExpressionMap = new AttributeExpressionMap();
|
|
17
|
+
const { updateExpression } = parseUpdate(__classPrivateFieldGet(this, _ConditionalUpdate_config, "f").update, attributeExpressionMap);
|
|
18
|
+
const { conditionExpression } = parseCondition(__classPrivateFieldGet(this, _ConditionalUpdate_config, "f").condition, attributeExpressionMap);
|
|
19
|
+
const updateItem = new UpdateCommand(Object.assign(Object.assign({ TableName: entity.table.tableName, Key: entity.buildPrimaryKey(__classPrivateFieldGet(this, _ConditionalUpdate_config, "f").key), UpdateExpression: updateExpression, ConditionExpression: conditionExpression }, attributeExpressionMap.toDynamoAttributeExpression()), { ReturnValues: __classPrivateFieldGet(this, _ConditionalUpdate_config, "f").returnValues, ReturnItemCollectionMetrics: __classPrivateFieldGet(this, _ConditionalUpdate_config, "f").returnItemCollectionMetrics, ReturnConsumedCapacity: __classPrivateFieldGet(this, _ConditionalUpdate_config, "f").returnConsumedCapacity, ReturnValuesOnConditionCheckFailure: __classPrivateFieldGet(this, _ConditionalUpdate_config, "f").returnValuesOnConditionCheckFailure }));
|
|
20
|
+
const updateResult = yield entity.table.documentClient.send(updateItem, {
|
|
21
|
+
abortSignal: (_a = __classPrivateFieldGet(this, _ConditionalUpdate_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
|
|
22
|
+
requestTimeout: __classPrivateFieldGet(this, _ConditionalUpdate_config, "f").timeoutMs,
|
|
23
|
+
});
|
|
24
|
+
let updatedItem;
|
|
25
|
+
if (updateResult.Attributes) {
|
|
26
|
+
if (__classPrivateFieldGet(this, _ConditionalUpdate_config, "f").skipValidation) {
|
|
27
|
+
updatedItem = updateResult.Attributes;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
updatedItem = yield entity.schema.parseAsync(updateResult.Attributes);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
updatedItem,
|
|
35
|
+
responseMetadata: updateResult.$metadata,
|
|
36
|
+
consumedCapacity: updateResult.ConsumedCapacity,
|
|
37
|
+
itemCollectionMetrics: updateResult.ItemCollectionMetrics,
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
prepareWriteTransaction(entity) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const attributeExpressionMap = new AttributeExpressionMap();
|
|
44
|
+
const { updateExpression } = parseUpdate(__classPrivateFieldGet(this, _ConditionalUpdate_config, "f").update, attributeExpressionMap);
|
|
45
|
+
const { conditionExpression } = parseCondition(__classPrivateFieldGet(this, _ConditionalUpdate_config, "f").condition, attributeExpressionMap);
|
|
46
|
+
return {
|
|
47
|
+
Update: Object.assign(Object.assign({ TableName: entity.table.tableName, Key: entity.buildPrimaryKey(__classPrivateFieldGet(this, _ConditionalUpdate_config, "f").key), UpdateExpression: updateExpression, ConditionExpression: conditionExpression }, attributeExpressionMap.toDynamoAttributeExpression()), { ReturnValuesOnConditionCheckFailure: __classPrivateFieldGet(this, _ConditionalUpdate_config, "f").returnValuesOnConditionCheckFailure }),
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
_ConditionalUpdate_config = new WeakMap();
|
|
53
|
+
|
|
54
|
+
export { ConditionalUpdate };
|
|
55
|
+
//# sourceMappingURL=conditional-update.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditional-update.mjs","sources":["../../src/commands/conditional-update.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
|
|
4
|
+
var libDynamodb = require('@aws-sdk/lib-dynamodb');
|
|
5
|
+
|
|
6
|
+
var _Delete_config;
|
|
7
|
+
class Delete {
|
|
8
|
+
constructor(config) {
|
|
9
|
+
_Delete_config.set(this, void 0);
|
|
10
|
+
tslib_es6.__classPrivateFieldSet(this, _Delete_config, config, "f");
|
|
11
|
+
}
|
|
12
|
+
execute(entity) {
|
|
13
|
+
return tslib_es6.__awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
var _a;
|
|
15
|
+
const deleteCmd = new libDynamodb.DeleteCommand({
|
|
16
|
+
TableName: entity.table.tableName,
|
|
17
|
+
Key: entity.buildPrimaryKey(tslib_es6.__classPrivateFieldGet(this, _Delete_config, "f").key),
|
|
18
|
+
ReturnValues: tslib_es6.__classPrivateFieldGet(this, _Delete_config, "f").returnValues,
|
|
19
|
+
ReturnConsumedCapacity: tslib_es6.__classPrivateFieldGet(this, _Delete_config, "f").returnConsumedCapacity,
|
|
20
|
+
ReturnItemCollectionMetrics: tslib_es6.__classPrivateFieldGet(this, _Delete_config, "f").returnItemCollectionMetrics,
|
|
21
|
+
});
|
|
22
|
+
const deleteResult = yield entity.table.documentClient.send(deleteCmd, {
|
|
23
|
+
abortSignal: (_a = tslib_es6.__classPrivateFieldGet(this, _Delete_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
|
|
24
|
+
requestTimeout: tslib_es6.__classPrivateFieldGet(this, _Delete_config, "f").timeoutMs,
|
|
25
|
+
});
|
|
26
|
+
let deletedItem;
|
|
27
|
+
if (deleteResult.Attributes) {
|
|
28
|
+
if (tslib_es6.__classPrivateFieldGet(this, _Delete_config, "f").skipValidation) {
|
|
29
|
+
deletedItem = deleteResult.Attributes;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
deletedItem = (yield entity.schema
|
|
33
|
+
.partial()
|
|
34
|
+
.parseAsync(deleteResult.Attributes));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
deletedItem,
|
|
39
|
+
responseMetadata: deleteResult.$metadata,
|
|
40
|
+
consumedCapacity: deleteResult.ConsumedCapacity,
|
|
41
|
+
itemCollectionMetrics: deleteResult.ItemCollectionMetrics,
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
prepareWriteTransaction(entity) {
|
|
46
|
+
return tslib_es6.__awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
return {
|
|
48
|
+
Delete: {
|
|
49
|
+
TableName: entity.table.tableName,
|
|
50
|
+
Key: entity.buildPrimaryKey(tslib_es6.__classPrivateFieldGet(this, _Delete_config, "f").key),
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
_Delete_config = new WeakMap();
|
|
57
|
+
|
|
58
|
+
exports.Delete = Delete;
|
|
59
|
+
//# sourceMappingURL=delete.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.cjs","sources":["../../src/commands/delete.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","DeleteCommand","__classPrivateFieldGet"],"mappings":";;;;;;MA2Ba,MAAM,CAAA;AAKjB,IAAA,WAAA,CAAY,MAA4B,EAAA;QAFxC,cAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,cAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,SAAS,GAAG,IAAIC,yBAAa,CAAC;AAClC,gBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;gBACjC,GAAG,EAAE,MAAM,CAAC,eAAe,CAACC,iCAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,GAAG,CAAC;AAC7C,gBAAA,YAAY,EAAEA,gCAAA,CAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,YAAY;AACvC,gBAAA,sBAAsB,EAAEA,gCAAA,CAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC3D,gBAAA,2BAA2B,EAAEA,gCAAA,CAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,2BAA2B;AACtE,aAAA,CAAC;AAEF,YAAA,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE;gBACrE,WAAW,EAAE,MAAAA,gCAAA,CAAA,IAAI,sBAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAEA,gCAAA,CAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,IAAI,WAAsD;AAC1D,YAAA,IAAI,YAAY,CAAC,UAAU,EAAE;AAC3B,gBAAA,IAAIA,iCAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;AAC/B,oBAAA,WAAW,GAAG,YAAY,CAAC,UAA2C;gBACxE;qBAAO;AACL,oBAAA,WAAW,IAAI,MAAM,MAAM,CAAC;AACzB,yBAAA,OAAO;AACP,yBAAA,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAkC;gBAC1E;YACF;YAEA,OAAO;gBACL,WAAW;gBACX,gBAAgB,EAAE,YAAY,CAAC,SAAS;gBACxC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;gBAC/C,qBAAqB,EAAE,YAAY,CAAC,qBAAqB;aAC1D;QACH,CAAC,CAAA;AAAA,IAAA;AAEY,IAAA,uBAAuB,CAClC,MAA4B,EAAA;;YAE5B,OAAO;AACL,gBAAA,MAAM,EAAE;AACN,oBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;oBACjC,GAAG,EAAE,MAAM,CAAC,eAAe,CAACA,iCAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,GAAG,CAAC;AAC9C,iBAAA;aACF;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { DynamoEntity } from '@/core/entity';
|
|
2
|
+
import type { EntitySchema, TransactWriteOperation } from '@/core/core-types';
|
|
3
|
+
import type { ItemCollectionMetrics, ReturnItemCollectionMetrics, ReturnValue } from '@aws-sdk/client-dynamodb';
|
|
4
|
+
import type { ZodObject } from 'zod/v4';
|
|
5
|
+
import type { BaseConfig, BaseCommand, BaseResult, WriteTransactable } from '@/commands/base-command';
|
|
6
|
+
export type DeleteConfig<Schema extends ZodObject> = BaseConfig & {
|
|
7
|
+
key: Partial<EntitySchema<Schema>>;
|
|
8
|
+
returnValues?: ReturnValue;
|
|
9
|
+
returnItemCollectionMetrics?: ReturnItemCollectionMetrics;
|
|
10
|
+
};
|
|
11
|
+
export type DeleteResult<Schema extends ZodObject> = BaseResult & {
|
|
12
|
+
deletedItem?: Partial<EntitySchema<Schema>> | undefined;
|
|
13
|
+
itemCollectionMetrics?: ItemCollectionMetrics;
|
|
14
|
+
};
|
|
15
|
+
export declare class Delete<Schema extends ZodObject> implements BaseCommand<DeleteResult<Schema>, Schema>, WriteTransactable<Schema> {
|
|
16
|
+
#private;
|
|
17
|
+
constructor(config: DeleteConfig<Schema>);
|
|
18
|
+
execute(entity: DynamoEntity<Schema>): Promise<DeleteResult<Schema>>;
|
|
19
|
+
prepareWriteTransaction(entity: DynamoEntity<Schema>): Promise<TransactWriteOperation>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
|
|
2
|
+
import { DeleteCommand } from '@aws-sdk/lib-dynamodb';
|
|
3
|
+
|
|
4
|
+
var _Delete_config;
|
|
5
|
+
class Delete {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
_Delete_config.set(this, void 0);
|
|
8
|
+
__classPrivateFieldSet(this, _Delete_config, config, "f");
|
|
9
|
+
}
|
|
10
|
+
execute(entity) {
|
|
11
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
var _a;
|
|
13
|
+
const deleteCmd = new DeleteCommand({
|
|
14
|
+
TableName: entity.table.tableName,
|
|
15
|
+
Key: entity.buildPrimaryKey(__classPrivateFieldGet(this, _Delete_config, "f").key),
|
|
16
|
+
ReturnValues: __classPrivateFieldGet(this, _Delete_config, "f").returnValues,
|
|
17
|
+
ReturnConsumedCapacity: __classPrivateFieldGet(this, _Delete_config, "f").returnConsumedCapacity,
|
|
18
|
+
ReturnItemCollectionMetrics: __classPrivateFieldGet(this, _Delete_config, "f").returnItemCollectionMetrics,
|
|
19
|
+
});
|
|
20
|
+
const deleteResult = yield entity.table.documentClient.send(deleteCmd, {
|
|
21
|
+
abortSignal: (_a = __classPrivateFieldGet(this, _Delete_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
|
|
22
|
+
requestTimeout: __classPrivateFieldGet(this, _Delete_config, "f").timeoutMs,
|
|
23
|
+
});
|
|
24
|
+
let deletedItem;
|
|
25
|
+
if (deleteResult.Attributes) {
|
|
26
|
+
if (__classPrivateFieldGet(this, _Delete_config, "f").skipValidation) {
|
|
27
|
+
deletedItem = deleteResult.Attributes;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
deletedItem = (yield entity.schema
|
|
31
|
+
.partial()
|
|
32
|
+
.parseAsync(deleteResult.Attributes));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
deletedItem,
|
|
37
|
+
responseMetadata: deleteResult.$metadata,
|
|
38
|
+
consumedCapacity: deleteResult.ConsumedCapacity,
|
|
39
|
+
itemCollectionMetrics: deleteResult.ItemCollectionMetrics,
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
prepareWriteTransaction(entity) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
return {
|
|
46
|
+
Delete: {
|
|
47
|
+
TableName: entity.table.tableName,
|
|
48
|
+
Key: entity.buildPrimaryKey(__classPrivateFieldGet(this, _Delete_config, "f").key),
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
_Delete_config = new WeakMap();
|
|
55
|
+
|
|
56
|
+
export { Delete };
|
|
57
|
+
//# sourceMappingURL=delete.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.mjs","sources":["../../src/commands/delete.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;MA2Ba,MAAM,CAAA;AAKjB,IAAA,WAAA,CAAY,MAA4B,EAAA;QAFxC,cAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,cAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC;AAClC,gBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;gBACjC,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,uBAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,GAAG,CAAC;AAC7C,gBAAA,YAAY,EAAE,sBAAA,CAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,YAAY;AACvC,gBAAA,sBAAsB,EAAE,sBAAA,CAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC3D,gBAAA,2BAA2B,EAAE,sBAAA,CAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,2BAA2B;AACtE,aAAA,CAAC;AAEF,YAAA,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE;gBACrE,WAAW,EAAE,MAAA,sBAAA,CAAA,IAAI,sBAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,IAAI,WAAsD;AAC1D,YAAA,IAAI,YAAY,CAAC,UAAU,EAAE;AAC3B,gBAAA,IAAI,uBAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;AAC/B,oBAAA,WAAW,GAAG,YAAY,CAAC,UAA2C;gBACxE;qBAAO;AACL,oBAAA,WAAW,IAAI,MAAM,MAAM,CAAC;AACzB,yBAAA,OAAO;AACP,yBAAA,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAkC;gBAC1E;YACF;YAEA,OAAO;gBACL,WAAW;gBACX,gBAAgB,EAAE,YAAY,CAAC,SAAS;gBACxC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;gBAC/C,qBAAqB,EAAE,YAAY,CAAC,qBAAqB;aAC1D;QACH,CAAC,CAAA;AAAA,IAAA;AAEY,IAAA,uBAAuB,CAClC,MAA4B,EAAA;;YAE5B,OAAO;AACL,gBAAA,MAAM,EAAE;AACN,oBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;oBACjC,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,uBAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAQ,CAAC,GAAG,CAAC;AAC9C,iBAAA;aACF;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
|
|
4
|
+
var libDynamodb = require('@aws-sdk/lib-dynamodb');
|
|
5
|
+
|
|
6
|
+
var _Get_config;
|
|
7
|
+
class Get {
|
|
8
|
+
constructor(config) {
|
|
9
|
+
_Get_config.set(this, void 0);
|
|
10
|
+
tslib_es6.__classPrivateFieldSet(this, _Get_config, config, "f");
|
|
11
|
+
}
|
|
12
|
+
execute(entity) {
|
|
13
|
+
return tslib_es6.__awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
const getItem = new libDynamodb.GetCommand({
|
|
16
|
+
TableName: entity.table.tableName,
|
|
17
|
+
Key: entity.buildPrimaryKey(tslib_es6.__classPrivateFieldGet(this, _Get_config, "f").key),
|
|
18
|
+
ConsistentRead: (_a = tslib_es6.__classPrivateFieldGet(this, _Get_config, "f").consistent) !== null && _a !== void 0 ? _a : false,
|
|
19
|
+
ReturnConsumedCapacity: tslib_es6.__classPrivateFieldGet(this, _Get_config, "f").returnConsumedCapacity,
|
|
20
|
+
});
|
|
21
|
+
const getResult = yield entity.table.documentClient.send(getItem, {
|
|
22
|
+
abortSignal: (_b = tslib_es6.__classPrivateFieldGet(this, _Get_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
|
|
23
|
+
requestTimeout: tslib_es6.__classPrivateFieldGet(this, _Get_config, "f").timeoutMs,
|
|
24
|
+
});
|
|
25
|
+
if (getResult.Item) {
|
|
26
|
+
const item = tslib_es6.__classPrivateFieldGet(this, _Get_config, "f").skipValidation
|
|
27
|
+
? getResult.Item
|
|
28
|
+
: yield entity.schema.parseAsync(getResult.Item);
|
|
29
|
+
return {
|
|
30
|
+
item,
|
|
31
|
+
responseMetadata: getResult.$metadata,
|
|
32
|
+
consumedCapacity: getResult.ConsumedCapacity,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
item: undefined,
|
|
37
|
+
responseMetadata: getResult.$metadata,
|
|
38
|
+
consumedCapacity: getResult.ConsumedCapacity,
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
_Get_config = new WeakMap();
|
|
44
|
+
|
|
45
|
+
exports.Get = Get;
|
|
46
|
+
//# sourceMappingURL=get.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.cjs","sources":["../../src/commands/get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","GetCommand","__classPrivateFieldGet"],"mappings":";;;;;;MAea,GAAG,CAAA;AAGd,IAAA,WAAA,CAAY,MAAyB,EAAA;QAFrC,WAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,WAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,OAAO,GAAG,IAAIC,sBAAU,CAAC;AAC7B,gBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;gBACjC,GAAG,EAAE,MAAM,CAAC,eAAe,CAACC,iCAAA,IAAI,EAAA,WAAA,EAAA,GAAA,CAAQ,CAAC,GAAG,CAAC;gBAC7C,cAAc,EAAE,MAAAA,gCAAA,CAAA,IAAI,mBAAQ,CAAC,UAAU,mCAAI,KAAK;AAChD,gBAAA,sBAAsB,EAAEA,gCAAA,CAAA,IAAI,EAAA,WAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;gBAChE,WAAW,EAAE,MAAAA,gCAAA,CAAA,IAAI,mBAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAEA,gCAAA,CAAA,IAAI,EAAA,WAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,IAAI,SAAS,CAAC,IAAI,EAAE;AAClB,gBAAA,MAAM,IAAI,GAAGA,gCAAA,CAAA,IAAI,EAAA,WAAA,EAAA,GAAA,CAAQ,CAAC;sBACrB,SAAS,CAAC;AACb,sBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;gBAElD,OAAO;oBACL,IAAI;oBACJ,gBAAgB,EAAE,SAAS,CAAC,SAAS;oBACrC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;iBAC7C;YACH;YAEA,OAAO;AACL,gBAAA,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,SAAS,CAAC,SAAS;gBACrC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;aAC7C;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { DynamoEntity } from '@/core/entity';
|
|
2
|
+
import type { BaseConfig, BaseCommand, BaseResult } from '@/commands/base-command';
|
|
3
|
+
import type { ZodObject } from 'zod/v4';
|
|
4
|
+
import type { EntitySchema } from '@/core/core-types';
|
|
5
|
+
export type GetConfig<Schema extends ZodObject> = BaseConfig & {
|
|
6
|
+
key: Partial<EntitySchema<Schema>>;
|
|
7
|
+
consistent?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type GetResult<Schema extends ZodObject> = BaseResult & {
|
|
10
|
+
item: EntitySchema<Schema> | undefined;
|
|
11
|
+
};
|
|
12
|
+
export declare class Get<Schema extends ZodObject> implements BaseCommand<GetResult<Schema>, Schema> {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(config: GetConfig<Schema>);
|
|
15
|
+
execute(entity: DynamoEntity<Schema>): Promise<GetResult<Schema>>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
|
|
2
|
+
import { GetCommand } from '@aws-sdk/lib-dynamodb';
|
|
3
|
+
|
|
4
|
+
var _Get_config;
|
|
5
|
+
class Get {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
_Get_config.set(this, void 0);
|
|
8
|
+
__classPrivateFieldSet(this, _Get_config, config, "f");
|
|
9
|
+
}
|
|
10
|
+
execute(entity) {
|
|
11
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const getItem = new GetCommand({
|
|
14
|
+
TableName: entity.table.tableName,
|
|
15
|
+
Key: entity.buildPrimaryKey(__classPrivateFieldGet(this, _Get_config, "f").key),
|
|
16
|
+
ConsistentRead: (_a = __classPrivateFieldGet(this, _Get_config, "f").consistent) !== null && _a !== void 0 ? _a : false,
|
|
17
|
+
ReturnConsumedCapacity: __classPrivateFieldGet(this, _Get_config, "f").returnConsumedCapacity,
|
|
18
|
+
});
|
|
19
|
+
const getResult = yield entity.table.documentClient.send(getItem, {
|
|
20
|
+
abortSignal: (_b = __classPrivateFieldGet(this, _Get_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
|
|
21
|
+
requestTimeout: __classPrivateFieldGet(this, _Get_config, "f").timeoutMs,
|
|
22
|
+
});
|
|
23
|
+
if (getResult.Item) {
|
|
24
|
+
const item = __classPrivateFieldGet(this, _Get_config, "f").skipValidation
|
|
25
|
+
? getResult.Item
|
|
26
|
+
: yield entity.schema.parseAsync(getResult.Item);
|
|
27
|
+
return {
|
|
28
|
+
item,
|
|
29
|
+
responseMetadata: getResult.$metadata,
|
|
30
|
+
consumedCapacity: getResult.ConsumedCapacity,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
item: undefined,
|
|
35
|
+
responseMetadata: getResult.$metadata,
|
|
36
|
+
consumedCapacity: getResult.ConsumedCapacity,
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
_Get_config = new WeakMap();
|
|
42
|
+
|
|
43
|
+
export { Get };
|
|
44
|
+
//# sourceMappingURL=get.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.mjs","sources":["../../src/commands/get.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;MAea,GAAG,CAAA;AAGd,IAAA,WAAA,CAAY,MAAyB,EAAA;QAFrC,WAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,WAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC;AAC7B,gBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;gBACjC,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,uBAAA,IAAI,EAAA,WAAA,EAAA,GAAA,CAAQ,CAAC,GAAG,CAAC;gBAC7C,cAAc,EAAE,MAAA,sBAAA,CAAA,IAAI,mBAAQ,CAAC,UAAU,mCAAI,KAAK;AAChD,gBAAA,sBAAsB,EAAE,sBAAA,CAAA,IAAI,EAAA,WAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;gBAChE,WAAW,EAAE,MAAA,sBAAA,CAAA,IAAI,mBAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,WAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,IAAI,SAAS,CAAC,IAAI,EAAE;AAClB,gBAAA,MAAM,IAAI,GAAG,sBAAA,CAAA,IAAI,EAAA,WAAA,EAAA,GAAA,CAAQ,CAAC;sBACrB,SAAS,CAAC;AACb,sBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;gBAElD,OAAO;oBACL,IAAI;oBACJ,gBAAgB,EAAE,SAAS,CAAC,SAAS;oBACrC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;iBAC7C;YACH;YAEA,OAAO;AACL,gBAAA,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,SAAS,CAAC,SAAS;gBACrC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;aAC7C;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var commands_get = require('./get.cjs');
|
|
4
|
+
var commands_query = require('./query.cjs');
|
|
5
|
+
var commands_scan = require('./scan.cjs');
|
|
6
|
+
var commands_projectedGet = require('./projected-get.cjs');
|
|
7
|
+
var commands_projectedQuery = require('./projected-query.cjs');
|
|
8
|
+
var commands_projectedScan = require('./projected-scan.cjs');
|
|
9
|
+
var commands_batchGet = require('./batch-get.cjs');
|
|
10
|
+
var commands_transactGet = require('./transact-get.cjs');
|
|
11
|
+
var commands_put = require('./put.cjs');
|
|
12
|
+
var commands_update = require('./update.cjs');
|
|
13
|
+
var commands_delete = require('./delete.cjs');
|
|
14
|
+
var commands_conditionalPut = require('./conditional-put.cjs');
|
|
15
|
+
var commands_conditionalUpdate = require('./conditional-update.cjs');
|
|
16
|
+
var commands_conditionalDelete = require('./conditional-delete.cjs');
|
|
17
|
+
var commands_batchWrite = require('./batch-write.cjs');
|
|
18
|
+
var commands_transactWrite = require('./transact-write.cjs');
|
|
19
|
+
var commands_conditionCheck = require('./condition-check.cjs');
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
exports.Get = commands_get.Get;
|
|
24
|
+
exports.Query = commands_query.Query;
|
|
25
|
+
exports.Scan = commands_scan.Scan;
|
|
26
|
+
exports.ProjectedGet = commands_projectedGet.ProjectedGet;
|
|
27
|
+
exports.ProjectedQuery = commands_projectedQuery.ProjectedQuery;
|
|
28
|
+
exports.ProjectedScan = commands_projectedScan.ProjectedScan;
|
|
29
|
+
exports.BatchGet = commands_batchGet.BatchGet;
|
|
30
|
+
exports.TransactGet = commands_transactGet.TransactGet;
|
|
31
|
+
exports.Put = commands_put.Put;
|
|
32
|
+
exports.Update = commands_update.Update;
|
|
33
|
+
exports.Delete = commands_delete.Delete;
|
|
34
|
+
exports.ConditionalPut = commands_conditionalPut.ConditionalPut;
|
|
35
|
+
exports.ConditionalUpdate = commands_conditionalUpdate.ConditionalUpdate;
|
|
36
|
+
exports.ConditionalDelete = commands_conditionalDelete.ConditionalDelete;
|
|
37
|
+
exports.BatchWrite = commands_batchWrite.BatchWrite;
|
|
38
|
+
exports.TransactWrite = commands_transactWrite.TransactWrite;
|
|
39
|
+
exports.ConditionCheck = commands_conditionCheck.ConditionCheck;
|
|
40
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * from './base-command';
|
|
2
|
+
export * from './get';
|
|
3
|
+
export * from './query';
|
|
4
|
+
export * from './scan';
|
|
5
|
+
export * from './projected-get';
|
|
6
|
+
export * from './projected-query';
|
|
7
|
+
export * from './projected-scan';
|
|
8
|
+
export * from './batch-get';
|
|
9
|
+
export * from './transact-get';
|
|
10
|
+
export * from './put';
|
|
11
|
+
export * from './update';
|
|
12
|
+
export * from './delete';
|
|
13
|
+
export * from './conditional-put';
|
|
14
|
+
export * from './conditional-update';
|
|
15
|
+
export * from './conditional-delete';
|
|
16
|
+
export * from './batch-write';
|
|
17
|
+
export * from './transact-write';
|
|
18
|
+
export * from './condition-check';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { Get } from './get.mjs';
|
|
2
|
+
export { Query } from './query.mjs';
|
|
3
|
+
export { Scan } from './scan.mjs';
|
|
4
|
+
export { ProjectedGet } from './projected-get.mjs';
|
|
5
|
+
export { ProjectedQuery } from './projected-query.mjs';
|
|
6
|
+
export { ProjectedScan } from './projected-scan.mjs';
|
|
7
|
+
export { BatchGet } from './batch-get.mjs';
|
|
8
|
+
export { TransactGet } from './transact-get.mjs';
|
|
9
|
+
export { Put } from './put.mjs';
|
|
10
|
+
export { Update } from './update.mjs';
|
|
11
|
+
export { Delete } from './delete.mjs';
|
|
12
|
+
export { ConditionalPut } from './conditional-put.mjs';
|
|
13
|
+
export { ConditionalUpdate } from './conditional-update.mjs';
|
|
14
|
+
export { ConditionalDelete } from './conditional-delete.mjs';
|
|
15
|
+
export { BatchWrite } from './batch-write.mjs';
|
|
16
|
+
export { TransactWrite } from './transact-write.mjs';
|
|
17
|
+
export { ConditionCheck } from './condition-check.mjs';
|
|
18
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
|
|
4
|
+
var libDynamodb = require('@aws-sdk/lib-dynamodb');
|
|
5
|
+
var projections_projectionParser = require('../projections/projection-parser.cjs');
|
|
6
|
+
|
|
7
|
+
var _ProjectedGet_config;
|
|
8
|
+
class ProjectedGet {
|
|
9
|
+
constructor(config) {
|
|
10
|
+
_ProjectedGet_config.set(this, void 0);
|
|
11
|
+
tslib_es6.__classPrivateFieldSet(this, _ProjectedGet_config, config, "f");
|
|
12
|
+
}
|
|
13
|
+
execute(entity) {
|
|
14
|
+
return tslib_es6.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
const { projectionExpression, attributeExpressionMap } = projections_projectionParser.parseProjection(tslib_es6.__classPrivateFieldGet(this, _ProjectedGet_config, "f").projection);
|
|
17
|
+
const getItem = new libDynamodb.GetCommand({
|
|
18
|
+
TableName: entity.table.tableName,
|
|
19
|
+
Key: entity.buildPrimaryKey(tslib_es6.__classPrivateFieldGet(this, _ProjectedGet_config, "f").key),
|
|
20
|
+
ProjectionExpression: projectionExpression,
|
|
21
|
+
ExpressionAttributeNames: attributeExpressionMap.toDynamoAttributeNames(),
|
|
22
|
+
ConsistentRead: (_a = tslib_es6.__classPrivateFieldGet(this, _ProjectedGet_config, "f").consistent) !== null && _a !== void 0 ? _a : false,
|
|
23
|
+
ReturnConsumedCapacity: tslib_es6.__classPrivateFieldGet(this, _ProjectedGet_config, "f").returnConsumedCapacity,
|
|
24
|
+
});
|
|
25
|
+
const getResult = yield entity.table.documentClient.send(getItem, {
|
|
26
|
+
abortSignal: (_b = tslib_es6.__classPrivateFieldGet(this, _ProjectedGet_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
|
|
27
|
+
requestTimeout: tslib_es6.__classPrivateFieldGet(this, _ProjectedGet_config, "f").timeoutMs,
|
|
28
|
+
});
|
|
29
|
+
if (getResult.Item) {
|
|
30
|
+
const item = tslib_es6.__classPrivateFieldGet(this, _ProjectedGet_config, "f").skipValidation
|
|
31
|
+
? getResult.Item
|
|
32
|
+
: yield tslib_es6.__classPrivateFieldGet(this, _ProjectedGet_config, "f").projectionSchema.parseAsync(getResult.Item);
|
|
33
|
+
return {
|
|
34
|
+
item,
|
|
35
|
+
responseMetadata: getResult.$metadata,
|
|
36
|
+
consumedCapacity: getResult.ConsumedCapacity,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
item: undefined,
|
|
41
|
+
responseMetadata: getResult.$metadata,
|
|
42
|
+
consumedCapacity: getResult.ConsumedCapacity,
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
_ProjectedGet_config = new WeakMap();
|
|
48
|
+
|
|
49
|
+
exports.ProjectedGet = ProjectedGet;
|
|
50
|
+
//# sourceMappingURL=projected-get.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-get.cjs","sources":["../../src/commands/projected-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","parseProjection","__classPrivateFieldGet","GetCommand"],"mappings":";;;;;;;MAqBa,YAAY,CAAA;AAKvB,IAAA,WAAA,CAAY,MAAoD,EAAA;QAFhE,oBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,oBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAClB,MAA4B,EAAA;;;AAE5B,YAAA,MAAM,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,GAAGC,4CAAe,CACtEC,gCAAA,CAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC,UAAU,CACxB;AAED,YAAA,MAAM,OAAO,GAAG,IAAIC,sBAAU,CAAC;AAC7B,gBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;gBACjC,GAAG,EAAE,MAAM,CAAC,eAAe,CAACD,iCAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC,GAAG,CAAC;AAC7C,gBAAA,oBAAoB,EAAE,oBAAoB;AAC1C,gBAAA,wBAAwB,EAAE,sBAAsB,CAAC,sBAAsB,EAAE;gBACzE,cAAc,EAAE,MAAAA,gCAAA,CAAA,IAAI,4BAAQ,CAAC,UAAU,mCAAI,KAAK;AAChD,gBAAA,sBAAsB,EAAEA,gCAAA,CAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;gBAChE,WAAW,EAAE,MAAAA,gCAAA,CAAA,IAAI,4BAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAEA,gCAAA,CAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,IAAI,SAAS,CAAC,IAAI,EAAE;AAClB,gBAAA,MAAM,IAAI,GAAGA,gCAAA,CAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC;sBACrB,SAAS,CAAC;AACb,sBAAE,MAAMA,gCAAA,CAAA,IAAI,4BAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;gBAElE,OAAO;oBACL,IAAI;oBACJ,gBAAgB,EAAE,SAAS,CAAC,SAAS;oBACrC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;iBAC7C;YACH;YAEA,OAAO;AACL,gBAAA,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,SAAS,CAAC,SAAS;gBACrC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;aAC7C;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DynamoEntity } from '@/core/entity';
|
|
2
|
+
import type { EntitySchema } from '@/core/core-types';
|
|
3
|
+
import type { GetConfig } from '@/commands/get';
|
|
4
|
+
import type { Projection } from '@/projections/projection-types';
|
|
5
|
+
import type { ZodObject } from 'zod/v4';
|
|
6
|
+
import type { BaseResult, BaseCommand } from '@/commands/base-command';
|
|
7
|
+
export type ProjectedGetConfig<Schema extends ZodObject, ProjectionSchema extends ZodObject> = GetConfig<Schema> & {
|
|
8
|
+
projection: Projection;
|
|
9
|
+
projectionSchema: ProjectionSchema;
|
|
10
|
+
};
|
|
11
|
+
export type ProjectedGetResult<ProjectionSchema extends ZodObject> = BaseResult & {
|
|
12
|
+
item: EntitySchema<ProjectionSchema> | undefined;
|
|
13
|
+
};
|
|
14
|
+
export declare class ProjectedGet<Schema extends ZodObject, ProjectionSchema extends ZodObject> implements BaseCommand<ProjectedGetResult<ProjectionSchema>, Schema> {
|
|
15
|
+
#private;
|
|
16
|
+
constructor(config: ProjectedGetConfig<Schema, ProjectionSchema>);
|
|
17
|
+
execute(entity: DynamoEntity<Schema>): Promise<ProjectedGetResult<ProjectionSchema>>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
|
|
2
|
+
import { GetCommand } from '@aws-sdk/lib-dynamodb';
|
|
3
|
+
import { parseProjection } from '../projections/projection-parser.mjs';
|
|
4
|
+
|
|
5
|
+
var _ProjectedGet_config;
|
|
6
|
+
class ProjectedGet {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
_ProjectedGet_config.set(this, void 0);
|
|
9
|
+
__classPrivateFieldSet(this, _ProjectedGet_config, config, "f");
|
|
10
|
+
}
|
|
11
|
+
execute(entity) {
|
|
12
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
const { projectionExpression, attributeExpressionMap } = parseProjection(__classPrivateFieldGet(this, _ProjectedGet_config, "f").projection);
|
|
15
|
+
const getItem = new GetCommand({
|
|
16
|
+
TableName: entity.table.tableName,
|
|
17
|
+
Key: entity.buildPrimaryKey(__classPrivateFieldGet(this, _ProjectedGet_config, "f").key),
|
|
18
|
+
ProjectionExpression: projectionExpression,
|
|
19
|
+
ExpressionAttributeNames: attributeExpressionMap.toDynamoAttributeNames(),
|
|
20
|
+
ConsistentRead: (_a = __classPrivateFieldGet(this, _ProjectedGet_config, "f").consistent) !== null && _a !== void 0 ? _a : false,
|
|
21
|
+
ReturnConsumedCapacity: __classPrivateFieldGet(this, _ProjectedGet_config, "f").returnConsumedCapacity,
|
|
22
|
+
});
|
|
23
|
+
const getResult = yield entity.table.documentClient.send(getItem, {
|
|
24
|
+
abortSignal: (_b = __classPrivateFieldGet(this, _ProjectedGet_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
|
|
25
|
+
requestTimeout: __classPrivateFieldGet(this, _ProjectedGet_config, "f").timeoutMs,
|
|
26
|
+
});
|
|
27
|
+
if (getResult.Item) {
|
|
28
|
+
const item = __classPrivateFieldGet(this, _ProjectedGet_config, "f").skipValidation
|
|
29
|
+
? getResult.Item
|
|
30
|
+
: yield __classPrivateFieldGet(this, _ProjectedGet_config, "f").projectionSchema.parseAsync(getResult.Item);
|
|
31
|
+
return {
|
|
32
|
+
item,
|
|
33
|
+
responseMetadata: getResult.$metadata,
|
|
34
|
+
consumedCapacity: getResult.ConsumedCapacity,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
item: undefined,
|
|
39
|
+
responseMetadata: getResult.$metadata,
|
|
40
|
+
consumedCapacity: getResult.ConsumedCapacity,
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
_ProjectedGet_config = new WeakMap();
|
|
46
|
+
|
|
47
|
+
export { ProjectedGet };
|
|
48
|
+
//# sourceMappingURL=projected-get.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projected-get.mjs","sources":["../../src/commands/projected-get.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;MAqBa,YAAY,CAAA;AAKvB,IAAA,WAAA,CAAY,MAAoD,EAAA;QAFhE,oBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,oBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAClB,MAA4B,EAAA;;;AAE5B,YAAA,MAAM,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,GAAG,eAAe,CACtE,sBAAA,CAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC,UAAU,CACxB;AAED,YAAA,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC;AAC7B,gBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;gBACjC,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,uBAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC,GAAG,CAAC;AAC7C,gBAAA,oBAAoB,EAAE,oBAAoB;AAC1C,gBAAA,wBAAwB,EAAE,sBAAsB,CAAC,sBAAsB,EAAE;gBACzE,cAAc,EAAE,MAAA,sBAAA,CAAA,IAAI,4BAAQ,CAAC,UAAU,mCAAI,KAAK;AAChD,gBAAA,sBAAsB,EAAE,sBAAA,CAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;gBAChE,WAAW,EAAE,MAAA,sBAAA,CAAA,IAAI,4BAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,IAAI,SAAS,CAAC,IAAI,EAAE;AAClB,gBAAA,MAAM,IAAI,GAAG,sBAAA,CAAA,IAAI,EAAA,oBAAA,EAAA,GAAA,CAAQ,CAAC;sBACrB,SAAS,CAAC;AACb,sBAAE,MAAM,sBAAA,CAAA,IAAI,4BAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;gBAElE,OAAO;oBACL,IAAI;oBACJ,gBAAgB,EAAE,SAAS,CAAC,SAAS;oBACrC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;iBAC7C;YACH;YAEA,OAAO;AACL,gBAAA,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,SAAS,CAAC,SAAS;gBACrC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;aAC7C;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
|