@kubb/plugin-oas 3.0.0-alpha.2 → 3.0.0-alpha.20

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 (101) hide show
  1. package/README.md +13 -4
  2. package/dist/OperationGenerator-CHXolL0o.d.cts +553 -0
  3. package/dist/OperationGenerator-CHXolL0o.d.ts +553 -0
  4. package/dist/Schema-Ch0dHkM5.d.ts +22 -0
  5. package/dist/Schema-ClNodlyP.d.cts +22 -0
  6. package/dist/chunk-6UWOTOZJ.cjs +92 -0
  7. package/dist/chunk-6UWOTOZJ.cjs.map +1 -0
  8. package/dist/chunk-DFQJ57GH.js +45 -0
  9. package/dist/chunk-DFQJ57GH.js.map +1 -0
  10. package/dist/chunk-GF26SDHQ.js +28 -0
  11. package/dist/chunk-GF26SDHQ.js.map +1 -0
  12. package/dist/chunk-HP5WAFBU.cjs +48 -0
  13. package/dist/chunk-HP5WAFBU.cjs.map +1 -0
  14. package/dist/chunk-OO5R4UIK.cjs +708 -0
  15. package/dist/chunk-OO5R4UIK.cjs.map +1 -0
  16. package/dist/chunk-PADR76WZ.cjs +4 -0
  17. package/dist/chunk-PADR76WZ.cjs.map +1 -0
  18. package/dist/chunk-R47XMJ32.js +3 -0
  19. package/dist/chunk-R47XMJ32.js.map +1 -0
  20. package/dist/{chunk-Y4V7HHX7.js → chunk-THGCWF2O.js} +8 -13
  21. package/dist/{chunk-Y4V7HHX7.js.map → chunk-THGCWF2O.js.map} +1 -1
  22. package/dist/chunk-TRA5BTWI.js +88 -0
  23. package/dist/chunk-TRA5BTWI.js.map +1 -0
  24. package/dist/chunk-UO57DZPV.cjs +36 -0
  25. package/dist/chunk-UO57DZPV.cjs.map +1 -0
  26. package/dist/chunk-V4LP5BFJ.js +700 -0
  27. package/dist/chunk-V4LP5BFJ.js.map +1 -0
  28. package/dist/chunk-ZWHQ54JM.cjs +32 -0
  29. package/dist/chunk-ZWHQ54JM.cjs.map +1 -0
  30. package/dist/components.cjs +20 -17
  31. package/dist/components.cjs.map +1 -1
  32. package/dist/components.d.cts +12 -8
  33. package/dist/components.d.ts +12 -8
  34. package/dist/components.js +3 -17
  35. package/dist/components.js.map +1 -1
  36. package/dist/generators.cjs +14 -0
  37. package/dist/generators.cjs.map +1 -0
  38. package/dist/generators.d.cts +10 -0
  39. package/dist/generators.d.ts +10 -0
  40. package/dist/generators.js +5 -0
  41. package/dist/generators.js.map +1 -0
  42. package/dist/hooks.cjs +101 -57
  43. package/dist/hooks.cjs.map +1 -1
  44. package/dist/hooks.d.cts +40 -8
  45. package/dist/hooks.d.ts +40 -8
  46. package/dist/hooks.js +90 -53
  47. package/dist/hooks.js.map +1 -1
  48. package/dist/index.cjs +283 -261
  49. package/dist/index.cjs.map +1 -1
  50. package/dist/index.d.cts +6 -77
  51. package/dist/index.d.ts +6 -77
  52. package/dist/index.js +235 -240
  53. package/dist/index.js.map +1 -1
  54. package/dist/utils.cjs +32 -87
  55. package/dist/utils.cjs.map +1 -1
  56. package/dist/utils.d.cts +7 -41
  57. package/dist/utils.d.ts +7 -41
  58. package/dist/utils.js +8 -86
  59. package/dist/utils.js.map +1 -1
  60. package/package.json +19 -13
  61. package/src/OperationGenerator.ts +75 -43
  62. package/src/SchemaGenerator.ts +44 -18
  63. package/src/SchemaMapper.ts +1 -1
  64. package/src/components/Oas.tsx +9 -3
  65. package/src/components/Operation.tsx +1 -1
  66. package/src/components/Schema.tsx +2 -102
  67. package/src/generator.tsx +133 -0
  68. package/src/generators/index.ts +1 -0
  69. package/src/generators/jsonGenerator.ts +32 -0
  70. package/src/hooks/index.ts +2 -0
  71. package/src/hooks/useOperationManager.ts +76 -28
  72. package/src/hooks/useSchemaManager.ts +77 -0
  73. package/src/index.ts +3 -9
  74. package/src/plugin.ts +64 -47
  75. package/src/types.ts +23 -12
  76. package/src/utils/getParams.ts +2 -2
  77. package/src/utils/index.ts +2 -2
  78. package/dist/OperationGenerator-CeM_9pxW.d.cts +0 -60
  79. package/dist/OperationGenerator-DhUhvRJE.d.ts +0 -60
  80. package/dist/Schema-DefwBJMc.d.ts +0 -35
  81. package/dist/Schema-an5hOrjZ.d.cts +0 -35
  82. package/dist/SchemaMapper-CsBQ6eEx.d.cts +0 -248
  83. package/dist/SchemaMapper-CsBQ6eEx.d.ts +0 -248
  84. package/dist/chunk-CJXRFYEF.cjs +0 -698
  85. package/dist/chunk-CJXRFYEF.cjs.map +0 -1
  86. package/dist/chunk-DRLYORTT.cjs +0 -3265
  87. package/dist/chunk-DRLYORTT.cjs.map +0 -1
  88. package/dist/chunk-K6KUETAI.js +0 -698
  89. package/dist/chunk-K6KUETAI.js.map +0 -1
  90. package/dist/chunk-LEACSHKT.js +0 -3265
  91. package/dist/chunk-LEACSHKT.js.map +0 -1
  92. package/dist/chunk-P42X362U.cjs +0 -101
  93. package/dist/chunk-P42X362U.cjs.map +0 -1
  94. package/dist/chunk-QLJIL3U5.cjs +0 -35
  95. package/dist/chunk-QLJIL3U5.cjs.map +0 -1
  96. package/dist/chunk-UB552H4J.js +0 -101
  97. package/dist/chunk-UB552H4J.js.map +0 -1
  98. package/dist/types-Dte3MA6H.d.cts +0 -143
  99. package/dist/types-Dte3MA6H.d.ts +0 -143
  100. package/src/utils/getGroupedByTagFiles.ts +0 -82
  101. package/src/utils/refSorter.ts +0 -13
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/SchemaMapper.ts","../src/SchemaGenerator.ts"],"names":["_schema","nullable","name","min","max"],"mappings":"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","file":"chunk-V4LP5BFJ.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 uuid: { keyword: 'uuid' }\n email: { keyword: 'email' }\n firstName: { keyword: 'firstName' }\n lastName: { keyword: 'lastName' }\n phone: { keyword: 'phone' }\n password: { keyword: 'password' }\n date: { keyword: 'date'; args: { type?: 'date' | 'string' } }\n time: { keyword: 'time'; args: { type?: 'date' | 'string' } }\n datetime: { keyword: 'datetime'; args: { offset?: boolean; local?: boolean } }\n tuple: { keyword: 'tuple'; args: { items: Schema[]; min?: number; max?: number } }\n array: {\n keyword: 'array'\n args: { items: Schema[]; min?: number; max?: number }\n }\n enum: {\n keyword: 'enum'\n args: {\n name: string\n typeName: string\n asConst: boolean\n items: Array<{\n name: string | number\n format: 'string' | 'number'\n value?: string | number\n }>\n }\n }\n and: { keyword: 'and'; args: Schema[] }\n const: {\n keyword: 'const'\n args: {\n name: string | number\n format: 'string' | 'number'\n value?: string | number\n }\n }\n union: { keyword: 'union'; args: Schema[] }\n ref: {\n keyword: 'ref'\n args: { name: string; path: KubbFile.OptionalPath }\n }\n matches: { keyword: 'matches'; args?: string }\n boolean: { keyword: 'boolean' }\n default: { keyword: 'default'; args: string | number | boolean }\n string: { keyword: 'string' }\n integer: { keyword: 'integer' }\n number: { keyword: 'number' }\n max: { keyword: 'max'; args: number }\n min: { keyword: 'min'; args: number }\n describe: { keyword: 'describe'; args: string }\n example: { keyword: 'example'; args: string }\n deprecated: { keyword: 'deprecated' }\n optional: { keyword: 'optional' }\n undefined: { keyword: 'undefined' }\n nullish: { keyword: 'nullish' }\n nullable: { keyword: 'nullable' }\n null: { keyword: 'null' }\n any: { keyword: 'any' }\n unknown: { keyword: 'unknown' }\n blob: { keyword: 'blob' }\n schema: { keyword: 'schema'; args: { type: 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object'; format?: string } }\n name: { keyword: 'name'; args: string }\n catchall: { keyword: 'catchall' }\n}\n\nexport const schemaKeywords = {\n any: 'any',\n strict: 'strict',\n unknown: 'unknown',\n number: 'number',\n integer: 'integer',\n string: 'string',\n boolean: 'boolean',\n undefined: 'undefined',\n nullable: 'nullable',\n null: 'null',\n nullish: 'nullish',\n array: 'array',\n tuple: 'tuple',\n enum: 'enum',\n union: 'union',\n datetime: 'datetime',\n date: 'date',\n email: 'email',\n uuid: 'uuid',\n url: 'url',\n /* intersection */\n default: 'default',\n const: 'const',\n and: 'and',\n describe: 'describe',\n min: 'min',\n max: 'max',\n optional: 'optional',\n readOnly: 'readOnly',\n\n // custom ones\n object: 'object',\n ref: 'ref',\n matches: 'matches',\n firstName: 'firstName',\n lastName: 'lastName',\n password: 'password',\n phone: 'phone',\n blob: 'blob',\n deprecated: 'deprecated',\n example: 'example',\n schema: 'schema',\n catchall: 'catchall',\n time: 'time',\n name: 'name',\n} satisfies {\n [K in keyof SchemaKeywordMapper]: SchemaKeywordMapper[K]['keyword']\n}\n\nexport type SchemaKeyword = keyof SchemaKeywordMapper\n\nexport type SchemaMapper<T = string | null | undefined> = {\n [K in keyof SchemaKeywordMapper]: (() => T | undefined) | undefined\n}\n\nexport type SchemaKeywordBase<T> = {\n keyword: SchemaKeyword\n args: T\n}\n\nexport type Schema = { keyword: string } | SchemaKeywordMapper[keyof SchemaKeywordMapper]\n\nexport function isKeyword<T extends Schema, K extends keyof SchemaKeywordMapper>(meta: T, keyword: K): meta is Extract<T, SchemaKeywordMapper[K]> {\n return meta.keyword === keyword\n}\n","import { 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\n ? [{ keyword: this.#getUnknownReturn({ schema, name }) }]\n : this.parse({ schema: additionalProperties as SchemaObject, parentName: name })\n }\n\n return [\n {\n keyword: schemaKeywords.object,\n args: {\n properties: propertiesSchemas,\n additionalProperties: additionalPropertiesSchemas,\n },\n },\n ]\n }\n\n /**\n * Create a type alias for the schema referenced by the given ReferenceObject\n */\n #getRefAlias(obj: OpenAPIV3.ReferenceObject): Schema[] {\n const { $ref } = obj\n let ref = this.refs[$ref]\n\n const originalName = getUniqueName($ref.replace(/.+\\//, ''), this.#usedAliasNames)\n const propertyName = this.context.pluginManager.resolveName({\n name: originalName,\n pluginKey: this.context.plugin.key,\n type: 'function',\n })\n\n if (ref) {\n return [\n {\n keyword: schemaKeywords.ref,\n args: { name: ref.propertyName, path: ref.path },\n },\n ]\n }\n\n const fileName = this.context.pluginManager.resolveName({\n name: originalName,\n pluginKey: this.context.plugin.key,\n type: 'file',\n })\n const file = this.context.pluginManager.getFile({\n name: fileName,\n pluginKey: this.context.plugin.key,\n extName: '.ts',\n })\n\n ref = this.refs[$ref] = {\n propertyName,\n originalName,\n path: file.path,\n }\n\n return [\n {\n keyword: schemaKeywords.ref,\n args: { name: ref.propertyName, path: ref?.path },\n },\n ]\n }\n\n #getParsedSchemaObject(schema?: SchemaObject) {\n const parsedSchema = getSchemaFactory(this.context.oas)(schema)\n return parsedSchema\n }\n\n /**\n * This is the very core of the OpenAPI to TS conversion - it takes a\n * schema and returns the appropriate type.\n */\n #parseSchemaObject({ schema: _schema, name, parentName }: SchemaProps): Schema[] {\n const options = this.#getOptions({ schema: _schema, name })\n const unknownReturn = this.#getUnknownReturn({ schema: _schema, name })\n const { schema, version } = this.#getParsedSchemaObject(_schema)\n if (!schema) {\n return [{ keyword: unknownReturn }]\n }\n\n const baseItems: Schema[] = [\n {\n keyword: schemaKeywords.schema,\n args: {\n type: schema.type as any,\n format: schema.format,\n },\n },\n ]\n const min = schema.minimum ?? schema.minLength ?? schema.minItems ?? undefined\n const max = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? undefined\n const nullable = schema.nullable ?? schema['x-nullable'] ?? false\n\n if (schema.default !== undefined && !Array.isArray(schema.default)) {\n if (typeof schema.default === 'string') {\n baseItems.push({\n keyword: schemaKeywords.default,\n args: transformers.stringify(schema.default),\n })\n } else if (typeof schema.default === 'boolean') {\n baseItems.push({\n keyword: schemaKeywords.default,\n args: schema.default ?? false,\n })\n } else {\n baseItems.push({\n keyword: schemaKeywords.default,\n args: schema.default,\n })\n }\n }\n\n if (schema.description) {\n baseItems.push({\n keyword: schemaKeywords.describe,\n args: schema.description,\n })\n }\n\n if (schema.pattern) {\n baseItems.unshift({\n keyword: schemaKeywords.matches,\n args: schema.pattern,\n })\n }\n\n if (max !== undefined) {\n baseItems.unshift({ keyword: schemaKeywords.max, args: max })\n }\n\n if (min !== undefined) {\n baseItems.unshift({ keyword: schemaKeywords.min, args: min })\n }\n\n if (nullable) {\n baseItems.push({ keyword: schemaKeywords.nullable })\n }\n\n if (schema.type && Array.isArray(schema.type)) {\n const [_schema, nullable] = schema.type\n\n if (nullable === 'null') {\n baseItems.push({ keyword: schemaKeywords.nullable })\n }\n }\n\n if (schema.readOnly) {\n baseItems.push({ keyword: schemaKeywords.readOnly })\n }\n\n if (isReference(schema)) {\n return [\n ...this.#getRefAlias(schema),\n nullable && { keyword: schemaKeywords.nullable },\n {\n keyword: schemaKeywords.schema,\n args: {\n type: schema.type as any,\n format: schema.format,\n },\n },\n ].filter(Boolean)\n }\n\n if (schema.oneOf) {\n // union\n const schemaWithoutOneOf = { ...schema, oneOf: undefined }\n\n const union: Schema = {\n keyword: schemaKeywords.union,\n args: schema.oneOf\n .map((item) => {\n return item && this.parse({ schema: item as SchemaObject, name, parentName })[0]\n })\n .filter(Boolean)\n .filter((item) => {\n return item && item.keyword !== unknownReturn\n }),\n }\n if (schemaWithoutOneOf.properties) {\n return [...this.parse({ schema: schemaWithoutOneOf, name, parentName }), union, ...baseItems]\n }\n\n return [union, ...baseItems]\n }\n\n if (schema.anyOf) {\n // union\n const schemaWithoutAnyOf = { ...schema, anyOf: undefined }\n\n const union: Schema = {\n keyword: schemaKeywords.union,\n args: schema.anyOf\n .map((item) => {\n return item && this.parse({ schema: item as SchemaObject, name, parentName })[0]\n })\n .filter(Boolean)\n .filter((item) => {\n return item && item.keyword !== unknownReturn\n })\n .map((item) => {\n if (isKeyword(item, schemaKeywords.object)) {\n return {\n ...item,\n args: {\n ...item.args,\n strict: true,\n },\n }\n }\n return item\n }),\n }\n if (schemaWithoutAnyOf.properties) {\n return [...this.parse({ schema: schemaWithoutAnyOf, name, parentName }), union, ...baseItems]\n }\n\n return [union, ...baseItems]\n }\n if (schema.allOf) {\n // intersection/add\n const schemaWithoutAllOf = { ...schema, allOf: undefined }\n\n const and: Schema = {\n keyword: schemaKeywords.and,\n args: schema.allOf\n .map((item) => {\n return item && this.parse({ schema: item as SchemaObject, name, parentName })[0]\n })\n .filter(Boolean)\n .filter((item) => {\n return item && item.keyword !== unknownReturn\n }),\n }\n\n if (schemaWithoutAllOf.properties) {\n return [\n {\n ...and,\n args: [...(and.args || []), ...this.parse({ schema: schemaWithoutAllOf, name, parentName })],\n },\n ...baseItems,\n ]\n }\n\n return [and, ...baseItems]\n }\n\n if (schema.enum) {\n const enumName = getUniqueName(pascalCase([parentName, name, options.enumSuffix].join(' ')), this.#getUsedEnumNames({ schema, name }))\n const typeName = this.context.pluginManager.resolveName({\n name: enumName,\n pluginKey: this.context.plugin.key,\n type: 'type',\n })\n\n const nullableEnum = schema.enum.includes(null)\n if (nullableEnum) {\n baseItems.push({ keyword: schemaKeywords.nullable })\n }\n const filteredValues = schema.enum.filter((value) => value !== null)\n\n // x-enumNames has priority\n const extensionEnums = ['x-enumNames', 'x-enum-varnames']\n .filter((extensionKey) => extensionKey in schema)\n .map((extensionKey) => {\n return [\n {\n keyword: schemaKeywords.enum,\n args: {\n name,\n typeName,\n asConst: false,\n items: [...new Set(schema[extensionKey as keyof typeof schema] as string[])].map((name: string | number, index) => ({\n name: transformers.stringify(name),\n value: schema.enum?.[index] as string | number,\n format: isNumber(schema.enum?.[index]) ? 'number' : 'string',\n })),\n },\n },\n ...baseItems.filter(\n (item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max && item.keyword !== schemaKeywords.matches,\n ),\n ]\n })\n\n if (schema.type === 'number' || schema.type === 'integer') {\n // we cannot use z.enum when enum type is number/integer\n const enumNames = extensionEnums[0]?.find((item) => isKeyword(item, schemaKeywords.enum)) as unknown as SchemaKeywordMapper['enum']\n return [\n {\n keyword: schemaKeywords.enum,\n args: {\n name: enumName,\n typeName,\n asConst: true,\n items: enumNames?.args?.items\n ? [...new Set(enumNames.args.items)].map(({ name, value }) => ({\n name,\n value,\n format: 'number',\n }))\n : [...new Set(filteredValues)].map((value: string) => {\n return {\n name: value,\n value,\n format: 'number',\n }\n }),\n },\n },\n ...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max && item.keyword !== schemaKeywords.matches),\n ]\n }\n\n if (extensionEnums.length > 0 && extensionEnums[0]) {\n return extensionEnums[0]\n }\n\n return [\n {\n keyword: schemaKeywords.enum,\n args: {\n name: enumName,\n typeName,\n asConst: false,\n items: [...new Set(filteredValues)].map((value: string) => ({\n name: transformers.stringify(value),\n value,\n format: isNumber(value) ? 'number' : 'string',\n })),\n },\n },\n ...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max && item.keyword !== schemaKeywords.matches),\n ]\n }\n\n if ('prefixItems' in schema) {\n const prefixItems = schema.prefixItems as SchemaObject[]\n const min = schema.minimum ?? schema.minLength ?? schema.minItems ?? undefined\n const max = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? undefined\n\n return [\n {\n keyword: schemaKeywords.tuple,\n args: {\n min,\n max,\n items: prefixItems\n .map((item) => {\n return this.parse({ schema: item, name, parentName })[0]\n })\n .filter(Boolean),\n },\n },\n ...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max),\n ]\n }\n\n if (version === '3.1' && 'const' in schema) {\n // const keyword takes precendence over the actual type.\n if (schema['const']) {\n return [\n {\n keyword: schemaKeywords.const,\n args: {\n name: schema['const'],\n format: typeof schema['const'] === 'number' ? 'number' : 'string',\n value: schema['const'],\n },\n },\n ...baseItems,\n ]\n }\n return [{ keyword: schemaKeywords.null }]\n }\n\n /**\n * > Structural validation alone may be insufficient to allow an application to correctly utilize certain values. The \"format\"\n * > annotation keyword is defined to allow schema authors to convey semantic information for a fixed subset of values which are\n * > accurately described by authoritative resources, be they RFCs or other external specifications.\n *\n * In other words: format is more specific than type alone, hence it should override the type value, if possible.\n *\n * see also https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-validation-00#rfc.section.7\n */\n if (schema.format) {\n switch (schema.format) {\n case 'binary':\n baseItems.push({ keyword: schemaKeywords.blob })\n return baseItems\n case 'date-time':\n if (options.dateType) {\n if (options.dateType === 'date') {\n baseItems.unshift({ keyword: schemaKeywords.date, args: { type: 'date' } })\n\n return baseItems\n }\n\n if (options.dateType === 'stringOffset') {\n baseItems.unshift({ keyword: schemaKeywords.datetime, args: { offset: true } })\n return baseItems\n }\n\n if (options.dateType === 'stringLocal') {\n baseItems.unshift({ keyword: schemaKeywords.datetime, args: { local: true } })\n return baseItems\n }\n\n baseItems.unshift({ keyword: schemaKeywords.datetime, args: { offset: false } })\n\n return baseItems\n }\n break\n case 'date':\n if (options.dateType) {\n if (options.dateType === 'date') {\n baseItems.unshift({ keyword: schemaKeywords.date, args: { type: 'date' } })\n\n return baseItems\n }\n\n baseItems.unshift({ keyword: schemaKeywords.date, args: { type: 'string' } })\n\n return baseItems\n }\n break\n case 'time':\n if (options.dateType) {\n if (options.dateType === 'date') {\n baseItems.unshift({ keyword: schemaKeywords.time, args: { type: 'date' } })\n\n return baseItems\n }\n\n baseItems.unshift({ keyword: schemaKeywords.time, args: { type: 'string' } })\n\n return baseItems\n }\n break\n case 'uuid':\n baseItems.unshift({ keyword: schemaKeywords.uuid })\n break\n case 'email':\n case 'idn-email':\n baseItems.unshift({ keyword: schemaKeywords.email })\n break\n case 'uri':\n case 'ipv4':\n case 'ipv6':\n case 'uri-reference':\n case 'hostname':\n case 'idn-hostname':\n baseItems.unshift({ keyword: schemaKeywords.url })\n break\n // case 'duration':\n // case 'json-pointer':\n // case 'relative-json-pointer':\n default:\n // formats not yet implemented: ignore.\n break\n }\n }\n\n // type based logic\n if ('items' in schema || schema.type === ('array' as 'string')) {\n const min = schema.minimum ?? schema.minLength ?? schema.minItems ?? undefined\n const max = schema.maximum ?? schema.maxLength ?? schema.maxItems ?? undefined\n const items = this.parse({ schema: 'items' in schema ? (schema.items as SchemaObject) : [], name, parentName })\n\n return [\n {\n keyword: schemaKeywords.array,\n args: {\n items,\n min,\n max,\n },\n },\n ...baseItems.filter((item) => item.keyword !== schemaKeywords.min && item.keyword !== schemaKeywords.max),\n ]\n }\n\n if (schema.properties || schema.additionalProperties) {\n return [...this.#parseProperties({ schema, name }), ...baseItems]\n }\n\n if (schema.type) {\n if (Array.isArray(schema.type)) {\n // OPENAPI v3.1.0: https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0\n const [type] = schema.type as Array<OpenAPIV3.NonArraySchemaObjectType>\n\n return [\n ...this.parse({\n schema: {\n ...schema,\n type,\n },\n name,\n parentName,\n }),\n ...baseItems,\n ].filter(Boolean)\n }\n\n if (!['boolean', 'object', 'number', 'string', 'integer', 'null'].includes(schema.type)) {\n this.context.pluginManager.logger.emit('warning', `Schema type '${schema.type}' is not valid for schema ${parentName}.${name}`)\n }\n\n // 'string' | 'number' | 'integer' | 'boolean'\n return [{ keyword: schema.type }, ...baseItems]\n }\n\n return [{ keyword: unknownReturn }]\n }\n\n async build(...generators: Array<Generator<TPluginOptions>>): Promise<Array<KubbFile.File<TFileMeta>>> {\n const { oas, contentType, include } = this.context\n\n const schemas = getSchemas({ oas, contentType, includes: include })\n\n const promises = Object.entries(schemas).reduce((acc, [name, 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"]}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var react = require('@kubb/react');
4
+ var jsxRuntime = require('@kubb/react/jsx-runtime');
5
+
6
+ // src/components/Operation.tsx
7
+ var OperationContext = react.createContext({});
8
+ function Operation({ operation, children }) {
9
+ return /* @__PURE__ */ jsxRuntime.jsx(OperationContext.Provider, { value: { operation }, children });
10
+ }
11
+ Operation.Context = OperationContext;
12
+ var SchemaContext = react.createContext({
13
+ name: "unknown",
14
+ tree: []
15
+ });
16
+ function Schema({ name, value, tree = [], children }) {
17
+ return /* @__PURE__ */ jsxRuntime.jsx(SchemaContext.Provider, { value: { name, schema: value, tree }, children });
18
+ }
19
+ Schema.Context = SchemaContext;
20
+ var OasContext = react.createContext({});
21
+ function Oas({ oas, children, operations, generator }) {
22
+ return /* @__PURE__ */ jsxRuntime.jsx(OasContext.Provider, { value: { oas, generator, operations }, children });
23
+ }
24
+ Oas.Context = OasContext;
25
+ Oas.Operation = Operation;
26
+ Oas.Schema = Schema;
27
+
28
+ exports.Oas = Oas;
29
+ exports.Operation = Operation;
30
+ exports.Schema = Schema;
31
+ //# sourceMappingURL=chunk-ZWHQ54JM.cjs.map
32
+ //# sourceMappingURL=chunk-ZWHQ54JM.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Operation.tsx","../src/components/Schema.tsx","../src/components/Oas.tsx"],"names":["createContext","jsx"],"mappings":";;;;;;AAcA,IAAM,gBAAA,GAAmBA,mBAAqC,CAAA,EAAE,CAAA,CAAA;AAEzD,SAAS,SAAU,CAAA,EAAE,SAAW,EAAA,QAAA,EAA6B,EAAA;AAClE,EAAO,uBAAAC,cAAA,CAAC,iBAAiB,QAAjB,EAAA,EAA0B,OAAO,EAAE,SAAA,IAAc,QAAS,EAAA,CAAA,CAAA;AACpE,CAAA;AAEA,SAAA,CAAU,OAAU,GAAA,gBAAA,CAAA;ACDpB,IAAM,gBAAgBD,mBAAkC,CAAA;AAAA,EACtD,IAAM,EAAA,SAAA;AAAA,EACN,MAAM,EAAC;AACT,CAAC,CAAA,CAAA;AAEM,SAAS,MAAA,CAAO,EAAE,IAAM,EAAA,KAAA,EAAO,OAAO,EAAC,EAAG,UAA6B,EAAA;AAC5E,EAAA,uBAAOC,cAAAA,CAAC,aAAc,CAAA,QAAA,EAAd,EAAuB,KAAA,EAAO,EAAE,IAAA,EAAM,MAAQ,EAAA,KAAA,EAAO,IAAK,EAAA,EAAI,QAAS,EAAA,CAAA,CAAA;AACjF,CAAA;AAEA,MAAA,CAAO,OAAU,GAAA,aAAA,CAAA;ACAjB,IAAM,UAAA,GAAaD,mBAA+B,CAAA,EAAE,CAAA,CAAA;AAE7C,SAAS,IAAI,EAAE,GAAA,EAAK,QAAU,EAAA,UAAA,EAAY,WAA8B,EAAA;AAC7E,EAAO,uBAAAC,cAAC,CAAA,UAAA,CAAW,QAAX,EAAA,EAAoB,KAAO,EAAA,EAAE,GAAK,EAAA,SAAA,EAAW,UAAW,EAAA,EAAI,QAAS,EAAA,CAAA,CAAA;AAC/E,CAAA;AAEA,GAAA,CAAI,OAAU,GAAA,UAAA,CAAA;AACd,GAAA,CAAI,SAAY,GAAA,SAAA,CAAA;AAChB,GAAA,CAAI,MAAS,GAAA,MAAA","file":"chunk-ZWHQ54JM.cjs","sourcesContent":["import { createContext } from '@kubb/react'\n\nimport type { Operation as OperationType } from '@kubb/oas'\nimport type { KubbNode } from '@kubb/react/types'\n\ntype Props = {\n operation: OperationType\n children?: KubbNode\n}\n\ntype OperationContextProps = {\n operation?: OperationType\n}\n\nconst OperationContext = createContext<OperationContextProps>({})\n\nexport function Operation({ operation, children }: Props): KubbNode {\n return <OperationContext.Provider value={{ operation }}>{children}</OperationContext.Provider>\n}\n\nOperation.Context = OperationContext\n","import { createContext } from '@kubb/react'\n\nimport type { SchemaObject } from '@kubb/oas'\nimport type { KubbNode } from '@kubb/react/types'\nimport type { Schema as SchemaType } from '../SchemaMapper.ts'\n\nexport type SchemaContextProps = {\n name: string\n schema?: SchemaObject\n tree: Array<SchemaType>\n}\n\ntype Props = {\n name: string\n value?: SchemaObject\n tree?: Array<SchemaType>\n children?: KubbNode\n}\n\nconst SchemaContext = createContext<SchemaContextProps>({\n name: 'unknown',\n tree: [],\n})\n\nexport function Schema({ name, value, tree = [], children }: Props): KubbNode {\n return <SchemaContext.Provider value={{ name, schema: value, tree }}>{children}</SchemaContext.Provider>\n}\n\nSchema.Context = SchemaContext\n","import { createContext } from '@kubb/react'\n\nimport { Operation } from './Operation.tsx'\nimport { Schema } from './Schema.tsx'\n\nimport type { Oas as OasType, Operation as OperationType } from '@kubb/oas'\nimport type { KubbNode } from '@kubb/react/types'\nimport type { OperationGenerator } from '../OperationGenerator.ts'\n\ntype Props = {\n oas: OasType\n operations?: OperationType[]\n /**\n * @deprecated\n */\n generator?: Omit<OperationGenerator, 'build'>\n children?: KubbNode\n}\n\ntype OasContextProps = {\n oas?: OasType\n operations?: OperationType[]\n /**\n * @deprecated\n */\n generator?: Omit<OperationGenerator, 'build'>\n}\n\nconst OasContext = createContext<OasContextProps>({})\n\nexport function Oas({ oas, children, operations, generator }: Props): KubbNode {\n return <OasContext.Provider value={{ oas, generator, operations }}>{children}</OasContext.Provider>\n}\n\nOas.Context = OasContext\nOas.Operation = Operation\nOas.Schema = Schema\n"]}
@@ -1,18 +1,21 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
- var _chunkDRLYORTTcjs = require('./chunk-DRLYORTT.cjs');
6
- require('./chunk-CJXRFYEF.cjs');
7
-
8
-
9
- var _chunkP42X362Ucjs = require('./chunk-P42X362U.cjs');
10
-
11
- // src/components/index.ts
12
- _chunkP42X362Ucjs.init_cjs_shims.call(void 0, );
13
-
14
-
15
-
16
-
17
- exports.Oas = _chunkDRLYORTTcjs.Oas; exports.Operation = _chunkDRLYORTTcjs.Operation; exports.Schema = _chunkDRLYORTTcjs.Schema;
1
+ 'use strict';
2
+
3
+ require('./chunk-PADR76WZ.cjs');
4
+ var chunkZWHQ54JM_cjs = require('./chunk-ZWHQ54JM.cjs');
5
+
6
+
7
+
8
+ Object.defineProperty(exports, "Oas", {
9
+ enumerable: true,
10
+ get: function () { return chunkZWHQ54JM_cjs.Oas; }
11
+ });
12
+ Object.defineProperty(exports, "Operation", {
13
+ enumerable: true,
14
+ get: function () { return chunkZWHQ54JM_cjs.Operation; }
15
+ });
16
+ Object.defineProperty(exports, "Schema", {
17
+ enumerable: true,
18
+ get: function () { return chunkZWHQ54JM_cjs.Schema; }
19
+ });
20
+ //# sourceMappingURL=components.cjs.map
18
21
  //# sourceMappingURL=components.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/kubb/kubb/packages/plugin-oas/dist/components.cjs","../src/components/index.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,8CAAA,CAAA;ADYA;AACE;AACA;AACA;AACF,gIAAC","file":"/home/runner/work/kubb/kubb/packages/plugin-oas/dist/components.cjs","sourcesContent":[null,"export { Oas } from './Oas.tsx'\nexport { Operation } from './Operation.tsx'\nexport { Schema } from './Schema.tsx'\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"components.cjs"}
@@ -1,12 +1,10 @@
1
- import { S as Schema } from './Schema-an5hOrjZ.cjs';
1
+ import { S as Schema } from './Schema-ClNodlyP.cjs';
2
2
  import * as react from 'react';
3
3
  import { Operation as Operation$1, Oas as Oas$1 } from '@kubb/oas';
4
- import { KubbNode } from '@kubb/react';
5
- import { a as OperationGenerator } from './OperationGenerator-CeM_9pxW.cjs';
6
- import '@kubb/fs/types';
7
- import './SchemaMapper-CsBQ6eEx.cjs';
4
+ import { KubbNode } from '@kubb/react/types';
5
+ import { b as OperationGenerator } from './OperationGenerator-CHXolL0o.cjs';
8
6
  import '@kubb/core';
9
- import './types-Dte3MA6H.cjs';
7
+ import '@kubb/fs/types';
10
8
  import '@kubb/oas/parser';
11
9
 
12
10
  type Props$1 = {
@@ -24,13 +22,19 @@ declare namespace Operation {
24
22
  type Props = {
25
23
  oas: Oas$1;
26
24
  operations?: Operation$1[];
27
- generator?: OperationGenerator;
25
+ /**
26
+ * @deprecated
27
+ */
28
+ generator?: Omit<OperationGenerator, 'build'>;
28
29
  children?: KubbNode;
29
30
  };
30
31
  type OasContextProps = {
31
32
  oas?: Oas$1;
32
33
  operations?: Operation$1[];
33
- generator?: OperationGenerator;
34
+ /**
35
+ * @deprecated
36
+ */
37
+ generator?: Omit<OperationGenerator, 'build'>;
34
38
  };
35
39
  declare function Oas({ oas, children, operations, generator }: Props): KubbNode;
36
40
  declare namespace Oas {
@@ -1,12 +1,10 @@
1
- import { S as Schema } from './Schema-DefwBJMc.js';
1
+ import { S as Schema } from './Schema-Ch0dHkM5.js';
2
2
  import * as react from 'react';
3
3
  import { Operation as Operation$1, Oas as Oas$1 } from '@kubb/oas';
4
- import { KubbNode } from '@kubb/react';
5
- import { a as OperationGenerator } from './OperationGenerator-DhUhvRJE.js';
6
- import '@kubb/fs/types';
7
- import './SchemaMapper-CsBQ6eEx.js';
4
+ import { KubbNode } from '@kubb/react/types';
5
+ import { b as OperationGenerator } from './OperationGenerator-CHXolL0o.js';
8
6
  import '@kubb/core';
9
- import './types-Dte3MA6H.js';
7
+ import '@kubb/fs/types';
10
8
  import '@kubb/oas/parser';
11
9
 
12
10
  type Props$1 = {
@@ -24,13 +22,19 @@ declare namespace Operation {
24
22
  type Props = {
25
23
  oas: Oas$1;
26
24
  operations?: Operation$1[];
27
- generator?: OperationGenerator;
25
+ /**
26
+ * @deprecated
27
+ */
28
+ generator?: Omit<OperationGenerator, 'build'>;
28
29
  children?: KubbNode;
29
30
  };
30
31
  type OasContextProps = {
31
32
  oas?: Oas$1;
32
33
  operations?: Operation$1[];
33
- generator?: OperationGenerator;
34
+ /**
35
+ * @deprecated
36
+ */
37
+ generator?: Omit<OperationGenerator, 'build'>;
34
38
  };
35
39
  declare function Oas({ oas, children, operations, generator }: Props): KubbNode;
36
40
  declare namespace Oas {
@@ -1,18 +1,4 @@
1
- import {
2
- Oas,
3
- Operation,
4
- Schema
5
- } from "./chunk-LEACSHKT.js";
6
- import "./chunk-K6KUETAI.js";
7
- import {
8
- init_esm_shims
9
- } from "./chunk-UB552H4J.js";
10
-
11
- // src/components/index.ts
12
- init_esm_shims();
13
- export {
14
- Oas,
15
- Operation,
16
- Schema
17
- };
1
+ import './chunk-R47XMJ32.js';
2
+ export { Oas, Operation, Schema } from './chunk-GF26SDHQ.js';
3
+ //# sourceMappingURL=components.js.map
18
4
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/index.ts"],"sourcesContent":["export { Oas } from './Oas.tsx'\nexport { Operation } from './Operation.tsx'\nexport { Schema } from './Schema.tsx'\n"],"mappings":";;;;;;;;;;;AAAA;","names":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"components.js"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var chunk6UWOTOZJ_cjs = require('./chunk-6UWOTOZJ.cjs');
4
+ require('./chunk-PADR76WZ.cjs');
5
+ require('./chunk-ZWHQ54JM.cjs');
6
+
7
+
8
+
9
+ Object.defineProperty(exports, "jsonGenerator", {
10
+ enumerable: true,
11
+ get: function () { return chunk6UWOTOZJ_cjs.jsonGenerator; }
12
+ });
13
+ //# sourceMappingURL=generators.cjs.map
14
+ //# sourceMappingURL=generators.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"generators.cjs"}
@@ -0,0 +1,10 @@
1
+ import { o as Generator, P as PluginOas } from './OperationGenerator-CHXolL0o.cjs';
2
+ import '@kubb/core';
3
+ import '@kubb/fs/types';
4
+ import '@kubb/oas';
5
+ import '@kubb/react/types';
6
+ import '@kubb/oas/parser';
7
+
8
+ declare const jsonGenerator: Generator<PluginOas>;
9
+
10
+ export { jsonGenerator };
@@ -0,0 +1,10 @@
1
+ import { o as Generator, P as PluginOas } from './OperationGenerator-CHXolL0o.js';
2
+ import '@kubb/core';
3
+ import '@kubb/fs/types';
4
+ import '@kubb/oas';
5
+ import '@kubb/react/types';
6
+ import '@kubb/oas/parser';
7
+
8
+ declare const jsonGenerator: Generator<PluginOas>;
9
+
10
+ export { jsonGenerator };
@@ -0,0 +1,5 @@
1
+ export { jsonGenerator } from './chunk-TRA5BTWI.js';
2
+ import './chunk-R47XMJ32.js';
3
+ import './chunk-GF26SDHQ.js';
4
+ //# sourceMappingURL=generators.js.map
5
+ //# sourceMappingURL=generators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"generators.js"}
package/dist/hooks.cjs CHANGED
@@ -1,57 +1,59 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
1
+ 'use strict';
2
2
 
3
+ var chunkOO5R4UIK_cjs = require('./chunk-OO5R4UIK.cjs');
4
+ require('./chunk-HP5WAFBU.cjs');
5
+ var chunkZWHQ54JM_cjs = require('./chunk-ZWHQ54JM.cjs');
6
+ var react = require('@kubb/react');
3
7
 
4
-
5
- var _chunkDRLYORTTcjs = require('./chunk-DRLYORTT.cjs');
6
- require('./chunk-CJXRFYEF.cjs');
7
-
8
-
9
- var _chunkP42X362Ucjs = require('./chunk-P42X362U.cjs');
10
-
11
- // src/hooks/index.ts
12
- _chunkP42X362Ucjs.init_cjs_shims.call(void 0, );
13
-
14
- // src/hooks/useOas.ts
15
- _chunkP42X362Ucjs.init_cjs_shims.call(void 0, );
16
- var _react = require('@kubb/react');
17
8
  function useOas() {
18
- const { oas } = _react.useContext.call(void 0, _chunkDRLYORTTcjs.Oas.Context);
9
+ const { oas } = react.useContext(chunkZWHQ54JM_cjs.Oas.Context);
19
10
  if (!oas) {
20
11
  throw new Error("Oas is not defined");
21
12
  }
22
13
  return oas;
23
14
  }
24
-
25
- // src/hooks/useOperation.ts
26
- _chunkP42X362Ucjs.init_cjs_shims.call(void 0, );
27
-
28
15
  function useOperation() {
29
- const { operation } = _react.useContext.call(void 0, _chunkDRLYORTTcjs.Operation.Context);
16
+ const { operation } = react.useContext(chunkZWHQ54JM_cjs.Operation.Context);
30
17
  if (!operation) {
31
18
  throw new Error("Operation is not defined");
32
19
  }
33
20
  return operation;
34
21
  }
35
-
36
- // src/hooks/useOperationManager.ts
37
- _chunkP42X362Ucjs.init_cjs_shims.call(void 0, );
38
-
39
22
  function useOperationManager() {
40
- const { plugin, pluginManager } = _react.useApp.call(void 0, );
41
- const { generator } = _react.useContext.call(void 0, _chunkDRLYORTTcjs.Oas.Context);
42
- if (!generator) {
43
- throw new Error(`'generator' is not defined`);
44
- }
45
- const getName = (operation, { pluginKey = plugin.key, type }) => {
23
+ const { plugin, pluginManager } = react.useApp();
24
+ const { generator } = react.useContext(chunkZWHQ54JM_cjs.Oas.Context);
25
+ const getName = (operation, { prefix = "", suffix = "", pluginKey = plugin.key, type }) => {
26
+ return pluginManager.resolveName({
27
+ name: `${prefix} ${operation.getOperationId()} ${suffix}`,
28
+ pluginKey,
29
+ type
30
+ });
31
+ };
32
+ const getSchemas = (operation, params) => {
33
+ if (!generator) {
34
+ throw new Error(`'generator' is not defined`);
35
+ }
36
+ return generator.getSchemas(operation, {
37
+ resolveName: (name) => pluginManager.resolveName({
38
+ name,
39
+ pluginKey: params?.pluginKey,
40
+ type: params?.type
41
+ })
42
+ });
43
+ };
44
+ const getSchemaName = (operation, key, { pluginKey = plugin.key, type } = {}) => {
45
+ const schemas = getSchemas(operation);
46
+ if (!schemas[key]?.name) {
47
+ throw new Error(`SchemaName not found for ${operation.getOperationId()}`);
48
+ }
46
49
  return pluginManager.resolveName({
47
- name: operation.getOperationId(),
50
+ name: schemas[key]?.name,
48
51
  pluginKey,
49
52
  type
50
53
  });
51
54
  };
52
- const getFile = (operation, { pluginKey = plugin.key, extName = ".ts" } = {}) => {
53
- const tag = _optionalChain([operation, 'access', _ => _.getTags, 'call', _2 => _2(), 'access', _3 => _3.at, 'call', _4 => _4(0), 'optionalAccess', _5 => _5.name]);
54
- const name = getName(operation, { type: "file", pluginKey });
55
+ const getFile = (operation, { prefix, suffix, pluginKey = plugin.key, tag = operation.getTags().at(0)?.name, extName = ".ts" } = {}) => {
56
+ const name = getName(operation, { type: "file", pluginKey, prefix, suffix });
55
57
  const file = pluginManager.getFile({
56
58
  name,
57
59
  extName,
@@ -69,6 +71,9 @@ function useOperationManager() {
69
71
  };
70
72
  };
71
73
  const groupSchemasByName = (operation, { pluginKey = plugin.key, type }) => {
74
+ if (!generator) {
75
+ throw new Error(`'generator' is not defined`);
76
+ }
72
77
  const schemas = generator.getSchemas(operation);
73
78
  const errors = (schemas.errors || []).reduce(
74
79
  (prev, acc) => {
@@ -85,23 +90,23 @@ function useOperationManager() {
85
90
  {}
86
91
  );
87
92
  return {
88
- request: _optionalChain([schemas, 'access', _6 => _6.request, 'optionalAccess', _7 => _7.name]) ? pluginManager.resolveName({
93
+ request: schemas.request?.name ? pluginManager.resolveName({
89
94
  name: schemas.request.name,
90
95
  pluginKey,
91
96
  type
92
97
  }) : void 0,
93
98
  parameters: {
94
- path: _optionalChain([schemas, 'access', _8 => _8.pathParams, 'optionalAccess', _9 => _9.name]) ? pluginManager.resolveName({
99
+ path: schemas.pathParams?.name ? pluginManager.resolveName({
95
100
  name: schemas.pathParams.name,
96
101
  pluginKey,
97
102
  type
98
103
  }) : void 0,
99
- query: _optionalChain([schemas, 'access', _10 => _10.queryParams, 'optionalAccess', _11 => _11.name]) ? pluginManager.resolveName({
104
+ query: schemas.queryParams?.name ? pluginManager.resolveName({
100
105
  name: schemas.queryParams.name,
101
106
  pluginKey,
102
107
  type
103
108
  }) : void 0,
104
- header: _optionalChain([schemas, 'access', _12 => _12.headerParams, 'optionalAccess', _13 => _13.name]) ? pluginManager.resolveName({
109
+ header: schemas.headerParams?.name ? pluginManager.resolveName({
105
110
  name: schemas.headerParams.name,
106
111
  pluginKey,
107
112
  type
@@ -126,23 +131,13 @@ function useOperationManager() {
126
131
  return {
127
132
  getName,
128
133
  getFile,
129
- getSchemas: (operation, params, forStatusCode) => generator.getSchemas(operation, {
130
- forStatusCode,
131
- resolveName: (name) => pluginManager.resolveName({
132
- name,
133
- pluginKey: _optionalChain([params, 'optionalAccess', _14 => _14.pluginKey]),
134
- type: _optionalChain([params, 'optionalAccess', _15 => _15.type])
135
- })
136
- }),
134
+ getSchemas,
135
+ getSchemaName,
137
136
  groupSchemasByName
138
137
  };
139
138
  }
140
-
141
- // src/hooks/useOperations.ts
142
- _chunkP42X362Ucjs.init_cjs_shims.call(void 0, );
143
-
144
139
  function useOperations({ method, path } = {}) {
145
- const { operations } = _react.useContext.call(void 0, _chunkDRLYORTTcjs.Oas.Context);
140
+ const { operations } = react.useContext(chunkZWHQ54JM_cjs.Oas.Context);
146
141
  if (!operations) {
147
142
  throw new Error("Operations is not defined");
148
143
  }
@@ -155,11 +150,60 @@ function useOperations({ method, path } = {}) {
155
150
  }
156
151
  return items;
157
152
  }
153
+ function useSchema() {
154
+ const props = react.useContext(chunkZWHQ54JM_cjs.Schema.Context);
155
+ return props;
156
+ }
157
+ function useSchemaManager() {
158
+ const { mode, plugin, pluginManager, fileManager } = react.useApp();
159
+ const getName = (name, { pluginKey = plugin.key, type }) => {
160
+ return pluginManager.resolveName({
161
+ name,
162
+ pluginKey,
163
+ type
164
+ });
165
+ };
166
+ const getFile = (name, { mode: mode2 = "split", pluginKey = plugin.key, extName = ".ts", tag } = {}) => {
167
+ const resolvedName = mode2 === "single" ? "" : getName(name, { type: "file", pluginKey });
168
+ const file = pluginManager.getFile({
169
+ name: resolvedName,
170
+ extName,
171
+ pluginKey,
172
+ options: { type: "file", pluginKey, tag }
173
+ });
174
+ return {
175
+ ...file,
176
+ meta: {
177
+ ...file.meta,
178
+ name: resolvedName,
179
+ pluginKey
180
+ }
181
+ };
182
+ };
183
+ const getImports = (tree) => {
184
+ const refs = chunkOO5R4UIK_cjs.SchemaGenerator.deepSearch(tree, chunkOO5R4UIK_cjs.schemaKeywords.ref);
185
+ return refs?.map((item, i) => {
186
+ if (!item.args.path) {
187
+ return void 0;
188
+ }
189
+ return {
190
+ name: [item.args.name],
191
+ path: item.args.path
192
+ };
193
+ }).filter(Boolean);
194
+ };
195
+ return {
196
+ getName,
197
+ getFile,
198
+ getImports
199
+ };
200
+ }
158
201
 
159
-
160
-
161
-
162
-
163
-
164
- exports.useOas = useOas; exports.useOperation = useOperation; exports.useOperationManager = useOperationManager; exports.useOperations = useOperations; exports.useSchema = _chunkDRLYORTTcjs.useSchema;
202
+ exports.useOas = useOas;
203
+ exports.useOperation = useOperation;
204
+ exports.useOperationManager = useOperationManager;
205
+ exports.useOperations = useOperations;
206
+ exports.useSchema = useSchema;
207
+ exports.useSchemaManager = useSchemaManager;
208
+ //# sourceMappingURL=hooks.cjs.map
165
209
  //# sourceMappingURL=hooks.cjs.map