@kubb/ast 5.0.0-beta.63 → 5.0.0-beta.64

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 (69) hide show
  1. package/dist/{defineMacro-Shz8f6SG.js → defineMacro-B76LsJwO.js} +4 -4
  2. package/dist/{defineMacro-Shz8f6SG.js.map → defineMacro-B76LsJwO.js.map} +1 -1
  3. package/dist/{defineMacro-BATi7xoC.d.ts → defineMacro-B7qm3zTd.d.ts} +3 -3
  4. package/dist/factory-wJLzHeXT.d.ts +27 -0
  5. package/dist/factory.d.ts +3 -27
  6. package/dist/factory.js +2 -2
  7. package/dist/{index-B9cc8MBS.d.ts → index-BKD4drsX.d.ts} +2 -2
  8. package/dist/index.cjs +54 -2
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.ts +24 -21
  11. package/dist/index.js +54 -8
  12. package/dist/index.js.map +1 -1
  13. package/dist/macros.d.ts +2 -2
  14. package/dist/macros.js +4 -4
  15. package/dist/{operationParams-k5CKwSWZ.d.ts → operationParams-ByVfpYr7.d.ts} +3 -3
  16. package/dist/{refs-BjNDuCBD.js → refs-Dx6U5LoE.js} +3 -3
  17. package/dist/{refs-BjNDuCBD.js.map → refs-Dx6U5LoE.js.map} +1 -1
  18. package/dist/{schema-Cbnxmz4b.js → schema-YNbOtTCM.js} +2 -2
  19. package/dist/{schema-Cbnxmz4b.js.map → schema-YNbOtTCM.js.map} +1 -1
  20. package/dist/{types-BB_xgRJ3.d.ts → types-BP9BZoq-.d.ts} +8 -8
  21. package/dist/types.d.ts +5 -5
  22. package/dist/{utils-DaXkewb1.js → utils-BJi0y-xg.js} +4 -4
  23. package/dist/{utils-DaXkewb1.js.map → utils-BJi0y-xg.js.map} +1 -1
  24. package/dist/utils.d.ts +3 -3
  25. package/dist/utils.js +3 -3
  26. package/package.json +1 -2
  27. package/src/constants.ts +0 -150
  28. package/src/defineMacro.ts +0 -139
  29. package/src/defineNode.ts +0 -102
  30. package/src/definePrinter.ts +0 -258
  31. package/src/dialect.ts +0 -86
  32. package/src/factory.ts +0 -44
  33. package/src/guards.ts +0 -28
  34. package/src/index.ts +0 -13
  35. package/src/infer.ts +0 -132
  36. package/src/macros/index.ts +0 -3
  37. package/src/macros/macroDiscriminatorEnum.ts +0 -50
  38. package/src/macros/macroEnumName.ts +0 -33
  39. package/src/macros/macroSimplifyUnion.ts +0 -60
  40. package/src/nodes/base.ts +0 -49
  41. package/src/nodes/code.ts +0 -355
  42. package/src/nodes/content.ts +0 -51
  43. package/src/nodes/file.ts +0 -380
  44. package/src/nodes/function.ts +0 -283
  45. package/src/nodes/index.ts +0 -93
  46. package/src/nodes/input.ts +0 -144
  47. package/src/nodes/operation.ts +0 -168
  48. package/src/nodes/output.ts +0 -49
  49. package/src/nodes/parameter.ts +0 -71
  50. package/src/nodes/property.ts +0 -67
  51. package/src/nodes/requestBody.ts +0 -54
  52. package/src/nodes/response.ts +0 -173
  53. package/src/nodes/schema.ts +0 -732
  54. package/src/optionality.ts +0 -15
  55. package/src/registry.ts +0 -75
  56. package/src/signature.ts +0 -207
  57. package/src/types.ts +0 -8
  58. package/src/utils/codegen.ts +0 -103
  59. package/src/utils/extractStringsFromNodes.ts +0 -35
  60. package/src/utils/fileMerge.ts +0 -183
  61. package/src/utils/index.ts +0 -11
  62. package/src/utils/operationParams.ts +0 -353
  63. package/src/utils/refs.ts +0 -134
  64. package/src/utils/schemaGraph.ts +0 -177
  65. package/src/utils/schemaMerge.ts +0 -34
  66. package/src/utils/schemaTraversal.ts +0 -86
  67. package/src/utils/strings.ts +0 -139
  68. package/src/visitor.ts +0 -519
  69. /package/dist/{chunk-CNktS9qV.js → rolldown-runtime-CNktS9qV.js} +0 -0
