UNPKG

@tsed/cli

Version:
25 lines (24 loc) 711 B
export const summarizeSchema = (tpl) => { if (!tpl.schema) { return undefined; } const json = tpl.schema.toJSON(); if (!json.properties) { return {}; } const properties = {}; for (const [k, v] of Object.entries(json.properties)) { const vv = v; properties[k] = { type: Array.isArray(vv.type) ? vv.type.join("|") : vv.type, enum: vv.enum, pattern: vv.pattern, description: vv.description }; } const required = json.required || []; return { required: required.length ? required : undefined, properties: Object.keys(properties).length ? properties : undefined }; };