fumadocs-openapi 10.8.4 → 10.8.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/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/2020.js +110 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +138 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +674 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +141 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +102 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +223 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +28 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +18 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +133 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +61 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +146 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js +23 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +48 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +172 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +31 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +433 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +113 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +72 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +583 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/data.js +18 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +42 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.js +50 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.js +20 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.js +51 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.js +16 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.js +36 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.js +19 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.js +85 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-2020-12/schema.js +59 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +12 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js +25 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +12 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js +16 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +57 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +96 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +29 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +16 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +89 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +87 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +16 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +62 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +60 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +59 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +34 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +31 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +51 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +61 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +17 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +52 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +41 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +17 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +130 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js +14 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +22 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +112 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +101 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +14 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft2020.js +35 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +46 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +45 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/index.js +22 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +20 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +15 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js +10 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js +23 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/next.js +19 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/index.js +13 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +46 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +59 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +27 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +17 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +49 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +48 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitContains.js +18 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +28 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +33 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +47 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +28 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +27 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +38 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +72 -0
- package/dist/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +70 -0
- package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +33 -0
- package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js +236 -0
- package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js +187 -0
- package/dist/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js +282 -0
- package/dist/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +78 -0
- package/dist/playground/schema.d.ts +0 -2
- package/dist/playground/schema.js +3 -2
- package/package.json +7 -3
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js
|
|
3
|
+
var require_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
4
|
+
/** @type {(value: string) => boolean} */
|
|
5
|
+
const isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
|
|
6
|
+
/** @type {(value: string) => boolean} */
|
|
7
|
+
const isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
|
|
8
|
+
/**
|
|
9
|
+
* @param {Array<string>} input
|
|
10
|
+
* @returns {string}
|
|
11
|
+
*/
|
|
12
|
+
function stringArrayToHexStripped(input) {
|
|
13
|
+
let acc = "";
|
|
14
|
+
let code = 0;
|
|
15
|
+
let i = 0;
|
|
16
|
+
for (i = 0; i < input.length; i++) {
|
|
17
|
+
code = input[i].charCodeAt(0);
|
|
18
|
+
if (code === 48) continue;
|
|
19
|
+
if (!(code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) return "";
|
|
20
|
+
acc += input[i];
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
for (i += 1; i < input.length; i++) {
|
|
24
|
+
code = input[i].charCodeAt(0);
|
|
25
|
+
if (!(code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) return "";
|
|
26
|
+
acc += input[i];
|
|
27
|
+
}
|
|
28
|
+
return acc;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @typedef {Object} GetIPV6Result
|
|
32
|
+
* @property {boolean} error - Indicates if there was an error parsing the IPv6 address.
|
|
33
|
+
* @property {string} address - The parsed IPv6 address.
|
|
34
|
+
* @property {string} [zone] - The zone identifier, if present.
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* @param {string} value
|
|
38
|
+
* @returns {boolean}
|
|
39
|
+
*/
|
|
40
|
+
const nonSimpleDomain = RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);
|
|
41
|
+
/**
|
|
42
|
+
* @param {Array<string>} buffer
|
|
43
|
+
* @returns {boolean}
|
|
44
|
+
*/
|
|
45
|
+
function consumeIsZone(buffer) {
|
|
46
|
+
buffer.length = 0;
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @param {Array<string>} buffer
|
|
51
|
+
* @param {Array<string>} address
|
|
52
|
+
* @param {GetIPV6Result} output
|
|
53
|
+
* @returns {boolean}
|
|
54
|
+
*/
|
|
55
|
+
function consumeHextets(buffer, address, output) {
|
|
56
|
+
if (buffer.length) {
|
|
57
|
+
const hex = stringArrayToHexStripped(buffer);
|
|
58
|
+
if (hex !== "") address.push(hex);
|
|
59
|
+
else {
|
|
60
|
+
output.error = true;
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
buffer.length = 0;
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @param {string} input
|
|
69
|
+
* @returns {GetIPV6Result}
|
|
70
|
+
*/
|
|
71
|
+
function getIPV6(input) {
|
|
72
|
+
let tokenCount = 0;
|
|
73
|
+
const output = {
|
|
74
|
+
error: false,
|
|
75
|
+
address: "",
|
|
76
|
+
zone: ""
|
|
77
|
+
};
|
|
78
|
+
/** @type {Array<string>} */
|
|
79
|
+
const address = [];
|
|
80
|
+
/** @type {Array<string>} */
|
|
81
|
+
const buffer = [];
|
|
82
|
+
let endipv6Encountered = false;
|
|
83
|
+
let endIpv6 = false;
|
|
84
|
+
let consume = consumeHextets;
|
|
85
|
+
for (let i = 0; i < input.length; i++) {
|
|
86
|
+
const cursor = input[i];
|
|
87
|
+
if (cursor === "[" || cursor === "]") continue;
|
|
88
|
+
if (cursor === ":") {
|
|
89
|
+
if (endipv6Encountered === true) endIpv6 = true;
|
|
90
|
+
if (!consume(buffer, address, output)) break;
|
|
91
|
+
if (++tokenCount > 7) {
|
|
92
|
+
output.error = true;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
if (i > 0 && input[i - 1] === ":") endipv6Encountered = true;
|
|
96
|
+
address.push(":");
|
|
97
|
+
continue;
|
|
98
|
+
} else if (cursor === "%") {
|
|
99
|
+
if (!consume(buffer, address, output)) break;
|
|
100
|
+
consume = consumeIsZone;
|
|
101
|
+
} else {
|
|
102
|
+
buffer.push(cursor);
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (buffer.length) if (consume === consumeIsZone) output.zone = buffer.join("");
|
|
107
|
+
else if (endIpv6) address.push(buffer.join(""));
|
|
108
|
+
else address.push(stringArrayToHexStripped(buffer));
|
|
109
|
+
output.address = address.join("");
|
|
110
|
+
return output;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* @typedef {Object} NormalizeIPv6Result
|
|
114
|
+
* @property {string} host - The normalized host.
|
|
115
|
+
* @property {string} [escapedHost] - The escaped host.
|
|
116
|
+
* @property {boolean} isIPV6 - Indicates if the host is an IPv6 address.
|
|
117
|
+
*/
|
|
118
|
+
/**
|
|
119
|
+
* @param {string} host
|
|
120
|
+
* @returns {NormalizeIPv6Result}
|
|
121
|
+
*/
|
|
122
|
+
function normalizeIPv6(host) {
|
|
123
|
+
if (findToken(host, ":") < 2) return {
|
|
124
|
+
host,
|
|
125
|
+
isIPV6: false
|
|
126
|
+
};
|
|
127
|
+
const ipv6 = getIPV6(host);
|
|
128
|
+
if (!ipv6.error) {
|
|
129
|
+
let newHost = ipv6.address;
|
|
130
|
+
let escapedHost = ipv6.address;
|
|
131
|
+
if (ipv6.zone) {
|
|
132
|
+
newHost += "%" + ipv6.zone;
|
|
133
|
+
escapedHost += "%25" + ipv6.zone;
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
host: newHost,
|
|
137
|
+
isIPV6: true,
|
|
138
|
+
escapedHost
|
|
139
|
+
};
|
|
140
|
+
} else return {
|
|
141
|
+
host,
|
|
142
|
+
isIPV6: false
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* @param {string} str
|
|
147
|
+
* @param {string} token
|
|
148
|
+
* @returns {number}
|
|
149
|
+
*/
|
|
150
|
+
function findToken(str, token) {
|
|
151
|
+
let ind = 0;
|
|
152
|
+
for (let i = 0; i < str.length; i++) if (str[i] === token) ind++;
|
|
153
|
+
return ind;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* @param {string} path
|
|
157
|
+
* @returns {string}
|
|
158
|
+
*
|
|
159
|
+
* @see https://datatracker.ietf.org/doc/html/rfc3986#section-5.2.4
|
|
160
|
+
*/
|
|
161
|
+
function removeDotSegments(path) {
|
|
162
|
+
let input = path;
|
|
163
|
+
const output = [];
|
|
164
|
+
let nextSlash = -1;
|
|
165
|
+
let len = 0;
|
|
166
|
+
while (len = input.length) {
|
|
167
|
+
if (len === 1) if (input === ".") break;
|
|
168
|
+
else if (input === "/") {
|
|
169
|
+
output.push("/");
|
|
170
|
+
break;
|
|
171
|
+
} else {
|
|
172
|
+
output.push(input);
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
else if (len === 2) {
|
|
176
|
+
if (input[0] === ".") {
|
|
177
|
+
if (input[1] === ".") break;
|
|
178
|
+
else if (input[1] === "/") {
|
|
179
|
+
input = input.slice(2);
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
} else if (input[0] === "/") {
|
|
183
|
+
if (input[1] === "." || input[1] === "/") {
|
|
184
|
+
output.push("/");
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
} else if (len === 3) {
|
|
189
|
+
if (input === "/..") {
|
|
190
|
+
if (output.length !== 0) output.pop();
|
|
191
|
+
output.push("/");
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (input[0] === ".") {
|
|
196
|
+
if (input[1] === ".") {
|
|
197
|
+
if (input[2] === "/") {
|
|
198
|
+
input = input.slice(3);
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
} else if (input[1] === "/") {
|
|
202
|
+
input = input.slice(2);
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
} else if (input[0] === "/") {
|
|
206
|
+
if (input[1] === ".") {
|
|
207
|
+
if (input[2] === "/") {
|
|
208
|
+
input = input.slice(2);
|
|
209
|
+
continue;
|
|
210
|
+
} else if (input[2] === ".") {
|
|
211
|
+
if (input[3] === "/") {
|
|
212
|
+
input = input.slice(3);
|
|
213
|
+
if (output.length !== 0) output.pop();
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if ((nextSlash = input.indexOf("/", 1)) === -1) {
|
|
220
|
+
output.push(input);
|
|
221
|
+
break;
|
|
222
|
+
} else {
|
|
223
|
+
output.push(input.slice(0, nextSlash));
|
|
224
|
+
input = input.slice(nextSlash);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return output.join("");
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* @param {import('../types/index').URIComponent} component
|
|
231
|
+
* @param {boolean} esc
|
|
232
|
+
* @returns {import('../types/index').URIComponent}
|
|
233
|
+
*/
|
|
234
|
+
function normalizeComponentEncoding(component, esc) {
|
|
235
|
+
const func = esc !== true ? escape : unescape;
|
|
236
|
+
if (component.scheme !== void 0) component.scheme = func(component.scheme);
|
|
237
|
+
if (component.userinfo !== void 0) component.userinfo = func(component.userinfo);
|
|
238
|
+
if (component.host !== void 0) component.host = func(component.host);
|
|
239
|
+
if (component.path !== void 0) component.path = func(component.path);
|
|
240
|
+
if (component.query !== void 0) component.query = func(component.query);
|
|
241
|
+
if (component.fragment !== void 0) component.fragment = func(component.fragment);
|
|
242
|
+
return component;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* @param {import('../types/index').URIComponent} component
|
|
246
|
+
* @returns {string|undefined}
|
|
247
|
+
*/
|
|
248
|
+
function recomposeAuthority(component) {
|
|
249
|
+
const uriTokens = [];
|
|
250
|
+
if (component.userinfo !== void 0) {
|
|
251
|
+
uriTokens.push(component.userinfo);
|
|
252
|
+
uriTokens.push("@");
|
|
253
|
+
}
|
|
254
|
+
if (component.host !== void 0) {
|
|
255
|
+
let host = unescape(component.host);
|
|
256
|
+
if (!isIPv4(host)) {
|
|
257
|
+
const ipV6res = normalizeIPv6(host);
|
|
258
|
+
if (ipV6res.isIPV6 === true) host = `[${ipV6res.escapedHost}]`;
|
|
259
|
+
else host = component.host;
|
|
260
|
+
}
|
|
261
|
+
uriTokens.push(host);
|
|
262
|
+
}
|
|
263
|
+
if (typeof component.port === "number" || typeof component.port === "string") {
|
|
264
|
+
uriTokens.push(":");
|
|
265
|
+
uriTokens.push(String(component.port));
|
|
266
|
+
}
|
|
267
|
+
return uriTokens.length ? uriTokens.join("") : void 0;
|
|
268
|
+
}
|
|
269
|
+
module.exports = {
|
|
270
|
+
nonSimpleDomain,
|
|
271
|
+
recomposeAuthority,
|
|
272
|
+
normalizeComponentEncoding,
|
|
273
|
+
removeDotSegments,
|
|
274
|
+
isIPv4,
|
|
275
|
+
isUUID,
|
|
276
|
+
normalizeIPv6,
|
|
277
|
+
stringArrayToHexStripped
|
|
278
|
+
};
|
|
279
|
+
}));
|
|
280
|
+
//#endregion
|
|
281
|
+
export default require_utils();
|
|
282
|
+
export { require_utils };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { __commonJSMin } from "../../../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js
|
|
3
|
+
var require_json_schema_traverse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
4
|
+
var traverse = module.exports = function(schema, opts, cb) {
|
|
5
|
+
if (typeof opts == "function") {
|
|
6
|
+
cb = opts;
|
|
7
|
+
opts = {};
|
|
8
|
+
}
|
|
9
|
+
cb = opts.cb || cb;
|
|
10
|
+
var pre = typeof cb == "function" ? cb : cb.pre || function() {};
|
|
11
|
+
var post = cb.post || function() {};
|
|
12
|
+
_traverse(opts, pre, post, schema, "", schema);
|
|
13
|
+
};
|
|
14
|
+
traverse.keywords = {
|
|
15
|
+
additionalItems: true,
|
|
16
|
+
items: true,
|
|
17
|
+
contains: true,
|
|
18
|
+
additionalProperties: true,
|
|
19
|
+
propertyNames: true,
|
|
20
|
+
not: true,
|
|
21
|
+
if: true,
|
|
22
|
+
then: true,
|
|
23
|
+
else: true
|
|
24
|
+
};
|
|
25
|
+
traverse.arrayKeywords = {
|
|
26
|
+
items: true,
|
|
27
|
+
allOf: true,
|
|
28
|
+
anyOf: true,
|
|
29
|
+
oneOf: true
|
|
30
|
+
};
|
|
31
|
+
traverse.propsKeywords = {
|
|
32
|
+
$defs: true,
|
|
33
|
+
definitions: true,
|
|
34
|
+
properties: true,
|
|
35
|
+
patternProperties: true,
|
|
36
|
+
dependencies: true
|
|
37
|
+
};
|
|
38
|
+
traverse.skipKeywords = {
|
|
39
|
+
default: true,
|
|
40
|
+
enum: true,
|
|
41
|
+
const: true,
|
|
42
|
+
required: true,
|
|
43
|
+
maximum: true,
|
|
44
|
+
minimum: true,
|
|
45
|
+
exclusiveMaximum: true,
|
|
46
|
+
exclusiveMinimum: true,
|
|
47
|
+
multipleOf: true,
|
|
48
|
+
maxLength: true,
|
|
49
|
+
minLength: true,
|
|
50
|
+
pattern: true,
|
|
51
|
+
format: true,
|
|
52
|
+
maxItems: true,
|
|
53
|
+
minItems: true,
|
|
54
|
+
uniqueItems: true,
|
|
55
|
+
maxProperties: true,
|
|
56
|
+
minProperties: true
|
|
57
|
+
};
|
|
58
|
+
function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) {
|
|
59
|
+
if (schema && typeof schema == "object" && !Array.isArray(schema)) {
|
|
60
|
+
pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
|
|
61
|
+
for (var key in schema) {
|
|
62
|
+
var sch = schema[key];
|
|
63
|
+
if (Array.isArray(sch)) {
|
|
64
|
+
if (key in traverse.arrayKeywords) for (var i = 0; i < sch.length; i++) _traverse(opts, pre, post, sch[i], jsonPtr + "/" + key + "/" + i, rootSchema, jsonPtr, key, schema, i);
|
|
65
|
+
} else if (key in traverse.propsKeywords) {
|
|
66
|
+
if (sch && typeof sch == "object") for (var prop in sch) _traverse(opts, pre, post, sch[prop], jsonPtr + "/" + key + "/" + escapeJsonPtr(prop), rootSchema, jsonPtr, key, schema, prop);
|
|
67
|
+
} else if (key in traverse.keywords || opts.allKeys && !(key in traverse.skipKeywords)) _traverse(opts, pre, post, sch, jsonPtr + "/" + key, rootSchema, jsonPtr, key, schema);
|
|
68
|
+
}
|
|
69
|
+
post(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function escapeJsonPtr(str) {
|
|
73
|
+
return str.replace(/~/g, "~0").replace(/\//g, "~1");
|
|
74
|
+
}
|
|
75
|
+
}));
|
|
76
|
+
//#endregion
|
|
77
|
+
export default require_json_schema_traverse();
|
|
78
|
+
export { require_json_schema_traverse };
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { require__2020 } from "../node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/2020.js";
|
|
1
2
|
import { mergeAllOf } from "../utils/schema/merge.js";
|
|
2
3
|
import { sample } from "../utils/schema/sample.js";
|
|
3
4
|
import { schemaToString } from "../utils/schema/to-string.js";
|
|
4
5
|
import { dereferenceSwallow } from "../utils/schema/dereference.js";
|
|
5
6
|
import { createContext, use, useMemo } from "react";
|
|
6
7
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
import { Ajv2020 } from "ajv/dist/2020.js";
|
|
8
8
|
import { useDataEngine, useFieldValue, useNamespace } from "@fumari/stf";
|
|
9
9
|
import { stringifyFieldKey } from "@fumari/stf/lib/utils";
|
|
10
10
|
//#region src/playground/schema.tsx
|
|
11
|
+
var import__2020 = require__2020();
|
|
11
12
|
const SchemaContext = createContext(void 0);
|
|
12
13
|
const anyFields = {
|
|
13
14
|
type: [
|
|
@@ -21,7 +22,7 @@ const anyFields = {
|
|
|
21
22
|
additionalProperties: true
|
|
22
23
|
};
|
|
23
24
|
function SchemaProvider({ doc, readOnly, writeOnly, children }) {
|
|
24
|
-
const ajv = useMemo(() => new Ajv2020({
|
|
25
|
+
const ajv = useMemo(() => new import__2020.Ajv2020({
|
|
25
26
|
strict: false,
|
|
26
27
|
validateSchema: false,
|
|
27
28
|
validateFormats: false
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fumadocs-openapi",
|
|
3
|
-
"version": "10.8.
|
|
3
|
+
"version": "10.8.5",
|
|
4
4
|
"description": "Generate MDX docs for your OpenAPI spec",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Docs",
|
|
@@ -45,7 +45,6 @@
|
|
|
45
45
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
46
46
|
"@radix-ui/react-select": "^2.2.6",
|
|
47
47
|
"@radix-ui/react-slot": "^1.2.4",
|
|
48
|
-
"ajv": "^8.20.0",
|
|
49
48
|
"chokidar": "^5.0.0",
|
|
50
49
|
"class-variance-authority": "^0.7.1",
|
|
51
50
|
"github-slugger": "^2.0.0",
|
|
@@ -67,13 +66,14 @@
|
|
|
67
66
|
"@types/js-yaml": "^4.0.9",
|
|
68
67
|
"@types/node": "25.7.0",
|
|
69
68
|
"@types/react": "^19.2.14",
|
|
69
|
+
"ajv": "^8.20.0",
|
|
70
70
|
"fast-content-type-parse": "^3.0.0",
|
|
71
71
|
"json-schema-typed": "^8.0.2",
|
|
72
72
|
"tailwindcss": "^4.3.0",
|
|
73
73
|
"tsdown": "0.22.0",
|
|
74
74
|
"xml-js": "^1.6.11",
|
|
75
|
-
"fumadocs-ui": "16.8.11",
|
|
76
75
|
"fumadocs-core": "16.8.11",
|
|
76
|
+
"fumadocs-ui": "16.8.11",
|
|
77
77
|
"tsconfig": "0.0.0"
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
@@ -101,7 +101,11 @@
|
|
|
101
101
|
"@scalar/helpers": "0.6.0",
|
|
102
102
|
"@scalar/json-magic": "0.12.12",
|
|
103
103
|
"@scalar/openapi-upgrader": "0.2.7",
|
|
104
|
+
"ajv": "8.20.0",
|
|
104
105
|
"fast-content-type-parse": "3.0.0",
|
|
106
|
+
"fast-deep-equal": "3.1.3",
|
|
107
|
+
"fast-uri": "3.1.0",
|
|
108
|
+
"json-schema-traverse": "1.0.0",
|
|
105
109
|
"pathe": "2.0.3",
|
|
106
110
|
"xml-js": "1.6.11",
|
|
107
111
|
"yaml": "2.9.0"
|