@mittwald/api-code-generator 0.0.0-development-04b7288-20240610 → 0.0.0-development-74e1fd1-20240611

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 (103) hide show
  1. package/dist/esm/commands/generate/index.js +70 -0
  2. package/dist/esm/commands/validate/index.js +21 -0
  3. package/dist/esm/generation/asyncStringJoin.js +4 -0
  4. package/dist/esm/generation/asyncStringJoin.test.js +5 -0
  5. package/dist/esm/generation/compileJsonSchema.js +10 -0
  6. package/dist/esm/generation/format.js +17 -0
  7. package/dist/esm/generation/model/CodeGenerationModel.js +43 -0
  8. package/dist/esm/generation/model/components/Components.js +61 -0
  9. package/dist/esm/generation/model/components/Parameters.js +30 -0
  10. package/dist/esm/generation/model/components/RequestBodies.js +25 -0
  11. package/dist/esm/generation/model/components/Response.js +27 -0
  12. package/dist/esm/generation/model/components/ResponseContent.js +12 -0
  13. package/dist/esm/generation/model/components/Responses.js +29 -0
  14. package/dist/esm/generation/model/components/Schemas.js +25 -0
  15. package/dist/esm/generation/model/components/SecurityScheme.js +21 -0
  16. package/dist/esm/generation/model/components/SecuritySchemes.js +43 -0
  17. package/dist/esm/generation/model/global/JSONSchema.js +44 -0
  18. package/dist/esm/generation/model/global/Name.js +20 -0
  19. package/dist/esm/generation/model/global/Name.test.js +10 -0
  20. package/dist/esm/generation/model/paths/Path.js +35 -0
  21. package/dist/esm/generation/model/paths/Paths.js +192 -0
  22. package/dist/esm/generation/model/paths/operation/Operation.js +108 -0
  23. package/dist/esm/generation/model/paths/operation/RequestParameters.js +98 -0
  24. package/dist/esm/generation/model/paths/operation/responses/Response.js +25 -0
  25. package/dist/esm/generation/model/paths/operation/responses/ResponseContent.js +31 -0
  26. package/dist/esm/generation/model/paths/operation/responses/ResponseContentTypes.js +47 -0
  27. package/dist/esm/generation/model/paths/operation/responses/Responses.js +31 -0
  28. package/dist/esm/generation/model/tags/Tag.js +12 -0
  29. package/dist/esm/generation/prepareTypeScriptOutput.js +10 -0
  30. package/dist/esm/generation/refs/assertNoRefs.js +6 -0
  31. package/dist/esm/generation/refs/componentRefsToCustomTypes.js +33 -0
  32. package/dist/esm/generation/refs/componentRefsToCustomTypes.test.js +44 -0
  33. package/dist/esm/generation/refs/extractComponentRefName.js +8 -0
  34. package/dist/esm/generation/refs/isRef.js +3 -0
  35. package/dist/esm/generation/refs/refNameToTSName.js +3 -0
  36. package/dist/esm/generation/refs/refNameToTSName.test.js +9 -0
  37. package/dist/esm/generation/refs/splitRefNamespaces.js +1 -0
  38. package/dist/esm/generation/refs/splitRefNamespaces.test.js +10 -0
  39. package/dist/esm/generation/tsNamespaceName.js +2 -0
  40. package/dist/esm/generation/tsTypeName.js +6 -0
  41. package/dist/esm/generation/tsTypeName.test.js +12 -0
  42. package/dist/esm/index.js +7 -0
  43. package/dist/esm/lib/makeError.js +7 -0
  44. package/dist/esm/lib/relativePath.js +3 -0
  45. package/dist/esm/lib/writeIfChangedAsync.js +8 -0
  46. package/dist/esm/loading/UniversalContentLoader.js +65 -0
  47. package/dist/esm/loading/UniversalContentLoader.test.js +40 -0
  48. package/dist/esm/loading/UniversalFileLoader.js +42 -0
  49. package/dist/esm/loading/types.js +1 -0
  50. package/dist/esm/openapi/OpenAPISchemaValidationError.js +17 -0
  51. package/dist/esm/openapi/OpenApiSpec.js +44 -0
  52. package/dist/types/commands/generate/index.d.ts +18 -0
  53. package/dist/types/commands/validate/index.d.ts +8 -0
  54. package/dist/types/generation/asyncStringJoin.d.ts +1 -0
  55. package/dist/types/generation/asyncStringJoin.test.d.ts +1 -0
  56. package/dist/types/generation/compileJsonSchema.d.ts +2 -0
  57. package/dist/types/generation/format.d.ts +1 -0
  58. package/dist/types/generation/model/CodeGenerationModel.d.ts +19 -0
  59. package/dist/types/generation/model/components/Components.d.ts +24 -0
  60. package/dist/types/generation/model/components/Parameters.d.ts +11 -0
  61. package/dist/types/generation/model/components/RequestBodies.d.ts +13 -0
  62. package/dist/types/generation/model/components/Response.d.ts +12 -0
  63. package/dist/types/generation/model/components/ResponseContent.d.ts +10 -0
  64. package/dist/types/generation/model/components/Responses.d.ts +13 -0
  65. package/dist/types/generation/model/components/Schemas.d.ts +13 -0
  66. package/dist/types/generation/model/components/SecurityScheme.d.ts +10 -0
  67. package/dist/types/generation/model/components/SecuritySchemes.d.ts +14 -0
  68. package/dist/types/generation/model/global/JSONSchema.d.ts +13 -0
  69. package/dist/types/generation/model/global/Name.d.ts +8 -0
  70. package/dist/types/generation/model/global/Name.test.d.ts +1 -0
  71. package/dist/types/generation/model/paths/Path.d.ts +13 -0
  72. package/dist/types/generation/model/paths/Paths.d.ts +25 -0
  73. package/dist/types/generation/model/paths/operation/Operation.d.ts +24 -0
  74. package/dist/types/generation/model/paths/operation/RequestParameters.d.ts +17 -0
  75. package/dist/types/generation/model/paths/operation/responses/Response.d.ts +16 -0
  76. package/dist/types/generation/model/paths/operation/responses/ResponseContent.d.ts +12 -0
  77. package/dist/types/generation/model/paths/operation/responses/ResponseContentTypes.d.ts +16 -0
  78. package/dist/types/generation/model/paths/operation/responses/Responses.d.ts +14 -0
  79. package/dist/types/generation/model/tags/Tag.d.ts +8 -0
  80. package/dist/types/generation/prepareTypeScriptOutput.d.ts +1 -0
  81. package/dist/types/generation/refs/assertNoRefs.d.ts +2 -0
  82. package/dist/types/generation/refs/componentRefsToCustomTypes.d.ts +1 -0
  83. package/dist/types/generation/refs/componentRefsToCustomTypes.test.d.ts +1 -0
  84. package/dist/types/generation/refs/extractComponentRefName.d.ts +2 -0
  85. package/dist/types/generation/refs/isRef.d.ts +2 -0
  86. package/dist/types/generation/refs/refNameToTSName.d.ts +1 -0
  87. package/dist/types/generation/refs/refNameToTSName.test.d.ts +1 -0
  88. package/dist/types/generation/refs/splitRefNamespaces.d.ts +1 -0
  89. package/dist/types/generation/refs/splitRefNamespaces.test.d.ts +1 -0
  90. package/dist/types/generation/tsNamespaceName.d.ts +1 -0
  91. package/dist/types/generation/tsTypeName.d.ts +1 -0
  92. package/dist/types/generation/tsTypeName.test.d.ts +1 -0
  93. package/dist/types/index.d.ts +7 -0
  94. package/dist/types/lib/makeError.d.ts +1 -0
  95. package/dist/types/lib/relativePath.d.ts +1 -0
  96. package/dist/types/lib/writeIfChangedAsync.d.ts +1 -0
  97. package/dist/types/loading/UniversalContentLoader.d.ts +10 -0
  98. package/dist/types/loading/UniversalContentLoader.test.d.ts +1 -0
  99. package/dist/types/loading/UniversalFileLoader.d.ts +9 -0
  100. package/dist/types/loading/types.d.ts +4 -0
  101. package/dist/types/openapi/OpenAPISchemaValidationError.d.ts +7 -0
  102. package/dist/types/openapi/OpenApiSpec.d.ts +11 -0
  103. package/package.json +2 -2
