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:
52
node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js
generated
vendored
Normal file
52
node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
import { parseDef } from "../parseDef.js";
|
||||
const isJsonSchema7AllOfType = (type) => {
|
||||
if ("type" in type && type.type === "string")
|
||||
return false;
|
||||
return "allOf" in type;
|
||||
};
|
||||
export function parseIntersectionDef(def, refs) {
|
||||
const allOf = [
|
||||
parseDef(def.left._def, {
|
||||
...refs,
|
||||
currentPath: [...refs.currentPath, "allOf", "0"],
|
||||
}),
|
||||
parseDef(def.right._def, {
|
||||
...refs,
|
||||
currentPath: [...refs.currentPath, "allOf", "1"],
|
||||
}),
|
||||
].filter((x) => !!x);
|
||||
let unevaluatedProperties = refs.target === "jsonSchema2019-09"
|
||||
? { unevaluatedProperties: false }
|
||||
: undefined;
|
||||
const mergedAllOf = [];
|
||||
// If either of the schemas is an allOf, merge them into a single allOf
|
||||
allOf.forEach((schema) => {
|
||||
if (isJsonSchema7AllOfType(schema)) {
|
||||
mergedAllOf.push(...schema.allOf);
|
||||
if (schema.unevaluatedProperties === undefined) {
|
||||
// If one of the schemas has no unevaluatedProperties set,
|
||||
// the merged schema should also have no unevaluatedProperties set
|
||||
unevaluatedProperties = undefined;
|
||||
}
|
||||
}
|
||||
else {
|
||||
let nestedSchema = schema;
|
||||
if ("additionalProperties" in schema &&
|
||||
schema.additionalProperties === false) {
|
||||
const { additionalProperties, ...rest } = schema;
|
||||
nestedSchema = rest;
|
||||
}
|
||||
else {
|
||||
// As soon as one of the schemas has additionalProperties set not to false, we allow unevaluatedProperties
|
||||
unevaluatedProperties = undefined;
|
||||
}
|
||||
mergedAllOf.push(nestedSchema);
|
||||
}
|
||||
});
|
||||
return mergedAllOf.length
|
||||
? {
|
||||
allOf: mergedAllOf,
|
||||
...unevaluatedProperties,
|
||||
}
|
||||
: undefined;
|
||||
}
|
Reference in New Issue
Block a user