UNPKG

dynamodb-toolbox

Version:

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

25 lines (24 loc) 925 B
import { isSerializableTransformer } from '../../../../transformers/index.js'; import { getDefaultsDTO } from './utils.js'; /** * @debt feature "handle defaults, links & validators DTOs" */ export const getAnySchemaDTO = (schema) => { const defaultsDTO = getDefaultsDTO(schema); const { required, hidden, key, savedAs, transform } = schema.props; return { type: 'any', ...(required !== undefined && required !== 'atLeastOnce' ? { required } : {}), ...(hidden !== undefined && hidden ? { hidden } : {}), ...(key !== undefined && key ? { key } : {}), ...(savedAs !== undefined ? { savedAs } : {}), ...(transform !== undefined ? { transform: (isSerializableTransformer(transform) ? transform.toJSON() : { transformerId: 'custom' }) } : {}), ...defaultsDTO }; };