dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
20 lines (19 loc) • 890 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFormattedItemJSONSchema = void 0;
const schema_js_1 = require("./schema.js");
const getFormattedItemJSONSchema = (schema) => {
const displayedAttrEntries = Object.entries(schema.attributes).filter(([, attr]) => !attr.props.hidden);
const requiredProperties = displayedAttrEntries
.filter(([, { props }]) => props.required !== 'never')
.map(([attributeName]) => attributeName);
return {
type: 'object',
properties: Object.fromEntries(displayedAttrEntries.map(([attributeName, attribute]) => [
attributeName,
(0, schema_js_1.getFormattedValueJSONSchema)(attribute)
])),
...(requiredProperties.length > 0 ? { required: requiredProperties } : {})
};
};
exports.getFormattedItemJSONSchema = getFormattedItemJSONSchema;