agsamantha/node_modules/openai/_vendor/zod-to-json-schema/parsers/nativeEnum.mjs
2024-10-02 15:15:21 -05:00

17 lines
No EOL
615 B
JavaScript

export function parseNativeEnumDef(def) {
const object = def.values;
const actualKeys = Object.keys(def.values).filter((key) => {
return typeof object[object[key]] !== 'number';
});
const actualValues = actualKeys.map((key) => object[key]);
const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values)));
return {
type: parsedTypes.length === 1 ?
parsedTypes[0] === 'string' ?
'string'
: 'number'
: ['string', 'number'],
enum: actualValues,
};
}
//# sourceMappingURL=nativeEnum.mjs.map