@@ -1,173 +0,0 @@
1
- import { defineNode } from '../defineNode.ts'
2
- import type { BaseNode } from './base.ts'
3
- import { type ContentNode, createContent } from './content.ts'
4
- import type { SchemaNode } from './schema.ts'
5
-
6
- /**
7
- * All supported HTTP status code literals as strings, as used in API specs
8
- * (for example, `"200"` and `"404"`).
9
- */
10
- type HttpStatusCode =
11
- // 1xx Informational
12
- | '100'
13
- | '101'
14
- | '102'
15
- | '103'
16
- // 2xx Success
17
- | '200'
18
- | '201'
19
- | '202'
20
- | '203'
21
- | '204'
22
- | '205'
23
- | '206'
24
- | '207'
25
- | '208'
26
- | '226'
27
- // 3xx Redirection
28
- | '300'
29
- | '301'
30
- | '302'
31
- | '303'
32
- | '304'
33
- | '305'
34
- | '307'
35
- | '308'
36
- // 4xx Client Error
37
- | '400'
38
- | '401'
39
- | '402'
40
- | '403'
41
- | '404'
42
- | '405'
43
- | '406'
44
- | '407'
45
- | '408'
46
- | '409'
47
- | '410'
48
- | '411'
49
- | '412'
50
- | '413'
51
- | '414'
52
- | '415'
53
- | '416'
54
- | '417'
55
- | '418'
56
- | '421'
57
- | '422'
58
- | '423'
59
- | '424'
60
- | '425'
61
- | '426'
62
- | '428'
63
- | '429'
64
- | '431'
65
- | '451'
66
- // 5xx Server Error
67
- | '500'
68
- | '501'
69
- | '502'
70
- | '503'
71
- | '504'
72
- | '505'
73
- | '506'
74
- | '507'
75
- | '508'
76
- | '510'
77
- | '511'
78
-
79
- /**
80
- * Response status code literal used by operations.
81
- *
82
- * Includes specific HTTP status code strings and `"default"` for catch-all responses.
83
- *
84
- * @example
85
- * ```ts
86
- * const status: StatusCode = '200'
87
- * const fallback: StatusCode = 'default'
88
- * ```
89
- */
90
- export type StatusCode = HttpStatusCode | 'default'
91
-
92
- /**
93
- * AST node representing one operation response variant.
94
- *
95
- * Mirrors {@link OperationNode.requestBody}: the response body schemas live exclusively inside
96
- * the `content` array (one entry per content type), so the same schema is never duplicated at the
97
- * node root and inside `content`.
98
- *
99
- * @example
100
- * ```ts
101
- * const response: ResponseNode = {
102
- * kind: 'Response',
103
- * statusCode: '200',
104
- * content: [{ kind: 'Content', contentType: 'application/json', schema: createSchema({ type: 'string' }) }],
105
- * }
106
- * ```
107
- */
108
- export type ResponseNode = BaseNode & {
109
- /**
110
- * Node kind.
111
- */
112
- kind: 'Response'
113
- /**
114
- * HTTP status code or `'default'` for a fallback response.
115
- */
116
- statusCode: StatusCode
117
- /**
118
- * Optional response description.
119
- */
120
- description?: string
121
- /**
122
- * All available content type entries for this response.
123
- *
124
- * When the adapter `contentType` option is set, this array contains exactly one entry for that
125
- * content type. Otherwise it contains one entry per content type declared in the spec, so that
126
- * plugins can generate a union of response types (e.g. `application/json` and `application/xml`).
127
- * Body-less responses keep a single entry whose `schema` is the empty/`void` placeholder.
128
- *
129
- * @example
130
- * ```ts
131
- * // spec response declares both application/json and application/xml
132
- * response.content[0].contentType // 'application/json'
133
- * response.content[1].contentType // 'application/xml'
134
- * ```
135
- */
136
- content?: Array<ContentNode>
137
- }
138
-
139
- type ResponseInput = Pick<ResponseNode, 'statusCode'> &
140
- Partial<Omit<ResponseNode, 'kind' | 'statusCode' | 'content'>> & {
141
- content?: Array<ContentNode>
142
- schema?: SchemaNode
143
- mediaType?: string | null
144
- keysToOmit?: Array<string> | null
145
- }
146
-
147
- /**
148
- * Definition for the {@link ResponseNode}. A single legacy `schema` (with optional
149
- * `mediaType`/`keysToOmit`) is normalized into one `content` entry.
150
- */
151
- export const responseDef = defineNode<ResponseNode, ResponseInput>({
152
- kind: 'Response',
153
- build: (props) => {
154
- const { schema, mediaType, keysToOmit, content, ...rest } = props
155
- const entries = content ?? (schema ? [createContent({ contentType: mediaType ?? 'application/json', schema, keysToOmit: keysToOmit ?? null })] : undefined)
156
- return { ...rest, content: entries }
157
- },
158
- children: ['content'],
159
- visitorKey: 'response',
160
- })
161
-
162
- /**
163
- * Creates a `ResponseNode`.
164
- *
165
- * @example
166
- * ```ts
167
- * const response = createResponse({
168
- * statusCode: '200',
169
- * content: [createContent({ contentType: 'application/json', schema: createSchema({ type: 'object', properties: [] }) })],
170
- * })
171
- * ```
172
- */
173
- export const createResponse = responseDef.create