@mastra/deployer 1.54.0-alpha.0 → 1.54.0-alpha.2
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/CHANGELOG.md +16 -0
- package/dist/analyze-C2q7jxbN.js +1308 -0
- package/dist/analyze-C2q7jxbN.js.map +1 -0
- package/dist/analyze-DhDZW9TS.cjs +1318 -0
- package/dist/analyze-DhDZW9TS.cjs.map +1 -0
- package/dist/arktype-aI7TBD0R-BsgjPZ4a.cjs +8 -0
- package/dist/arktype-aI7TBD0R-BsgjPZ4a.cjs.map +1 -0
- package/dist/arktype-aI7TBD0R-_UZl-wsH.js +8 -0
- package/dist/arktype-aI7TBD0R-_UZl-wsH.js.map +1 -0
- package/dist/build/analyze/constants.d.ts.map +1 -1
- package/dist/build/analyze.cjs +3 -12
- package/dist/build/analyze.js +2 -3
- package/dist/build/bundler.cjs +6 -24
- package/dist/build/bundler.js +2 -3
- package/dist/build/index.cjs +29 -101
- package/dist/build/index.js +7 -8
- package/dist/build-De4AZhfJ.cjs +908 -0
- package/dist/build-De4AZhfJ.cjs.map +1 -0
- package/dist/build-KCOeHd4N.js +834 -0
- package/dist/build-KCOeHd4N.js.map +1 -0
- package/dist/bundler/index.cjs +318 -13
- package/dist/bundler/index.cjs.map +1 -1
- package/dist/bundler/index.js +314 -2
- package/dist/bundler/index.js.map +1 -1
- package/dist/bundler-BqrDXofn.cjs +792 -0
- package/dist/bundler-BqrDXofn.cjs.map +1 -0
- package/dist/bundler-D86rFu2J.js +705 -0
- package/dist/bundler-D86rFu2J.js.map +1 -0
- package/dist/bundlerOptions-aFsEi86t.js +180 -0
- package/dist/bundlerOptions-aFsEi86t.js.map +1 -0
- package/dist/bundlerOptions-rBmtSyGe.cjs +194 -0
- package/dist/bundlerOptions-rBmtSyGe.cjs.map +1 -0
- package/dist/core-D0wEgdn3.cjs +790 -0
- package/dist/core-D0wEgdn3.cjs.map +1 -0
- package/dist/core-DF65PJXc.js +790 -0
- package/dist/core-DF65PJXc.js.map +1 -0
- package/dist/dist-BauTimif.js +532 -0
- package/dist/dist-BauTimif.js.map +1 -0
- package/dist/dist-Cv-mAEtr.cjs +532 -0
- package/dist/dist-Cv-mAEtr.cjs.map +1 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +2 -23
- package/dist/docs/references/docs-deployment-cloud-providers.md +1 -0
- package/dist/docs/references/docs-deployment-overview.md +1 -0
- package/dist/effect-QlVUlMFu-CwFnyS-g.cjs +14 -0
- package/dist/effect-QlVUlMFu-CwFnyS-g.cjs.map +1 -0
- package/dist/effect-QlVUlMFu-gyLQRCtQ.js +14 -0
- package/dist/effect-QlVUlMFu-gyLQRCtQ.js.map +1 -0
- package/dist/esm-BX-weMyC.js +4634 -0
- package/dist/esm-BX-weMyC.js.map +1 -0
- package/dist/esm-D81PZ_wJ.cjs +4634 -0
- package/dist/esm-D81PZ_wJ.cjs.map +1 -0
- package/dist/index-CLddUTqr-B5mOP6DC.cjs +145 -0
- package/dist/index-CLddUTqr-B5mOP6DC.cjs.map +1 -0
- package/dist/index-CLddUTqr-CkS6Y_hA.js +140 -0
- package/dist/index-CLddUTqr-CkS6Y_hA.js.map +1 -0
- package/dist/index.cjs +35 -48
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +29 -30
- package/dist/index.js.map +1 -1
- package/dist/rolldown-runtime-emK7D4bc.cjs +35 -0
- package/dist/server/index.cjs +3141 -3874
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3131 -3842
- package/dist/server/index.js.map +1 -1
- package/dist/server/types.d.ts +1 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/services/index.cjs +5 -20
- package/dist/services/index.js +2 -3
- package/dist/services-BxYMLS9-.cjs +430 -0
- package/dist/services-BxYMLS9-.cjs.map +1 -0
- package/dist/services-CLi56qqe.js +391 -0
- package/dist/services-CLi56qqe.js.map +1 -0
- package/dist/sury-CWZTCd75-B85M6878.js +14 -0
- package/dist/sury-CWZTCd75-B85M6878.js.map +1 -0
- package/dist/sury-CWZTCd75-DTj5HlK_.cjs +14 -0
- package/dist/sury-CWZTCd75-DTj5HlK_.cjs.map +1 -0
- package/dist/typebox-Dei93FPO-BeuT13_G.cjs +8 -0
- package/dist/typebox-Dei93FPO-BeuT13_G.cjs.map +1 -0
- package/dist/typebox-Dei93FPO-DovwMlVl.js +8 -0
- package/dist/typebox-Dei93FPO-DovwMlVl.js.map +1 -0
- package/dist/utils-FVOUvj-I.js +190 -0
- package/dist/utils-FVOUvj-I.js.map +1 -0
- package/dist/utils-O98BGdnP.cjs +267 -0
- package/dist/utils-O98BGdnP.cjs.map +1 -0
- package/dist/valibot--1zFm7rT-BqJHja5B.cjs +14 -0
- package/dist/valibot--1zFm7rT-BqJHja5B.cjs.map +1 -0
- package/dist/valibot--1zFm7rT-Y4Fhea0w.js +14 -0
- package/dist/valibot--1zFm7rT-Y4Fhea0w.js.map +1 -0
- package/dist/validator/custom-resolver.cjs +71 -73
- package/dist/validator/custom-resolver.cjs.map +1 -1
- package/dist/validator/custom-resolver.js +70 -71
- package/dist/validator/custom-resolver.js.map +1 -1
- package/dist/validator/loader.cjs +6 -7
- package/dist/validator/loader.cjs.map +1 -1
- package/dist/validator/loader.js +8 -4
- package/dist/validator/loader.js.map +1 -1
- package/dist/zod-Bwrt9trS-2JL6_UI_.cjs +23 -0
- package/dist/zod-Bwrt9trS-2JL6_UI_.cjs.map +1 -0
- package/dist/zod-Bwrt9trS-rVHICsmp.js +23 -0
- package/dist/zod-Bwrt9trS-rVHICsmp.js.map +1 -0
- package/package.json +7 -7
- package/dist/arktype-aI7TBD0R-K3QZAVE2.js +0 -8
- package/dist/arktype-aI7TBD0R-K3QZAVE2.js.map +0 -1
- package/dist/arktype-aI7TBD0R-WK5AZZMC.cjs +0 -10
- package/dist/arktype-aI7TBD0R-WK5AZZMC.cjs.map +0 -1
- package/dist/build/analyze.cjs.map +0 -1
- package/dist/build/analyze.js.map +0 -1
- package/dist/build/bundler.cjs.map +0 -1
- package/dist/build/bundler.js.map +0 -1
- package/dist/build/index.cjs.map +0 -1
- package/dist/build/index.js.map +0 -1
- package/dist/chunk-36AWZH7Z.cjs +0 -252
- package/dist/chunk-36AWZH7Z.cjs.map +0 -1
- package/dist/chunk-3XIMK24X.cjs +0 -765
- package/dist/chunk-3XIMK24X.cjs.map +0 -1
- package/dist/chunk-46M65MQG.cjs +0 -95
- package/dist/chunk-46M65MQG.cjs.map +0 -1
- package/dist/chunk-4ZNTNJ6T.js +0 -6
- package/dist/chunk-4ZNTNJ6T.js.map +0 -1
- package/dist/chunk-5PORNUPF.js +0 -739
- package/dist/chunk-5PORNUPF.js.map +0 -1
- package/dist/chunk-743HRNWT.cjs +0 -1546
- package/dist/chunk-743HRNWT.cjs.map +0 -1
- package/dist/chunk-AEQ7JHDB.cjs +0 -412
- package/dist/chunk-AEQ7JHDB.cjs.map +0 -1
- package/dist/chunk-E5SBYHQK.js +0 -244
- package/dist/chunk-E5SBYHQK.js.map +0 -1
- package/dist/chunk-FKKJQUGR.cjs +0 -497
- package/dist/chunk-FKKJQUGR.cjs.map +0 -1
- package/dist/chunk-FQHUOYYL.js +0 -1514
- package/dist/chunk-FQHUOYYL.js.map +0 -1
- package/dist/chunk-G7MIMGMX.js +0 -14
- package/dist/chunk-G7MIMGMX.js.map +0 -1
- package/dist/chunk-HZC3PTK2.cjs +0 -16
- package/dist/chunk-HZC3PTK2.cjs.map +0 -1
- package/dist/chunk-JZRFRUGM.cjs +0 -158
- package/dist/chunk-JZRFRUGM.cjs.map +0 -1
- package/dist/chunk-L45X3DJX.js +0 -385
- package/dist/chunk-L45X3DJX.js.map +0 -1
- package/dist/chunk-PC25XSK7.cjs +0 -8
- package/dist/chunk-PC25XSK7.cjs.map +0 -1
- package/dist/chunk-PZ5AY32C.js +0 -9
- package/dist/chunk-PZ5AY32C.js.map +0 -1
- package/dist/chunk-Q7SFCCGT.cjs +0 -11
- package/dist/chunk-Q7SFCCGT.cjs.map +0 -1
- package/dist/chunk-T4UT2QX7.js +0 -3
- package/dist/chunk-T4UT2QX7.js.map +0 -1
- package/dist/chunk-UBIDJOJA.js +0 -93
- package/dist/chunk-UBIDJOJA.js.map +0 -1
- package/dist/chunk-V3EKV6QB.cjs +0 -162
- package/dist/chunk-V3EKV6QB.cjs.map +0 -1
- package/dist/chunk-WHD2QQ3N.js +0 -783
- package/dist/chunk-WHD2QQ3N.js.map +0 -1
- package/dist/chunk-WP65JQAT.js +0 -144
- package/dist/chunk-WP65JQAT.js.map +0 -1
- package/dist/chunk-YO5OFXPN.cjs +0 -819
- package/dist/chunk-YO5OFXPN.cjs.map +0 -1
- package/dist/chunk-YUBKHO52.js +0 -465
- package/dist/chunk-YUBKHO52.js.map +0 -1
- package/dist/chunk-YWMYXUHX.cjs +0 -4
- package/dist/chunk-YWMYXUHX.cjs.map +0 -1
- package/dist/chunk-ZKZOVNT4.js +0 -159
- package/dist/chunk-ZKZOVNT4.js.map +0 -1
- package/dist/core-XIDAXLRB.js +0 -11866
- package/dist/core-XIDAXLRB.js.map +0 -1
- package/dist/core-XJNQ4AY6.cjs +0 -12141
- package/dist/core-XJNQ4AY6.cjs.map +0 -1
- package/dist/default-u_dwuiYb-HGUAHA6N.cjs +0 -9
- package/dist/default-u_dwuiYb-HGUAHA6N.cjs.map +0 -1
- package/dist/default-u_dwuiYb-MVPTVDCE.js +0 -3
- package/dist/default-u_dwuiYb-MVPTVDCE.js.map +0 -1
- package/dist/dist-UEE5OLII.cjs +0 -521
- package/dist/dist-UEE5OLII.cjs.map +0 -1
- package/dist/dist-X75F2Q36.js +0 -515
- package/dist/dist-X75F2Q36.js.map +0 -1
- package/dist/effect-QlVUlMFu-QNLZLGWO.js +0 -15
- package/dist/effect-QlVUlMFu-QNLZLGWO.js.map +0 -1
- package/dist/effect-QlVUlMFu-XUD6EH23.cjs +0 -17
- package/dist/effect-QlVUlMFu-XUD6EH23.cjs.map +0 -1
- package/dist/esm-DFCHSIJZ.cjs +0 -1589
- package/dist/esm-DFCHSIJZ.cjs.map +0 -1
- package/dist/esm-PXGQ5WB4.js +0 -1542
- package/dist/esm-PXGQ5WB4.js.map +0 -1
- package/dist/services/index.cjs.map +0 -1
- package/dist/services/index.js.map +0 -1
- package/dist/sury-CWZTCd75-3KQQJ22C.cjs +0 -17
- package/dist/sury-CWZTCd75-3KQQJ22C.cjs.map +0 -1
- package/dist/sury-CWZTCd75-DZQHKAZF.js +0 -15
- package/dist/sury-CWZTCd75-DZQHKAZF.js.map +0 -1
- package/dist/typebox-Dei93FPO-GOYJ5OUT.js +0 -8
- package/dist/typebox-Dei93FPO-GOYJ5OUT.js.map +0 -1
- package/dist/typebox-Dei93FPO-M7J7E57W.cjs +0 -10
- package/dist/typebox-Dei93FPO-M7J7E57W.cjs.map +0 -1
- package/dist/valibot--1zFm7rT-NVM3G3TI.cjs +0 -17
- package/dist/valibot--1zFm7rT-NVM3G3TI.cjs.map +0 -1
- package/dist/valibot--1zFm7rT-ZVGQI7WV.js +0 -15
- package/dist/valibot--1zFm7rT-ZVGQI7WV.js.map +0 -1
- package/dist/valibot-D_HTw1Gn-UCPEGDL7.cjs +0 -45
- package/dist/valibot-D_HTw1Gn-UCPEGDL7.cjs.map +0 -1
- package/dist/valibot-D_HTw1Gn-XPR4F6VS.js +0 -43
- package/dist/valibot-D_HTw1Gn-XPR4F6VS.js.map +0 -1
- package/dist/zod-Bwrt9trS-GN7ZXBMN.js +0 -29
- package/dist/zod-Bwrt9trS-GN7ZXBMN.js.map +0 -1
- package/dist/zod-Bwrt9trS-OVKARV6W.cjs +0 -31
- package/dist/zod-Bwrt9trS-OVKARV6W.cjs.map +0 -1
- package/dist/zod-DSgpEGAE-E7YZZ7VC.js +0 -37
- package/dist/zod-DSgpEGAE-E7YZZ7VC.js.map +0 -1
- package/dist/zod-DSgpEGAE-UNQNGL2W.cjs +0 -39
- package/dist/zod-DSgpEGAE-UNQNGL2W.cjs.map +0 -1
package/dist/dist-X75F2Q36.js
DELETED
|
@@ -1,515 +0,0 @@
|
|
|
1
|
-
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@valibot/to-json-schema/1.7.0/aee7a483bbe996daea8b6325b98dce7355e28d28fce823fd93e368879bd973ff/node_modules/@valibot/to-json-schema/dist/index.mjs
|
|
2
|
-
function addError(errors, message) {
|
|
3
|
-
if (errors) {
|
|
4
|
-
errors.push(message);
|
|
5
|
-
return errors;
|
|
6
|
-
}
|
|
7
|
-
return [message];
|
|
8
|
-
}
|
|
9
|
-
var ESCAPE_REGEX = /[.*+?^${}()|[\]\\]/g;
|
|
10
|
-
function escapeRegExp(string) {
|
|
11
|
-
return string.replace(ESCAPE_REGEX, "\\$&");
|
|
12
|
-
}
|
|
13
|
-
function handleError(message, config) {
|
|
14
|
-
switch (config?.errorMode) {
|
|
15
|
-
case "ignore":
|
|
16
|
-
break;
|
|
17
|
-
case "warn":
|
|
18
|
-
console.warn(message);
|
|
19
|
-
break;
|
|
20
|
-
default:
|
|
21
|
-
throw new Error(message);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function isJsonConstValue(value) {
|
|
25
|
-
return typeof value === "boolean" || typeof value === "number" && Number.isFinite(value) || typeof value === "string";
|
|
26
|
-
}
|
|
27
|
-
function isJsonEnumValues(values) {
|
|
28
|
-
return values.every(isJsonConstValue);
|
|
29
|
-
}
|
|
30
|
-
function convertAction(jsonSchema, valibotAction, config) {
|
|
31
|
-
if (config?.ignoreActions?.includes(valibotAction.type)) return jsonSchema;
|
|
32
|
-
let errors;
|
|
33
|
-
switch (valibotAction.type) {
|
|
34
|
-
case "base64":
|
|
35
|
-
jsonSchema.contentEncoding = "base64";
|
|
36
|
-
break;
|
|
37
|
-
case "bic":
|
|
38
|
-
case "cuid2":
|
|
39
|
-
case "decimal":
|
|
40
|
-
case "digits":
|
|
41
|
-
case "domain":
|
|
42
|
-
case "emoji":
|
|
43
|
-
case "hash":
|
|
44
|
-
case "hexadecimal":
|
|
45
|
-
case "hex_color":
|
|
46
|
-
case "isrc":
|
|
47
|
-
case "iso_time_second":
|
|
48
|
-
case "iso_week":
|
|
49
|
-
case "mac":
|
|
50
|
-
case "mac48":
|
|
51
|
-
case "mac64":
|
|
52
|
-
case "nanoid":
|
|
53
|
-
case "octal":
|
|
54
|
-
case "slug":
|
|
55
|
-
case "ulid":
|
|
56
|
-
if (jsonSchema.pattern) errors = addError(errors, `The "${valibotAction.type}" action is not supported in combination with another regex action.`);
|
|
57
|
-
else jsonSchema.pattern = valibotAction.requirement.source;
|
|
58
|
-
break;
|
|
59
|
-
case "description":
|
|
60
|
-
jsonSchema.description = valibotAction.description;
|
|
61
|
-
break;
|
|
62
|
-
case "email":
|
|
63
|
-
case "rfc_email":
|
|
64
|
-
jsonSchema.format = "email";
|
|
65
|
-
break;
|
|
66
|
-
case "ends_with":
|
|
67
|
-
if (jsonSchema.pattern) errors = addError(errors, `The "${valibotAction.type}" action is not supported in combination with another regex action.`);
|
|
68
|
-
else jsonSchema.pattern = `${escapeRegExp(valibotAction.requirement)}$`;
|
|
69
|
-
break;
|
|
70
|
-
case "empty":
|
|
71
|
-
if (jsonSchema.type === "array") jsonSchema.maxItems = 0;
|
|
72
|
-
else {
|
|
73
|
-
if (jsonSchema.type !== "string") errors = addError(errors, `The "${valibotAction.type}" action is not supported on type "${jsonSchema.type}".`);
|
|
74
|
-
jsonSchema.maxLength = 0;
|
|
75
|
-
}
|
|
76
|
-
break;
|
|
77
|
-
case "entries":
|
|
78
|
-
jsonSchema.minProperties = valibotAction.requirement;
|
|
79
|
-
jsonSchema.maxProperties = valibotAction.requirement;
|
|
80
|
-
break;
|
|
81
|
-
case "examples":
|
|
82
|
-
if (Array.isArray(jsonSchema.examples)) jsonSchema.examples = [...jsonSchema.examples, ...valibotAction.examples];
|
|
83
|
-
else jsonSchema.examples = valibotAction.examples;
|
|
84
|
-
break;
|
|
85
|
-
case "gt_value":
|
|
86
|
-
if (jsonSchema.type !== "number" && jsonSchema.type !== "integer") errors = addError(errors, `The "gt_value" action is not supported on type "${jsonSchema.type}".`);
|
|
87
|
-
if (config?.target === "openapi-3.0") {
|
|
88
|
-
errors = addError(errors, 'The "gt_value" action is not supported for OpenAPI 3.0.');
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
jsonSchema.exclusiveMinimum = valibotAction.requirement;
|
|
92
|
-
break;
|
|
93
|
-
case "includes":
|
|
94
|
-
if (jsonSchema.pattern) errors = addError(errors, `The "${valibotAction.type}" action is not supported in combination with another regex action.`);
|
|
95
|
-
else jsonSchema.pattern = escapeRegExp(valibotAction.requirement);
|
|
96
|
-
break;
|
|
97
|
-
case "integer":
|
|
98
|
-
jsonSchema.type = "integer";
|
|
99
|
-
break;
|
|
100
|
-
case "ipv4":
|
|
101
|
-
jsonSchema.format = "ipv4";
|
|
102
|
-
break;
|
|
103
|
-
case "ipv6":
|
|
104
|
-
jsonSchema.format = "ipv6";
|
|
105
|
-
break;
|
|
106
|
-
case "iso_date":
|
|
107
|
-
jsonSchema.format = "date";
|
|
108
|
-
break;
|
|
109
|
-
case "iso_date_time":
|
|
110
|
-
case "iso_timestamp":
|
|
111
|
-
jsonSchema.format = "date-time";
|
|
112
|
-
break;
|
|
113
|
-
case "iso_time":
|
|
114
|
-
jsonSchema.format = "time";
|
|
115
|
-
break;
|
|
116
|
-
case "jws_compact":
|
|
117
|
-
if (jsonSchema.pattern) errors = addError(errors, `The "${valibotAction.type}" action is not supported in combination with another regex action.`);
|
|
118
|
-
else jsonSchema.pattern = valibotAction.requirement.source;
|
|
119
|
-
break;
|
|
120
|
-
case "length":
|
|
121
|
-
if (jsonSchema.type === "array") {
|
|
122
|
-
jsonSchema.minItems = valibotAction.requirement;
|
|
123
|
-
jsonSchema.maxItems = valibotAction.requirement;
|
|
124
|
-
} else {
|
|
125
|
-
if (jsonSchema.type !== "string") errors = addError(errors, `The "${valibotAction.type}" action is not supported on type "${jsonSchema.type}".`);
|
|
126
|
-
jsonSchema.minLength = valibotAction.requirement;
|
|
127
|
-
jsonSchema.maxLength = valibotAction.requirement;
|
|
128
|
-
}
|
|
129
|
-
break;
|
|
130
|
-
case "lt_value":
|
|
131
|
-
if (jsonSchema.type !== "number" && jsonSchema.type !== "integer") errors = addError(errors, `The "lt_value" action is not supported on type "${jsonSchema.type}".`);
|
|
132
|
-
if (config?.target === "openapi-3.0") {
|
|
133
|
-
errors = addError(errors, 'The "lt_value" action is not supported for OpenAPI 3.0.');
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
jsonSchema.exclusiveMaximum = valibotAction.requirement;
|
|
137
|
-
break;
|
|
138
|
-
case "max_entries":
|
|
139
|
-
jsonSchema.maxProperties = valibotAction.requirement;
|
|
140
|
-
break;
|
|
141
|
-
case "max_length":
|
|
142
|
-
if (jsonSchema.type === "array") jsonSchema.maxItems = valibotAction.requirement;
|
|
143
|
-
else {
|
|
144
|
-
if (jsonSchema.type !== "string") errors = addError(errors, `The "${valibotAction.type}" action is not supported on type "${jsonSchema.type}".`);
|
|
145
|
-
jsonSchema.maxLength = valibotAction.requirement;
|
|
146
|
-
}
|
|
147
|
-
break;
|
|
148
|
-
case "max_value":
|
|
149
|
-
if (jsonSchema.type !== "number" && jsonSchema.type !== "integer") errors = addError(errors, `The "max_value" action is not supported on type "${jsonSchema.type}".`);
|
|
150
|
-
jsonSchema.maximum = valibotAction.requirement;
|
|
151
|
-
break;
|
|
152
|
-
case "metadata":
|
|
153
|
-
if (typeof valibotAction.metadata.title === "string") jsonSchema.title = valibotAction.metadata.title;
|
|
154
|
-
if (typeof valibotAction.metadata.description === "string") jsonSchema.description = valibotAction.metadata.description;
|
|
155
|
-
if (Array.isArray(valibotAction.metadata.examples)) if (Array.isArray(jsonSchema.examples)) jsonSchema.examples = [...jsonSchema.examples, ...valibotAction.metadata.examples];
|
|
156
|
-
else jsonSchema.examples = valibotAction.metadata.examples;
|
|
157
|
-
break;
|
|
158
|
-
case "min_entries":
|
|
159
|
-
jsonSchema.minProperties = valibotAction.requirement;
|
|
160
|
-
break;
|
|
161
|
-
case "min_length":
|
|
162
|
-
if (jsonSchema.type === "array") jsonSchema.minItems = valibotAction.requirement;
|
|
163
|
-
else {
|
|
164
|
-
if (jsonSchema.type !== "string") errors = addError(errors, `The "${valibotAction.type}" action is not supported on type "${jsonSchema.type}".`);
|
|
165
|
-
jsonSchema.minLength = valibotAction.requirement;
|
|
166
|
-
}
|
|
167
|
-
break;
|
|
168
|
-
case "min_value":
|
|
169
|
-
if (jsonSchema.type !== "number" && jsonSchema.type !== "integer") errors = addError(errors, `The "min_value" action is not supported on type "${jsonSchema.type}".`);
|
|
170
|
-
jsonSchema.minimum = valibotAction.requirement;
|
|
171
|
-
break;
|
|
172
|
-
case "multiple_of":
|
|
173
|
-
jsonSchema.multipleOf = valibotAction.requirement;
|
|
174
|
-
break;
|
|
175
|
-
case "non_empty":
|
|
176
|
-
if (jsonSchema.type === "array") jsonSchema.minItems = 1;
|
|
177
|
-
else {
|
|
178
|
-
if (jsonSchema.type !== "string") errors = addError(errors, `The "${valibotAction.type}" action is not supported on type "${jsonSchema.type}".`);
|
|
179
|
-
jsonSchema.minLength = 1;
|
|
180
|
-
}
|
|
181
|
-
break;
|
|
182
|
-
case "not_value":
|
|
183
|
-
if (!isJsonConstValue(valibotAction.requirement)) {
|
|
184
|
-
errors = addError(errors, 'The requirement of the "not_value" action is not JSON compatible.');
|
|
185
|
-
break;
|
|
186
|
-
}
|
|
187
|
-
if (config?.target === "openapi-3.0") jsonSchema.not = { enum: [valibotAction.requirement] };
|
|
188
|
-
else jsonSchema.not = { const: valibotAction.requirement };
|
|
189
|
-
break;
|
|
190
|
-
case "not_values":
|
|
191
|
-
if (!isJsonEnumValues(valibotAction.requirement)) {
|
|
192
|
-
errors = addError(errors, 'A requirement of the "not_values" action is not JSON compatible.');
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
jsonSchema.not = { enum: valibotAction.requirement };
|
|
196
|
-
break;
|
|
197
|
-
case "regex":
|
|
198
|
-
if (valibotAction.requirement.flags) errors = addError(errors, "RegExp flags are not supported by JSON Schema.");
|
|
199
|
-
if (jsonSchema.pattern) errors = addError(errors, `The "${valibotAction.type}" action is not supported in combination with another regex action.`);
|
|
200
|
-
else jsonSchema.pattern = valibotAction.requirement.source;
|
|
201
|
-
break;
|
|
202
|
-
case "safe_integer":
|
|
203
|
-
jsonSchema.type = "integer";
|
|
204
|
-
if (typeof jsonSchema.minimum !== "number" || jsonSchema.minimum < Number.MIN_SAFE_INTEGER) jsonSchema.minimum = Number.MIN_SAFE_INTEGER;
|
|
205
|
-
if (typeof jsonSchema.maximum !== "number" || jsonSchema.maximum > Number.MAX_SAFE_INTEGER) jsonSchema.maximum = Number.MAX_SAFE_INTEGER;
|
|
206
|
-
break;
|
|
207
|
-
case "starts_with":
|
|
208
|
-
if (jsonSchema.pattern) errors = addError(errors, `The "${valibotAction.type}" action is not supported in combination with another regex action.`);
|
|
209
|
-
else jsonSchema.pattern = `^${escapeRegExp(valibotAction.requirement)}`;
|
|
210
|
-
break;
|
|
211
|
-
case "title":
|
|
212
|
-
jsonSchema.title = valibotAction.title;
|
|
213
|
-
break;
|
|
214
|
-
case "url":
|
|
215
|
-
jsonSchema.format = "uri";
|
|
216
|
-
break;
|
|
217
|
-
case "uuid":
|
|
218
|
-
jsonSchema.format = "uuid";
|
|
219
|
-
break;
|
|
220
|
-
case "value":
|
|
221
|
-
if (!isJsonConstValue(valibotAction.requirement)) {
|
|
222
|
-
errors = addError(errors, 'The requirement of the "value" action is not JSON compatible.');
|
|
223
|
-
break;
|
|
224
|
-
}
|
|
225
|
-
if (config?.target === "openapi-3.0") jsonSchema.enum = [valibotAction.requirement];
|
|
226
|
-
else jsonSchema.const = valibotAction.requirement;
|
|
227
|
-
break;
|
|
228
|
-
case "values":
|
|
229
|
-
if (!isJsonEnumValues(valibotAction.requirement)) {
|
|
230
|
-
errors = addError(errors, 'A requirement of the "values" action is not JSON compatible.');
|
|
231
|
-
break;
|
|
232
|
-
}
|
|
233
|
-
jsonSchema.enum = valibotAction.requirement;
|
|
234
|
-
break;
|
|
235
|
-
default:
|
|
236
|
-
errors = addError(errors, `The "${valibotAction.type}" action cannot be converted to JSON Schema.`);
|
|
237
|
-
}
|
|
238
|
-
if (config?.overrideAction) {
|
|
239
|
-
const actionOverride = config.overrideAction({
|
|
240
|
-
valibotAction,
|
|
241
|
-
jsonSchema,
|
|
242
|
-
errors
|
|
243
|
-
});
|
|
244
|
-
if (actionOverride) return { ...actionOverride };
|
|
245
|
-
}
|
|
246
|
-
if (errors) for (const message of errors) handleError(message, config);
|
|
247
|
-
return jsonSchema;
|
|
248
|
-
}
|
|
249
|
-
function flattenPipe(pipe) {
|
|
250
|
-
return pipe.flatMap((item) => "pipe" in item ? flattenPipe(item.pipe) : item);
|
|
251
|
-
}
|
|
252
|
-
var refCount = 0;
|
|
253
|
-
function convertSchema(jsonSchema, valibotSchema, config, context, skipRef = false) {
|
|
254
|
-
if (!skipRef) {
|
|
255
|
-
const referenceId = context.referenceMap.get(valibotSchema);
|
|
256
|
-
if (referenceId) {
|
|
257
|
-
jsonSchema.$ref = `#/$defs/${referenceId}`;
|
|
258
|
-
if (config?.overrideRef) {
|
|
259
|
-
const refOverride = config.overrideRef({
|
|
260
|
-
...context,
|
|
261
|
-
referenceId,
|
|
262
|
-
valibotSchema,
|
|
263
|
-
jsonSchema
|
|
264
|
-
});
|
|
265
|
-
if (refOverride) jsonSchema.$ref = refOverride;
|
|
266
|
-
}
|
|
267
|
-
return jsonSchema;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
if ("pipe" in valibotSchema) {
|
|
271
|
-
const flatPipe = flattenPipe(valibotSchema.pipe);
|
|
272
|
-
let startIndex = 0;
|
|
273
|
-
let stopIndex = flatPipe.length - 1;
|
|
274
|
-
if (config?.typeMode === "input") {
|
|
275
|
-
const inputStopIndex = flatPipe.slice(1).findIndex((item) => item.kind === "schema" || item.kind === "transformation" && (item.type === "find_item" || item.type === "parse_json" || item.type === "raw_transform" || item.type === "reduce_items" || item.type === "stringify_json" || item.type === "to_bigint" || item.type === "to_boolean" || item.type === "to_date" || item.type === "to_number" || item.type === "to_string" || item.type === "transform"));
|
|
276
|
-
if (inputStopIndex !== -1) stopIndex = inputStopIndex;
|
|
277
|
-
} else if (config?.typeMode === "output") {
|
|
278
|
-
const outputStartIndex = flatPipe.findLastIndex((item) => item.kind === "schema");
|
|
279
|
-
if (outputStartIndex !== -1) startIndex = outputStartIndex;
|
|
280
|
-
}
|
|
281
|
-
for (let index = startIndex; index <= stopIndex; index++) {
|
|
282
|
-
const valibotPipeItem = flatPipe[index];
|
|
283
|
-
if (valibotPipeItem.kind === "schema") {
|
|
284
|
-
if (index > startIndex) handleError('Set the "typeMode" config to "input" or "output" to convert pipelines with multiple schemas.', config);
|
|
285
|
-
jsonSchema = convertSchema(jsonSchema, valibotPipeItem, config, context, true);
|
|
286
|
-
} else jsonSchema = convertAction(jsonSchema, valibotPipeItem, config);
|
|
287
|
-
}
|
|
288
|
-
return jsonSchema;
|
|
289
|
-
}
|
|
290
|
-
let errors;
|
|
291
|
-
switch (valibotSchema.type) {
|
|
292
|
-
case "boolean":
|
|
293
|
-
jsonSchema.type = "boolean";
|
|
294
|
-
break;
|
|
295
|
-
case "null":
|
|
296
|
-
if (config?.target === "openapi-3.0") jsonSchema.enum = [null];
|
|
297
|
-
else jsonSchema.type = "null";
|
|
298
|
-
break;
|
|
299
|
-
case "number":
|
|
300
|
-
jsonSchema.type = "number";
|
|
301
|
-
break;
|
|
302
|
-
case "string":
|
|
303
|
-
jsonSchema.type = "string";
|
|
304
|
-
break;
|
|
305
|
-
case "array":
|
|
306
|
-
jsonSchema.type = "array";
|
|
307
|
-
jsonSchema.items = convertSchema({}, valibotSchema.item, config, context);
|
|
308
|
-
break;
|
|
309
|
-
case "tuple":
|
|
310
|
-
case "tuple_with_rest":
|
|
311
|
-
case "loose_tuple":
|
|
312
|
-
case "strict_tuple":
|
|
313
|
-
jsonSchema.type = "array";
|
|
314
|
-
if (config?.target === "openapi-3.0") {
|
|
315
|
-
jsonSchema.items = { anyOf: [] };
|
|
316
|
-
jsonSchema.minItems = valibotSchema.items.length;
|
|
317
|
-
for (const item of valibotSchema.items) jsonSchema.items.anyOf.push(convertSchema({}, item, config, context));
|
|
318
|
-
if (valibotSchema.type === "tuple_with_rest") jsonSchema.items.anyOf.push(convertSchema({}, valibotSchema.rest, config, context));
|
|
319
|
-
else if (valibotSchema.type === "strict_tuple" || valibotSchema.type === "tuple") jsonSchema.maxItems = valibotSchema.items.length;
|
|
320
|
-
} else if (config?.target === "draft-2020-12") {
|
|
321
|
-
jsonSchema.prefixItems = [];
|
|
322
|
-
jsonSchema.minItems = valibotSchema.items.length;
|
|
323
|
-
for (const item of valibotSchema.items) jsonSchema.prefixItems.push(convertSchema({}, item, config, context));
|
|
324
|
-
if (valibotSchema.type === "tuple_with_rest") jsonSchema.items = convertSchema({}, valibotSchema.rest, config, context);
|
|
325
|
-
else if (valibotSchema.type === "strict_tuple") jsonSchema.items = false;
|
|
326
|
-
} else {
|
|
327
|
-
jsonSchema.items = [];
|
|
328
|
-
jsonSchema.minItems = valibotSchema.items.length;
|
|
329
|
-
for (const item of valibotSchema.items) jsonSchema.items.push(convertSchema({}, item, config, context));
|
|
330
|
-
if (valibotSchema.type === "tuple_with_rest") jsonSchema.additionalItems = convertSchema({}, valibotSchema.rest, config, context);
|
|
331
|
-
else if (valibotSchema.type === "strict_tuple") jsonSchema.additionalItems = false;
|
|
332
|
-
}
|
|
333
|
-
break;
|
|
334
|
-
case "object":
|
|
335
|
-
case "object_with_rest":
|
|
336
|
-
case "loose_object":
|
|
337
|
-
case "strict_object":
|
|
338
|
-
jsonSchema.type = "object";
|
|
339
|
-
jsonSchema.properties = {};
|
|
340
|
-
jsonSchema.required = [];
|
|
341
|
-
for (const key in valibotSchema.entries) {
|
|
342
|
-
const entry = valibotSchema.entries[key];
|
|
343
|
-
jsonSchema.properties[key] = convertSchema({}, entry, config, context);
|
|
344
|
-
if (entry.type !== "exact_optional" && entry.type !== "nullish" && entry.type !== "optional") jsonSchema.required.push(key);
|
|
345
|
-
}
|
|
346
|
-
if (valibotSchema.type === "object_with_rest") jsonSchema.additionalProperties = convertSchema({}, valibotSchema.rest, config, context);
|
|
347
|
-
else if (valibotSchema.type === "strict_object") jsonSchema.additionalProperties = false;
|
|
348
|
-
break;
|
|
349
|
-
case "record":
|
|
350
|
-
if (config?.target === "openapi-3.0" && "pipe" in valibotSchema.key) errors = addError(errors, 'The "record" schema with a schema for the key that contains a "pipe" cannot be converted to JSON Schema.');
|
|
351
|
-
if (valibotSchema.key.type !== "string") errors = addError(errors, `The "record" schema with the "${valibotSchema.key.type}" schema for the key cannot be converted to JSON Schema.`);
|
|
352
|
-
jsonSchema.type = "object";
|
|
353
|
-
if (config?.target !== "openapi-3.0") jsonSchema.propertyNames = convertSchema({}, valibotSchema.key, config, context);
|
|
354
|
-
jsonSchema.additionalProperties = convertSchema({}, valibotSchema.value, config, context);
|
|
355
|
-
break;
|
|
356
|
-
case "any":
|
|
357
|
-
case "unknown":
|
|
358
|
-
break;
|
|
359
|
-
case "never":
|
|
360
|
-
jsonSchema.not = {};
|
|
361
|
-
break;
|
|
362
|
-
case "nullable":
|
|
363
|
-
case "nullish":
|
|
364
|
-
if (config?.target === "openapi-3.0") {
|
|
365
|
-
const innerSchema = convertSchema({}, valibotSchema.wrapped, config, context);
|
|
366
|
-
Object.assign(jsonSchema, innerSchema);
|
|
367
|
-
jsonSchema.nullable = true;
|
|
368
|
-
} else jsonSchema.anyOf = [convertSchema({}, valibotSchema.wrapped, config, context), { type: "null" }];
|
|
369
|
-
if (valibotSchema.default !== void 0) jsonSchema.default = typeof valibotSchema.default === "function" ? valibotSchema.default() : valibotSchema.default;
|
|
370
|
-
break;
|
|
371
|
-
case "exact_optional":
|
|
372
|
-
case "optional":
|
|
373
|
-
case "undefinedable":
|
|
374
|
-
jsonSchema = convertSchema(jsonSchema, valibotSchema.wrapped, config, context);
|
|
375
|
-
if (valibotSchema.default !== void 0) jsonSchema.default = typeof valibotSchema.default === "function" ? valibotSchema.default() : valibotSchema.default;
|
|
376
|
-
break;
|
|
377
|
-
case "literal":
|
|
378
|
-
if (typeof valibotSchema.literal !== "boolean" && typeof valibotSchema.literal !== "number" && typeof valibotSchema.literal !== "string") errors = addError(errors, 'The value of the "literal" schema is not JSON compatible.');
|
|
379
|
-
if (config?.target === "openapi-3.0") jsonSchema.enum = [valibotSchema.literal];
|
|
380
|
-
else jsonSchema.const = valibotSchema.literal;
|
|
381
|
-
break;
|
|
382
|
-
case "enum":
|
|
383
|
-
jsonSchema.enum = valibotSchema.options;
|
|
384
|
-
if (valibotSchema.options.every((option) => typeof option === "string")) jsonSchema.type = "string";
|
|
385
|
-
else if (valibotSchema.options.every((option) => typeof option === "number")) jsonSchema.type = "number";
|
|
386
|
-
else if (config?.target !== "openapi-3.0") jsonSchema.type = ["string", "number"];
|
|
387
|
-
break;
|
|
388
|
-
case "picklist": {
|
|
389
|
-
const hasInvalidOption = valibotSchema.options.some((option) => typeof option !== "number" && typeof option !== "string");
|
|
390
|
-
if (hasInvalidOption) errors = addError(errors, 'An option of the "picklist" schema is not JSON compatible.');
|
|
391
|
-
jsonSchema.enum = valibotSchema.options;
|
|
392
|
-
if (valibotSchema.options.every((option) => typeof option === "string")) jsonSchema.type = "string";
|
|
393
|
-
else if (valibotSchema.options.every((option) => typeof option === "number")) jsonSchema.type = "number";
|
|
394
|
-
else if (!hasInvalidOption && config?.target !== "openapi-3.0") jsonSchema.type = ["string", "number"];
|
|
395
|
-
break;
|
|
396
|
-
}
|
|
397
|
-
case "union":
|
|
398
|
-
jsonSchema.anyOf = valibotSchema.options.map((option) => convertSchema({}, option, config, context));
|
|
399
|
-
break;
|
|
400
|
-
case "variant":
|
|
401
|
-
jsonSchema.oneOf = valibotSchema.options.map((option) => convertSchema({}, option, config, context));
|
|
402
|
-
break;
|
|
403
|
-
case "intersect":
|
|
404
|
-
jsonSchema.allOf = valibotSchema.options.map((option) => convertSchema({}, option, config, context));
|
|
405
|
-
break;
|
|
406
|
-
case "lazy": {
|
|
407
|
-
let wrappedValibotSchema = context.getterMap.get(valibotSchema.getter);
|
|
408
|
-
if (!wrappedValibotSchema) {
|
|
409
|
-
wrappedValibotSchema = valibotSchema.getter(void 0);
|
|
410
|
-
context.getterMap.set(valibotSchema.getter, wrappedValibotSchema);
|
|
411
|
-
}
|
|
412
|
-
let referenceId = context.referenceMap.get(wrappedValibotSchema);
|
|
413
|
-
if (!referenceId) {
|
|
414
|
-
referenceId = `${refCount++}`;
|
|
415
|
-
context.referenceMap.set(wrappedValibotSchema, referenceId);
|
|
416
|
-
context.definitions[referenceId] = convertSchema({}, wrappedValibotSchema, config, context, true);
|
|
417
|
-
}
|
|
418
|
-
jsonSchema.$ref = `#/$defs/${referenceId}`;
|
|
419
|
-
if (config?.overrideRef) {
|
|
420
|
-
const refOverride = config.overrideRef({
|
|
421
|
-
...context,
|
|
422
|
-
referenceId,
|
|
423
|
-
valibotSchema: wrappedValibotSchema,
|
|
424
|
-
jsonSchema
|
|
425
|
-
});
|
|
426
|
-
if (refOverride) jsonSchema.$ref = refOverride;
|
|
427
|
-
}
|
|
428
|
-
break;
|
|
429
|
-
}
|
|
430
|
-
default:
|
|
431
|
-
errors = addError(errors, `The "${valibotSchema.type}" schema cannot be converted to JSON Schema.`);
|
|
432
|
-
}
|
|
433
|
-
if (config?.overrideSchema) {
|
|
434
|
-
const schemaOverride = config.overrideSchema({
|
|
435
|
-
...context,
|
|
436
|
-
referenceId: context.referenceMap.get(valibotSchema),
|
|
437
|
-
valibotSchema,
|
|
438
|
-
jsonSchema,
|
|
439
|
-
errors
|
|
440
|
-
});
|
|
441
|
-
if (schemaOverride) return { ...schemaOverride };
|
|
442
|
-
}
|
|
443
|
-
if (errors) for (const message of errors) handleError(message, config);
|
|
444
|
-
return jsonSchema;
|
|
445
|
-
}
|
|
446
|
-
var store;
|
|
447
|
-
function addGlobalDefs(definitions) {
|
|
448
|
-
store = {
|
|
449
|
-
...store ?? {},
|
|
450
|
-
...definitions
|
|
451
|
-
};
|
|
452
|
-
}
|
|
453
|
-
function getGlobalDefs() {
|
|
454
|
-
return store;
|
|
455
|
-
}
|
|
456
|
-
function toJsonSchema(schema, config) {
|
|
457
|
-
const context = {
|
|
458
|
-
definitions: {},
|
|
459
|
-
referenceMap: /* @__PURE__ */ new Map(),
|
|
460
|
-
getterMap: /* @__PURE__ */ new Map()
|
|
461
|
-
};
|
|
462
|
-
const definitions = config?.definitions ?? getGlobalDefs();
|
|
463
|
-
if (definitions) {
|
|
464
|
-
for (const key in definitions) context.referenceMap.set(definitions[key], key);
|
|
465
|
-
for (const key in definitions) context.definitions[key] = convertSchema({}, definitions[key], config, context, true);
|
|
466
|
-
}
|
|
467
|
-
const jsonSchema = convertSchema({}, schema, config, context);
|
|
468
|
-
const target = config?.target ?? "draft-07";
|
|
469
|
-
if (target === "draft-2020-12") jsonSchema.$schema = "https://json-schema.org/draft/2020-12/schema";
|
|
470
|
-
else if (target === "draft-07") jsonSchema.$schema = "http://json-schema.org/draft-07/schema#";
|
|
471
|
-
if (context.referenceMap.size) jsonSchema.$defs = context.definitions;
|
|
472
|
-
return jsonSchema;
|
|
473
|
-
}
|
|
474
|
-
function toJsonSchemaDefs(definitions, config) {
|
|
475
|
-
const context = {
|
|
476
|
-
definitions: {},
|
|
477
|
-
referenceMap: /* @__PURE__ */ new Map(),
|
|
478
|
-
getterMap: /* @__PURE__ */ new Map()
|
|
479
|
-
};
|
|
480
|
-
for (const key in definitions) context.referenceMap.set(definitions[key], key);
|
|
481
|
-
for (const key in definitions) context.definitions[key] = convertSchema({}, definitions[key], config, context, true);
|
|
482
|
-
return context.definitions;
|
|
483
|
-
}
|
|
484
|
-
var SUPPORTED_TARGETS = [
|
|
485
|
-
"draft-07",
|
|
486
|
-
"draft-2020-12",
|
|
487
|
-
"openapi-3.0"
|
|
488
|
-
];
|
|
489
|
-
function toStandardJsonSchema(schema) {
|
|
490
|
-
return { "~standard": {
|
|
491
|
-
...schema["~standard"],
|
|
492
|
-
jsonSchema: {
|
|
493
|
-
input(options) {
|
|
494
|
-
if (SUPPORTED_TARGETS.includes(options.target)) return toJsonSchema(schema, {
|
|
495
|
-
typeMode: "input",
|
|
496
|
-
target: options.target,
|
|
497
|
-
...options.libraryOptions
|
|
498
|
-
});
|
|
499
|
-
throw new Error(`Unsupported target: ${options.target}`);
|
|
500
|
-
},
|
|
501
|
-
output(options) {
|
|
502
|
-
if (SUPPORTED_TARGETS.includes(options.target)) return toJsonSchema(schema, {
|
|
503
|
-
typeMode: "output",
|
|
504
|
-
target: options.target,
|
|
505
|
-
...options.libraryOptions
|
|
506
|
-
});
|
|
507
|
-
throw new Error(`Unsupported target: ${options.target}`);
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
} };
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
export { addGlobalDefs, getGlobalDefs, toJsonSchema, toJsonSchemaDefs, toStandardJsonSchema };
|
|
514
|
-
//# sourceMappingURL=dist-X75F2Q36.js.map
|
|
515
|
-
//# sourceMappingURL=dist-X75F2Q36.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@valibot/to-json-schema/1.7.0/aee7a483bbe996daea8b6325b98dce7355e28d28fce823fd93e368879bd973ff/node_modules/@valibot/to-json-schema/dist/index.mjs"],"names":[],"mappings":"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","file":"dist-X75F2Q36.js","sourcesContent":["//#region src/utils/addError.ts\n/**\n* Adds an error message to the errors array.\n*\n* @param errors The array of error messages.\n* @param message The error message to add.\n*\n* @returns The new errors.\n*/\nfunction addError(errors, message) {\n\tif (errors) {\n\t\terrors.push(message);\n\t\treturn errors;\n\t}\n\treturn [message];\n}\n\n//#endregion\n//#region src/utils/escapeRegExp.ts\nconst ESCAPE_REGEX = /[.*+?^${}()|[\\]\\\\]/g;\n/**\n* Escapes special regex characters in a string.\n*\n* @param string The string to escape.\n*\n* @returns The escaped string.\n*/\nfunction escapeRegExp(string) {\n\treturn string.replace(ESCAPE_REGEX, \"\\\\$&\");\n}\n\n//#endregion\n//#region src/utils/handleError.ts\n/**\n* Throws an error or logs a warning based on the configuration.\n*\n* @param message The message to throw or log.\n* @param config The conversion configuration.\n*/\nfunction handleError(message, config) {\n\tswitch (config?.errorMode) {\n\t\tcase \"ignore\": break;\n\t\tcase \"warn\":\n\t\t\tconsole.warn(message);\n\t\t\tbreak;\n\t\tdefault: throw new Error(message);\n\t}\n}\n\n//#endregion\n//#region src/utils/isJsonConstValue.ts\n/**\n* Whether a value is JSON compatible for a const keyword.\n*\n* @param value The value to check.\n*\n* @returns Whether the value is JSON compatible.\n*/\nfunction isJsonConstValue(value) {\n\treturn typeof value === \"boolean\" || typeof value === \"number\" && Number.isFinite(value) || typeof value === \"string\";\n}\n\n//#endregion\n//#region src/utils/isJsonEnumValues.ts\n/**\n* Whether values are JSON compatible for an enum keyword.\n*\n* @param values The values to check.\n*\n* @returns Whether the values are JSON compatible.\n*/\nfunction isJsonEnumValues(values) {\n\treturn values.every(isJsonConstValue);\n}\n\n//#endregion\n//#region src/converters/convertAction/convertAction.ts\n/**\n* Converts any supported Valibot action to the JSON Schema format.\n*\n* @param jsonSchema The JSON Schema object.\n* @param valibotAction The Valibot action object.\n* @param config The conversion configuration.\n*\n* @returns The converted JSON Schema.\n*/\nfunction convertAction(jsonSchema, valibotAction, config) {\n\tif (config?.ignoreActions?.includes(valibotAction.type)) return jsonSchema;\n\tlet errors;\n\tswitch (valibotAction.type) {\n\t\tcase \"base64\":\n\t\t\tjsonSchema.contentEncoding = \"base64\";\n\t\t\tbreak;\n\t\tcase \"bic\":\n\t\tcase \"cuid2\":\n\t\tcase \"decimal\":\n\t\tcase \"digits\":\n\t\tcase \"domain\":\n\t\tcase \"emoji\":\n\t\tcase \"hash\":\n\t\tcase \"hexadecimal\":\n\t\tcase \"hex_color\":\n\t\tcase \"isrc\":\n\t\tcase \"iso_time_second\":\n\t\tcase \"iso_week\":\n\t\tcase \"mac\":\n\t\tcase \"mac48\":\n\t\tcase \"mac64\":\n\t\tcase \"nanoid\":\n\t\tcase \"octal\":\n\t\tcase \"slug\":\n\t\tcase \"ulid\":\n\t\t\tif (jsonSchema.pattern) errors = addError(errors, `The \"${valibotAction.type}\" action is not supported in combination with another regex action.`);\n\t\t\telse jsonSchema.pattern = valibotAction.requirement.source;\n\t\t\tbreak;\n\t\tcase \"description\":\n\t\t\tjsonSchema.description = valibotAction.description;\n\t\t\tbreak;\n\t\tcase \"email\":\n\t\tcase \"rfc_email\":\n\t\t\tjsonSchema.format = \"email\";\n\t\t\tbreak;\n\t\tcase \"ends_with\":\n\t\t\tif (jsonSchema.pattern) errors = addError(errors, `The \"${valibotAction.type}\" action is not supported in combination with another regex action.`);\n\t\t\telse jsonSchema.pattern = `${escapeRegExp(valibotAction.requirement)}$`;\n\t\t\tbreak;\n\t\tcase \"empty\":\n\t\t\tif (jsonSchema.type === \"array\") jsonSchema.maxItems = 0;\n\t\t\telse {\n\t\t\t\tif (jsonSchema.type !== \"string\") errors = addError(errors, `The \"${valibotAction.type}\" action is not supported on type \"${jsonSchema.type}\".`);\n\t\t\t\tjsonSchema.maxLength = 0;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"entries\":\n\t\t\tjsonSchema.minProperties = valibotAction.requirement;\n\t\t\tjsonSchema.maxProperties = valibotAction.requirement;\n\t\t\tbreak;\n\t\tcase \"examples\":\n\t\t\tif (Array.isArray(jsonSchema.examples)) jsonSchema.examples = [...jsonSchema.examples, ...valibotAction.examples];\n\t\t\telse jsonSchema.examples = valibotAction.examples;\n\t\t\tbreak;\n\t\tcase \"gt_value\":\n\t\t\tif (jsonSchema.type !== \"number\" && jsonSchema.type !== \"integer\") errors = addError(errors, `The \"gt_value\" action is not supported on type \"${jsonSchema.type}\".`);\n\t\t\tif (config?.target === \"openapi-3.0\") {\n\t\t\t\terrors = addError(errors, \"The \\\"gt_value\\\" action is not supported for OpenAPI 3.0.\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tjsonSchema.exclusiveMinimum = valibotAction.requirement;\n\t\t\tbreak;\n\t\tcase \"includes\":\n\t\t\tif (jsonSchema.pattern) errors = addError(errors, `The \"${valibotAction.type}\" action is not supported in combination with another regex action.`);\n\t\t\telse jsonSchema.pattern = escapeRegExp(valibotAction.requirement);\n\t\t\tbreak;\n\t\tcase \"integer\":\n\t\t\tjsonSchema.type = \"integer\";\n\t\t\tbreak;\n\t\tcase \"ipv4\":\n\t\t\tjsonSchema.format = \"ipv4\";\n\t\t\tbreak;\n\t\tcase \"ipv6\":\n\t\t\tjsonSchema.format = \"ipv6\";\n\t\t\tbreak;\n\t\tcase \"iso_date\":\n\t\t\tjsonSchema.format = \"date\";\n\t\t\tbreak;\n\t\tcase \"iso_date_time\":\n\t\tcase \"iso_timestamp\":\n\t\t\tjsonSchema.format = \"date-time\";\n\t\t\tbreak;\n\t\tcase \"iso_time\":\n\t\t\tjsonSchema.format = \"time\";\n\t\t\tbreak;\n\t\tcase \"jws_compact\":\n\t\t\tif (jsonSchema.pattern) errors = addError(errors, `The \"${valibotAction.type}\" action is not supported in combination with another regex action.`);\n\t\t\telse jsonSchema.pattern = valibotAction.requirement.source;\n\t\t\tbreak;\n\t\tcase \"length\":\n\t\t\tif (jsonSchema.type === \"array\") {\n\t\t\t\tjsonSchema.minItems = valibotAction.requirement;\n\t\t\t\tjsonSchema.maxItems = valibotAction.requirement;\n\t\t\t} else {\n\t\t\t\tif (jsonSchema.type !== \"string\") errors = addError(errors, `The \"${valibotAction.type}\" action is not supported on type \"${jsonSchema.type}\".`);\n\t\t\t\tjsonSchema.minLength = valibotAction.requirement;\n\t\t\t\tjsonSchema.maxLength = valibotAction.requirement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"lt_value\":\n\t\t\tif (jsonSchema.type !== \"number\" && jsonSchema.type !== \"integer\") errors = addError(errors, `The \"lt_value\" action is not supported on type \"${jsonSchema.type}\".`);\n\t\t\tif (config?.target === \"openapi-3.0\") {\n\t\t\t\terrors = addError(errors, \"The \\\"lt_value\\\" action is not supported for OpenAPI 3.0.\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tjsonSchema.exclusiveMaximum = valibotAction.requirement;\n\t\t\tbreak;\n\t\tcase \"max_entries\":\n\t\t\tjsonSchema.maxProperties = valibotAction.requirement;\n\t\t\tbreak;\n\t\tcase \"max_length\":\n\t\t\tif (jsonSchema.type === \"array\") jsonSchema.maxItems = valibotAction.requirement;\n\t\t\telse {\n\t\t\t\tif (jsonSchema.type !== \"string\") errors = addError(errors, `The \"${valibotAction.type}\" action is not supported on type \"${jsonSchema.type}\".`);\n\t\t\t\tjsonSchema.maxLength = valibotAction.requirement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"max_value\":\n\t\t\tif (jsonSchema.type !== \"number\" && jsonSchema.type !== \"integer\") errors = addError(errors, `The \"max_value\" action is not supported on type \"${jsonSchema.type}\".`);\n\t\t\tjsonSchema.maximum = valibotAction.requirement;\n\t\t\tbreak;\n\t\tcase \"metadata\":\n\t\t\tif (typeof valibotAction.metadata.title === \"string\") jsonSchema.title = valibotAction.metadata.title;\n\t\t\tif (typeof valibotAction.metadata.description === \"string\") jsonSchema.description = valibotAction.metadata.description;\n\t\t\tif (Array.isArray(valibotAction.metadata.examples)) if (Array.isArray(jsonSchema.examples)) jsonSchema.examples = [...jsonSchema.examples, ...valibotAction.metadata.examples];\n\t\t\telse jsonSchema.examples = valibotAction.metadata.examples;\n\t\t\tbreak;\n\t\tcase \"min_entries\":\n\t\t\tjsonSchema.minProperties = valibotAction.requirement;\n\t\t\tbreak;\n\t\tcase \"min_length\":\n\t\t\tif (jsonSchema.type === \"array\") jsonSchema.minItems = valibotAction.requirement;\n\t\t\telse {\n\t\t\t\tif (jsonSchema.type !== \"string\") errors = addError(errors, `The \"${valibotAction.type}\" action is not supported on type \"${jsonSchema.type}\".`);\n\t\t\t\tjsonSchema.minLength = valibotAction.requirement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"min_value\":\n\t\t\tif (jsonSchema.type !== \"number\" && jsonSchema.type !== \"integer\") errors = addError(errors, `The \"min_value\" action is not supported on type \"${jsonSchema.type}\".`);\n\t\t\tjsonSchema.minimum = valibotAction.requirement;\n\t\t\tbreak;\n\t\tcase \"multiple_of\":\n\t\t\tjsonSchema.multipleOf = valibotAction.requirement;\n\t\t\tbreak;\n\t\tcase \"non_empty\":\n\t\t\tif (jsonSchema.type === \"array\") jsonSchema.minItems = 1;\n\t\t\telse {\n\t\t\t\tif (jsonSchema.type !== \"string\") errors = addError(errors, `The \"${valibotAction.type}\" action is not supported on type \"${jsonSchema.type}\".`);\n\t\t\t\tjsonSchema.minLength = 1;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"not_value\":\n\t\t\tif (!isJsonConstValue(valibotAction.requirement)) {\n\t\t\t\terrors = addError(errors, \"The requirement of the \\\"not_value\\\" action is not JSON compatible.\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (config?.target === \"openapi-3.0\") jsonSchema.not = { enum: [valibotAction.requirement] };\n\t\t\telse jsonSchema.not = { const: valibotAction.requirement };\n\t\t\tbreak;\n\t\tcase \"not_values\":\n\t\t\tif (!isJsonEnumValues(valibotAction.requirement)) {\n\t\t\t\terrors = addError(errors, \"A requirement of the \\\"not_values\\\" action is not JSON compatible.\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tjsonSchema.not = { enum: valibotAction.requirement };\n\t\t\tbreak;\n\t\tcase \"regex\":\n\t\t\tif (valibotAction.requirement.flags) errors = addError(errors, \"RegExp flags are not supported by JSON Schema.\");\n\t\t\tif (jsonSchema.pattern) errors = addError(errors, `The \"${valibotAction.type}\" action is not supported in combination with another regex action.`);\n\t\t\telse jsonSchema.pattern = valibotAction.requirement.source;\n\t\t\tbreak;\n\t\tcase \"safe_integer\":\n\t\t\tjsonSchema.type = \"integer\";\n\t\t\tif (typeof jsonSchema.minimum !== \"number\" || jsonSchema.minimum < Number.MIN_SAFE_INTEGER) jsonSchema.minimum = Number.MIN_SAFE_INTEGER;\n\t\t\tif (typeof jsonSchema.maximum !== \"number\" || jsonSchema.maximum > Number.MAX_SAFE_INTEGER) jsonSchema.maximum = Number.MAX_SAFE_INTEGER;\n\t\t\tbreak;\n\t\tcase \"starts_with\":\n\t\t\tif (jsonSchema.pattern) errors = addError(errors, `The \"${valibotAction.type}\" action is not supported in combination with another regex action.`);\n\t\t\telse jsonSchema.pattern = `^${escapeRegExp(valibotAction.requirement)}`;\n\t\t\tbreak;\n\t\tcase \"title\":\n\t\t\tjsonSchema.title = valibotAction.title;\n\t\t\tbreak;\n\t\tcase \"url\":\n\t\t\tjsonSchema.format = \"uri\";\n\t\t\tbreak;\n\t\tcase \"uuid\":\n\t\t\tjsonSchema.format = \"uuid\";\n\t\t\tbreak;\n\t\tcase \"value\":\n\t\t\tif (!isJsonConstValue(valibotAction.requirement)) {\n\t\t\t\terrors = addError(errors, \"The requirement of the \\\"value\\\" action is not JSON compatible.\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (config?.target === \"openapi-3.0\") jsonSchema.enum = [valibotAction.requirement];\n\t\t\telse jsonSchema.const = valibotAction.requirement;\n\t\t\tbreak;\n\t\tcase \"values\":\n\t\t\tif (!isJsonEnumValues(valibotAction.requirement)) {\n\t\t\t\terrors = addError(errors, \"A requirement of the \\\"values\\\" action is not JSON compatible.\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tjsonSchema.enum = valibotAction.requirement;\n\t\t\tbreak;\n\t\tdefault: errors = addError(errors, `The \"${valibotAction.type}\" action cannot be converted to JSON Schema.`);\n\t}\n\tif (config?.overrideAction) {\n\t\tconst actionOverride = config.overrideAction({\n\t\t\tvalibotAction,\n\t\t\tjsonSchema,\n\t\t\terrors\n\t\t});\n\t\tif (actionOverride) return { ...actionOverride };\n\t}\n\tif (errors) for (const message of errors) handleError(message, config);\n\treturn jsonSchema;\n}\n\n//#endregion\n//#region src/converters/convertSchema/convertSchema.ts\n/**\n* Flattens a Valibot pipe by recursively expanding nested pipes.\n*\n* @param pipe The pipeline to flatten.\n*\n* @returns A flat pipeline.\n*/\nfunction flattenPipe(pipe) {\n\treturn pipe.flatMap((item) => \"pipe\" in item ? flattenPipe(item.pipe) : item);\n}\nlet refCount = 0;\n/**\n* Converts any supported Valibot schema to the JSON Schema format.\n*\n* @param jsonSchema The JSON Schema object.\n* @param valibotSchema The Valibot schema object.\n* @param config The conversion configuration.\n* @param context The conversion context.\n* @param skipRef Whether to skip using a reference.\n*\n* @returns The converted JSON Schema.\n*/\nfunction convertSchema(jsonSchema, valibotSchema, config, context, skipRef = false) {\n\tif (!skipRef) {\n\t\tconst referenceId = context.referenceMap.get(valibotSchema);\n\t\tif (referenceId) {\n\t\t\tjsonSchema.$ref = `#/$defs/${referenceId}`;\n\t\t\tif (config?.overrideRef) {\n\t\t\t\tconst refOverride = config.overrideRef({\n\t\t\t\t\t...context,\n\t\t\t\t\treferenceId,\n\t\t\t\t\tvalibotSchema,\n\t\t\t\t\tjsonSchema\n\t\t\t\t});\n\t\t\t\tif (refOverride) jsonSchema.$ref = refOverride;\n\t\t\t}\n\t\t\treturn jsonSchema;\n\t\t}\n\t}\n\tif (\"pipe\" in valibotSchema) {\n\t\tconst flatPipe = flattenPipe(valibotSchema.pipe);\n\t\tlet startIndex = 0;\n\t\tlet stopIndex = flatPipe.length - 1;\n\t\tif (config?.typeMode === \"input\") {\n\t\t\tconst inputStopIndex = flatPipe.slice(1).findIndex((item) => item.kind === \"schema\" || item.kind === \"transformation\" && (item.type === \"find_item\" || item.type === \"parse_json\" || item.type === \"raw_transform\" || item.type === \"reduce_items\" || item.type === \"stringify_json\" || item.type === \"to_bigint\" || item.type === \"to_boolean\" || item.type === \"to_date\" || item.type === \"to_number\" || item.type === \"to_string\" || item.type === \"transform\"));\n\t\t\tif (inputStopIndex !== -1) stopIndex = inputStopIndex;\n\t\t} else if (config?.typeMode === \"output\") {\n\t\t\tconst outputStartIndex = flatPipe.findLastIndex((item) => item.kind === \"schema\");\n\t\t\tif (outputStartIndex !== -1) startIndex = outputStartIndex;\n\t\t}\n\t\tfor (let index = startIndex; index <= stopIndex; index++) {\n\t\t\tconst valibotPipeItem = flatPipe[index];\n\t\t\tif (valibotPipeItem.kind === \"schema\") {\n\t\t\t\tif (index > startIndex) handleError(\"Set the \\\"typeMode\\\" config to \\\"input\\\" or \\\"output\\\" to convert pipelines with multiple schemas.\", config);\n\t\t\t\tjsonSchema = convertSchema(jsonSchema, valibotPipeItem, config, context, true);\n\t\t\t} else jsonSchema = convertAction(jsonSchema, valibotPipeItem, config);\n\t\t}\n\t\treturn jsonSchema;\n\t}\n\tlet errors;\n\tswitch (valibotSchema.type) {\n\t\tcase \"boolean\":\n\t\t\tjsonSchema.type = \"boolean\";\n\t\t\tbreak;\n\t\tcase \"null\":\n\t\t\tif (config?.target === \"openapi-3.0\") jsonSchema.enum = [null];\n\t\t\telse jsonSchema.type = \"null\";\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tjsonSchema.type = \"number\";\n\t\t\tbreak;\n\t\tcase \"string\":\n\t\t\tjsonSchema.type = \"string\";\n\t\t\tbreak;\n\t\tcase \"array\":\n\t\t\tjsonSchema.type = \"array\";\n\t\t\tjsonSchema.items = convertSchema({}, valibotSchema.item, config, context);\n\t\t\tbreak;\n\t\tcase \"tuple\":\n\t\tcase \"tuple_with_rest\":\n\t\tcase \"loose_tuple\":\n\t\tcase \"strict_tuple\":\n\t\t\tjsonSchema.type = \"array\";\n\t\t\tif (config?.target === \"openapi-3.0\") {\n\t\t\t\tjsonSchema.items = { anyOf: [] };\n\t\t\t\tjsonSchema.minItems = valibotSchema.items.length;\n\t\t\t\tfor (const item of valibotSchema.items) jsonSchema.items.anyOf.push(convertSchema({}, item, config, context));\n\t\t\t\tif (valibotSchema.type === \"tuple_with_rest\") jsonSchema.items.anyOf.push(convertSchema({}, valibotSchema.rest, config, context));\n\t\t\t\telse if (valibotSchema.type === \"strict_tuple\" || valibotSchema.type === \"tuple\") jsonSchema.maxItems = valibotSchema.items.length;\n\t\t\t} else if (config?.target === \"draft-2020-12\") {\n\t\t\t\tjsonSchema.prefixItems = [];\n\t\t\t\tjsonSchema.minItems = valibotSchema.items.length;\n\t\t\t\tfor (const item of valibotSchema.items) jsonSchema.prefixItems.push(convertSchema({}, item, config, context));\n\t\t\t\tif (valibotSchema.type === \"tuple_with_rest\") jsonSchema.items = convertSchema({}, valibotSchema.rest, config, context);\n\t\t\t\telse if (valibotSchema.type === \"strict_tuple\") jsonSchema.items = false;\n\t\t\t} else {\n\t\t\t\tjsonSchema.items = [];\n\t\t\t\tjsonSchema.minItems = valibotSchema.items.length;\n\t\t\t\tfor (const item of valibotSchema.items) jsonSchema.items.push(convertSchema({}, item, config, context));\n\t\t\t\tif (valibotSchema.type === \"tuple_with_rest\") jsonSchema.additionalItems = convertSchema({}, valibotSchema.rest, config, context);\n\t\t\t\telse if (valibotSchema.type === \"strict_tuple\") jsonSchema.additionalItems = false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"object\":\n\t\tcase \"object_with_rest\":\n\t\tcase \"loose_object\":\n\t\tcase \"strict_object\":\n\t\t\tjsonSchema.type = \"object\";\n\t\t\tjsonSchema.properties = {};\n\t\t\tjsonSchema.required = [];\n\t\t\tfor (const key in valibotSchema.entries) {\n\t\t\t\tconst entry = valibotSchema.entries[key];\n\t\t\t\tjsonSchema.properties[key] = convertSchema({}, entry, config, context);\n\t\t\t\tif (entry.type !== \"exact_optional\" && entry.type !== \"nullish\" && entry.type !== \"optional\") jsonSchema.required.push(key);\n\t\t\t}\n\t\t\tif (valibotSchema.type === \"object_with_rest\") jsonSchema.additionalProperties = convertSchema({}, valibotSchema.rest, config, context);\n\t\t\telse if (valibotSchema.type === \"strict_object\") jsonSchema.additionalProperties = false;\n\t\t\tbreak;\n\t\tcase \"record\":\n\t\t\tif (config?.target === \"openapi-3.0\" && \"pipe\" in valibotSchema.key) errors = addError(errors, \"The \\\"record\\\" schema with a schema for the key that contains a \\\"pipe\\\" cannot be converted to JSON Schema.\");\n\t\t\tif (valibotSchema.key.type !== \"string\") errors = addError(errors, `The \"record\" schema with the \"${valibotSchema.key.type}\" schema for the key cannot be converted to JSON Schema.`);\n\t\t\tjsonSchema.type = \"object\";\n\t\t\tif (config?.target !== \"openapi-3.0\") jsonSchema.propertyNames = convertSchema({}, valibotSchema.key, config, context);\n\t\t\tjsonSchema.additionalProperties = convertSchema({}, valibotSchema.value, config, context);\n\t\t\tbreak;\n\t\tcase \"any\":\n\t\tcase \"unknown\": break;\n\t\tcase \"never\":\n\t\t\tjsonSchema.not = {};\n\t\t\tbreak;\n\t\tcase \"nullable\":\n\t\tcase \"nullish\":\n\t\t\tif (config?.target === \"openapi-3.0\") {\n\t\t\t\tconst innerSchema = convertSchema({}, valibotSchema.wrapped, config, context);\n\t\t\t\tObject.assign(jsonSchema, innerSchema);\n\t\t\t\tjsonSchema.nullable = true;\n\t\t\t} else jsonSchema.anyOf = [convertSchema({}, valibotSchema.wrapped, config, context), { type: \"null\" }];\n\t\t\tif (valibotSchema.default !== void 0) jsonSchema.default = typeof valibotSchema.default === \"function\" ? valibotSchema.default() : valibotSchema.default;\n\t\t\tbreak;\n\t\tcase \"exact_optional\":\n\t\tcase \"optional\":\n\t\tcase \"undefinedable\":\n\t\t\tjsonSchema = convertSchema(jsonSchema, valibotSchema.wrapped, config, context);\n\t\t\tif (valibotSchema.default !== void 0) jsonSchema.default = typeof valibotSchema.default === \"function\" ? valibotSchema.default() : valibotSchema.default;\n\t\t\tbreak;\n\t\tcase \"literal\":\n\t\t\tif (typeof valibotSchema.literal !== \"boolean\" && typeof valibotSchema.literal !== \"number\" && typeof valibotSchema.literal !== \"string\") errors = addError(errors, \"The value of the \\\"literal\\\" schema is not JSON compatible.\");\n\t\t\tif (config?.target === \"openapi-3.0\") jsonSchema.enum = [valibotSchema.literal];\n\t\t\telse jsonSchema.const = valibotSchema.literal;\n\t\t\tbreak;\n\t\tcase \"enum\":\n\t\t\tjsonSchema.enum = valibotSchema.options;\n\t\t\tif (valibotSchema.options.every((option) => typeof option === \"string\")) jsonSchema.type = \"string\";\n\t\t\telse if (valibotSchema.options.every((option) => typeof option === \"number\")) jsonSchema.type = \"number\";\n\t\t\telse if (config?.target !== \"openapi-3.0\") jsonSchema.type = [\"string\", \"number\"];\n\t\t\tbreak;\n\t\tcase \"picklist\": {\n\t\t\tconst hasInvalidOption = valibotSchema.options.some((option) => typeof option !== \"number\" && typeof option !== \"string\");\n\t\t\tif (hasInvalidOption) errors = addError(errors, \"An option of the \\\"picklist\\\" schema is not JSON compatible.\");\n\t\t\tjsonSchema.enum = valibotSchema.options;\n\t\t\tif (valibotSchema.options.every((option) => typeof option === \"string\")) jsonSchema.type = \"string\";\n\t\t\telse if (valibotSchema.options.every((option) => typeof option === \"number\")) jsonSchema.type = \"number\";\n\t\t\telse if (!hasInvalidOption && config?.target !== \"openapi-3.0\") jsonSchema.type = [\"string\", \"number\"];\n\t\t\tbreak;\n\t\t}\n\t\tcase \"union\":\n\t\t\tjsonSchema.anyOf = valibotSchema.options.map((option) => convertSchema({}, option, config, context));\n\t\t\tbreak;\n\t\tcase \"variant\":\n\t\t\tjsonSchema.oneOf = valibotSchema.options.map((option) => convertSchema({}, option, config, context));\n\t\t\tbreak;\n\t\tcase \"intersect\":\n\t\t\tjsonSchema.allOf = valibotSchema.options.map((option) => convertSchema({}, option, config, context));\n\t\t\tbreak;\n\t\tcase \"lazy\": {\n\t\t\tlet wrappedValibotSchema = context.getterMap.get(valibotSchema.getter);\n\t\t\tif (!wrappedValibotSchema) {\n\t\t\t\twrappedValibotSchema = valibotSchema.getter(void 0);\n\t\t\t\tcontext.getterMap.set(valibotSchema.getter, wrappedValibotSchema);\n\t\t\t}\n\t\t\tlet referenceId = context.referenceMap.get(wrappedValibotSchema);\n\t\t\tif (!referenceId) {\n\t\t\t\treferenceId = `${refCount++}`;\n\t\t\t\tcontext.referenceMap.set(wrappedValibotSchema, referenceId);\n\t\t\t\tcontext.definitions[referenceId] = convertSchema({}, wrappedValibotSchema, config, context, true);\n\t\t\t}\n\t\t\tjsonSchema.$ref = `#/$defs/${referenceId}`;\n\t\t\tif (config?.overrideRef) {\n\t\t\t\tconst refOverride = config.overrideRef({\n\t\t\t\t\t...context,\n\t\t\t\t\treferenceId,\n\t\t\t\t\tvalibotSchema: wrappedValibotSchema,\n\t\t\t\t\tjsonSchema\n\t\t\t\t});\n\t\t\t\tif (refOverride) jsonSchema.$ref = refOverride;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tdefault: errors = addError(errors, `The \"${valibotSchema.type}\" schema cannot be converted to JSON Schema.`);\n\t}\n\tif (config?.overrideSchema) {\n\t\tconst schemaOverride = config.overrideSchema({\n\t\t\t...context,\n\t\t\treferenceId: context.referenceMap.get(valibotSchema),\n\t\t\tvalibotSchema,\n\t\t\tjsonSchema,\n\t\t\terrors\n\t\t});\n\t\tif (schemaOverride) return { ...schemaOverride };\n\t}\n\tif (errors) for (const message of errors) handleError(message, config);\n\treturn jsonSchema;\n}\n\n//#endregion\n//#region src/storages/globalDefs/globalDefs.ts\nlet store;\n/**\n* Adds new definitions to the global schema definitions.\n*\n* @param definitions The schema definitions.\n*\n* @beta\n*/\nfunction addGlobalDefs(definitions) {\n\tstore = {\n\t\t...store ?? {},\n\t\t...definitions\n\t};\n}\n/**\n* Returns the current global schema definitions.\n*\n* @returns The schema definitions.\n*\n* @beta\n*/\nfunction getGlobalDefs() {\n\treturn store;\n}\n\n//#endregion\n//#region src/functions/toJsonSchema/toJsonSchema.ts\n/**\n* Converts a Valibot schema to the JSON Schema format.\n*\n* @param schema The Valibot schema object.\n* @param config The JSON Schema configuration.\n*\n* @returns The converted JSON Schema.\n*/\nfunction toJsonSchema(schema, config) {\n\tconst context = {\n\t\tdefinitions: {},\n\t\treferenceMap: /* @__PURE__ */ new Map(),\n\t\tgetterMap: /* @__PURE__ */ new Map()\n\t};\n\tconst definitions = config?.definitions ?? getGlobalDefs();\n\tif (definitions) {\n\t\tfor (const key in definitions) context.referenceMap.set(definitions[key], key);\n\t\tfor (const key in definitions) context.definitions[key] = convertSchema({}, definitions[key], config, context, true);\n\t}\n\tconst jsonSchema = convertSchema({}, schema, config, context);\n\tconst target = config?.target ?? \"draft-07\";\n\tif (target === \"draft-2020-12\") jsonSchema.$schema = \"https://json-schema.org/draft/2020-12/schema\";\n\telse if (target === \"draft-07\") jsonSchema.$schema = \"http://json-schema.org/draft-07/schema#\";\n\tif (context.referenceMap.size) jsonSchema.$defs = context.definitions;\n\treturn jsonSchema;\n}\n\n//#endregion\n//#region src/functions/toJsonSchemaDefs/toJsonSchemaDefs.ts\n/**\n* Converts Valibot schema definitions to JSON Schema definitions.\n*\n* @param definitions The Valibot schema definitions.\n* @param config The JSON Schema configuration.\n*\n* @returns The converted JSON Schema definitions.\n*/\nfunction toJsonSchemaDefs(definitions, config) {\n\tconst context = {\n\t\tdefinitions: {},\n\t\treferenceMap: /* @__PURE__ */ new Map(),\n\t\tgetterMap: /* @__PURE__ */ new Map()\n\t};\n\tfor (const key in definitions) context.referenceMap.set(definitions[key], key);\n\tfor (const key in definitions) context.definitions[key] = convertSchema({}, definitions[key], config, context, true);\n\treturn context.definitions;\n}\n\n//#endregion\n//#region src/functions/toStandardJsonSchema/toStandardJsonSchema.ts\nconst SUPPORTED_TARGETS = [\n\t\"draft-07\",\n\t\"draft-2020-12\",\n\t\"openapi-3.0\"\n];\n/**\n* Converts a Valibot schema to the Standard JSON Schema format.\n*\n* @param schema The Valibot schema object.\n*\n* @returns The Standard JSON Schema.\n*/\nfunction toStandardJsonSchema(schema) {\n\treturn { \"~standard\": {\n\t\t...schema[\"~standard\"],\n\t\tjsonSchema: {\n\t\t\tinput(options) {\n\t\t\t\tif (SUPPORTED_TARGETS.includes(options.target)) return toJsonSchema(schema, {\n\t\t\t\t\ttypeMode: \"input\",\n\t\t\t\t\ttarget: options.target,\n\t\t\t\t\t...options.libraryOptions\n\t\t\t\t});\n\t\t\t\tthrow new Error(`Unsupported target: ${options.target}`);\n\t\t\t},\n\t\t\toutput(options) {\n\t\t\t\tif (SUPPORTED_TARGETS.includes(options.target)) return toJsonSchema(schema, {\n\t\t\t\t\ttypeMode: \"output\",\n\t\t\t\t\ttarget: options.target,\n\t\t\t\t\t...options.libraryOptions\n\t\t\t\t});\n\t\t\t\tthrow new Error(`Unsupported target: ${options.target}`);\n\t\t\t}\n\t\t}\n\t} };\n}\n\n//#endregion\nexport { addGlobalDefs, getGlobalDefs, toJsonSchema, toJsonSchemaDefs, toStandardJsonSchema };"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { MissingDependencyError } from './chunk-ZKZOVNT4.js';
|
|
2
|
-
|
|
3
|
-
// ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/9dbc67da7ef95ab6ba977b83f155ade1f3176d290d47d40a60434eb3472caaac/node_modules/@standard-community/standard-json/dist/effect-QlVUlMFu.js
|
|
4
|
-
async function getToJsonSchemaFn() {
|
|
5
|
-
try {
|
|
6
|
-
const { JSONSchema } = await import('effect');
|
|
7
|
-
return (schema) => JSONSchema.make(schema);
|
|
8
|
-
} catch {
|
|
9
|
-
throw new MissingDependencyError("effect");
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export { getToJsonSchemaFn as default };
|
|
14
|
-
//# sourceMappingURL=effect-QlVUlMFu-QNLZLGWO.js.map
|
|
15
|
-
//# sourceMappingURL=effect-QlVUlMFu-QNLZLGWO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@standard-community/standard-json/0.3.5/9dbc67da7ef95ab6ba977b83f155ade1f3176d290d47d40a60434eb3472caaac/node_modules/@standard-community/standard-json/dist/effect-QlVUlMFu.js"],"names":[],"mappings":";;;AAGA,eAAe,iBAAA,GAAoB;AACjC,EAAA,IAAI;AACF,IAAA,MAAM,EAAE,UAAA,EAAW,GAAI,MAAM,OAAO,QAAQ,CAAA;AAC5C,IAAA,OAAO,CAAC,MAAA,KAAW,UAAA,CAAW,IAAA,CAAK,MAAM,CAAA;AAAA,EAC3C,CAAA,CAAA,MAAQ;AACN,IAAA,MAAM,IAAI,uBAAuB,QAAQ,CAAA;AAAA,EAC3C;AACF","file":"effect-QlVUlMFu-QNLZLGWO.js","sourcesContent":["import { M as MissingDependencyError } from './index-CLddUTqr.js';\nimport 'quansync';\n\nasync function getToJsonSchemaFn() {\n try {\n const { JSONSchema } = await import('effect');\n return (schema) => JSONSchema.make(schema);\n } catch {\n throw new MissingDependencyError(\"effect\");\n }\n}\n\nexport { getToJsonSchemaFn as default };\n"]}
|