Refactor routing in App component to enhance navigation and improve error handling by integrating dynamic routes and updating the NotFound route.
This commit is contained in:
77
node_modules/zod-to-json-schema/dist/cjs/parsers/object.js
generated
vendored
Normal file
77
node_modules/zod-to-json-schema/dist/cjs/parsers/object.js
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.parseObjectDef = void 0;
|
||||
const zod_1 = require("zod");
|
||||
const parseDef_js_1 = require("../parseDef.js");
|
||||
function parseObjectDef(def, refs) {
|
||||
const forceOptionalIntoNullable = refs.target === "openAi";
|
||||
const result = {
|
||||
type: "object",
|
||||
properties: {},
|
||||
};
|
||||
const required = [];
|
||||
const shape = def.shape();
|
||||
for (const propName in shape) {
|
||||
let propDef = shape[propName];
|
||||
if (propDef === undefined || propDef._def === undefined) {
|
||||
continue;
|
||||
}
|
||||
let propOptional = safeIsOptional(propDef);
|
||||
if (propOptional && forceOptionalIntoNullable) {
|
||||
if (propDef instanceof zod_1.ZodOptional) {
|
||||
propDef = propDef._def.innerType;
|
||||
}
|
||||
if (!propDef.isNullable()) {
|
||||
propDef = propDef.nullable();
|
||||
}
|
||||
propOptional = false;
|
||||
}
|
||||
const parsedDef = (0, parseDef_js_1.parseDef)(propDef._def, {
|
||||
...refs,
|
||||
currentPath: [...refs.currentPath, "properties", propName],
|
||||
propertyPath: [...refs.currentPath, "properties", propName],
|
||||
});
|
||||
if (parsedDef === undefined) {
|
||||
continue;
|
||||
}
|
||||
result.properties[propName] = parsedDef;
|
||||
if (!propOptional) {
|
||||
required.push(propName);
|
||||
}
|
||||
}
|
||||
if (required.length) {
|
||||
result.required = required;
|
||||
}
|
||||
const additionalProperties = decideAdditionalProperties(def, refs);
|
||||
if (additionalProperties !== undefined) {
|
||||
result.additionalProperties = additionalProperties;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
exports.parseObjectDef = parseObjectDef;
|
||||
function decideAdditionalProperties(def, refs) {
|
||||
if (def.catchall._def.typeName !== "ZodNever") {
|
||||
return (0, parseDef_js_1.parseDef)(def.catchall._def, {
|
||||
...refs,
|
||||
currentPath: [...refs.currentPath, "additionalProperties"],
|
||||
});
|
||||
}
|
||||
switch (def.unknownKeys) {
|
||||
case "passthrough":
|
||||
return refs.allowedAdditionalProperties;
|
||||
case "strict":
|
||||
return refs.rejectedAdditionalProperties;
|
||||
case "strip":
|
||||
return refs.removeAdditionalStrategy === "strict"
|
||||
? refs.allowedAdditionalProperties
|
||||
: refs.rejectedAdditionalProperties;
|
||||
}
|
||||
}
|
||||
function safeIsOptional(schema) {
|
||||
try {
|
||||
return schema.isOptional();
|
||||
}
|
||||
catch {
|
||||
return true;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user