dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
24 lines (23 loc) • 1.06 kB
JavaScript
import { EntityPathParser } from '../../../../entity/actions/parsePaths/index.js';
import { rejectExtraOptions } from '../../../../options/rejectExtraOptions.js';
import { parseTableNameOption } from '../../../../options/tableName.js';
import { isEmpty } from '../../../../utils/isEmpty.js';
export const parseOptions = (entity, options) => {
const transactionOptions = {};
const { attributes, tableName, ...extraOptions } = options;
rejectExtraOptions(extraOptions);
if (attributes !== undefined) {
const { ExpressionAttributeNames, ProjectionExpression } = entity
.build(EntityPathParser)
.parse(attributes);
if (!isEmpty(ExpressionAttributeNames)) {
transactionOptions.ExpressionAttributeNames = ExpressionAttributeNames;
}
transactionOptions.ProjectionExpression = ProjectionExpression;
}
if (tableName !== undefined) {
// tableName is a meta-option, validated but not used here
parseTableNameOption(tableName);
}
return transactionOptions;
};