UNPKG

dynamodb-toolbox

Version:

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

35 lines (34 loc) 1.04 kB
import { anyOf } from '../../../../schema/anyOf/index.js'; import { fromSchemaDTO } from './attribute.js'; /** * @debt feature "handle defaults, links & validators" */ export const fromAnyOfSchemaDTO = ({ elements, ...props }) => { /** * @debt types "fix those casts" */ let $attr = anyOf(...elements.map(fromSchemaDTO)); const { required, hidden, key, savedAs, discriminator, keyDefault, putDefault, updateDefault, keyLink, putLink, updateLink } = props; keyDefault; putDefault; updateDefault; keyLink; putLink; updateLink; if (required !== undefined && required !== 'atLeastOnce') { $attr = $attr.required(required); } if (hidden !== undefined && hidden) { $attr = $attr.hidden(hidden); } if (key !== undefined && key) { $attr = $attr.key(key); } if (savedAs !== undefined) { $attr = $attr.savedAs(savedAs); } if (discriminator !== undefined) { $attr = $attr.discriminate(discriminator); } return $attr; };