dynamo-document-builder 0.4.0 → 0.6.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.
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
4
+ var internalConstants = require('../internal-constants.cjs');
5
+ var libDynamodb = require('@aws-sdk/lib-dynamodb');
6
+ var projections_projectionParser = require('../projections/projection-parser.cjs');
7
+ var pMap = require('p-map');
8
+
9
+ var _BatchProjectedGet_config;
10
+ class BatchProjectedGet {
11
+ constructor(config) {
12
+ _BatchProjectedGet_config.set(this, void 0);
13
+ tslib_es6.__classPrivateFieldSet(this, _BatchProjectedGet_config, config, "f");
14
+ }
15
+ execute(entity) {
16
+ return tslib_es6.__awaiter(this, void 0, void 0, function* () {
17
+ var _a, _b, _c, _d, _e, _f, _g, _h;
18
+ const { projectionExpression, attributeExpressionMap } = projections_projectionParser.parseProjection(tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").projection);
19
+ const batchGet = new libDynamodb.BatchGetCommand({
20
+ RequestItems: {
21
+ [entity.table.tableName]: {
22
+ Keys: tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").keys.map(key => entity.buildPrimaryKey(key)),
23
+ ConsistentRead: (_a = tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").consistent) !== null && _a !== void 0 ? _a : false,
24
+ ProjectionExpression: projectionExpression,
25
+ ExpressionAttributeNames: attributeExpressionMap.toDynamoAttributeNames(),
26
+ },
27
+ },
28
+ ReturnConsumedCapacity: tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").returnConsumedCapacity,
29
+ });
30
+ const batchGetResult = yield entity.table.documentClient.send(batchGet, {
31
+ abortSignal: (_b = tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
32
+ requestTimeout: tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").timeoutMs,
33
+ });
34
+ const rawItems = (_d = (_c = batchGetResult.Responses) === null || _c === void 0 ? void 0 : _c[entity.table.tableName]) !== null && _d !== void 0 ? _d : [];
35
+ let items = [];
36
+ if (rawItems.length > 0) {
37
+ if (tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").skipValidation) {
38
+ items = rawItems;
39
+ }
40
+ else {
41
+ items = yield pMap(rawItems, item => tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").projectionSchema.parseAsync(item), {
42
+ concurrency: internalConstants.BATCH_GET_VALIDATION_CONCURRENCY,
43
+ signal: (_e = tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").abortController) === null || _e === void 0 ? void 0 : _e.signal,
44
+ });
45
+ }
46
+ }
47
+ return {
48
+ items,
49
+ unprocessedKeys: (_g = (_f = batchGetResult.UnprocessedKeys) === null || _f === void 0 ? void 0 : _f[entity.table.tableName]) === null || _g === void 0 ? void 0 : _g.Keys,
50
+ responseMetadata: batchGetResult.$metadata,
51
+ consumedCapacity: (_h = batchGetResult.ConsumedCapacity) === null || _h === void 0 ? void 0 : _h[0],
52
+ };
53
+ });
54
+ }
55
+ }
56
+ _BatchProjectedGet_config = new WeakMap();
57
+
58
+ exports.BatchProjectedGet = BatchProjectedGet;
59
+ //# sourceMappingURL=batch-projected-get.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-projected-get.cjs","sources":["../../src/commands/batch-projected-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","parseProjection","__classPrivateFieldGet","BatchGetCommand","BATCH_GET_VALIDATION_CONCURRENCY"],"mappings":";;;;;;;;;MAyBa,iBAAiB,CAAA;AAK5B,IAAA,WAAA,CAAY,MAAyD,EAAA;QAFrE,yBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,yBAAA,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,yBAAA,EAAA,GAAA,CAAQ,CAAC,UAAU,CACxB;AAED,YAAA,MAAM,QAAQ,GAAG,IAAIC,2BAAe,CAAC;AACnC,gBAAA,YAAY,EAAE;AACZ,oBAAA,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG;AACxB,wBAAA,IAAI,EAAED,gCAAA,CAAA,IAAI,iCAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC/D,cAAc,EAAE,MAAAA,gCAAA,CAAA,IAAI,iCAAQ,CAAC,UAAU,mCAAI,KAAK;AAChD,wBAAA,oBAAoB,EAAE,oBAAoB;AAC1C,wBAAA,wBAAwB,EAAE,sBAAsB,CAAC,sBAAsB,EAAE;AAC1E,qBAAA;AACF,iBAAA;AACD,gBAAA,sBAAsB,EAAEA,gCAAA,CAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtE,WAAW,EAAE,MAAAA,gCAAA,CAAA,IAAI,iCAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAEA,gCAAA,CAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YACzE,IAAI,KAAK,GAA0C,EAAE;AAErD,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAIA,iCAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;oBAC/B,KAAK,GAAG,QAAiD;gBAC3D;qBAAO;oBACL,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAIA,iCAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnF,wBAAA,WAAW,EAAEE,kDAAgC;wBAC7C,MAAM,EAAE,MAAAF,gCAAA,CAAA,IAAI,iCAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,qBAAA,CAAC;gBACJ;YACF;YAEA,OAAO;gBACL,KAAK;AACL,gBAAA,eAAe,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,0CAAE,IAE9D;gBACb,gBAAgB,EAAE,cAAc,CAAC,SAAS;AAC1C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,cAAc,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aACvD;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
@@ -0,0 +1,24 @@
1
+ import { BaseConfig, BaseResult, BaseCommand } from './base-command.js';
2
+ import { DynamoEntity } from '../core/entity.js';
3
+ import { EntitySchema } from '../core/core-types.js';
4
+ import { Projection } from '../projections/projection-types.js';
5
+ import { ZodObject } from 'zod/v4';
6
+
7
+ type BatchProjectedGetConfig<Schema extends ZodObject, ProjectionSchema extends ZodObject> = BaseConfig & {
8
+ keys: Array<Partial<EntitySchema<Schema>>>;
9
+ consistent?: boolean;
10
+ projection: Projection;
11
+ projectionSchema: ProjectionSchema;
12
+ };
13
+ type BatchProjectedGetResult<ProjectionSchema extends ZodObject> = BaseResult & {
14
+ items: Array<EntitySchema<ProjectionSchema>>;
15
+ unprocessedKeys?: Array<Partial<EntitySchema<ProjectionSchema>>>;
16
+ };
17
+ declare class BatchProjectedGet<Schema extends ZodObject, ProjectionSchema extends ZodObject> implements BaseCommand<BatchProjectedGetResult<ProjectionSchema>, Schema> {
18
+ #private;
19
+ constructor(config: BatchProjectedGetConfig<Schema, ProjectionSchema>);
20
+ execute(entity: DynamoEntity<Schema>): Promise<BatchProjectedGetResult<ProjectionSchema>>;
21
+ }
22
+
23
+ export { BatchProjectedGet };
24
+ export type { BatchProjectedGetConfig, BatchProjectedGetResult };
@@ -0,0 +1,57 @@
1
+ import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
2
+ import { BATCH_GET_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
3
+ import { BatchGetCommand } from '@aws-sdk/lib-dynamodb';
4
+ import { parseProjection } from '../projections/projection-parser.mjs';
5
+ import pMap from 'p-map';
6
+
7
+ var _BatchProjectedGet_config;
8
+ class BatchProjectedGet {
9
+ constructor(config) {
10
+ _BatchProjectedGet_config.set(this, void 0);
11
+ __classPrivateFieldSet(this, _BatchProjectedGet_config, config, "f");
12
+ }
13
+ execute(entity) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ var _a, _b, _c, _d, _e, _f, _g, _h;
16
+ const { projectionExpression, attributeExpressionMap } = parseProjection(__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").projection);
17
+ const batchGet = new BatchGetCommand({
18
+ RequestItems: {
19
+ [entity.table.tableName]: {
20
+ Keys: __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").keys.map(key => entity.buildPrimaryKey(key)),
21
+ ConsistentRead: (_a = __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").consistent) !== null && _a !== void 0 ? _a : false,
22
+ ProjectionExpression: projectionExpression,
23
+ ExpressionAttributeNames: attributeExpressionMap.toDynamoAttributeNames(),
24
+ },
25
+ },
26
+ ReturnConsumedCapacity: __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").returnConsumedCapacity,
27
+ });
28
+ const batchGetResult = yield entity.table.documentClient.send(batchGet, {
29
+ abortSignal: (_b = __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
30
+ requestTimeout: __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").timeoutMs,
31
+ });
32
+ const rawItems = (_d = (_c = batchGetResult.Responses) === null || _c === void 0 ? void 0 : _c[entity.table.tableName]) !== null && _d !== void 0 ? _d : [];
33
+ let items = [];
34
+ if (rawItems.length > 0) {
35
+ if (__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").skipValidation) {
36
+ items = rawItems;
37
+ }
38
+ else {
39
+ items = yield pMap(rawItems, item => __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").projectionSchema.parseAsync(item), {
40
+ concurrency: BATCH_GET_VALIDATION_CONCURRENCY,
41
+ signal: (_e = __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").abortController) === null || _e === void 0 ? void 0 : _e.signal,
42
+ });
43
+ }
44
+ }
45
+ return {
46
+ items,
47
+ unprocessedKeys: (_g = (_f = batchGetResult.UnprocessedKeys) === null || _f === void 0 ? void 0 : _f[entity.table.tableName]) === null || _g === void 0 ? void 0 : _g.Keys,
48
+ responseMetadata: batchGetResult.$metadata,
49
+ consumedCapacity: (_h = batchGetResult.ConsumedCapacity) === null || _h === void 0 ? void 0 : _h[0],
50
+ };
51
+ });
52
+ }
53
+ }
54
+ _BatchProjectedGet_config = new WeakMap();
55
+
56
+ export { BatchProjectedGet };
57
+ //# sourceMappingURL=batch-projected-get.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-projected-get.mjs","sources":["../../src/commands/batch-projected-get.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ var commands_projectedGet = require('./projected-get.cjs');
7
7
  var commands_projectedQuery = require('./projected-query.cjs');
8
8
  var commands_projectedScan = require('./projected-scan.cjs');
9
9
  var commands_batchGet = require('./batch-get.cjs');
10
+ var commands_batchProjectedGet = require('./batch-projected-get.cjs');
10
11
  var commands_transactGet = require('./transact-get.cjs');
11
12
  var commands_put = require('./put.cjs');
12
13
  var commands_update = require('./update.cjs');
@@ -27,6 +28,7 @@ exports.ProjectedGet = commands_projectedGet.ProjectedGet;
27
28
  exports.ProjectedQuery = commands_projectedQuery.ProjectedQuery;
28
29
  exports.ProjectedScan = commands_projectedScan.ProjectedScan;
29
30
  exports.BatchGet = commands_batchGet.BatchGet;
31
+ exports.BatchProjectedGet = commands_batchProjectedGet.BatchProjectedGet;
30
32
  exports.TransactGet = commands_transactGet.TransactGet;
31
33
  exports.Put = commands_put.Put;
32
34
  exports.Update = commands_update.Update;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6,6 +6,7 @@ export { ProjectedGet, ProjectedGetConfig, ProjectedGetResult } from './projecte
6
6
  export { ProjectedQuery, ProjectedQueryConfig, ProjectedQueryResult } from './projected-query.js';
7
7
  export { ProjectedScan, ProjectedScanConfig, ProjectedScanResult } from './projected-scan.js';
8
8
  export { BatchGet, BatchGetConfig, BatchGetResult } from './batch-get.js';
9
+ export { BatchProjectedGet, BatchProjectedGetConfig, BatchProjectedGetResult } from './batch-projected-get.js';
9
10
  export { TransactGet, TransactGetConfig, TransactGetResult } from './transact-get.js';
10
11
  export { Put, PutConfig, PutResult } from './put.js';
11
12
  export { Update, UpdateConfig, UpdateResult } from './update.js';
@@ -5,6 +5,7 @@ export { ProjectedGet } from './projected-get.mjs';
5
5
  export { ProjectedQuery } from './projected-query.mjs';
6
6
  export { ProjectedScan } from './projected-scan.mjs';
7
7
  export { BatchGet } from './batch-get.mjs';
8
+ export { BatchProjectedGet } from './batch-projected-get.mjs';
8
9
  export { TransactGet } from './transact-get.mjs';
9
10
  export { Put } from './put.mjs';
10
11
  export { Update } from './update.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -65,11 +65,21 @@ class DynamoEntity {
65
65
  if (!gsiKeyBuilder || !gsiKeyNames) {
66
66
  return item;
67
67
  }
68
- const key = {
69
- [gsiKeyNames.partitionKey]: gsiKeyBuilder.partitionKey(item),
70
- };
68
+ const key = {};
69
+ if (gsiKeyNames.partitionKey) {
70
+ const gsiPK = gsiKeyBuilder.partitionKey(item);
71
+ if (gsiPK !== undefined) {
72
+ key[gsiKeyNames.partitionKey] = gsiPK;
73
+ }
74
+ else if (gsiPK === undefined) {
75
+ return {};
76
+ }
77
+ }
71
78
  if (gsiKeyBuilder.sortKey && gsiKeyNames.sortKey) {
72
- key[gsiKeyNames.sortKey] = gsiKeyBuilder.sortKey(item);
79
+ const gsiSK = gsiKeyBuilder.sortKey(item);
80
+ if (gsiSK !== undefined) {
81
+ key[gsiKeyNames.sortKey] = gsiSK;
82
+ }
73
83
  }
74
84
  return key;
75
85
  }
@@ -79,10 +89,14 @@ class DynamoEntity {
79
89
  if (!tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_pk, "f") || !lsiKeyBuilder || !lsiKeyNames) {
80
90
  return item;
81
91
  }
82
- return {
92
+ const key = {
83
93
  [this.table.partitionKeyName]: this.buildPartitionKey(item),
84
- [lsiKeyNames.sortKey]: lsiKeyBuilder.sortKey(item),
85
94
  };
95
+ const lsiSK = lsiKeyBuilder.sortKey(item);
96
+ if (lsiSK !== undefined) {
97
+ key[lsiKeyNames.sortKey] = lsiSK;
98
+ }
99
+ return key;
86
100
  }
87
101
  buildPrimaryOrIndexKey(keyInput) {
88
102
  if ('key' in keyInput) {
@@ -1 +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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"}
1
+ {"version":3,"file":"entity.cjs","sources":["../../src/core/entity.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","DocumentBuilderError","__asyncValues","__await"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BaseCommand, BasePaginatable } from '../commands/base-command.js';
2
- import { DynamoKeyBuilder, GlobalSecondaryIndexKeyBuilders, LocalSecondaryIndexKeyBuilders, DynamoKeyableValue, DynamoKey } from './key.js';
2
+ import { DynamoKeyBuilder, GlobalSecondaryIndexKeyBuilders, LocalSecondaryIndexKeyBuilders, DynamoKeyableValue, DynamoKey, DynamoIndexKey } from './key.js';
3
3
  import { DynamoTable } from './table.js';
4
4
  import { ZodObject } from 'zod/v4';
5
5
  import { EntitySchema } from './core-types.js';
@@ -31,9 +31,9 @@ declare class DynamoEntity<Schema extends ZodObject> {
31
31
  buildPartitionKey(item: Partial<EntitySchema<Schema>>): DynamoKeyableValue | undefined;
32
32
  buildSortKey(item: Partial<EntitySchema<Schema>>): DynamoKeyableValue | undefined;
33
33
  buildPrimaryKey(item: Partial<EntitySchema<Schema>>): DynamoKey;
34
- buildGlobalSecondaryIndexKey(indexName: string, item: Partial<EntitySchema<Schema>>): DynamoKey;
35
- buildLocalSecondaryIndexKey(indexName: string, item: Partial<EntitySchema<Schema>>): DynamoKey;
36
- buildPrimaryOrIndexKey(keyInput: EntityKeyInput<EntitySchema<Schema>>): DynamoKey;
34
+ buildGlobalSecondaryIndexKey(indexName: string, item: Partial<EntitySchema<Schema>>): DynamoIndexKey;
35
+ buildLocalSecondaryIndexKey(indexName: string, item: Partial<EntitySchema<Schema>>): DynamoIndexKey;
36
+ buildPrimaryOrIndexKey(keyInput: EntityKeyInput<EntitySchema<Schema>>): DynamoKey | DynamoIndexKey;
37
37
  buildAllKeys(item: Partial<EntitySchema<Schema>>): DynamoKey;
38
38
  send<CommandOutput>(command: BaseCommand<CommandOutput, Schema>): Promise<CommandOutput>;
39
39
  paginate<CommandOutput>(paginatable: BasePaginatable<CommandOutput, Schema>): AsyncGenerator<CommandOutput, void, unknown>;
@@ -63,11 +63,21 @@ class DynamoEntity {
63
63
  if (!gsiKeyBuilder || !gsiKeyNames) {
64
64
  return item;
65
65
  }
66
- const key = {
67
- [gsiKeyNames.partitionKey]: gsiKeyBuilder.partitionKey(item),
68
- };
66
+ const key = {};
67
+ if (gsiKeyNames.partitionKey) {
68
+ const gsiPK = gsiKeyBuilder.partitionKey(item);
69
+ if (gsiPK !== undefined) {
70
+ key[gsiKeyNames.partitionKey] = gsiPK;
71
+ }
72
+ else if (gsiPK === undefined) {
73
+ return {};
74
+ }
75
+ }
69
76
  if (gsiKeyBuilder.sortKey && gsiKeyNames.sortKey) {
70
- key[gsiKeyNames.sortKey] = gsiKeyBuilder.sortKey(item);
77
+ const gsiSK = gsiKeyBuilder.sortKey(item);
78
+ if (gsiSK !== undefined) {
79
+ key[gsiKeyNames.sortKey] = gsiSK;
80
+ }
71
81
  }
72
82
  return key;
73
83
  }
@@ -77,10 +87,14 @@ class DynamoEntity {
77
87
  if (!__classPrivateFieldGet(this, _DynamoEntity_pk, "f") || !lsiKeyBuilder || !lsiKeyNames) {
78
88
  return item;
79
89
  }
80
- return {
90
+ const key = {
81
91
  [this.table.partitionKeyName]: this.buildPartitionKey(item),
82
- [lsiKeyNames.sortKey]: lsiKeyBuilder.sortKey(item),
83
92
  };
93
+ const lsiSK = lsiKeyBuilder.sortKey(item);
94
+ if (lsiSK !== undefined) {
95
+ key[lsiKeyNames.sortKey] = lsiSK;
96
+ }
97
+ return key;
84
98
  }
85
99
  buildPrimaryOrIndexKey(keyInput) {
86
100
  if ('key' in keyInput) {
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","sources":["../../src/core/entity.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.mjs","sources":["../../src/core/entity.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ var core_table = require('./table.cjs');
7
7
 
8
8
 
9
9
  exports.DynamoEntity = core_entity.DynamoEntity;
10
+ exports.indexKey = core_key.indexKey;
10
11
  exports.key = core_key.key;
11
12
  exports.DynamoTable = core_table.DynamoTable;
12
13
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
1
  export { EncodedEntity, EncodedEntitySchema, Entity, EntitySchema, GlobalSecondaryIndexKeyName, IndexName, LocalSecondaryIndexKeyName, NamedGlobalSecondaryIndexKeyNames, NamedLocalSecondaryIndexKeyNames, TransactWriteOperation } from './core-types.js';
2
2
  export { DynamoEntity, DynamoEntityConfig, EntityKeyInput } from './entity.js';
3
- export { DynamoKey, DynamoKeyBuilder, DynamoKeyableValue, GlobalSecondaryIndexKeyBuilders, LocalSecondaryIndexKeyBuilders, key } from './key.js';
3
+ export { DynamoIndexKey, DynamoIndexKeyBuilder, DynamoIndexKeyableValue, DynamoKey, DynamoKeyBuilder, DynamoKeyableValue, GlobalSecondaryIndexKeyBuilders, LocalSecondaryIndexKeyBuilders, indexKey, key } from './key.js';
4
4
  export { DynamoTable, DynamoTableConfig } from './table.js';
@@ -1,4 +1,4 @@
1
1
  export { DynamoEntity } from './entity.mjs';
2
- export { key } from './key.mjs';
2
+ export { indexKey, key } from './key.mjs';
3
3
  export { DynamoTable } from './table.mjs';
4
4
  //# sourceMappingURL=index.mjs.map
package/dist/core/key.cjs CHANGED
@@ -1,8 +1,56 @@
1
1
  'use strict';
2
2
 
3
+ var errors = require('../errors.cjs');
4
+
5
+ /**
6
+ * Builds a DynamoDB key from the given parts by concatenating them with a '#' separator.
7
+ * At least one part must be provided, or a DocumentBuilderError will be thrown.
8
+ *
9
+ * @param parts - The parts to combine into a key.
10
+ * @returns The combined key as a string.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const key1 = key('USER', 123) // 'USER#123'
15
+ * const key2 = key('METADATA') // 'METADATA'
16
+ * ```
17
+ */
3
18
  function key(...parts) {
19
+ if (!parts.length) {
20
+ throw new errors.DocumentBuilderError('At least one key part must be provided');
21
+ }
4
22
  return parts.join('#');
5
23
  }
24
+ /**
25
+ * Builds a DynamoDB key from the given parts. This function is specifically for secondary index keys,
26
+ * where any part can be undefined. If any part is undefined, the function returns undefined.
27
+ *
28
+ * For primary keys, use the `key` function instead.
29
+ *
30
+ * This is specifically useful for building keys for queries on secondary indexes, or for sparse indexes.
31
+ *
32
+ * @param parts - The parts to combine into a key.
33
+ * @returns The combined key as a string, or undefined if any part is undefined.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const key1 = indexKey('part1', 'part2', 'part3') // 'part1#part2#part3'
38
+ * const key2 = indexKey('part1', undefined, 'part3') // undefined
39
+ * const key3 = indexKey(undefined, 'part2', 'part3') // undefined
40
+ * const key4 = indexKey('part1', 'part2', undefined) // undefined
41
+ * ```
42
+ */
43
+ function indexKey(...parts) {
44
+ let key = '';
45
+ for (const part of parts) {
46
+ if (part === undefined) {
47
+ return undefined;
48
+ }
49
+ key += key ? `#${part}` : part;
50
+ }
51
+ return key;
52
+ }
6
53
 
54
+ exports.indexKey = indexKey;
7
55
  exports.key = key;
8
56
  //# sourceMappingURL=key.cjs.map
@@ -1 +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;;;;"}
1
+ {"version":3,"file":"key.cjs","sources":["../../src/core/key.ts"],"sourcesContent":[null],"names":["DocumentBuilderError"],"mappings":";;;;AA2BA;;;;;;;;;;;;AAYG;AACG,SAAU,GAAG,CAAC,GAAG,KAA2B,EAAA;AAChD,IAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACjB,QAAA,MAAM,IAAIA,2BAAoB,CAAC,wCAAwC,CAAC;IAC1E;AACA,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;AACxB;AAEA;;;;;;;;;;;;;;;;;;AAkBG;AACG,SAAU,QAAQ,CAAC,GAAG,KAAgC,EAAA;IAC1D,IAAI,GAAG,GAAW,EAAE;AACpB,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,GAAG,IAAI,GAAG,GAAG,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,GAAG,IAAI;IAChC;AACA,IAAA,OAAO,GAAG;AACZ;;;;;"}
@@ -1,16 +1,52 @@
1
1
  import { IndexName } from './core-types.js';
2
2
 
3
3
  type DynamoKeyableValue = string | number | Buffer;
4
+ type DynamoIndexKeyableValue = string | number | Buffer | undefined;
4
5
  type DynamoKeyBuilder<Item> = (item: Item) => DynamoKeyableValue;
6
+ type DynamoIndexKeyBuilder<Item> = (item: Item) => DynamoIndexKeyableValue;
5
7
  type GlobalSecondaryIndexKeyBuilders<Item> = Record<IndexName, {
6
- partitionKey: DynamoKeyBuilder<Item>;
7
- sortKey?: DynamoKeyBuilder<Item>;
8
+ partitionKey: DynamoIndexKeyBuilder<Item>;
9
+ sortKey?: DynamoIndexKeyBuilder<Item>;
8
10
  }>;
9
11
  type LocalSecondaryIndexKeyBuilders<Item> = Record<IndexName, {
10
- sortKey: DynamoKeyBuilder<Item>;
12
+ sortKey: DynamoIndexKeyBuilder<Item>;
11
13
  }>;
12
14
  type DynamoKey = Record<string, DynamoKeyableValue>;
15
+ type DynamoIndexKey = Record<string, DynamoIndexKeyableValue>;
16
+ /**
17
+ * Builds a DynamoDB key from the given parts by concatenating them with a '#' separator.
18
+ * At least one part must be provided, or a DocumentBuilderError will be thrown.
19
+ *
20
+ * @param parts - The parts to combine into a key.
21
+ * @returns The combined key as a string.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * const key1 = key('USER', 123) // 'USER#123'
26
+ * const key2 = key('METADATA') // 'METADATA'
27
+ * ```
28
+ */
13
29
  declare function key(...parts: DynamoKeyableValue[]): string;
30
+ /**
31
+ * Builds a DynamoDB key from the given parts. This function is specifically for secondary index keys,
32
+ * where any part can be undefined. If any part is undefined, the function returns undefined.
33
+ *
34
+ * For primary keys, use the `key` function instead.
35
+ *
36
+ * This is specifically useful for building keys for queries on secondary indexes, or for sparse indexes.
37
+ *
38
+ * @param parts - The parts to combine into a key.
39
+ * @returns The combined key as a string, or undefined if any part is undefined.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const key1 = indexKey('part1', 'part2', 'part3') // 'part1#part2#part3'
44
+ * const key2 = indexKey('part1', undefined, 'part3') // undefined
45
+ * const key3 = indexKey(undefined, 'part2', 'part3') // undefined
46
+ * const key4 = indexKey('part1', 'part2', undefined) // undefined
47
+ * ```
48
+ */
49
+ declare function indexKey(...parts: DynamoIndexKeyableValue[]): string | undefined;
14
50
 
15
- export { key };
16
- export type { DynamoKey, DynamoKeyBuilder, DynamoKeyableValue, GlobalSecondaryIndexKeyBuilders, LocalSecondaryIndexKeyBuilders };
51
+ export { indexKey, key };
52
+ export type { DynamoIndexKey, DynamoIndexKeyBuilder, DynamoIndexKeyableValue, DynamoKey, DynamoKeyBuilder, DynamoKeyableValue, GlobalSecondaryIndexKeyBuilders, LocalSecondaryIndexKeyBuilders };
package/dist/core/key.mjs CHANGED
@@ -1,6 +1,53 @@
1
+ import { DocumentBuilderError } from '../errors.mjs';
2
+
3
+ /**
4
+ * Builds a DynamoDB key from the given parts by concatenating them with a '#' separator.
5
+ * At least one part must be provided, or a DocumentBuilderError will be thrown.
6
+ *
7
+ * @param parts - The parts to combine into a key.
8
+ * @returns The combined key as a string.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const key1 = key('USER', 123) // 'USER#123'
13
+ * const key2 = key('METADATA') // 'METADATA'
14
+ * ```
15
+ */
1
16
  function key(...parts) {
17
+ if (!parts.length) {
18
+ throw new DocumentBuilderError('At least one key part must be provided');
19
+ }
2
20
  return parts.join('#');
3
21
  }
22
+ /**
23
+ * Builds a DynamoDB key from the given parts. This function is specifically for secondary index keys,
24
+ * where any part can be undefined. If any part is undefined, the function returns undefined.
25
+ *
26
+ * For primary keys, use the `key` function instead.
27
+ *
28
+ * This is specifically useful for building keys for queries on secondary indexes, or for sparse indexes.
29
+ *
30
+ * @param parts - The parts to combine into a key.
31
+ * @returns The combined key as a string, or undefined if any part is undefined.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const key1 = indexKey('part1', 'part2', 'part3') // 'part1#part2#part3'
36
+ * const key2 = indexKey('part1', undefined, 'part3') // undefined
37
+ * const key3 = indexKey(undefined, 'part2', 'part3') // undefined
38
+ * const key4 = indexKey('part1', 'part2', undefined) // undefined
39
+ * ```
40
+ */
41
+ function indexKey(...parts) {
42
+ let key = '';
43
+ for (const part of parts) {
44
+ if (part === undefined) {
45
+ return undefined;
46
+ }
47
+ key += key ? `#${part}` : part;
48
+ }
49
+ return key;
50
+ }
4
51
 
5
- export { key };
52
+ export { indexKey, key };
6
53
  //# sourceMappingURL=key.mjs.map
@@ -1 +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;;;;"}
1
+ {"version":3,"file":"key.mjs","sources":["../../src/core/key.ts"],"sourcesContent":[null],"names":[],"mappings":";;AA2BA;;;;;;;;;;;;AAYG;AACG,SAAU,GAAG,CAAC,GAAG,KAA2B,EAAA;AAChD,IAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACjB,QAAA,MAAM,IAAI,oBAAoB,CAAC,wCAAwC,CAAC;IAC1E;AACA,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;AACxB;AAEA;;;;;;;;;;;;;;;;;;AAkBG;AACG,SAAU,QAAQ,CAAC,GAAG,KAAgC,EAAA;IAC1D,IAAI,GAAG,GAAW,EAAE;AACpB,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,GAAG,IAAI,GAAG,GAAG,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,GAAG,IAAI;IAChC;AACA,IAAA,OAAO,GAAG;AACZ;;;;"}
package/dist/index.cjs CHANGED
@@ -8,6 +8,7 @@ var commands_projectedGet = require('./commands/projected-get.cjs');
8
8
  var commands_projectedQuery = require('./commands/projected-query.cjs');
9
9
  var commands_projectedScan = require('./commands/projected-scan.cjs');
10
10
  var commands_batchGet = require('./commands/batch-get.cjs');
11
+ var commands_batchProjectedGet = require('./commands/batch-projected-get.cjs');
11
12
  var commands_transactGet = require('./commands/transact-get.cjs');
12
13
  var commands_put = require('./commands/put.cjs');
13
14
  var commands_update = require('./commands/update.cjs');
@@ -61,6 +62,7 @@ exports.ProjectedGet = commands_projectedGet.ProjectedGet;
61
62
  exports.ProjectedQuery = commands_projectedQuery.ProjectedQuery;
62
63
  exports.ProjectedScan = commands_projectedScan.ProjectedScan;
63
64
  exports.BatchGet = commands_batchGet.BatchGet;
65
+ exports.BatchProjectedGet = commands_batchProjectedGet.BatchProjectedGet;
64
66
  exports.TransactGet = commands_transactGet.TransactGet;
65
67
  exports.Put = commands_put.Put;
66
68
  exports.Update = commands_update.Update;
@@ -90,6 +92,7 @@ exports.or = conditions_or.or;
90
92
  exports.size = conditions_size.size;
91
93
  exports.typeIs = conditions_typeIs.typeIs;
92
94
  exports.DynamoEntity = core_entity.DynamoEntity;
95
+ exports.indexKey = core_key.indexKey;
93
96
  exports.key = core_key.key;
94
97
  exports.DynamoTable = core_table.DynamoTable;
95
98
  exports.DocumentBuilderError = errors.DocumentBuilderError;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export { ProjectedGet, ProjectedGetConfig, ProjectedGetResult } from './commands
7
7
  export { ProjectedQuery, ProjectedQueryConfig, ProjectedQueryResult } from './commands/projected-query.js';
8
8
  export { ProjectedScan, ProjectedScanConfig, ProjectedScanResult } from './commands/projected-scan.js';
9
9
  export { BatchGet, BatchGetConfig, BatchGetResult } from './commands/batch-get.js';
10
+ export { BatchProjectedGet, BatchProjectedGetConfig, BatchProjectedGetResult } from './commands/batch-projected-get.js';
10
11
  export { TransactGet, TransactGetConfig, TransactGetResult } from './commands/transact-get.js';
11
12
  export { Put, PutConfig, PutResult } from './commands/put.js';
12
13
  export { Update, UpdateConfig, UpdateResult } from './commands/update.js';
@@ -38,7 +39,7 @@ export { size } from './conditions/size.js';
38
39
  export { typeIs } from './conditions/type-is.js';
39
40
  export { EncodedEntity, EncodedEntitySchema, Entity, EntitySchema, GlobalSecondaryIndexKeyName, IndexName, LocalSecondaryIndexKeyName, NamedGlobalSecondaryIndexKeyNames, NamedLocalSecondaryIndexKeyNames, TransactWriteOperation } from './core/core-types.js';
40
41
  export { DynamoEntity, DynamoEntityConfig, EntityKeyInput } from './core/entity.js';
41
- export { DynamoKey, DynamoKeyBuilder, DynamoKeyableValue, GlobalSecondaryIndexKeyBuilders, LocalSecondaryIndexKeyBuilders, key } from './core/key.js';
42
+ export { DynamoIndexKey, DynamoIndexKeyBuilder, DynamoIndexKeyableValue, DynamoKey, DynamoKeyBuilder, DynamoKeyableValue, GlobalSecondaryIndexKeyBuilders, LocalSecondaryIndexKeyBuilders, indexKey, key } from './core/key.js';
42
43
  export { DynamoTable, DynamoTableConfig } from './core/table.js';
43
44
  export { DocumentBuilderError } from './errors.js';
44
45
  export { Projection } from './projections/projection-types.js';
package/dist/index.mjs CHANGED
@@ -6,6 +6,7 @@ export { ProjectedGet } from './commands/projected-get.mjs';
6
6
  export { ProjectedQuery } from './commands/projected-query.mjs';
7
7
  export { ProjectedScan } from './commands/projected-scan.mjs';
8
8
  export { BatchGet } from './commands/batch-get.mjs';
9
+ export { BatchProjectedGet } from './commands/batch-projected-get.mjs';
9
10
  export { TransactGet } from './commands/transact-get.mjs';
10
11
  export { Put } from './commands/put.mjs';
11
12
  export { Update } from './commands/update.mjs';
@@ -35,7 +36,7 @@ export { or } from './conditions/or.mjs';
35
36
  export { size } from './conditions/size.mjs';
36
37
  export { typeIs } from './conditions/type-is.mjs';
37
38
  export { DynamoEntity } from './core/entity.mjs';
38
- export { key } from './core/key.mjs';
39
+ export { indexKey, key } from './core/key.mjs';
39
40
  export { DynamoTable } from './core/table.mjs';
40
41
  export { DocumentBuilderError } from './errors.mjs';
41
42
  export { parseProjection } from './projections/projection-parser.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dynamo-document-builder",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "DynamoDB single table design and data validation made easy using TypeScript and Zod ⚡️",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",