@@ -0,0 +1,16 @@
1
+ import { Name } from "../../../global/Name.js";
2
+ import { ResponseContent } from "./ResponseContent.js";
3
+ import { Response } from "./Response.js";
4
+ import { TypeCompilationOptions } from "../../../CodeGenerationModel.js";
5
+ import { OpenAPIV3 } from "openapi-types";
6
+ export declare class ResponseContentTypes {
7
+ static readonly ns = "Content";
8
+ readonly contentTypes: ResponseContent[];
9
+ readonly name: Name;
10
+ readonly response: Response;
11
+ constructor(response: Response, responseDoc: OpenAPIV3.ResponseObject | OpenAPIV3.ReferenceObject);
12
+ private buildContentTypesFromResponseObject;
13
+ private buildContentTypesFromReferenceObject;
14
+ compileDescriptorTypes(): string;
15
+ compileTypes(opts: TypeCompilationOptions): Promise<string>;
16
+ }
@@ -0,0 +1,14 @@
1
+ import { Name } from "../../../global/Name.js";
2
+ import { Response } from "./Response.js";
3
+ import { Operation } from "../Operation.js";
4
+ import { TypeCompilationOptions } from "../../../CodeGenerationModel.js";
5
+ import { OpenAPIV3 } from "openapi-types";
6
+ export declare class Responses {
7
+ static readonly ns = "Responses";
8
+ readonly responses: Response[];
9
+ readonly operation: Operation;
10
+ readonly name: Name;
11
+ constructor(operation: Operation, responses: OpenAPIV3.ResponsesObject);
12
+ compileTypes(opts: TypeCompilationOptions): Promise<string>;
13
+ compileDescriptorTypes(): string;
14
+ }
@@ -0,0 +1,8 @@
1
+ import { Name } from "../global/Name.js";
2
+ import { OpenAPIV3 } from "openapi-types";
3
+ export declare class Tag {
4
+ readonly name: Name;
5
+ readonly description?: string;
6
+ private constructor();
7
+ static fromDoc(doc: OpenAPIV3.TagObject): Tag;
8
+ }
@@ -0,0 +1 @@
1
+ export declare const prepareTypeScriptOutput: (content: string) => Promise<string>;
@@ -0,0 +1,2 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ export declare function assertNoRefs<T extends object>(obj: T): asserts obj is Exclude<T, OpenAPIV3.ReferenceObject>;
@@ -0,0 +1 @@
1
+ export declare const componentRefsToCustomTypes: (rootNamespace: string, something: unknown, clone?: boolean) => unknown;
@@ -0,0 +1,2 @@
1
+ import { ComponentTypeName } from "../model/components/Components.js";
2
+ export declare const extractComponentRefName: (ref: string, component: ComponentTypeName) => string;
@@ -0,0 +1,2 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ export declare function isRef<T extends object>(obj: T | OpenAPIV3.ReferenceObject): obj is OpenAPIV3.ReferenceObject;
@@ -0,0 +1 @@
1
+ export declare const refNameToTSName: (rootNamespace: string, $ref: string) => string;
@@ -0,0 +1 @@
1
+ export declare const splitRefNamespaces: ($ref: string) => string[];
@@ -0,0 +1 @@
1
+ export declare const tsNamespaceName: (...parts: string[]) => string;
@@ -0,0 +1 @@
1
+ export declare const tsTypeName: (name: string) => string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export * from "./loading/UniversalContentLoader.js";
2
+ export * from "./loading/UniversalFileLoader.js";
3
+ export * from "./openapi/OpenApiSpec.js";
4
+ export * from "./generation/model/CodeGenerationModel.js";
5
+ export * from "./generation/prepareTypeScriptOutput.js";
6
+ export * from "./loading/UniversalFileLoader.js";
7
+ export * from "./lib/writeIfChangedAsync.js";
@@ -0,0 +1 @@
1
+ export declare const makeError: (error: unknown) => Error;
@@ -0,0 +1 @@
1
+ export declare const relativePath: (meta: ImportMeta, ...paths: string[]) => string;
@@ -0,0 +1 @@
1
+ export declare const writeIfChangedAsync: (filename: string, content: string) => Promise<void>;
@@ -0,0 +1,10 @@
1
+ import { FileLoader } from "./types.js";
2
+ export declare class UniversalContentLoader {
3
+ readonly fileLoader: FileLoader;
4
+ constructor(fileLoader: FileLoader);
5
+ load(): Promise<unknown>;
6
+ private static detectSourceFormat;
7
+ private static tryParseUnknown;
8
+ private static parseYaml;
9
+ private static parseJson;
10
+ }
@@ -0,0 +1,9 @@
1
+ import { FileLoader } from "./types.js";
2
+ export declare class UniversalFileLoader implements FileLoader {
3
+ readonly source: string;
4
+ constructor(source: string);
5
+ load(): Promise<string>;
6
+ private static loadFromStdin;
7
+ private static loadFromUrl;
8
+ private static loadFromFile;
9
+ }
@@ -0,0 +1,4 @@
1
+ export interface FileLoader {
2
+ source: string;
3
+ load(): Promise<string>;
4
+ }
@@ -0,0 +1,7 @@
1
+ import { OpenAPISchemaValidatorResult } from "openapi-schema-validator";
2
+ type Errors = OpenAPISchemaValidatorResult["errors"];
3
+ export declare class OpenAPISchemaValidationError extends Error {
4
+ constructor(errors: Errors);
5
+ private static mergeErrorMessage;
6
+ }
7
+ export {};
@@ -0,0 +1,11 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ interface ParserOptions {
3
+ skipValidation?: boolean;
4
+ }
5
+ export declare class OpenApiSpec {
6
+ readonly document: OpenAPIV3.Document;
7
+ constructor(document: OpenAPIV3.Document);
8
+ private static convertToOpenApi;
9
+ static parse(doc: any, opts?: ParserOptions): Promise<OpenApiSpec>;
10
+ }
11
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mittwald/api-code-generator",
3
- "version": "0.0.0-development-04b7288-20240610",
3
+ "version": "0.0.0-development-74e1fd1-20240611",
4
4
  "type": "module",
5
5
  "repository": "https://github.com/mittwald/api-client-js.git",
6
6
  "license": "MIT",
@@ -82,5 +82,5 @@
82
82
  "@oclif/plugin-plugins"
83
83
  ]
84
84
  },
85
- "gitHead": "97660b1fee614cc23b778573ba3e8ae75a961517"
85
+ "gitHead": "1cf903cbfe7720456fdf81dfe0cfed006debe130"
86
86
  }