dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
26 lines (25 loc) • 1 kB
JavaScript
;
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;