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,41 @@
|
|
|
1
|
+
import type { output as ZodOutput, input as ZodInput, ZodObject } from 'zod/v4';
|
|
2
|
+
import type { DynamoEntity } from '@/core/entity';
|
|
3
|
+
import type { ConditionCheck, Delete, Put, TransactWriteItem, Update } from '@aws-sdk/client-dynamodb';
|
|
4
|
+
import type { NativeAttributeValue } from '@aws-sdk/lib-dynamodb';
|
|
5
|
+
export type EntitySchema<SchemaDef extends ZodObject> = ZodOutput<SchemaDef>;
|
|
6
|
+
export type EncodedEntitySchema<SchemaDef extends ZodObject> = ZodInput<SchemaDef>;
|
|
7
|
+
export type Entity<E extends DynamoEntity<any>> = ZodOutput<E['schema']>;
|
|
8
|
+
export type EncodedEntity<E extends DynamoEntity<any>> = ZodInput<E['schema']>;
|
|
9
|
+
export type IndexName = string;
|
|
10
|
+
export type GlobalSecondaryIndexKeyName = {
|
|
11
|
+
partitionKey: string;
|
|
12
|
+
sortKey?: string;
|
|
13
|
+
};
|
|
14
|
+
export type LocalSecondaryIndexKeyName = {
|
|
15
|
+
sortKey: string;
|
|
16
|
+
};
|
|
17
|
+
export type NamedGlobalSecondaryIndexKeyNames = Record<IndexName, GlobalSecondaryIndexKeyName>;
|
|
18
|
+
export type NamedLocalSecondaryIndexKeyNames = Record<IndexName, LocalSecondaryIndexKeyName>;
|
|
19
|
+
/**
|
|
20
|
+
* A modified version of TransactWriteItem that uses NativeAttributeValue for keys and items
|
|
21
|
+
* (dynamodb-lib doesnt export this type for some reason)
|
|
22
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-lib-dynamodb/TypeAlias/TransactWriteCommandInput/
|
|
23
|
+
*/
|
|
24
|
+
export type TransactWriteOperation = Omit<TransactWriteItem, 'ConditionCheck' | 'Put' | 'Delete' | 'Update'> & {
|
|
25
|
+
ConditionCheck?: (Omit<ConditionCheck, 'Key' | 'ExpressionAttributeValues'> & {
|
|
26
|
+
Key: Record<string, NativeAttributeValue> | undefined;
|
|
27
|
+
ExpressionAttributeValues?: Record<string, NativeAttributeValue> | undefined;
|
|
28
|
+
}) | undefined;
|
|
29
|
+
Put?: (Omit<Put, 'Item' | 'ExpressionAttributeValues'> & {
|
|
30
|
+
Item: Record<string, NativeAttributeValue> | undefined;
|
|
31
|
+
ExpressionAttributeValues?: Record<string, NativeAttributeValue> | undefined;
|
|
32
|
+
}) | undefined;
|
|
33
|
+
Delete?: (Omit<Delete, 'Key' | 'ExpressionAttributeValues'> & {
|
|
34
|
+
Key: Record<string, NativeAttributeValue> | undefined;
|
|
35
|
+
ExpressionAttributeValues?: Record<string, NativeAttributeValue> | undefined;
|
|
36
|
+
}) | undefined;
|
|
37
|
+
Update?: (Omit<Update, 'Key' | 'ExpressionAttributeValues'> & {
|
|
38
|
+
Key: Record<string, NativeAttributeValue> | undefined;
|
|
39
|
+
ExpressionAttributeValues?: Record<string, NativeAttributeValue> | undefined;
|
|
40
|
+
}) | undefined;
|
|
41
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-types.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
|
|
4
|
+
var errors = require('../errors.cjs');
|
|
5
|
+
|
|
6
|
+
var _DynamoEntity_table, _DynamoEntity_schema, _DynamoEntity_pk, _DynamoEntity_sk, _DynamoEntity_gsi, _DynamoEntity_lsi;
|
|
7
|
+
class DynamoEntity {
|
|
8
|
+
constructor(config) {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
_DynamoEntity_table.set(this, void 0);
|
|
11
|
+
_DynamoEntity_schema.set(this, void 0);
|
|
12
|
+
_DynamoEntity_pk.set(this, void 0);
|
|
13
|
+
_DynamoEntity_sk.set(this, void 0);
|
|
14
|
+
_DynamoEntity_gsi.set(this, void 0);
|
|
15
|
+
_DynamoEntity_lsi.set(this, void 0);
|
|
16
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoEntity_table, config.table, "f");
|
|
17
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoEntity_schema, config.schema, "f");
|
|
18
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoEntity_pk, config.partitionKey, "f");
|
|
19
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoEntity_sk, config.sortKey, "f");
|
|
20
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoEntity_gsi, (_a = config.globalSecondaryIndexes) !== null && _a !== void 0 ? _a : {}, "f");
|
|
21
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoEntity_lsi, (_b = config.localSecondaryIndexes) !== null && _b !== void 0 ? _b : {}, "f");
|
|
22
|
+
}
|
|
23
|
+
get table() {
|
|
24
|
+
return tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_table, "f");
|
|
25
|
+
}
|
|
26
|
+
get schema() {
|
|
27
|
+
return tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_schema, "f");
|
|
28
|
+
}
|
|
29
|
+
get secondaryIndexKeyBuilders() {
|
|
30
|
+
return {
|
|
31
|
+
gsi: tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_gsi, "f"),
|
|
32
|
+
lsi: tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_lsi, "f"),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
buildPartitionKey(item) {
|
|
36
|
+
var _a;
|
|
37
|
+
return (_a = tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_pk, "f")) === null || _a === void 0 ? void 0 : _a.call(this, item);
|
|
38
|
+
}
|
|
39
|
+
buildSortKey(item) {
|
|
40
|
+
var _a;
|
|
41
|
+
return (_a = tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_sk, "f")) === null || _a === void 0 ? void 0 : _a.call(this, item);
|
|
42
|
+
}
|
|
43
|
+
buildPrimaryKey(item) {
|
|
44
|
+
if (!tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_pk, "f") && !tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_sk, "f")) {
|
|
45
|
+
return item;
|
|
46
|
+
}
|
|
47
|
+
const key = {};
|
|
48
|
+
if (tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_pk, "f")) {
|
|
49
|
+
const pk = this.buildPartitionKey(item);
|
|
50
|
+
if (pk !== undefined) {
|
|
51
|
+
key[this.table.partitionKeyName] = pk;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_sk, "f") && this.table.sortKeyName !== null) {
|
|
55
|
+
const sk = this.buildSortKey(item);
|
|
56
|
+
if (sk !== undefined) {
|
|
57
|
+
key[this.table.sortKeyName] = sk;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return key;
|
|
61
|
+
}
|
|
62
|
+
buildGlobalSecondaryIndexKey(indexName, item) {
|
|
63
|
+
const gsiKeyBuilder = tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_gsi, "f")[indexName];
|
|
64
|
+
const gsiKeyNames = this.table.globalSecondaryIndexKeyNames[indexName];
|
|
65
|
+
if (!gsiKeyBuilder || !gsiKeyNames) {
|
|
66
|
+
return item;
|
|
67
|
+
}
|
|
68
|
+
const key = {
|
|
69
|
+
[gsiKeyNames.partitionKey]: gsiKeyBuilder.partitionKey(item),
|
|
70
|
+
};
|
|
71
|
+
if (gsiKeyBuilder.sortKey && gsiKeyNames.sortKey) {
|
|
72
|
+
key[gsiKeyNames.sortKey] = gsiKeyBuilder.sortKey(item);
|
|
73
|
+
}
|
|
74
|
+
return key;
|
|
75
|
+
}
|
|
76
|
+
buildLocalSecondaryIndexKey(indexName, item) {
|
|
77
|
+
const lsiKeyBuilder = tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_lsi, "f")[indexName];
|
|
78
|
+
const lsiKeyNames = this.table.localSecondaryIndexKeyNames[indexName];
|
|
79
|
+
if (!tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_pk, "f") || !lsiKeyBuilder || !lsiKeyNames) {
|
|
80
|
+
return item;
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
[this.table.partitionKeyName]: this.buildPartitionKey(item),
|
|
84
|
+
[lsiKeyNames.sortKey]: lsiKeyBuilder.sortKey(item),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
buildPrimaryOrIndexKey(keyInput) {
|
|
88
|
+
if ('key' in keyInput) {
|
|
89
|
+
return this.buildPrimaryKey(keyInput.key);
|
|
90
|
+
}
|
|
91
|
+
const indexInput = Object.keys(keyInput.index);
|
|
92
|
+
if (indexInput.length === 0) {
|
|
93
|
+
throw new errors.DocumentBuilderError('Index name is required to build index key');
|
|
94
|
+
}
|
|
95
|
+
else if (indexInput.length > 1) {
|
|
96
|
+
throw new errors.DocumentBuilderError('Only one index can be specified to build index key');
|
|
97
|
+
}
|
|
98
|
+
const indexName = indexInput[0];
|
|
99
|
+
if (tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_gsi, "f")[indexName]) {
|
|
100
|
+
return this.buildGlobalSecondaryIndexKey(indexName, keyInput.index[indexName]);
|
|
101
|
+
}
|
|
102
|
+
if (tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_lsi, "f")[indexName]) {
|
|
103
|
+
return this.buildLocalSecondaryIndexKey(indexName, keyInput.index[indexName]);
|
|
104
|
+
}
|
|
105
|
+
throw new errors.DocumentBuilderError(`Index "${indexName}" is not defined on entity`);
|
|
106
|
+
}
|
|
107
|
+
buildAllKeys(item) {
|
|
108
|
+
const allKeys = this.buildPrimaryKey(item);
|
|
109
|
+
for (const indexName of Object.keys(tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_gsi, "f"))) {
|
|
110
|
+
Object.assign(allKeys, this.buildGlobalSecondaryIndexKey(indexName, item));
|
|
111
|
+
}
|
|
112
|
+
for (const indexName of Object.keys(tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_lsi, "f"))) {
|
|
113
|
+
Object.assign(allKeys, this.buildLocalSecondaryIndexKey(indexName, item));
|
|
114
|
+
}
|
|
115
|
+
return allKeys;
|
|
116
|
+
}
|
|
117
|
+
send(command) {
|
|
118
|
+
return tslib_es6.__awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
return yield command.execute(this);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
paginate(paginatable) {
|
|
123
|
+
return tslib_es6.__asyncGenerator(this, arguments, function* paginate_1() {
|
|
124
|
+
var _a, e_1, _b, _c;
|
|
125
|
+
try {
|
|
126
|
+
for (var _d = true, _e = tslib_es6.__asyncValues(paginatable.executePaginated(this)), _f; _f = yield tslib_es6.__await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
127
|
+
_c = _f.value;
|
|
128
|
+
_d = false;
|
|
129
|
+
const page = _c;
|
|
130
|
+
yield yield tslib_es6.__await(page);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
134
|
+
finally {
|
|
135
|
+
try {
|
|
136
|
+
if (!_d && !_a && (_b = _e.return)) yield tslib_es6.__await(_b.call(_e));
|
|
137
|
+
}
|
|
138
|
+
finally { if (e_1) throw e_1.error; }
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
_DynamoEntity_table = new WeakMap(), _DynamoEntity_schema = new WeakMap(), _DynamoEntity_pk = new WeakMap(), _DynamoEntity_sk = new WeakMap(), _DynamoEntity_gsi = new WeakMap(), _DynamoEntity_lsi = new WeakMap();
|
|
144
|
+
|
|
145
|
+
exports.DynamoEntity = DynamoEntity;
|
|
146
|
+
//# sourceMappingURL=entity.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.cjs","sources":["../../src/core/entity.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","DocumentBuilderError","__asyncValues","__await"],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { BaseCommand, BasePaginatable } from '@/commands/base-command';
|
|
2
|
+
import type { DynamoKeyableValue, DynamoKeyBuilder, DynamoKey, GlobalSecondaryIndexKeyBuilders, LocalSecondaryIndexKeyBuilders } from '@/core/key';
|
|
3
|
+
import type { DynamoTable } from '@/core/table';
|
|
4
|
+
import type { ZodObject } from 'zod/v4';
|
|
5
|
+
import type { EntitySchema, IndexName } from '@/core/core-types';
|
|
6
|
+
export type DynamoEntityConfig<Schema extends ZodObject> = {
|
|
7
|
+
table: DynamoTable;
|
|
8
|
+
schema: Schema;
|
|
9
|
+
partitionKey?: DynamoKeyBuilder<EntitySchema<Schema>>;
|
|
10
|
+
sortKey?: DynamoKeyBuilder<EntitySchema<Schema>>;
|
|
11
|
+
globalSecondaryIndexes?: GlobalSecondaryIndexKeyBuilders<EntitySchema<Schema>>;
|
|
12
|
+
localSecondaryIndexes?: LocalSecondaryIndexKeyBuilders<EntitySchema<Schema>>;
|
|
13
|
+
};
|
|
14
|
+
export type EntityKeyInput<Item> = {
|
|
15
|
+
key: Partial<Item>;
|
|
16
|
+
} | {
|
|
17
|
+
index: {
|
|
18
|
+
[index: IndexName]: Partial<Item>;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export declare class DynamoEntity<Schema extends ZodObject> {
|
|
22
|
+
#private;
|
|
23
|
+
constructor(config: DynamoEntityConfig<Schema>);
|
|
24
|
+
get table(): DynamoTable;
|
|
25
|
+
get schema(): Schema;
|
|
26
|
+
get secondaryIndexKeyBuilders(): {
|
|
27
|
+
gsi: GlobalSecondaryIndexKeyBuilders<EntitySchema<Schema>>;
|
|
28
|
+
lsi: LocalSecondaryIndexKeyBuilders<EntitySchema<Schema>>;
|
|
29
|
+
};
|
|
30
|
+
buildPartitionKey(item: Partial<EntitySchema<Schema>>): DynamoKeyableValue | undefined;
|
|
31
|
+
buildSortKey(item: Partial<EntitySchema<Schema>>): DynamoKeyableValue | undefined;
|
|
32
|
+
buildPrimaryKey(item: Partial<EntitySchema<Schema>>): DynamoKey;
|
|
33
|
+
buildGlobalSecondaryIndexKey(indexName: string, item: Partial<EntitySchema<Schema>>): DynamoKey;
|
|
34
|
+
buildLocalSecondaryIndexKey(indexName: string, item: Partial<EntitySchema<Schema>>): DynamoKey;
|
|
35
|
+
buildPrimaryOrIndexKey(keyInput: EntityKeyInput<EntitySchema<Schema>>): DynamoKey;
|
|
36
|
+
buildAllKeys(item: Partial<EntitySchema<Schema>>): DynamoKey;
|
|
37
|
+
send<CommandOutput>(command: BaseCommand<CommandOutput, Schema>): Promise<CommandOutput>;
|
|
38
|
+
paginate<CommandOutput>(paginatable: BasePaginatable<CommandOutput, Schema>): AsyncGenerator<CommandOutput, void, unknown>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter, __asyncGenerator, __asyncValues, __await } from '../node_modules/tslib/tslib.es6.mjs';
|
|
2
|
+
import { DocumentBuilderError } from '../errors.mjs';
|
|
3
|
+
|
|
4
|
+
var _DynamoEntity_table, _DynamoEntity_schema, _DynamoEntity_pk, _DynamoEntity_sk, _DynamoEntity_gsi, _DynamoEntity_lsi;
|
|
5
|
+
class DynamoEntity {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
_DynamoEntity_table.set(this, void 0);
|
|
9
|
+
_DynamoEntity_schema.set(this, void 0);
|
|
10
|
+
_DynamoEntity_pk.set(this, void 0);
|
|
11
|
+
_DynamoEntity_sk.set(this, void 0);
|
|
12
|
+
_DynamoEntity_gsi.set(this, void 0);
|
|
13
|
+
_DynamoEntity_lsi.set(this, void 0);
|
|
14
|
+
__classPrivateFieldSet(this, _DynamoEntity_table, config.table, "f");
|
|
15
|
+
__classPrivateFieldSet(this, _DynamoEntity_schema, config.schema, "f");
|
|
16
|
+
__classPrivateFieldSet(this, _DynamoEntity_pk, config.partitionKey, "f");
|
|
17
|
+
__classPrivateFieldSet(this, _DynamoEntity_sk, config.sortKey, "f");
|
|
18
|
+
__classPrivateFieldSet(this, _DynamoEntity_gsi, (_a = config.globalSecondaryIndexes) !== null && _a !== void 0 ? _a : {}, "f");
|
|
19
|
+
__classPrivateFieldSet(this, _DynamoEntity_lsi, (_b = config.localSecondaryIndexes) !== null && _b !== void 0 ? _b : {}, "f");
|
|
20
|
+
}
|
|
21
|
+
get table() {
|
|
22
|
+
return __classPrivateFieldGet(this, _DynamoEntity_table, "f");
|
|
23
|
+
}
|
|
24
|
+
get schema() {
|
|
25
|
+
return __classPrivateFieldGet(this, _DynamoEntity_schema, "f");
|
|
26
|
+
}
|
|
27
|
+
get secondaryIndexKeyBuilders() {
|
|
28
|
+
return {
|
|
29
|
+
gsi: __classPrivateFieldGet(this, _DynamoEntity_gsi, "f"),
|
|
30
|
+
lsi: __classPrivateFieldGet(this, _DynamoEntity_lsi, "f"),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
buildPartitionKey(item) {
|
|
34
|
+
var _a;
|
|
35
|
+
return (_a = __classPrivateFieldGet(this, _DynamoEntity_pk, "f")) === null || _a === void 0 ? void 0 : _a.call(this, item);
|
|
36
|
+
}
|
|
37
|
+
buildSortKey(item) {
|
|
38
|
+
var _a;
|
|
39
|
+
return (_a = __classPrivateFieldGet(this, _DynamoEntity_sk, "f")) === null || _a === void 0 ? void 0 : _a.call(this, item);
|
|
40
|
+
}
|
|
41
|
+
buildPrimaryKey(item) {
|
|
42
|
+
if (!__classPrivateFieldGet(this, _DynamoEntity_pk, "f") && !__classPrivateFieldGet(this, _DynamoEntity_sk, "f")) {
|
|
43
|
+
return item;
|
|
44
|
+
}
|
|
45
|
+
const key = {};
|
|
46
|
+
if (__classPrivateFieldGet(this, _DynamoEntity_pk, "f")) {
|
|
47
|
+
const pk = this.buildPartitionKey(item);
|
|
48
|
+
if (pk !== undefined) {
|
|
49
|
+
key[this.table.partitionKeyName] = pk;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (__classPrivateFieldGet(this, _DynamoEntity_sk, "f") && this.table.sortKeyName !== null) {
|
|
53
|
+
const sk = this.buildSortKey(item);
|
|
54
|
+
if (sk !== undefined) {
|
|
55
|
+
key[this.table.sortKeyName] = sk;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return key;
|
|
59
|
+
}
|
|
60
|
+
buildGlobalSecondaryIndexKey(indexName, item) {
|
|
61
|
+
const gsiKeyBuilder = __classPrivateFieldGet(this, _DynamoEntity_gsi, "f")[indexName];
|
|
62
|
+
const gsiKeyNames = this.table.globalSecondaryIndexKeyNames[indexName];
|
|
63
|
+
if (!gsiKeyBuilder || !gsiKeyNames) {
|
|
64
|
+
return item;
|
|
65
|
+
}
|
|
66
|
+
const key = {
|
|
67
|
+
[gsiKeyNames.partitionKey]: gsiKeyBuilder.partitionKey(item),
|
|
68
|
+
};
|
|
69
|
+
if (gsiKeyBuilder.sortKey && gsiKeyNames.sortKey) {
|
|
70
|
+
key[gsiKeyNames.sortKey] = gsiKeyBuilder.sortKey(item);
|
|
71
|
+
}
|
|
72
|
+
return key;
|
|
73
|
+
}
|
|
74
|
+
buildLocalSecondaryIndexKey(indexName, item) {
|
|
75
|
+
const lsiKeyBuilder = __classPrivateFieldGet(this, _DynamoEntity_lsi, "f")[indexName];
|
|
76
|
+
const lsiKeyNames = this.table.localSecondaryIndexKeyNames[indexName];
|
|
77
|
+
if (!__classPrivateFieldGet(this, _DynamoEntity_pk, "f") || !lsiKeyBuilder || !lsiKeyNames) {
|
|
78
|
+
return item;
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
[this.table.partitionKeyName]: this.buildPartitionKey(item),
|
|
82
|
+
[lsiKeyNames.sortKey]: lsiKeyBuilder.sortKey(item),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
buildPrimaryOrIndexKey(keyInput) {
|
|
86
|
+
if ('key' in keyInput) {
|
|
87
|
+
return this.buildPrimaryKey(keyInput.key);
|
|
88
|
+
}
|
|
89
|
+
const indexInput = Object.keys(keyInput.index);
|
|
90
|
+
if (indexInput.length === 0) {
|
|
91
|
+
throw new DocumentBuilderError('Index name is required to build index key');
|
|
92
|
+
}
|
|
93
|
+
else if (indexInput.length > 1) {
|
|
94
|
+
throw new DocumentBuilderError('Only one index can be specified to build index key');
|
|
95
|
+
}
|
|
96
|
+
const indexName = indexInput[0];
|
|
97
|
+
if (__classPrivateFieldGet(this, _DynamoEntity_gsi, "f")[indexName]) {
|
|
98
|
+
return this.buildGlobalSecondaryIndexKey(indexName, keyInput.index[indexName]);
|
|
99
|
+
}
|
|
100
|
+
if (__classPrivateFieldGet(this, _DynamoEntity_lsi, "f")[indexName]) {
|
|
101
|
+
return this.buildLocalSecondaryIndexKey(indexName, keyInput.index[indexName]);
|
|
102
|
+
}
|
|
103
|
+
throw new DocumentBuilderError(`Index "${indexName}" is not defined on entity`);
|
|
104
|
+
}
|
|
105
|
+
buildAllKeys(item) {
|
|
106
|
+
const allKeys = this.buildPrimaryKey(item);
|
|
107
|
+
for (const indexName of Object.keys(__classPrivateFieldGet(this, _DynamoEntity_gsi, "f"))) {
|
|
108
|
+
Object.assign(allKeys, this.buildGlobalSecondaryIndexKey(indexName, item));
|
|
109
|
+
}
|
|
110
|
+
for (const indexName of Object.keys(__classPrivateFieldGet(this, _DynamoEntity_lsi, "f"))) {
|
|
111
|
+
Object.assign(allKeys, this.buildLocalSecondaryIndexKey(indexName, item));
|
|
112
|
+
}
|
|
113
|
+
return allKeys;
|
|
114
|
+
}
|
|
115
|
+
send(command) {
|
|
116
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
return yield command.execute(this);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
paginate(paginatable) {
|
|
121
|
+
return __asyncGenerator(this, arguments, function* paginate_1() {
|
|
122
|
+
var _a, e_1, _b, _c;
|
|
123
|
+
try {
|
|
124
|
+
for (var _d = true, _e = __asyncValues(paginatable.executePaginated(this)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
|
|
125
|
+
_c = _f.value;
|
|
126
|
+
_d = false;
|
|
127
|
+
const page = _c;
|
|
128
|
+
yield yield __await(page);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
132
|
+
finally {
|
|
133
|
+
try {
|
|
134
|
+
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
135
|
+
}
|
|
136
|
+
finally { if (e_1) throw e_1.error; }
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
_DynamoEntity_table = new WeakMap(), _DynamoEntity_schema = new WeakMap(), _DynamoEntity_pk = new WeakMap(), _DynamoEntity_sk = new WeakMap(), _DynamoEntity_gsi = new WeakMap(), _DynamoEntity_lsi = new WeakMap();
|
|
142
|
+
|
|
143
|
+
export { DynamoEntity };
|
|
144
|
+
//# sourceMappingURL=entity.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.mjs","sources":["../../src/core/entity.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var core_entity = require('./entity.cjs');
|
|
4
|
+
var core_key = require('./key.cjs');
|
|
5
|
+
var core_table = require('./table.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.DynamoEntity = core_entity.DynamoEntity;
|
|
10
|
+
exports.key = core_key.key;
|
|
11
|
+
exports.DynamoTable = core_table.DynamoTable;
|
|
12
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key.cjs","sources":["../../src/core/key.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAsBM,SAAU,GAAG,CAAC,GAAG,KAA2B,EAAA;AAChD,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;AACxB;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IndexName } from './core-types';
|
|
2
|
+
export type DynamoKeyableValue = string | number | Buffer;
|
|
3
|
+
export type DynamoKeyBuilder<Item> = (item: Item) => DynamoKeyableValue;
|
|
4
|
+
export type GlobalSecondaryIndexKeyBuilders<Item> = Record<IndexName, {
|
|
5
|
+
partitionKey: DynamoKeyBuilder<Item>;
|
|
6
|
+
sortKey?: DynamoKeyBuilder<Item>;
|
|
7
|
+
}>;
|
|
8
|
+
export type LocalSecondaryIndexKeyBuilders<Item> = Record<IndexName, {
|
|
9
|
+
sortKey: DynamoKeyBuilder<Item>;
|
|
10
|
+
}>;
|
|
11
|
+
export type DynamoKey = Record<string, DynamoKeyableValue>;
|
|
12
|
+
export declare function key(...parts: DynamoKeyableValue[]): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key.mjs","sources":["../../src/core/key.ts"],"sourcesContent":[null],"names":[],"mappings":"AAsBM,SAAU,GAAG,CAAC,GAAG,KAA2B,EAAA;AAChD,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;AACxB;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
|
|
4
|
+
|
|
5
|
+
var _DynamoTable_tableName, _DynamoTable_documentClient, _DynamoTable_pk, _DynamoTable_sk, _DynamoTable_gsi, _DynamoTable_lsi;
|
|
6
|
+
class DynamoTable {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
9
|
+
_DynamoTable_tableName.set(this, void 0);
|
|
10
|
+
_DynamoTable_documentClient.set(this, void 0);
|
|
11
|
+
_DynamoTable_pk.set(this, void 0);
|
|
12
|
+
_DynamoTable_sk.set(this, void 0);
|
|
13
|
+
_DynamoTable_gsi.set(this, void 0);
|
|
14
|
+
_DynamoTable_lsi.set(this, void 0);
|
|
15
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoTable_tableName, config.tableName, "f");
|
|
16
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoTable_documentClient, config.documentClient, "f");
|
|
17
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoTable_pk, (_b = (_a = config.keyNames) === null || _a === void 0 ? void 0 : _a.partitionKey) !== null && _b !== void 0 ? _b : 'PK', "f");
|
|
18
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoTable_sk, (_d = (_c = config.keyNames) === null || _c === void 0 ? void 0 : _c.sortKey) !== null && _d !== void 0 ? _d : 'SK', "f");
|
|
19
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoTable_gsi, (_f = (_e = config.keyNames) === null || _e === void 0 ? void 0 : _e.globalSecondaryIndexes) !== null && _f !== void 0 ? _f : {}, "f");
|
|
20
|
+
tslib_es6.__classPrivateFieldSet(this, _DynamoTable_lsi, (_h = (_g = config.keyNames) === null || _g === void 0 ? void 0 : _g.localSecondaryIndexes) !== null && _h !== void 0 ? _h : {}, "f");
|
|
21
|
+
}
|
|
22
|
+
get tableName() {
|
|
23
|
+
return tslib_es6.__classPrivateFieldGet(this, _DynamoTable_tableName, "f");
|
|
24
|
+
}
|
|
25
|
+
get documentClient() {
|
|
26
|
+
return tslib_es6.__classPrivateFieldGet(this, _DynamoTable_documentClient, "f");
|
|
27
|
+
}
|
|
28
|
+
get partitionKeyName() {
|
|
29
|
+
return tslib_es6.__classPrivateFieldGet(this, _DynamoTable_pk, "f");
|
|
30
|
+
}
|
|
31
|
+
get sortKeyName() {
|
|
32
|
+
return tslib_es6.__classPrivateFieldGet(this, _DynamoTable_sk, "f");
|
|
33
|
+
}
|
|
34
|
+
get globalSecondaryIndexKeyNames() {
|
|
35
|
+
return tslib_es6.__classPrivateFieldGet(this, _DynamoTable_gsi, "f");
|
|
36
|
+
}
|
|
37
|
+
get localSecondaryIndexKeyNames() {
|
|
38
|
+
return tslib_es6.__classPrivateFieldGet(this, _DynamoTable_lsi, "f");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
_DynamoTable_tableName = new WeakMap(), _DynamoTable_documentClient = new WeakMap(), _DynamoTable_pk = new WeakMap(), _DynamoTable_sk = new WeakMap(), _DynamoTable_gsi = new WeakMap(), _DynamoTable_lsi = new WeakMap();
|
|
42
|
+
|
|
43
|
+
exports.DynamoTable = DynamoTable;
|
|
44
|
+
//# sourceMappingURL=table.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.cjs","sources":["../../src/core/table.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet"],"mappings":";;;;;MAiBa,WAAW,CAAA;AAUtB,IAAA,WAAA,CAAY,MAAyB,EAAA;;QATrC,sBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QACA,2BAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QAEA,eAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QACA,eAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QAEA,gBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QACA,gBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,sBAAA,EAAc,MAAM,CAAC,SAAS,MAAA;AAClC,QAAAA,gCAAA,CAAA,IAAI,EAAA,2BAAA,EAAmB,MAAM,CAAC,cAAc,MAAA;AAC5C,QAAAA,gCAAA,CAAA,IAAI,EAAA,eAAA,EAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,EAAA,GAAA,CAAA;AAChD,QAAAA,gCAAA,CAAA,IAAI,EAAA,eAAA,EAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,EAAA,GAAA,CAAA;AAC3C,QAAAA,gCAAA,CAAA,IAAI,EAAA,gBAAA,EAAQ,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE,EAAA,GAAA,CAAA;AACzD,QAAAA,gCAAA,CAAA,IAAI,EAAA,gBAAA,EAAQ,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE,EAAA,GAAA,CAAA;IAC1D;AAEA,IAAA,IAAW,SAAS,GAAA;QAClB,OAAOC,gCAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,CAAW;IACxB;AAEA,IAAA,IAAW,cAAc,GAAA;QACvB,OAAOA,gCAAA,CAAA,IAAI,EAAA,2BAAA,EAAA,GAAA,CAAgB;IAC7B;AAEA,IAAA,IAAW,gBAAgB,GAAA;QACzB,OAAOA,gCAAA,CAAA,IAAI,EAAA,eAAA,EAAA,GAAA,CAAI;IACjB;AAEA,IAAA,IAAW,WAAW,GAAA;QACpB,OAAOA,gCAAA,CAAA,IAAI,EAAA,eAAA,EAAA,GAAA,CAAI;IACjB;AAEA,IAAA,IAAW,4BAA4B,GAAA;QACrC,OAAOA,gCAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAK;IAClB;AAEA,IAAA,IAAW,2BAA2B,GAAA;QACpC,OAAOA,gCAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAK;IAClB;AACD;;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
2
|
+
import type { NamedGlobalSecondaryIndexKeyNames, NamedLocalSecondaryIndexKeyNames } from '@/core/core-types';
|
|
3
|
+
export type DynamoTableConfig = {
|
|
4
|
+
tableName: string;
|
|
5
|
+
documentClient: DynamoDBDocumentClient;
|
|
6
|
+
keyNames?: {
|
|
7
|
+
partitionKey: string;
|
|
8
|
+
sortKey?: string | null;
|
|
9
|
+
globalSecondaryIndexes?: NamedGlobalSecondaryIndexKeyNames;
|
|
10
|
+
localSecondaryIndexes?: NamedLocalSecondaryIndexKeyNames;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export declare class DynamoTable {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(config: DynamoTableConfig);
|
|
16
|
+
get tableName(): string;
|
|
17
|
+
get documentClient(): DynamoDBDocumentClient;
|
|
18
|
+
get partitionKeyName(): string;
|
|
19
|
+
get sortKeyName(): string | null;
|
|
20
|
+
get globalSecondaryIndexKeyNames(): NamedGlobalSecondaryIndexKeyNames;
|
|
21
|
+
get localSecondaryIndexKeyNames(): NamedLocalSecondaryIndexKeyNames;
|
|
22
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
|
|
2
|
+
|
|
3
|
+
var _DynamoTable_tableName, _DynamoTable_documentClient, _DynamoTable_pk, _DynamoTable_sk, _DynamoTable_gsi, _DynamoTable_lsi;
|
|
4
|
+
class DynamoTable {
|
|
5
|
+
constructor(config) {
|
|
6
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
7
|
+
_DynamoTable_tableName.set(this, void 0);
|
|
8
|
+
_DynamoTable_documentClient.set(this, void 0);
|
|
9
|
+
_DynamoTable_pk.set(this, void 0);
|
|
10
|
+
_DynamoTable_sk.set(this, void 0);
|
|
11
|
+
_DynamoTable_gsi.set(this, void 0);
|
|
12
|
+
_DynamoTable_lsi.set(this, void 0);
|
|
13
|
+
__classPrivateFieldSet(this, _DynamoTable_tableName, config.tableName, "f");
|
|
14
|
+
__classPrivateFieldSet(this, _DynamoTable_documentClient, config.documentClient, "f");
|
|
15
|
+
__classPrivateFieldSet(this, _DynamoTable_pk, (_b = (_a = config.keyNames) === null || _a === void 0 ? void 0 : _a.partitionKey) !== null && _b !== void 0 ? _b : 'PK', "f");
|
|
16
|
+
__classPrivateFieldSet(this, _DynamoTable_sk, (_d = (_c = config.keyNames) === null || _c === void 0 ? void 0 : _c.sortKey) !== null && _d !== void 0 ? _d : 'SK', "f");
|
|
17
|
+
__classPrivateFieldSet(this, _DynamoTable_gsi, (_f = (_e = config.keyNames) === null || _e === void 0 ? void 0 : _e.globalSecondaryIndexes) !== null && _f !== void 0 ? _f : {}, "f");
|
|
18
|
+
__classPrivateFieldSet(this, _DynamoTable_lsi, (_h = (_g = config.keyNames) === null || _g === void 0 ? void 0 : _g.localSecondaryIndexes) !== null && _h !== void 0 ? _h : {}, "f");
|
|
19
|
+
}
|
|
20
|
+
get tableName() {
|
|
21
|
+
return __classPrivateFieldGet(this, _DynamoTable_tableName, "f");
|
|
22
|
+
}
|
|
23
|
+
get documentClient() {
|
|
24
|
+
return __classPrivateFieldGet(this, _DynamoTable_documentClient, "f");
|
|
25
|
+
}
|
|
26
|
+
get partitionKeyName() {
|
|
27
|
+
return __classPrivateFieldGet(this, _DynamoTable_pk, "f");
|
|
28
|
+
}
|
|
29
|
+
get sortKeyName() {
|
|
30
|
+
return __classPrivateFieldGet(this, _DynamoTable_sk, "f");
|
|
31
|
+
}
|
|
32
|
+
get globalSecondaryIndexKeyNames() {
|
|
33
|
+
return __classPrivateFieldGet(this, _DynamoTable_gsi, "f");
|
|
34
|
+
}
|
|
35
|
+
get localSecondaryIndexKeyNames() {
|
|
36
|
+
return __classPrivateFieldGet(this, _DynamoTable_lsi, "f");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
_DynamoTable_tableName = new WeakMap(), _DynamoTable_documentClient = new WeakMap(), _DynamoTable_pk = new WeakMap(), _DynamoTable_sk = new WeakMap(), _DynamoTable_gsi = new WeakMap(), _DynamoTable_lsi = new WeakMap();
|
|
40
|
+
|
|
41
|
+
export { DynamoTable };
|
|
42
|
+
//# sourceMappingURL=table.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.mjs","sources":["../../src/core/table.ts"],"sourcesContent":[null],"names":[],"mappings":";;;MAiBa,WAAW,CAAA;AAUtB,IAAA,WAAA,CAAY,MAAyB,EAAA;;QATrC,sBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QACA,2BAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QAEA,eAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QACA,eAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QAEA,gBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QACA,gBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,sBAAA,EAAc,MAAM,CAAC,SAAS,MAAA;AAClC,QAAA,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAmB,MAAM,CAAC,cAAc,MAAA;AAC5C,QAAA,sBAAA,CAAA,IAAI,EAAA,eAAA,EAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,EAAA,GAAA,CAAA;AAChD,QAAA,sBAAA,CAAA,IAAI,EAAA,eAAA,EAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,EAAA,GAAA,CAAA;AAC3C,QAAA,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAQ,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE,EAAA,GAAA,CAAA;AACzD,QAAA,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAQ,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE,EAAA,GAAA,CAAA;IAC1D;AAEA,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,sBAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,CAAW;IACxB;AAEA,IAAA,IAAW,cAAc,GAAA;QACvB,OAAO,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAA,GAAA,CAAgB;IAC7B;AAEA,IAAA,IAAW,gBAAgB,GAAA;QACzB,OAAO,sBAAA,CAAA,IAAI,EAAA,eAAA,EAAA,GAAA,CAAI;IACjB;AAEA,IAAA,IAAW,WAAW,GAAA;QACpB,OAAO,sBAAA,CAAA,IAAI,EAAA,eAAA,EAAA,GAAA,CAAI;IACjB;AAEA,IAAA,IAAW,4BAA4B,GAAA;QACrC,OAAO,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAK;IAClB;AAEA,IAAA,IAAW,2BAA2B,GAAA;QACpC,OAAO,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAK;IAClB;AACD;;;;;"}
|
package/dist/errors.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.cjs","sources":["../src/errors.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAM,MAAO,oBAAqB,SAAQ,KAAK,CAAA;AAAG;;;;"}
|
package/dist/errors.d.ts
ADDED
package/dist/errors.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.mjs","sources":["../src/errors.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,MAAO,oBAAqB,SAAQ,KAAK,CAAA;AAAG;;;;"}
|