@power-plant/schema 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codegen.cjs +77 -1
- package/dist/codegen.d.cts +1 -1
- package/dist/codegen.d.mts +1 -1
- package/dist/codegen.mjs +78 -1
- package/dist/codegen.mjs.map +1 -0
- package/dist/constants-CwyhgVEl.cjs +1 -0
- package/dist/constants-lk1mMbgx.mjs +2 -0
- package/dist/constants-lk1mMbgx.mjs.map +1 -0
- package/dist/helpers-B5sr5S3X.cjs +1 -0
- package/dist/helpers-Bh_V7xwV.mjs +2 -0
- package/dist/helpers-Bh_V7xwV.mjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +616 -31
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +616 -31
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -0
- package/dist/{types.d.cts → types-BawP3FVI.d.mts} +81 -180
- package/dist/types-BawP3FVI.d.mts.map +1 -0
- package/dist/{types.d.mts → types-BmNamqlM.d.cts} +80 -179
- package/dist/types-BmNamqlM.d.cts.map +1 -0
- package/dist/valibot.cjs +1 -0
- package/dist/valibot.d.cts +14 -0
- package/dist/valibot.d.cts.map +1 -0
- package/dist/valibot.d.mts +14 -0
- package/dist/valibot.d.mts.map +1 -0
- package/dist/valibot.mjs +2 -0
- package/dist/valibot.mjs.map +1 -0
- package/dist/zod.cjs +1 -0
- package/dist/zod.d.cts +14 -0
- package/dist/zod.d.cts.map +1 -0
- package/dist/zod.d.mts +14 -0
- package/dist/zod.d.mts.map +1 -0
- package/dist/zod.mjs +2 -0
- package/dist/zod.mjs.map +1 -0
- package/package.json +26 -91
- package/dist/constants-u7ovYS9e.d.cts +0 -31
- package/dist/constants-u7ovYS9e.d.cts.map +0 -1
- package/dist/constants-u7ovYS9e.d.mts +0 -31
- package/dist/constants-u7ovYS9e.d.mts.map +0 -1
- package/dist/constants.cjs +0 -1
- package/dist/constants.d.cts +0 -2
- package/dist/constants.d.mts +0 -2
- package/dist/constants.mjs +0 -2
- package/dist/constants.mjs.map +0 -1
- package/dist/extract.cjs +0 -1
- package/dist/extract.d.cts +0 -143
- package/dist/extract.d.cts.map +0 -1
- package/dist/extract.d.mts +0 -143
- package/dist/extract.d.mts.map +0 -1
- package/dist/extract.mjs +0 -2
- package/dist/extract.mjs.map +0 -1
- package/dist/helpers.cjs +0 -1
- package/dist/helpers.d.cts +0 -134
- package/dist/helpers.d.cts.map +0 -1
- package/dist/helpers.d.mts +0 -134
- package/dist/helpers.d.mts.map +0 -1
- package/dist/helpers.mjs +0 -1
- package/dist/metadata-CsY3HrP2.cjs +0 -77
- package/dist/metadata-DIEpQjbq.mjs +0 -78
- package/dist/metadata-DIEpQjbq.mjs.map +0 -1
- package/dist/metadata.cjs +0 -1
- package/dist/metadata.d.cts +0 -94
- package/dist/metadata.d.cts.map +0 -1
- package/dist/metadata.d.mts +0 -94
- package/dist/metadata.d.mts.map +0 -1
- package/dist/metadata.mjs +0 -1
- package/dist/type-checks.cjs +0 -1
- package/dist/type-checks.d.cts +0 -331
- package/dist/type-checks.d.cts.map +0 -1
- package/dist/type-checks.d.mts +0 -331
- package/dist/type-checks.d.mts.map +0 -1
- package/dist/type-checks.mjs +0 -2
- package/dist/type-checks.mjs.map +0 -1
- package/dist/types.cjs +0 -0
- package/dist/types.d.cts.map +0 -1
- package/dist/types.d.mts.map +0 -1
- package/dist/types.mjs +0 -1
package/dist/codegen.cjs
CHANGED
|
@@ -1 +1,77 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./helpers-B5sr5S3X.cjs");let t=require("@stryke/string-format/list"),n=require("@stryke/type-checks"),r=require("@stryke/type-checks/is-set-string"),i=require("@stryke/convert/to-bool"),a=require("@stryke/string-format/camel-case"),o=require("@stryke/type-checks/is-boolean"),s=require("@stryke/type-checks/is-null"),c=require("@stryke/type-checks/is-number"),l=require("@stryke/type-checks/is-undefined");function u(e,t){return(0,l.isUndefined)(e)?`undefined`:(0,s.isNull)(e)?`null`:t===`boolean`||(0,o.isBoolean)(e)?String((0,i.toBool)(e)):t===`number`||(0,c.isNumber)(e)?Number.parseFloat(String(e)).toLocaleString(void 0,{maximumFractionDigits:20}):t===`integer`?Number.parseInt(String(e)).toLocaleString():t===`string`||t===`object`||t===`array`?JSON.stringify(e):String(e)}function d(t){if(!t)return`unknown`;if(typeof t==`boolean`)return t?`unknown`:`never`;if(e.F(t)&&(0,r.isSetString)(t.name))return t.name;let n=t;if((0,r.isSetString)(n.$ref))return/^#\/(?:definitions|\$defs)\/(.+)$/.exec(n.$ref)?.[1]??n.$ref;if(e.O(t)&&!(0,l.isUndefined)(t.const))return JSON.stringify((0,r.isSetString)(t.const)?t.const.replaceAll(/^['"`]|['"`]$/g,``):t.const);let i=e.p(t);if(i)return i===`integer`||i===`number`?`number`:i;if(n.type===`array`&&Array.isArray(n.enum))return n.enum.map(e=>JSON.stringify(e)).join(` | `);if(n.const!==void 0)return JSON.stringify(n.const);if(n.type===`array`||n.items)return`${d(Array.isArray(n.items)?n.items[0]:n.items)}[]`;if(n.type===`object`||n.properties||n.additionalProperties){if(e.g(n.additionalProperties))return`{ [key: string]: ${d(n.additionalProperties)} }`;if(e.F(n)){let t=n.required??[];return`{ ${e.a(n).map(n=>{let r=!t.includes(n.name)||e.c(n)?`${t.includes(n.name)?``:`?`}${e.c(n)?` | null`:``}`:``;return`${n.name}${r}: ${d(n)}`}).join(`;
|
|
2
|
+
`)} }`}}return n.oneOf||n.anyOf?(n.oneOf??n.anyOf??[]).map(e=>d(e)).join(` | `):n.allOf?`object`:`unknown`}function f(e){return(0,s.isNull)(e)?`null`:(0,o.isBoolean)(e)?`boolean`:(0,n.isInteger)(e)?`integer`:(0,c.isNumber)(e)?`number`:(0,n.isString)(e)?`string`:(0,n.isObject)(e)?`object`:Array.isArray(e)?`array`:void 0}function p(e){return/^#\/(?:definitions|\$defs)\/(.+)$/.exec(e)?.[1]}function m(e){let t=e.replace(/[^\w$]/gu,`_`);return`parse_${/^\d/u.test(t)?`_${t}`:t}`}function h(e){let t=e.type;return Array.isArray(t)?[...t]:t?[t]:[]}function g(e,t){return`${e} + ${JSON.stringify(t)}`}function _(i,o={}){let s=i,c=typeof s==`boolean`?{}:{...s.definitions,...s.$defs},l={};function u(e){let t=l[e]??0;return l[e]=t+1,`${e}${t>0?`${t}`:``}`}function f(t,n,i,s,l=`errors`){if(typeof t==`boolean`)return t?[`${s} = ${n};`]:[`${l}.push({ path: ${i}, failure: "No value is allowed at this location" });`,`${s} = ${n};`];if((0,r.isSetString)(t.$ref)){let e=p(t.$ref);return e&&e in c?[`${s} = ${m(e)}(${n}, ${i}, ${l});`]:[`${s} = ${n};`]}let d=u(t.name?`${(0,a.camelCase)(t.name)}Value`:`value`),f=u(t.name?`${(0,a.camelCase)(t.name)}Path`:`path`),h=[`const ${d} = ${n};`,`const ${f} = ${i};`];return!o.ignoreDefaults&&t.default!==void 0?(h.push(`if (${d} === undefined${t.type===`string`?` || ${d} === ""`:t.type===`number`||t.type===`integer`?` || Number.isNaN(${d})`:``}) {`,` ${s} = ${JSON.stringify(t.default)};`,`} else {`),e.c(t)?(h.push(` if (${d} === null) {`,` ${s} = null;`,` } else {`),h.push(..._(t,d,f,s,l)),h.push(` }`)):h.push(..._(t,d,f,s,l)),h.push(`}`),h):(h.push(`if (${d} === undefined) {`,` ${l}.push({ path: ${f}, failure: "A value is required" });`,` ${s} = ${d};`,`} else {`),e.c(t)?(h.push(` if (${d} === null) {`,` ${s} = null;`,` } else {`),h.push(..._(t,d,f,s,l)),h.push(` }`)):h.push(..._(t,d,f,s,l)),h.push(`}`),h)}function _(n,r,i,o,s){let c=[];if(n.const!==void 0){let e=JSON.stringify(n.const);return c.push(`if (${n.type===`string`?r:`JSON.stringify(${r})`} !== ${e}) { ${s}.push({ path: ${i}, failure: "Expected the constant value " + ${e} }); }`,`${o} = ${e};`),c}if(Array.isArray(n.enum)){let e=JSON.stringify(n.enum);return c.push(`if (!${e}.some(allowed => JSON.stringify(allowed) === JSON.stringify(${r}))) { ${s}.push({ path: ${i}, failure: \`Expected one of: ${(0,t.list)(n.enum.map(e=>JSON.stringify(e)),{conjunction:`or`})}, instead received: \${JSON.stringify(${r})}\` }); }`,`${o} = ${r};`),c}if(Array.isArray(n.oneOf)||Array.isArray(n.anyOf)){let e=n.oneOf??n.anyOf??[],t=u(n.name?`${(0,a.camelCase)(n.name)}Matched`:`matched`);c.push(`let ${t} = false;`);for(let s of e){let e=u(n.name?`${(0,a.camelCase)(n.name)}BranchErrors`:`branchErrors`),l=u(n.name?`${(0,a.camelCase)(n.name)}BranchResult`:`branchResult`);c.push(`if (!${t}) {`),c.push(` const ${e}: { path: string; failure: string }[] = [];`,` let ${l};`),c.push(...f(s,r,i,l,e)),c.push(` if (${e}.length === 0) {`,` ${o} = ${l};`,` ${t} = true;`,` }`,`}`)}return c.push(`if (!${t}) {`,` ${s}.push({ path: ${i}, failure: \`The provided value \${JSON.stringify(${r})} does not match the allowed schemas\` });`,` ${o} = ${r};`,`}`),c}if(Array.isArray(n.allOf)){let{allOf:t,...a}=n,l=e.u(a,...t);return c.push(...f(l,r,i,o,s)),c}let l=h(n);switch(e.p(n)??l.find(e=>e!==`null`)??(n.properties?`object`:n.items?`array`:void 0)){case`object`:c.push(...v(n,r,i,o,s));break;case`array`:c.push(...y(n,r,i,o,s));break;case`string`:c.push(`if (typeof ${r} === "string") {`,` ${o} = ${r};`,`} else if (typeof ${r} === "number" || typeof ${r} === "boolean") {`,` ${o} = String(${r});`,`} else {`,` ${s}.push({ path: ${i}, failure: "Expected a string value" });`,` ${o} = ${r};`,`}`);break;case`integer`:c.push(`if (typeof ${r} === "number" && Number.isInteger(${r})) {`,` ${o} = ${r};`,`} else if (typeof ${r} === "string" && ${r}.trim() !== "" && Number.isInteger(Number(${r}))) {`,` ${o} = Number(${r});`,`} else if (typeof ${r} === "boolean") {`,` ${o} = ${r} ? 1 : 0;`,`} else {`,` ${s}.push({ path: ${i}, failure: "Expected an integer value" });`,` ${o} = ${r};`,`}`);break;case`number`:c.push(`if (typeof ${r} === "number") {`,` ${o} = ${r};`,`} else if (typeof ${r} === "string" && ${r}.trim() !== "" && !Number.isNaN(Number(${r}))) {`,` ${o} = Number(${r});`,`} else if (typeof ${r} === "boolean") {`,` ${o} = ${r} ? 1 : 0;`,`} else {`,` ${s}.push({ path: ${i}, failure: "Expected a number value" });`,` ${o} = ${r};`,`}`);break;case`boolean`:c.push(`if (typeof ${r} === "boolean") {`,` ${o} = ${r};`,`} else if ((typeof ${r} === "string" && (${r}.toLowerCase() === "true" || ${r}.toLowerCase() === "t" || ${r}.toLowerCase() === "yes" || ${r}.toLowerCase() === "y" || (!Number.isNaN(Number.parseInt(${r})) && Number.parseInt(${r}) > 0))) || (typeof ${r} === "number" && ${r} > 0)) {`,` ${o} = true;`,`} else if ((typeof ${r} === "string" && (${r}.toLowerCase() === "false" || ${r}.toLowerCase() === "f" || ${r}.toLowerCase() === "no" || ${r}.toLowerCase() === "n" || (!Number.isNaN(Number.parseInt(${r})) && Number.parseInt(${r}) <= 0))) || (typeof ${r} === "number" && ${r} <= 0)) {`,` ${o} = false;`,`} else {`,` ${s}.push({ path: ${i}, failure: "Expected a boolean value" });`,` ${o} = ${r};`,`}`);break;case`null`:c.push(`if (${r} === null) {`,` ${o} = null;`,`} else {`,` ${s}.push({ path: ${i}, failure: "Expected a null value" });`,` ${o} = ${r};`,`}`);break;case void 0:default:c.push(`${o} = ${r};`);break}return c}function v(t,r,i,o,s){let c=d(t),l=[`if (typeof ${r} !== "object" || ${r} === null || Array.isArray(${r})) {`,` ${s}.push({ path: ${i}, failure: "Expected an object value" });`,` ${o} = ${r};`,`} else {`],p=u(c||t.name?`${(0,a.camelCase)(c||t.name)}Schema`:`schema`);if(l.push(`const ${p} = {} as Record<string, any>`),e.F(t)){let o=new Set;for(let c of e.a(t)){o.add(c.name);let t;(0,n.isSetArray)(c.alias)?(t=`(${c.alias.map(e=>`${r}[${JSON.stringify(e)}]`).join(` ${e.V(c)?`||`:`??`} `)} ${e.V(c)?`||`:`??`} ${r}[${JSON.stringify(c.name)}])`,c.alias.forEach(e=>o.add(e))):t=`${r}[${JSON.stringify(c.name)}]`;let d=g(i,`.${c.name}`),m=u(c.name?`${(0,a.camelCase)(c.name)}Property`:`property`),h=c.default===void 0?c.required?`${s}.push({ path: ${d}, failure: "Required property is missing" });`:``:`${p}[${JSON.stringify(c.name)}] = ${JSON.stringify(c.default)};`;l.push(` if (${t} !== undefined) {`,` let ${m};`),l.push(...f(c,t,d,m,s)),l.push(`${p}[${JSON.stringify(c.name)}] = ${m};`),h?l.push(`} else { ${h} }`):l.push(`}`)}let d=t.additionalProperties;if(e.g(d)){let e=u(c||t.name?`${(0,a.camelCase)(c||t.name)}AdditionalProperties`:`additionalProperties`);l.push(` for (const key of Object.keys(${r})) {`,` if (${JSON.stringify([...o])}.includes(key)) { continue; }`,` let ${e};`),l.push(...f(d,`${r}[key]`,`${i} + "." + key`,e,s)),l.push(`${p}[key] = ${e};`,`}`)}else d!==!1&&l.push(` for (const key of Object.keys(${r})) {`,` if (${JSON.stringify([...o])}.includes(key)) { continue; }`,` ${p}[key] = ${r}[key];`,`}`)}return l.push(`${o} = ${p};`,`}`),l}function y(e,t,n,r,i){let o=[`if (!Array.isArray(${t})) {`,` ${i}.push({ path: ${n}, failure: "Expected an array value" });`,` ${r} = ${t};`,`} else {`],s=u(e.name?`${(0,a.camelCase)(e.name)}Array`:`array`);o.push(`const ${s}: unknown[] = [];`);let c=e.prefixItems??(Array.isArray(e.items)?e.items:void 0);if(c){let a=Array.isArray(e.items)?void 0:e.items;return o.push(` for (let index = 0; index < ${t}.length; index += 1) {`,` const item = ${t}[index];`,` let itemResult;`),c.forEach((e,t)=>{o.push(` ${t===0?`if`:`else if`} (index === ${t}) {`),o.push(...f(e,`item`,g(n,`[${t}]`),`itemResult`,i)),o.push(`}`)}),a?(o.push(`else {`),o.push(...f(a,`item`,`${n} + "[" + index + "]"`,`itemResult`,i)),o.push(`}`)):o.push(`else { itemResult = item; }`),o.push(` ${s}.push(itemResult);`,` }`,` ${r} = ${s};`,`}`),o}let l=e.items??!0;return o.push(` for (let index = 0; index < ${t}.length; index += 1) {`,` const item = ${t}[index];`,` let itemResult;`),o.push(...f(l,`item`,`${n} + "[" + index + "]"`,`itemResult`,i)),o.push(` ${s}.push(itemResult);`,` }`,` ${r} = ${s};`,`}`),o}return`/**
|
|
3
|
+
* Parser error constructor function.
|
|
4
|
+
*/
|
|
5
|
+
function ParserError(path, failure) {
|
|
6
|
+
this.path = path;
|
|
7
|
+
this.failure = failure;
|
|
8
|
+
this.name = "ParserError";
|
|
9
|
+
this.message = path + ": " + failure;
|
|
10
|
+
}
|
|
11
|
+
ParserError.prototype = Object.create(Error.prototype);
|
|
12
|
+
ParserError.prototype.constructor = ParserError;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Represents a parser error with path and failure message.
|
|
16
|
+
*/
|
|
17
|
+
export class ParserError extends Error {
|
|
18
|
+
constructor(
|
|
19
|
+
public path: string,
|
|
20
|
+
public failure: string
|
|
21
|
+
) {
|
|
22
|
+
super(\`\${path}: \${failure}\`);
|
|
23
|
+
this.name = "ParserError";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
${Object.entries(c).map(([e,t])=>`function ${m(e)}(inputValue, inputPath, errors) {
|
|
28
|
+
let result;
|
|
29
|
+
${f(t,`inputValue`,`inputPath`,`result`,`errors`).join(`
|
|
30
|
+
`)}
|
|
31
|
+
|
|
32
|
+
return result;
|
|
33
|
+
}`).join(`
|
|
34
|
+
|
|
35
|
+
`)}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Safely parses an input value into the type described by the JSON Schema, returning an array of validation errors when the value cannot be converted into a valid result.
|
|
39
|
+
*
|
|
40
|
+
* @remarks
|
|
41
|
+
* The parser applies default values for missing properties, coerces primitive values to the declared type, and returns an array of validation errors when the value cannot be converted into a valid result.
|
|
42
|
+
*
|
|
43
|
+
* @param value - The input value to parse.
|
|
44
|
+
* @returns The parsed value conforming to the schema or an array of validation errors.
|
|
45
|
+
*/
|
|
46
|
+
export function parseSafe(inputValue) {
|
|
47
|
+
const errors = [];
|
|
48
|
+
|
|
49
|
+
let result;
|
|
50
|
+
${f(i,`inputValue`,`"$"`,`result`,`errors`).join(`
|
|
51
|
+
`)}
|
|
52
|
+
|
|
53
|
+
if (errors.length > 0) {
|
|
54
|
+
return errors;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Parses an input value into the type described by the JSON Schema, throwing an error if the value cannot be converted into a valid result.
|
|
62
|
+
*
|
|
63
|
+
* @remarks
|
|
64
|
+
* The parser applies default values for missing properties, coerces primitive values to the declared type, and throws an error when the value cannot be converted into a valid result.
|
|
65
|
+
*
|
|
66
|
+
* @param value - The input value to parse.
|
|
67
|
+
* @returns The parsed value conforming to the schema.
|
|
68
|
+
* @throws {Error} When the input value cannot be parsed into a valid result according to the schema.
|
|
69
|
+
*/
|
|
70
|
+
export function parse(inputValue) {
|
|
71
|
+
const result = parseSafe(inputValue);
|
|
72
|
+
if (Array.isArray(result) && result.length > 0 && result.every(error => "path" in error && typeof error.path === "string" && error.path && "failure" in error && typeof error.failure === "string" && error.failure)) {
|
|
73
|
+
throw new Error(\`The following validation errors occurred while parsing the input value: \\n\${Object.entries(result.reduce((acc, error) => ((acc[error.path] ??= []).push(error.failure), acc), {})).map(([path, failures]) => \`\${path.replace(/^\\$\\./, "") ? \`\${path.replace(/^\\$\\./, "")}: \\n\` : ""}\${failures.map(failure => \` - \${failure}\`).join("\\n")}\`).join("\\n")}\`);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return result;
|
|
77
|
+
}`}exports.generateParserCode=_,exports.getJsonSchemaType=f,exports.stringifyType=d,exports.stringifyValue=u;
|
package/dist/codegen.d.cts
CHANGED
package/dist/codegen.d.mts
CHANGED
package/dist/codegen.mjs
CHANGED
|
@@ -1 +1,78 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{F as e,O as t,V as n,a as r,c as i,g as a,p as o,u as s}from"./helpers-Bh_V7xwV.mjs";import{list as c}from"@stryke/string-format/list";import{isInteger as l,isObject as u,isSetArray as d,isString as f}from"@stryke/type-checks";import{isSetString as p}from"@stryke/type-checks/is-set-string";import{toBool as m}from"@stryke/convert/to-bool";import{camelCase as h}from"@stryke/string-format/camel-case";import{isBoolean as g}from"@stryke/type-checks/is-boolean";import{isNull as _}from"@stryke/type-checks/is-null";import{isNumber as v}from"@stryke/type-checks/is-number";import{isUndefined as y}from"@stryke/type-checks/is-undefined";function b(e,t){return y(e)?`undefined`:_(e)?`null`:t===`boolean`||g(e)?String(m(e)):t===`number`||v(e)?Number.parseFloat(String(e)).toLocaleString(void 0,{maximumFractionDigits:20}):t===`integer`?Number.parseInt(String(e)).toLocaleString():t===`string`||t===`object`||t===`array`?JSON.stringify(e):String(e)}function x(n){if(!n)return`unknown`;if(typeof n==`boolean`)return n?`unknown`:`never`;if(e(n)&&p(n.name))return n.name;let s=n;if(p(s.$ref))return/^#\/(?:definitions|\$defs)\/(.+)$/.exec(s.$ref)?.[1]??s.$ref;if(t(n)&&!y(n.const))return JSON.stringify(p(n.const)?n.const.replaceAll(/^['"`]|['"`]$/g,``):n.const);let c=o(n);if(c)return c===`integer`||c===`number`?`number`:c;if(s.type===`array`&&Array.isArray(s.enum))return s.enum.map(e=>JSON.stringify(e)).join(` | `);if(s.const!==void 0)return JSON.stringify(s.const);if(s.type===`array`||s.items)return`${x(Array.isArray(s.items)?s.items[0]:s.items)}[]`;if(s.type===`object`||s.properties||s.additionalProperties){if(a(s.additionalProperties))return`{ [key: string]: ${x(s.additionalProperties)} }`;if(e(s)){let e=s.required??[];return`{ ${r(s).map(t=>{let n=!e.includes(t.name)||i(t)?`${e.includes(t.name)?``:`?`}${i(t)?` | null`:``}`:``;return`${t.name}${n}: ${x(t)}`}).join(`;
|
|
2
|
+
`)} }`}}return s.oneOf||s.anyOf?(s.oneOf??s.anyOf??[]).map(e=>x(e)).join(` | `):s.allOf?`object`:`unknown`}function S(e){return _(e)?`null`:g(e)?`boolean`:l(e)?`integer`:v(e)?`number`:f(e)?`string`:u(e)?`object`:Array.isArray(e)?`array`:void 0}function C(e){return/^#\/(?:definitions|\$defs)\/(.+)$/.exec(e)?.[1]}function w(e){let t=e.replace(/[^\w$]/gu,`_`);return`parse_${/^\d/u.test(t)?`_${t}`:t}`}function T(e){let t=e.type;return Array.isArray(t)?[...t]:t?[t]:[]}function E(e,t){return`${e} + ${JSON.stringify(t)}`}function D(t,l={}){let u=t,f=typeof u==`boolean`?{}:{...u.definitions,...u.$defs},m={};function g(e){let t=m[e]??0;return m[e]=t+1,`${e}${t>0?`${t}`:``}`}function _(e,t,n,r,a=`errors`){if(typeof e==`boolean`)return e?[`${r} = ${t};`]:[`${a}.push({ path: ${n}, failure: "No value is allowed at this location" });`,`${r} = ${t};`];if(p(e.$ref)){let i=C(e.$ref);return i&&i in f?[`${r} = ${w(i)}(${t}, ${n}, ${a});`]:[`${r} = ${t};`]}let o=g(e.name?`${h(e.name)}Value`:`value`),s=g(e.name?`${h(e.name)}Path`:`path`),c=[`const ${o} = ${t};`,`const ${s} = ${n};`];return!l.ignoreDefaults&&e.default!==void 0?(c.push(`if (${o} === undefined${e.type===`string`?` || ${o} === ""`:e.type===`number`||e.type===`integer`?` || Number.isNaN(${o})`:``}) {`,` ${r} = ${JSON.stringify(e.default)};`,`} else {`),i(e)?(c.push(` if (${o} === null) {`,` ${r} = null;`,` } else {`),c.push(...v(e,o,s,r,a)),c.push(` }`)):c.push(...v(e,o,s,r,a)),c.push(`}`),c):(c.push(`if (${o} === undefined) {`,` ${a}.push({ path: ${s}, failure: "A value is required" });`,` ${r} = ${o};`,`} else {`),i(e)?(c.push(` if (${o} === null) {`,` ${r} = null;`,` } else {`),c.push(...v(e,o,s,r,a)),c.push(` }`)):c.push(...v(e,o,s,r,a)),c.push(`}`),c)}function v(e,t,n,r,i){let a=[];if(e.const!==void 0){let o=JSON.stringify(e.const);return a.push(`if (${e.type===`string`?t:`JSON.stringify(${t})`} !== ${o}) { ${i}.push({ path: ${n}, failure: "Expected the constant value " + ${o} }); }`,`${r} = ${o};`),a}if(Array.isArray(e.enum)){let o=JSON.stringify(e.enum);return a.push(`if (!${o}.some(allowed => JSON.stringify(allowed) === JSON.stringify(${t}))) { ${i}.push({ path: ${n}, failure: \`Expected one of: ${c(e.enum.map(e=>JSON.stringify(e)),{conjunction:`or`})}, instead received: \${JSON.stringify(${t})}\` }); }`,`${r} = ${t};`),a}if(Array.isArray(e.oneOf)||Array.isArray(e.anyOf)){let o=e.oneOf??e.anyOf??[],s=g(e.name?`${h(e.name)}Matched`:`matched`);a.push(`let ${s} = false;`);for(let i of o){let o=g(e.name?`${h(e.name)}BranchErrors`:`branchErrors`),c=g(e.name?`${h(e.name)}BranchResult`:`branchResult`);a.push(`if (!${s}) {`),a.push(` const ${o}: { path: string; failure: string }[] = [];`,` let ${c};`),a.push(..._(i,t,n,c,o)),a.push(` if (${o}.length === 0) {`,` ${r} = ${c};`,` ${s} = true;`,` }`,`}`)}return a.push(`if (!${s}) {`,` ${i}.push({ path: ${n}, failure: \`The provided value \${JSON.stringify(${t})} does not match the allowed schemas\` });`,` ${r} = ${t};`,`}`),a}if(Array.isArray(e.allOf)){let{allOf:o,...c}=e,l=s(c,...o);return a.push(..._(l,t,n,r,i)),a}let l=T(e);switch(o(e)??l.find(e=>e!==`null`)??(e.properties?`object`:e.items?`array`:void 0)){case`object`:a.push(...y(e,t,n,r,i));break;case`array`:a.push(...b(e,t,n,r,i));break;case`string`:a.push(`if (typeof ${t} === "string") {`,` ${r} = ${t};`,`} else if (typeof ${t} === "number" || typeof ${t} === "boolean") {`,` ${r} = String(${t});`,`} else {`,` ${i}.push({ path: ${n}, failure: "Expected a string value" });`,` ${r} = ${t};`,`}`);break;case`integer`:a.push(`if (typeof ${t} === "number" && Number.isInteger(${t})) {`,` ${r} = ${t};`,`} else if (typeof ${t} === "string" && ${t}.trim() !== "" && Number.isInteger(Number(${t}))) {`,` ${r} = Number(${t});`,`} else if (typeof ${t} === "boolean") {`,` ${r} = ${t} ? 1 : 0;`,`} else {`,` ${i}.push({ path: ${n}, failure: "Expected an integer value" });`,` ${r} = ${t};`,`}`);break;case`number`:a.push(`if (typeof ${t} === "number") {`,` ${r} = ${t};`,`} else if (typeof ${t} === "string" && ${t}.trim() !== "" && !Number.isNaN(Number(${t}))) {`,` ${r} = Number(${t});`,`} else if (typeof ${t} === "boolean") {`,` ${r} = ${t} ? 1 : 0;`,`} else {`,` ${i}.push({ path: ${n}, failure: "Expected a number value" });`,` ${r} = ${t};`,`}`);break;case`boolean`:a.push(`if (typeof ${t} === "boolean") {`,` ${r} = ${t};`,`} else if ((typeof ${t} === "string" && (${t}.toLowerCase() === "true" || ${t}.toLowerCase() === "t" || ${t}.toLowerCase() === "yes" || ${t}.toLowerCase() === "y" || (!Number.isNaN(Number.parseInt(${t})) && Number.parseInt(${t}) > 0))) || (typeof ${t} === "number" && ${t} > 0)) {`,` ${r} = true;`,`} else if ((typeof ${t} === "string" && (${t}.toLowerCase() === "false" || ${t}.toLowerCase() === "f" || ${t}.toLowerCase() === "no" || ${t}.toLowerCase() === "n" || (!Number.isNaN(Number.parseInt(${t})) && Number.parseInt(${t}) <= 0))) || (typeof ${t} === "number" && ${t} <= 0)) {`,` ${r} = false;`,`} else {`,` ${i}.push({ path: ${n}, failure: "Expected a boolean value" });`,` ${r} = ${t};`,`}`);break;case`null`:a.push(`if (${t} === null) {`,` ${r} = null;`,`} else {`,` ${i}.push({ path: ${n}, failure: "Expected a null value" });`,` ${r} = ${t};`,`}`);break;case void 0:default:a.push(`${r} = ${t};`);break}return a}function y(t,i,o,s,c){let l=x(t),u=[`if (typeof ${i} !== "object" || ${i} === null || Array.isArray(${i})) {`,` ${c}.push({ path: ${o}, failure: "Expected an object value" });`,` ${s} = ${i};`,`} else {`],f=g(l||t.name?`${h(l||t.name)}Schema`:`schema`);if(u.push(`const ${f} = {} as Record<string, any>`),e(t)){let e=new Set;for(let a of r(t)){e.add(a.name);let t;d(a.alias)?(t=`(${a.alias.map(e=>`${i}[${JSON.stringify(e)}]`).join(` ${n(a)?`||`:`??`} `)} ${n(a)?`||`:`??`} ${i}[${JSON.stringify(a.name)}])`,a.alias.forEach(t=>e.add(t))):t=`${i}[${JSON.stringify(a.name)}]`;let r=E(o,`.${a.name}`),s=g(a.name?`${h(a.name)}Property`:`property`),l=a.default===void 0?a.required?`${c}.push({ path: ${r}, failure: "Required property is missing" });`:``:`${f}[${JSON.stringify(a.name)}] = ${JSON.stringify(a.default)};`;u.push(` if (${t} !== undefined) {`,` let ${s};`),u.push(..._(a,t,r,s,c)),u.push(`${f}[${JSON.stringify(a.name)}] = ${s};`),l?u.push(`} else { ${l} }`):u.push(`}`)}let s=t.additionalProperties;if(a(s)){let n=g(l||t.name?`${h(l||t.name)}AdditionalProperties`:`additionalProperties`);u.push(` for (const key of Object.keys(${i})) {`,` if (${JSON.stringify([...e])}.includes(key)) { continue; }`,` let ${n};`),u.push(..._(s,`${i}[key]`,`${o} + "." + key`,n,c)),u.push(`${f}[key] = ${n};`,`}`)}else s!==!1&&u.push(` for (const key of Object.keys(${i})) {`,` if (${JSON.stringify([...e])}.includes(key)) { continue; }`,` ${f}[key] = ${i}[key];`,`}`)}return u.push(`${s} = ${f};`,`}`),u}function b(e,t,n,r,i){let a=[`if (!Array.isArray(${t})) {`,` ${i}.push({ path: ${n}, failure: "Expected an array value" });`,` ${r} = ${t};`,`} else {`],o=g(e.name?`${h(e.name)}Array`:`array`);a.push(`const ${o}: unknown[] = [];`);let s=e.prefixItems??(Array.isArray(e.items)?e.items:void 0);if(s){let c=Array.isArray(e.items)?void 0:e.items;return a.push(` for (let index = 0; index < ${t}.length; index += 1) {`,` const item = ${t}[index];`,` let itemResult;`),s.forEach((e,t)=>{a.push(` ${t===0?`if`:`else if`} (index === ${t}) {`),a.push(..._(e,`item`,E(n,`[${t}]`),`itemResult`,i)),a.push(`}`)}),c?(a.push(`else {`),a.push(..._(c,`item`,`${n} + "[" + index + "]"`,`itemResult`,i)),a.push(`}`)):a.push(`else { itemResult = item; }`),a.push(` ${o}.push(itemResult);`,` }`,` ${r} = ${o};`,`}`),a}let c=e.items??!0;return a.push(` for (let index = 0; index < ${t}.length; index += 1) {`,` const item = ${t}[index];`,` let itemResult;`),a.push(..._(c,`item`,`${n} + "[" + index + "]"`,`itemResult`,i)),a.push(` ${o}.push(itemResult);`,` }`,` ${r} = ${o};`,`}`),a}return`/**
|
|
3
|
+
* Parser error constructor function.
|
|
4
|
+
*/
|
|
5
|
+
function ParserError(path, failure) {
|
|
6
|
+
this.path = path;
|
|
7
|
+
this.failure = failure;
|
|
8
|
+
this.name = "ParserError";
|
|
9
|
+
this.message = path + ": " + failure;
|
|
10
|
+
}
|
|
11
|
+
ParserError.prototype = Object.create(Error.prototype);
|
|
12
|
+
ParserError.prototype.constructor = ParserError;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Represents a parser error with path and failure message.
|
|
16
|
+
*/
|
|
17
|
+
export class ParserError extends Error {
|
|
18
|
+
constructor(
|
|
19
|
+
public path: string,
|
|
20
|
+
public failure: string
|
|
21
|
+
) {
|
|
22
|
+
super(\`\${path}: \${failure}\`);
|
|
23
|
+
this.name = "ParserError";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
${Object.entries(f).map(([e,t])=>`function ${w(e)}(inputValue, inputPath, errors) {
|
|
28
|
+
let result;
|
|
29
|
+
${_(t,`inputValue`,`inputPath`,`result`,`errors`).join(`
|
|
30
|
+
`)}
|
|
31
|
+
|
|
32
|
+
return result;
|
|
33
|
+
}`).join(`
|
|
34
|
+
|
|
35
|
+
`)}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Safely parses an input value into the type described by the JSON Schema, returning an array of validation errors when the value cannot be converted into a valid result.
|
|
39
|
+
*
|
|
40
|
+
* @remarks
|
|
41
|
+
* The parser applies default values for missing properties, coerces primitive values to the declared type, and returns an array of validation errors when the value cannot be converted into a valid result.
|
|
42
|
+
*
|
|
43
|
+
* @param value - The input value to parse.
|
|
44
|
+
* @returns The parsed value conforming to the schema or an array of validation errors.
|
|
45
|
+
*/
|
|
46
|
+
export function parseSafe(inputValue) {
|
|
47
|
+
const errors = [];
|
|
48
|
+
|
|
49
|
+
let result;
|
|
50
|
+
${_(t,`inputValue`,`"$"`,`result`,`errors`).join(`
|
|
51
|
+
`)}
|
|
52
|
+
|
|
53
|
+
if (errors.length > 0) {
|
|
54
|
+
return errors;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Parses an input value into the type described by the JSON Schema, throwing an error if the value cannot be converted into a valid result.
|
|
62
|
+
*
|
|
63
|
+
* @remarks
|
|
64
|
+
* The parser applies default values for missing properties, coerces primitive values to the declared type, and throws an error when the value cannot be converted into a valid result.
|
|
65
|
+
*
|
|
66
|
+
* @param value - The input value to parse.
|
|
67
|
+
* @returns The parsed value conforming to the schema.
|
|
68
|
+
* @throws {Error} When the input value cannot be parsed into a valid result according to the schema.
|
|
69
|
+
*/
|
|
70
|
+
export function parse(inputValue) {
|
|
71
|
+
const result = parseSafe(inputValue);
|
|
72
|
+
if (Array.isArray(result) && result.length > 0 && result.every(error => "path" in error && typeof error.path === "string" && error.path && "failure" in error && typeof error.failure === "string" && error.failure)) {
|
|
73
|
+
throw new Error(\`The following validation errors occurred while parsing the input value: \\n\${Object.entries(result.reduce((acc, error) => ((acc[error.path] ??= []).push(error.failure), acc), {})).map(([path, failures]) => \`\${path.replace(/^\\$\\./, "") ? \`\${path.replace(/^\\$\\./, "")}: \\n\` : ""}\${failures.map(failure => \` - \${failure}\`).join("\\n")}\`).join("\\n")}\`);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return result;
|
|
77
|
+
}`}export{D as generateParserCode,S as getJsonSchemaType,x as stringifyType,b as stringifyValue};
|
|
78
|
+
//# sourceMappingURL=codegen.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c={STRING:`string`,NUMBER:`number`,INTEGER:`integer`,BOOLEAN:`boolean`,NULL:`null`,OBJECT:`object`,ARRAY:`array`},l=[c.STRING,c.NUMBER,c.INTEGER,c.BOOLEAN,c.NULL],u=[...l,c.ARRAY,c.OBJECT],d=[`$id`,`$schema`,`$vocabulary`,`$comment`,`$anchor`,`$defs`,`$dynamicRef`,`$dynamicAnchor`,`alias`,`deprecated`,`description`,`title`,`docs`,`examples`,`hidden`,`ignore`,`internal`,`name`,`readOnly`,`runtime`,`tags`,`version`,`writeOnly`],f=new Set([`properties`,`patternProperties`,`$defs`,`definitions`,`dependentSchemas`]),p=new Set([`if`,`then`,`else`,`not`,`contains`,`items`,`additionalProperties`,`unevaluatedProperties`,`propertyNames`,`unevaluatedItems`]),m=new Set([`allOf`,`anyOf`,`oneOf`]);Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e={STRING:`string`,NUMBER:`number`,INTEGER:`integer`,BOOLEAN:`boolean`,NULL:`null`,OBJECT:`object`,ARRAY:`array`},t=[e.STRING,e.NUMBER,e.INTEGER,e.BOOLEAN,e.NULL],n=[...t,e.ARRAY,e.OBJECT],r=[`$id`,`$schema`,`$vocabulary`,`$comment`,`$anchor`,`$defs`,`$dynamicRef`,`$dynamicAnchor`,`alias`,`deprecated`,`description`,`title`,`docs`,`examples`,`hidden`,`ignore`,`internal`,`name`,`readOnly`,`runtime`,`tags`,`version`,`writeOnly`],i=new Set([`properties`,`patternProperties`,`$defs`,`definitions`,`dependentSchemas`]),a=new Set([`if`,`then`,`else`,`not`,`contains`,`items`,`additionalProperties`,`unevaluatedProperties`,`propertyNames`,`unevaluatedItems`]),o=new Set([`allOf`,`anyOf`,`oneOf`]);export{o as a,e as i,t as n,i as o,n as r,a as s,r as t};
|
|
2
|
+
//# sourceMappingURL=constants-lk1mMbgx.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants-lk1mMbgx.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./constants-CwyhgVEl.cjs");let t=require("@stryke/path/find"),n=require("@stryke/resolve/constants"),r=require("@stryke/type-checks"),i=require("@stryke/type-checks/is-set-object"),a=require("@stryke/helpers/get-unique"),o=require("defu");o=e.c(o,1);let s=require("@stryke/type-checks/is-set-string");function ee(e){return!(0,r.isString)(e)&&e.file!==void 0}const c=e=>typeof e==`number`&&Number.isFinite(e),te=e=>(0,r.isSetObject)(e)||(0,r.isBoolean)(e),l=e=>(0,r.isSetObject)(e)&&Object.values(e).every(e=>te(e)),ne=e=>(0,r.isSetObject)(e)&&Object.values(e).every(e=>(0,r.isBoolean)(e)),u=e=>Array.isArray(e)&&e.every(e=>(0,r.isSetString)(e)),re=e=>(0,r.isSetObject)(e)&&Object.values(e).every(e=>u(e)),d=new Set(e.n),f=new Set(e.r);function ie(e){return(0,r.isSetString)(e)&&d.has(e)}function ae(e){return(0,r.isSetString)(e)&&f.has(e)}const oe=new Set([`date`,`time`,`date-time`,`iso-time`,`iso-date-time`,`unix-time`]),p=e=>typeof e==`bigint`,se=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`function`,`object`,`any`,`array`]),m=e=>(0,r.isSetString)(e)&&se.has(e),h=e=>{if(!(0,r.isSetObject)(e))return!1;let t=e;return!(t.type!==void 0&&!((0,r.isSetString)(t.type)&&m(t.type)||Array.isArray(t.type)&&t.type.every(e=>m(e)))||t.tsType!==void 0&&!(0,r.isSetString)(t.tsType)||t.markdownType!==void 0&&!(0,r.isSetString)(t.markdownType)||t.items!==void 0&&!(h(t.items)||Array.isArray(t.items)&&t.items.every(e=>h(e))))},ce=e=>{if(!h(e))return!1;let t=e;return t.name!==void 0&&!(0,r.isSetString)(t.name)?!1:t.optional===void 0||typeof t.optional==`boolean`},le=e=>(0,r.isSetObject)(e)&&Object.values(e).every(e=>K(e)),g=(e,t)=>Array.isArray(e)&&e.every(e=>t(e)),ue=(e,t,n)=>Array.isArray(e)&&e.length===2&&t(e[0])&&n(e[1]),_=(e,t=!1)=>e===void 0||(0,r.isString)(e)&&(t||e.length>0),v=e=>e===void 0||(0,r.isBoolean)(e),y=e=>e===void 0||c(e),b=e=>e===void 0||p(e),x=e=>e===void 0||G(e),S=e=>e===void 0||g(e,G),de=e=>e===void 0||Array.isArray(e)&&e.every(e=>(0,r.isSetString)(e)&&d.has(e)),fe=e=>e===void 0||Array.isArray(e)&&e.every(e=>(0,r.isSetString)(e)&&f.has(e)),C=e=>!(!_(e.$id)||!_(e.$schema)||e.$vocabulary!==void 0&&!ne(e.$vocabulary)||!_(e.$comment,!0)||!_(e.$anchor)||e.$defs!==void 0&&!l(e.$defs)||!_(e.$dynamicRef)||!_(e.$dynamicAnchor)||!_(e.name)||!_(e.title,!0)||!_(e.description,!0)||!_(e.docs,!0)||e.examples!==void 0&&!Array.isArray(e.examples)||e.alias!==void 0&&!u(e.alias)||e.tags!==void 0&&!u(e.tags)||!v(e.deprecated)||!v(e.hidden)||!v(e.ignore)||!v(e.internal)||!v(e.runtime)||!v(e.readOnly)||!v(e.writeOnly)||!S(e.allOf)||!S(e.anyOf)||!S(e.oneOf)||!x(e.not)||!x(e.if)||!x(e.then)||!x(e.else));function pe(e){return(0,r.isSetObject)(e)?C(e):!1}function w(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&_(t.$ref)}function T(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return!C(t)||t.type!==`array`?!1:S(t.prefixItems)&&x(t.items)&&x(t.contains)&&y(t.minItems)&&y(t.maxItems)&&v(t.uniqueItems)&&y(t.minContains)&&y(t.maxContains)&&(t.unevaluatedItems===void 0||(0,r.isBoolean)(t.unevaluatedItems)||G(t.unevaluatedItems))}function E(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return!C(t)||t.type!==`integer`||t.format!==`int64`?!1:b(t.minimum)&&b(t.exclusiveMinimum)&&b(t.maximum)&&b(t.exclusiveMaximum)&&b(t.multipleOf)&&b(t.default)&&(t.enum===void 0||g(t.enum,p))}function D(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&t.type===`boolean`&&v(t.default)}function O(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)?t.anyOf===void 0?t.type!==`integer`&&t.type!==`string`||!(0,r.isSetString)(t.format)||!oe.has(t.format)?!1:y(t.minimum)&&y(t.maximum)&&(t.default===void 0||(0,r.isSetString)(t.default)||c(t.default)):g(t.anyOf,O):!1}function k(e){if(!(0,r.isSetObject)(e))return!1;let t=e;if(!C(t)||!(0,r.isSetString)(t.type)||!d.has(t.type)||!Array.isArray(t.enum))return!1;let n=t.type,i=t.enum,a=t.default;return n===`string`?i.every(e=>(0,r.isSetString)(e))&&(a===void 0||(0,r.isSetString)(a)):n===`number`||n===`integer`?i.every(e=>c(e))&&(a===void 0||c(a)):n===`boolean`?i.every(e=>(0,r.isBoolean)(e))&&(a===void 0||(0,r.isBoolean)(a)):n===`null`&&i.every(e=>e===null)&&a==null}function A(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return!C(t)||!g(t.allOf,G)?!1:t.unevaluatedProperties===void 0||(0,r.isBoolean)(t.unevaluatedProperties)||G(t.unevaluatedProperties)}function j(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return!C(t)||!(`const`in t)?!1:t.type===void 0||(0,r.isSetString)(t.type)&&ae(t.type)||fe(t.type)}function M(e){if(!(0,r.isSetObject)(e))return!1;let t=e;if(!C(t)||t.type!==`array`||t.maxItems!==125||!(0,r.isSetObject)(t.items))return!1;let n=t.items;return n.type===`array`&&ue(n.prefixItems,G,G)&&(n.items===void 0||n.items===!1)&&n.minItems===2&&n.maxItems===2}function N(e){if(!(0,r.isSetObject)(e))return!1;let t=e,n=t.type===`string`||t.type===`number`||Array.isArray(t.type)&&t.type.length===2&&t.type[0]===`string`&&t.type[1]===`number`;return C(t)&&n&&Array.isArray(t.enum)&&t.enum.every(e=>(0,r.isSetString)(e)||c(e))}function P(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&w(t.not)}function F(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&t.type===`null`&&(t.const===void 0||t.const===null)&&(t.enum===void 0||Array.isArray(t.enum)&&t.enum.every(e=>e===null))&&(t.default===void 0||t.default===null)}function I(e){if(!(0,r.isSetObject)(e))return!1;let t=e;if(!C(t))return!1;let n=t.anyOf!==void 0&&Array.isArray(t.anyOf)&&t.anyOf.length===2&&G(t.anyOf[0])&&F(t.anyOf[1]),i=Array.isArray(t.type)&&t.type.length===2&&(t.type[0]===`null`&&(0,r.isSetString)(t.type[1])&&t.type[1]!==`null`&&f.has(t.type[1])||t.type[1]===`null`&&(0,r.isSetString)(t.type[0])&&t.type[0]!==`null`&&f.has(t.type[0]));return n||i}function L(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return!C(t)||t.type!==`number`&&t.type!==`integer`?!1:_(t.format)&&y(t.minimum)&&y(t.exclusiveMinimum)&&y(t.maximum)&&y(t.exclusiveMaximum)&&y(t.multipleOf)&&y(t.default)&&(t.enum===void 0||g(t.enum,c))}function R(e){return L(e)&&e.type===`integer`}function z(e){return L(e)&&e.type===`number`}function B(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&t.type===`object`&&(t.properties===void 0||l(t.properties))&&(t.patternProperties===void 0||l(t.patternProperties))&&(t.additionalProperties===void 0||(0,r.isBoolean)(t.additionalProperties)||G(t.additionalProperties))&&(t.required===void 0||u(t.required))&&(t.unevaluatedProperties===void 0||(0,r.isBoolean)(t.unevaluatedProperties)||G(t.unevaluatedProperties))&&(t.dependencies===void 0||(0,r.isSetObject)(t.dependencies)&&Object.values(t.dependencies).every(e=>u(e)||G(e)))&&(t.dependentRequired===void 0||re(t.dependentRequired))&&(t.dependentSchemas===void 0||l(t.dependentSchemas))&&y(t.minProperties)&&y(t.maxProperties)&&(t.primaryKey===void 0||u(t.primaryKey))&&_(t.databaseSchema)}function V(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&t.type===`string`&&y(t.minLength)&&y(t.maxLength)&&_(t.pattern)&&_(t.format)&&_(t.default)&&(t.enum===void 0||g(t.enum,r.isSetString))&&_(t.contentMediaType)&&_(t.contentEncoding)&&_(t.contentSchema)}function H(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&t.type===`array`&&t.uniqueItems===!0&&S(t.prefixItems)&&x(t.items)&&x(t.contains)&&y(t.minItems)&&y(t.maxItems)&&y(t.minContains)&&y(t.maxContains)&&(t.unevaluatedItems===void 0||(0,r.isBoolean)(t.unevaluatedItems)||G(t.unevaluatedItems))}function U(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&t.type===`object`&&(t.patternProperties===void 0||l(t.patternProperties))&&(t.additionalProperties===void 0||(0,r.isBoolean)(t.additionalProperties)||G(t.additionalProperties))&&x(t.propertyNames)}function W(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&t.type===`array`&&g(t.prefixItems,G)&&y(t.minItems)&&y(t.maxItems)&&x(t.items)&&x(t.contains)&&v(t.uniqueItems)&&y(t.minContains)&&y(t.maxContains)&&(t.unevaluatedItems===void 0||(0,r.isBoolean)(t.unevaluatedItems)||G(t.unevaluatedItems))}function me(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&w(t.not)&&(t.default===void 0||t.default===void 0)}function he(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)?(0,r.isSetString)(t.type)&&d.has(t.type)?t.enum===void 0?!0:Array.isArray(t.enum)?t.type===`string`?t.enum.every(e=>(0,r.isSetString)(e))&&(t.default===void 0||(0,r.isSetString)(t.default)):t.type===`number`?t.enum.every(e=>c(e))&&(t.default===void 0||c(t.default)):t.type===`boolean`?t.enum.every(e=>(0,r.isBoolean)(e))&&(t.default===void 0||(0,r.isBoolean)(t.default)):t.type===`integer`?t.format===`int64`?t.enum.every(e=>p(e))&&(t.default===void 0||p(t.default)):!1:t.type===`null`&&t.enum.every(e=>e===null)&&(t.default===void 0||t.default===null):!1:de(t.type)&&t.type!==void 0:!1}function ge(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&(he(t)||ve(t))}function _e(e){return w(e)}function ve(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&g(t.anyOf,G)}function ye(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return C(t)&&(0,r.isSetString)(t.$ref)}function be(e){if(!(0,r.isSetObject)(e))return!1;let t=e;if(!(0,r.isSetObject)(t[`~standard`]))return!1;let n=t[`~standard`];return n.version===1&&(0,r.isFunction)(n.validate)}function xe(e){if(!(0,r.isSetObject)(e)||!be(e))return!1;let t=e;return t.kind===`schema`&&(0,r.isSetString)(t.type)&&(0,r.isBoolean)(t.async)&&(0,r.isFunction)(t.reference)&&(0,r.isSetString)(t.expects)&&(0,r.isFunction)(t[`~run`])}function G(e){return V(e)||R(e)||z(e)||E(e)||D(e)||O(e)||k(e)||j(e)||N(e)||F(e)||T(e)||B(e)||U(e)||W(e)||ge(e)||me(e)||ye(e)||P(e)||M(e)||w(e)||I(e)||A(e)||_e(e)||H(e)}function Se(e){return F(e)}function K(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return!(!h(t)||`id`in t&&!(0,r.isSetString)(t.id)||`resolve`in t&&!(0,r.isFunction)(t.resolve)||`properties`in t&&!le(t.properties)||`required`in t&&!u(t.required)||`title`in t&&!(0,r.isSetString)(t.title)||`description`in t&&!(0,r.isSetString)(t.description)||`$schema`in t&&!(0,r.isSetString)(t.$schema)||`tags`in t&&!u(t.tags)||`args`in t&&(!Array.isArray(t.args)||!t.args.every(e=>ce(e)))||`returns`in t&&!h(t.returns))}function Ce(e){return K(e)&&!G(e)}function we(e){if(!(0,r.isSetObject)(e))return!1;let t=e;return!(`$schema`in t&&!K(t.$schema)||`$resolve`in t&&!(0,r.isFunction)(t.$resolve))}function Te(e){if(!we(e)||G(e))return!1;let t=e;return!(`$schema`in t&&t.$schema!==void 0&&!Ce(t.$schema))}function q(e){return(0,r.isSetObject)(e)&&`schema`in e&&G(e.schema)&&`variant`in e&&(0,r.isSetString)(e.variant)&&`hash`in e&&(0,r.isSetString)(e.hash)}function Ee(e){return q(e)}function De(e){return q(e)&&`source`in e&&(0,r.isSetObject)(e.source)&&`schema`in e.source&&`variant`in e.source&&(0,r.isSetString)(e.source.variant)}function Oe(e){return q(e)&&B(e.schema)}function ke(t,n){if(!n||!(0,i.isSetObject)(t))return t;let r={...t},a=r;for(let t of e.t){let e=n[t];e!=null&&(a[t]=e)}return r}function J(e){if(!(0,i.isSetObject)(e))return[];let t=e;return Array.isArray(t.type)?t.type.filter(e=>(0,s.isSetString)(e)):(0,s.isSetString)(t.type)&&t.type!==`object`&&t.type!==`array`?[t.type]:[]}function Ae(e){if((0,i.isSetObject)(e))return J(e).find(e=>e!==`null`)}function Y(e){let t=q(e)?e.schema:e;if(!G(t))throw TypeError(`The provided input is not a valid JSON Schema`);return t}function X(e){let t=Y(e);if(!B(t))throw TypeError(`The provided input is not a valid JSON Schema object`);return t}function Z(e){let t=X(e);return(0,r.isSetObject)(t.properties)?Object.entries(t.properties).reduce((e,[n,r])=>(r.name=n,r.required=!$(t,n),r.default=t.default?.[n]??r.default,e[n]=r,e),{}):{}}function je(e){return Object.values(Z(e))}function Me(e,t){let n=X(e);if(!(0,r.isSetObject)(n.properties))throw TypeError(`The provided schema does not have any properties`);let i=n.properties[t];if(!i)throw TypeError(`The provided schema does not have a property named "${t}"`);return{...i,name:t,required:!$(n,t),default:n.default?.[t]??i?.default}}function Ne(e,t,n){let r=X(e);r.properties??={},r.required??=[],n.name=t,r.properties[t]=n,r.required.includes(t)||r.required.push(t),r.required.length===0&&delete r.required}function Q(t,n){let i={...t};for(let[t,o]of Object.entries(n)){let n=i[t];if(t===`required`)i[t]=(0,a.getUnique)([...Array.isArray(n)?n:[],...Array.isArray(o)?o:[]]);else if(e.o.has(t)&&(0,r.isSetObject)(n)&&(0,r.isSetObject)(o)){let e={...n};for(let[t,n]of Object.entries(o)){let r=e[t];e[t]=G(r)&&G(n)?Q(r,n):n}i[t]=e}else e.a.has(t)&&Array.isArray(n)&&Array.isArray(o)?i[t]=[...n,...o]:e.s.has(t)&&G(n)&&G(o)?i[t]=Q(n,o):i[t]=o}return i}function Pe(...e){let t=e.map(e=>Y(e));return t.length===0?{}:t.reduce((e,t)=>{let n=e.type,r=t.type;return n&&r&&n!==r?t:Q(e,t)})}function Fe(t,n){return(0,o.default)(t,Object.fromEntries(e.t.filter(e=>n[e]!==void 0).map(e=>[e,n[e]])))}function Ie(e){return(0,r.isSetObject)(e)?e.nullable===!0?!0:J(e).includes(`null`):!1}function $(e,t){if(!e.properties?.[t])throw Error(`The property "${t}" does not exist in the parent schema.`);return!(e.required??[]).includes(t)}function Le(e){return n.VALID_OBJECT_SOURCE_EXTENSIONS.includes((0,t.findFileExtensionSafe)(e))}Object.defineProperty(exports,"$",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"J",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"Q",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"X",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"Y",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,"Z",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,"et",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"nt",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,"q",{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"rt",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"tt",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return ye}});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e,n as t,o as n,r,s as i,t as a}from"./constants-lk1mMbgx.mjs";import{findFileExtensionSafe as o}from"@stryke/path/find";import{VALID_OBJECT_SOURCE_EXTENSIONS as ee}from"@stryke/resolve/constants";import{isBoolean as s,isFunction as c,isSetObject as l,isSetString as u,isString as te}from"@stryke/type-checks";import{isSetObject as d}from"@stryke/type-checks/is-set-object";import{getUnique as ne}from"@stryke/helpers/get-unique";import re from"defu";import{isSetString as f}from"@stryke/type-checks/is-set-string";function ie(e){return!te(e)&&e.file!==void 0}const p=e=>typeof e==`number`&&Number.isFinite(e),ae=e=>l(e)||s(e),m=e=>l(e)&&Object.values(e).every(e=>ae(e)),oe=e=>l(e)&&Object.values(e).every(e=>s(e)),h=e=>Array.isArray(e)&&e.every(e=>u(e)),se=e=>l(e)&&Object.values(e).every(e=>h(e)),g=new Set(t),_=new Set(r);function ce(e){return u(e)&&g.has(e)}function v(e){return u(e)&&_.has(e)}const le=new Set([`date`,`time`,`date-time`,`iso-time`,`iso-date-time`,`unix-time`]),y=e=>typeof e==`bigint`,ue=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`function`,`object`,`any`,`array`]),b=e=>u(e)&&ue.has(e),x=e=>{if(!l(e))return!1;let t=e;return!(t.type!==void 0&&!(u(t.type)&&b(t.type)||Array.isArray(t.type)&&t.type.every(e=>b(e)))||t.tsType!==void 0&&!u(t.tsType)||t.markdownType!==void 0&&!u(t.markdownType)||t.items!==void 0&&!(x(t.items)||Array.isArray(t.items)&&t.items.every(e=>x(e))))},de=e=>{if(!x(e))return!1;let t=e;return t.name!==void 0&&!u(t.name)?!1:t.optional===void 0||typeof t.optional==`boolean`},fe=e=>l(e)&&Object.values(e).every(e=>q(e)),S=(e,t)=>Array.isArray(e)&&e.every(e=>t(e)),pe=(e,t,n)=>Array.isArray(e)&&e.length===2&&t(e[0])&&n(e[1]),C=(e,t=!1)=>e===void 0||te(e)&&(t||e.length>0),w=e=>e===void 0||s(e),T=e=>e===void 0||p(e),E=e=>e===void 0||y(e),D=e=>e===void 0||K(e),O=e=>e===void 0||S(e,K),me=e=>e===void 0||Array.isArray(e)&&e.every(e=>u(e)&&g.has(e)),he=e=>e===void 0||Array.isArray(e)&&e.every(e=>u(e)&&_.has(e)),k=e=>!(!C(e.$id)||!C(e.$schema)||e.$vocabulary!==void 0&&!oe(e.$vocabulary)||!C(e.$comment,!0)||!C(e.$anchor)||e.$defs!==void 0&&!m(e.$defs)||!C(e.$dynamicRef)||!C(e.$dynamicAnchor)||!C(e.name)||!C(e.title,!0)||!C(e.description,!0)||!C(e.docs,!0)||e.examples!==void 0&&!Array.isArray(e.examples)||e.alias!==void 0&&!h(e.alias)||e.tags!==void 0&&!h(e.tags)||!w(e.deprecated)||!w(e.hidden)||!w(e.ignore)||!w(e.internal)||!w(e.runtime)||!w(e.readOnly)||!w(e.writeOnly)||!O(e.allOf)||!O(e.anyOf)||!O(e.oneOf)||!D(e.not)||!D(e.if)||!D(e.then)||!D(e.else));function ge(e){return l(e)?k(e):!1}function A(e){if(!l(e))return!1;let t=e;return k(t)&&C(t.$ref)}function j(e){if(!l(e))return!1;let t=e;return!k(t)||t.type!==`array`?!1:O(t.prefixItems)&&D(t.items)&&D(t.contains)&&T(t.minItems)&&T(t.maxItems)&&w(t.uniqueItems)&&T(t.minContains)&&T(t.maxContains)&&(t.unevaluatedItems===void 0||s(t.unevaluatedItems)||K(t.unevaluatedItems))}function M(e){if(!l(e))return!1;let t=e;return!k(t)||t.type!==`integer`||t.format!==`int64`?!1:E(t.minimum)&&E(t.exclusiveMinimum)&&E(t.maximum)&&E(t.exclusiveMaximum)&&E(t.multipleOf)&&E(t.default)&&(t.enum===void 0||S(t.enum,y))}function N(e){if(!l(e))return!1;let t=e;return k(t)&&t.type===`boolean`&&w(t.default)}function P(e){if(!l(e))return!1;let t=e;return k(t)?t.anyOf===void 0?t.type!==`integer`&&t.type!==`string`||!u(t.format)||!le.has(t.format)?!1:T(t.minimum)&&T(t.maximum)&&(t.default===void 0||u(t.default)||p(t.default)):S(t.anyOf,P):!1}function F(e){if(!l(e))return!1;let t=e;if(!k(t)||!u(t.type)||!g.has(t.type)||!Array.isArray(t.enum))return!1;let n=t.type,r=t.enum,i=t.default;return n===`string`?r.every(e=>u(e))&&(i===void 0||u(i)):n===`number`||n===`integer`?r.every(e=>p(e))&&(i===void 0||p(i)):n===`boolean`?r.every(e=>s(e))&&(i===void 0||s(i)):n===`null`&&r.every(e=>e===null)&&i==null}function I(e){if(!l(e))return!1;let t=e;return!k(t)||!S(t.allOf,K)?!1:t.unevaluatedProperties===void 0||s(t.unevaluatedProperties)||K(t.unevaluatedProperties)}function L(e){if(!l(e))return!1;let t=e;return!k(t)||!(`const`in t)?!1:t.type===void 0||u(t.type)&&v(t.type)||he(t.type)}function R(e){if(!l(e))return!1;let t=e;if(!k(t)||t.type!==`array`||t.maxItems!==125||!l(t.items))return!1;let n=t.items;return n.type===`array`&&pe(n.prefixItems,K,K)&&(n.items===void 0||n.items===!1)&&n.minItems===2&&n.maxItems===2}function z(e){if(!l(e))return!1;let t=e,n=t.type===`string`||t.type===`number`||Array.isArray(t.type)&&t.type.length===2&&t.type[0]===`string`&&t.type[1]===`number`;return k(t)&&n&&Array.isArray(t.enum)&&t.enum.every(e=>u(e)||p(e))}function B(e){if(!l(e))return!1;let t=e;return k(t)&&A(t.not)}function V(e){if(!l(e))return!1;let t=e;return k(t)&&t.type===`null`&&(t.const===void 0||t.const===null)&&(t.enum===void 0||Array.isArray(t.enum)&&t.enum.every(e=>e===null))&&(t.default===void 0||t.default===null)}function H(e){if(!l(e))return!1;let t=e;if(!k(t))return!1;let n=t.anyOf!==void 0&&Array.isArray(t.anyOf)&&t.anyOf.length===2&&K(t.anyOf[0])&&V(t.anyOf[1]),r=Array.isArray(t.type)&&t.type.length===2&&(t.type[0]===`null`&&u(t.type[1])&&t.type[1]!==`null`&&_.has(t.type[1])||t.type[1]===`null`&&u(t.type[0])&&t.type[0]!==`null`&&_.has(t.type[0]));return n||r}function U(e){if(!l(e))return!1;let t=e;return!k(t)||t.type!==`number`&&t.type!==`integer`?!1:C(t.format)&&T(t.minimum)&&T(t.exclusiveMinimum)&&T(t.maximum)&&T(t.exclusiveMaximum)&&T(t.multipleOf)&&T(t.default)&&(t.enum===void 0||S(t.enum,p))}function W(e){return U(e)&&e.type===`integer`}function _e(e){return U(e)&&e.type===`number`}function G(e){if(!l(e))return!1;let t=e;return k(t)&&t.type===`object`&&(t.properties===void 0||m(t.properties))&&(t.patternProperties===void 0||m(t.patternProperties))&&(t.additionalProperties===void 0||s(t.additionalProperties)||K(t.additionalProperties))&&(t.required===void 0||h(t.required))&&(t.unevaluatedProperties===void 0||s(t.unevaluatedProperties)||K(t.unevaluatedProperties))&&(t.dependencies===void 0||l(t.dependencies)&&Object.values(t.dependencies).every(e=>h(e)||K(e)))&&(t.dependentRequired===void 0||se(t.dependentRequired))&&(t.dependentSchemas===void 0||m(t.dependentSchemas))&&T(t.minProperties)&&T(t.maxProperties)&&(t.primaryKey===void 0||h(t.primaryKey))&&C(t.databaseSchema)}function ve(e){if(!l(e))return!1;let t=e;return k(t)&&t.type===`string`&&T(t.minLength)&&T(t.maxLength)&&C(t.pattern)&&C(t.format)&&C(t.default)&&(t.enum===void 0||S(t.enum,u))&&C(t.contentMediaType)&&C(t.contentEncoding)&&C(t.contentSchema)}function ye(e){if(!l(e))return!1;let t=e;return k(t)&&t.type===`array`&&t.uniqueItems===!0&&O(t.prefixItems)&&D(t.items)&&D(t.contains)&&T(t.minItems)&&T(t.maxItems)&&T(t.minContains)&&T(t.maxContains)&&(t.unevaluatedItems===void 0||s(t.unevaluatedItems)||K(t.unevaluatedItems))}function be(e){if(!l(e))return!1;let t=e;return k(t)&&t.type===`object`&&(t.patternProperties===void 0||m(t.patternProperties))&&(t.additionalProperties===void 0||s(t.additionalProperties)||K(t.additionalProperties))&&D(t.propertyNames)}function xe(e){if(!l(e))return!1;let t=e;return k(t)&&t.type===`array`&&S(t.prefixItems,K)&&T(t.minItems)&&T(t.maxItems)&&D(t.items)&&D(t.contains)&&w(t.uniqueItems)&&T(t.minContains)&&T(t.maxContains)&&(t.unevaluatedItems===void 0||s(t.unevaluatedItems)||K(t.unevaluatedItems))}function Se(e){if(!l(e))return!1;let t=e;return k(t)&&A(t.not)&&(t.default===void 0||t.default===void 0)}function Ce(e){if(!l(e))return!1;let t=e;return k(t)?u(t.type)&&g.has(t.type)?t.enum===void 0?!0:Array.isArray(t.enum)?t.type===`string`?t.enum.every(e=>u(e))&&(t.default===void 0||u(t.default)):t.type===`number`?t.enum.every(e=>p(e))&&(t.default===void 0||p(t.default)):t.type===`boolean`?t.enum.every(e=>s(e))&&(t.default===void 0||s(t.default)):t.type===`integer`?t.format===`int64`?t.enum.every(e=>y(e))&&(t.default===void 0||y(t.default)):!1:t.type===`null`&&t.enum.every(e=>e===null)&&(t.default===void 0||t.default===null):!1:me(t.type)&&t.type!==void 0:!1}function we(e){if(!l(e))return!1;let t=e;return k(t)&&(Ce(t)||Ee(t))}function Te(e){return A(e)}function Ee(e){if(!l(e))return!1;let t=e;return k(t)&&S(t.anyOf,K)}function De(e){if(!l(e))return!1;let t=e;return k(t)&&u(t.$ref)}function Oe(e){if(!l(e))return!1;let t=e;if(!l(t[`~standard`]))return!1;let n=t[`~standard`];return n.version===1&&c(n.validate)}function ke(e){if(!l(e)||!Oe(e))return!1;let t=e;return t.kind===`schema`&&u(t.type)&&s(t.async)&&c(t.reference)&&u(t.expects)&&c(t[`~run`])}function K(e){return ve(e)||W(e)||_e(e)||M(e)||N(e)||P(e)||F(e)||L(e)||z(e)||V(e)||j(e)||G(e)||be(e)||xe(e)||we(e)||Se(e)||De(e)||B(e)||R(e)||A(e)||H(e)||I(e)||Te(e)||ye(e)}function Ae(e){return V(e)}function q(e){if(!l(e))return!1;let t=e;return!(!x(t)||`id`in t&&!u(t.id)||`resolve`in t&&!c(t.resolve)||`properties`in t&&!fe(t.properties)||`required`in t&&!h(t.required)||`title`in t&&!u(t.title)||`description`in t&&!u(t.description)||`$schema`in t&&!u(t.$schema)||`tags`in t&&!h(t.tags)||`args`in t&&(!Array.isArray(t.args)||!t.args.every(e=>de(e)))||`returns`in t&&!x(t.returns))}function je(e){return q(e)&&!K(e)}function Me(e){if(!l(e))return!1;let t=e;return!(`$schema`in t&&!q(t.$schema)||`$resolve`in t&&!c(t.$resolve))}function Ne(e){if(!Me(e)||K(e))return!1;let t=e;return!(`$schema`in t&&t.$schema!==void 0&&!je(t.$schema))}function J(e){return l(e)&&`schema`in e&&K(e.schema)&&`variant`in e&&u(e.variant)&&`hash`in e&&u(e.hash)}function Pe(e){return J(e)}function Fe(e){return J(e)&&`source`in e&&l(e.source)&&`schema`in e.source&&`variant`in e.source&&u(e.source.variant)}function Ie(e){return J(e)&&G(e.schema)}function Le(e,t){if(!t||!d(e))return e;let n={...e},r=n;for(let e of a){let n=t[e];n!=null&&(r[e]=n)}return n}function Y(e){if(!d(e))return[];let t=e;return Array.isArray(t.type)?t.type.filter(e=>f(e)):f(t.type)&&t.type!==`object`&&t.type!==`array`?[t.type]:[]}function Re(e){if(d(e))return Y(e).find(e=>e!==`null`)}function X(e){let t=J(e)?e.schema:e;if(!K(t))throw TypeError(`The provided input is not a valid JSON Schema`);return t}function Z(e){let t=X(e);if(!G(t))throw TypeError(`The provided input is not a valid JSON Schema object`);return t}function ze(e){let t=Z(e);return l(t.properties)?Object.entries(t.properties).reduce((e,[n,r])=>(r.name=n,r.required=!$(t,n),r.default=t.default?.[n]??r.default,e[n]=r,e),{}):{}}function Be(e){return Object.values(ze(e))}function Ve(e,t){let n=Z(e);if(!l(n.properties))throw TypeError(`The provided schema does not have any properties`);let r=n.properties[t];if(!r)throw TypeError(`The provided schema does not have a property named "${t}"`);return{...r,name:t,required:!$(n,t),default:n.default?.[t]??r?.default}}function He(e,t,n){let r=Z(e);r.properties??={},r.required??=[],n.name=t,r.properties[t]=n,r.required.includes(t)||r.required.push(t),r.required.length===0&&delete r.required}function Q(t,r){let a={...t};for(let[t,o]of Object.entries(r)){let r=a[t];if(t===`required`)a[t]=ne([...Array.isArray(r)?r:[],...Array.isArray(o)?o:[]]);else if(n.has(t)&&l(r)&&l(o)){let e={...r};for(let[t,n]of Object.entries(o)){let r=e[t];e[t]=K(r)&&K(n)?Q(r,n):n}a[t]=e}else e.has(t)&&Array.isArray(r)&&Array.isArray(o)?a[t]=[...r,...o]:i.has(t)&&K(r)&&K(o)?a[t]=Q(r,o):a[t]=o}return a}function Ue(...e){let t=e.map(e=>X(e));return t.length===0?{}:t.reduce((e,t)=>{let n=e.type,r=t.type;return n&&r&&n!==r?t:Q(e,t)})}function We(e,t){return re(e,Object.fromEntries(a.filter(e=>t[e]!==void 0).map(e=>[e,t[e]])))}function Ge(e){return l(e)?e.nullable===!0?!0:Y(e).includes(`null`):!1}function $(e,t){if(!e.properties?.[t])throw Error(`The property "${t}" does not exist in the parent schema.`);return!(e.required??[]).includes(t)}function Ke(e){return ee.includes(o(e))}export{Me as $,z as A,ye as B,P as C,ge as D,W as E,G as F,we as G,xe as H,ce as I,J,Te as K,Ce as L,V as M,H as N,L as O,U as P,Oe as Q,be as R,N as S,F as T,v as U,ve as V,Se as W,Pe as X,Ie as Y,Fe as Z,I as _,Be as a,j as b,Ge as c,We as d,Ne as et,Le as f,K as g,ie as h,ze as i,B as j,R as k,Ke as l,Y as m,X as n,je as nt,Ve as o,Re as p,Ae as q,Z as r,ke as rt,$ as s,He as t,q as tt,Ue as u,A as v,_e as w,M as x,Ee as y,De as z};
|
|
2
|
+
//# sourceMappingURL=helpers-Bh_V7xwV.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers-Bh_V7xwV.mjs","names":[],"sources":[],"mappings":""}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./metadata-CsY3HrP2.cjs");require("./types.cjs");const t=require("./constants.cjs"),n=require("./type-checks.cjs"),r=require("./extract.cjs");exports.JSON_SCHEMA_METADATA_KEYS=t.JSON_SCHEMA_METADATA_KEYS,exports.JSON_SCHEMA_PRIMITIVE_TYPES=t.JSON_SCHEMA_PRIMITIVE_TYPES,exports.JSON_SCHEMA_TYPES=t.JSON_SCHEMA_TYPES,exports.JsonSchemaTypeNames=t.JsonSchemaTypeNames,exports.SCHEMA_ARRAY_CONCAT_KEYWORDS=t.SCHEMA_ARRAY_CONCAT_KEYWORDS,exports.SCHEMA_RECORD_KEYWORDS=t.SCHEMA_RECORD_KEYWORDS,exports.SCHEMA_SINGLE_KEYWORDS=t.SCHEMA_SINGLE_KEYWORDS,exports.addProperty=e.g,exports.applyJsonSchemaMetadata=e.t,exports.bundleReferences=r.bundleReferences,exports.extract=r.extract,exports.extractHash=r.extractHash,exports.extractJsonSchema=r.extractJsonSchema,exports.extractResolvedVariant=r.extractResolvedVariant,exports.extractSchema=r.extractSchema,exports.extractSchemaMeta=r.extractSchemaMeta,exports.extractSchemaWithSource=r.extractSchemaWithSource,exports.extractSource=r.extractSource,exports.extractTSType=r.extractTSType,exports.extractVariant=r.extractVariant,exports.formatMetaVersion=e.n,exports.generateParserCode=e.f,exports.getJsonSchema=e._,exports.getJsonSchemaObject=e.v,exports.getJsonSchemaType=e.p,exports.getPrimarySchemaType=e.r,exports.getProperties=e.y,exports.getPropertiesList=e.b,exports.getProperty=e.x,exports.isFileReference=n.isFileReference,exports.isJsonSchema=n.isJsonSchema,exports.isJsonSchemaAllOf=n.isJsonSchemaAllOf,exports.isJsonSchemaAny=n.isJsonSchemaAny,exports.isJsonSchemaAnyOf=n.isJsonSchemaAnyOf,exports.isJsonSchemaArray=n.isJsonSchemaArray,exports.isJsonSchemaBigint=n.isJsonSchemaBigint,exports.isJsonSchemaBoolean=n.isJsonSchemaBoolean,exports.isJsonSchemaDate=n.isJsonSchemaDate,exports.isJsonSchemaDecimal=n.isJsonSchemaDecimal,exports.isJsonSchemaEnum=n.isJsonSchemaEnum,exports.isJsonSchemaInteger=n.isJsonSchemaInteger,exports.isJsonSchemaKeywords=n.isJsonSchemaKeywords,exports.isJsonSchemaLiteral=n.isJsonSchemaLiteral,exports.isJsonSchemaMap=n.isJsonSchemaMap,exports.isJsonSchemaNativeEnum=n.isJsonSchemaNativeEnum,exports.isJsonSchemaNever=n.isJsonSchemaNever,exports.isJsonSchemaNull=n.isJsonSchemaNull,exports.isJsonSchemaNullable=n.isJsonSchemaNullable,exports.isJsonSchemaNumber=n.isJsonSchemaNumber,exports.isJsonSchemaObject=n.isJsonSchemaObject,exports.isJsonSchemaPrimitiveType=n.isJsonSchemaPrimitiveType,exports.isJsonSchemaPrimitiveUnion=n.isJsonSchemaPrimitiveUnion,exports.isJsonSchemaRecord=n.isJsonSchemaRecord,exports.isJsonSchemaRef=n.isJsonSchemaRef,exports.isJsonSchemaSet=n.isJsonSchemaSet,exports.isJsonSchemaString=n.isJsonSchemaString,exports.isJsonSchemaTuple=n.isJsonSchemaTuple,exports.isJsonSchemaType=n.isJsonSchemaType,exports.isJsonSchemaUndefined=n.isJsonSchemaUndefined,exports.isJsonSchemaUnion=n.isJsonSchemaUnion,exports.isJsonSchemaUnknown=n.isJsonSchemaUnknown,exports.isNullOnlyJsonSchema=n.isNullOnlyJsonSchema,exports.isPropertyOptional=e.S,exports.isSchema=n.isSchema,exports.isSchemaNullable=e.C,exports.isSchemaObject=n.isSchemaObject,exports.isSchemaOf=n.isSchemaOf,exports.isSchemaWithSource=n.isSchemaWithSource,exports.isStandardSchema=n.isStandardSchema,exports.isUntypedInput=n.isUntypedInput,exports.isUntypedInputStrict=n.isUntypedInputStrict,exports.isUntypedSchema=n.isUntypedSchema,exports.isUntypedSchemaStrict=n.isUntypedSchemaStrict,exports.isValibotSchema=n.isValibotSchema,exports.isValidSchemaInputFile=e.w,exports.merge=e.T,exports.mergeMetadata=e.E,exports.readSchemaTypes=e.i,exports.resolveMetaDescription=e.a,exports.resolveMetaDisplayName=e.o,exports.resolveMetaExample=e.s,exports.resolveMetaId=e.c,exports.resolveMetaLinks=e.l,exports.resolveMetaName=e.u,exports.resolveMetaVersion=e.d,exports.stringifyType=e.m,exports.stringifyValue=e.h;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./constants-CwyhgVEl.cjs"),t=require("./helpers-B5sr5S3X.cjs");let n=require("@stryke/convert/extract-file-reference"),r=require("@stryke/hash"),i=require("@stryke/helpers/deep-clone"),a=require("@stryke/json"),o=require("@stryke/path/find"),s=require("@stryke/resolve/constants"),c=require("@stryke/resolve/load"),l=require("@stryke/string-format/list"),u=require("@stryke/type-checks"),d=require("@stryke/type-checks/is-set-object"),f=require("@stryke/zod"),p=require("@valibot/to-json-schema"),m=require("ts-json-schema-generator/dist/factory/generator.js");const h=`https://power-plant.invalid/`;function g(e){return!(!(0,d.isSetObject)(e)||!(`schema`in e)||`hash`in e||`variant`in e||`source`in e)}function _(e){return g(e)?e.schema:e}function v(e){return e.endsWith(`#`)?e.slice(0,-1):e}function y(e){let t=e.indexOf(`#`);return t>=0?e.slice(0,t):e}function b(e){return e.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}function x(e){return e.length===0?``:`/${e.map(e=>b(e)).join(`/`)}`}function S(e,t){try{return v(new URL(e,t).toString())}catch{return v(e)}}function C(e,t,n,r,i){if(!(0,d.isSetObject)(e))return;let a=e,o=x(t),s=(0,u.isSetString)(a.$id)?S(a.$id,n):n,c=y(s);if(r.set(s,o),r.set(c,o),(0,u.isSetString)(a.$anchor)&&r.set(`${c}#${a.$anchor}`,o),(0,u.isSetString)(a.$dynamicAnchor)){let e=`${c}#${a.$dynamicAnchor}`;r.set(e,o),i.set(e,`#${a.$dynamicAnchor}`)}for(let[e,n]of Object.entries(a)){if(Array.isArray(n)){n.forEach((n,a)=>{C(n,[...t,e,String(a)],s,r,i)});continue}C(n,[...t,e],s,r,i)}}function w(e,t,n,r,i){if(!(0,d.isSetObject)(e))return;let a=e,o=(0,u.isSetString)(a.$id)?S(a.$id,n):n;if((0,u.isSetString)(a.$ref)){let e=S(a.$ref,o),t=r.get(e)??r.get(y(e));t!==void 0&&(a.$ref=t.length>0?`#${t}`:`#`)}if((0,u.isSetString)(a.$dynamicRef)){let e=S(a.$dynamicRef,o),t=i.get(e);if(t)a.$dynamicRef=t;else{let t=r.get(e)??r.get(y(e));t!==void 0&&(a.$dynamicRef=t.length>0?`#${t}`:`#`)}}for(let[e,n]of Object.entries(a)){if(Array.isArray(n)){n.forEach((n,a)=>{w(n,[...t,e,String(a)],o,r,i)});continue}w(n,[...t,e],o,r,i)}}function T(e){if(!(0,d.isSetObject)(e))return e;let t=(0,i.deepClone)(e),n=(0,u.isSetString)(t.$id)?S(t.$id,h):h,r=new Map,a=new Map;return C(t,[],n,r,a),w(t,[],n,r,a),t}function E(e){if(t.tt(e))return k(e);if((0,d.isSetObject)(e)){if(t.$(e))return A(e);let n=e;if(`$schema`in n&&t.tt(n.$schema))return k(n.$schema)}return e}function D(e){return Array.isArray(e)?e.map(e=>E(e)):e}function O(e){return(0,p.toJsonSchema)(e,{target:`draft-2020-12`})}function k(e){let t=e,n={};for(let[e,r]of Object.entries(t))if(!(e===`tsType`||e===`markdownType`||e===`tags`||e===`args`||e===`resolve`)){if(e===`id`&&(0,u.isSetString)(r)){n.$id=r;continue}if(e===`properties`||e===`patternProperties`||e===`dependentSchemas`||e===`$defs`||e===`definitions`){if(!(0,d.isSetObject)(r)){n[e]=r;continue}n[e]=Object.fromEntries(Object.entries(r).map(([e,t])=>[e,E(t)]));continue}if(e===`items`||e===`contains`||e===`if`||e===`then`||e===`else`||e===`not`||e===`propertyNames`||e===`additionalProperties`||e===`unevaluatedProperties`){n[e]=E(r);continue}if(e===`oneOf`||e===`anyOf`||e===`allOf`){n[e]=D(r);continue}n[e]=r}return n}function A(e){let n=e,r=t.tt(n.$schema)?k(n.$schema):{},i={};for(let[e,r]of Object.entries(n)){if(e.startsWith(`$`)||!(0,d.isSetObject)(r))continue;if(t.$(r)){i[e]=A(r);continue}let n=r;if(`$schema`in n&&t.tt(n.$schema)){i[e]=k(n.$schema);continue}t.tt(r)&&(i[e]=k(r))}if(!t.F(r))throw Error(`Failed to convert untyped input to JSON Schema. The base schema must be a valid JSON Schema object.`);let a={...(0,d.isSetObject)(r.properties)?r.properties:{},...i};return{...r,type:r.type??`object`,...Object.keys(a).length>0?{properties:a}:{}}}function j(e,n){let i=_(n);if(t.Z(i)||t.J(i))return(0,r.murmurhash)({variant:e,input:i.schema});if((0,u.isSetString)(i)||typeof i==`boolean`)return(0,r.murmurhash)({variant:e,input:i});if((0,d.isSetObject)(i)){if((0,f.isZod3Type)(i))return(0,r.murmurhash)({variant:e,input:i._def});if((0,a.isStandardJsonSchema)(i))return(0,r.murmurhash)({variant:e,input:i[`~standard`]});if(t.g(i))return(0,r.murmurhash)({variant:e,input:i});if(t.rt(i))return(0,r.murmurhash)({variant:e,input:O(i)});if(t.$(i))return(0,r.murmurhash)({variant:e,input:A(i)});if(t.tt(i))return(0,r.murmurhash)({variant:e,input:k(i)})}throw Error(`Failed to create an input hash for the provided schema definition input. The input must be a Zod schema, a Standard JSON Schema, a JSON Schema object, a Valibot BaseSchema, or a reflected Deepkit Type object.`)}function M(e){if((0,d.isSetObject)(e)){if((0,f.isZod3Type)(e))return(0,f.extractJsonSchema)(e,{target:`draft-2020-12`});if(t.et(e))return A(e);if(t.nt(e))return k(e);if((0,a.isStandardJsonSchema)(e))return e[`~standard`].jsonSchema.input({target:`draft-2020-12`});if(t.rt(e))return O(e);if(t.g(e))return e}}function N(e){if((0,d.isSetObject)(e)){if((0,f.isZod3Type)(e))return`zod3`;if(t.et(e)||t.nt(e))return`untyped`;if((0,a.isStandardJsonSchema)(e))return`standard-schema`;if(t.g(e))return`json-schema`;if(t.rt(e))return`valibot`}throw Error(`Failed to determine the variant of the provided schema definition input. The input must be a Zod schema, a Standard JSON Schema, a JSON Schema object, a Valibot BaseSchema, a reflected Deepkit Type object, or an Untyped schema.`)}function P(e){let n=_(e);return t.Z(n)||t.J(n)?n.variant:(0,u.isSetString)(n)||t.h(n)?`file-reference`:N(n)}async function F(e,n){if(t.Z(e))return e.schema;let r=n??N(e),i;if((r===`zod3`||r===`json-schema`||r===`standard-schema`||r===`untyped`||r===`valibot`)&&(i=M(e)),i)return T(i);throw Error(`Failed to extract a valid schema from the provided input. The input must be a Zod schema, a Standard JSON Schema, a JSON Schema object, a Valibot BaseSchema, an untyped schema, or a reflected Deepkit Type object.`)}function I(e,t){if(e===`zod3`)return{hash:j(e,t),variant:`zod3`,schema:t};if(e===`untyped`)return{hash:j(e,t),variant:`untyped`,schema:t};if(e===`standard-schema`)return{hash:j(e,t),variant:`standard-schema`,schema:t};if(e===`json-schema`)return{hash:j(e,t),variant:`json-schema`,schema:t};if(e===`valibot`)return{hash:j(e,t),variant:`valibot`,schema:t};throw Error(`Failed to extract source information from the provided input. The input must be a Zod schema, a Standard JSON Schema, a JSON Schema object, an untyped schema, or a reflected Deepkit Type object.`)}async function L(e,t={}){let r=(0,n.extractFileReference)(e);if(!r)throw Error(`Failed to extract a file reference from the provided input. The input must be a string or an object with a "file" property that specifies the file path and optional export name.`);let i=r.export??`*`;try{return(0,m.createGenerator)({path:r.file,type:i,expose:`export`,jsDoc:`extended`,...t}).createSchema(i)}catch(e){throw Error(`Failed to generate a JSON schema for "${r.file}" using the type "${i}". Error: ${e.message}`)}}async function R(e,r={}){let i=_(e);if(t.Z(i))return i;if(t.J(i))return{...i,source:{hash:j(`json-schema`,i.schema),variant:`json-schema`,schema:i.schema}};let a,u=P(i),d=j(u,i);if(u===`file-reference`){let e=(0,n.extractFileReference)(i);if(!e)throw Error(`Failed to extract a valid file reference from the provided input "${JSON.stringify(i)}". Please ensure that the input is correctly formatted as a file reference (e.g. "./schema.ts#MySchema") and that the file exists at the specified path.`);let u=(0,o.findFileExtensionSafe)(e.file);if(u&&!s.VALID_OBJECT_SOURCE_EXTENSIONS.includes(u))throw Error(`The provided schema file input "${e.file}" has an invalid file extension (.${u}). Please ensure that the file has one of the following extensions: ${(0,l.list)(s.VALID_OBJECT_SOURCE_EXTENSIONS,{conjunction:`or`})}.`);let d=await(0,c.loadSafe)(i,r);d??=await L(i,r);let f=_(d);a=t.Z(f)?f.source:t.J(f)?{hash:j(`json-schema`,f.schema),variant:`json-schema`,schema:f.schema}:I(N(f),f)}else if([`json-schema`,`standard-schema`,`zod3`,`untyped`,`valibot`,`reflection`].includes(u))a=I(u,i);else throw Error(`Invalid schema definition input "${u}". The variant must be one of "file-reference", "json-schema", "standard-schema", "zod3", "valibot", "untyped", or "reflection".`);return{variant:u,source:a,schema:await F(a.schema,a.variant),hash:d}}async function z(e,n={}){let r=_(e);if(t.Z(r)||t.X(r))return r;let i=await R(e,n);if(!i?.schema)throw Error(`Failed to extract a valid schema from the provided input. The input must be a Zod schema, a Valibot schema, any Standard JSON Schema type, a plain JSON Schema object, an untyped schema, or a reflected Deepkit Type object.`);return i}exports.JSON_SCHEMA_METADATA_KEYS=e.t,exports.JSON_SCHEMA_PRIMITIVE_TYPES=e.n,exports.JSON_SCHEMA_TYPES=e.r,exports.JsonSchemaTypeNames=e.i,exports.SCHEMA_ARRAY_CONCAT_KEYWORDS=e.a,exports.SCHEMA_RECORD_KEYWORDS=e.o,exports.SCHEMA_SINGLE_KEYWORDS=e.s,exports.addProperty=t.t,exports.applyJsonSchemaMetadata=t.f,exports.bundleReferences=T,exports.extract=z,exports.extractHash=j,exports.extractJsonSchema=M,exports.extractResolvedVariant=N,exports.extractSchema=F,exports.extractSchemaWithSource=R,exports.extractSource=I,exports.extractTSType=L,exports.extractVariant=P,exports.getJsonSchema=t.n,exports.getJsonSchemaObject=t.r,exports.getPrimarySchemaType=t.p,exports.getProperties=t.i,exports.getPropertiesList=t.a,exports.getProperty=t.o,exports.isFileReference=t.h,exports.isJsonSchema=t.g,exports.isJsonSchemaAllOf=t._,exports.isJsonSchemaAny=t.v,exports.isJsonSchemaAnyOf=t.y,exports.isJsonSchemaArray=t.b,exports.isJsonSchemaBigint=t.x,exports.isJsonSchemaBoolean=t.S,exports.isJsonSchemaDate=t.C,exports.isJsonSchemaDecimal=t.w,exports.isJsonSchemaEnum=t.T,exports.isJsonSchemaInteger=t.E,exports.isJsonSchemaKeywords=t.D,exports.isJsonSchemaLiteral=t.O,exports.isJsonSchemaMap=t.k,exports.isJsonSchemaNativeEnum=t.A,exports.isJsonSchemaNever=t.j,exports.isJsonSchemaNull=t.M,exports.isJsonSchemaNullable=t.N,exports.isJsonSchemaNumber=t.P,exports.isJsonSchemaObject=t.F,exports.isJsonSchemaPrimitiveType=t.I,exports.isJsonSchemaPrimitiveUnion=t.L,exports.isJsonSchemaRecord=t.R,exports.isJsonSchemaRef=t.z,exports.isJsonSchemaSet=t.B,exports.isJsonSchemaString=t.V,exports.isJsonSchemaTuple=t.H,exports.isJsonSchemaType=t.U,exports.isJsonSchemaUndefined=t.W,exports.isJsonSchemaUnion=t.G,exports.isJsonSchemaUnknown=t.K,exports.isNullOnlyJsonSchema=t.q,exports.isPropertyOptional=t.s,exports.isSchema=t.J,exports.isSchemaNullable=t.c,exports.isSchemaObject=t.Y,exports.isSchemaOf=t.X,exports.isSchemaWithSource=t.Z,exports.isStandardSchema=t.Q,exports.isUntypedConfig=t.$,exports.isUntypedConfigStrict=t.et,exports.isUntypedSchema=t.tt,exports.isUntypedSchemaStrict=t.nt,exports.isValibotSchema=t.rt,exports.isValidSchemaConfigFile=t.l,exports.merge=t.u,exports.mergeMetadata=t.d,exports.readSchemaTypes=t.m;
|