@goast/core 0.6.0-beta.1 → 0.6.0-beta.2

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 (41) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +67 -67
  3. package/esm/src/codegen/config.d.ts +11 -2
  4. package/esm/src/codegen/config.d.ts.map +1 -1
  5. package/esm/src/parse/openapi-types.d.ts +4 -0
  6. package/esm/src/parse/openapi-types.d.ts.map +1 -1
  7. package/esm/src/transform/api-types.d.ts +14 -0
  8. package/esm/src/transform/api-types.d.ts.map +1 -1
  9. package/esm/src/transform/helpers.d.ts +6 -0
  10. package/esm/src/transform/helpers.d.ts.map +1 -1
  11. package/esm/src/transform/helpers.js +34 -5
  12. package/esm/src/transform/transform-endpoint.js +1 -0
  13. package/esm/src/transform/transform-schema.d.ts.map +1 -1
  14. package/esm/src/transform/transform-schema.js +32 -21
  15. package/esm/src/utils/file-system.utils.d.ts.map +1 -1
  16. package/esm/src/utils/file-system.utils.js +36 -4
  17. package/esm/src/utils/schema.utils.d.ts.map +1 -1
  18. package/esm/src/utils/schema.utils.js +91 -11
  19. package/esm/src/utils/string.utils.d.ts +19 -0
  20. package/esm/src/utils/string.utils.d.ts.map +1 -1
  21. package/esm/src/utils/string.utils.js +25 -0
  22. package/package.json +1 -1
  23. package/script/src/codegen/config.d.ts +11 -2
  24. package/script/src/codegen/config.d.ts.map +1 -1
  25. package/script/src/parse/openapi-types.d.ts +4 -0
  26. package/script/src/parse/openapi-types.d.ts.map +1 -1
  27. package/script/src/transform/api-types.d.ts +14 -0
  28. package/script/src/transform/api-types.d.ts.map +1 -1
  29. package/script/src/transform/helpers.d.ts +6 -0
  30. package/script/src/transform/helpers.d.ts.map +1 -1
  31. package/script/src/transform/helpers.js +37 -5
  32. package/script/src/transform/transform-endpoint.js +1 -0
  33. package/script/src/transform/transform-schema.d.ts.map +1 -1
  34. package/script/src/transform/transform-schema.js +31 -20
  35. package/script/src/utils/file-system.utils.d.ts.map +1 -1
  36. package/script/src/utils/file-system.utils.js +35 -3
  37. package/script/src/utils/schema.utils.d.ts.map +1 -1
  38. package/script/src/utils/schema.utils.js +91 -11
  39. package/script/src/utils/string.utils.d.ts +19 -0
  40. package/script/src/utils/string.utils.d.ts.map +1 -1
  41. package/script/src/utils/string.utils.js +26 -0
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2021 Marc Schmidt
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2021 Marc Schmidt
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,67 +1,67 @@
1
- # gOAst (@goast/core)
2
-
3
- [![@goast/core NPM Version](https://img.shields.io/npm/v/%40goast%2Fcore?logo=npm&label=%40goast%2Fcore)](https://www.npmjs.com/package/@goast/core)
4
- [![@goast/core JSR Version](https://img.shields.io/jsr/v/%40goast%2Fcore?logo=jsr&label=%40goast%2Fcore)](https://jsr.io/@goast/core)
5
-
6
- **gOAst** stands for **g**enerative **O**pen **A**PI **s**pecification **t**ransformer, a tool designed to transform
7
- OpenAPI specifications into various forms with flexibility and extensibility at its core.
8
-
9
- For more Information, please visit the [gOAst GitHub Repository](https://github.com/MaSch0212/goast/blob/main).
10
-
11
- ## Purpose 👍
12
-
13
- The `@goast/core` package provides:
14
-
15
- - entry points for using the **gOAst** library
16
- - base classes for creating custom generators
17
- - utilities for parsing and transforming OpenAPI specifications
18
-
19
- ## Usage Example 🚀
20
-
21
- ```typescript
22
- import { OpenApiGenerator } from '@goast/core';
23
-
24
- class MyGenerator implements OpenApiGenerationProvider {
25
- generate(
26
- context: OpenApiGeneratorContext<OpenApiGeneratorInput>,
27
- config?: Partial<Readonly<Record<string, unknown>>>,
28
- ): Record<string, unknown> {
29
- // Do something
30
- return {};
31
- }
32
- }
33
-
34
- async function main() {
35
- const generator = new OpenApiGenerator()
36
- // Add a generator using a class
37
- .useType(MyGenerator)
38
- // Add a generator using a function
39
- .useFn((ctx, cfg) => {
40
- // Do the generation
41
- return {}; // Return information about the generated files so it can be used by other generators
42
- })
43
- // Add a generator using an object implementing `OpenApiGenerationProvider`
44
- .useValue({ generate: (ctx, cfg) => ({}) });
45
-
46
- // Generate for one of more OpenAPI specification files
47
- await generator.parseAndGenerate('path/to/openapi.json', 'path/to/another/openapi.yaml');
48
-
49
- // Alternatively, you can generate output for all specifications in a directory.
50
- // By default, it will only consider files within the directory (non-recursively) with the extensions: .json, .yaml, .yml.
51
- await generator.parseAndGenerateFromDir('path/to/openapi/specs');
52
- }
53
-
54
- main();
55
- ```
56
-
57
- ## Available Generator Packages 📚
58
-
59
- [![@goast/typescript NPM Version](https://img.shields.io/npm/v/%40goast%2Ftypescript?logo=npm&label=%40goast%2Ftypescript)](https://www.npmjs.com/package/@goast/typescript)
60
- [![@goast/kotlin NPM Version](https://img.shields.io/npm/v/%40goast%2Fkotlin?logo=npm&label=%40goast%2Fkotlin)](https://www.npmjs.com/package/@goast/kotlin)
61
- <br>
62
- [![@goast/typescript JSR Version](https://img.shields.io/jsr/v/%40goast%2Ftypescript?logo=jsr&label=%40goast%2Ftypescript)](https://jsr.io/@goast/typescript)
63
- [![@goast/kotlin JSR Version](https://img.shields.io/jsr/v/%40goast%2Fkotlin?logo=jsr&label=%40goast%2Fkotlin)](https://jsr.io/@goast/kotlin)
64
-
65
- ## API Documentation 📖
66
-
67
- The API documentation can be found [here](https://github.com/MaSch0212/goast/wiki).
1
+ # gOAst (@goast/core)
2
+
3
+ [![@goast/core NPM Version](https://img.shields.io/npm/v/%40goast%2Fcore?logo=npm&label=%40goast%2Fcore)](https://www.npmjs.com/package/@goast/core)
4
+ [![@goast/core JSR Version](https://img.shields.io/jsr/v/%40goast%2Fcore?logo=jsr&label=%40goast%2Fcore)](https://jsr.io/@goast/core)
5
+
6
+ **gOAst** stands for **g**enerative **O**pen **A**PI **s**pecification **t**ransformer, a tool designed to transform
7
+ OpenAPI specifications into various forms with flexibility and extensibility at its core.
8
+
9
+ For more Information, please visit the [gOAst GitHub Repository](https://github.com/MaSch0212/goast/blob/main).
10
+
11
+ ## Purpose 👍
12
+
13
+ The `@goast/core` package provides:
14
+
15
+ - entry points for using the **gOAst** library
16
+ - base classes for creating custom generators
17
+ - utilities for parsing and transforming OpenAPI specifications
18
+
19
+ ## Usage Example 🚀
20
+
21
+ ```typescript
22
+ import { OpenApiGenerator } from '@goast/core';
23
+
24
+ class MyGenerator implements OpenApiGenerationProvider {
25
+ generate(
26
+ context: OpenApiGeneratorContext<OpenApiGeneratorInput>,
27
+ config?: Partial<Readonly<Record<string, unknown>>>,
28
+ ): Record<string, unknown> {
29
+ // Do something
30
+ return {};
31
+ }
32
+ }
33
+
34
+ async function main() {
35
+ const generator = new OpenApiGenerator()
36
+ // Add a generator using a class
37
+ .useType(MyGenerator)
38
+ // Add a generator using a function
39
+ .useFn((ctx, cfg) => {
40
+ // Do the generation
41
+ return {}; // Return information about the generated files so it can be used by other generators
42
+ })
43
+ // Add a generator using an object implementing `OpenApiGenerationProvider`
44
+ .useValue({ generate: (ctx, cfg) => ({}) });
45
+
46
+ // Generate for one of more OpenAPI specification files
47
+ await generator.parseAndGenerate('path/to/openapi.json', 'path/to/another/openapi.yaml');
48
+
49
+ // Alternatively, you can generate output for all specifications in a directory.
50
+ // By default, it will only consider files within the directory (non-recursively) with the extensions: .json, .yaml, .yml.
51
+ await generator.parseAndGenerateFromDir('path/to/openapi/specs');
52
+ }
53
+
54
+ main();
55
+ ```
56
+
57
+ ## Available Generator Packages 📚
58
+
59
+ [![@goast/typescript NPM Version](https://img.shields.io/npm/v/%40goast%2Ftypescript?logo=npm&label=%40goast%2Ftypescript)](https://www.npmjs.com/package/@goast/typescript)
60
+ [![@goast/kotlin NPM Version](https://img.shields.io/npm/v/%40goast%2Fkotlin?logo=npm&label=%40goast%2Fkotlin)](https://www.npmjs.com/package/@goast/kotlin)
61
+ <br>
62
+ [![@goast/typescript JSR Version](https://img.shields.io/jsr/v/%40goast%2Ftypescript?logo=jsr&label=%40goast%2Ftypescript)](https://jsr.io/@goast/typescript)
63
+ [![@goast/kotlin JSR Version](https://img.shields.io/jsr/v/%40goast%2Fkotlin?logo=jsr&label=%40goast%2Fkotlin)](https://jsr.io/@goast/kotlin)
64
+
65
+ ## API Documentation 📖
66
+
67
+ The API documentation can be found [here](https://github.com/MaSch0212/goast/wiki).
@@ -16,12 +16,21 @@ export type OpenApiGeneratorConfig = SourceBuilderOptions & OpenApiParserOptions
16
16
  * - 'override': overwrite existing files.
17
17
  * - 'skip': skip generating files that already exist.
18
18
  * - 'error': throw an error if a file already exists.
19
+ * - 'count': write to a new path derived by inserting `_1` before the file extension (`_2`, `_3`, ... if that
20
+ * path is also taken). A counted file is written under a name no other generated file references. The
21
+ * generators compute a schema's file path from its name and use that same path when they emit an import or
22
+ * type reference, so the reference still points at the first file written. `'count'` makes a collision
23
+ * inspectable instead of fatal; it does not make the output correct. It also has a second failure mode
24
+ * unrelated to collisions: with `clearOutputDir: false`, every regeneration finds the previous run's file
25
+ * already on disk and counts up again, so re-running the generator against the same output directory silently
26
+ * accumulates another `_N` file per schema on every run, forever, with no error to signal it.
19
27
  *
20
28
  * Is is recommended to use `'error'` to prevent issues of two schemas generating the same file and overwriting each other.
21
- * If `clearOutputDir` is set to `false`, it is recommended to use `'override'` to ensure that the generated files are up to date.
29
+ * If `clearOutputDir` is set to `false`, it is recommended to use `'override'` instead of `'count'` to ensure
30
+ * that the generated files are up to date without accumulating stale counted copies on every run.
22
31
  * @default 'error'
23
32
  */
24
- existingFileBehavior: 'override' | 'skip' | 'error';
33
+ existingFileBehavior: 'override' | 'skip' | 'error' | 'count';
25
34
  };
26
35
  export declare const defaultOpenApiGeneratorConfig: OpenApiGeneratorConfig;
27
36
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/src/codegen/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,oBAAoB,GACpB;IACA;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;;;;;;OASG;IACH,oBAAoB,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;CACrD,CAAC;AAEJ,eAAO,MAAM,6BAA6B,EAAE,sBAO3C,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/src/codegen/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,oBAAoB,GACpB;IACA;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;CAC/D,CAAC;AAEJ,eAAO,MAAM,6BAA6B,EAAE,sBAO3C,CAAC"}
@@ -696,6 +696,10 @@ export type OpenApiSchema = OpenApiObject<'schema'> & {
696
696
  * Schema for array items (for array type).
697
697
  */
698
698
  items?: OpenApiSchema;
699
+ /**
700
+ * Schemas for the leading, positionally significant items of an array (tuple). (Only used in OpenAPI v3.1)
701
+ */
702
+ prefixItems?: OpenApiSchema[];
699
703
  /**
700
704
  * Required properties for an object schema.
701
705
  */
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-types.d.ts","sourceRoot":"","sources":["../../../src/src/parse/openapi-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi-types.d.ts","sourceRoot":"","sources":["../../../src/src/parse/openapi-types.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,15 @@ export type ApiContent = ApiContentComponent & {
74
74
  };
75
75
  export type ApiExampleComponent = ApiComponent<OpenApiResponse>;
76
76
  export type ApiResponse = ApiExampleComponent & {
77
+ /**
78
+ * The response key exactly as the spec wrote it: an exact code (`'200'`), a range (`'2XX'`), or
79
+ * `'default'`.
80
+ *
81
+ * Kept alongside {@link statusCode} because that field is lossy by construction —
82
+ * `Number(status) || undefined` collapses `default`, every range code and the literal `'0'` into
83
+ * `undefined`. Anything that has to *emit* a status code needs this one.
84
+ */
85
+ statusKey: string;
77
86
  statusCode: number | undefined;
78
87
  description: string | undefined;
79
88
  headers: ApiHeader[];
@@ -120,6 +129,11 @@ type AdditionalCombinedSchemaProperties = {
120
129
  anyOf: ApiSchema[];
121
130
  };
122
131
  type AdditionalArraySchemaProperties = {
132
+ /**
133
+ * The schema of every element of the array, or `undefined` if the array does not constrain its elements to a
134
+ * single schema. Note that an OpenAPI 3.1 tuple (`prefixItems`) has no single element schema: tuples are not
135
+ * modelled, so `items` is `undefined` for them even though the OpenAPI schema has an `items` keyword.
136
+ */
123
137
  items: ApiSchema | undefined;
124
138
  minItems: number | undefined;
125
139
  maxItems: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../../src/src/transform/api-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../../src/src/transform/api-types.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,12 @@ import type { OpenApiObject } from '../parse/openapi-types.js';
2
2
  import type { Deref, DerefSource } from '../parse/types.js';
3
3
  import type { ApiSchema, ApiSchemaAccessibility, ApiSchemaKind, ApiSchemaProperty } from './api-types.js';
4
4
  import type { OpenApiTransformerContext } from './types.js';
5
+ /** Normalizes a `type` keyword to an array, so a scalar type and a 3.1 type array can be treated alike. */
6
+ export declare function asTypeArray(type: string | string[] | undefined | null): string[];
7
+ /** The declared types with every `null` member removed. */
8
+ export declare function withoutNullType(types: (string | null)[]): string[];
9
+ /** Whether the `type` keyword declares `null`, either as a scalar type or as a member of a 3.1 type array. */
10
+ export declare function hasNullType(type: string | string[] | undefined | null): boolean;
5
11
  export declare function determineSchemaKind<T extends {
6
12
  oneOf?: unknown;
7
13
  allOf?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/src/transform/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/src/transform/helpers.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,40 @@ import { isOpenApiObjectProperty } from '../internal-utils.js';
3
3
  import { isNullish } from '../utils/common.utils.js';
4
4
  import { getDeepProperty } from '../utils/object.utils.js';
5
5
  import { getLineInfo } from '../utils/yaml-info.js';
6
+ /** Normalizes a `type` keyword to an array, so a scalar type and a 3.1 type array can be treated alike. */
7
+ export function asTypeArray(type) {
8
+ if (isNullish(type))
9
+ return [];
10
+ return Array.isArray(type) ? type : [type];
11
+ }
12
+ // OpenAPI 3.1 allows `type: [~]`, which YAML parses to `null` rather than to the string `'null'`.
13
+ function isNullType(type) {
14
+ return type === 'null' || type === null;
15
+ }
16
+ /** The declared types with every `null` member removed. */
17
+ export function withoutNullType(types) {
18
+ return types.filter((t) => !isNullType(t));
19
+ }
20
+ /** Whether the `type` keyword declares `null`, either as a scalar type or as a member of a 3.1 type array. */
21
+ export function hasNullType(type) {
22
+ return asTypeArray(type).some(isNullType);
23
+ }
6
24
  export function determineSchemaKind(ctx, schema) {
25
+ // An OpenAPI 3.1 type array that reduces to at most one non-null type is normalised away by
26
+ // `transformSchema`, which replaces `type` with the narrowed scalar (or `'null'`) and then asks this
27
+ // function again. Such an array therefore has to reach the `multi-type` branch below *before* the
28
+ // `allOf`/`anyOf` branch can claim it as `combined`, because a type array is 3.1's only way of expressing
29
+ // nullability and it would otherwise never be looked at. The second pass gives the `allOf`/`anyOf` branch
30
+ // its chance, this time with a scalar type it can judge correctly.
31
+ //
32
+ // A type array with two or more non-null members is *not* normalised away: nothing re-asks, so it must keep
33
+ // falling through to the `allOf`/`anyOf` branch exactly as it always has. Its nullability is picked up by
34
+ // `transformSchema` from the type as declared instead.
35
+ const narrowsToSingleType = Array.isArray(schema.type) && withoutNullType(schema.type).length <= 1;
7
36
  if (schema.oneOf) {
8
37
  return 'oneOf';
9
38
  }
10
- else if (schema.type !== 'object' && (schema.allOf || schema.anyOf)) {
39
+ else if (!narrowsToSingleType && schema.type !== 'object' && (schema.allOf || schema.anyOf)) {
11
40
  const hasProperties = (schema.properties && Object.keys(schema.properties).length > 0) ||
12
41
  schema.additionalProperties;
13
42
  return hasProperties ? 'object' : 'combined';
@@ -34,9 +63,6 @@ export function determineSchemaName(schema, id) {
34
63
  var _a, _b, _c, _d, _e, _f;
35
64
  if (schema.title)
36
65
  return { name: schema.title, isGenerated: false };
37
- if (!schema.$src) {
38
- console.log('woot?');
39
- }
40
66
  if (schema.$src.path === '/')
41
67
  return { name: parsePath(schema.$src.file).name, isGenerated: true };
42
68
  const schemaNameMatch = schema.$src.path.match(/(?<=\/components\/schemas\/|\/definitions\/)[^/]+$/i);
@@ -86,7 +112,10 @@ export function determineSchemaName(schema, id) {
86
112
  originalComponent: parentSchema,
87
113
  },
88
114
  }, id);
89
- if (!parentSchemaName.isGenerated) {
115
+ // Continue the chain as long as the parent has a name of its own. Generated parent names are fine to build
116
+ // on — that is what makes a third-level inline object `Parent_middle_inner` instead of an opaque ordinal.
117
+ // Only the `id` fallback below is unusable, because it carries no information about the schema at all.
118
+ if (parentSchemaName.name !== id) {
90
119
  return { name: `${parentSchemaName.name}_${parentSchemaMatch[2]}`, isGenerated: true };
91
120
  }
92
121
  }
@@ -156,6 +156,7 @@ function transformResponse(context, response, status) {
156
156
  },
157
157
  $ref: ref,
158
158
  id: context.idGenerator.generateId('response'),
159
+ statusKey: status,
159
160
  statusCode: Number(status) || undefined,
160
161
  description: response.description,
161
162
  headers: transformHeaders(context, response.headers),
@@ -1 +1 @@
1
- {"version":3,"file":"transform-schema.d.ts","sourceRoot":"","sources":["../../../src/src/transform/transform-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAsC,MAAM,gBAAgB,CAAC;AAUpF,OAAO,KAAK,EAAuB,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEjF,wBAAgB,eAAe,CAAC,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAiFpH"}
1
+ {"version":3,"file":"transform-schema.d.ts","sourceRoot":"","sources":["../../../src/src/transform/transform-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAsC,MAAM,gBAAgB,CAAC;AAapF,OAAO,KAAK,EAAuB,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEjF,wBAAgB,eAAe,CAAC,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAyFpH"}
@@ -1,7 +1,7 @@
1
1
  import { createOverwriteProxy } from '../utils/object.utils.js';
2
- import { determineSchemaAccessibility, determineSchemaKind, determineSchemaName, getCustomFields, getOpenApiObjectIdentifier, transformAdditionalProperties, transformSchemaProperties, } from './helpers.js';
2
+ import { asTypeArray, determineSchemaAccessibility, determineSchemaKind, determineSchemaName, getCustomFields, getOpenApiObjectIdentifier, hasNullType, transformAdditionalProperties, transformSchemaProperties, withoutNullType, } from './helpers.js';
3
3
  export function transformSchema(ctx, schema) {
4
- var _a, _b;
4
+ var _a, _b, _c;
5
5
  if (!schema) {
6
6
  throw new Error('Schema is required.');
7
7
  }
@@ -14,25 +14,32 @@ export function transformSchema(ctx, schema) {
14
14
  if (existing)
15
15
  return existing;
16
16
  let kind = determineSchemaKind(ctx, schema);
17
- let nullable = kind === 'null';
17
+ // Read nullability from the `type` keyword as declared, before the normalisation below rewrites it. This has
18
+ // to happen independently of `kind`, because a type array with two or more non-null types deliberately keeps
19
+ // its `combined`/`object` kind and is never normalised — but it is still nullable if it lists `null`.
20
+ let nullable = hasNullType(schema.type);
18
21
  if (kind === 'multi-type') {
19
- const types = schema.type;
20
- let isSingleType = types.length === 1;
21
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
22
- if (types.includes('null') || types.includes(null)) {
23
- nullable = true;
24
- isSingleType = types.length === 2;
22
+ let remainingTypes = withoutNullType(schema.type);
23
+ if (remainingTypes.length === 0) {
24
+ // A type array that contains nothing but `null` constrains nullability only. If the schema also has a
25
+ // `$ref`, the actual type is the referenced one; otherwise the schema really is just the null type.
26
+ remainingTypes = withoutNullType(asTypeArray((_b = schema.$ref) === null || _b === void 0 ? void 0 : _b.type));
25
27
  }
26
- if (isSingleType) {
27
- const newType = types.filter((t) => t !== 'null' && t !== null)[0];
28
- schema = createOverwriteProxy(schema);
29
- schema.type = newType;
30
- kind = determineSchemaKind(ctx, schema);
28
+ if (remainingTypes.length > 1) {
29
+ // Still a genuine multi-type schema; only the `null` member is absorbed into `nullable`.
30
+ schema.type = remainingTypes;
31
31
  }
32
32
  else {
33
- schema.type = types.filter((t) => t !== 'null' && t !== null);
33
+ schema = createOverwriteProxy(schema);
34
+ // Re-asking `determineSchemaKind` rather than assuming the narrowed type's kind is what lets a sibling
35
+ // `allOf`/`anyOf` still be honoured — including for an all-`null` type array, which stays `combined`.
36
+ schema.type = remainingTypes.length === 1 ? remainingTypes[0] : 'null';
37
+ kind = determineSchemaKind(ctx, schema);
34
38
  }
35
39
  }
40
+ if (kind === 'null') {
41
+ nullable = true;
42
+ }
36
43
  const id = ctx.idGenerator.generateId('schema');
37
44
  const nameInfo = determineSchemaName(schema, id);
38
45
  const incompleteSchema = {
@@ -45,7 +52,7 @@ export function transformSchema(ctx, schema) {
45
52
  name: nameInfo.name,
46
53
  isNameGenerated: nameInfo.isGenerated,
47
54
  description: schema.description,
48
- deprecated: (_b = schema.deprecated) !== null && _b !== void 0 ? _b : false,
55
+ deprecated: (_c = schema.deprecated) !== null && _c !== void 0 ? _c : false,
49
56
  accessibility: determineSchemaAccessibility(schema),
50
57
  kind,
51
58
  enum: schema.enum,
@@ -79,9 +86,13 @@ export function transformSchema(ctx, schema) {
79
86
  return completeSchema;
80
87
  }
81
88
  function allExtensionsTransformer(schema, context) {
82
- var _a, _b, _c, _d, _e, _f;
89
+ var _a, _b, _c, _d, _e, _f, _g, _h;
90
+ // A schema with `prefixItems` is a tuple. Tuples are not modelled, but the `items` schema of a tuple only
91
+ // describes the elements *after* the prefix, so it must not be reported as the element schema of the array:
92
+ // that would actively mistype the array instead of leaving its elements unspecified.
93
+ const isTuple = ((_b = (_a = schema.prefixItems) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0;
83
94
  return {
84
- oneOf: (_b = (_a = schema.oneOf) === null || _a === void 0 ? void 0 : _a.map((s) => transformSchema(context, s))) !== null && _b !== void 0 ? _b : [],
95
+ oneOf: (_d = (_c = schema.oneOf) === null || _c === void 0 ? void 0 : _c.map((s) => transformSchema(context, s))) !== null && _d !== void 0 ? _d : [],
85
96
  format: schema.format,
86
97
  pattern: schema.pattern,
87
98
  minLength: schema.minLength,
@@ -90,9 +101,9 @@ function allExtensionsTransformer(schema, context) {
90
101
  maximum: schema.maximum,
91
102
  properties: transformSchemaProperties(context, schema, transformSchema),
92
103
  additionalProperties: transformAdditionalProperties(context, schema, transformSchema),
93
- allOf: (_d = (_c = schema.allOf) === null || _c === void 0 ? void 0 : _c.map((s) => transformSchema(context, s))) !== null && _d !== void 0 ? _d : [],
94
- anyOf: (_f = (_e = schema.anyOf) === null || _e === void 0 ? void 0 : _e.map((s) => transformSchema(context, s))) !== null && _f !== void 0 ? _f : [],
95
- items: schema.items ? transformSchema(context, schema.items) : undefined,
104
+ allOf: (_f = (_e = schema.allOf) === null || _e === void 0 ? void 0 : _e.map((s) => transformSchema(context, s))) !== null && _f !== void 0 ? _f : [],
105
+ anyOf: (_h = (_g = schema.anyOf) === null || _g === void 0 ? void 0 : _g.map((s) => transformSchema(context, s))) !== null && _h !== void 0 ? _h : [],
106
+ items: !isTuple && schema.items ? transformSchema(context, schema.items) : undefined,
96
107
  minItems: schema.minItems,
97
108
  maxItems: schema.maxItems,
98
109
  };
@@ -1 +1 @@
1
- {"version":3,"file":"file-system.utils.d.ts","sourceRoot":"","sources":["../../../src/src/utils/file-system.utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,oBAGzC,CAAC;AAEF,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKtG;AA0BD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAU1G"}
1
+ {"version":3,"file":"file-system.utils.d.ts","sourceRoot":"","sources":["../../../src/src/utils/file-system.utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,oBAGzC,CAAC;AAEF,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKtG;AAwDD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAgB1G"}
@@ -1,4 +1,4 @@
1
- import { dirname, resolve } from 'node:path';
1
+ import { basename, dirname, join, resolve } from 'node:path';
2
2
  import fs from 'fs-extra';
3
3
  export const defaultDirectoryScanOptions = {
4
4
  recursive: false,
@@ -29,13 +29,45 @@ async function getFilesImpl(dir, options, files, currentDepth) {
29
29
  }
30
30
  }
31
31
  }
32
+ /**
33
+ * Splits a file name into its base and extension, treating the extension as everything from the last dot onward
34
+ * (including the dot). A name with no dot has an empty extension. A name that is nothing but an extension (e.g.
35
+ * `.kt`) has an empty base.
36
+ */
37
+ function splitFileName(fileName) {
38
+ const dotIndex = fileName.lastIndexOf('.');
39
+ if (dotIndex === -1) {
40
+ return { base: fileName, ext: '' };
41
+ }
42
+ return { base: fileName.slice(0, dotIndex), ext: fileName.slice(dotIndex) };
43
+ }
44
+ /**
45
+ * Finds an unused path derived from `filePath` by inserting `_1` before the extension, then `_2`, and so on, until
46
+ * a path that does not yet exist is found.
47
+ */
48
+ function getCountedFilePath(filePath) {
49
+ const dir = dirname(filePath);
50
+ const { base, ext } = splitFileName(basename(filePath));
51
+ let counter = 1;
52
+ let candidate = join(dir, `${base}_${counter}${ext}`);
53
+ while (fs.existsSync(candidate)) {
54
+ counter++;
55
+ candidate = join(dir, `${base}_${counter}${ext}`);
56
+ }
57
+ return candidate;
58
+ }
32
59
  export function writeGeneratedFile(config, filePath, content) {
60
+ let targetPath = filePath;
33
61
  if (config.existingFileBehavior !== 'override' && fs.existsSync(filePath)) {
34
62
  if (config.existingFileBehavior === 'error') {
35
63
  throw new Error(`File already exists: ${filePath}`);
36
64
  }
37
- return;
65
+ if (config.existingFileBehavior === 'skip') {
66
+ return;
67
+ }
68
+ // config.existingFileBehavior === 'count'
69
+ targetPath = getCountedFilePath(filePath);
38
70
  }
39
- fs.ensureDirSync(dirname(filePath));
40
- fs.writeFileSync(filePath, content);
71
+ fs.ensureDirSync(dirname(targetPath));
72
+ fs.writeFileSync(targetPath, content);
41
73
  }