dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
25 lines (24 loc) • 746 B
JavaScript
import { tuple } from '../../../../schema/tuple/index.js';
import { fromSchemaDTO } from './attribute.js';
/**
* @debt feature "handle defaults, links & validators"
*/
export const fromTupleSchemaDTO = ({ elements, required, hidden, key, savedAs }) => {
/**
* @debt types "fix those casts"
*/
let tuple_ = tuple(...elements.map(fromSchemaDTO));
if (required !== undefined && required !== 'atLeastOnce') {
tuple_ = tuple_.required(required);
}
if (hidden !== undefined && hidden) {
tuple_ = tuple_.hidden(hidden);
}
if (key !== undefined && key) {
tuple_ = tuple_.key(key);
}
if (savedAs !== undefined) {
tuple_ = tuple_.savedAs(savedAs);
}
return tuple_;
};