@kubb/plugin-oas 3.0.0-alpha.6 → 3.0.0-alpha.8
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/{OperationGenerator-Dzs1oRvm.d.ts → OperationGenerator-DeXrfGDC.d.ts} +2 -2
- package/dist/{OperationGenerator-Do52cvD0.d.cts → OperationGenerator-DhJ0MBKc.d.cts} +2 -2
- package/dist/{Schema-C90zFdkU.d.ts → Schema-B1vcPGiK.d.ts} +2 -4
- package/dist/{Schema-DDVEcNcu.d.cts → Schema-DoSFh7Qd.d.cts} +2 -4
- package/dist/{SchemaMapper-BM1IGWqD.d.cts → SchemaMapper-sGcY1xL5.d.cts} +0 -1
- package/dist/{SchemaMapper-BM1IGWqD.d.ts → SchemaMapper-sGcY1xL5.d.ts} +0 -1
- package/dist/chunk-75BIOXB7.cjs +7 -0
- package/dist/{chunk-7KIEQOVZ.cjs.map → chunk-75BIOXB7.cjs.map} +1 -1
- package/dist/{chunk-UJNAXXVE.js → chunk-MUI5DWM3.js} +458 -465
- package/dist/{chunk-UJNAXXVE.js.map → chunk-MUI5DWM3.js.map} +1 -1
- package/dist/{chunk-Y4V7HHX7.js → chunk-N7EEVJA6.js} +3 -3
- package/dist/{chunk-P42X362U.cjs → chunk-NU4F7G47.cjs} +4 -16
- package/dist/chunk-NU4F7G47.cjs.map +1 -0
- package/dist/{chunk-QLJIL3U5.cjs → chunk-O76YQFZB.cjs} +3 -3
- package/dist/{chunk-QLJIL3U5.cjs.map → chunk-O76YQFZB.cjs.map} +1 -1
- package/dist/{chunk-TWKZEVSM.js → chunk-SQ64ESS4.js} +2 -2
- package/dist/{chunk-UB552H4J.js → chunk-SZDO532A.js} +3 -15
- package/dist/{chunk-UB552H4J.js.map → chunk-SZDO532A.js.map} +1 -1
- package/dist/{chunk-RQZBFORW.cjs → chunk-VSVVTCQB.cjs} +481 -488
- package/dist/chunk-VSVVTCQB.cjs.map +1 -0
- package/dist/components.cjs +4 -4
- package/dist/components.d.cts +4 -4
- package/dist/components.d.ts +4 -4
- package/dist/components.js +3 -3
- package/dist/hooks.cjs +12 -12
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.cts +3 -3
- package/dist/hooks.d.ts +3 -3
- package/dist/hooks.js +2 -2
- package/dist/hooks.js.map +1 -1
- package/dist/index.cjs +112 -115
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +83 -86
- package/dist/index.js.map +1 -1
- package/dist/{types-C2RXaY0_.d.cts → types-CZTUCaE5.d.cts} +2 -0
- package/dist/{types-C2RXaY0_.d.ts → types-CZTUCaE5.d.ts} +2 -0
- package/dist/utils.cjs +9 -54
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +5 -35
- package/dist/utils.d.ts +5 -35
- package/dist/utils.js +2 -47
- package/dist/utils.js.map +1 -1
- package/package.json +9 -9
- package/src/SchemaGenerator.ts +2 -2
- package/src/SchemaMapper.ts +1 -1
- package/src/components/Schema.tsx +8 -4
- package/src/hooks/useOperationManager.ts +1 -0
- package/src/plugin.ts +11 -0
- package/src/types.ts +2 -0
- package/src/utils/index.ts +0 -1
- package/dist/chunk-7KIEQOVZ.cjs +0 -7
- package/dist/chunk-P42X362U.cjs.map +0 -1
- package/dist/chunk-RQZBFORW.cjs.map +0 -1
- package/src/utils/getGroupedByTagFiles.ts +0 -84
- /package/dist/{chunk-Y4V7HHX7.js.map → chunk-N7EEVJA6.js.map} +0 -0
- /package/dist/{chunk-TWKZEVSM.js.map → chunk-SQ64ESS4.js.map} +0 -0
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _chunkP42X362Ucjs = require('./chunk-P42X362U.cjs');
|
|
7
|
+
var _chunkNU4F7G47cjs = require('./chunk-NU4F7G47.cjs');
|
|
11
8
|
|
|
12
9
|
// ../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js
|
|
13
|
-
var require_react_production_min =
|
|
10
|
+
var require_react_production_min = _chunkNU4F7G47cjs.__commonJS.call(void 0, {
|
|
14
11
|
"../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js"(exports) {
|
|
15
12
|
"use strict";
|
|
16
|
-
|
|
13
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
17
14
|
var l = Symbol.for("react.element");
|
|
18
15
|
var n = Symbol.for("react.portal");
|
|
19
16
|
var p = Symbol.for("react.fragment");
|
|
@@ -284,10 +281,10 @@ var require_react_production_min = _chunkP42X362Ucjs.__commonJS.call(void 0, {
|
|
|
284
281
|
});
|
|
285
282
|
|
|
286
283
|
// ../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js
|
|
287
|
-
var require_react_development =
|
|
284
|
+
var require_react_development = _chunkNU4F7G47cjs.__commonJS.call(void 0, {
|
|
288
285
|
"../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js"(exports, module) {
|
|
289
286
|
"use strict";
|
|
290
|
-
|
|
287
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
291
288
|
if (process.env.NODE_ENV !== "production") {
|
|
292
289
|
(function() {
|
|
293
290
|
"use strict";
|
|
@@ -2159,10 +2156,10 @@ var require_react_development = _chunkP42X362Ucjs.__commonJS.call(void 0, {
|
|
|
2159
2156
|
});
|
|
2160
2157
|
|
|
2161
2158
|
// ../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js
|
|
2162
|
-
var require_react =
|
|
2159
|
+
var require_react = _chunkNU4F7G47cjs.__commonJS.call(void 0, {
|
|
2163
2160
|
"../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js"(exports, module) {
|
|
2164
2161
|
"use strict";
|
|
2165
|
-
|
|
2162
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
2166
2163
|
if (process.env.NODE_ENV === "production") {
|
|
2167
2164
|
module.exports = require_react_production_min();
|
|
2168
2165
|
} else {
|
|
@@ -2172,10 +2169,10 @@ var require_react = _chunkP42X362Ucjs.__commonJS.call(void 0, {
|
|
|
2172
2169
|
});
|
|
2173
2170
|
|
|
2174
2171
|
// ../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js
|
|
2175
|
-
var require_react_jsx_runtime_production_min =
|
|
2172
|
+
var require_react_jsx_runtime_production_min = _chunkNU4F7G47cjs.__commonJS.call(void 0, {
|
|
2176
2173
|
"../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js"(exports) {
|
|
2177
2174
|
"use strict";
|
|
2178
|
-
|
|
2175
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
2179
2176
|
var f = require_react();
|
|
2180
2177
|
var k = Symbol.for("react.element");
|
|
2181
2178
|
var l = Symbol.for("react.fragment");
|
|
@@ -2198,10 +2195,10 @@ var require_react_jsx_runtime_production_min = _chunkP42X362Ucjs.__commonJS.call
|
|
|
2198
2195
|
});
|
|
2199
2196
|
|
|
2200
2197
|
// ../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js
|
|
2201
|
-
var require_react_jsx_runtime_development =
|
|
2198
|
+
var require_react_jsx_runtime_development = _chunkNU4F7G47cjs.__commonJS.call(void 0, {
|
|
2202
2199
|
"../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js"(exports) {
|
|
2203
2200
|
"use strict";
|
|
2204
|
-
|
|
2201
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
2205
2202
|
if (process.env.NODE_ENV !== "production") {
|
|
2206
2203
|
(function() {
|
|
2207
2204
|
"use strict";
|
|
@@ -3092,10 +3089,10 @@ var require_react_jsx_runtime_development = _chunkP42X362Ucjs.__commonJS.call(vo
|
|
|
3092
3089
|
});
|
|
3093
3090
|
|
|
3094
3091
|
// ../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js
|
|
3095
|
-
var require_jsx_runtime =
|
|
3092
|
+
var require_jsx_runtime = _chunkNU4F7G47cjs.__commonJS.call(void 0, {
|
|
3096
3093
|
"../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js"(exports, module) {
|
|
3097
3094
|
"use strict";
|
|
3098
|
-
|
|
3095
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
3099
3096
|
if (process.env.NODE_ENV === "production") {
|
|
3100
3097
|
module.exports = require_react_jsx_runtime_production_min();
|
|
3101
3098
|
} else {
|
|
@@ -3105,7 +3102,7 @@ var require_jsx_runtime = _chunkP42X362Ucjs.__commonJS.call(void 0, {
|
|
|
3105
3102
|
});
|
|
3106
3103
|
|
|
3107
3104
|
// src/SchemaMapper.ts
|
|
3108
|
-
|
|
3105
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
3109
3106
|
var schemaKeywords = {
|
|
3110
3107
|
any: "any",
|
|
3111
3108
|
strict: "strict",
|
|
@@ -3157,30 +3154,25 @@ function isKeyword(meta, keyword) {
|
|
|
3157
3154
|
}
|
|
3158
3155
|
|
|
3159
3156
|
// src/SchemaGenerator.ts
|
|
3160
|
-
|
|
3157
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
3161
3158
|
var _core = require('@kubb/core');
|
|
3162
3159
|
var _transformers = require('@kubb/core/transformers'); var _transformers2 = _interopRequireDefault(_transformers);
|
|
3163
3160
|
var _utils = require('@kubb/core/utils');
|
|
3164
3161
|
var _oas = require('@kubb/oas');
|
|
3165
3162
|
var _remeda = require('remeda');
|
|
3166
|
-
var
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
// Collect the types of all referenced schemas, so we can export them later
|
|
3172
|
-
this.refs = {};
|
|
3173
|
-
// Keep track of already used type aliases
|
|
3174
|
-
_chunkP42X362Ucjs.__privateAdd.call(void 0, this, _usedAliasNames, {});
|
|
3175
|
-
}
|
|
3163
|
+
var SchemaGenerator = (_class = class _SchemaGenerator extends _core.Generator {constructor(...args2) { super(...args2); _class.prototype.__init.call(this); }
|
|
3164
|
+
// Collect the types of all referenced schemas, so we can export them later
|
|
3165
|
+
__init() {this.refs = {}}
|
|
3166
|
+
// Keep track of already used type aliases
|
|
3167
|
+
#usedAliasNames = {};
|
|
3176
3168
|
/**
|
|
3177
3169
|
* Creates a type node from a given schema.
|
|
3178
3170
|
* Delegates to getBaseTypeFromSchema internally and
|
|
3179
3171
|
* optionally adds a union with null.
|
|
3180
3172
|
*/
|
|
3181
3173
|
parse(props) {
|
|
3182
|
-
const options =
|
|
3183
|
-
const defaultSchemas =
|
|
3174
|
+
const options = this.#getOptions(props);
|
|
3175
|
+
const defaultSchemas = this.#parseSchemaObject(props);
|
|
3184
3176
|
const schemas = _optionalChain([options, 'access', _ => _.transformers, 'optionalAccess', _2 => _2.schema, 'optionalCall', _3 => _3(props, defaultSchemas)]) || defaultSchemas || [];
|
|
3185
3177
|
return _remeda.uniqueWith.call(void 0, schemas, _remeda.isDeepEqual);
|
|
3186
3178
|
}
|
|
@@ -3295,231 +3287,132 @@ var _SchemaGenerator = class _SchemaGenerator extends _core.Generator {
|
|
|
3295
3287
|
})]);
|
|
3296
3288
|
return foundItem;
|
|
3297
3289
|
}
|
|
3298
|
-
|
|
3299
|
-
const
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
})
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
}
|
|
3310
|
-
_optionalChain([parsers, 'optionalAccess', _18 => _18.forEach, 'call', _19 => _19((parser) => {
|
|
3311
|
-
const promise = _optionalChain([parser, 'access', _20 => _20.schema, 'optionalCall', _21 => _21({
|
|
3312
|
-
instance: this,
|
|
3313
|
-
name,
|
|
3314
|
-
schema,
|
|
3315
|
-
options: {
|
|
3316
|
-
...this.options,
|
|
3317
|
-
...options
|
|
3318
|
-
}
|
|
3319
|
-
})]);
|
|
3320
|
-
if (promise) {
|
|
3321
|
-
acc.push(promise);
|
|
3290
|
+
#getUsedEnumNames(props) {
|
|
3291
|
+
const options = this.#getOptions(props);
|
|
3292
|
+
return options.usedEnumNames || {};
|
|
3293
|
+
}
|
|
3294
|
+
#getOptions({ name }) {
|
|
3295
|
+
const { override = [] } = this.context;
|
|
3296
|
+
return {
|
|
3297
|
+
...this.options,
|
|
3298
|
+
..._optionalChain([override, 'access', _18 => _18.find, 'call', _19 => _19(({ pattern, type }) => {
|
|
3299
|
+
if (name && type === "schemaName") {
|
|
3300
|
+
return !!name.match(pattern);
|
|
3322
3301
|
}
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
}
|
|
3326
|
-
|
|
3327
|
-
|
|
3302
|
+
return false;
|
|
3303
|
+
}), 'optionalAccess', _20 => _20.options]) || {}
|
|
3304
|
+
};
|
|
3305
|
+
}
|
|
3306
|
+
#getUnknownReturn(props) {
|
|
3307
|
+
const options = this.#getOptions(props);
|
|
3308
|
+
if (options.unknownType === "any") {
|
|
3309
|
+
return schemaKeywords.any;
|
|
3310
|
+
}
|
|
3311
|
+
return schemaKeywords.unknown;
|
|
3328
3312
|
}
|
|
3329
3313
|
/**
|
|
3330
|
-
*
|
|
3314
|
+
* Recursively creates a type literal with the given props.
|
|
3331
3315
|
*/
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
};
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3316
|
+
#parseProperties({ schema, name }) {
|
|
3317
|
+
const properties = _optionalChain([schema, 'optionalAccess', _21 => _21.properties]) || {};
|
|
3318
|
+
const additionalProperties = _optionalChain([schema, 'optionalAccess', _22 => _22.additionalProperties]);
|
|
3319
|
+
const required = _optionalChain([schema, 'optionalAccess', _23 => _23.required]);
|
|
3320
|
+
const propertiesSchemas = Object.keys(properties).map((propertyName) => {
|
|
3321
|
+
const validationFunctions = [];
|
|
3322
|
+
const propertySchema = properties[propertyName];
|
|
3323
|
+
const isRequired = Array.isArray(required) ? _optionalChain([required, 'optionalAccess', _24 => _24.includes, 'call', _25 => _25(propertyName)]) : !!required;
|
|
3324
|
+
const nullable = _nullishCoalesce(_nullishCoalesce(propertySchema.nullable, () => ( propertySchema["x-nullable"])), () => ( false));
|
|
3325
|
+
validationFunctions.push(...this.parse({ schema: propertySchema, name: propertyName, parentName: name }));
|
|
3326
|
+
validationFunctions.push({
|
|
3327
|
+
keyword: schemaKeywords.name,
|
|
3328
|
+
args: propertyName
|
|
3329
|
+
});
|
|
3330
|
+
if (!isRequired && nullable) {
|
|
3331
|
+
validationFunctions.push({ keyword: schemaKeywords.nullish });
|
|
3332
|
+
} else if (!isRequired) {
|
|
3333
|
+
validationFunctions.push({ keyword: schemaKeywords.optional });
|
|
3349
3334
|
}
|
|
3350
|
-
return
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
};
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3335
|
+
return {
|
|
3336
|
+
[propertyName]: validationFunctions
|
|
3337
|
+
};
|
|
3338
|
+
}).reduce((acc, curr) => ({ ...acc, ...curr }), {});
|
|
3339
|
+
let additionalPropertiesSchemas = [];
|
|
3340
|
+
if (additionalProperties) {
|
|
3341
|
+
additionalPropertiesSchemas = additionalProperties === true ? [{ keyword: this.#getUnknownReturn({ schema, name }) }] : this.parse({ schema: additionalProperties, parentName: name });
|
|
3342
|
+
}
|
|
3343
|
+
return [
|
|
3344
|
+
{
|
|
3345
|
+
keyword: schemaKeywords.object,
|
|
3346
|
+
args: {
|
|
3347
|
+
properties: propertiesSchemas,
|
|
3348
|
+
additionalProperties: additionalPropertiesSchemas
|
|
3349
|
+
}
|
|
3350
|
+
}
|
|
3351
|
+
];
|
|
3358
3352
|
}
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
const propertySchema = properties[propertyName];
|
|
3371
|
-
const isRequired = Array.isArray(required) ? _optionalChain([required, 'optionalAccess', _28 => _28.includes, 'call', _29 => _29(propertyName)]) : !!required;
|
|
3372
|
-
const nullable = _nullishCoalesce(_nullishCoalesce(propertySchema.nullable, () => ( propertySchema["x-nullable"])), () => ( false));
|
|
3373
|
-
validationFunctions.push(...this.parse({ schema: propertySchema, name: propertyName, parentName: name }));
|
|
3374
|
-
validationFunctions.push({
|
|
3375
|
-
keyword: schemaKeywords.name,
|
|
3376
|
-
args: propertyName
|
|
3353
|
+
/**
|
|
3354
|
+
* Create a type alias for the schema referenced by the given ReferenceObject
|
|
3355
|
+
*/
|
|
3356
|
+
#getRefAlias(obj) {
|
|
3357
|
+
const { $ref } = obj;
|
|
3358
|
+
let ref = this.refs[$ref];
|
|
3359
|
+
const originalName = _utils.getUniqueName.call(void 0, $ref.replace(/.+\//, ""), this.#usedAliasNames);
|
|
3360
|
+
const propertyName = this.context.pluginManager.resolveName({
|
|
3361
|
+
name: originalName,
|
|
3362
|
+
pluginKey: this.context.plugin.key,
|
|
3363
|
+
type: "function"
|
|
3377
3364
|
});
|
|
3378
|
-
if (
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3365
|
+
if (ref) {
|
|
3366
|
+
return [
|
|
3367
|
+
{
|
|
3368
|
+
keyword: schemaKeywords.ref,
|
|
3369
|
+
args: { name: ref.propertyName, path: ref.path }
|
|
3370
|
+
}
|
|
3371
|
+
];
|
|
3382
3372
|
}
|
|
3383
|
-
|
|
3384
|
-
|
|
3373
|
+
const fileName = this.context.pluginManager.resolveName({
|
|
3374
|
+
name: originalName,
|
|
3375
|
+
pluginKey: this.context.plugin.key,
|
|
3376
|
+
type: "file"
|
|
3377
|
+
});
|
|
3378
|
+
const file = this.context.pluginManager.getFile({
|
|
3379
|
+
name: fileName,
|
|
3380
|
+
pluginKey: this.context.plugin.key,
|
|
3381
|
+
extName: ".ts"
|
|
3382
|
+
});
|
|
3383
|
+
ref = this.refs[$ref] = {
|
|
3384
|
+
propertyName,
|
|
3385
|
+
originalName,
|
|
3386
|
+
path: file.path
|
|
3385
3387
|
};
|
|
3386
|
-
}).reduce((acc, curr) => ({ ...acc, ...curr }), {});
|
|
3387
|
-
let additionalPropertiesSchemas = [];
|
|
3388
|
-
if (additionalProperties) {
|
|
3389
|
-
additionalPropertiesSchemas = additionalProperties === true ? [{ keyword: _chunkP42X362Ucjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getUnknownReturn_fn).call(this, { schema, name }) }] : this.parse({ schema: additionalProperties, parentName: name });
|
|
3390
|
-
}
|
|
3391
|
-
return [
|
|
3392
|
-
{
|
|
3393
|
-
keyword: schemaKeywords.object,
|
|
3394
|
-
args: {
|
|
3395
|
-
properties: propertiesSchemas,
|
|
3396
|
-
additionalProperties: additionalPropertiesSchemas
|
|
3397
|
-
}
|
|
3398
|
-
}
|
|
3399
|
-
];
|
|
3400
|
-
};
|
|
3401
|
-
/**
|
|
3402
|
-
* Create a type alias for the schema referenced by the given ReferenceObject
|
|
3403
|
-
*/
|
|
3404
|
-
getRefAlias_fn = function(obj) {
|
|
3405
|
-
const { $ref } = obj;
|
|
3406
|
-
let ref = this.refs[$ref];
|
|
3407
|
-
const originalName = _utils.getUniqueName.call(void 0, $ref.replace(/.+\//, ""), _chunkP42X362Ucjs.__privateGet.call(void 0, this, _usedAliasNames));
|
|
3408
|
-
const propertyName = this.context.pluginManager.resolveName({
|
|
3409
|
-
name: originalName,
|
|
3410
|
-
pluginKey: this.context.plugin.key,
|
|
3411
|
-
type: "function"
|
|
3412
|
-
});
|
|
3413
|
-
if (ref) {
|
|
3414
3388
|
return [
|
|
3415
3389
|
{
|
|
3416
3390
|
keyword: schemaKeywords.ref,
|
|
3417
|
-
args: { name: ref.propertyName, path: ref.path }
|
|
3391
|
+
args: { name: ref.propertyName, path: _optionalChain([ref, 'optionalAccess', _26 => _26.path]) }
|
|
3418
3392
|
}
|
|
3419
3393
|
];
|
|
3420
3394
|
}
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
|
|
3424
|
-
type: "file"
|
|
3425
|
-
});
|
|
3426
|
-
const file = this.context.pluginManager.getFile({
|
|
3427
|
-
name: fileName,
|
|
3428
|
-
pluginKey: this.context.plugin.key,
|
|
3429
|
-
extName: ".ts"
|
|
3430
|
-
});
|
|
3431
|
-
ref = this.refs[$ref] = {
|
|
3432
|
-
propertyName,
|
|
3433
|
-
originalName,
|
|
3434
|
-
path: file.path
|
|
3435
|
-
};
|
|
3436
|
-
return [
|
|
3437
|
-
{
|
|
3438
|
-
keyword: schemaKeywords.ref,
|
|
3439
|
-
args: { name: ref.propertyName, path: _optionalChain([ref, 'optionalAccess', _30 => _30.path]), isTypeOnly: false }
|
|
3440
|
-
}
|
|
3441
|
-
];
|
|
3442
|
-
};
|
|
3443
|
-
getParsedSchemaObject_fn = function(schema) {
|
|
3444
|
-
const parsedSchema = _chunkP42X362Ucjs.getSchemaFactory.call(void 0, this.context.oas)(schema);
|
|
3445
|
-
return parsedSchema;
|
|
3446
|
-
};
|
|
3447
|
-
/**
|
|
3448
|
-
* This is the very core of the OpenAPI to TS conversion - it takes a
|
|
3449
|
-
* schema and returns the appropriate type.
|
|
3450
|
-
*/
|
|
3451
|
-
parseSchemaObject_fn = function({ schema: _schema, name, parentName }) {
|
|
3452
|
-
const options = _chunkP42X362Ucjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getOptions_fn).call(this, { schema: _schema, name });
|
|
3453
|
-
const unknownReturn = _chunkP42X362Ucjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getUnknownReturn_fn).call(this, { schema: _schema, name });
|
|
3454
|
-
const { schema, version } = _chunkP42X362Ucjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getParsedSchemaObject_fn).call(this, _schema);
|
|
3455
|
-
const resolvedName = this.context.pluginManager.resolveName({
|
|
3456
|
-
name: `${parentName || ""} ${name}`,
|
|
3457
|
-
pluginKey: this.context.plugin.key,
|
|
3458
|
-
type: "type"
|
|
3459
|
-
});
|
|
3460
|
-
if (!schema) {
|
|
3461
|
-
return [{ keyword: unknownReturn }];
|
|
3395
|
+
#getParsedSchemaObject(schema) {
|
|
3396
|
+
const parsedSchema = _chunkNU4F7G47cjs.getSchemaFactory.call(void 0, this.context.oas)(schema);
|
|
3397
|
+
return parsedSchema;
|
|
3462
3398
|
}
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
}
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
if (schema.default !== void 0 && !Array.isArray(schema.default)) {
|
|
3476
|
-
if (typeof schema.default === "string") {
|
|
3477
|
-
baseItems.push({
|
|
3478
|
-
keyword: schemaKeywords.default,
|
|
3479
|
-
args: _transformers2.default.stringify(schema.default)
|
|
3480
|
-
});
|
|
3481
|
-
}
|
|
3482
|
-
if (typeof schema.default === "boolean") {
|
|
3483
|
-
baseItems.push({
|
|
3484
|
-
keyword: schemaKeywords.default,
|
|
3485
|
-
args: _nullishCoalesce(schema.default, () => ( false))
|
|
3486
|
-
});
|
|
3487
|
-
}
|
|
3488
|
-
}
|
|
3489
|
-
if (schema.description) {
|
|
3490
|
-
baseItems.push({
|
|
3491
|
-
keyword: schemaKeywords.describe,
|
|
3492
|
-
args: schema.description
|
|
3493
|
-
});
|
|
3494
|
-
}
|
|
3495
|
-
if (schema.pattern) {
|
|
3496
|
-
baseItems.unshift({
|
|
3497
|
-
keyword: schemaKeywords.matches,
|
|
3498
|
-
args: schema.pattern
|
|
3399
|
+
/**
|
|
3400
|
+
* This is the very core of the OpenAPI to TS conversion - it takes a
|
|
3401
|
+
* schema and returns the appropriate type.
|
|
3402
|
+
*/
|
|
3403
|
+
#parseSchemaObject({ schema: _schema, name, parentName }) {
|
|
3404
|
+
const options = this.#getOptions({ schema: _schema, name });
|
|
3405
|
+
const unknownReturn = this.#getUnknownReturn({ schema: _schema, name });
|
|
3406
|
+
const { schema, version } = this.#getParsedSchemaObject(_schema);
|
|
3407
|
+
const resolvedName = this.context.pluginManager.resolveName({
|
|
3408
|
+
name: `${parentName || ""} ${name}`,
|
|
3409
|
+
pluginKey: this.context.plugin.key,
|
|
3410
|
+
type: "type"
|
|
3499
3411
|
});
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
baseItems.unshift({ keyword: schemaKeywords.max, args: max });
|
|
3503
|
-
}
|
|
3504
|
-
if (min !== void 0) {
|
|
3505
|
-
baseItems.unshift({ keyword: schemaKeywords.min, args: min });
|
|
3506
|
-
}
|
|
3507
|
-
if (nullable) {
|
|
3508
|
-
baseItems.push({ keyword: schemaKeywords.nullable });
|
|
3509
|
-
}
|
|
3510
|
-
if (schema.type && Array.isArray(schema.type)) {
|
|
3511
|
-
const [_schema2, nullable2] = schema.type;
|
|
3512
|
-
if (nullable2 === "null") {
|
|
3513
|
-
baseItems.push({ keyword: schemaKeywords.nullable });
|
|
3412
|
+
if (!schema) {
|
|
3413
|
+
return [{ keyword: unknownReturn }];
|
|
3514
3414
|
}
|
|
3515
|
-
|
|
3516
|
-
if (schema.readOnly) {
|
|
3517
|
-
baseItems.push({ keyword: schemaKeywords.readOnly });
|
|
3518
|
-
}
|
|
3519
|
-
if (_oas.isReference.call(void 0, schema)) {
|
|
3520
|
-
return [
|
|
3521
|
-
..._chunkP42X362Ucjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getRefAlias_fn).call(this, schema),
|
|
3522
|
-
nullable && { keyword: schemaKeywords.nullable },
|
|
3415
|
+
const baseItems = [
|
|
3523
3416
|
{
|
|
3524
3417
|
keyword: schemaKeywords.schema,
|
|
3525
3418
|
args: {
|
|
@@ -3527,289 +3420,385 @@ parseSchemaObject_fn = function({ schema: _schema, name, parentName }) {
|
|
|
3527
3420
|
format: schema.format
|
|
3528
3421
|
}
|
|
3529
3422
|
}
|
|
3530
|
-
]
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
const
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
}
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3423
|
+
];
|
|
3424
|
+
const min = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(schema.minimum, () => ( schema.minLength)), () => ( schema.minItems)), () => ( void 0));
|
|
3425
|
+
const max = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(schema.maximum, () => ( schema.maxLength)), () => ( schema.maxItems)), () => ( void 0));
|
|
3426
|
+
const nullable = _nullishCoalesce(_nullishCoalesce(schema.nullable, () => ( schema["x-nullable"])), () => ( false));
|
|
3427
|
+
if (schema.default !== void 0 && !Array.isArray(schema.default)) {
|
|
3428
|
+
if (typeof schema.default === "string") {
|
|
3429
|
+
baseItems.push({
|
|
3430
|
+
keyword: schemaKeywords.default,
|
|
3431
|
+
args: _transformers2.default.stringify(schema.default)
|
|
3432
|
+
});
|
|
3433
|
+
}
|
|
3434
|
+
if (typeof schema.default === "boolean") {
|
|
3435
|
+
baseItems.push({
|
|
3436
|
+
keyword: schemaKeywords.default,
|
|
3437
|
+
args: _nullishCoalesce(schema.default, () => ( false))
|
|
3438
|
+
});
|
|
3439
|
+
}
|
|
3544
3440
|
}
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
keyword: schemaKeywords.union,
|
|
3551
|
-
args: schema.anyOf.map((item) => {
|
|
3552
|
-
return item && this.parse({ schema: item, name, parentName })[0];
|
|
3553
|
-
}).filter(Boolean).filter((item) => {
|
|
3554
|
-
return item && item.keyword !== unknownReturn;
|
|
3555
|
-
}).map((item) => {
|
|
3556
|
-
if (isKeyword(item, schemaKeywords.object)) {
|
|
3557
|
-
return {
|
|
3558
|
-
...item,
|
|
3559
|
-
args: {
|
|
3560
|
-
...item.args,
|
|
3561
|
-
strict: true
|
|
3562
|
-
}
|
|
3563
|
-
};
|
|
3564
|
-
}
|
|
3565
|
-
return item;
|
|
3566
|
-
})
|
|
3567
|
-
};
|
|
3568
|
-
if (schemaWithoutAnyOf.properties) {
|
|
3569
|
-
return [...this.parse({ schema: schemaWithoutAnyOf, name, parentName }), union, ...baseItems];
|
|
3441
|
+
if (schema.description) {
|
|
3442
|
+
baseItems.push({
|
|
3443
|
+
keyword: schemaKeywords.describe,
|
|
3444
|
+
args: schema.description
|
|
3445
|
+
});
|
|
3570
3446
|
}
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
keyword: schemaKeywords.and,
|
|
3577
|
-
args: schema.allOf.map((item) => {
|
|
3578
|
-
return item && this.parse({ schema: item, name, parentName })[0];
|
|
3579
|
-
}).filter(Boolean).filter((item) => {
|
|
3580
|
-
return item && item.keyword !== unknownReturn;
|
|
3581
|
-
})
|
|
3582
|
-
};
|
|
3583
|
-
if (schemaWithoutAllOf.properties) {
|
|
3584
|
-
return [
|
|
3585
|
-
{
|
|
3586
|
-
...and,
|
|
3587
|
-
args: [...and.args || [], ...this.parse({ schema: schemaWithoutAllOf, name, parentName })]
|
|
3588
|
-
},
|
|
3589
|
-
...baseItems
|
|
3590
|
-
];
|
|
3447
|
+
if (schema.pattern) {
|
|
3448
|
+
baseItems.unshift({
|
|
3449
|
+
keyword: schemaKeywords.matches,
|
|
3450
|
+
args: schema.pattern
|
|
3451
|
+
});
|
|
3591
3452
|
}
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
type: "type"
|
|
3600
|
-
});
|
|
3601
|
-
const nullableEnum = schema.enum.includes(null);
|
|
3602
|
-
if (nullableEnum) {
|
|
3453
|
+
if (max !== void 0) {
|
|
3454
|
+
baseItems.unshift({ keyword: schemaKeywords.max, args: max });
|
|
3455
|
+
}
|
|
3456
|
+
if (min !== void 0) {
|
|
3457
|
+
baseItems.unshift({ keyword: schemaKeywords.min, args: min });
|
|
3458
|
+
}
|
|
3459
|
+
if (nullable) {
|
|
3603
3460
|
baseItems.push({ keyword: schemaKeywords.nullable });
|
|
3604
3461
|
}
|
|
3605
|
-
|
|
3606
|
-
|
|
3462
|
+
if (schema.type && Array.isArray(schema.type)) {
|
|
3463
|
+
const [_schema2, nullable2] = schema.type;
|
|
3464
|
+
if (nullable2 === "null") {
|
|
3465
|
+
baseItems.push({ keyword: schemaKeywords.nullable });
|
|
3466
|
+
}
|
|
3467
|
+
}
|
|
3468
|
+
if (schema.readOnly) {
|
|
3469
|
+
baseItems.push({ keyword: schemaKeywords.readOnly });
|
|
3470
|
+
}
|
|
3471
|
+
if (_oas.isReference.call(void 0, schema)) {
|
|
3607
3472
|
return [
|
|
3473
|
+
...this.#getRefAlias(schema),
|
|
3474
|
+
nullable && { keyword: schemaKeywords.nullable },
|
|
3608
3475
|
{
|
|
3609
|
-
keyword: schemaKeywords.
|
|
3476
|
+
keyword: schemaKeywords.schema,
|
|
3610
3477
|
args: {
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
asConst: false,
|
|
3614
|
-
items: [...new Set(schema[extensionKey])].map((name2, index) => ({
|
|
3615
|
-
name: _transformers2.default.stringify(name2),
|
|
3616
|
-
value: _optionalChain([schema, 'access', _31 => _31.enum, 'optionalAccess', _32 => _32[index]]),
|
|
3617
|
-
format: _remeda.isNumber.call(void 0, _optionalChain([schema, 'access', _33 => _33.enum, 'optionalAccess', _34 => _34[index]])) ? "number" : "string"
|
|
3618
|
-
}))
|
|
3478
|
+
type: schema.type,
|
|
3479
|
+
format: schema.format
|
|
3619
3480
|
}
|
|
3620
|
-
}
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3481
|
+
}
|
|
3482
|
+
].filter(Boolean);
|
|
3483
|
+
}
|
|
3484
|
+
if (schema.oneOf) {
|
|
3485
|
+
const schemaWithoutOneOf = { ...schema, oneOf: void 0 };
|
|
3486
|
+
const union = {
|
|
3487
|
+
keyword: schemaKeywords.union,
|
|
3488
|
+
args: schema.oneOf.map((item) => {
|
|
3489
|
+
return item && this.parse({ schema: item, name, parentName })[0];
|
|
3490
|
+
}).filter(Boolean).filter((item) => {
|
|
3491
|
+
return item && item.keyword !== unknownReturn;
|
|
3492
|
+
})
|
|
3493
|
+
};
|
|
3494
|
+
if (schemaWithoutOneOf.properties) {
|
|
3495
|
+
return [...this.parse({ schema: schemaWithoutOneOf, name, parentName }), union, ...baseItems];
|
|
3496
|
+
}
|
|
3497
|
+
return [union, ...baseItems];
|
|
3498
|
+
}
|
|
3499
|
+
if (schema.anyOf) {
|
|
3500
|
+
const schemaWithoutAnyOf = { ...schema, anyOf: void 0 };
|
|
3501
|
+
const union = {
|
|
3502
|
+
keyword: schemaKeywords.union,
|
|
3503
|
+
args: schema.anyOf.map((item) => {
|
|
3504
|
+
return item && this.parse({ schema: item, name, parentName })[0];
|
|
3505
|
+
}).filter(Boolean).filter((item) => {
|
|
3506
|
+
return item && item.keyword !== unknownReturn;
|
|
3507
|
+
}).map((item) => {
|
|
3508
|
+
if (isKeyword(item, schemaKeywords.object)) {
|
|
3509
|
+
return {
|
|
3510
|
+
...item,
|
|
3511
|
+
args: {
|
|
3512
|
+
...item.args,
|
|
3513
|
+
strict: true
|
|
3514
|
+
}
|
|
3515
|
+
};
|
|
3516
|
+
}
|
|
3517
|
+
return item;
|
|
3518
|
+
})
|
|
3519
|
+
};
|
|
3520
|
+
if (schemaWithoutAnyOf.properties) {
|
|
3521
|
+
return [...this.parse({ schema: schemaWithoutAnyOf, name, parentName }), union, ...baseItems];
|
|
3522
|
+
}
|
|
3523
|
+
return [union, ...baseItems];
|
|
3524
|
+
}
|
|
3525
|
+
if (schema.allOf) {
|
|
3526
|
+
const schemaWithoutAllOf = { ...schema, allOf: void 0 };
|
|
3527
|
+
const and = {
|
|
3528
|
+
keyword: schemaKeywords.and,
|
|
3529
|
+
args: schema.allOf.map((item) => {
|
|
3530
|
+
return item && this.parse({ schema: item, name, parentName })[0];
|
|
3531
|
+
}).filter(Boolean).filter((item) => {
|
|
3532
|
+
return item && item.keyword !== unknownReturn;
|
|
3533
|
+
})
|
|
3534
|
+
};
|
|
3535
|
+
if (schemaWithoutAllOf.properties) {
|
|
3536
|
+
return [
|
|
3537
|
+
{
|
|
3538
|
+
...and,
|
|
3539
|
+
args: [...and.args || [], ...this.parse({ schema: schemaWithoutAllOf, name, parentName })]
|
|
3540
|
+
},
|
|
3541
|
+
...baseItems
|
|
3542
|
+
];
|
|
3543
|
+
}
|
|
3544
|
+
return [and, ...baseItems];
|
|
3545
|
+
}
|
|
3546
|
+
if (schema.enum) {
|
|
3547
|
+
const enumName = _utils.getUniqueName.call(void 0, _transformers.pascalCase.call(void 0, [parentName, name, options.enumSuffix].join(" ")), this.#getUsedEnumNames({ schema, name }));
|
|
3548
|
+
const typeName = this.context.pluginManager.resolveName({
|
|
3549
|
+
name: enumName,
|
|
3550
|
+
pluginKey: this.context.plugin.key,
|
|
3551
|
+
type: "type"
|
|
3552
|
+
});
|
|
3553
|
+
const nullableEnum = schema.enum.includes(null);
|
|
3554
|
+
if (nullableEnum) {
|
|
3555
|
+
baseItems.push({ keyword: schemaKeywords.nullable });
|
|
3556
|
+
}
|
|
3557
|
+
const filteredValues = schema.enum.filter((value) => value !== null);
|
|
3558
|
+
const extensionEnums = ["x-enumNames", "x-enum-varnames"].filter((extensionKey) => extensionKey in schema).map((extensionKey) => {
|
|
3559
|
+
return [
|
|
3560
|
+
{
|
|
3561
|
+
keyword: schemaKeywords.enum,
|
|
3562
|
+
args: {
|
|
3563
|
+
name,
|
|
3564
|
+
typeName,
|
|
3565
|
+
asConst: false,
|
|
3566
|
+
items: [...new Set(schema[extensionKey])].map((name2, index) => ({
|
|
3567
|
+
name: _transformers2.default.stringify(name2),
|
|
3568
|
+
value: _optionalChain([schema, 'access', _27 => _27.enum, 'optionalAccess', _28 => _28[index]]),
|
|
3569
|
+
format: _remeda.isNumber.call(void 0, _optionalChain([schema, 'access', _29 => _29.enum, 'optionalAccess', _30 => _30[index]])) ? "number" : "string"
|
|
3570
|
+
}))
|
|
3571
|
+
}
|
|
3572
|
+
},
|
|
3573
|
+
...baseItems.filter(
|
|
3574
|
+
(item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max && item.keyword !== schemaKeywords.matches
|
|
3575
|
+
)
|
|
3576
|
+
];
|
|
3577
|
+
});
|
|
3578
|
+
if (schema.type === "number" || schema.type === "integer") {
|
|
3579
|
+
const enumNames = _optionalChain([extensionEnums, 'access', _31 => _31[0], 'optionalAccess', _32 => _32.find, 'call', _33 => _33((item) => isKeyword(item, schemaKeywords.enum))]);
|
|
3580
|
+
return [
|
|
3581
|
+
{
|
|
3582
|
+
keyword: schemaKeywords.enum,
|
|
3583
|
+
args: {
|
|
3584
|
+
name: enumName,
|
|
3585
|
+
typeName,
|
|
3586
|
+
asConst: true,
|
|
3587
|
+
items: _optionalChain([enumNames, 'optionalAccess', _34 => _34.args, 'optionalAccess', _35 => _35.items]) ? [...new Set(enumNames.args.items)].map(({ name: name2, value }) => ({
|
|
3588
|
+
name: name2,
|
|
3589
|
+
value,
|
|
3590
|
+
format: "number"
|
|
3591
|
+
})) : [...new Set(filteredValues)].map((value) => {
|
|
3592
|
+
return {
|
|
3593
|
+
name: value,
|
|
3594
|
+
value,
|
|
3595
|
+
format: "number"
|
|
3596
|
+
};
|
|
3597
|
+
})
|
|
3598
|
+
}
|
|
3599
|
+
},
|
|
3600
|
+
...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max && item.keyword !== schemaKeywords.matches)
|
|
3601
|
+
];
|
|
3602
|
+
}
|
|
3603
|
+
if (extensionEnums.length > 0 && extensionEnums[0]) {
|
|
3604
|
+
return extensionEnums[0];
|
|
3605
|
+
}
|
|
3628
3606
|
return [
|
|
3629
3607
|
{
|
|
3630
3608
|
keyword: schemaKeywords.enum,
|
|
3631
3609
|
args: {
|
|
3632
3610
|
name: enumName,
|
|
3633
3611
|
typeName,
|
|
3634
|
-
asConst:
|
|
3635
|
-
items:
|
|
3636
|
-
name:
|
|
3612
|
+
asConst: false,
|
|
3613
|
+
items: [...new Set(filteredValues)].map((value) => ({
|
|
3614
|
+
name: _transformers2.default.stringify(value),
|
|
3637
3615
|
value,
|
|
3638
|
-
format: "number"
|
|
3639
|
-
}))
|
|
3640
|
-
return {
|
|
3641
|
-
name: value,
|
|
3642
|
-
value,
|
|
3643
|
-
format: "number"
|
|
3644
|
-
};
|
|
3645
|
-
})
|
|
3616
|
+
format: _remeda.isNumber.call(void 0, value) ? "number" : "string"
|
|
3617
|
+
}))
|
|
3646
3618
|
}
|
|
3647
3619
|
},
|
|
3648
3620
|
...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max && item.keyword !== schemaKeywords.matches)
|
|
3649
3621
|
];
|
|
3650
3622
|
}
|
|
3651
|
-
if (
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
{
|
|
3656
|
-
keyword: schemaKeywords.enum,
|
|
3657
|
-
args: {
|
|
3658
|
-
name: enumName,
|
|
3659
|
-
typeName,
|
|
3660
|
-
asConst: false,
|
|
3661
|
-
items: [...new Set(filteredValues)].map((value) => ({
|
|
3662
|
-
name: _transformers2.default.stringify(value),
|
|
3663
|
-
value,
|
|
3664
|
-
format: _remeda.isNumber.call(void 0, value) ? "number" : "string"
|
|
3665
|
-
}))
|
|
3666
|
-
}
|
|
3667
|
-
},
|
|
3668
|
-
...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max && item.keyword !== schemaKeywords.matches)
|
|
3669
|
-
];
|
|
3670
|
-
}
|
|
3671
|
-
if ("prefixItems" in schema) {
|
|
3672
|
-
const prefixItems = schema.prefixItems;
|
|
3673
|
-
const min2 = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(schema.minimum, () => ( schema.minLength)), () => ( schema.minItems)), () => ( void 0));
|
|
3674
|
-
const max2 = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(schema.maximum, () => ( schema.maxLength)), () => ( schema.maxItems)), () => ( void 0));
|
|
3675
|
-
return [
|
|
3676
|
-
{
|
|
3677
|
-
keyword: schemaKeywords.tuple,
|
|
3678
|
-
args: {
|
|
3679
|
-
min: min2,
|
|
3680
|
-
max: max2,
|
|
3681
|
-
items: prefixItems.map((item) => {
|
|
3682
|
-
return this.parse({ schema: item, name, parentName })[0];
|
|
3683
|
-
}).filter(Boolean)
|
|
3684
|
-
}
|
|
3685
|
-
},
|
|
3686
|
-
...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max)
|
|
3687
|
-
];
|
|
3688
|
-
}
|
|
3689
|
-
if (version === "3.1" && "const" in schema) {
|
|
3690
|
-
if (schema["const"]) {
|
|
3623
|
+
if ("prefixItems" in schema) {
|
|
3624
|
+
const prefixItems = schema.prefixItems;
|
|
3625
|
+
const min2 = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(schema.minimum, () => ( schema.minLength)), () => ( schema.minItems)), () => ( void 0));
|
|
3626
|
+
const max2 = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(schema.maximum, () => ( schema.maxLength)), () => ( schema.maxItems)), () => ( void 0));
|
|
3691
3627
|
return [
|
|
3692
3628
|
{
|
|
3693
|
-
keyword: schemaKeywords.
|
|
3629
|
+
keyword: schemaKeywords.tuple,
|
|
3694
3630
|
args: {
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3631
|
+
min: min2,
|
|
3632
|
+
max: max2,
|
|
3633
|
+
items: prefixItems.map((item) => {
|
|
3634
|
+
return this.parse({ schema: item, name, parentName })[0];
|
|
3635
|
+
}).filter(Boolean)
|
|
3698
3636
|
}
|
|
3699
3637
|
},
|
|
3700
|
-
...baseItems
|
|
3638
|
+
...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max)
|
|
3701
3639
|
];
|
|
3702
3640
|
}
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
|
|
3641
|
+
if (version === "3.1" && "const" in schema) {
|
|
3642
|
+
if (schema["const"]) {
|
|
3643
|
+
return [
|
|
3644
|
+
{
|
|
3645
|
+
keyword: schemaKeywords.const,
|
|
3646
|
+
args: {
|
|
3647
|
+
name: schema["const"],
|
|
3648
|
+
format: typeof schema["const"] === "number" ? "number" : "string",
|
|
3649
|
+
value: schema["const"]
|
|
3650
|
+
}
|
|
3651
|
+
},
|
|
3652
|
+
...baseItems
|
|
3653
|
+
];
|
|
3654
|
+
}
|
|
3655
|
+
return [{ keyword: schemaKeywords.null }];
|
|
3656
|
+
}
|
|
3657
|
+
if (schema.format) {
|
|
3658
|
+
switch (schema.format) {
|
|
3659
|
+
case "binary":
|
|
3660
|
+
baseItems.push({ keyword: schemaKeywords.blob });
|
|
3661
|
+
return baseItems;
|
|
3662
|
+
case "date-time":
|
|
3663
|
+
if (options.dateType) {
|
|
3664
|
+
if (options.dateType === "date") {
|
|
3665
|
+
baseItems.unshift({ keyword: schemaKeywords.date, args: { type: "date" } });
|
|
3666
|
+
return baseItems;
|
|
3667
|
+
}
|
|
3668
|
+
if (options.dateType === "stringOffset") {
|
|
3669
|
+
baseItems.unshift({ keyword: schemaKeywords.datetime, args: { offset: true } });
|
|
3670
|
+
return baseItems;
|
|
3671
|
+
}
|
|
3672
|
+
if (options.dateType === "stringLocal") {
|
|
3673
|
+
baseItems.unshift({ keyword: schemaKeywords.datetime, args: { local: true } });
|
|
3674
|
+
return baseItems;
|
|
3675
|
+
}
|
|
3676
|
+
baseItems.unshift({ keyword: schemaKeywords.datetime, args: { offset: false } });
|
|
3718
3677
|
return baseItems;
|
|
3719
3678
|
}
|
|
3720
|
-
|
|
3721
|
-
|
|
3679
|
+
break;
|
|
3680
|
+
case "date":
|
|
3681
|
+
if (options.dateType) {
|
|
3682
|
+
if (options.dateType === "date") {
|
|
3683
|
+
baseItems.unshift({ keyword: schemaKeywords.date, args: { type: "date" } });
|
|
3684
|
+
return baseItems;
|
|
3685
|
+
}
|
|
3686
|
+
baseItems.unshift({ keyword: schemaKeywords.date, args: { type: "string" } });
|
|
3722
3687
|
return baseItems;
|
|
3723
3688
|
}
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
baseItems.unshift({ keyword: schemaKeywords.
|
|
3689
|
+
break;
|
|
3690
|
+
case "time":
|
|
3691
|
+
if (options.dateType) {
|
|
3692
|
+
if (options.dateType === "date") {
|
|
3693
|
+
baseItems.unshift({ keyword: schemaKeywords.time, args: { type: "date" } });
|
|
3694
|
+
return baseItems;
|
|
3695
|
+
}
|
|
3696
|
+
baseItems.unshift({ keyword: schemaKeywords.time, args: { type: "string" } });
|
|
3732
3697
|
return baseItems;
|
|
3733
3698
|
}
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3699
|
+
break;
|
|
3700
|
+
case "uuid":
|
|
3701
|
+
baseItems.unshift({ keyword: schemaKeywords.uuid });
|
|
3702
|
+
break;
|
|
3703
|
+
case "email":
|
|
3704
|
+
case "idn-email":
|
|
3705
|
+
baseItems.unshift({ keyword: schemaKeywords.email });
|
|
3706
|
+
break;
|
|
3707
|
+
case "uri":
|
|
3708
|
+
case "ipv4":
|
|
3709
|
+
case "ipv6":
|
|
3710
|
+
case "uri-reference":
|
|
3711
|
+
case "hostname":
|
|
3712
|
+
case "idn-hostname":
|
|
3713
|
+
baseItems.unshift({ keyword: schemaKeywords.url });
|
|
3714
|
+
break;
|
|
3715
|
+
default:
|
|
3716
|
+
break;
|
|
3717
|
+
}
|
|
3718
|
+
}
|
|
3719
|
+
if ("items" in schema || schema.type === "array") {
|
|
3720
|
+
const min2 = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(schema.minimum, () => ( schema.minLength)), () => ( schema.minItems)), () => ( void 0));
|
|
3721
|
+
const max2 = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(schema.maximum, () => ( schema.maxLength)), () => ( schema.maxItems)), () => ( void 0));
|
|
3722
|
+
const items = this.parse({ schema: "items" in schema ? schema.items : [], name, parentName });
|
|
3723
|
+
return [
|
|
3724
|
+
{
|
|
3725
|
+
keyword: schemaKeywords.array,
|
|
3726
|
+
args: {
|
|
3727
|
+
items,
|
|
3728
|
+
min: min2,
|
|
3729
|
+
max: max2
|
|
3743
3730
|
}
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
break;
|
|
3751
|
-
case "email":
|
|
3752
|
-
case "idn-email":
|
|
3753
|
-
baseItems.unshift({ keyword: schemaKeywords.email });
|
|
3754
|
-
break;
|
|
3755
|
-
case "uri":
|
|
3756
|
-
case "ipv4":
|
|
3757
|
-
case "ipv6":
|
|
3758
|
-
case "uri-reference":
|
|
3759
|
-
case "hostname":
|
|
3760
|
-
case "idn-hostname":
|
|
3761
|
-
baseItems.unshift({ keyword: schemaKeywords.url });
|
|
3762
|
-
break;
|
|
3763
|
-
default:
|
|
3764
|
-
break;
|
|
3731
|
+
},
|
|
3732
|
+
...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max)
|
|
3733
|
+
];
|
|
3734
|
+
}
|
|
3735
|
+
if (schema.properties || schema.additionalProperties) {
|
|
3736
|
+
return [...this.#parseProperties({ schema, name }), ...baseItems];
|
|
3765
3737
|
}
|
|
3738
|
+
if (schema.type) {
|
|
3739
|
+
if (Array.isArray(schema.type)) {
|
|
3740
|
+
const [type] = schema.type;
|
|
3741
|
+
return [
|
|
3742
|
+
...this.parse({
|
|
3743
|
+
schema: {
|
|
3744
|
+
...schema,
|
|
3745
|
+
type
|
|
3746
|
+
},
|
|
3747
|
+
name,
|
|
3748
|
+
parentName
|
|
3749
|
+
}),
|
|
3750
|
+
...baseItems
|
|
3751
|
+
].filter(Boolean);
|
|
3752
|
+
}
|
|
3753
|
+
if (!["boolean", "object", "number", "string", "integer"].includes(schema.type)) {
|
|
3754
|
+
this.context.pluginManager.logger.emit("warning", `Schema type '${schema.type}' is not valid for schema ${parentName}.${name}`);
|
|
3755
|
+
}
|
|
3756
|
+
return [{ keyword: schema.type }, ...baseItems];
|
|
3757
|
+
}
|
|
3758
|
+
return [{ keyword: unknownReturn }];
|
|
3766
3759
|
}
|
|
3767
|
-
|
|
3768
|
-
const
|
|
3769
|
-
const
|
|
3770
|
-
const
|
|
3771
|
-
|
|
3772
|
-
{
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3760
|
+
async build(...parsers) {
|
|
3761
|
+
const { oas, contentType, include } = this.context;
|
|
3762
|
+
const schemas = _chunkNU4F7G47cjs.getSchemas.call(void 0, { oas, contentType, includes: include });
|
|
3763
|
+
const promises = Object.entries(schemas).reduce((acc, [name, schema]) => {
|
|
3764
|
+
const options = this.#getOptions({ name });
|
|
3765
|
+
const promiseOperation = this.schema.call(this, name, schema, {
|
|
3766
|
+
...this.options,
|
|
3767
|
+
...options
|
|
3768
|
+
});
|
|
3769
|
+
if (promiseOperation) {
|
|
3770
|
+
acc.push(promiseOperation);
|
|
3771
|
+
}
|
|
3772
|
+
_optionalChain([parsers, 'optionalAccess', _36 => _36.forEach, 'call', _37 => _37((parser) => {
|
|
3773
|
+
const promise = _optionalChain([parser, 'access', _38 => _38.schema, 'optionalCall', _39 => _39({
|
|
3774
|
+
instance: this,
|
|
3775
|
+
name,
|
|
3776
|
+
schema,
|
|
3777
|
+
options: {
|
|
3778
|
+
...this.options,
|
|
3779
|
+
...options
|
|
3780
|
+
}
|
|
3781
|
+
})]);
|
|
3782
|
+
if (promise) {
|
|
3783
|
+
acc.push(promise);
|
|
3778
3784
|
}
|
|
3779
|
-
}
|
|
3780
|
-
|
|
3781
|
-
];
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
return [..._chunkP42X362Ucjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, parseProperties_fn).call(this, { schema, name }), ...baseItems];
|
|
3785
|
+
})]);
|
|
3786
|
+
return acc;
|
|
3787
|
+
}, []);
|
|
3788
|
+
const files = await Promise.all(promises);
|
|
3789
|
+
return files.flat().filter(Boolean);
|
|
3785
3790
|
}
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
schema: {
|
|
3792
|
-
...schema,
|
|
3793
|
-
type
|
|
3794
|
-
},
|
|
3795
|
-
name,
|
|
3796
|
-
parentName
|
|
3797
|
-
}),
|
|
3798
|
-
...baseItems
|
|
3799
|
-
].filter(Boolean);
|
|
3800
|
-
}
|
|
3801
|
-
if (!["boolean", "object", "number", "string", "integer"].includes(schema.type)) {
|
|
3802
|
-
this.context.pluginManager.logger.emit("warning", `Schema type '${schema.type}' is not valid for schema ${parentName}.${name}`);
|
|
3803
|
-
}
|
|
3804
|
-
return [{ keyword: schema.type }, ...baseItems];
|
|
3791
|
+
/**
|
|
3792
|
+
* Schema
|
|
3793
|
+
*/
|
|
3794
|
+
async schema(name, object, options) {
|
|
3795
|
+
return [];
|
|
3805
3796
|
}
|
|
3806
|
-
|
|
3807
|
-
};
|
|
3808
|
-
var SchemaGenerator = _SchemaGenerator;
|
|
3797
|
+
}, _class);
|
|
3809
3798
|
|
|
3810
3799
|
// src/components/Operation.tsx
|
|
3811
|
-
|
|
3812
|
-
var import_jsx_runtime =
|
|
3800
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
3801
|
+
var import_jsx_runtime = _chunkNU4F7G47cjs.__toESM.call(void 0, require_jsx_runtime(), 1);
|
|
3813
3802
|
var _react = require('@kubb/react');
|
|
3814
3803
|
var OperationContext = _react.createContext.call(void 0, {});
|
|
3815
3804
|
function Operation({ operation, children }) {
|
|
@@ -3818,13 +3807,13 @@ function Operation({ operation, children }) {
|
|
|
3818
3807
|
Operation.Context = OperationContext;
|
|
3819
3808
|
|
|
3820
3809
|
// src/hooks/useSchema.ts
|
|
3821
|
-
|
|
3810
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
3822
3811
|
|
|
3823
3812
|
|
|
3824
3813
|
// src/components/Schema.tsx
|
|
3825
|
-
|
|
3814
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
3826
3815
|
|
|
3827
|
-
var import_jsx_runtime2 =
|
|
3816
|
+
var import_jsx_runtime2 = _chunkNU4F7G47cjs.__toESM.call(void 0, require_jsx_runtime(), 1);
|
|
3828
3817
|
var SchemaContext = _react.createContext.call(void 0, {
|
|
3829
3818
|
name: "unknown",
|
|
3830
3819
|
tree: []
|
|
@@ -3836,7 +3825,11 @@ Schema.File = function({ output, isTypeOnly, children }) {
|
|
|
3836
3825
|
const { plugin, pluginManager, mode } = _react.useApp.call(void 0, );
|
|
3837
3826
|
const { name } = useSchema();
|
|
3838
3827
|
if (mode === "single") {
|
|
3839
|
-
const baseName2 =
|
|
3828
|
+
const baseName2 = `${pluginManager.resolveName({
|
|
3829
|
+
name,
|
|
3830
|
+
pluginKey: plugin.key,
|
|
3831
|
+
type: "file"
|
|
3832
|
+
})}.ts`;
|
|
3840
3833
|
const resolvedPath2 = pluginManager.resolvePath({
|
|
3841
3834
|
baseName: "",
|
|
3842
3835
|
pluginKey: plugin.key
|
|
@@ -3883,7 +3876,7 @@ Schema.File = function({ output, isTypeOnly, children }) {
|
|
|
3883
3876
|
}
|
|
3884
3877
|
);
|
|
3885
3878
|
};
|
|
3886
|
-
Schema.Imports = ({ isTypeOnly
|
|
3879
|
+
Schema.Imports = ({ isTypeOnly }) => {
|
|
3887
3880
|
const { tree } = useSchema();
|
|
3888
3881
|
const { path: root } = _react.useFile.call(void 0, );
|
|
3889
3882
|
const refs = SchemaGenerator.deepSearch(tree, schemaKeywords.ref);
|
|
@@ -3891,7 +3884,7 @@ Schema.Imports = ({ isTypeOnly, extName }) => {
|
|
|
3891
3884
|
if (!item.args.path) {
|
|
3892
3885
|
return void 0;
|
|
3893
3886
|
}
|
|
3894
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(_react.File.Import, { root, name: [item.args.name], path: item.args.path, isTypeOnly
|
|
3887
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(_react.File.Import, { root, name: [item.args.name], path: item.args.path, isTypeOnly }, i);
|
|
3895
3888
|
}), 'access', _42 => _42.filter, 'call', _43 => _43(Boolean)]) });
|
|
3896
3889
|
};
|
|
3897
3890
|
Schema.Context = SchemaContext;
|
|
@@ -3903,9 +3896,9 @@ function useSchema() {
|
|
|
3903
3896
|
}
|
|
3904
3897
|
|
|
3905
3898
|
// src/components/Oas.tsx
|
|
3906
|
-
|
|
3899
|
+
_chunkNU4F7G47cjs.init_cjs_shims.call(void 0, );
|
|
3907
3900
|
|
|
3908
|
-
var import_jsx_runtime3 =
|
|
3901
|
+
var import_jsx_runtime3 = _chunkNU4F7G47cjs.__toESM.call(void 0, require_jsx_runtime(), 1);
|
|
3909
3902
|
var OasContext = _react.createContext.call(void 0, {});
|
|
3910
3903
|
function Oas({ oas, children, operations, generator }) {
|
|
3911
3904
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(OasContext.Provider, { value: { oas, generator, operations }, children });
|
|
@@ -3970,4 +3963,4 @@ react/cjs/react-jsx-runtime.development.js:
|
|
|
3970
3963
|
* LICENSE file in the root directory of this source tree.
|
|
3971
3964
|
*)
|
|
3972
3965
|
*/
|
|
3973
|
-
//# sourceMappingURL=chunk-
|
|
3966
|
+
//# sourceMappingURL=chunk-VSVVTCQB.cjs.map
|