UNPKG

@tsed/schema

Version:
21 lines (20 loc) 745 B
import { isObject, uniq } from "@tsed/core"; export const serializeEnum = (enumValue) => { if (isObject(enumValue) && enumValue !== null) { return Object.entries(enumValue).reduce((acc, [key, value]) => { if (isNaN(+key)) { return acc.concat(value); } return acc; }, []); } return enumValue; }; export function serializeEnumValues(enumValues) { const values = enumValues.reduce((acc, value) => acc.concat(serializeEnum(value)), []); const getValue = (value) => { return value === null ? "null" : typeof value; }; const types = values.reduce((set, value) => set.add(getValue(value)), new Set()); return { values: uniq(values), types }; }