@kubb/plugin-oas 3.5.6 → 3.5.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.
Files changed (57) hide show
  1. package/dist/{OperationGenerator-ID776sgX.d.cts → OperationGenerator-C_n_FNWe.d.cts} +6 -16
  2. package/dist/{OperationGenerator-ID776sgX.d.ts → OperationGenerator-C_n_FNWe.d.ts} +6 -16
  3. package/dist/{Schema-DXifFLPy.d.cts → Schema-0TEphQBX.d.cts} +1 -1
  4. package/dist/{Schema-BhKPR3fk.d.ts → Schema-CisxeooY.d.ts} +1 -1
  5. package/dist/{chunk-6BM3CVIN.js → chunk-3DX5ALTN.js} +5 -5
  6. package/dist/chunk-3DX5ALTN.js.map +1 -0
  7. package/dist/{chunk-XNCEFOE6.js → chunk-3Y4QGY6D.js} +13 -11
  8. package/dist/chunk-3Y4QGY6D.js.map +1 -0
  9. package/dist/{chunk-QAFBZLJA.cjs → chunk-B7KP5ZFA.cjs} +13 -11
  10. package/dist/chunk-B7KP5ZFA.cjs.map +1 -0
  11. package/dist/{chunk-Y2G53DHK.js → chunk-EMSV6TX2.js} +3 -3
  12. package/dist/{chunk-Y2G53DHK.js.map → chunk-EMSV6TX2.js.map} +1 -1
  13. package/dist/{chunk-W5N2APGH.cjs → chunk-FNXIO7AH.cjs} +5 -5
  14. package/dist/{chunk-W5N2APGH.cjs.map → chunk-FNXIO7AH.cjs.map} +1 -1
  15. package/dist/{chunk-4QYJW6ME.cjs → chunk-I2J55EM2.cjs} +20 -20
  16. package/dist/chunk-I2J55EM2.cjs.map +1 -0
  17. package/dist/{chunk-ZGRPPBK4.js → chunk-M7Q45QED.js} +18 -18
  18. package/dist/chunk-M7Q45QED.js.map +1 -0
  19. package/dist/{chunk-XXKSJDBY.cjs → chunk-TKFFW62C.cjs} +5 -5
  20. package/dist/chunk-TKFFW62C.cjs.map +1 -0
  21. package/dist/components.d.cts +2 -2
  22. package/dist/components.d.ts +2 -2
  23. package/dist/generators.cjs +4 -4
  24. package/dist/generators.d.cts +1 -1
  25. package/dist/generators.d.ts +1 -1
  26. package/dist/generators.js +3 -3
  27. package/dist/hooks.cjs +9 -9
  28. package/dist/hooks.cjs.map +1 -1
  29. package/dist/hooks.d.cts +2 -2
  30. package/dist/hooks.d.ts +2 -2
  31. package/dist/hooks.js +8 -8
  32. package/dist/hooks.js.map +1 -1
  33. package/dist/index.cjs +34 -40
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.cts +2 -2
  36. package/dist/index.d.ts +2 -2
  37. package/dist/index.js +27 -33
  38. package/dist/index.js.map +1 -1
  39. package/dist/utils.cjs +11 -11
  40. package/dist/utils.d.cts +11 -4
  41. package/dist/utils.d.ts +11 -4
  42. package/dist/utils.js +2 -2
  43. package/package.json +9 -9
  44. package/src/OperationGenerator.ts +2 -4
  45. package/src/SchemaGenerator.ts +1 -1
  46. package/src/hooks/useOperationManager.ts +1 -1
  47. package/src/hooks/useSchemaManager.ts +1 -1
  48. package/src/plugin.ts +0 -6
  49. package/src/types.ts +5 -8
  50. package/src/utils/getSchemas.ts +1 -1
  51. package/src/utils/index.ts +0 -1
  52. package/dist/chunk-4QYJW6ME.cjs.map +0 -1
  53. package/dist/chunk-6BM3CVIN.js.map +0 -1
  54. package/dist/chunk-QAFBZLJA.cjs.map +0 -1
  55. package/dist/chunk-XNCEFOE6.js.map +0 -1
  56. package/dist/chunk-XXKSJDBY.cjs.map +0 -1
  57. package/dist/chunk-ZGRPPBK4.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/SchemaMapper.ts","../src/SchemaGenerator.ts"],"names":["BaseGenerator","uniqueWith","isDeepEqual","getUniqueName","getSchemaFactory","transformers","_schema","nullable","isReference","schema","pascalCase","name","isNumber","min","max","getSchemas"],"mappings":"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","file":"chunk-I2J55EM2.cjs","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; unique?: boolean }\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: {\n name: string\n /**\n * Full qualified path.\n */\n path: KubbFile.OptionalPath\n /**\n * When true `File.Import` will be used.\n * When false a reference will be used inside the current file.\n */\n isImportable: boolean\n }\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 type SchemaTree = {\n parent: Schema | undefined\n current: Schema\n siblings: Schema[]\n}\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 { BaseGenerator, type FileMetaBase } 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 { Generator } from './generator.tsx'\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 class SchemaGenerator<\n TOptions extends SchemaGeneratorOptions = SchemaGeneratorOptions,\n TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions,\n TFileMeta extends FileMetaBase = FileMetaBase,\n> extends BaseGenerator<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 || !Object.keys(additionalProperties).length\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, isImportable: !!this.context.oas.get($ref) },\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, isImportable: !!this.context.oas.get($ref) },\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 const defaultNullAndNullable = schema.default === null && nullable\n\n if (schema.default !== undefined && !defaultNullAndNullable && !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.deprecated) {\n baseItems.push({\n keyword: schemaKeywords.deprecated,\n })\n }\n\n if (schema.description) {\n baseItems.push({\n keyword: schemaKeywords.describe,\n args: schema.description,\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 const propertySchemas = this.parse({ schema: schemaWithoutOneOf, name, parentName })\n\n union.args = [\n ...union.args.map((arg) => {\n return {\n keyword: schemaKeywords.and,\n args: [arg, ...propertySchemas],\n }\n }),\n ]\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.required) {\n // TODO use of Required ts helper instead\n const schemas = schema.allOf\n .map((item) => {\n if (isReference(item)) {\n return this.context.oas.get(item.$ref) as SchemaObject\n }\n })\n .filter(Boolean)\n\n const items = schemaWithoutAllOf.required\n .filter((key) => {\n // filter out keys that are already part of the properties(reduce duplicated keys(https://github.com/kubb-labs/kubb/issues/1492)\n if (schemaWithoutAllOf.properties) {\n return !Object.keys(schemaWithoutAllOf.properties).includes(key)\n }\n\n // schema should include required fields when necessary https://github.com/kubb-labs/kubb/issues/1522\n return true\n })\n .map((key) => {\n const schema = schemas.find((item) => item.properties && Object.keys(item.properties).find((propertyKey) => propertyKey === key))\n\n if (schema?.properties?.[key]) {\n return {\n ...schema,\n properties: {\n [key]: schema.properties[key],\n },\n required: [key],\n }\n }\n })\n .filter(Boolean)\n\n and.args = [...(and.args || []), ...items.flatMap((item) => this.parse({ schema: item as SchemaObject, name, parentName }))]\n }\n\n if (schemaWithoutAllOf.properties) {\n and.args = [...(and.args || []), ...this.parse({ schema: schemaWithoutAllOf, name, parentName })]\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 return baseItems\n case 'email':\n case 'idn-email':\n baseItems.unshift({ keyword: schemaKeywords.email })\n return baseItems\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 return baseItems\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 if (schema.pattern) {\n baseItems.unshift({\n keyword: schemaKeywords.matches,\n args: schema.pattern,\n })\n\n return baseItems\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 const unique = !!schema.uniqueItems\n\n return [\n {\n keyword: schemaKeywords.array,\n args: {\n items,\n min,\n max,\n unique,\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(...generators: Array<Generator<TPluginOptions>>): Promise<Array<KubbFile.File<TFileMeta>>> {\n const { oas, contentType, include } = this.context\n\n oas.resolveDiscriminators()\n\n const schemas = getSchemas({ oas, contentType, includes: include })\n\n const promises = Object.entries(schemas).reduce((acc, [name, value]) => {\n if (!value) {\n return acc\n }\n\n const options = this.#getOptions({ name })\n const promiseOperation = this.schema.call(this, name, value, {\n ...this.options,\n ...options,\n })\n\n if (promiseOperation) {\n acc.push(promiseOperation)\n }\n\n generators?.forEach((generator) => {\n const tree = this.parse({ schema: value, name: name })\n\n const promise = generator.schema?.({\n instance: this,\n schema: {\n name,\n value,\n tree,\n },\n options: {\n ...this.options,\n ...options,\n },\n } as any) as Promise<Array<KubbFile.File<TFileMeta>>>\n\n if (promise) {\n acc.push(promise)\n }\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 an array of files or just one file\n return files.flat().filter(Boolean)\n }\n\n /**\n * Schema\n */\n async schema(_name: string, _object: SchemaObject, _options: TOptions): SchemaMethodResult<TFileMeta> {\n return []\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { getSchemaFactory, getSchemas } from './chunk-XNCEFOE6.js';
1
+ import { getSchemaFactory, getSchemas } from './chunk-3Y4QGY6D.js';
2
2
  import { BaseGenerator } from '@kubb/core';
3
3
  import transformers, { pascalCase } from '@kubb/core/transformers';
4
4
  import { getUniqueName } from '@kubb/core/utils';
@@ -121,7 +121,7 @@ var SchemaGenerator = class _SchemaGenerator extends BaseGenerator {
121
121
  return foundItems;
122
122
  }
123
123
  static findInObject(tree, keyword) {
124
- let foundItem = void 0;
124
+ let foundItem = undefined;
125
125
  tree?.forEach((schema) => {
126
126
  if (!foundItem && schema.keyword === keyword) {
127
127
  foundItem = schema;
@@ -143,7 +143,7 @@ var SchemaGenerator = class _SchemaGenerator extends BaseGenerator {
143
143
  return foundItem;
144
144
  }
145
145
  static find(tree, keyword) {
146
- let foundItem = void 0;
146
+ let foundItem = undefined;
147
147
  tree?.forEach((schema) => {
148
148
  if (!foundItem && schema.keyword === keyword) {
149
149
  foundItem = schema;
@@ -312,11 +312,11 @@ var SchemaGenerator = class _SchemaGenerator extends BaseGenerator {
312
312
  }
313
313
  }
314
314
  ];
315
- const min = schema.minimum ?? schema.minLength ?? schema.minItems ?? void 0;
316
- const max = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? void 0;
315
+ const min = schema.minimum ?? schema.minLength ?? schema.minItems ?? undefined;
316
+ const max = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? undefined;
317
317
  const nullable = schema.nullable ?? schema["x-nullable"] ?? false;
318
318
  const defaultNullAndNullable = schema.default === null && nullable;
319
- if (schema.default !== void 0 && !defaultNullAndNullable && !Array.isArray(schema.default)) {
319
+ if (schema.default !== undefined && !defaultNullAndNullable && !Array.isArray(schema.default)) {
320
320
  if (typeof schema.default === "string") {
321
321
  baseItems.push({
322
322
  keyword: schemaKeywords.default,
@@ -345,10 +345,10 @@ var SchemaGenerator = class _SchemaGenerator extends BaseGenerator {
345
345
  args: schema.description
346
346
  });
347
347
  }
348
- if (max !== void 0) {
348
+ if (max !== undefined) {
349
349
  baseItems.unshift({ keyword: schemaKeywords.max, args: max });
350
350
  }
351
- if (min !== void 0) {
351
+ if (min !== undefined) {
352
352
  baseItems.unshift({ keyword: schemaKeywords.min, args: min });
353
353
  }
354
354
  if (nullable) {
@@ -382,7 +382,7 @@ var SchemaGenerator = class _SchemaGenerator extends BaseGenerator {
382
382
  ].filter(Boolean);
383
383
  }
384
384
  if (schema.oneOf) {
385
- const schemaWithoutOneOf = { ...schema, oneOf: void 0 };
385
+ const schemaWithoutOneOf = { ...schema, oneOf: undefined };
386
386
  const union = {
387
387
  keyword: schemaKeywords.union,
388
388
  args: schema.oneOf.map((item) => {
@@ -405,7 +405,7 @@ var SchemaGenerator = class _SchemaGenerator extends BaseGenerator {
405
405
  return [union, ...baseItems];
406
406
  }
407
407
  if (schema.anyOf) {
408
- const schemaWithoutAnyOf = { ...schema, anyOf: void 0 };
408
+ const schemaWithoutAnyOf = { ...schema, anyOf: undefined };
409
409
  const union = {
410
410
  keyword: schemaKeywords.union,
411
411
  args: schema.anyOf.map((item) => {
@@ -431,7 +431,7 @@ var SchemaGenerator = class _SchemaGenerator extends BaseGenerator {
431
431
  return [union, ...baseItems];
432
432
  }
433
433
  if (schema.allOf) {
434
- const schemaWithoutAllOf = { ...schema, allOf: void 0 };
434
+ const schemaWithoutAllOf = { ...schema, allOf: undefined };
435
435
  const and = {
436
436
  keyword: schemaKeywords.and,
437
437
  args: schema.allOf.map((item) => {
@@ -574,8 +574,8 @@ var SchemaGenerator = class _SchemaGenerator extends BaseGenerator {
574
574
  }
575
575
  if ("prefixItems" in schema) {
576
576
  const prefixItems = schema.prefixItems;
577
- const min2 = schema.minimum ?? schema.minLength ?? schema.minItems ?? void 0;
578
- const max2 = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? void 0;
577
+ const min2 = schema.minimum ?? schema.minLength ?? schema.minItems ?? undefined;
578
+ const max2 = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? undefined;
579
579
  return [
580
580
  {
581
581
  keyword: schemaKeywords.tuple,
@@ -674,8 +674,8 @@ var SchemaGenerator = class _SchemaGenerator extends BaseGenerator {
674
674
  return baseItems;
675
675
  }
676
676
  if ("items" in schema || schema.type === "array") {
677
- const min2 = schema.minimum ?? schema.minLength ?? schema.minItems ?? void 0;
678
- const max2 = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? void 0;
677
+ const min2 = schema.minimum ?? schema.minLength ?? schema.minItems ?? undefined;
678
+ const max2 = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? undefined;
679
679
  const items = this.parse({ schema: "items" in schema ? schema.items : [], name, parentName });
680
680
  const unique = !!schema.uniqueItems;
681
681
  return [
@@ -758,11 +758,11 @@ var SchemaGenerator = class _SchemaGenerator extends BaseGenerator {
758
758
  /**
759
759
  * Schema
760
760
  */
761
- async schema(name, object, options) {
761
+ async schema(_name, _object, _options) {
762
762
  return [];
763
763
  }
764
764
  };
765
765
 
766
766
  export { SchemaGenerator, isKeyword, schemaKeywords };
767
- //# sourceMappingURL=chunk-ZGRPPBK4.js.map
768
- //# sourceMappingURL=chunk-ZGRPPBK4.js.map
767
+ //# sourceMappingURL=chunk-M7Q45QED.js.map
768
+ //# sourceMappingURL=chunk-M7Q45QED.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/SchemaMapper.ts","../src/SchemaGenerator.ts"],"names":["_schema","nullable","schema","name","min","max"],"mappings":";;;;;;;;AA2FO,IAAM,cAAiB,GAAA;AAAA,EAC5B,GAAK,EAAA,KAAA;AAAA,EACL,MAAQ,EAAA,QAAA;AAAA,EACR,OAAS,EAAA,SAAA;AAAA,EACT,MAAQ,EAAA,QAAA;AAAA,EACR,OAAS,EAAA,SAAA;AAAA,EACT,MAAQ,EAAA,QAAA;AAAA,EACR,OAAS,EAAA,SAAA;AAAA,EACT,SAAW,EAAA,WAAA;AAAA,EACX,QAAU,EAAA,UAAA;AAAA,EACV,IAAM,EAAA,MAAA;AAAA,EACN,OAAS,EAAA,SAAA;AAAA,EACT,KAAO,EAAA,OAAA;AAAA,EACP,KAAO,EAAA,OAAA;AAAA,EACP,IAAM,EAAA,MAAA;AAAA,EACN,KAAO,EAAA,OAAA;AAAA,EACP,QAAU,EAAA,UAAA;AAAA,EACV,IAAM,EAAA,MAAA;AAAA,EACN,KAAO,EAAA,OAAA;AAAA,EACP,IAAM,EAAA,MAAA;AAAA,EACN,GAAK,EAAA,KAAA;AAAA;AAAA,EAEL,OAAS,EAAA,SAAA;AAAA,EACT,KAAO,EAAA,OAAA;AAAA,EACP,GAAK,EAAA,KAAA;AAAA,EACL,QAAU,EAAA,UAAA;AAAA,EACV,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,QAAU,EAAA,UAAA;AAAA,EACV,QAAU,EAAA,UAAA;AAAA,EACV,SAAW,EAAA,WAAA;AAAA;AAAA,EAGX,MAAQ,EAAA,QAAA;AAAA,EACR,GAAK,EAAA,KAAA;AAAA,EACL,OAAS,EAAA,SAAA;AAAA,EACT,SAAW,EAAA,WAAA;AAAA,EACX,QAAU,EAAA,UAAA;AAAA,EACV,QAAU,EAAA,UAAA;AAAA,EACV,KAAO,EAAA,OAAA;AAAA,EACP,IAAM,EAAA,MAAA;AAAA,EACN,UAAY,EAAA,YAAA;AAAA,EACZ,OAAS,EAAA,SAAA;AAAA,EACT,MAAQ,EAAA,QAAA;AAAA,EACR,QAAU,EAAA,UAAA;AAAA,EACV,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAA;AACR;AAuBO,SAAS,SAAA,CAAiE,MAAS,OAAwD,EAAA;AAChJ,EAAA,OAAO,KAAK,OAAY,KAAA,OAAA;AAC1B;ACjGa,IAAA,eAAA,GAAN,MAAM,gBAAA,SAIH,aAA2D,CAAA;AAAA;AAAA,EAEnE,OAAa,EAAC;AAAA;AAAA,EAGd,kBAA0C,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO3C,MAAM,KAA8B,EAAA;AAClC,IAAM,MAAA,OAAA,GAAU,IAAK,CAAA,WAAA,CAAY,KAAK,CAAA;AAEtC,IAAM,MAAA,cAAA,GAAiB,IAAK,CAAA,kBAAA,CAAmB,KAAK,CAAA;AACpD,IAAM,MAAA,OAAA,GAAU,QAAQ,YAAc,EAAA,MAAA,GAAS,OAAO,cAAc,CAAA,IAAK,kBAAkB,EAAC;AAE5F,IAAO,OAAA,UAAA,CAAW,SAAS,WAAW,CAAA;AAAA;AACxC,EAEA,UAAA,CAAgD,MAA4B,OAAsC,EAAA;AAChH,IAAO,OAAA,gBAAA,CAAgB,UAAc,CAAA,IAAA,EAAM,OAAO,CAAA;AAAA;AACpD,EAEA,IAAA,CAA0C,MAA4B,OAAgD,EAAA;AACpH,IAAO,OAAA,gBAAA,CAAgB,IAAQ,CAAA,IAAA,EAAM,OAAO,CAAA;AAAA;AAC9C,EAEA,OAAO,UAAgD,CAAA,IAAA,EAA4B,OAAsC,EAAA;AACvH,IAAA,MAAM,aAAuC,EAAC;AAE9C,IAAM,IAAA,EAAA,OAAA,CAAQ,CAAC,MAAW,KAAA;AACxB,MAAI,IAAA,MAAA,CAAO,YAAY,OAAS,EAAA;AAC9B,QAAA,UAAA,CAAW,KAAK,MAAgC,CAAA;AAAA;AAGlD,MAAI,IAAA,MAAA,CAAO,OAAY,KAAA,cAAA,CAAe,MAAQ,EAAA;AAC5C,QAAA,MAAM,OAAU,GAAA,MAAA;AAEhB,QAAO,MAAA,CAAA,MAAA,CAAO,QAAQ,IAAM,EAAA,UAAA,IAAc,EAAE,CAAA,CAAE,OAAQ,CAAA,CAAC,WAAgB,KAAA;AACrE,UAAA,UAAA,CAAW,KAAK,GAAG,gBAAA,CAAgB,UAAc,CAAA,WAAA,EAAa,OAAO,CAAC,CAAA;AAAA,SACvE,CAAA;AAED,QAAO,MAAA,CAAA,MAAA,CAAO,QAAQ,IAAM,EAAA,oBAAA,IAAwB,EAAE,CAAA,CAAE,OAAQ,CAAA,CAAC,WAAgB,KAAA;AAC/E,UAAW,UAAA,CAAA,IAAA,CAAK,GAAG,gBAAgB,CAAA,UAAA,CAAc,CAAC,WAAW,CAAA,EAAG,OAAO,CAAC,CAAA;AAAA,SACzE,CAAA;AAAA;AAGH,MAAI,IAAA,MAAA,CAAO,OAAY,KAAA,cAAA,CAAe,KAAO,EAAA;AAC3C,QAAA,MAAM,OAAU,GAAA,MAAA;AAEhB,QAAA,OAAA,CAAQ,IAAK,CAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,WAAgB,KAAA;AAC1C,UAAW,UAAA,CAAA,IAAA,CAAK,GAAG,gBAAgB,CAAA,UAAA,CAAc,CAAC,WAAW,CAAA,EAAG,OAAO,CAAC,CAAA;AAAA,SACzE,CAAA;AAAA;AAGH,MAAI,IAAA,MAAA,CAAO,OAAY,KAAA,cAAA,CAAe,GAAK,EAAA;AACzC,QAAA,MAAM,OAAU,GAAA,MAAA;AAEhB,QAAQ,OAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,CAAC,WAAgB,KAAA;AACpC,UAAW,UAAA,CAAA,IAAA,CAAK,GAAG,gBAAgB,CAAA,UAAA,CAAc,CAAC,WAAW,CAAA,EAAG,OAAO,CAAC,CAAA;AAAA,SACzE,CAAA;AAAA;AAGH,MAAI,IAAA,MAAA,CAAO,OAAY,KAAA,cAAA,CAAe,KAAO,EAAA;AAC3C,QAAA,MAAM,OAAU,GAAA,MAAA;AAEhB,QAAA,OAAA,CAAQ,IAAK,CAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,WAAgB,KAAA;AAC1C,UAAW,UAAA,CAAA,IAAA,CAAK,GAAG,gBAAgB,CAAA,UAAA,CAAc,CAAC,WAAW,CAAA,EAAG,OAAO,CAAC,CAAA;AAAA,SACzE,CAAA;AAAA;AAGH,MAAI,IAAA,MAAA,CAAO,OAAY,KAAA,cAAA,CAAe,KAAO,EAAA;AAC3C,QAAA,MAAM,OAAU,GAAA,MAAA;AAEhB,QAAQ,OAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,CAAC,WAAgB,KAAA;AACpC,UAAW,UAAA,CAAA,IAAA,CAAK,GAAG,gBAAgB,CAAA,UAAA,CAAc,CAAC,WAAW,CAAA,EAAG,OAAO,CAAC,CAAA;AAAA,SACzE,CAAA;AAAA;AACH,KACD,CAAA;AAED,IAAO,OAAA,UAAA;AAAA;AACT,EAEA,OAAO,YAAkD,CAAA,IAAA,EAA4B,OAAgD,EAAA;AACnI,IAAA,IAAI,SAAgD,GAAA,SAAA;AAEpD,IAAM,IAAA,EAAA,OAAA,CAAQ,CAAC,MAAW,KAAA;AACxB,MAAA,IAAI,CAAC,SAAA,IAAa,MAAO,CAAA,OAAA,KAAY,OAAS,EAAA;AAC5C,QAAY,SAAA,GAAA,MAAA;AAAA;AAGd,MAAI,IAAA,MAAA,CAAO,OAAY,KAAA,cAAA,CAAe,MAAQ,EAAA;AAC5C,QAAA,MAAM,OAAU,GAAA,MAAA;AAEhB,QAAO,MAAA,CAAA,MAAA,CAAO,QAAQ,IAAM,EAAA,UAAA,IAAc,EAAE,CAAA,CAAE,OAAQ,CAAA,CAAC,WAAgB,KAAA;AACrE,UAAA,IAAI,CAAC,SAAW,EAAA;AACd,YAAY,SAAA,GAAA,gBAAA,CAAgB,IAAQ,CAAA,WAAA,EAAa,OAAO,CAAA;AAAA;AAC1D,SACD,CAAA;AAED,QAAO,MAAA,CAAA,MAAA,CAAO,QAAQ,IAAM,EAAA,oBAAA,IAAwB,EAAE,CAAA,CAAE,OAAQ,CAAA,CAAC,WAAgB,KAAA;AAC/E,UAAA,IAAI,CAAC,SAAW,EAAA;AACd,YAAA,SAAA,GAAY,gBAAgB,CAAA,IAAA,CAAQ,CAAC,WAAW,GAAG,OAAO,CAAA;AAAA;AAC5D,SACD,CAAA;AAAA;AACH,KACD,CAAA;AAED,IAAO,OAAA,SAAA;AAAA;AACT,EAEA,OAAO,IAA0C,CAAA,IAAA,EAA4B,OAAgD,EAAA;AAC3H,IAAA,IAAI,SAAgD,GAAA,SAAA;AAEpD,IAAM,IAAA,EAAA,OAAA,CAAQ,CAAC,MAAW,KAAA;AACxB,MAAA,IAAI,CAAC,SAAA,IAAa,MAAO,CAAA,OAAA,KAAY,OAAS,EAAA;AAC5C,QAAY,SAAA,GAAA,MAAA;AAAA;AAGd,MAAI,IAAA,MAAA,CAAO,OAAY,KAAA,cAAA,CAAe,KAAO,EAAA;AAC3C,QAAA,MAAM,OAAU,GAAA,MAAA;AAEhB,QAAA,OAAA,CAAQ,IAAK,CAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,WAAgB,KAAA;AAC1C,UAAA,IAAI,CAAC,SAAW,EAAA;AACd,YAAA,SAAA,GAAY,gBAAgB,CAAA,IAAA,CAAQ,CAAC,WAAW,GAAG,OAAO,CAAA;AAAA;AAC5D,SACD,CAAA;AAAA;AAGH,MAAI,IAAA,MAAA,CAAO,OAAY,KAAA,cAAA,CAAe,GAAK,EAAA;AACzC,QAAA,MAAM,OAAU,GAAA,MAAA;AAEhB,QAAQ,OAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,CAAC,WAAgB,KAAA;AACpC,UAAA,IAAI,CAAC,SAAW,EAAA;AACd,YAAA,SAAA,GAAY,gBAAgB,CAAA,IAAA,CAAQ,CAAC,WAAW,GAAG,OAAO,CAAA;AAAA;AAC5D,SACD,CAAA;AAAA;AAGH,MAAI,IAAA,MAAA,CAAO,OAAY,KAAA,cAAA,CAAe,KAAO,EAAA;AAC3C,QAAA,MAAM,OAAU,GAAA,MAAA;AAEhB,QAAA,OAAA,CAAQ,IAAK,CAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,WAAgB,KAAA;AAC1C,UAAA,IAAI,CAAC,SAAW,EAAA;AACd,YAAA,SAAA,GAAY,gBAAgB,CAAA,IAAA,CAAQ,CAAC,WAAW,GAAG,OAAO,CAAA;AAAA;AAC5D,SACD,CAAA;AAAA;AAGH,MAAI,IAAA,MAAA,CAAO,OAAY,KAAA,cAAA,CAAe,KAAO,EAAA;AAC3C,QAAA,MAAM,OAAU,GAAA,MAAA;AAEhB,QAAQ,OAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,CAAC,WAAgB,KAAA;AACpC,UAAA,IAAI,CAAC,SAAW,EAAA;AACd,YAAA,SAAA,GAAY,gBAAgB,CAAA,IAAA,CAAQ,CAAC,WAAW,GAAG,OAAO,CAAA;AAAA;AAC5D,SACD,CAAA;AAAA;AACH,KACD,CAAA;AAED,IAAO,OAAA,SAAA;AAAA;AACT,EAEA,kBAAkB,KAAoB,EAAA;AACpC,IAAM,MAAA,OAAA,GAAU,IAAK,CAAA,WAAA,CAAY,KAAK,CAAA;AAEtC,IAAO,OAAA,OAAA,CAAQ,iBAAiB,EAAC;AAAA;AACnC,EAEA,WAAA,CAAY,EAAE,IAAA,EAAwC,EAAA;AACpD,IAAA,MAAM,EAAE,QAAA,GAAW,EAAC,KAAM,IAAK,CAAA,OAAA;AAE/B,IAAO,OAAA;AAAA,MACL,GAAG,IAAK,CAAA,OAAA;AAAA,MACR,GAAI,QAAS,CAAA,IAAA,CAAK,CAAC,EAAE,OAAA,EAAS,MAAW,KAAA;AACvC,QAAI,IAAA,IAAA,IAAQ,SAAS,YAAc,EAAA;AACjC,UAAA,OAAO,CAAC,CAAC,IAAK,CAAA,KAAA,CAAM,OAAO,CAAA;AAAA;AAG7B,QAAO,OAAA,KAAA;AAAA,OACR,CAAG,EAAA,OAAA,IAAW;AAAC,KAClB;AAAA;AACF,EAEA,kBAAkB,KAAoB,EAAA;AACpC,IAAM,MAAA,OAAA,GAAU,IAAK,CAAA,WAAA,CAAY,KAAK,CAAA;AAEtC,IAAI,IAAA,OAAA,CAAQ,gBAAgB,KAAO,EAAA;AACjC,MAAA,OAAO,cAAe,CAAA,GAAA;AAAA;AAGxB,IAAA,OAAO,cAAe,CAAA,OAAA;AAAA;AACxB;AAAA;AAAA;AAAA,EAKA,gBAAiB,CAAA,EAAE,MAAQ,EAAA,IAAA,EAA+B,EAAA;AACxD,IAAM,MAAA,UAAA,GAAa,MAAQ,EAAA,UAAA,IAAc,EAAC;AAC1C,IAAA,MAAM,uBAAuB,MAAQ,EAAA,oBAAA;AACrC,IAAA,MAAM,WAAW,MAAQ,EAAA,QAAA;AAEzB,IAAA,MAAM,oBAAoB,MAAO,CAAA,IAAA,CAAK,UAAU,CAC7C,CAAA,GAAA,CAAI,CAAC,YAAiB,KAAA;AACrB,MAAA,MAAM,sBAAgC,EAAC;AACvC,MAAM,MAAA,cAAA,GAAiB,WAAW,YAAY,CAAA;AAE9C,MAAM,MAAA,UAAA,GAAa,KAAM,CAAA,OAAA,CAAQ,QAAQ,CAAA,GAAI,UAAU,QAAS,CAAA,YAAY,CAAI,GAAA,CAAC,CAAC,QAAA;AAClF,MAAA,MAAM,QAAW,GAAA,cAAA,CAAe,QAAY,IAAA,cAAA,CAAe,YAAY,CAAK,IAAA,KAAA;AAE5E,MAAA,mBAAA,CAAoB,IAAK,CAAA,GAAG,IAAK,CAAA,KAAA,CAAM,EAAE,MAAA,EAAQ,cAAgB,EAAA,IAAA,EAAM,YAAc,EAAA,UAAA,EAAY,IAAK,EAAC,CAAC,CAAA;AAExG,MAAA,mBAAA,CAAoB,IAAK,CAAA;AAAA,QACvB,SAAS,cAAe,CAAA,IAAA;AAAA,QACxB,IAAM,EAAA;AAAA,OACP,CAAA;AAED,MAAI,IAAA,CAAC,cAAc,QAAU,EAAA;AAC3B,QAAA,mBAAA,CAAoB,IAAK,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,SAAS,CAAA;AAAA,OAC9D,MAAA,IAAW,CAAC,UAAY,EAAA;AACtB,QAAA,mBAAA,CAAoB,IAAK,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,UAAU,CAAA;AAAA;AAG/D,MAAO,OAAA;AAAA,QACL,CAAC,YAAY,GAAG;AAAA,OAClB;AAAA,KACD,CAAA,CACA,MAAO,CAAA,CAAC,GAAK,EAAA,IAAA,MAAU,EAAE,GAAG,GAAK,EAAA,GAAG,IAAK,EAAA,CAAA,EAAI,EAAE,CAAA;AAClD,IAAA,IAAI,8BAAwC,EAAC;AAE7C,IAAA,IAAI,oBAAsB,EAAA;AACxB,MACE,2BAAA,GAAA,oBAAA,KAAyB,IAAQ,IAAA,CAAC,MAAO,CAAA,IAAA,CAAK,oBAAoB,CAAA,CAAE,MAChE,GAAA,CAAC,EAAE,OAAA,EAAS,IAAK,CAAA,iBAAA,CAAkB,EAAE,MAAA,EAAQ,IAAK,EAAC,CAAE,EAAC,CACtD,GAAA,IAAA,CAAK,KAAM,CAAA,EAAE,MAAQ,EAAA,oBAAA,EAAsC,UAAY,EAAA,IAAA,EAAM,CAAA;AAAA;AAGrF,IAAO,OAAA;AAAA,MACL;AAAA,QACE,SAAS,cAAe,CAAA,MAAA;AAAA,QACxB,IAAM,EAAA;AAAA,UACJ,UAAY,EAAA,iBAAA;AAAA,UACZ,oBAAsB,EAAA;AAAA;AACxB;AACF,KACF;AAAA;AACF;AAAA;AAAA;AAAA,EAKA,aAAa,GAA0C,EAAA;AACrD,IAAM,MAAA,EAAE,MAAS,GAAA,GAAA;AACjB,IAAI,IAAA,GAAA,GAAM,IAAK,CAAA,IAAA,CAAK,IAAI,CAAA;AAExB,IAAM,MAAA,YAAA,GAAe,cAAc,IAAK,CAAA,OAAA,CAAQ,QAAQ,EAAE,CAAA,EAAG,KAAK,eAAe,CAAA;AACjF,IAAA,MAAM,YAAe,GAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,CAAc,WAAY,CAAA;AAAA,MAC1D,IAAM,EAAA,YAAA;AAAA,MACN,SAAA,EAAW,IAAK,CAAA,OAAA,CAAQ,MAAO,CAAA,GAAA;AAAA,MAC/B,IAAM,EAAA;AAAA,KACP,CAAA;AAED,IAAA,IAAI,GAAK,EAAA;AACP,MAAO,OAAA;AAAA,QACL;AAAA,UACE,SAAS,cAAe,CAAA,GAAA;AAAA,UACxB,MAAM,EAAE,IAAA,EAAM,GAAI,CAAA,YAAA,EAAc,MAAM,GAAI,CAAA,IAAA,EAAM,YAAc,EAAA,CAAC,CAAC,IAAK,CAAA,OAAA,CAAQ,GAAI,CAAA,GAAA,CAAI,IAAI,CAAE;AAAA;AAC7F,OACF;AAAA;AAGF,IAAA,MAAM,QAAW,GAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,CAAc,WAAY,CAAA;AAAA,MACtD,IAAM,EAAA,YAAA;AAAA,MACN,SAAA,EAAW,IAAK,CAAA,OAAA,CAAQ,MAAO,CAAA,GAAA;AAAA,MAC/B,IAAM,EAAA;AAAA,KACP,CAAA;AACD,IAAA,MAAM,IAAO,GAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,CAAc,OAAQ,CAAA;AAAA,MAC9C,IAAM,EAAA,QAAA;AAAA,MACN,SAAA,EAAW,IAAK,CAAA,OAAA,CAAQ,MAAO,CAAA,GAAA;AAAA,MAC/B,OAAS,EAAA;AAAA,KACV,CAAA;AAED,IAAM,GAAA,GAAA,IAAA,CAAK,IAAK,CAAA,IAAI,CAAI,GAAA;AAAA,MACtB,YAAA;AAAA,MACA,YAAA;AAAA,MACA,MAAM,IAAK,CAAA;AAAA,KACb;AAEA,IAAO,OAAA;AAAA,MACL;AAAA,QACE,SAAS,cAAe,CAAA,GAAA;AAAA,QACxB,MAAM,EAAE,IAAA,EAAM,GAAI,CAAA,YAAA,EAAc,MAAM,GAAK,EAAA,IAAA,EAAM,YAAc,EAAA,CAAC,CAAC,IAAK,CAAA,OAAA,CAAQ,GAAI,CAAA,GAAA,CAAI,IAAI,CAAE;AAAA;AAC9F,KACF;AAAA;AACF,EAEA,uBAAuB,MAAuB,EAAA;AAC5C,IAAA,MAAM,eAAe,gBAAiB,CAAA,IAAA,CAAK,OAAQ,CAAA,GAAG,EAAE,MAAM,CAAA;AAC9D,IAAO,OAAA,YAAA;AAAA;AACT;AAAA;AAAA;AAAA;AAAA,EAMA,mBAAmB,EAAE,MAAA,EAAQ,OAAS,EAAA,IAAA,EAAM,YAAqC,EAAA;AAC/E,IAAA,MAAM,UAAU,IAAK,CAAA,WAAA,CAAY,EAAE,MAAQ,EAAA,OAAA,EAAS,MAAM,CAAA;AAC1D,IAAA,MAAM,gBAAgB,IAAK,CAAA,iBAAA,CAAkB,EAAE,MAAQ,EAAA,OAAA,EAAS,MAAM,CAAA;AACtE,IAAA,MAAM,EAAE,MAAQ,EAAA,OAAA,EAAY,GAAA,IAAA,CAAK,uBAAuB,OAAO,CAAA;AAC/D,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,OAAO,CAAC,EAAE,OAAS,EAAA,aAAA,EAAe,CAAA;AAAA;AAGpC,IAAA,MAAM,SAAsB,GAAA;AAAA,MAC1B;AAAA,QACE,SAAS,cAAe,CAAA,MAAA;AAAA,QACxB,IAAM,EAAA;AAAA,UACJ,MAAM,MAAO,CAAA,IAAA;AAAA,UACb,QAAQ,MAAO,CAAA;AAAA;AACjB;AACF,KACF;AACA,IAAA,MAAM,MAAM,MAAO,CAAA,OAAA,IAAW,MAAO,CAAA,SAAA,IAAa,OAAO,QAAY,IAAA,SAAA;AACrE,IAAA,MAAM,MAAM,MAAO,CAAA,OAAA,IAAW,MAAO,CAAA,SAAA,IAAa,OAAO,QAAY,IAAA,SAAA;AACrE,IAAA,MAAM,QAAW,GAAA,MAAA,CAAO,QAAY,IAAA,MAAA,CAAO,YAAY,CAAK,IAAA,KAAA;AAC5D,IAAM,MAAA,sBAAA,GAAyB,MAAO,CAAA,OAAA,KAAY,IAAQ,IAAA,QAAA;AAE1D,IAAI,IAAA,MAAA,CAAO,OAAY,KAAA,SAAA,IAAa,CAAC,sBAAA,IAA0B,CAAC,KAAM,CAAA,OAAA,CAAQ,MAAO,CAAA,OAAO,CAAG,EAAA;AAC7F,MAAI,IAAA,OAAO,MAAO,CAAA,OAAA,KAAY,QAAU,EAAA;AACtC,QAAA,SAAA,CAAU,IAAK,CAAA;AAAA,UACb,SAAS,cAAe,CAAA,OAAA;AAAA,UACxB,IAAM,EAAA,YAAA,CAAa,SAAU,CAAA,MAAA,CAAO,OAAO;AAAA,SAC5C,CAAA;AAAA,OACQ,MAAA,IAAA,OAAO,MAAO,CAAA,OAAA,KAAY,SAAW,EAAA;AAC9C,QAAA,SAAA,CAAU,IAAK,CAAA;AAAA,UACb,SAAS,cAAe,CAAA,OAAA;AAAA,UACxB,IAAA,EAAM,OAAO,OAAW,IAAA;AAAA,SACzB,CAAA;AAAA,OACI,MAAA;AACL,QAAA,SAAA,CAAU,IAAK,CAAA;AAAA,UACb,SAAS,cAAe,CAAA,OAAA;AAAA,UACxB,MAAM,MAAO,CAAA;AAAA,SACd,CAAA;AAAA;AACH;AAGF,IAAA,IAAI,OAAO,UAAY,EAAA;AACrB,MAAA,SAAA,CAAU,IAAK,CAAA;AAAA,QACb,SAAS,cAAe,CAAA;AAAA,OACzB,CAAA;AAAA;AAGH,IAAA,IAAI,OAAO,WAAa,EAAA;AACtB,MAAA,SAAA,CAAU,IAAK,CAAA;AAAA,QACb,SAAS,cAAe,CAAA,QAAA;AAAA,QACxB,MAAM,MAAO,CAAA;AAAA,OACd,CAAA;AAAA;AAGH,IAAA,IAAI,QAAQ,SAAW,EAAA;AACrB,MAAA,SAAA,CAAU,QAAQ,EAAE,OAAA,EAAS,eAAe,GAAK,EAAA,IAAA,EAAM,KAAK,CAAA;AAAA;AAG9D,IAAA,IAAI,QAAQ,SAAW,EAAA;AACrB,MAAA,SAAA,CAAU,QAAQ,EAAE,OAAA,EAAS,eAAe,GAAK,EAAA,IAAA,EAAM,KAAK,CAAA;AAAA;AAG9D,IAAA,IAAI,QAAU,EAAA;AACZ,MAAA,SAAA,CAAU,IAAK,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,UAAU,CAAA;AAAA;AAGrD,IAAA,IAAI,OAAO,IAAQ,IAAA,KAAA,CAAM,OAAQ,CAAA,MAAA,CAAO,IAAI,CAAG,EAAA;AAC7C,MAAA,MAAM,CAACA,QAAAA,EAASC,SAAQ,CAAA,GAAI,MAAO,CAAA,IAAA;AAEnC,MAAA,IAAIA,cAAa,MAAQ,EAAA;AACvB,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,UAAU,CAAA;AAAA;AACrD;AAGF,IAAA,IAAI,OAAO,QAAU,EAAA;AACnB,MAAA,SAAA,CAAU,IAAK,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,UAAU,CAAA;AAAA;AAGrD,IAAA,IAAI,OAAO,SAAW,EAAA;AACpB,MAAA,SAAA,CAAU,IAAK,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,WAAW,CAAA;AAAA;AAGtD,IAAI,IAAA,WAAA,CAAY,MAAM,CAAG,EAAA;AACvB,MAAO,OAAA;AAAA,QACL,GAAG,IAAK,CAAA,YAAA,CAAa,MAAM,CAAA;AAAA,QAC3B,QAAY,IAAA,EAAE,OAAS,EAAA,cAAA,CAAe,QAAS,EAAA;AAAA,QAC/C,MAAO,CAAA,QAAA,IAAY,EAAE,OAAA,EAAS,eAAe,QAAS,EAAA;AAAA,QACtD,MAAO,CAAA,SAAA,IAAa,EAAE,OAAA,EAAS,eAAe,SAAU,EAAA;AAAA,QACxD;AAAA,UACE,SAAS,cAAe,CAAA,MAAA;AAAA,UACxB,IAAM,EAAA;AAAA,YACJ,MAAM,MAAO,CAAA,IAAA;AAAA,YACb,QAAQ,MAAO,CAAA;AAAA;AACjB;AACF,OACF,CAAE,OAAO,OAAO,CAAA;AAAA;AAGlB,IAAA,IAAI,OAAO,KAAO,EAAA;AAEhB,MAAA,MAAM,kBAAqB,GAAA,EAAE,GAAG,MAAA,EAAQ,OAAO,SAAU,EAAA;AAEzD,MAAA,MAAM,KAAgB,GAAA;AAAA,QACpB,SAAS,cAAe,CAAA,KAAA;AAAA,QACxB,IAAM,EAAA,MAAA,CAAO,KACV,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AACb,UAAO,OAAA,IAAA,IAAQ,IAAK,CAAA,KAAA,CAAM,EAAE,MAAA,EAAQ,MAAsB,IAAM,EAAA,UAAA,EAAY,CAAA,CAAE,CAAC,CAAA;AAAA,SAChF,CACA,CAAA,MAAA,CAAO,OAAO,CACd,CAAA,MAAA,CAAO,CAAC,IAAS,KAAA;AAChB,UAAO,OAAA,IAAA,IAAQ,KAAK,OAAY,KAAA,aAAA;AAAA,SACjC;AAAA,OACL;AACA,MAAA,IAAI,mBAAmB,UAAY,EAAA;AACjC,QAAM,MAAA,eAAA,GAAkB,KAAK,KAAM,CAAA,EAAE,QAAQ,kBAAoB,EAAA,IAAA,EAAM,YAAY,CAAA;AAEnF,QAAA,KAAA,CAAM,IAAO,GAAA;AAAA,UACX,GAAG,KAAA,CAAM,IAAK,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA;AACzB,YAAO,OAAA;AAAA,cACL,SAAS,cAAe,CAAA,GAAA;AAAA,cACxB,IAAM,EAAA,CAAC,GAAK,EAAA,GAAG,eAAe;AAAA,aAChC;AAAA,WACD;AAAA,SACH;AAAA;AAGF,MAAO,OAAA,CAAC,KAAO,EAAA,GAAG,SAAS,CAAA;AAAA;AAG7B,IAAA,IAAI,OAAO,KAAO,EAAA;AAEhB,MAAA,MAAM,kBAAqB,GAAA,EAAE,GAAG,MAAA,EAAQ,OAAO,SAAU,EAAA;AAEzD,MAAA,MAAM,KAAgB,GAAA;AAAA,QACpB,SAAS,cAAe,CAAA,KAAA;AAAA,QACxB,IAAM,EAAA,MAAA,CAAO,KACV,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AACb,UAAO,OAAA,IAAA,IAAQ,IAAK,CAAA,KAAA,CAAM,EAAE,MAAA,EAAQ,MAAsB,IAAM,EAAA,UAAA,EAAY,CAAA,CAAE,CAAC,CAAA;AAAA,SAChF,CACA,CAAA,MAAA,CAAO,OAAO,CACd,CAAA,MAAA,CAAO,CAAC,IAAS,KAAA;AAChB,UAAO,OAAA,IAAA,IAAQ,KAAK,OAAY,KAAA,aAAA;AAAA,SACjC,CAAA,CACA,GAAI,CAAA,CAAC,IAAS,KAAA;AACb,UAAA,IAAI,SAAU,CAAA,IAAA,EAAM,cAAe,CAAA,MAAM,CAAG,EAAA;AAC1C,YAAO,OAAA;AAAA,cACL,GAAG,IAAA;AAAA,cACH,IAAM,EAAA;AAAA,gBACJ,GAAG,IAAK,CAAA,IAAA;AAAA,gBACR,MAAQ,EAAA;AAAA;AACV,aACF;AAAA;AAEF,UAAO,OAAA,IAAA;AAAA,SACR;AAAA,OACL;AACA,MAAA,IAAI,mBAAmB,UAAY,EAAA;AACjC,QAAA,OAAO,CAAC,GAAG,IAAK,CAAA,KAAA,CAAM,EAAE,MAAA,EAAQ,kBAAoB,EAAA,IAAA,EAAM,UAAW,EAAC,CAAG,EAAA,KAAA,EAAO,GAAG,SAAS,CAAA;AAAA;AAG9F,MAAO,OAAA,CAAC,KAAO,EAAA,GAAG,SAAS,CAAA;AAAA;AAE7B,IAAA,IAAI,OAAO,KAAO,EAAA;AAEhB,MAAA,MAAM,kBAAqB,GAAA,EAAE,GAAG,MAAA,EAAQ,OAAO,SAAU,EAAA;AAEzD,MAAA,MAAM,GAAc,GAAA;AAAA,QAClB,SAAS,cAAe,CAAA,GAAA;AAAA,QACxB,IAAM,EAAA,MAAA,CAAO,KACV,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AACb,UAAO,OAAA,IAAA,IAAQ,IAAK,CAAA,KAAA,CAAM,EAAE,MAAA,EAAQ,MAAsB,IAAM,EAAA,UAAA,EAAY,CAAA,CAAE,CAAC,CAAA;AAAA,SAChF,CACA,CAAA,MAAA,CAAO,OAAO,CACd,CAAA,MAAA,CAAO,CAAC,IAAS,KAAA;AAChB,UAAO,OAAA,IAAA,IAAQ,KAAK,OAAY,KAAA,aAAA;AAAA,SACjC;AAAA,OACL;AAEA,MAAA,IAAI,mBAAmB,QAAU,EAAA;AAE/B,QAAA,MAAM,OAAU,GAAA,MAAA,CAAO,KACpB,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AACb,UAAI,IAAA,WAAA,CAAY,IAAI,CAAG,EAAA;AACrB,YAAA,OAAO,IAAK,CAAA,OAAA,CAAQ,GAAI,CAAA,GAAA,CAAI,KAAK,IAAI,CAAA;AAAA;AACvC,SACD,CACA,CAAA,MAAA,CAAO,OAAO,CAAA;AAEjB,QAAA,MAAM,KAAQ,GAAA,kBAAA,CAAmB,QAC9B,CAAA,MAAA,CAAO,CAAC,GAAQ,KAAA;AAEf,UAAA,IAAI,mBAAmB,UAAY,EAAA;AACjC,YAAA,OAAO,CAAC,MAAO,CAAA,IAAA,CAAK,mBAAmB,UAAU,CAAA,CAAE,SAAS,GAAG,CAAA;AAAA;AAIjE,UAAO,OAAA,IAAA;AAAA,SACR,CAAA,CACA,GAAI,CAAA,CAAC,GAAQ,KAAA;AACZ,UAAA,MAAMC,UAAS,OAAQ,CAAA,IAAA,CAAK,CAAC,IAAA,KAAS,KAAK,UAAc,IAAA,MAAA,CAAO,IAAK,CAAA,IAAA,CAAK,UAAU,CAAE,CAAA,IAAA,CAAK,CAAC,WAAgB,KAAA,WAAA,KAAgB,GAAG,CAAC,CAAA;AAEhI,UAAIA,IAAAA,OAAAA,EAAQ,UAAa,GAAA,GAAG,CAAG,EAAA;AAC7B,YAAO,OAAA;AAAA,cACL,GAAGA,OAAAA;AAAA,cACH,UAAY,EAAA;AAAA,gBACV,CAAC,GAAG,GAAGA,OAAAA,CAAO,WAAW,GAAG;AAAA,eAC9B;AAAA,cACA,QAAA,EAAU,CAAC,GAAG;AAAA,aAChB;AAAA;AACF,SACD,CACA,CAAA,MAAA,CAAO,OAAO,CAAA;AAEjB,QAAI,GAAA,CAAA,IAAA,GAAO,CAAC,GAAI,GAAA,CAAI,QAAQ,EAAC,EAAI,GAAG,KAAM,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA,IAAA,CAAK,MAAM,EAAE,MAAA,EAAQ,MAAsB,IAAM,EAAA,UAAA,EAAY,CAAC,CAAC,CAAA;AAAA;AAG7H,MAAA,IAAI,mBAAmB,UAAY,EAAA;AACjC,QAAA,GAAA,CAAI,OAAO,CAAC,GAAI,GAAI,CAAA,IAAA,IAAQ,EAAK,EAAA,GAAG,IAAK,CAAA,KAAA,CAAM,EAAE,MAAQ,EAAA,kBAAA,EAAoB,IAAM,EAAA,UAAA,EAAY,CAAC,CAAA;AAAA;AAGlG,MAAO,OAAA,CAAC,GAAK,EAAA,GAAG,SAAS,CAAA;AAAA;AAG3B,IAAA,IAAI,OAAO,IAAM,EAAA;AACf,MAAA,MAAM,WAAW,aAAc,CAAA,UAAA,CAAW,CAAC,UAAY,EAAA,IAAA,EAAM,QAAQ,UAAU,CAAA,CAAE,KAAK,GAAG,CAAC,GAAG,IAAK,CAAA,iBAAA,CAAkB,EAAE,MAAQ,EAAA,IAAA,EAAM,CAAC,CAAA;AACrI,MAAA,MAAM,QAAW,GAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,CAAc,WAAY,CAAA;AAAA,QACtD,IAAM,EAAA,QAAA;AAAA,QACN,SAAA,EAAW,IAAK,CAAA,OAAA,CAAQ,MAAO,CAAA,GAAA;AAAA,QAC/B,IAAM,EAAA;AAAA,OACP,CAAA;AAED,MAAA,MAAM,YAAe,GAAA,MAAA,CAAO,IAAK,CAAA,QAAA,CAAS,IAAI,CAAA;AAC9C,MAAA,IAAI,YAAc,EAAA;AAChB,QAAA,SAAA,CAAU,IAAK,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,UAAU,CAAA;AAAA;AAErD,MAAA,MAAM,iBAAiB,MAAO,CAAA,IAAA,CAAK,OAAO,CAAC,KAAA,KAAU,UAAU,IAAI,CAAA;AAGnE,MAAA,MAAM,cAAiB,GAAA,CAAC,aAAe,EAAA,iBAAiB,CACrD,CAAA,MAAA,CAAO,CAAC,YAAA,KAAiB,YAAgB,IAAA,MAAM,CAC/C,CAAA,GAAA,CAAI,CAAC,YAAiB,KAAA;AACrB,QAAO,OAAA;AAAA,UACL;AAAA,YACE,SAAS,cAAe,CAAA,IAAA;AAAA,YACxB,IAAM,EAAA;AAAA,cACJ,IAAA;AAAA,cACA,QAAA;AAAA,cACA,OAAS,EAAA,KAAA;AAAA,cACT,KAAO,EAAA,CAAC,GAAG,IAAI,GAAI,CAAA,MAAA,CAAO,YAAmC,CAAa,CAAC,CAAA,CAAE,GAAI,CAAA,CAACC,OAAuB,KAAW,MAAA;AAAA,gBAClH,IAAA,EAAM,YAAa,CAAA,SAAA,CAAUA,KAAI,CAAA;AAAA,gBACjC,KAAA,EAAO,MAAO,CAAA,IAAA,GAAO,KAAK,CAAA;AAAA,gBAC1B,QAAQ,QAAS,CAAA,MAAA,CAAO,OAAO,KAAK,CAAC,IAAI,QAAW,GAAA;AAAA,eACpD,CAAA;AAAA;AACJ,WACF;AAAA,UACA,GAAG,SAAU,CAAA,MAAA;AAAA,YACX,CAAC,IAAA,KAAS,IAAK,CAAA,OAAA,KAAY,cAAe,CAAA,GAAA,IAAO,IAAK,CAAA,OAAA,KAAY,cAAe,CAAA,GAAA,IAAO,IAAK,CAAA,OAAA,KAAY,cAAe,CAAA;AAAA;AAC1H,SACF;AAAA,OACD,CAAA;AAEH,MAAA,IAAI,MAAO,CAAA,IAAA,KAAS,QAAY,IAAA,MAAA,CAAO,SAAS,SAAW,EAAA;AAEzD,QAAM,MAAA,SAAA,GAAY,cAAe,CAAA,CAAC,CAAG,EAAA,IAAA,CAAK,CAAC,IAAA,KAAS,SAAU,CAAA,IAAA,EAAM,cAAe,CAAA,IAAI,CAAC,CAAA;AACxF,QAAO,OAAA;AAAA,UACL;AAAA,YACE,SAAS,cAAe,CAAA,IAAA;AAAA,YACxB,IAAM,EAAA;AAAA,cACJ,IAAM,EAAA,QAAA;AAAA,cACN,QAAA;AAAA,cACA,OAAS,EAAA,IAAA;AAAA,cACT,OAAO,SAAW,EAAA,IAAA,EAAM,QACpB,CAAC,GAAG,IAAI,GAAI,CAAA,SAAA,CAAU,KAAK,KAAK,CAAC,EAAE,GAAI,CAAA,CAAC,EAAE,IAAAA,EAAAA,KAAAA,EAAM,OAAa,MAAA;AAAA,gBAC3D,IAAAA,EAAAA,KAAAA;AAAA,gBACA,KAAA;AAAA,gBACA,MAAQ,EAAA;AAAA,eACV,CAAE,CACF,GAAA,CAAC,GAAG,IAAI,GAAI,CAAA,cAAc,CAAC,CAAA,CAAE,GAAI,CAAA,CAAC,KAAkB,KAAA;AAClD,gBAAO,OAAA;AAAA,kBACL,IAAM,EAAA,KAAA;AAAA,kBACN,KAAA;AAAA,kBACA,MAAQ,EAAA;AAAA,iBACV;AAAA,eACD;AAAA;AACP,WACF;AAAA,UACA,GAAG,SAAU,CAAA,MAAA,CAAO,CAAC,IAAA,KAAS,KAAK,OAAY,KAAA,cAAA,CAAe,GAAO,IAAA,IAAA,CAAK,YAAY,cAAe,CAAA,GAAA,IAAO,IAAK,CAAA,OAAA,KAAY,eAAe,OAAO;AAAA,SACrJ;AAAA;AAGF,MAAI,IAAA,MAAA,CAAO,SAAS,SAAW,EAAA;AAE7B,QAAM,MAAA,SAAA,GAAY,cAAe,CAAA,CAAC,CAAG,EAAA,IAAA,CAAK,CAAC,IAAA,KAAS,SAAU,CAAA,IAAA,EAAM,cAAe,CAAA,IAAI,CAAC,CAAA;AACxF,QAAO,OAAA;AAAA,UACL;AAAA,YACE,SAAS,cAAe,CAAA,IAAA;AAAA,YACxB,IAAM,EAAA;AAAA,cACJ,IAAM,EAAA,QAAA;AAAA,cACN,QAAA;AAAA,cACA,OAAS,EAAA,IAAA;AAAA,cACT,OAAO,SAAW,EAAA,IAAA,EAAM,QACpB,CAAC,GAAG,IAAI,GAAI,CAAA,SAAA,CAAU,KAAK,KAAK,CAAC,EAAE,GAAI,CAAA,CAAC,EAAE,IAAAA,EAAAA,KAAAA,EAAM,OAAa,MAAA;AAAA,gBAC3D,IAAAA,EAAAA,KAAAA;AAAA,gBACA,KAAA;AAAA,gBACA,MAAQ,EAAA;AAAA,eACV,CAAE,CACF,GAAA,CAAC,GAAG,IAAI,GAAI,CAAA,cAAc,CAAC,CAAA,CAAE,GAAI,CAAA,CAAC,KAAkB,KAAA;AAClD,gBAAO,OAAA;AAAA,kBACL,IAAM,EAAA,KAAA;AAAA,kBACN,KAAA;AAAA,kBACA,MAAQ,EAAA;AAAA,iBACV;AAAA,eACD;AAAA;AACP,WACF;AAAA,UACA,GAAG,UAAU,MAAO,CAAA,CAAC,SAAS,IAAK,CAAA,OAAA,KAAY,eAAe,OAAO;AAAA,SACvE;AAAA;AAGF,MAAA,IAAI,cAAe,CAAA,MAAA,GAAS,CAAK,IAAA,cAAA,CAAe,CAAC,CAAG,EAAA;AAClD,QAAA,OAAO,eAAe,CAAC,CAAA;AAAA;AAGzB,MAAO,OAAA;AAAA,QACL;AAAA,UACE,SAAS,cAAe,CAAA,IAAA;AAAA,UACxB,IAAM,EAAA;AAAA,YACJ,IAAM,EAAA,QAAA;AAAA,YACN,QAAA;AAAA,YACA,OAAS,EAAA,KAAA;AAAA,YACT,KAAA,EAAO,CAAC,GAAG,IAAI,GAAA,CAAI,cAAc,CAAC,CAAA,CAAE,GAAI,CAAA,CAAC,KAAmB,MAAA;AAAA,cAC1D,IAAA,EAAM,YAAa,CAAA,SAAA,CAAU,KAAK,CAAA;AAAA,cAClC,KAAA;AAAA,cACA,MAAQ,EAAA,QAAA,CAAS,KAAK,CAAA,GAAI,QAAW,GAAA;AAAA,aACrC,CAAA;AAAA;AACJ,SACF;AAAA,QACA,GAAG,SAAU,CAAA,MAAA,CAAO,CAAC,IAAA,KAAS,KAAK,OAAY,KAAA,cAAA,CAAe,GAAO,IAAA,IAAA,CAAK,YAAY,cAAe,CAAA,GAAA,IAAO,IAAK,CAAA,OAAA,KAAY,eAAe,OAAO;AAAA,OACrJ;AAAA;AAGF,IAAA,IAAI,iBAAiB,MAAQ,EAAA;AAC3B,MAAA,MAAM,cAAc,MAAO,CAAA,WAAA;AAC3B,MAAA,MAAMC,OAAM,MAAO,CAAA,OAAA,IAAW,MAAO,CAAA,SAAA,IAAa,OAAO,QAAY,IAAA,SAAA;AACrE,MAAA,MAAMC,OAAM,MAAO,CAAA,OAAA,IAAW,MAAO,CAAA,SAAA,IAAa,OAAO,QAAY,IAAA,SAAA;AAErE,MAAO,OAAA;AAAA,QACL;AAAA,UACE,SAAS,cAAe,CAAA,KAAA;AAAA,UACxB,IAAM,EAAA;AAAA,YACJ,GAAAD,EAAAA,IAAAA;AAAA,YACA,GAAAC,EAAAA,IAAAA;AAAA,YACA,KAAO,EAAA,WAAA,CACJ,GAAI,CAAA,CAAC,IAAS,KAAA;AACb,cAAO,OAAA,IAAA,CAAK,MAAM,EAAE,MAAA,EAAQ,MAAM,IAAM,EAAA,UAAA,EAAY,CAAA,CAAE,CAAC,CAAA;AAAA,aACxD,CACA,CAAA,MAAA,CAAO,OAAO;AAAA;AACnB,SACF;AAAA,QACA,GAAG,SAAA,CAAU,MAAO,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,OAAY,KAAA,cAAA,CAAe,GAAO,IAAA,IAAA,CAAK,OAAY,KAAA,cAAA,CAAe,GAAG;AAAA,OAC1G;AAAA;AAGF,IAAI,IAAA,OAAA,KAAY,KAAS,IAAA,OAAA,IAAW,MAAQ,EAAA;AAE1C,MAAI,IAAA,MAAA,CAAO,OAAO,CAAG,EAAA;AACnB,QAAO,OAAA;AAAA,UACL;AAAA,YACE,SAAS,cAAe,CAAA,KAAA;AAAA,YACxB,IAAM,EAAA;AAAA,cACJ,IAAA,EAAM,OAAO,OAAO,CAAA;AAAA,cACpB,QAAQ,OAAO,MAAA,CAAO,OAAO,CAAA,KAAM,WAAW,QAAW,GAAA,QAAA;AAAA,cACzD,KAAA,EAAO,OAAO,OAAO;AAAA;AACvB,WACF;AAAA,UACA,GAAG;AAAA,SACL;AAAA;AAEF,MAAA,OAAO,CAAC,EAAE,OAAS,EAAA,cAAA,CAAe,MAAM,CAAA;AAAA;AAY1C,IAAA,IAAI,OAAO,MAAQ,EAAA;AACjB,MAAA,QAAQ,OAAO,MAAQ;AAAA,QACrB,KAAK,QAAA;AACH,UAAA,SAAA,CAAU,IAAK,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,MAAM,CAAA;AAC/C,UAAO,OAAA,SAAA;AAAA,QACT,KAAK,WAAA;AACH,UAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,YAAI,IAAA,OAAA,CAAQ,aAAa,MAAQ,EAAA;AAC/B,cAAU,SAAA,CAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,cAAe,CAAA,IAAA,EAAM,MAAM,EAAE,IAAA,EAAM,MAAO,EAAA,EAAG,CAAA;AAE1E,cAAO,OAAA,SAAA;AAAA;AAGT,YAAI,IAAA,OAAA,CAAQ,aAAa,cAAgB,EAAA;AACvC,cAAU,SAAA,CAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,cAAe,CAAA,QAAA,EAAU,MAAM,EAAE,MAAA,EAAQ,IAAK,EAAA,EAAG,CAAA;AAC9E,cAAO,OAAA,SAAA;AAAA;AAGT,YAAI,IAAA,OAAA,CAAQ,aAAa,aAAe,EAAA;AACtC,cAAU,SAAA,CAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,cAAe,CAAA,QAAA,EAAU,MAAM,EAAE,KAAA,EAAO,IAAK,EAAA,EAAG,CAAA;AAC7E,cAAO,OAAA,SAAA;AAAA;AAGT,YAAU,SAAA,CAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,cAAe,CAAA,QAAA,EAAU,MAAM,EAAE,MAAA,EAAQ,KAAM,EAAA,EAAG,CAAA;AAE/E,YAAO,OAAA,SAAA;AAAA;AAET,UAAA;AAAA,QACF,KAAK,MAAA;AACH,UAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,YAAI,IAAA,OAAA,CAAQ,aAAa,MAAQ,EAAA;AAC/B,cAAU,SAAA,CAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,cAAe,CAAA,IAAA,EAAM,MAAM,EAAE,IAAA,EAAM,MAAO,EAAA,EAAG,CAAA;AAE1E,cAAO,OAAA,SAAA;AAAA;AAGT,YAAU,SAAA,CAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,cAAe,CAAA,IAAA,EAAM,MAAM,EAAE,IAAA,EAAM,QAAS,EAAA,EAAG,CAAA;AAE5E,YAAO,OAAA,SAAA;AAAA;AAET,UAAA;AAAA,QACF,KAAK,MAAA;AACH,UAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,YAAI,IAAA,OAAA,CAAQ,aAAa,MAAQ,EAAA;AAC/B,cAAU,SAAA,CAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,cAAe,CAAA,IAAA,EAAM,MAAM,EAAE,IAAA,EAAM,MAAO,EAAA,EAAG,CAAA;AAE1E,cAAO,OAAA,SAAA;AAAA;AAGT,YAAU,SAAA,CAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,cAAe,CAAA,IAAA,EAAM,MAAM,EAAE,IAAA,EAAM,QAAS,EAAA,EAAG,CAAA;AAE5E,YAAO,OAAA,SAAA;AAAA;AAET,UAAA;AAAA,QACF,KAAK,MAAA;AACH,UAAA,SAAA,CAAU,OAAQ,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,MAAM,CAAA;AAClD,UAAO,OAAA,SAAA;AAAA,QACT,KAAK,OAAA;AAAA,QACL,KAAK,WAAA;AACH,UAAA,SAAA,CAAU,OAAQ,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,OAAO,CAAA;AACnD,UAAO,OAAA,SAAA;AAAA,QACT,KAAK,KAAA;AAAA,QACL,KAAK,MAAA;AAAA,QACL,KAAK,MAAA;AAAA,QACL,KAAK,eAAA;AAAA,QACL,KAAK,UAAA;AAAA,QACL,KAAK,cAAA;AACH,UAAA,SAAA,CAAU,OAAQ,CAAA,EAAE,OAAS,EAAA,cAAA,CAAe,KAAK,CAAA;AACjD,UAAO,OAAA,SAAA;AAMP;AACJ;AAGF,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAA,SAAA,CAAU,OAAQ,CAAA;AAAA,QAChB,SAAS,cAAe,CAAA,OAAA;AAAA,QACxB,MAAM,MAAO,CAAA;AAAA,OACd,CAAA;AAED,MAAO,OAAA,SAAA;AAAA;AAIT,IAAA,IAAI,OAAW,IAAA,MAAA,IAAU,MAAO,CAAA,IAAA,KAAU,OAAsB,EAAA;AAC9D,MAAA,MAAMD,OAAM,MAAO,CAAA,OAAA,IAAW,MAAO,CAAA,SAAA,IAAa,OAAO,QAAY,IAAA,SAAA;AACrE,MAAA,MAAMC,OAAM,MAAO,CAAA,OAAA,IAAW,MAAO,CAAA,SAAA,IAAa,OAAO,QAAY,IAAA,SAAA;AACrE,MAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,KAAM,CAAA,EAAE,MAAQ,EAAA,OAAA,IAAW,MAAU,GAAA,MAAA,CAAO,KAAyB,GAAA,EAAI,EAAA,IAAA,EAAM,YAAY,CAAA;AAC9G,MAAM,MAAA,MAAA,GAAS,CAAC,CAAC,MAAO,CAAA,WAAA;AAExB,MAAO,OAAA;AAAA,QACL;AAAA,UACE,SAAS,cAAe,CAAA,KAAA;AAAA,UACxB,IAAM,EAAA;AAAA,YACJ,KAAA;AAAA,YACA,GAAAD,EAAAA,IAAAA;AAAA,YACA,GAAAC,EAAAA,IAAAA;AAAA,YACA;AAAA;AACF,SACF;AAAA,QACA,GAAG,SAAA,CAAU,MAAO,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,OAAY,KAAA,cAAA,CAAe,GAAO,IAAA,IAAA,CAAK,OAAY,KAAA,cAAA,CAAe,GAAG;AAAA,OAC1G;AAAA;AAGF,IAAI,IAAA,MAAA,CAAO,UAAc,IAAA,MAAA,CAAO,oBAAsB,EAAA;AACpD,MAAO,OAAA,CAAC,GAAG,IAAA,CAAK,gBAAiB,CAAA,EAAE,QAAQ,IAAK,EAAC,CAAG,EAAA,GAAG,SAAS,CAAA;AAAA;AAGlE,IAAA,IAAI,OAAO,IAAM,EAAA;AACf,MAAA,IAAI,KAAM,CAAA,OAAA,CAAQ,MAAO,CAAA,IAAI,CAAG,EAAA;AAE9B,QAAM,MAAA,CAAC,IAAI,CAAA,GAAI,MAAO,CAAA,IAAA;AAEtB,QAAO,OAAA;AAAA,UACL,GAAG,KAAK,KAAM,CAAA;AAAA,YACZ,MAAQ,EAAA;AAAA,cACN,GAAG,MAAA;AAAA,cACH;AAAA,aACF;AAAA,YACA,IAAA;AAAA,YACA;AAAA,WACD,CAAA;AAAA,UACD,GAAG;AAAA,SACL,CAAE,OAAO,OAAO,CAAA;AAAA;AAGlB,MAAA,IAAI,CAAC,CAAC,SAAW,EAAA,QAAA,EAAU,QAAU,EAAA,QAAA,EAAU,SAAW,EAAA,MAAM,CAAE,CAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAG,EAAA;AACvF,QAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,CAAc,MAAO,CAAA,IAAA,CAAK,SAAW,EAAA,CAAA,aAAA,EAAgB,MAAO,CAAA,IAAI,CAA6B,0BAAA,EAAA,UAAU,CAAI,CAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA;AAIhI,MAAA,OAAO,CAAC,EAAE,OAAA,EAAS,OAAO,IAAK,EAAA,EAAG,GAAG,SAAS,CAAA;AAAA;AAGhD,IAAA,OAAO,CAAC,EAAE,OAAS,EAAA,aAAA,EAAe,CAAA;AAAA;AACpC,EAEA,MAAM,SAAS,UAAwF,EAAA;AACrG,IAAA,MAAM,EAAE,GAAA,EAAK,WAAa,EAAA,OAAA,KAAY,IAAK,CAAA,OAAA;AAE3C,IAAA,GAAA,CAAI,qBAAsB,EAAA;AAE1B,IAAA,MAAM,UAAU,UAAW,CAAA,EAAE,KAAK,WAAa,EAAA,QAAA,EAAU,SAAS,CAAA;AAElE,IAAM,MAAA,QAAA,GAAW,MAAO,CAAA,OAAA,CAAQ,OAAO,CAAA,CAAE,MAAO,CAAA,CAAC,GAAK,EAAA,CAAC,IAAM,EAAA,KAAK,CAAM,KAAA;AACtE,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAO,OAAA,GAAA;AAAA;AAGT,MAAA,MAAM,OAAU,GAAA,IAAA,CAAK,WAAY,CAAA,EAAE,MAAM,CAAA;AACzC,MAAA,MAAM,mBAAmB,IAAK,CAAA,MAAA,CAAO,IAAK,CAAA,IAAA,EAAM,MAAM,KAAO,EAAA;AAAA,QAC3D,GAAG,IAAK,CAAA,OAAA;AAAA,QACR,GAAG;AAAA,OACJ,CAAA;AAED,MAAA,IAAI,gBAAkB,EAAA;AACpB,QAAA,GAAA,CAAI,KAAK,gBAAgB,CAAA;AAAA;AAG3B,MAAY,UAAA,EAAA,OAAA,CAAQ,CAAC,SAAc,KAAA;AACjC,QAAA,MAAM,OAAO,IAAK,CAAA,KAAA,CAAM,EAAE,MAAQ,EAAA,KAAA,EAAO,MAAY,CAAA;AAErD,QAAM,MAAA,OAAA,GAAU,UAAU,MAAS,GAAA;AAAA,UACjC,QAAU,EAAA,IAAA;AAAA,UACV,MAAQ,EAAA;AAAA,YACN,IAAA;AAAA,YACA,KAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,OAAS,EAAA;AAAA,YACP,GAAG,IAAK,CAAA,OAAA;AAAA,YACR,GAAG;AAAA;AACL,SACM,CAAA;AAER,QAAA,IAAI,OAAS,EAAA;AACX,UAAA,GAAA,CAAI,KAAK,OAAO,CAAA;AAAA;AAClB,OACD,CAAA;AAED,MAAO,OAAA,GAAA;AAAA,KACT,EAAG,EAAqC,CAAA;AAExC,IAAA,MAAM,KAAQ,GAAA,MAAM,OAAQ,CAAA,GAAA,CAAI,QAAQ,CAAA;AAGxC,IAAA,OAAO,KAAM,CAAA,IAAA,EAAO,CAAA,MAAA,CAAO,OAAO,CAAA;AAAA;AACpC;AAAA;AAAA;AAAA,EAKA,MAAM,MAAA,CAAO,KAAe,EAAA,OAAA,EAAuB,QAAmD,EAAA;AACpG,IAAA,OAAO,EAAC;AAAA;AAEZ","file":"chunk-M7Q45QED.js","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; unique?: boolean }\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: {\n name: string\n /**\n * Full qualified path.\n */\n path: KubbFile.OptionalPath\n /**\n * When true `File.Import` will be used.\n * When false a reference will be used inside the current file.\n */\n isImportable: boolean\n }\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 type SchemaTree = {\n parent: Schema | undefined\n current: Schema\n siblings: Schema[]\n}\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 { BaseGenerator, type FileMetaBase } 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 { Generator } from './generator.tsx'\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 class SchemaGenerator<\n TOptions extends SchemaGeneratorOptions = SchemaGeneratorOptions,\n TPluginOptions extends PluginFactoryOptions = PluginFactoryOptions,\n TFileMeta extends FileMetaBase = FileMetaBase,\n> extends BaseGenerator<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 || !Object.keys(additionalProperties).length\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, isImportable: !!this.context.oas.get($ref) },\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, isImportable: !!this.context.oas.get($ref) },\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 const defaultNullAndNullable = schema.default === null && nullable\n\n if (schema.default !== undefined && !defaultNullAndNullable && !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.deprecated) {\n baseItems.push({\n keyword: schemaKeywords.deprecated,\n })\n }\n\n if (schema.description) {\n baseItems.push({\n keyword: schemaKeywords.describe,\n args: schema.description,\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 const propertySchemas = this.parse({ schema: schemaWithoutOneOf, name, parentName })\n\n union.args = [\n ...union.args.map((arg) => {\n return {\n keyword: schemaKeywords.and,\n args: [arg, ...propertySchemas],\n }\n }),\n ]\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.required) {\n // TODO use of Required ts helper instead\n const schemas = schema.allOf\n .map((item) => {\n if (isReference(item)) {\n return this.context.oas.get(item.$ref) as SchemaObject\n }\n })\n .filter(Boolean)\n\n const items = schemaWithoutAllOf.required\n .filter((key) => {\n // filter out keys that are already part of the properties(reduce duplicated keys(https://github.com/kubb-labs/kubb/issues/1492)\n if (schemaWithoutAllOf.properties) {\n return !Object.keys(schemaWithoutAllOf.properties).includes(key)\n }\n\n // schema should include required fields when necessary https://github.com/kubb-labs/kubb/issues/1522\n return true\n })\n .map((key) => {\n const schema = schemas.find((item) => item.properties && Object.keys(item.properties).find((propertyKey) => propertyKey === key))\n\n if (schema?.properties?.[key]) {\n return {\n ...schema,\n properties: {\n [key]: schema.properties[key],\n },\n required: [key],\n }\n }\n })\n .filter(Boolean)\n\n and.args = [...(and.args || []), ...items.flatMap((item) => this.parse({ schema: item as SchemaObject, name, parentName }))]\n }\n\n if (schemaWithoutAllOf.properties) {\n and.args = [...(and.args || []), ...this.parse({ schema: schemaWithoutAllOf, name, parentName })]\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 return baseItems\n case 'email':\n case 'idn-email':\n baseItems.unshift({ keyword: schemaKeywords.email })\n return baseItems\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 return baseItems\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 if (schema.pattern) {\n baseItems.unshift({\n keyword: schemaKeywords.matches,\n args: schema.pattern,\n })\n\n return baseItems\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 const unique = !!schema.uniqueItems\n\n return [\n {\n keyword: schemaKeywords.array,\n args: {\n items,\n min,\n max,\n unique,\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(...generators: Array<Generator<TPluginOptions>>): Promise<Array<KubbFile.File<TFileMeta>>> {\n const { oas, contentType, include } = this.context\n\n oas.resolveDiscriminators()\n\n const schemas = getSchemas({ oas, contentType, includes: include })\n\n const promises = Object.entries(schemas).reduce((acc, [name, value]) => {\n if (!value) {\n return acc\n }\n\n const options = this.#getOptions({ name })\n const promiseOperation = this.schema.call(this, name, value, {\n ...this.options,\n ...options,\n })\n\n if (promiseOperation) {\n acc.push(promiseOperation)\n }\n\n generators?.forEach((generator) => {\n const tree = this.parse({ schema: value, name: name })\n\n const promise = generator.schema?.({\n instance: this,\n schema: {\n name,\n value,\n tree,\n },\n options: {\n ...this.options,\n ...options,\n },\n } as any) as Promise<Array<KubbFile.File<TFileMeta>>>\n\n if (promise) {\n acc.push(promise)\n }\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 an array of files or just one file\n return files.flat().filter(Boolean)\n }\n\n /**\n * Schema\n */\n async schema(_name: string, _object: SchemaObject, _options: TOptions): SchemaMethodResult<TFileMeta> {\n return []\n }\n}\n"]}
@@ -34,7 +34,7 @@ function getASTParams(operationSchema, {
34
34
  name,
35
35
  enabled: !!name,
36
36
  required: isParam ? schema.required : true,
37
- type: typed ? `${operationSchema.name}["${name}"]` : void 0
37
+ type: typed ? `${operationSchema.name}["${name}"]` : undefined
38
38
  };
39
39
  return override ? override(data) : data;
40
40
  });
@@ -76,7 +76,7 @@ function parseFromConfig(config, oasClass = oas.Oas) {
76
76
  }
77
77
  function getBanner({ output, oas }) {
78
78
  if (!output.banner) {
79
- return void 0;
79
+ return undefined;
80
80
  }
81
81
  if (remeda.isFunction(output.banner)) {
82
82
  return output.banner(oas);
@@ -85,7 +85,7 @@ function getBanner({ output, oas }) {
85
85
  }
86
86
  function getFooter({ output, oas }) {
87
87
  if (!output.footer) {
88
- return void 0;
88
+ return undefined;
89
89
  }
90
90
  if (remeda.isFunction(output.footer)) {
91
91
  return output.footer(oas);
@@ -103,5 +103,5 @@ exports.getComments = getComments;
103
103
  exports.getFooter = getFooter;
104
104
  exports.getPathParams = getPathParams;
105
105
  exports.parseFromConfig = parseFromConfig;
106
- //# sourceMappingURL=chunk-XXKSJDBY.cjs.map
107
- //# sourceMappingURL=chunk-XXKSJDBY.cjs.map
106
+ //# sourceMappingURL=chunk-TKFFW62C.cjs.map
107
+ //# sourceMappingURL=chunk-TKFFW62C.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/getComments.ts","../src/utils/getParams.ts","../src/utils/parseFromConfig.ts","../src/utils/getBanner.ts","../src/utils/getFooter.ts"],"names":["URLPath","transformers","isParameterObject","isValidVarName","camelCase","Oas","api","parse","yaml","resolve","isFunction"],"mappings":"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","file":"chunk-TKFFW62C.cjs","sourcesContent":["import transformers from '@kubb/core/transformers'\nimport { URLPath } from '@kubb/core/utils'\n\nimport type { Operation } from '@kubb/oas'\n\nexport function getComments(operation: Operation): string[] {\n return [\n operation.getDescription() && `@description ${operation.getDescription()}`,\n operation.getSummary() && `@summary ${operation.getSummary()}`,\n operation.path && `{@link ${new URLPath(operation.path).URL}}`,\n operation.isDeprecated() && '@deprecated',\n ]\n .filter(Boolean)\n .map((text) => transformers.trim(text))\n}\n","import { isParameterObject } from '@kubb/oas'\n\nimport { camelCase, isValidVarName } from '@kubb/core/transformers'\nimport type { FunctionParamsAST } from '@kubb/core/utils'\nimport type { OasTypes } from '@kubb/oas'\nimport type { Params } from '@kubb/react/types'\nimport type { OperationSchema } from '../types.ts'\n/**\n *\n * @deprecated\n * TODO move to operationManager hook\n */\nexport function getASTParams(\n operationSchema: OperationSchema | undefined,\n {\n typed = false,\n override,\n }: {\n typed?: boolean\n override?: (data: FunctionParamsAST) => FunctionParamsAST\n } = {},\n): FunctionParamsAST[] {\n if (!operationSchema || !operationSchema.schema.properties || !operationSchema.name) {\n return []\n }\n\n return Object.entries(operationSchema.schema.properties).map(([name, schema]: [string, OasTypes.SchemaObject]) => {\n const isParam = isParameterObject(schema)\n const data: FunctionParamsAST = {\n name,\n enabled: !!name,\n required: isParam ? schema.required : true,\n type: typed ? `${operationSchema.name}[\"${name}\"]` : undefined,\n }\n\n return override ? override(data) : data\n })\n}\n\nexport function getPathParams(\n operationSchema: OperationSchema | undefined,\n options: {\n typed?: boolean\n casing?: 'camelcase'\n override?: (data: FunctionParamsAST) => FunctionParamsAST\n } = {},\n) {\n return getASTParams(operationSchema, options).reduce((acc, curr) => {\n if (curr.name && curr.enabled) {\n let name = isValidVarName(curr.name) ? curr.name : camelCase(curr.name)\n\n if (options.casing === 'camelcase') {\n name = camelCase(name)\n }\n\n acc[name] = {\n default: curr.default,\n type: curr.type,\n optional: !curr.required,\n }\n }\n\n return acc\n }, {} as Params)\n}\n","import { resolve } from 'node:path'\n\nimport { URLPath } from '@kubb/core/utils'\n\nimport { parse } from '@kubb/oas'\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","import type { Output } from '@kubb/core'\nimport type { Oas } from '@kubb/oas'\nimport { isFunction } from 'remeda'\n\ntype Props = {\n oas: Oas\n output: Output<Oas>\n}\n\nexport function getBanner({ output, oas }: Props) {\n if (!output.banner) {\n return undefined\n }\n\n if (isFunction(output.banner)) {\n return output.banner(oas)\n }\n\n return output.banner\n}\n","import type { Output } from '@kubb/core'\nimport type { Oas } from '@kubb/oas'\nimport { isFunction } from 'remeda'\n\ntype Props = {\n oas: Oas\n output: Output<Oas>\n}\n\nexport function getFooter({ output, oas }: Props) {\n if (!output.footer) {\n return undefined\n }\n\n if (isFunction(output.footer)) {\n return output.footer(oas)\n }\n\n return output.footer\n}\n"]}
@@ -1,8 +1,8 @@
1
- import { S as Schema } from './Schema-DXifFLPy.cjs';
1
+ import { S as Schema } from './Schema-0TEphQBX.cjs';
2
2
  import * as react from 'react';
3
3
  import { Operation as Operation$1, Oas as Oas$1 } from '@kubb/oas';
4
4
  import { KubbNode } from '@kubb/react/types';
5
- import { b as OperationGenerator } from './OperationGenerator-ID776sgX.cjs';
5
+ import { b as OperationGenerator } from './OperationGenerator-C_n_FNWe.cjs';
6
6
  import '@kubb/core';
7
7
  import '@kubb/fs/types';
8
8
 
@@ -1,8 +1,8 @@
1
- import { S as Schema } from './Schema-BhKPR3fk.js';
1
+ import { S as Schema } from './Schema-CisxeooY.js';
2
2
  import * as react from 'react';
3
3
  import { Operation as Operation$1, Oas as Oas$1 } from '@kubb/oas';
4
4
  import { KubbNode } from '@kubb/react/types';
5
- import { b as OperationGenerator } from './OperationGenerator-ID776sgX.js';
5
+ import { b as OperationGenerator } from './OperationGenerator-C_n_FNWe.js';
6
6
  import '@kubb/core';
7
7
  import '@kubb/fs/types';
8
8
 
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkW5N2APGH_cjs = require('./chunk-W5N2APGH.cjs');
4
- require('./chunk-XXKSJDBY.cjs');
3
+ var chunkFNXIO7AH_cjs = require('./chunk-FNXIO7AH.cjs');
4
+ require('./chunk-TKFFW62C.cjs');
5
5
  require('./chunk-PADR76WZ.cjs');
6
- require('./chunk-QAFBZLJA.cjs');
6
+ require('./chunk-B7KP5ZFA.cjs');
7
7
  require('./chunk-KXB5DUFD.cjs');
8
8
 
9
9
 
10
10
 
11
11
  Object.defineProperty(exports, "jsonGenerator", {
12
12
  enumerable: true,
13
- get: function () { return chunkW5N2APGH_cjs.jsonGenerator; }
13
+ get: function () { return chunkFNXIO7AH_cjs.jsonGenerator; }
14
14
  });
15
15
  //# sourceMappingURL=generators.cjs.map
16
16
  //# sourceMappingURL=generators.cjs.map
@@ -1,4 +1,4 @@
1
- import { o as Generator, P as PluginOas } from './OperationGenerator-ID776sgX.cjs';
1
+ import { o as Generator, P as PluginOas } from './OperationGenerator-C_n_FNWe.cjs';
2
2
  import '@kubb/core';
3
3
  import '@kubb/fs/types';
4
4
  import '@kubb/oas';
@@ -1,4 +1,4 @@
1
- import { o as Generator, P as PluginOas } from './OperationGenerator-ID776sgX.js';
1
+ import { o as Generator, P as PluginOas } from './OperationGenerator-C_n_FNWe.js';
2
2
  import '@kubb/core';
3
3
  import '@kubb/fs/types';
4
4
  import '@kubb/oas';
@@ -1,7 +1,7 @@
1
- export { jsonGenerator } from './chunk-Y2G53DHK.js';
2
- import './chunk-6BM3CVIN.js';
1
+ export { jsonGenerator } from './chunk-EMSV6TX2.js';
2
+ import './chunk-3DX5ALTN.js';
3
3
  import './chunk-R47XMJ32.js';
4
- import './chunk-XNCEFOE6.js';
4
+ import './chunk-3Y4QGY6D.js';
5
5
  import './chunk-BAU7PO7T.js';
6
6
  //# sourceMappingURL=generators.js.map
7
7
  //# sourceMappingURL=generators.js.map
package/dist/hooks.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk4QYJW6ME_cjs = require('./chunk-4QYJW6ME.cjs');
4
- require('./chunk-QAFBZLJA.cjs');
3
+ var chunkI2J55EM2_cjs = require('./chunk-I2J55EM2.cjs');
4
+ require('./chunk-B7KP5ZFA.cjs');
5
5
  var chunkKXB5DUFD_cjs = require('./chunk-KXB5DUFD.cjs');
6
6
  var react = require('@kubb/react');
7
7
 
@@ -104,23 +104,23 @@ function useOperationManager() {
104
104
  name: schemas.request.name,
105
105
  pluginKey,
106
106
  type
107
- }) : void 0,
107
+ }) : undefined,
108
108
  parameters: {
109
109
  path: schemas.pathParams?.name ? pluginManager.resolveName({
110
110
  name: schemas.pathParams.name,
111
111
  pluginKey,
112
112
  type
113
- }) : void 0,
113
+ }) : undefined,
114
114
  query: schemas.queryParams?.name ? pluginManager.resolveName({
115
115
  name: schemas.queryParams.name,
116
116
  pluginKey,
117
117
  type
118
- }) : void 0,
118
+ }) : undefined,
119
119
  header: schemas.headerParams?.name ? pluginManager.resolveName({
120
120
  name: schemas.headerParams.name,
121
121
  pluginKey,
122
122
  type
123
- }) : void 0
123
+ }) : undefined
124
124
  },
125
125
  responses: {
126
126
  ...responses,
@@ -187,10 +187,10 @@ function useSchemaManager() {
187
187
  };
188
188
  };
189
189
  const getImports = (tree) => {
190
- const refs = chunk4QYJW6ME_cjs.SchemaGenerator.deepSearch(tree, chunk4QYJW6ME_cjs.schemaKeywords.ref);
191
- return refs?.map((item, i) => {
190
+ const refs = chunkI2J55EM2_cjs.SchemaGenerator.deepSearch(tree, chunkI2J55EM2_cjs.schemaKeywords.ref);
191
+ return refs?.map((item) => {
192
192
  if (!item.args.path || !item.args.isImportable) {
193
- return void 0;
193
+ return undefined;
194
194
  }
195
195
  return {
196
196
  name: [item.args.name],