dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
18 lines (17 loc) • 829 B
JavaScript
import { DynamoDBToolboxError } from '../errors/dynamoDBToolboxError.js';
import { isBoolean } from '../utils/validation/isBoolean.js';
export const parseConsistentOption = (consistent, index) => {
if (!isBoolean(consistent)) {
throw new DynamoDBToolboxError('options.invalidConsistentOption', {
message: `Invalid consistent option: '${String(consistent)}'. 'consistent' must be boolean.`,
payload: { consistent }
});
}
if (consistent && index !== undefined && index.type !== 'local') {
throw new DynamoDBToolboxError('options.invalidConsistentOption', {
message: `Invalid consistent option: '${String(consistent)}'. Queries on global secondary indexes cannot be consistent.`,
payload: { consistent }
});
}
return consistent;
};