dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
29 lines (28 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAnySchemaDTO = void 0;
const index_js_1 = require("../../../../transformers/index.js");
const utils_js_1 = require("./utils.js");
/**
* @debt feature "handle defaults, links & validators DTOs"
*/
const getAnySchemaDTO = (schema) => {
const defaultsDTO = (0, utils_js_1.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: ((0, index_js_1.isSerializableTransformer)(transform)
? transform.toJSON()
: { transformerId: 'custom' })
}
: {}),
...defaultsDTO
};
};
exports.getAnySchemaDTO = getAnySchemaDTO;