@povio/openapi-codegen-cli 0.0.10 → 0.0.12

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 (58) hide show
  1. package/dist/commands/generate.command.d.ts +2 -0
  2. package/dist/commands/generate.d.ts +11 -0
  3. package/dist/generators/const/endpoints.const.d.ts +7 -0
  4. package/dist/generators/const/openapi.const.d.ts +6 -0
  5. package/dist/generators/const/options.const.d.ts +2 -0
  6. package/dist/generators/const/query.const.d.ts +6 -0
  7. package/dist/generators/const/zod.const.d.ts +8 -0
  8. package/dist/generators/core/SchemaResolver.class.d.ts +27 -0
  9. package/dist/generators/core/endpoints/getEndpointBody.d.ts +14 -0
  10. package/dist/generators/core/endpoints/getEndpointParameter.d.ts +11 -0
  11. package/dist/generators/core/endpoints/getEndpointsFromOpenAPIDoc.d.ts +9 -0
  12. package/dist/generators/core/getDataFromOpenAPIDoc.d.ts +11 -0
  13. package/dist/generators/core/openapi/getOpenAPISchemaComplexity.d.ts +5 -0
  14. package/dist/generators/core/openapi/getOpenAPISchemaDependencyGraph.d.ts +5 -0
  15. package/dist/generators/core/openapi/getSchemaRefsDependencyGraph.d.ts +11 -0
  16. package/dist/generators/core/zod/ZodSchema.class.d.ts +22 -0
  17. package/dist/generators/core/zod/getZodChain.d.ts +8 -0
  18. package/dist/generators/core/zod/getZodSchema.d.ts +17 -0
  19. package/dist/generators/core/zod/getZodSchemaRefs.d.ts +5 -0
  20. package/dist/generators/core/zod/getZodSchemasFromOpenAPIDoc.d.ts +8 -0
  21. package/dist/generators/core/zod/resolveZodSchemaName.d.ts +10 -0
  22. package/dist/generators/core/zod/sortZodSchemasByTopology.d.ts +7 -0
  23. package/dist/generators/core/zod/wrapCircularZodSchemas.d.ts +7 -0
  24. package/dist/generators/generate/generateEndpoints.d.ts +9 -0
  25. package/dist/generators/generate/generateModels.d.ts +9 -0
  26. package/dist/generators/generate/generateQueries.d.ts +9 -0
  27. package/dist/generators/generateCodeFromOpenAPIDoc.d.ts +6 -0
  28. package/dist/generators/types/generate.d.ts +14 -0
  29. package/dist/generators/utils/file.utils.d.ts +6 -0
  30. package/dist/generators/utils/generate/generate.endpoints.utils.d.ts +32 -0
  31. package/dist/generators/utils/generate/generate.imports.utils.d.ts +16 -0
  32. package/dist/generators/utils/generate/generate.query.utils.d.ts +2 -0
  33. package/dist/generators/utils/generate/generate.utils.d.ts +13 -0
  34. package/dist/generators/utils/generate/generate.zod.utils.d.ts +13 -0
  35. package/dist/generators/utils/hbs/hbs-template.utils.d.ts +8 -0
  36. package/dist/generators/utils/hbs/hbs.common.utils.d.ts +1 -0
  37. package/dist/generators/utils/hbs/hbs.endpoints.utils.d.ts +3 -0
  38. package/dist/generators/utils/hbs/hbs.partials.utils.d.ts +1 -0
  39. package/dist/generators/utils/hbs/hbs.query.utils.d.ts +1 -0
  40. package/dist/generators/utils/hbs/hbs.zod.utils.d.ts +3 -0
  41. package/dist/generators/utils/js.utils.d.ts +2 -0
  42. package/dist/generators/utils/math.utils.d.ts +1 -0
  43. package/dist/generators/utils/object.utils.d.ts +6 -0
  44. package/dist/generators/utils/openapi-schema.utils.d.ts +14 -0
  45. package/dist/generators/utils/openapi.utils.d.ts +26 -0
  46. package/dist/generators/utils/sort.utils.d.ts +7 -0
  47. package/dist/generators/utils/string.utils.d.ts +7 -0
  48. package/dist/generators/utils/zod-schema.utils.d.ts +6 -0
  49. package/dist/helpers/chalk.helper.d.ts +1 -0
  50. package/dist/helpers/cli.helper.d.ts +22 -0
  51. package/dist/helpers/version.helper.d.ts +4 -0
  52. package/dist/helpers/yargs.helper.d.ts +11 -0
  53. package/dist/index.d.ts +8 -0
  54. package/dist/index.js +54 -0
  55. package/dist/sh.d.ts +2 -0
  56. package/dist/sh.js +63 -64
  57. package/package.json +4 -3
  58. package/src/generators/templates/partials/endpoint-config.hbs +5 -1
