UNPKG

dynamodb-toolbox

Version:

Lightweight and type-safe query builder for DynamoDB and TypeScript.

24 lines (23 loc) 1.06 kB
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; };