@tsed/cli
Version:
CLI to bootstrap your Ts.ED project
25 lines (24 loc) • 711 B
JavaScript
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
};
};