@langchain/core
Version:
Core LangChain.js abstractions and schemas
17 lines (16 loc) • 617 B
JavaScript
//#region src/utils/zod-to-json-schema/parsers/nativeEnum.ts
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
};
}
//#endregion
export { parseNativeEnumDef };
//# sourceMappingURL=nativeEnum.js.map