@kubb/plugin-oas 2.26.5 → 2.26.6
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/{Schema-BCe0nBHJ.d.ts → Schema-CuyurjSt.d.ts} +1 -1
- package/dist/{Schema-tJWinW5z.d.cts → Schema-zMzShjL_.d.cts} +1 -1
- package/dist/{SchemaMapper-CAEI86qj.d.cts → SchemaMapper-BpjlzuXc.d.cts} +4 -0
- package/dist/{SchemaMapper-CAEI86qj.d.ts → SchemaMapper-BpjlzuXc.d.ts} +4 -0
- package/dist/{chunk-NLKNZBXU.js → chunk-2554UG3K.js} +8 -2
- package/dist/chunk-2554UG3K.js.map +1 -0
- package/dist/{chunk-HUFRXC4N.cjs → chunk-HJ3WPZIC.cjs} +3 -3
- package/dist/{chunk-HUFRXC4N.cjs.map → chunk-HJ3WPZIC.cjs.map} +1 -1
- package/dist/{chunk-2YX4XBMY.js → chunk-LZNNIZXR.js} +2 -2
- package/dist/{chunk-2YX4XBMY.js.map → chunk-LZNNIZXR.js.map} +1 -1
- package/dist/{chunk-2BGY3BRC.cjs → chunk-NYLS3UNE.cjs} +2 -2
- package/dist/{chunk-2BGY3BRC.cjs.map → chunk-NYLS3UNE.cjs.map} +1 -1
- package/dist/{chunk-U3JET6VT.js → chunk-S2XK63DP.js} +3 -3
- package/dist/{chunk-WF523MBA.cjs → chunk-XL6T57NL.cjs} +27 -21
- package/dist/chunk-XL6T57NL.cjs.map +1 -0
- package/dist/{chunk-B3QCCJ62.js → chunk-ZEDQKDE3.js} +2 -2
- package/dist/{chunk-OV72HOID.cjs → chunk-ZPBFS6LC.cjs} +23 -23
- package/dist/{chunk-OV72HOID.cjs.map → chunk-ZPBFS6LC.cjs.map} +1 -1
- package/dist/components.cjs +5 -5
- package/dist/components.d.cts +2 -2
- package/dist/components.d.ts +2 -2
- package/dist/components.js +3 -3
- package/dist/hooks.cjs +13 -13
- package/dist/hooks.d.cts +2 -2
- package/dist/hooks.d.ts +2 -2
- package/dist/hooks.js +3 -3
- package/dist/index.cjs +20 -20
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/utils.cjs +8 -8
- package/dist/utils.js +2 -2
- package/package.json +9 -9
- package/src/SchemaGenerator.ts +6 -0
- package/src/SchemaMapper.ts +2 -0
- package/src/utils/getSchemaFactory.ts +1 -1
- package/dist/chunk-NLKNZBXU.js.map +0 -1
- package/dist/chunk-WF523MBA.cjs.map +0 -1
- /package/dist/{chunk-U3JET6VT.js.map → chunk-S2XK63DP.js.map} +0 -0
- /package/dist/{chunk-B3QCCJ62.js.map → chunk-ZEDQKDE3.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import { ReactNode } from 'react';
|
|
|
3
3
|
import * as KubbFile from '@kubb/fs/types';
|
|
4
4
|
import { SchemaObject } from '@kubb/oas';
|
|
5
5
|
import { KubbNode } from '@kubb/react';
|
|
6
|
-
import { S as Schema$1 } from './SchemaMapper-
|
|
6
|
+
import { S as Schema$1 } from './SchemaMapper-BpjlzuXc.js';
|
|
7
7
|
|
|
8
8
|
type SchemaContextProps = {
|
|
9
9
|
name: string;
|
|
@@ -3,7 +3,7 @@ import { ReactNode } from 'react';
|
|
|
3
3
|
import * as KubbFile from '@kubb/fs/types';
|
|
4
4
|
import { SchemaObject } from '@kubb/oas';
|
|
5
5
|
import { KubbNode } from '@kubb/react';
|
|
6
|
-
import { S as Schema$1 } from './SchemaMapper-
|
|
6
|
+
import { S as Schema$1 } from './SchemaMapper-BpjlzuXc.cjs';
|
|
7
7
|
|
|
8
8
|
type SchemaContextProps = {
|
|
9
9
|
name: string;
|
|
@@ -20,6 +20,9 @@ type SchemaKeywordMapper = {
|
|
|
20
20
|
readOnly: {
|
|
21
21
|
keyword: 'readOnly';
|
|
22
22
|
};
|
|
23
|
+
writeOnly: {
|
|
24
|
+
keyword: 'writeOnly';
|
|
25
|
+
};
|
|
23
26
|
uuid: {
|
|
24
27
|
keyword: 'uuid';
|
|
25
28
|
};
|
|
@@ -216,6 +219,7 @@ declare const schemaKeywords: {
|
|
|
216
219
|
max: "max";
|
|
217
220
|
optional: "optional";
|
|
218
221
|
readOnly: "readOnly";
|
|
222
|
+
writeOnly: "writeOnly";
|
|
219
223
|
object: "object";
|
|
220
224
|
ref: "ref";
|
|
221
225
|
matches: "matches";
|
|
@@ -20,6 +20,9 @@ type SchemaKeywordMapper = {
|
|
|
20
20
|
readOnly: {
|
|
21
21
|
keyword: 'readOnly';
|
|
22
22
|
};
|
|
23
|
+
writeOnly: {
|
|
24
|
+
keyword: 'writeOnly';
|
|
25
|
+
};
|
|
23
26
|
uuid: {
|
|
24
27
|
keyword: 'uuid';
|
|
25
28
|
};
|
|
@@ -216,6 +219,7 @@ declare const schemaKeywords: {
|
|
|
216
219
|
max: "max";
|
|
217
220
|
optional: "optional";
|
|
218
221
|
readOnly: "readOnly";
|
|
222
|
+
writeOnly: "writeOnly";
|
|
219
223
|
object: "object";
|
|
220
224
|
ref: "ref";
|
|
221
225
|
matches: "matches";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
getSchemaFactory,
|
|
6
6
|
getSchemas,
|
|
7
7
|
init_esm_shims
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-LZNNIZXR.js";
|
|
9
9
|
|
|
10
10
|
// src/SchemaMapper.ts
|
|
11
11
|
init_esm_shims();
|
|
@@ -39,6 +39,7 @@ var schemaKeywords = {
|
|
|
39
39
|
max: "max",
|
|
40
40
|
optional: "optional",
|
|
41
41
|
readOnly: "readOnly",
|
|
42
|
+
writeOnly: "writeOnly",
|
|
42
43
|
// custom ones
|
|
43
44
|
object: "object",
|
|
44
45
|
ref: "ref",
|
|
@@ -398,10 +399,15 @@ parseSchemaObject_fn = function({ schema: _schema, name, parentName }) {
|
|
|
398
399
|
if (schema.readOnly) {
|
|
399
400
|
baseItems.push({ keyword: schemaKeywords.readOnly });
|
|
400
401
|
}
|
|
402
|
+
if (schema.writeOnly) {
|
|
403
|
+
baseItems.push({ keyword: schemaKeywords.writeOnly });
|
|
404
|
+
}
|
|
401
405
|
if (isReference(schema)) {
|
|
402
406
|
return [
|
|
403
407
|
...__privateMethod(this, _SchemaGenerator_instances, getRefAlias_fn).call(this, schema),
|
|
404
408
|
nullable && { keyword: schemaKeywords.nullable },
|
|
409
|
+
schema.readOnly && { keyword: schemaKeywords.readOnly },
|
|
410
|
+
schema.writeOnly && { keyword: schemaKeywords.writeOnly },
|
|
405
411
|
{
|
|
406
412
|
keyword: schemaKeywords.schema,
|
|
407
413
|
args: {
|
|
@@ -722,4 +728,4 @@ export {
|
|
|
722
728
|
isKeyword,
|
|
723
729
|
SchemaGenerator
|
|
724
730
|
};
|
|
725
|
-
//# sourceMappingURL=chunk-
|
|
731
|
+
//# sourceMappingURL=chunk-2554UG3K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/SchemaMapper.ts","../src/SchemaGenerator.ts"],"sourcesContent":["import type * as KubbFile from '@kubb/fs/types'\n\nexport type SchemaKeywordMapper = {\n object: {\n keyword: 'object'\n args: {\n properties: { [x: string]: Schema[] }\n additionalProperties: Schema[]\n strict?: boolean\n }\n }\n strict: { keyword: 'strict' }\n url: { keyword: 'url' }\n readOnly: { keyword: 'readOnly' }\n writeOnly: { keyword: 'writeOnly' }\n uuid: { keyword: 'uuid' }\n email: { keyword: 'email' }\n firstName: { keyword: 'firstName' }\n lastName: { keyword: 'lastName' }\n phone: { keyword: 'phone' }\n password: { keyword: 'password' }\n date: { keyword: 'date'; args: { type?: 'date' | 'string' } }\n time: { keyword: 'time'; args: { type?: 'date' | 'string' } }\n datetime: { keyword: 'datetime'; args: { offset?: boolean; local?: boolean } }\n tuple: { keyword: 'tuple'; args: { items: Schema[]; min?: number; max?: number } }\n array: {\n keyword: 'array'\n args: { items: Schema[]; min?: number; max?: number }\n }\n enum: {\n keyword: 'enum'\n args: {\n name: string\n typeName: string\n asConst: boolean\n items: Array<{\n name: string | number\n format: 'string' | 'number' | 'boolean'\n value?: string | number | boolean\n }>\n }\n }\n and: { keyword: 'and'; args: Schema[] }\n const: {\n keyword: 'const'\n args: {\n name: string | number\n format: 'string' | 'number' | 'boolean'\n value?: string | number | boolean\n }\n }\n union: { keyword: 'union'; args: Schema[] }\n ref: {\n keyword: 'ref'\n args: { name: string; path: KubbFile.OptionalPath }\n }\n matches: { keyword: 'matches'; args?: string }\n boolean: { keyword: 'boolean' }\n default: { keyword: 'default'; args: string | number | boolean }\n string: { keyword: 'string' }\n integer: { keyword: 'integer' }\n number: { keyword: 'number' }\n max: { keyword: 'max'; args: number }\n min: { keyword: 'min'; args: number }\n describe: { keyword: 'describe'; args: string }\n example: { keyword: 'example'; args: string }\n deprecated: { keyword: 'deprecated' }\n optional: { keyword: 'optional' }\n undefined: { keyword: 'undefined' }\n nullish: { keyword: 'nullish' }\n nullable: { keyword: 'nullable' }\n null: { keyword: 'null' }\n any: { keyword: 'any' }\n unknown: { keyword: 'unknown' }\n blob: { keyword: 'blob' }\n schema: { keyword: 'schema'; args: { type: 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object'; format?: string } }\n name: { keyword: 'name'; args: string }\n catchall: { keyword: 'catchall' }\n}\n\nexport const schemaKeywords = {\n any: 'any',\n strict: 'strict',\n unknown: 'unknown',\n number: 'number',\n integer: 'integer',\n string: 'string',\n boolean: 'boolean',\n undefined: 'undefined',\n nullable: 'nullable',\n null: 'null',\n nullish: 'nullish',\n array: 'array',\n tuple: 'tuple',\n enum: 'enum',\n union: 'union',\n datetime: 'datetime',\n date: 'date',\n email: 'email',\n uuid: 'uuid',\n url: 'url',\n /* intersection */\n default: 'default',\n const: 'const',\n and: 'and',\n describe: 'describe',\n min: 'min',\n max: 'max',\n optional: 'optional',\n readOnly: 'readOnly',\n writeOnly: 'writeOnly',\n\n // custom ones\n object: 'object',\n ref: 'ref',\n matches: 'matches',\n firstName: 'firstName',\n lastName: 'lastName',\n password: 'password',\n phone: 'phone',\n blob: 'blob',\n deprecated: 'deprecated',\n example: 'example',\n schema: 'schema',\n catchall: 'catchall',\n time: 'time',\n name: 'name',\n} satisfies {\n [K in keyof SchemaKeywordMapper]: SchemaKeywordMapper[K]['keyword']\n}\n\nexport type SchemaKeyword = keyof SchemaKeywordMapper\n\nexport type SchemaMapper<T = string | null | undefined> = {\n [K in keyof SchemaKeywordMapper]: (() => T | undefined) | undefined\n}\n\nexport type SchemaKeywordBase<T> = {\n keyword: SchemaKeyword\n args: T\n}\n\nexport type Schema = { keyword: string } | SchemaKeywordMapper[keyof SchemaKeywordMapper]\n\nexport function isKeyword<T extends Schema, K extends keyof SchemaKeywordMapper>(meta: T, keyword: K): meta is Extract<T, SchemaKeywordMapper[K]> {\n return meta.keyword === keyword\n}\n","import { type FileMetaBase, Generator } from '@kubb/core'\nimport transformers, { pascalCase } from '@kubb/core/transformers'\nimport { getUniqueName } from '@kubb/core/utils'\n\nimport { isReference } from '@kubb/oas'\nimport { isDeepEqual, isNumber, uniqueWith } from 'remeda'\nimport { isKeyword, schemaKeywords } from './SchemaMapper.ts'\nimport { getSchemaFactory } from './utils/getSchemaFactory.ts'\nimport { getSchemas } from './utils/getSchemas.ts'\n\nimport type { Plugin, PluginFactoryOptions, PluginManager, ResolveNameParams } from '@kubb/core'\nimport type * as KubbFile from '@kubb/fs/types'\n\nimport type { Oas, OpenAPIV3, SchemaObject, contentType } from '@kubb/oas'\nimport type { Schema, SchemaKeywordMapper } from './SchemaMapper.ts'\nimport type { OperationSchema, Override, Refs } from './types.ts'\n\nexport type GetSchemaGeneratorOptions<T extends SchemaGenerator<any, any, any>> = T extends SchemaGenerator<infer Options, any, any> ? Options : never\n\nexport type SchemaMethodResult<TFileMeta extends FileMetaBase> = Promise<KubbFile.File<TFileMeta> | Array<KubbFile.File<TFileMeta>> | null>\n\ntype Context<TOptions, TPluginOptions extends PluginFactoryOptions> = {\n oas: Oas\n pluginManager: PluginManager\n /**\n * Current plugin\n */\n plugin: Plugin<TPluginOptions>\n mode: KubbFile.Mode\n include?: Array<'schemas' | 'responses' | 'requestBodies'>\n override: Array<Override<TOptions>> | undefined\n contentType?: contentType\n output?: string\n}\n\nexport type SchemaGeneratorOptions = {\n dateType: false | 'string' | 'stringOffset' | 'stringLocal' | 'date'\n unknownType: 'any' | 'unknown'\n enumType?: 'enum' | 'asConst' | 'asPascalConst' | 'constEnum' | 'literal'\n enumSuffix?: string\n usedEnumNames?: Record<string, number>\n mapper?: Record<string, string>\n typed?: boolean\n transformers: {\n /**\n * Customize the names based on the type that is provided by the plugin.\n */\n name?: (name: ResolveNameParams['name'], type?: ResolveNameParams['type']) => string\n /**\n * Receive schema and name(propertName) and return FakerMeta array\n * TODO TODO add docs\n * @beta\n */\n schema?: (schemaProps: SchemaProps, defaultSchemas: Schema[]) => Schema[] | undefined\n }\n}\n\nexport type SchemaGeneratorBuildOptions = Omit<OperationSchema, 'name' | 'schema'>\n\ntype SchemaProps = {\n schema?: SchemaObject\n name?: string\n parentName?: string\n}\n\nexport abstract class SchemaGenerator<\n TOptions extends SchemaGeneratorOptions = SchemaGeneratorOptions,\n TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions,\n TFileMeta extends FileMetaBase = FileMetaBase,\n> extends Generator<TOptions, Context<TOptions, TPluginOptions>> {\n // Collect the types of all referenced schemas, so we can export them later\n refs: Refs = {}\n\n // Keep track of already used type aliases\n #usedAliasNames: Record<string, number> = {}\n\n /**\n * Creates a type node from a given schema.\n * Delegates to getBaseTypeFromSchema internally and\n * optionally adds a union with null.\n */\n parse(props: SchemaProps): Schema[] {\n const options = this.#getOptions(props)\n\n const defaultSchemas = this.#parseSchemaObject(props)\n const schemas = options.transformers?.schema?.(props, defaultSchemas) || defaultSchemas || []\n\n return uniqueWith(schemas, isDeepEqual)\n }\n\n deepSearch<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): SchemaKeywordMapper[T][] {\n return SchemaGenerator.deepSearch<T>(tree, keyword)\n }\n\n find<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): SchemaKeywordMapper[T] | undefined {\n return SchemaGenerator.find<T>(tree, keyword)\n }\n\n static deepSearch<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): SchemaKeywordMapper[T][] {\n const foundItems: SchemaKeywordMapper[T][] = []\n\n tree?.forEach((schema) => {\n if (schema.keyword === keyword) {\n foundItems.push(schema as SchemaKeywordMapper[T])\n }\n\n if (schema.keyword === schemaKeywords.object) {\n const subItem = schema as SchemaKeywordMapper['object']\n\n Object.values(subItem.args?.properties || {}).forEach((entrySchema) => {\n foundItems.push(...SchemaGenerator.deepSearch<T>(entrySchema, keyword))\n })\n\n Object.values(subItem.args?.additionalProperties || {}).forEach((entrySchema) => {\n foundItems.push(...SchemaGenerator.deepSearch<T>([entrySchema], keyword))\n })\n }\n\n if (schema.keyword === schemaKeywords.array) {\n const subItem = schema as SchemaKeywordMapper['array']\n\n subItem.args.items.forEach((entrySchema) => {\n foundItems.push(...SchemaGenerator.deepSearch<T>([entrySchema], keyword))\n })\n }\n\n if (schema.keyword === schemaKeywords.and) {\n const subItem = schema as SchemaKeywordMapper['and']\n\n subItem.args.forEach((entrySchema) => {\n foundItems.push(...SchemaGenerator.deepSearch<T>([entrySchema], keyword))\n })\n }\n\n if (schema.keyword === schemaKeywords.tuple) {\n const subItem = schema as SchemaKeywordMapper['tuple']\n\n subItem.args.items.forEach((entrySchema) => {\n foundItems.push(...SchemaGenerator.deepSearch<T>([entrySchema], keyword))\n })\n }\n\n if (schema.keyword === schemaKeywords.union) {\n const subItem = schema as SchemaKeywordMapper['union']\n\n subItem.args.forEach((entrySchema) => {\n foundItems.push(...SchemaGenerator.deepSearch<T>([entrySchema], keyword))\n })\n }\n })\n\n return foundItems\n }\n\n static findInObject<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): SchemaKeywordMapper[T] | undefined {\n let foundItem: SchemaKeywordMapper[T] | undefined = undefined\n\n tree?.forEach((schema) => {\n if (!foundItem && schema.keyword === keyword) {\n foundItem = schema as SchemaKeywordMapper[T]\n }\n\n if (schema.keyword === schemaKeywords.object) {\n const subItem = schema as SchemaKeywordMapper['object']\n\n Object.values(subItem.args?.properties || {}).forEach((entrySchema) => {\n if (!foundItem) {\n foundItem = SchemaGenerator.find<T>(entrySchema, keyword)\n }\n })\n\n Object.values(subItem.args?.additionalProperties || {}).forEach((entrySchema) => {\n if (!foundItem) {\n foundItem = SchemaGenerator.find<T>([entrySchema], keyword)\n }\n })\n }\n })\n\n return foundItem\n }\n\n static find<T extends keyof SchemaKeywordMapper>(tree: Schema[] | undefined, keyword: T): SchemaKeywordMapper[T] | undefined {\n let foundItem: SchemaKeywordMapper[T] | undefined = undefined\n\n tree?.forEach((schema) => {\n if (!foundItem && schema.keyword === keyword) {\n foundItem = schema as SchemaKeywordMapper[T]\n }\n\n if (schema.keyword === schemaKeywords.array) {\n const subItem = schema as SchemaKeywordMapper['array']\n\n subItem.args.items.forEach((entrySchema) => {\n if (!foundItem) {\n foundItem = SchemaGenerator.find<T>([entrySchema], keyword)\n }\n })\n }\n\n if (schema.keyword === schemaKeywords.and) {\n const subItem = schema as SchemaKeywordMapper['and']\n\n subItem.args.forEach((entrySchema) => {\n if (!foundItem) {\n foundItem = SchemaGenerator.find<T>([entrySchema], keyword)\n }\n })\n }\n\n if (schema.keyword === schemaKeywords.tuple) {\n const subItem = schema as SchemaKeywordMapper['tuple']\n\n subItem.args.items.forEach((entrySchema) => {\n if (!foundItem) {\n foundItem = SchemaGenerator.find<T>([entrySchema], keyword)\n }\n })\n }\n\n if (schema.keyword === schemaKeywords.union) {\n const subItem = schema as SchemaKeywordMapper['union']\n\n subItem.args.forEach((entrySchema) => {\n if (!foundItem) {\n foundItem = SchemaGenerator.find<T>([entrySchema], keyword)\n }\n })\n }\n })\n\n return foundItem\n }\n\n #getUsedEnumNames(props: SchemaProps) {\n const options = this.#getOptions(props)\n\n return options.usedEnumNames || {}\n }\n\n #getOptions({ name }: SchemaProps): Partial<TOptions> {\n const { override = [] } = this.context\n\n return {\n ...this.options,\n ...(override.find(({ pattern, type }) => {\n if (name && type === 'schemaName') {\n return !!name.match(pattern)\n }\n\n return false\n })?.options || {}),\n }\n }\n\n #getUnknownReturn(props: SchemaProps) {\n const options = this.#getOptions(props)\n\n if (options.unknownType === 'any') {\n return schemaKeywords.any\n }\n\n return schemaKeywords.unknown\n }\n\n /**\n * Recursively creates a type literal with the given props.\n */\n #parseProperties({ schema, name }: SchemaProps): Schema[] {\n const properties = schema?.properties || {}\n const additionalProperties = schema?.additionalProperties\n const required = schema?.required\n\n const propertiesSchemas = Object.keys(properties)\n .map((propertyName) => {\n const validationFunctions: Schema[] = []\n const propertySchema = properties[propertyName] as SchemaObject\n\n const isRequired = Array.isArray(required) ? required?.includes(propertyName) : !!required\n const nullable = propertySchema.nullable ?? propertySchema['x-nullable'] ?? false\n\n validationFunctions.push(...this.parse({ schema: propertySchema, name: propertyName, parentName: name }))\n\n validationFunctions.push({\n keyword: schemaKeywords.name,\n args: propertyName,\n })\n\n if (!isRequired && nullable) {\n validationFunctions.push({ keyword: schemaKeywords.nullish })\n } else if (!isRequired) {\n validationFunctions.push({ keyword: schemaKeywords.optional })\n }\n\n return {\n [propertyName]: validationFunctions,\n }\n })\n .reduce((acc, curr) => ({ ...acc, ...curr }), {})\n let additionalPropertiesSchemas: Schema[] = []\n\n if (additionalProperties) {\n additionalPropertiesSchemas =\n additionalProperties === true\n ? [{ keyword: this.#getUnknownReturn({ schema, name }) }]\n : this.parse({ schema: additionalProperties as SchemaObject, parentName: name })\n }\n\n return [\n {\n keyword: schemaKeywords.object,\n args: {\n properties: propertiesSchemas,\n additionalProperties: additionalPropertiesSchemas,\n },\n },\n ]\n }\n\n /**\n * Create a type alias for the schema referenced by the given ReferenceObject\n */\n #getRefAlias(obj: OpenAPIV3.ReferenceObject): Schema[] {\n const { $ref } = obj\n let ref = this.refs[$ref]\n\n const originalName = getUniqueName($ref.replace(/.+\\//, ''), this.#usedAliasNames)\n const propertyName = this.context.pluginManager.resolveName({\n name: originalName,\n pluginKey: this.context.plugin.key,\n type: 'function',\n })\n\n if (ref) {\n return [\n {\n keyword: schemaKeywords.ref,\n args: { name: ref.propertyName, path: ref.path },\n },\n ]\n }\n\n const fileName = this.context.pluginManager.resolveName({\n name: originalName,\n pluginKey: this.context.plugin.key,\n type: 'file',\n })\n const file = this.context.pluginManager.getFile({\n name: fileName,\n pluginKey: this.context.plugin.key,\n extName: '.ts',\n })\n\n ref = this.refs[$ref] = {\n propertyName,\n originalName,\n path: file.path,\n }\n\n return [\n {\n keyword: schemaKeywords.ref,\n args: { name: ref.propertyName, path: ref?.path },\n },\n ]\n }\n\n #getParsedSchemaObject(schema?: SchemaObject) {\n const parsedSchema = getSchemaFactory(this.context.oas)(schema)\n return parsedSchema\n }\n\n /**\n * This is the very core of the OpenAPI to TS conversion - it takes a\n * schema and returns the appropriate type.\n */\n #parseSchemaObject({ schema: _schema, name, parentName }: SchemaProps): Schema[] {\n const options = this.#getOptions({ schema: _schema, name })\n const unknownReturn = this.#getUnknownReturn({ schema: _schema, name })\n const { schema, version } = this.#getParsedSchemaObject(_schema)\n if (!schema) {\n return [{ keyword: unknownReturn }]\n }\n\n const baseItems: Schema[] = [\n {\n keyword: schemaKeywords.schema,\n args: {\n type: schema.type as any,\n format: schema.format,\n },\n },\n ]\n const min = schema.minimum ?? schema.minLength ?? schema.minItems ?? undefined\n const max = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? undefined\n const nullable = schema.nullable ?? schema['x-nullable'] ?? false\n\n if (schema.default !== undefined && !Array.isArray(schema.default)) {\n if (typeof schema.default === 'string') {\n baseItems.push({\n keyword: schemaKeywords.default,\n args: transformers.stringify(schema.default),\n })\n } else if (typeof schema.default === 'boolean') {\n baseItems.push({\n keyword: schemaKeywords.default,\n args: schema.default ?? false,\n })\n } else {\n baseItems.push({\n keyword: schemaKeywords.default,\n args: schema.default,\n })\n }\n }\n\n if (schema.description) {\n baseItems.push({\n keyword: schemaKeywords.describe,\n args: schema.description,\n })\n }\n\n if (schema.pattern) {\n baseItems.unshift({\n keyword: schemaKeywords.matches,\n args: schema.pattern,\n })\n }\n\n if (max !== undefined) {\n baseItems.unshift({ keyword: schemaKeywords.max, args: max })\n }\n\n if (min !== undefined) {\n baseItems.unshift({ keyword: schemaKeywords.min, args: min })\n }\n\n if (nullable) {\n baseItems.push({ keyword: schemaKeywords.nullable })\n }\n\n if (schema.type && Array.isArray(schema.type)) {\n const [_schema, nullable] = schema.type\n\n if (nullable === 'null') {\n baseItems.push({ keyword: schemaKeywords.nullable })\n }\n }\n\n if (schema.readOnly) {\n baseItems.push({ keyword: schemaKeywords.readOnly })\n }\n\n if (schema.writeOnly) {\n baseItems.push({ keyword: schemaKeywords.writeOnly })\n }\n\n if (isReference(schema)) {\n return [\n ...this.#getRefAlias(schema),\n nullable && { keyword: schemaKeywords.nullable },\n schema.readOnly && { keyword: schemaKeywords.readOnly },\n schema.writeOnly && { keyword: schemaKeywords.writeOnly },\n {\n keyword: schemaKeywords.schema,\n args: {\n type: schema.type as any,\n format: schema.format,\n },\n },\n ].filter(Boolean)\n }\n\n if (schema.oneOf) {\n // union\n const schemaWithoutOneOf = { ...schema, oneOf: undefined }\n\n const union: Schema = {\n keyword: schemaKeywords.union,\n args: schema.oneOf\n .map((item) => {\n return item && this.parse({ schema: item as SchemaObject, name, parentName })[0]\n })\n .filter(Boolean)\n .filter((item) => {\n return item && item.keyword !== unknownReturn\n }),\n }\n if (schemaWithoutOneOf.properties) {\n return [...this.parse({ schema: schemaWithoutOneOf, name, parentName }), union, ...baseItems]\n }\n\n return [union, ...baseItems]\n }\n\n if (schema.anyOf) {\n // union\n const schemaWithoutAnyOf = { ...schema, anyOf: undefined }\n\n const union: Schema = {\n keyword: schemaKeywords.union,\n args: schema.anyOf\n .map((item) => {\n return item && this.parse({ schema: item as SchemaObject, name, parentName })[0]\n })\n .filter(Boolean)\n .filter((item) => {\n return item && item.keyword !== unknownReturn\n })\n .map((item) => {\n if (isKeyword(item, schemaKeywords.object)) {\n return {\n ...item,\n args: {\n ...item.args,\n strict: true,\n },\n }\n }\n return item\n }),\n }\n if (schemaWithoutAnyOf.properties) {\n return [...this.parse({ schema: schemaWithoutAnyOf, name, parentName }), union, ...baseItems]\n }\n\n return [union, ...baseItems]\n }\n if (schema.allOf) {\n // intersection/add\n const schemaWithoutAllOf = { ...schema, allOf: undefined }\n\n const and: Schema = {\n keyword: schemaKeywords.and,\n args: schema.allOf\n .map((item) => {\n return item && this.parse({ schema: item as SchemaObject, name, parentName })[0]\n })\n .filter(Boolean)\n .filter((item) => {\n return item && item.keyword !== unknownReturn\n }),\n }\n\n if (schemaWithoutAllOf.properties) {\n return [\n {\n ...and,\n args: [...(and.args || []), ...this.parse({ schema: schemaWithoutAllOf, name, parentName })],\n },\n ...baseItems,\n ]\n }\n\n return [and, ...baseItems]\n }\n\n if (schema.enum) {\n const enumName = getUniqueName(pascalCase([parentName, name, options.enumSuffix].join(' ')), this.#getUsedEnumNames({ schema, name }))\n const typeName = this.context.pluginManager.resolveName({\n name: enumName,\n pluginKey: this.context.plugin.key,\n type: 'type',\n })\n\n const nullableEnum = schema.enum.includes(null)\n if (nullableEnum) {\n baseItems.push({ keyword: schemaKeywords.nullable })\n }\n const filteredValues = schema.enum.filter((value) => value !== null)\n\n // x-enumNames has priority\n const extensionEnums = ['x-enumNames', 'x-enum-varnames']\n .filter((extensionKey) => extensionKey in schema)\n .map((extensionKey) => {\n return [\n {\n keyword: schemaKeywords.enum,\n args: {\n name,\n typeName,\n asConst: false,\n items: [...new Set(schema[extensionKey as keyof typeof schema] as string[])].map((name: string | number, index) => ({\n name: transformers.stringify(name),\n value: schema.enum?.[index] as string | number,\n format: isNumber(schema.enum?.[index]) ? 'number' : 'string',\n })),\n },\n },\n ...baseItems.filter(\n (item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max && item.keyword !== schemaKeywords.matches,\n ),\n ]\n })\n\n if (schema.type === 'number' || schema.type === 'integer') {\n // we cannot use z.enum when enum type is number/integer\n const enumNames = extensionEnums[0]?.find((item) => isKeyword(item, schemaKeywords.enum)) as unknown as SchemaKeywordMapper['enum']\n return [\n {\n keyword: schemaKeywords.enum,\n args: {\n name: enumName,\n typeName,\n asConst: true,\n items: enumNames?.args?.items\n ? [...new Set(enumNames.args.items)].map(({ name, value }) => ({\n name,\n value,\n format: 'number',\n }))\n : [...new Set(filteredValues)].map((value: string) => {\n return {\n name: value,\n value,\n format: 'number',\n }\n }),\n },\n },\n ...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max && item.keyword !== schemaKeywords.matches),\n ]\n }\n\n if (schema.type === 'boolean') {\n // we cannot use z.enum when enum type is boolean\n const enumNames = extensionEnums[0]?.find((item) => isKeyword(item, schemaKeywords.enum)) as unknown as SchemaKeywordMapper['enum']\n return [\n {\n keyword: schemaKeywords.enum,\n args: {\n name: enumName,\n typeName,\n asConst: true,\n items: enumNames?.args?.items\n ? [...new Set(enumNames.args.items)].map(({ name, value }) => ({\n name,\n value,\n format: 'boolean',\n }))\n : [...new Set(filteredValues)].map((value: string) => {\n return {\n name: value,\n value,\n format: 'boolean',\n }\n }),\n },\n },\n ...baseItems.filter((item) => item.keyword !== schemaKeywords.matches),\n ]\n }\n\n if (extensionEnums.length > 0 && extensionEnums[0]) {\n return extensionEnums[0]\n }\n\n return [\n {\n keyword: schemaKeywords.enum,\n args: {\n name: enumName,\n typeName,\n asConst: false,\n items: [...new Set(filteredValues)].map((value: string) => ({\n name: transformers.stringify(value),\n value,\n format: isNumber(value) ? 'number' : 'string',\n })),\n },\n },\n ...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max && item.keyword !== schemaKeywords.matches),\n ]\n }\n\n if ('prefixItems' in schema) {\n const prefixItems = schema.prefixItems as SchemaObject[]\n const min = schema.minimum ?? schema.minLength ?? schema.minItems ?? undefined\n const max = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? undefined\n\n return [\n {\n keyword: schemaKeywords.tuple,\n args: {\n min,\n max,\n items: prefixItems\n .map((item) => {\n return this.parse({ schema: item, name, parentName })[0]\n })\n .filter(Boolean),\n },\n },\n ...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max),\n ]\n }\n\n if (version === '3.1' && 'const' in schema) {\n // const keyword takes precendence over the actual type.\n if (schema['const']) {\n return [\n {\n keyword: schemaKeywords.const,\n args: {\n name: schema['const'],\n format: typeof schema['const'] === 'number' ? 'number' : 'string',\n value: schema['const'],\n },\n },\n ...baseItems,\n ]\n }\n return [{ keyword: schemaKeywords.null }]\n }\n\n /**\n * > Structural validation alone may be insufficient to allow an application to correctly utilize certain values. The \"format\"\n * > annotation keyword is defined to allow schema authors to convey semantic information for a fixed subset of values which are\n * > accurately described by authoritative resources, be they RFCs or other external specifications.\n *\n * In other words: format is more specific than type alone, hence it should override the type value, if possible.\n *\n * see also https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-validation-00#rfc.section.7\n */\n if (schema.format) {\n switch (schema.format) {\n case 'binary':\n baseItems.push({ keyword: schemaKeywords.blob })\n return baseItems\n case 'date-time':\n if (options.dateType) {\n if (options.dateType === 'date') {\n baseItems.unshift({ keyword: schemaKeywords.date, args: { type: 'date' } })\n\n return baseItems\n }\n\n if (options.dateType === 'stringOffset') {\n baseItems.unshift({ keyword: schemaKeywords.datetime, args: { offset: true } })\n return baseItems\n }\n\n if (options.dateType === 'stringLocal') {\n baseItems.unshift({ keyword: schemaKeywords.datetime, args: { local: true } })\n return baseItems\n }\n\n baseItems.unshift({ keyword: schemaKeywords.datetime, args: { offset: false } })\n\n return baseItems\n }\n break\n case 'date':\n if (options.dateType) {\n if (options.dateType === 'date') {\n baseItems.unshift({ keyword: schemaKeywords.date, args: { type: 'date' } })\n\n return baseItems\n }\n\n baseItems.unshift({ keyword: schemaKeywords.date, args: { type: 'string' } })\n\n return baseItems\n }\n break\n case 'time':\n if (options.dateType) {\n if (options.dateType === 'date') {\n baseItems.unshift({ keyword: schemaKeywords.time, args: { type: 'date' } })\n\n return baseItems\n }\n\n baseItems.unshift({ keyword: schemaKeywords.time, args: { type: 'string' } })\n\n return baseItems\n }\n break\n case 'uuid':\n baseItems.unshift({ keyword: schemaKeywords.uuid })\n break\n case 'email':\n case 'idn-email':\n baseItems.unshift({ keyword: schemaKeywords.email })\n break\n case 'uri':\n case 'ipv4':\n case 'ipv6':\n case 'uri-reference':\n case 'hostname':\n case 'idn-hostname':\n baseItems.unshift({ keyword: schemaKeywords.url })\n break\n // case 'duration':\n // case 'json-pointer':\n // case 'relative-json-pointer':\n default:\n // formats not yet implemented: ignore.\n break\n }\n }\n\n // type based logic\n if ('items' in schema || schema.type === ('array' as 'string')) {\n const min = schema.minimum ?? schema.minLength ?? schema.minItems ?? undefined\n const max = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? undefined\n const items = this.parse({ schema: 'items' in schema ? (schema.items as SchemaObject) : [], name, parentName })\n\n return [\n {\n keyword: schemaKeywords.array,\n args: {\n items,\n min,\n max,\n },\n },\n ...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max),\n ]\n }\n\n if (schema.properties || schema.additionalProperties) {\n return [...this.#parseProperties({ schema, name }), ...baseItems]\n }\n\n if (schema.type) {\n if (Array.isArray(schema.type)) {\n // OPENAPI v3.1.0: https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0\n const [type] = schema.type as Array<OpenAPIV3.NonArraySchemaObjectType>\n\n return [\n ...this.parse({\n schema: {\n ...schema,\n type,\n },\n name,\n parentName,\n }),\n ...baseItems,\n ].filter(Boolean)\n }\n\n if (!['boolean', 'object', 'number', 'string', 'integer', 'null'].includes(schema.type)) {\n this.context.pluginManager.logger.emit('warning', `Schema type '${schema.type}' is not valid for schema ${parentName}.${name}`)\n }\n\n // 'string' | 'number' | 'integer' | 'boolean'\n return [{ keyword: schema.type }, ...baseItems]\n }\n\n return [{ keyword: unknownReturn }]\n }\n\n async build(): Promise<Array<KubbFile.File<TFileMeta>>> {\n const { oas, contentType, include } = this.context\n\n const schemas = getSchemas({ oas, contentType, includes: include })\n\n const promises = Object.entries(schemas).reduce((acc, [name, schema]) => {\n const options = this.#getOptions({ name })\n const promiseOperation = this.schema.call(this, name, schema, {\n ...this.options,\n ...options,\n })\n\n if (promiseOperation) {\n acc.push(promiseOperation)\n }\n\n return acc\n }, [] as SchemaMethodResult<TFileMeta>[])\n\n const files = await Promise.all(promises)\n\n // using .flat because schemaGenerator[method] can return a array of files or just one file\n return files.flat().filter(Boolean)\n }\n\n /**\n * Schema\n */\n abstract schema(name: string, object: SchemaObject, options: TOptions): SchemaMethodResult<TFileMeta>\n}\n"],"mappings":"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","names":["_schema","nullable","name","min","max"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkNYLS3UNEcjs = require('./chunk-NYLS3UNE.cjs');
|
|
4
4
|
|
|
5
5
|
// src/utils/parseFromConfig.ts
|
|
6
|
-
|
|
6
|
+
_chunkNYLS3UNEcjs.init_cjs_shims.call(void 0, );
|
|
7
7
|
var _path = require('path');
|
|
8
8
|
var _utils = require('@kubb/core/utils');
|
|
9
9
|
var _parser = require('@kubb/oas/parser');
|
|
@@ -32,4 +32,4 @@ function parseFromConfig(config, oasClass = _oas.Oas) {
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
exports.parseFromConfig = parseFromConfig;
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
35
|
+
//# sourceMappingURL=chunk-HJ3WPZIC.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-oas/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-oas/dist/chunk-HJ3WPZIC.cjs","../src/utils/parseFromConfig.ts"],"names":["api"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACJA,8CAAA,CAAA;AAAA,4BAAwB;AAExB,yCAAwB;AAExB,0CAAsB;AAGtB,gCAAmC;AACnC,mFAAiB;AAEV,SAAS,eAAA,CAAgB,MAAA,EAAgB,SAAA,EAAuB,QAAA,EAAmB;AACxF,EAAA,GAAA,CAAI,OAAA,GAAU,MAAA,CAAO,KAAA,EAAO;AAC1B,IAAA,GAAA,CAAI,OAAO,MAAA,CAAO,KAAA,CAAM,KAAA,IAAS,QAAA,EAAU;AACzC,MAAA,MAAMA,KAAAA,EAA4B,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,KAAA,CAAM,IAAI,CAAC,CAAA;AAC9E,MAAA,OAAO,2BAAA,IAAMA,EAAK,QAAQ,CAAA;AAAA,IAC5B;AAEA,IAAA,IAAI;AACF,MAAA,MAAMA,KAAAA,EAAc,cAAA,CAAK,KAAA,CAAM,MAAA,CAAO,KAAA,CAAM,IAAc,CAAA;AAE1D,MAAA,OAAO,2BAAA,IAAMA,EAAK,QAAQ,CAAA;AAAA,IAC5B,EAAA,MAAA,CAAS,CAAA,EAAG;AAAA,IAEZ;AAEA,IAAA,MAAM,IAAA,EAA4B,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,SAAA,CAAU,MAAA,CAAO,KAAA,CAAM,IAAI,CAAC,CAAA;AAE9E,IAAA,OAAO,2BAAA,GAAM,EAAK,QAAQ,CAAA;AAAA,EAC5B;AAEA,EAAA,GAAA,CAAI,IAAI,mBAAA,CAAQ,MAAA,CAAO,KAAA,CAAM,IAAI,CAAA,CAAE,KAAA,EAAO;AACxC,IAAA,OAAO,2BAAA,MAAM,CAAO,KAAA,CAAM,IAAA,EAAM,QAAQ,CAAA;AAAA,EAC1C;AAEA,EAAA,OAAO,2BAAA,2BAAM,MAAQ,CAAO,IAAA,EAAM,MAAA,CAAO,KAAA,CAAM,IAAI,CAAA,EAAG,QAAQ,CAAA;AAChE;ADLA;AACA;AACE;AACF,0CAAC","file":"/home/runner/work/kubb/kubb/packages/plugin-oas/dist/chunk-HJ3WPZIC.cjs","sourcesContent":[null,"import { resolve } from 'node:path'\n\nimport { URLPath } from '@kubb/core/utils'\n\nimport { parse } from '@kubb/oas/parser'\n\nimport type { Config } from '@kubb/core'\nimport { Oas, type OasTypes } from '@kubb/oas'\nimport yaml from '@stoplight/yaml'\n\nexport function parseFromConfig(config: Config, oasClass: typeof Oas = Oas): Promise<Oas> {\n if ('data' in config.input) {\n if (typeof config.input.data === 'object') {\n const api: OasTypes.OASDocument = JSON.parse(JSON.stringify(config.input.data)) as OasTypes.OASDocument\n return parse(api, oasClass)\n }\n\n try {\n const api: string = yaml.parse(config.input.data as string) as string\n\n return parse(api, oasClass)\n } catch (e) {\n /* empty */\n }\n\n const api: OasTypes.OASDocument = JSON.parse(JSON.stringify(config.input.data)) as OasTypes.OASDocument\n\n return parse(api, oasClass)\n }\n\n if (new URLPath(config.input.path).isURL) {\n return parse(config.input.path, oasClass)\n }\n\n return parse(resolve(config.root, config.input.path), oasClass)\n}\n"]}
|
|
@@ -81,7 +81,7 @@ function getSchemaFactory(oas) {
|
|
|
81
81
|
return (schema) => {
|
|
82
82
|
const version = isOpenApiV3_1Document(oas.api) ? "3.1" : "3.0";
|
|
83
83
|
return {
|
|
84
|
-
schema,
|
|
84
|
+
schema: oas.dereferenceWithRef(schema),
|
|
85
85
|
version
|
|
86
86
|
};
|
|
87
87
|
};
|
|
@@ -98,4 +98,4 @@ export {
|
|
|
98
98
|
getSchemas,
|
|
99
99
|
getSchemaFactory
|
|
100
100
|
};
|
|
101
|
-
//# sourceMappingURL=chunk-
|
|
101
|
+
//# sourceMappingURL=chunk-LZNNIZXR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/tsup@8.3.0_@microsoft+api-extractor@7.47.9_@types+node@20.16.5__jiti@1.21.6_postcss@8.4.47_typescript@5.6.2_yaml@2.4.5/node_modules/tsup/assets/esm_shims.js","../src/utils/getSchemas.ts","../src/utils/getSchemaFactory.ts"],"sourcesContent":["// Shim globals in esm bundle\nimport { fileURLToPath } from 'url'\nimport path from 'path'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n","import type { Oas, OasTypes, contentType } from '@kubb/oas'\n\ntype Mode = 'schemas' | 'responses' | 'requestBodies'\n\nexport type GetSchemasProps = {\n oas: Oas\n contentType?: contentType\n includes?: Mode[]\n}\n\nexport function getSchemas({ oas, contentType, includes = ['schemas', 'requestBodies', 'responses'] }: GetSchemasProps): Record<string, OasTypes.SchemaObject> {\n const components = oas.getDefinition().components\n\n let schemas: Record<string, OasTypes.SchemaObject> = {}\n\n if (includes.includes('schemas')) {\n schemas = {\n ...schemas,\n ...((components?.schemas as Record<string, OasTypes.SchemaObject>) || {}),\n }\n }\n\n const requestBodies = components?.requestBodies || {}\n if (includes.includes('responses')) {\n const responses = components?.responses || {}\n\n Object.entries(responses).forEach(([name, response]: [string, OasTypes.ResponseObject]) => {\n if (response.content && !schemas[name]) {\n const firstContentType = Object.keys(response.content)[0] || 'application/json'\n schemas[name] = response.content?.[contentType || firstContentType]?.schema as OasTypes.SchemaObject\n }\n })\n }\n\n if (includes.includes('requestBodies')) {\n Object.entries(requestBodies).forEach(([name, request]: [string, OasTypes.RequestBodyObject]) => {\n if (request.content && !schemas[name]) {\n const firstContentType = Object.keys(request.content)[0] || 'application/json'\n schemas[name] = request.content?.[contentType || firstContentType]?.schema as OasTypes.SchemaObject\n }\n })\n }\n\n return schemas\n}\n","import { isOpenApiV3_1Document } from '@kubb/oas'\n\nimport type { Oas, OpenAPIV3, OpenAPIV3_1, SchemaObject } from '@kubb/oas'\n\n/**\n * Make it possible to narrow down the schema based on a specific version(3 or 3.1)\n */\ntype SchemaResult<TWithRef extends boolean = false> =\n | {\n schema?: (TWithRef extends true ? OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject : OpenAPIV3.SchemaObject) & {\n nullable?: boolean\n 'x-nullable'?: boolean\n }\n version: '3.0'\n }\n | {\n schema?: (TWithRef extends true ? OpenAPIV3_1.SchemaObject | OpenAPIV3_1.ReferenceObject : OpenAPIV3_1.SchemaObject) & {\n nullable?: boolean\n 'x-nullable'?: boolean\n }\n version: '3.1'\n }\n\nexport function getSchemaFactory<TWithRef extends boolean = false>(oas: Oas): (schema?: SchemaObject) => SchemaResult<TWithRef> {\n return (schema?: SchemaObject) => {\n const version = isOpenApiV3_1Document(oas.api) ? '3.1' : '3.0'\n\n return {\n schema,\n version,\n } as SchemaResult<TWithRef>\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAUO,SAAS,WAAW,EAAE,KAAK,aAAa,WAAW,CAAC,WAAW,iBAAiB,WAAW,EAAE,GAA2D;AAC7J,QAAM,aAAa,IAAI,cAAc,EAAE;AAEvC,MAAI,UAAiD,CAAC;AAEtD,MAAI,SAAS,SAAS,SAAS,GAAG;AAChC,cAAU;AAAA,MACR,GAAG;AAAA,MACH,GAAK,YAAY,WAAqD,CAAC;AAAA,IACzE;AAAA,EACF;AAEA,QAAM,gBAAgB,YAAY,iBAAiB,CAAC;AACpD,MAAI,SAAS,SAAS,WAAW,GAAG;AAClC,UAAM,YAAY,YAAY,aAAa,CAAC;AAE5C,WAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,MAAM,QAAQ,MAAyC;AACzF,UAAI,SAAS,WAAW,CAAC,QAAQ,IAAI,GAAG;AACtC,cAAM,mBAAmB,OAAO,KAAK,SAAS,OAAO,EAAE,CAAC,KAAK;AAC7D,gBAAQ,IAAI,IAAI,SAAS,UAAU,eAAe,gBAAgB,GAAG;AAAA,MACvE;AAAA,IACF,CAAC;AAAA,EACH;AAEA,MAAI,SAAS,SAAS,eAAe,GAAG;AACtC,WAAO,QAAQ,aAAa,EAAE,QAAQ,CAAC,CAAC,MAAM,OAAO,MAA4C;AAC/F,UAAI,QAAQ,WAAW,CAAC,QAAQ,IAAI,GAAG;AACrC,cAAM,mBAAmB,OAAO,KAAK,QAAQ,OAAO,EAAE,CAAC,KAAK;AAC5D,gBAAQ,IAAI,IAAI,QAAQ,UAAU,eAAe,gBAAgB,GAAG;AAAA,MACtE;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;;;AC5CA;AAAA,SAAS,6BAA6B;AAuB/B,SAAS,iBAAmD,KAA6D;AAC9H,SAAO,CAAC,WAA0B;AAChC,UAAM,UAAU,sBAAsB,IAAI,GAAG,IAAI,QAAQ;AAEzD,WAAO;AAAA,MACL;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/tsup@8.3.0_@microsoft+api-extractor@7.47.9_@types+node@20.16.5__jiti@1.21.6_postcss@8.4.47_typescript@5.6.2_yaml@2.4.5/node_modules/tsup/assets/esm_shims.js","../src/utils/getSchemas.ts","../src/utils/getSchemaFactory.ts"],"sourcesContent":["// Shim globals in esm bundle\nimport { fileURLToPath } from 'url'\nimport path from 'path'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n","import type { Oas, OasTypes, contentType } from '@kubb/oas'\n\ntype Mode = 'schemas' | 'responses' | 'requestBodies'\n\nexport type GetSchemasProps = {\n oas: Oas\n contentType?: contentType\n includes?: Mode[]\n}\n\nexport function getSchemas({ oas, contentType, includes = ['schemas', 'requestBodies', 'responses'] }: GetSchemasProps): Record<string, OasTypes.SchemaObject> {\n const components = oas.getDefinition().components\n\n let schemas: Record<string, OasTypes.SchemaObject> = {}\n\n if (includes.includes('schemas')) {\n schemas = {\n ...schemas,\n ...((components?.schemas as Record<string, OasTypes.SchemaObject>) || {}),\n }\n }\n\n const requestBodies = components?.requestBodies || {}\n if (includes.includes('responses')) {\n const responses = components?.responses || {}\n\n Object.entries(responses).forEach(([name, response]: [string, OasTypes.ResponseObject]) => {\n if (response.content && !schemas[name]) {\n const firstContentType = Object.keys(response.content)[0] || 'application/json'\n schemas[name] = response.content?.[contentType || firstContentType]?.schema as OasTypes.SchemaObject\n }\n })\n }\n\n if (includes.includes('requestBodies')) {\n Object.entries(requestBodies).forEach(([name, request]: [string, OasTypes.RequestBodyObject]) => {\n if (request.content && !schemas[name]) {\n const firstContentType = Object.keys(request.content)[0] || 'application/json'\n schemas[name] = request.content?.[contentType || firstContentType]?.schema as OasTypes.SchemaObject\n }\n })\n }\n\n return schemas\n}\n","import { isOpenApiV3_1Document } from '@kubb/oas'\n\nimport type { Oas, OpenAPIV3, OpenAPIV3_1, SchemaObject } from '@kubb/oas'\n\n/**\n * Make it possible to narrow down the schema based on a specific version(3 or 3.1)\n */\ntype SchemaResult<TWithRef extends boolean = false> =\n | {\n schema?: (TWithRef extends true ? OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject : OpenAPIV3.SchemaObject) & {\n nullable?: boolean\n 'x-nullable'?: boolean\n }\n version: '3.0'\n }\n | {\n schema?: (TWithRef extends true ? OpenAPIV3_1.SchemaObject | OpenAPIV3_1.ReferenceObject : OpenAPIV3_1.SchemaObject) & {\n nullable?: boolean\n 'x-nullable'?: boolean\n }\n version: '3.1'\n }\n\nexport function getSchemaFactory<TWithRef extends boolean = false>(oas: Oas): (schema?: SchemaObject) => SchemaResult<TWithRef> {\n return (schema?: SchemaObject) => {\n const version = isOpenApiV3_1Document(oas.api) ? '3.1' : '3.0'\n\n return {\n schema: oas.dereferenceWithRef(schema),\n version,\n } as SchemaResult<TWithRef>\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAUO,SAAS,WAAW,EAAE,KAAK,aAAa,WAAW,CAAC,WAAW,iBAAiB,WAAW,EAAE,GAA2D;AAC7J,QAAM,aAAa,IAAI,cAAc,EAAE;AAEvC,MAAI,UAAiD,CAAC;AAEtD,MAAI,SAAS,SAAS,SAAS,GAAG;AAChC,cAAU;AAAA,MACR,GAAG;AAAA,MACH,GAAK,YAAY,WAAqD,CAAC;AAAA,IACzE;AAAA,EACF;AAEA,QAAM,gBAAgB,YAAY,iBAAiB,CAAC;AACpD,MAAI,SAAS,SAAS,WAAW,GAAG;AAClC,UAAM,YAAY,YAAY,aAAa,CAAC;AAE5C,WAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,MAAM,QAAQ,MAAyC;AACzF,UAAI,SAAS,WAAW,CAAC,QAAQ,IAAI,GAAG;AACtC,cAAM,mBAAmB,OAAO,KAAK,SAAS,OAAO,EAAE,CAAC,KAAK;AAC7D,gBAAQ,IAAI,IAAI,SAAS,UAAU,eAAe,gBAAgB,GAAG;AAAA,MACvE;AAAA,IACF,CAAC;AAAA,EACH;AAEA,MAAI,SAAS,SAAS,eAAe,GAAG;AACtC,WAAO,QAAQ,aAAa,EAAE,QAAQ,CAAC,CAAC,MAAM,OAAO,MAA4C;AAC/F,UAAI,QAAQ,WAAW,CAAC,QAAQ,IAAI,GAAG;AACrC,cAAM,mBAAmB,OAAO,KAAK,QAAQ,OAAO,EAAE,CAAC,KAAK;AAC5D,gBAAQ,IAAI,IAAI,QAAQ,UAAU,eAAe,gBAAgB,GAAG;AAAA,MACtE;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;;;AC5CA;AAAA,SAAS,6BAA6B;AAuB/B,SAAS,iBAAmD,KAA6D;AAC9H,SAAO,CAAC,WAA0B;AAChC,UAAM,UAAU,sBAAsB,IAAI,GAAG,IAAI,QAAQ;AAEzD,WAAO;AAAA,MACL,QAAQ,IAAI,mBAAmB,MAAM;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -81,7 +81,7 @@ function getSchemaFactory(oas) {
|
|
|
81
81
|
return (schema) => {
|
|
82
82
|
const version = _oas.isOpenApiV3_1Document.call(void 0, oas.api) ? "3.1" : "3.0";
|
|
83
83
|
return {
|
|
84
|
-
schema,
|
|
84
|
+
schema: oas.dereferenceWithRef(schema),
|
|
85
85
|
version
|
|
86
86
|
};
|
|
87
87
|
};
|
|
@@ -98,4 +98,4 @@ function getSchemaFactory(oas) {
|
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
exports.__commonJS = __commonJS; exports.__toESM = __toESM; exports.__privateGet = __privateGet; exports.__privateAdd = __privateAdd; exports.__privateSet = __privateSet; exports.__privateMethod = __privateMethod; exports.init_cjs_shims = init_cjs_shims; exports.getSchemas = getSchemas; exports.getSchemaFactory = getSchemaFactory;
|
|
101
|
-
//# sourceMappingURL=chunk-
|
|
101
|
+
//# sourceMappingURL=chunk-NYLS3UNE.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-oas/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-oas/dist/chunk-NYLS3UNE.cjs","../../../node_modules/.pnpm/tsup@8.3.0_@microsoft+api-extractor@7.47.9_@types+node@20.16.5__jiti@1.21.6_postcss@8.4.47_typescript@5.6.2_yaml@2.4.5/node_modules/tsup/assets/cjs_shims.js","../src/utils/getSchemas.ts","../src/utils/getSchemaFactory.ts"],"names":[],"mappings":"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","file":"/home/runner/work/kubb/kubb/packages/plugin-oas/dist/chunk-NYLS3UNE.cjs","sourcesContent":[null,"// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () =>\n typeof document === 'undefined'\n ? new URL(`file:${__filename}`).href\n : (document.currentScript && document.currentScript.src) ||\n new URL('main.js', document.baseURI).href\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","import type { Oas, OasTypes, contentType } from '@kubb/oas'\n\ntype Mode = 'schemas' | 'responses' | 'requestBodies'\n\nexport type GetSchemasProps = {\n oas: Oas\n contentType?: contentType\n includes?: Mode[]\n}\n\nexport function getSchemas({ oas, contentType, includes = ['schemas', 'requestBodies', 'responses'] }: GetSchemasProps): Record<string, OasTypes.SchemaObject> {\n const components = oas.getDefinition().components\n\n let schemas: Record<string, OasTypes.SchemaObject> = {}\n\n if (includes.includes('schemas')) {\n schemas = {\n ...schemas,\n ...((components?.schemas as Record<string, OasTypes.SchemaObject>) || {}),\n }\n }\n\n const requestBodies = components?.requestBodies || {}\n if (includes.includes('responses')) {\n const responses = components?.responses || {}\n\n Object.entries(responses).forEach(([name, response]: [string, OasTypes.ResponseObject]) => {\n if (response.content && !schemas[name]) {\n const firstContentType = Object.keys(response.content)[0] || 'application/json'\n schemas[name] = response.content?.[contentType || firstContentType]?.schema as OasTypes.SchemaObject\n }\n })\n }\n\n if (includes.includes('requestBodies')) {\n Object.entries(requestBodies).forEach(([name, request]: [string, OasTypes.RequestBodyObject]) => {\n if (request.content && !schemas[name]) {\n const firstContentType = Object.keys(request.content)[0] || 'application/json'\n schemas[name] = request.content?.[contentType || firstContentType]?.schema as OasTypes.SchemaObject\n }\n })\n }\n\n return schemas\n}\n","import { isOpenApiV3_1Document } from '@kubb/oas'\n\nimport type { Oas, OpenAPIV3, OpenAPIV3_1, SchemaObject } from '@kubb/oas'\n\n/**\n * Make it possible to narrow down the schema based on a specific version(3 or 3.1)\n */\ntype SchemaResult<TWithRef extends boolean = false> =\n | {\n schema?: (TWithRef extends true ? OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject : OpenAPIV3.SchemaObject) & {\n nullable?: boolean\n 'x-nullable'?: boolean\n }\n version: '3.0'\n }\n | {\n schema?: (TWithRef extends true ? OpenAPIV3_1.SchemaObject | OpenAPIV3_1.ReferenceObject : OpenAPIV3_1.SchemaObject) & {\n nullable?: boolean\n 'x-nullable'?: boolean\n }\n version: '3.1'\n }\n\nexport function getSchemaFactory<TWithRef extends boolean = false>(oas: Oas): (schema?: SchemaObject) => SchemaResult<TWithRef> {\n return (schema?: SchemaObject) => {\n const version = isOpenApiV3_1Document(oas.api) ? '3.1' : '3.0'\n\n return {\n schema: oas.dereferenceWithRef(schema),\n version,\n } as SchemaResult<TWithRef>\n }\n}\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SchemaGenerator,
|
|
3
3
|
schemaKeywords
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-2554UG3K.js";
|
|
5
5
|
import {
|
|
6
6
|
__commonJS,
|
|
7
7
|
__toESM,
|
|
8
8
|
init_esm_shims
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-LZNNIZXR.js";
|
|
10
10
|
|
|
11
11
|
// ../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js
|
|
12
12
|
var require_react_production_min = __commonJS({
|
|
@@ -3262,4 +3262,4 @@ react/cjs/react-jsx-runtime.development.js:
|
|
|
3262
3262
|
* LICENSE file in the root directory of this source tree.
|
|
3263
3263
|
*)
|
|
3264
3264
|
*/
|
|
3265
|
-
//# sourceMappingURL=chunk-
|
|
3265
|
+
//# sourceMappingURL=chunk-S2XK63DP.js.map
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkNYLS3UNEcjs = require('./chunk-NYLS3UNE.cjs');
|
|
9
9
|
|
|
10
10
|
// src/SchemaMapper.ts
|
|
11
|
-
|
|
11
|
+
_chunkNYLS3UNEcjs.init_cjs_shims.call(void 0, );
|
|
12
12
|
var schemaKeywords = {
|
|
13
13
|
any: "any",
|
|
14
14
|
strict: "strict",
|
|
@@ -39,6 +39,7 @@ var schemaKeywords = {
|
|
|
39
39
|
max: "max",
|
|
40
40
|
optional: "optional",
|
|
41
41
|
readOnly: "readOnly",
|
|
42
|
+
writeOnly: "writeOnly",
|
|
42
43
|
// custom ones
|
|
43
44
|
object: "object",
|
|
44
45
|
ref: "ref",
|
|
@@ -60,7 +61,7 @@ function isKeyword(meta, keyword) {
|
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
// src/SchemaGenerator.ts
|
|
63
|
-
|
|
64
|
+
_chunkNYLS3UNEcjs.init_cjs_shims.call(void 0, );
|
|
64
65
|
var _core = require('@kubb/core');
|
|
65
66
|
var _transformers = require('@kubb/core/transformers'); var _transformers2 = _interopRequireDefault(_transformers);
|
|
66
67
|
var _utils = require('@kubb/core/utils');
|
|
@@ -70,11 +71,11 @@ var _usedAliasNames, _SchemaGenerator_instances, getUsedEnumNames_fn, getOptions
|
|
|
70
71
|
var _SchemaGenerator = class _SchemaGenerator extends _core.Generator {
|
|
71
72
|
constructor() {
|
|
72
73
|
super(...arguments);
|
|
73
|
-
|
|
74
|
+
_chunkNYLS3UNEcjs.__privateAdd.call(void 0, this, _SchemaGenerator_instances);
|
|
74
75
|
// Collect the types of all referenced schemas, so we can export them later
|
|
75
76
|
this.refs = {};
|
|
76
77
|
// Keep track of already used type aliases
|
|
77
|
-
|
|
78
|
+
_chunkNYLS3UNEcjs.__privateAdd.call(void 0, this, _usedAliasNames, {});
|
|
78
79
|
}
|
|
79
80
|
/**
|
|
80
81
|
* Creates a type node from a given schema.
|
|
@@ -82,8 +83,8 @@ var _SchemaGenerator = class _SchemaGenerator extends _core.Generator {
|
|
|
82
83
|
* optionally adds a union with null.
|
|
83
84
|
*/
|
|
84
85
|
parse(props) {
|
|
85
|
-
const options =
|
|
86
|
-
const defaultSchemas =
|
|
86
|
+
const options = _chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getOptions_fn).call(this, props);
|
|
87
|
+
const defaultSchemas = _chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, parseSchemaObject_fn).call(this, props);
|
|
87
88
|
const schemas = _optionalChain([options, 'access', _ => _.transformers, 'optionalAccess', _2 => _2.schema, 'optionalCall', _3 => _3(props, defaultSchemas)]) || defaultSchemas || [];
|
|
88
89
|
return _remeda.uniqueWith.call(void 0, schemas, _remeda.isDeepEqual);
|
|
89
90
|
}
|
|
@@ -200,9 +201,9 @@ var _SchemaGenerator = class _SchemaGenerator extends _core.Generator {
|
|
|
200
201
|
}
|
|
201
202
|
async build() {
|
|
202
203
|
const { oas, contentType, include } = this.context;
|
|
203
|
-
const schemas =
|
|
204
|
+
const schemas = _chunkNYLS3UNEcjs.getSchemas.call(void 0, { oas, contentType, includes: include });
|
|
204
205
|
const promises = Object.entries(schemas).reduce((acc, [name, schema]) => {
|
|
205
|
-
const options =
|
|
206
|
+
const options = _chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getOptions_fn).call(this, { name });
|
|
206
207
|
const promiseOperation = this.schema.call(this, name, schema, {
|
|
207
208
|
...this.options,
|
|
208
209
|
...options
|
|
@@ -219,7 +220,7 @@ var _SchemaGenerator = class _SchemaGenerator extends _core.Generator {
|
|
|
219
220
|
_usedAliasNames = new WeakMap();
|
|
220
221
|
_SchemaGenerator_instances = new WeakSet();
|
|
221
222
|
getUsedEnumNames_fn = function(props) {
|
|
222
|
-
const options =
|
|
223
|
+
const options = _chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getOptions_fn).call(this, props);
|
|
223
224
|
return options.usedEnumNames || {};
|
|
224
225
|
};
|
|
225
226
|
getOptions_fn = function({ name }) {
|
|
@@ -235,7 +236,7 @@ getOptions_fn = function({ name }) {
|
|
|
235
236
|
};
|
|
236
237
|
};
|
|
237
238
|
getUnknownReturn_fn = function(props) {
|
|
238
|
-
const options =
|
|
239
|
+
const options = _chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getOptions_fn).call(this, props);
|
|
239
240
|
if (options.unknownType === "any") {
|
|
240
241
|
return schemaKeywords.any;
|
|
241
242
|
}
|
|
@@ -269,7 +270,7 @@ parseProperties_fn = function({ schema, name }) {
|
|
|
269
270
|
}).reduce((acc, curr) => ({ ...acc, ...curr }), {});
|
|
270
271
|
let additionalPropertiesSchemas = [];
|
|
271
272
|
if (additionalProperties) {
|
|
272
|
-
additionalPropertiesSchemas = additionalProperties === true ? [{ keyword:
|
|
273
|
+
additionalPropertiesSchemas = additionalProperties === true ? [{ keyword: _chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getUnknownReturn_fn).call(this, { schema, name }) }] : this.parse({ schema: additionalProperties, parentName: name });
|
|
273
274
|
}
|
|
274
275
|
return [
|
|
275
276
|
{
|
|
@@ -287,7 +288,7 @@ parseProperties_fn = function({ schema, name }) {
|
|
|
287
288
|
getRefAlias_fn = function(obj) {
|
|
288
289
|
const { $ref } = obj;
|
|
289
290
|
let ref = this.refs[$ref];
|
|
290
|
-
const originalName = _utils.getUniqueName.call(void 0, $ref.replace(/.+\//, ""),
|
|
291
|
+
const originalName = _utils.getUniqueName.call(void 0, $ref.replace(/.+\//, ""), _chunkNYLS3UNEcjs.__privateGet.call(void 0, this, _usedAliasNames));
|
|
291
292
|
const propertyName = this.context.pluginManager.resolveName({
|
|
292
293
|
name: originalName,
|
|
293
294
|
pluginKey: this.context.plugin.key,
|
|
@@ -324,7 +325,7 @@ getRefAlias_fn = function(obj) {
|
|
|
324
325
|
];
|
|
325
326
|
};
|
|
326
327
|
getParsedSchemaObject_fn = function(schema) {
|
|
327
|
-
const parsedSchema =
|
|
328
|
+
const parsedSchema = _chunkNYLS3UNEcjs.getSchemaFactory.call(void 0, this.context.oas)(schema);
|
|
328
329
|
return parsedSchema;
|
|
329
330
|
};
|
|
330
331
|
/**
|
|
@@ -332,9 +333,9 @@ getParsedSchemaObject_fn = function(schema) {
|
|
|
332
333
|
* schema and returns the appropriate type.
|
|
333
334
|
*/
|
|
334
335
|
parseSchemaObject_fn = function({ schema: _schema, name, parentName }) {
|
|
335
|
-
const options =
|
|
336
|
-
const unknownReturn =
|
|
337
|
-
const { schema, version } =
|
|
336
|
+
const options = _chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getOptions_fn).call(this, { schema: _schema, name });
|
|
337
|
+
const unknownReturn = _chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getUnknownReturn_fn).call(this, { schema: _schema, name });
|
|
338
|
+
const { schema, version } = _chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getParsedSchemaObject_fn).call(this, _schema);
|
|
338
339
|
if (!schema) {
|
|
339
340
|
return [{ keyword: unknownReturn }];
|
|
340
341
|
}
|
|
@@ -398,10 +399,15 @@ parseSchemaObject_fn = function({ schema: _schema, name, parentName }) {
|
|
|
398
399
|
if (schema.readOnly) {
|
|
399
400
|
baseItems.push({ keyword: schemaKeywords.readOnly });
|
|
400
401
|
}
|
|
402
|
+
if (schema.writeOnly) {
|
|
403
|
+
baseItems.push({ keyword: schemaKeywords.writeOnly });
|
|
404
|
+
}
|
|
401
405
|
if (_oas.isReference.call(void 0, schema)) {
|
|
402
406
|
return [
|
|
403
|
-
...
|
|
407
|
+
..._chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getRefAlias_fn).call(this, schema),
|
|
404
408
|
nullable && { keyword: schemaKeywords.nullable },
|
|
409
|
+
schema.readOnly && { keyword: schemaKeywords.readOnly },
|
|
410
|
+
schema.writeOnly && { keyword: schemaKeywords.writeOnly },
|
|
405
411
|
{
|
|
406
412
|
keyword: schemaKeywords.schema,
|
|
407
413
|
args: {
|
|
@@ -474,7 +480,7 @@ parseSchemaObject_fn = function({ schema: _schema, name, parentName }) {
|
|
|
474
480
|
return [and, ...baseItems];
|
|
475
481
|
}
|
|
476
482
|
if (schema.enum) {
|
|
477
|
-
const enumName = _utils.getUniqueName.call(void 0, _transformers.pascalCase.call(void 0, [parentName, name, options.enumSuffix].join(" ")),
|
|
483
|
+
const enumName = _utils.getUniqueName.call(void 0, _transformers.pascalCase.call(void 0, [parentName, name, options.enumSuffix].join(" ")), _chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, getUsedEnumNames_fn).call(this, { schema, name }));
|
|
478
484
|
const typeName = this.context.pluginManager.resolveName({
|
|
479
485
|
name: enumName,
|
|
480
486
|
pluginKey: this.context.plugin.key,
|
|
@@ -691,7 +697,7 @@ parseSchemaObject_fn = function({ schema: _schema, name, parentName }) {
|
|
|
691
697
|
];
|
|
692
698
|
}
|
|
693
699
|
if (schema.properties || schema.additionalProperties) {
|
|
694
|
-
return [...
|
|
700
|
+
return [..._chunkNYLS3UNEcjs.__privateMethod.call(void 0, this, _SchemaGenerator_instances, parseProperties_fn).call(this, { schema, name }), ...baseItems];
|
|
695
701
|
}
|
|
696
702
|
if (schema.type) {
|
|
697
703
|
if (Array.isArray(schema.type)) {
|
|
@@ -722,4 +728,4 @@ var SchemaGenerator = _SchemaGenerator;
|
|
|
722
728
|
|
|
723
729
|
|
|
724
730
|
exports.schemaKeywords = schemaKeywords; exports.isKeyword = isKeyword; exports.SchemaGenerator = SchemaGenerator;
|
|
725
|
-
//# sourceMappingURL=chunk-
|
|
731
|
+
//# sourceMappingURL=chunk-XL6T57NL.cjs.map
|