20 lines
553 B
JavaScript
20 lines
553 B
JavaScript
import { parseDef } from "../parseDef.js";
|
|
export const parseOptionalDef = (def, refs) => {
|
|
if (refs.currentPath.toString() === refs.propertyPath?.toString()) {
|
|
return parseDef(def.innerType._def, refs);
|
|
}
|
|
const innerSchema = parseDef(def.innerType._def, {
|
|
...refs,
|
|
currentPath: [...refs.currentPath, "anyOf", "1"],
|
|
});
|
|
return innerSchema
|
|
? {
|
|
anyOf: [
|
|
{
|
|
not: {},
|
|
},
|
|
innerSchema,
|
|
],
|
|
}
|
|
: {};
|
|
};
|