UNPKG

dynamodb-toolbox

Version:

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

16 lines (15 loc) 707 B
import { getFormattedValueJSONSchema } from './schema.js'; export const getFormattedMapJSONSchema = (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, getFormattedValueJSONSchema(attribute) ])), ...(requiredProperties.length > 0 ? { required: requiredProperties } : {}) }; };