dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
32 lines (31 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromAnyOfSchemaDTO = void 0;
const index_js_1 = require("../../../../schema/anyOf/index.js");
const attribute_js_1 = require("./attribute.js");
/**
* @debt feature "handle defaults, links & validators"
*/
const fromAnyOfSchemaDTO = ({ elements, required, hidden, key, savedAs, discriminator }) => {
/**
* @debt types "fix those casts"
*/
let anyOf_ = (0, index_js_1.anyOf)(...elements.map(attribute_js_1.fromSchemaDTO));
if (required !== undefined && required !== 'atLeastOnce') {
anyOf_ = anyOf_.required(required);
}
if (hidden !== undefined && hidden) {
anyOf_ = anyOf_.hidden(hidden);
}
if (key !== undefined && key) {
anyOf_ = anyOf_.key(key);
}
if (savedAs !== undefined) {
anyOf_ = anyOf_.savedAs(savedAs);
}
if (discriminator !== undefined) {
anyOf_ = anyOf_.discriminate(discriminator);
}
return anyOf_;
};
exports.fromAnyOfSchemaDTO = fromAnyOfSchemaDTO;