🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

dynamo-document-builder

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dynamo-document-builder - npm Package Compare versions

Comparing version
0.4.0
to
0.5.0
+59
dist/commands/batch-projected-get.cjs
'use strict';
var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
var internalConstants = require('../internal-constants.cjs');
var libDynamodb = require('@aws-sdk/lib-dynamodb');
var projections_projectionParser = require('../projections/projection-parser.cjs');
var pMap = require('p-map');
var _BatchProjectedGet_config;
class BatchProjectedGet {
constructor(config) {
_BatchProjectedGet_config.set(this, void 0);
tslib_es6.__classPrivateFieldSet(this, _BatchProjectedGet_config, config, "f");
}
execute(entity) {
return tslib_es6.__awaiter(this, void 0, void 0, function* () {
var _a, _b, _c, _d, _e, _f, _g, _h;
const { projectionExpression, attributeExpressionMap } = projections_projectionParser.parseProjection(tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").projection);
const batchGet = new libDynamodb.BatchGetCommand({
RequestItems: {
[entity.table.tableName]: {
Keys: tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").keys.map(key => entity.buildPrimaryKey(key)),
ConsistentRead: (_a = tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").consistent) !== null && _a !== void 0 ? _a : false,
ProjectionExpression: projectionExpression,
ExpressionAttributeNames: attributeExpressionMap.toDynamoAttributeNames(),
},
},
ReturnConsumedCapacity: tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").returnConsumedCapacity,
});
const batchGetResult = yield entity.table.documentClient.send(batchGet, {
abortSignal: (_b = tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
requestTimeout: tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").timeoutMs,
});
const rawItems = (_d = (_c = batchGetResult.Responses) === null || _c === void 0 ? void 0 : _c[entity.table.tableName]) !== null && _d !== void 0 ? _d : [];
let items = [];
if (rawItems.length > 0) {
if (tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").skipValidation) {
items = rawItems;
}
else {
items = yield pMap(rawItems, item => tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").projectionSchema.parseAsync(item), {
concurrency: internalConstants.BATCH_GET_VALIDATION_CONCURRENCY,
signal: (_e = tslib_es6.__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").abortController) === null || _e === void 0 ? void 0 : _e.signal,
});
}
}
return {
items,
unprocessedKeys: (_g = (_f = batchGetResult.UnprocessedKeys) === null || _f === void 0 ? void 0 : _f[entity.table.tableName]) === null || _g === void 0 ? void 0 : _g.Keys,
responseMetadata: batchGetResult.$metadata,
consumedCapacity: (_h = batchGetResult.ConsumedCapacity) === null || _h === void 0 ? void 0 : _h[0],
};
});
}
}
_BatchProjectedGet_config = new WeakMap();
exports.BatchProjectedGet = BatchProjectedGet;
//# sourceMappingURL=batch-projected-get.cjs.map
{"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":"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"}
import { BaseConfig, BaseResult, BaseCommand } from './base-command.js';
import { DynamoEntity } from '../core/entity.js';
import { EntitySchema } from '../core/core-types.js';
import { Projection } from '../projections/projection-types.js';
import { ZodObject } from 'zod/v4';
type BatchProjectedGetConfig<Schema extends ZodObject, ProjectionSchema extends ZodObject> = BaseConfig & {
keys: Array<Partial<EntitySchema<Schema>>>;
consistent?: boolean;
projection: Projection;
projectionSchema: ProjectionSchema;
};
type BatchProjectedGetResult<ProjectionSchema extends ZodObject> = BaseResult & {
items: Array<EntitySchema<ProjectionSchema>>;
unprocessedKeys?: Array<Partial<EntitySchema<ProjectionSchema>>>;
};
declare class BatchProjectedGet<Schema extends ZodObject, ProjectionSchema extends ZodObject> implements BaseCommand<BatchProjectedGetResult<ProjectionSchema>, Schema> {
#private;
constructor(config: BatchProjectedGetConfig<Schema, ProjectionSchema>);
execute(entity: DynamoEntity<Schema>): Promise<BatchProjectedGetResult<ProjectionSchema>>;
}
export { BatchProjectedGet };
export type { BatchProjectedGetConfig, BatchProjectedGetResult };
import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
import { BATCH_GET_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
import { BatchGetCommand } from '@aws-sdk/lib-dynamodb';
import { parseProjection } from '../projections/projection-parser.mjs';
import pMap from 'p-map';
var _BatchProjectedGet_config;
class BatchProjectedGet {
constructor(config) {
_BatchProjectedGet_config.set(this, void 0);
__classPrivateFieldSet(this, _BatchProjectedGet_config, config, "f");
}
execute(entity) {
return __awaiter(this, void 0, void 0, function* () {
var _a, _b, _c, _d, _e, _f, _g, _h;
const { projectionExpression, attributeExpressionMap } = parseProjection(__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").projection);
const batchGet = new BatchGetCommand({
RequestItems: {
[entity.table.tableName]: {
Keys: __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").keys.map(key => entity.buildPrimaryKey(key)),
ConsistentRead: (_a = __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").consistent) !== null && _a !== void 0 ? _a : false,
ProjectionExpression: projectionExpression,
ExpressionAttributeNames: attributeExpressionMap.toDynamoAttributeNames(),
},
},
ReturnConsumedCapacity: __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").returnConsumedCapacity,
});
const batchGetResult = yield entity.table.documentClient.send(batchGet, {
abortSignal: (_b = __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
requestTimeout: __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").timeoutMs,
});
const rawItems = (_d = (_c = batchGetResult.Responses) === null || _c === void 0 ? void 0 : _c[entity.table.tableName]) !== null && _d !== void 0 ? _d : [];
let items = [];
if (rawItems.length > 0) {
if (__classPrivateFieldGet(this, _BatchProjectedGet_config, "f").skipValidation) {
items = rawItems;
}
else {
items = yield pMap(rawItems, item => __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").projectionSchema.parseAsync(item), {
concurrency: BATCH_GET_VALIDATION_CONCURRENCY,
signal: (_e = __classPrivateFieldGet(this, _BatchProjectedGet_config, "f").abortController) === null || _e === void 0 ? void 0 : _e.signal,
});
}
}
return {
items,
unprocessedKeys: (_g = (_f = batchGetResult.UnprocessedKeys) === null || _f === void 0 ? void 0 : _f[entity.table.tableName]) === null || _g === void 0 ? void 0 : _g.Keys,
responseMetadata: batchGetResult.$metadata,
consumedCapacity: (_h = batchGetResult.ConsumedCapacity) === null || _h === void 0 ? void 0 : _h[0],
};
});
}
}
_BatchProjectedGet_config = new WeakMap();
export { BatchProjectedGet };
//# sourceMappingURL=batch-projected-get.mjs.map
{"version":3,"file":"batch-projected-get.mjs","sources":["../../src/commands/batch-projected-get.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
+2
-0

@@ -10,2 +10,3 @@ 'use strict';

var commands_batchGet = require('./batch-get.cjs');
var commands_batchProjectedGet = require('./batch-projected-get.cjs');
var commands_transactGet = require('./transact-get.cjs');

@@ -31,2 +32,3 @@ var commands_put = require('./put.cjs');

exports.BatchGet = commands_batchGet.BatchGet;
exports.BatchProjectedGet = commands_batchProjectedGet.BatchProjectedGet;
exports.TransactGet = commands_transactGet.TransactGet;

@@ -33,0 +35,0 @@ exports.Put = commands_put.Put;

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}

@@ -9,2 +9,3 @@ export { BaseCommand, BaseConfig, BasePaginatable, BaseResult, WriteTransactable } from './base-command.js';

export { BatchGet, BatchGetConfig, BatchGetResult } from './batch-get.js';
export { BatchProjectedGet, BatchProjectedGetConfig, BatchProjectedGetResult } from './batch-projected-get.js';
export { TransactGet, TransactGetConfig, TransactGetResult } from './transact-get.js';

@@ -11,0 +12,0 @@ export { Put, PutConfig, PutResult } from './put.js';

@@ -8,2 +8,3 @@ export { Get } from './get.mjs';

export { BatchGet } from './batch-get.mjs';
export { BatchProjectedGet } from './batch-projected-get.mjs';
export { TransactGet } from './transact-get.mjs';

@@ -10,0 +11,0 @@ export { Put } from './put.mjs';

@@ -1,1 +0,1 @@

{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}

@@ -11,2 +11,3 @@ 'use strict';

var commands_batchGet = require('./commands/batch-get.cjs');
var commands_batchProjectedGet = require('./commands/batch-projected-get.cjs');
var commands_transactGet = require('./commands/transact-get.cjs');

@@ -65,2 +66,3 @@ var commands_put = require('./commands/put.cjs');

exports.BatchGet = commands_batchGet.BatchGet;
exports.BatchProjectedGet = commands_batchProjectedGet.BatchProjectedGet;
exports.TransactGet = commands_transactGet.TransactGet;

@@ -67,0 +69,0 @@ exports.Put = commands_put.Put;

@@ -1,1 +0,1 @@

{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}

@@ -10,2 +10,3 @@ export { AttributeExpressionMap, AttributeNamePlaceholder, AttributeNames, AttributeValuePlaceholder, AttributeValues, DynamoAttributeExpression } from './attributes/attribute-map.js';

export { BatchGet, BatchGetConfig, BatchGetResult } from './commands/batch-get.js';
export { BatchProjectedGet, BatchProjectedGetConfig, BatchProjectedGetResult } from './commands/batch-projected-get.js';
export { TransactGet, TransactGetConfig, TransactGetResult } from './commands/transact-get.js';

@@ -12,0 +13,0 @@ export { Put, PutConfig, PutResult } from './commands/put.js';

@@ -9,2 +9,3 @@ export { AttributeExpressionMap } from './attributes/attribute-map.mjs';

export { BatchGet } from './commands/batch-get.mjs';
export { BatchProjectedGet } from './commands/batch-projected-get.mjs';
export { TransactGet } from './commands/transact-get.mjs';

@@ -11,0 +12,0 @@ export { Put } from './commands/put.mjs';

@@ -1,1 +0,1 @@

{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
{
"name": "dynamo-document-builder",
"version": "0.4.0",
"version": "0.5.0",
"description": "DynamoDB single table design and data validation made easy using TypeScript and Zod ⚡️",

@@ -5,0 +5,0 @@ "main": "dist/index.cjs",