UNPKG

dynamodb-toolbox

Version:

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

26 lines (25 loc) 1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getMapSchemaDTO = void 0; const schema_js_1 = require("./schema.js"); const utils_js_1 = require("./utils.js"); /** * @debt feature "handle defaults, links & validators DTOs" */ const getMapSchemaDTO = (schema) => { const defaultsDTO = (0, utils_js_1.getDefaultsDTO)(schema); const { required, hidden, key, savedAs } = schema.props; return { type: 'map', attributes: Object.fromEntries(Object.entries(schema.attributes).map(([attributeName, attribute]) => [ attributeName, (0, schema_js_1.getSchemaDTO)(attribute) ])), ...(required !== undefined && required !== 'atLeastOnce' ? { required } : {}), ...(hidden !== undefined && hidden ? { hidden } : {}), ...(key !== undefined && key ? { key } : {}), ...(savedAs !== undefined ? { savedAs } : {}), ...defaultsDTO }; }; exports.getMapSchemaDTO = getMapSchemaDTO;