@@ -0,0 +1,2 @@
1
+ import yargs from "yargs";
2
+ export declare const command: yargs.CommandModule;
@@ -0,0 +1,11 @@
1
+ export type GenerateParams = {
2
+ input: string;
3
+ output: string;
4
+ includeNamespaces: boolean;
5
+ splitByTags: boolean;
6
+ defaultTag: string;
7
+ excludeTags: string;
8
+ prettier: boolean;
9
+ verbose: boolean;
10
+ };
11
+ export declare function generate({ input, output, includeNamespaces, splitByTags, defaultTag, excludeTags, prettier, verbose, }: GenerateParams): Promise<void>;
@@ -0,0 +1,7 @@
1
+ import { Import } from "../types/generate";
2
+ export declare const DEFAULT_HEADERS: {
3
+ "Content-Type": string;
4
+ Accept: string;
5
+ };
6
+ export declare const REST_CLIENT_NAME = "AppRestClient";
7
+ export declare const REST_CLIENT_IMPORT: Import;
@@ -0,0 +1,6 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ export declare const COMPLEXITY_THRESHOLD = 2;
3
+ export declare const ALLOWED_PARAM_MEDIA_TYPES: string[];
4
+ export declare const ALLOWED_PATH_IN: string[];
5
+ export declare const ALLOWED_METHODS: OpenAPIV3.HttpMethods[];
6
+ export declare const PRIMITIVE_TYPE_LIST: string[];
@@ -0,0 +1,2 @@
1
+ import { GenerateOptions } from "../types/options";
2
+ export declare const DEFAULT_GENERATE_OPTIONS: GenerateOptions;
@@ -0,0 +1,6 @@
1
+ import { Import } from "../types/generate";
2
+ export declare const QUERY_HOOKS: {
3
+ query: string;
4
+ mutation: string;
5
+ };
6
+ export declare const QUERY_IMPORT: Import;
@@ -0,0 +1,8 @@
1
+ import { Import } from "../types/generate";
2
+ export declare const SCHEMA_SUFFIX = "Schema";
3
+ export declare const BODY_SCHEMA_SUFFIX = "Body";
4
+ export declare const PARAM_SCHEMA_SUFFIX = "Param";
5
+ export declare const RESPONSE_SCHEMA_SUFFIX = "Response";
6
+ export declare const ERROR_RESPONSE_SCHEMA_SUFFIX = "ErrorResponse";
7
+ export declare const VOID_SCHEMA = "z.void()";
8
+ export declare const ZOD_IMPORT: Import;
@@ -0,0 +1,27 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { GenerateOptions } from "../types/options";
3
+ import { getOpenAPISchemaDependencyGraph } from "./openapi/getOpenAPISchemaDependencyGraph";
4
+ import { ZodSchema } from "./zod/ZodSchema.class";
5
+ export declare class SchemaResolver {
6
+ private openApiDoc;
7
+ private options;
8
+ private schemaData;
9
+ private zodSchemaData;
10
+ private discriminatorZodSchemaData;
11
+ readonly dependencyGraph: ReturnType<typeof getOpenAPISchemaDependencyGraph>;
12
+ private get docSchemas();
13
+ private get schemaRefs();
14
+ constructor(openApiDoc: OpenAPIV3.Document, options: GenerateOptions);
15
+ getSchemaByRef(ref: string): OpenAPIV3.SchemaObject;
16
+ getZodSchemaNameByRef(ref: string): string;
17
+ getRefByZodSchemaName(zodSchemaName: string): string | undefined;
18
+ getTagByZodSchemaName(zodSchemaName: string): string;
19
+ getCodeByZodSchemaName(name: string): string | undefined;
20
+ getZodSchemaNamesByDiscriminatorCode(code: string): string[] | undefined;
21
+ setZodSchema(name: string, code: string, tag: string): void;
22
+ addZodSchemaForDiscriminatorCode(code: string, zodSchema: ZodSchema, zodSchemaName: string): void;
23
+ getDiscriminatorZodSchemaByZodSchemaName(zodSchemaName: string): ZodSchema | undefined;
24
+ getZodSchemas(): {};
25
+ private intializeSchemaInfo;
26
+ private initializeSchemaTags;
27
+ }
@@ -0,0 +1,14 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { EndpointParameter } from "src/generators/types/endpoint";
3
+ import { GenerateOptions } from "src/generators/types/options";
4
+ import { SchemaResolver } from "../SchemaResolver.class";
5
+ export declare function getEndpointBody({ resolver, operation, operationName, tag, options, }: {
6
+ resolver: SchemaResolver;
7
+ operation: OpenAPIV3.OperationObject;
8
+ operationName: string;
9
+ tag: string;
10
+ options: GenerateOptions;
11
+ }): {
12
+ endpointParameter: EndpointParameter;
13
+ requestFormat: string;
14
+ } | undefined;
@@ -0,0 +1,11 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { EndpointParameter } from "src/generators/types/endpoint";
3
+ import { GenerateOptions } from "src/generators/types/options";
4
+ import { SchemaResolver } from "../SchemaResolver.class";
5
+ export declare function getEndpointParameter({ resolver, param, operationName, tag, options, }: {
6
+ resolver: SchemaResolver;
7
+ param: OpenAPIV3.ReferenceObject | OpenAPIV3.ParameterObject;
8
+ operationName: string;
9
+ tag: string;
10
+ options: GenerateOptions;
11
+ }): EndpointParameter | undefined;
@@ -0,0 +1,9 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { Endpoint } from "../../types/endpoint";
3
+ import { GenerateOptions } from "../../types/options";
4
+ import { SchemaResolver } from "../SchemaResolver.class";
5
+ export declare function getEndpointsFromOpenAPIDoc({ openApiDoc, resolver, options, }: {
6
+ openApiDoc: OpenAPIV3.Document;
7
+ resolver: SchemaResolver;
8
+ options: GenerateOptions;
9
+ }): Endpoint[];
@@ -0,0 +1,11 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { GenerateData } from "../types/generate";
3
+ import { GenerateOptions } from "../types/options";
4
+ import { SchemaResolver } from "./SchemaResolver.class";
5
+ export declare function getDataFromOpenAPIDoc({ openApiDoc, options, }: {
6
+ openApiDoc: OpenAPIV3.Document;
7
+ options: GenerateOptions;
8
+ }): {
9
+ resolver: SchemaResolver;
10
+ data: GenerateData;
11
+ };
@@ -0,0 +1,5 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ export declare function getOpenAPISchemaComplexity({ current, schema, }: {
3
+ current: number;
4
+ schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject | undefined;
5
+ }): number;
@@ -0,0 +1,5 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ export declare function getOpenAPISchemaDependencyGraph(schemaRef: string[], getSchemaByRef: (ref: string) => OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject): {
3
+ refsDependencyGraph: Record<string, Set<string>>;
4
+ deepDependencyGraph: Record<string, Set<string>>;
5
+ };
@@ -0,0 +1,11 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ export declare function getSchemaRefsDependencyGraph({ schema, fromRef, getSchemaByRef, visitedRefs, refsDependencyGraph, }: {
3
+ schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject;
4
+ fromRef: string;
5
+ getSchemaByRef: (ref: string) => OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject;
6
+ visitedRefs?: Record<string, boolean>;
7
+ refsDependencyGraph?: Record<string, Set<string>>;
8
+ }): {
9
+ visitedRefs: Record<string, boolean>;
10
+ refsDependencyGraph: Record<string, Set<string>>;
11
+ };
@@ -0,0 +1,22 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { GenerateOptions } from "src/generators/types/options";
3
+ import { SchemaResolver } from "../SchemaResolver.class";
4
+ export type ZodSchemaMetaData = {
5
+ isRequired?: boolean;
6
+ name?: string;
7
+ parent?: ZodSchema;
8
+ referencedBy?: ZodSchema[];
9
+ };
10
+ export declare class ZodSchema {
11
+ schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject;
12
+ resolver?: SchemaResolver | undefined;
13
+ private code?;
14
+ ref?: string;
15
+ children: ZodSchema[];
16
+ meta: ZodSchemaMetaData & Required<Pick<ZodSchemaMetaData, "referencedBy">>;
17
+ constructor(schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject, resolver?: SchemaResolver | undefined, meta?: ZodSchemaMetaData);
18
+ getCodeString(tag?: string, options?: GenerateOptions): string;
19
+ get complexity(): number;
20
+ assign(code: string): this;
21
+ inherit(parent?: ZodSchema): this;
22
+ }
@@ -0,0 +1,8 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { GenerateOptions } from "../../types/options";
3
+ import { ZodSchemaMetaData } from "./ZodSchema.class";
4
+ export declare function getZodChain({ schema, meta, options, }: {
5
+ schema: OpenAPIV3.SchemaObject;
6
+ meta?: ZodSchemaMetaData;
7
+ options: GenerateOptions;
8
+ }): string;
@@ -0,0 +1,17 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { GenerateOptions } from "src/generators/types/options";
3
+ import { SchemaResolver } from "../SchemaResolver.class";
4
+ import { ZodSchema, ZodSchemaMetaData } from "./ZodSchema.class";
5
+ type GetZodSchemaParams = {
6
+ schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject;
7
+ resolver?: SchemaResolver;
8
+ meta?: ZodSchemaMetaData;
9
+ tag: string;
10
+ options: GenerateOptions;
11
+ };
12
+ /**
13
+ * @see https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject
14
+ * @see https://github.com/colinhacks/zod
15
+ */
16
+ export declare function getZodSchema({ schema, resolver, meta: inheritedMeta, tag, options }: GetZodSchemaParams): ZodSchema;
17
+ export {};
@@ -0,0 +1,5 @@
1
+ import { SchemaResolver } from "../SchemaResolver.class";
2
+ export declare function getZodSchemaRefs({ resolver, zodSchemaName }: {
3
+ resolver: SchemaResolver;
4
+ zodSchemaName: string;
5
+ }): string[];
@@ -0,0 +1,8 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { GenerateOptions } from "../../types/options";
3
+ import { SchemaResolver } from "../SchemaResolver.class";
4
+ export declare function getZodSchemasFromOpenAPIDoc({ resolver, openApiDoc, options, }: {
5
+ resolver: SchemaResolver;
6
+ openApiDoc: OpenAPIV3.Document;
7
+ options: GenerateOptions;
8
+ }): Record<string, string>;
@@ -0,0 +1,10 @@
1
+ import { GenerateOptions } from "src/generators/types/options";
2
+ import { SchemaResolver } from "../SchemaResolver.class";
3
+ import { ZodSchema } from "./ZodSchema.class";
4
+ export declare function resolveZodSchemaName({ zodSchema, fallbackName, resolver, tag, options, }: {
5
+ zodSchema: ZodSchema;
6
+ fallbackName?: string;
7
+ resolver: SchemaResolver;
8
+ tag: string;
9
+ options: GenerateOptions;
10
+ }): string;
@@ -0,0 +1,7 @@
1
+ import { SchemaResolver } from "../SchemaResolver.class";
2
+ export declare function sortZodSchemasByTopology({ resolver, zodSchemas, }: {
3
+ resolver: SchemaResolver;
4
+ zodSchemas: Record<string, string>;
5
+ }): {
6
+ [k: string]: string;
7
+ };
@@ -0,0 +1,7 @@
1
+ import { GenerateOptions } from "../../types/options";
2
+ import { SchemaResolver } from "../SchemaResolver.class";
3
+ export declare function wrapCircularZodSchemas({ resolver, zodSchemas, options, }: {
4
+ resolver: SchemaResolver;
5
+ zodSchemas: Record<string, string>;
6
+ options: GenerateOptions;
7
+ }): Record<string, string>;
@@ -0,0 +1,9 @@
1
+ import { SchemaResolver } from "../core/SchemaResolver.class";
2
+ import { GenerateData } from "../types/generate";
3
+ import { GenerateOptions } from "../types/options";
4
+ export declare function generateEndpoints({ resolver, data, tag, options, }: {
5
+ resolver: SchemaResolver;
6
+ data: GenerateData;
7
+ tag?: string;
8
+ options: GenerateOptions;
9
+ }): string | undefined;
@@ -0,0 +1,9 @@
1
+ import { SchemaResolver } from "../core/SchemaResolver.class";
2
+ import { GenerateData } from "../types/generate";
3
+ import { GenerateOptions } from "../types/options";
4
+ export declare function generateModels({ resolver, data, tag, options, }: {
5
+ resolver: SchemaResolver;
6
+ data: GenerateData;
7
+ tag?: string;
8
+ options: GenerateOptions;
9
+ }): string | undefined;
@@ -0,0 +1,9 @@
1
+ import { SchemaResolver } from "../core/SchemaResolver.class";
2
+ import { GenerateData } from "../types/generate";
3
+ import { GenerateOptions } from "../types/options";
4
+ export declare function generateQueries({ resolver, data, tag, options, }: {
5
+ resolver: SchemaResolver;
6
+ data: GenerateData;
7
+ tag?: string;
8
+ options: GenerateOptions;
9
+ }): string | undefined;
@@ -0,0 +1,6 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { GenerateOptions } from "./types/options";
3
+ export declare function generateCodeFromOpenAPIDoc({ openApiDoc, options: cliOptions, }: {
4
+ openApiDoc: OpenAPIV3.Document;
5
+ options?: Partial<GenerateOptions>;
6
+ }): void;
@@ -0,0 +1,14 @@
1
+ import { Endpoint } from "./endpoint";
2
+ export type Import = {
3
+ bindings: string[];
4
+ from: string;
5
+ };
6
+ export declare enum GenerateType {
7
+ Models = "models",
8
+ Endpoints = "endpoints",
9
+ Queries = "queries"
10
+ }
11
+ export type GenerateData = Map<string, {
12
+ endpoints: Endpoint[];
13
+ zodSchemas: Record<string, string>;
14
+ }>;
@@ -0,0 +1,6 @@
1
+ export declare function readHbsTemplateSync(fileName: string): string;
2
+ export declare function writeTsFileSync({ output, fileName, data }: {
3
+ output: string;
4
+ fileName: string;
5
+ data: string;
6
+ }): void;
@@ -0,0 +1,32 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
3
+ import { GenerateOptions } from "src/generators/types/options";
4
+ import { Endpoint } from "../../types/endpoint";
5
+ export declare const getEndpointName: (endpoint: Endpoint) => string;
6
+ export declare function getImportedEndpointName(endpoint: Endpoint, options: GenerateOptions): string;
7
+ export declare const getEndpointPath: (endpoint: Endpoint) => string;
8
+ export declare function getEndpointTag(endpoint: Endpoint, options: GenerateOptions): string;
9
+ export declare function mapEndpointParamsToFunctionParams({ resolver, endpoint, options, }: {
10
+ resolver: SchemaResolver;
11
+ endpoint: Endpoint;
12
+ options: GenerateOptions;
13
+ }): {
14
+ name: string;
15
+ type: string;
16
+ required: boolean;
17
+ }[];
18
+ export declare function getEndpointConfig(endpoint: Endpoint): {
19
+ headers?: {
20
+ Accept?: string | undefined;
21
+ "Content-Type"?: string | undefined;
22
+ } | undefined;
23
+ params?: {
24
+ name: string;
25
+ value: string;
26
+ description?: string | undefined;
27
+ type: "Query" | "Body" | "Header" | "Path";
28
+ zodSchema: string;
29
+ parameterObject?: OpenAPIV3.ParameterObject | undefined;
30
+ bodyObject?: OpenAPIV3.RequestBodyObject | undefined;
31
+ }[] | undefined;
32
+ };
@@ -0,0 +1,16 @@
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
+ import { Endpoint } from "../../types/endpoint";
3
+ import { Import } from "../../types/generate";
4
+ import { GenerateOptions } from "../../types/options";
5
+ export declare function getModelsImports({ resolver, tag, zodSchemas, zodSchemasAsTypes, options, }: {
6
+ resolver: SchemaResolver;
7
+ tag: string;
8
+ zodSchemas?: string[];
9
+ zodSchemasAsTypes?: string[];
10
+ options: GenerateOptions;
11
+ }): Import[];
12
+ export declare function getEndpointsImports({ tag, endpoints, options, }: {
13
+ tag: string;
14
+ endpoints: Endpoint[];
15
+ options: GenerateOptions;
16
+ }): Import[];
@@ -0,0 +1,2 @@
1
+ import { Endpoint } from "../../types/endpoint";
2
+ export declare const getQueryName: (endpoint: Endpoint) => string;
@@ -0,0 +1,13 @@
1
+ import { GenerateType } from "../../types/generate";
2
+ import { GenerateOptions } from "../../types/options";
3
+ export declare function getTagFileName({ type, tag, options, includeTagDir, }: {
4
+ type: GenerateType;
5
+ tag: string;
6
+ includeTagDir?: boolean;
7
+ options: GenerateOptions;
8
+ }): string;
9
+ export declare const getNamespaceName: ({ type, tag, options, }: {
10
+ type: GenerateType;
11
+ tag: string;
12
+ options: GenerateOptions;
13
+ }) => string;
@@ -0,0 +1,13 @@
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
+ import { GenerateOptions } from "src/generators/types/options";
3
+ export declare const getZodSchemaInferedTypeName: (zodSchemaName: string, options: GenerateOptions) => string;
4
+ export declare const getImportedZodSchemaName: ({ resolver, zodSchemaName, options, }: {
5
+ resolver: SchemaResolver;
6
+ zodSchemaName: string;
7
+ options: GenerateOptions;
8
+ }) => string;
9
+ export declare const getImportedZodSchemaInferedTypeName: ({ resolver, zodSchemaName, options, }: {
10
+ resolver: SchemaResolver;
11
+ zodSchemaName: string;
12
+ options: GenerateOptions;
13
+ }) => string;
@@ -0,0 +1,8 @@
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
+ import { GenerateOptions } from "../../types/options";
3
+ export declare function getHbsTemplateDelegate({ resolver, templateName, options, }: {
4
+ resolver: SchemaResolver;
5
+ templateName: string;
6
+ options: GenerateOptions;
7
+ }): HandlebarsTemplateDelegate<any>;
8
+ export declare function getHbsPartialTemplateDelegate(templateName: string): HandlebarsTemplateDelegate<any>;
@@ -0,0 +1 @@
1
+ export declare function registerCommonHbsHelpers(): void;
@@ -0,0 +1,3 @@
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
+ import { GenerateOptions } from "../../types/options";
3
+ export declare function registerEndpointsHbsHelpers(resolver: SchemaResolver, options: GenerateOptions): void;
@@ -0,0 +1 @@
1
+ export declare function registerPartialsHbsHelpers(): void;
@@ -0,0 +1 @@
1
+ export declare function registerQueryHbsHelpers(): void;
@@ -0,0 +1,3 @@
1
+ import { SchemaResolver } from "src/generators/core/SchemaResolver.class";
2
+ import { GenerateOptions } from "../../types/options";
3
+ export declare function registerZodHbsHelpers(resolver: SchemaResolver, options: GenerateOptions): void;
@@ -0,0 +1,2 @@
1
+ export declare const isValidPropertyName: (str: string) => boolean;
2
+ export declare const invalidVariableNameCharactersToCamel: (str: string) => string;
@@ -0,0 +1 @@
1
+ export declare const sum: (arr: number[]) => number;
@@ -0,0 +1,6 @@
1
+ import { Get } from "type-fest";
2
+ import { HasNestedPath, ObjectLiteral } from "../types/common";
3
+ /** Get a nested property value from a dot-delimited path. */
4
+ export declare function getNested<Path extends string, From extends ObjectLiteral, Return = HasNestedPath<Path> extends 1 ? From[Path] : Get<From, Path>>(obj: From, path: Path): Return;
5
+ /** Pick given properties in object */
6
+ export declare function pick<T extends ObjectLiteral, K extends keyof T>(obj: T, paths: K[]): Pick<T, K>;
@@ -0,0 +1,14 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ export declare function isSchemaObject(schema: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject): schema is OpenAPIV3.SchemaObject;
3
+ export declare function isArraySchemaObject(schema: OpenAPIV3.SchemaObject): schema is OpenAPIV3.ArraySchemaObject;
4
+ export declare function inferRequiredSchema(schema: OpenAPIV3.SchemaObject): {
5
+ noRequiredOnlyAllof: (OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject)[];
6
+ composedRequiredSchema: {
7
+ properties: {
8
+ [propertyName: string]: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject;
9
+ };
10
+ type: "object";
11
+ required: string[];
12
+ };
13
+ patchRequiredSchemaInLoop: (prop: OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject, getSchemaByRef: (ref: string) => OpenAPIV3.SchemaObject) => void;
14
+ };
@@ -0,0 +1,26 @@
1
+ import { OpenAPIV3 } from "openapi-types";
2
+ import { ALLOWED_PARAM_MEDIA_TYPES } from "../const/openapi.const";
3
+ import { PrimitiveType, SingleType } from "../types/openapi";
4
+ import { GenerateOptions } from "../types/options";
5
+ export declare const getSchemaRef: (schemaName: string) => string;
6
+ export declare const autocorrectRef: (ref: string) => string;
7
+ export declare const getSchemaNameByRef: (ref: string) => string;
8
+ export declare function isReferenceObject(obj: any): obj is OpenAPIV3.ReferenceObject;
9
+ export declare function normalizeString(text: string): string;
10
+ export declare function wrapWithQuotesIfNeeded(str: string): string;
11
+ export declare function unwrapQuotesIfNeeded(value: string | number): string | number;
12
+ export declare function pathParamToVariableName(name: string): string;
13
+ export declare const isPrimitiveType: (type: SingleType) => type is PrimitiveType;
14
+ export declare function primitiveTypeToTsType(type: PrimitiveType): string;
15
+ export declare function escapeControlCharacters(str: string): string;
16
+ export declare const toBoolean: (value: undefined | string | boolean, defaultValue: boolean) => boolean;
17
+ export declare function isParamMediaTypeAllowed(mediaType: string): mediaType is (typeof ALLOWED_PARAM_MEDIA_TYPES)[number] | `application/${string}json${string}` | `text/${string}`;
18
+ export declare function isMainResponseStatus(status: number): boolean;
19
+ export declare function isErrorStatus(status: number): boolean;
20
+ export declare function isMediaTypeAllowed(mediaType: string): boolean;
21
+ export declare function getOperationName(path: string, method: string, operation: OpenAPIV3.OperationObject): string;
22
+ export declare function formatTag(tag: string): string;
23
+ export declare function getOperationTag(operation: OpenAPIV3.OperationObject, options: GenerateOptions): string;
24
+ /** @example turns `/media-objects/{id}` into `MediaObjectsId` */
25
+ export declare function pathToVariableName(path: string): string;
26
+ export declare function replaceHyphenatedPath(path: string): string;
@@ -0,0 +1,7 @@
1
+ import { ObjectLiteral } from "../types/common";
2
+ /** @see https://gist.github.com/RubyTuesdayDONO/5006455 */
3
+ export declare function topologicalSort(graph: Record<string, Set<string>>): string[];
4
+ /** Sort object keys using a reference order array, sort keys not in reference order in lasts positions */
5
+ export declare function sortObjKeysFromArray<T extends ObjectLiteral>(obj: T, orderedKeys: Array<keyof T>): {
6
+ [k: string]: T[keyof T];
7
+ };
@@ -0,0 +1,7 @@
1
+ export declare const capitalize: (str: string) => string;
2
+ export declare const decapitalize: (str: string) => string;
3
+ export declare const kebabToCamel: (str: string) => string;
4
+ export declare const snakeToCamel: (str: string) => string;
5
+ export declare const nonWordCharactersToCamel: (str: string) => string;
6
+ export declare const suffixIfNeeded: (text: string, suffix?: string) => string;
7
+ export declare const removeSuffix: (text: string, suffix: string) => string;
@@ -0,0 +1,6 @@
1
+ export declare const getZodSchemaName: (name: string, schemaSuffix: string) => string;
2
+ export declare const isNamedZodSchema: (schema: string) => boolean;
3
+ export declare const getBodyZodSchemaName: (operationName: string) => string;
4
+ export declare const getParamZodSchemaName: (operationName: string, paramName: string) => string;
5
+ export declare const getMainResponseZodSchemaName: (operationName: string) => string;
6
+ export declare const getErrorResponseZodSchemaName: (operationName: string, statusCode: string) => string;
@@ -0,0 +1 @@
1
+ export declare const chk: import("chalk").ChalkInstance;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Print a variable, color it magenta if it's different from the default
3
+ * @param name
4
+ * @param value
5
+ * @param defaultValue
6
+ */
7
+ export declare function logVariable(name: string, value: any, defaultValue?: string | number): void;
8
+ export declare function logInfo(message: string): void;
9
+ export declare function logVerbose(message: string): void;
10
+ export declare function logNotice(message: string): void;
11
+ export declare function logSuccess(message: string): void;
12
+ export declare function logWarning(message: string): void;
13
+ export declare function logError(error: Error | string, message?: string): void;
14
+ export declare function logBanner(message: string): void;
15
+ /**
16
+ * Request a ENV variable from the user if not set
17
+ * @param name
18
+ * @param value
19
+ * @param suggested - the value the scripts expects and suggest
20
+ */
21
+ export declare function promptVar(name: string, value: string, suggested?: string): Promise<string>;
22
+ export declare function confirm(message: string): Promise<boolean>;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Fetch the version from package.json
3
+ */
4
+ export declare function getVersion(): string | undefined;
@@ -0,0 +1,11 @@
1
+ import "reflect-metadata";
2
+ import type { Options } from "yargs";
3
+ interface IOptionProperties extends Options {
4
+ envAlias?: string;
5
+ }
6
+ export declare function YargOption(properties: IOptionProperties): (target: object, propertyKey: string) => void;
7
+ export declare function getYargsOption<T>(target: any): Record<keyof T, IOptionProperties>;
8
+ export declare function getBuilder(options: any): (y: any) => Promise<any>;
9
+ export declare function getYargsOptions<T>(target: any): Record<keyof T, Options>;
10
+ export declare function loadYargsConfig<T>(cls: new () => T, _argv: Record<string, unknown>): Promise<T>;
11
+ export {};
@@ -0,0 +1,8 @@
1
+ import { GenerateOptions } from "./generators/types/options";
2
+ export declare function getOpenAPIDocCodegenData({ input, options: genOptions, }: {
3
+ input: string;
4
+ options?: Partial<GenerateOptions>;
5
+ }): Promise<{
6
+ resolver: import("./generators/core/SchemaResolver.class").SchemaResolver;
7
+ data: import("./generators/types/generate").GenerateData;
8
+ }>;