- Typescript 3.8 updates

This commit is contained in:
Ferdi Koomen 2020-09-27 14:25:19 +02:00
parent e6c423de0f
commit e65f2521b1
137 changed files with 456 additions and 435 deletions

View File

@ -4,9 +4,11 @@ module.exports = {
presets: [
['@babel/preset-env', {
targets: {
node: 'current'
}
node: true,
},
}],
['@babel/preset-typescript', {
onlyRemoveTypeImports: true,
}],
'@babel/preset-typescript',
],
};

View File

@ -15,13 +15,13 @@ module.exports = {
displayName: 'E2E',
testEnvironment: 'node',
testMatch: [
// '<rootDir>/test/e2e/v2.fetch.spec.js',
// '<rootDir>/test/e2e/v2.xhr.spec.js',
// '<rootDir>/test/e2e/v2.node.spec.js',
// '<rootDir>/test/e2e/v2.babel.spec.js',
// '<rootDir>/test/e2e/v3.fetch.spec.js',
// '<rootDir>/test/e2e/v3.xhr.spec.js',
// '<rootDir>/test/e2e/v3.node.spec.js',
'<rootDir>/test/e2e/v2.fetch.spec.js',
'<rootDir>/test/e2e/v2.xhr.spec.js',
'<rootDir>/test/e2e/v2.node.spec.js',
'<rootDir>/test/e2e/v2.babel.spec.js',
'<rootDir>/test/e2e/v3.fetch.spec.js',
'<rootDir>/test/e2e/v3.xhr.spec.js',
'<rootDir>/test/e2e/v3.node.spec.js',
'<rootDir>/test/e2e/v3.babel.spec.js',
],
},

View File

@ -59,8 +59,7 @@
"prettier": "prettier \"./src/**/*.ts\" \"./bin/index.js\" --check",
"prettier:fix": "prettier \"./src/**/*.ts\" \"./bin/index.js\" --write",
"prepublish": "yarn run clean && yarn run release",
"codecov": "codecov --token=66c30c23-8954-4892-bef9-fbaed0a2e42b",
"aap": "node test/e2e/index.js"
"codecov": "codecov --token=66c30c23-8954-4892-bef9-fbaed0a2e42b"
},
"dependencies": {
"@types/node-fetch": "2.5.7",

View File

@ -1,5 +1,5 @@
import { Model } from './Model';
import { Service } from './Service';
import type { Model } from './Model';
import type { Service } from './Service';
export interface Client {
version: string;

View File

@ -1,5 +1,5 @@
import { Enum } from './Enum';
import { Schema } from './Schema';
import type { Enum } from './Enum';
import type { Schema } from './Schema';
export interface Model extends Schema {
name: string;

View File

@ -1,6 +1,6 @@
import { OperationError } from './OperationError';
import { OperationParameters } from './OperationParameters';
import { OperationResponse } from './OperationResponse';
import type { OperationError } from './OperationError';
import type { OperationParameters } from './OperationParameters';
import type { OperationResponse } from './OperationResponse';
export interface Operation extends OperationParameters {
service: string;

View File

@ -1,4 +1,4 @@
import { Model } from './Model';
import type { Model } from './Model';
export interface OperationParameter extends Model {
in: 'path' | 'query' | 'header' | 'formData' | 'body' | 'cookie';

View File

@ -1,4 +1,4 @@
import { OperationParameter } from './OperationParameter';
import type { OperationParameter } from './OperationParameter';
export interface OperationParameters {
imports: string[];

View File

@ -1,4 +1,4 @@
import { Model } from './Model';
import type { Model } from './Model';
export interface OperationResponse extends Model {
in: 'response' | 'header';

View File

@ -1,4 +1,4 @@
import { Operation } from './Operation';
import type { Operation } from './Operation';
export interface Service {
name: string;

View File

@ -30,16 +30,16 @@ export interface Options {
* Generate the OpenAPI client. This method will read the OpenAPI specification and based on the
* given language it will generate the client, including the typed models, validation schemas,
* service layer, etc.
* @param input The relative location of the OpenAPI spec.
* @param output The relative location of the output directory.
* @param httpClient The selected httpClient (fetch or XHR).
* @param useOptions Use options or arguments functions.
* @param useUnionTypes Use inclusive union types.
* @param exportCore: Generate core client classes.
* @param exportServices: Generate services.
* @param exportModels: Generate models.
* @param exportSchemas: Generate schemas.
* @param write Write the files to disk (true or false).
* @param input The relative location of the OpenAPI spec
* @param output The relative location of the output directory
* @param httpClient The selected httpClient (fetch or XHR)
* @param useOptions Use options or arguments functions
* @param useUnionTypes Use union types instead of enums
* @param exportCore: Generate core client classes
* @param exportServices: Generate services
* @param exportModels: Generate models
* @param exportSchemas: Generate schemas
* @param write Write the files to disk (true or false)
*/
export async function generate({
input,
@ -53,8 +53,6 @@ export async function generate({
exportSchemas = false,
write = true,
}: Options): Promise<void> {
// Load the specification, read the OpenAPI version and load the
// handlebar templates for the given language
const openApi = isString(input) ? await getOpenApiSpec(input) : input;
const openApiVersion = getOpenApiVersion(openApi);
const templates = registerHandlebarTemplates();

View File

@ -1,5 +1,5 @@
import { Client } from '../../client/interfaces/Client';
import { OpenApi } from './interfaces/OpenApi';
import type { Client } from '../../client/interfaces/Client';
import type { OpenApi } from './interfaces/OpenApi';
import { getModels } from './parser/getModels';
import { getServer } from './parser/getServer';
import { getServices } from './parser/getServices';

View File

@ -1,13 +1,13 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
import { OpenApiInfo } from './OpenApiInfo';
import { OpenApiParameter } from './OpenApiParameter';
import { OpenApiPath } from './OpenApiPath';
import { OpenApiResponse } from './OpenApiResponse';
import { OpenApiSchema } from './OpenApiSchema';
import { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
import { OpenApiSecurityScheme } from './OpenApiSecurityScheme';
import { OpenApiTag } from './OpenApiTag';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiExternalDocs } from './OpenApiExternalDocs';
import type { OpenApiInfo } from './OpenApiInfo';
import type { OpenApiParameter } from './OpenApiParameter';
import type { OpenApiPath } from './OpenApiPath';
import type { OpenApiResponse } from './OpenApiResponse';
import type { OpenApiSchema } from './OpenApiSchema';
import type { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
import type { OpenApiSecurityScheme } from './OpenApiSecurityScheme';
import type { OpenApiTag } from './OpenApiTag';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md

View File

@ -1,5 +1,5 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiItems } from './OpenApiItems';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiItems } from './OpenApiItems';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#headerObject

View File

@ -1,5 +1,5 @@
import { OpenApiContact } from './OpenApiContact';
import { OpenApiLicense } from './OpenApiLicense';
import type { OpenApiContact } from './OpenApiContact';
import type { OpenApiLicense } from './OpenApiLicense';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#infoObject

View File

@ -1,4 +1,4 @@
import { WithEnumExtension } from './Extensions/WithEnumExtension';
import type { WithEnumExtension } from './Extensions/WithEnumExtension';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#itemsObject

View File

@ -1,7 +1,7 @@
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
import { OpenApiParameter } from './OpenApiParameter';
import { OpenApiResponses } from './OpenApiResponses';
import { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
import type { OpenApiExternalDocs } from './OpenApiExternalDocs';
import type { OpenApiParameter } from './OpenApiParameter';
import type { OpenApiResponses } from './OpenApiResponses';
import type { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#operationObject

View File

@ -1,7 +1,7 @@
import { WithEnumExtension } from './Extensions/WithEnumExtension';
import { OpenApiItems } from './OpenApiItems';
import { OpenApiReference } from './OpenApiReference';
import { OpenApiSchema } from './OpenApiSchema';
import type { WithEnumExtension } from './Extensions/WithEnumExtension';
import type { OpenApiItems } from './OpenApiItems';
import type { OpenApiReference } from './OpenApiReference';
import type { OpenApiSchema } from './OpenApiSchema';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#parameterObject

View File

@ -1,6 +1,6 @@
import { OpenApiOperation } from './OpenApiOperation';
import { OpenApiParameter } from './OpenApiParameter';
import { OpenApiReference } from './OpenApiReference';
import type { OpenApiOperation } from './OpenApiOperation';
import type { OpenApiParameter } from './OpenApiParameter';
import type { OpenApiReference } from './OpenApiReference';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#pathItemObject

View File

@ -1,8 +1,8 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiExample } from './OpenApiExample';
import { OpenApiHeader } from './OpenApiHeader';
import { OpenApiReference } from './OpenApiReference';
import { OpenApiSchema } from './OpenApiSchema';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiExample } from './OpenApiExample';
import type { OpenApiHeader } from './OpenApiHeader';
import type { OpenApiReference } from './OpenApiReference';
import type { OpenApiSchema } from './OpenApiSchema';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#responseObject

View File

@ -1,4 +1,4 @@
import { OpenApiResponse } from './OpenApiResponse';
import type { OpenApiResponse } from './OpenApiResponse';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#responsesObject

View File

@ -1,8 +1,8 @@
import { Dictionary } from '../../../utils/types';
import { WithEnumExtension } from './Extensions/WithEnumExtension';
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
import { OpenApiReference } from './OpenApiReference';
import { OpenApiXml } from './OpenApiXml';
import type { Dictionary } from '../../../utils/types';
import type { WithEnumExtension } from './Extensions/WithEnumExtension';
import type { OpenApiExternalDocs } from './OpenApiExternalDocs';
import type { OpenApiReference } from './OpenApiReference';
import type { OpenApiXml } from './OpenApiXml';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject

View File

@ -1,4 +1,4 @@
import { Dictionary } from '../../../utils/types';
import type { Dictionary } from '../../../utils/types';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#securitySchemeObject

View File

@ -1,4 +1,4 @@
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
import type { OpenApiExternalDocs } from './OpenApiExternalDocs';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#tagObject

View File

@ -1,5 +1,5 @@
import { Enum } from '../../../client/interfaces/Enum';
import { WithEnumExtension } from '../interfaces/Extensions/WithEnumExtension';
import type { Enum } from '../../../client/interfaces/Enum';
import type { WithEnumExtension } from '../interfaces/Extensions/WithEnumExtension';
const KEY_ENUM_NAMES = 'x-enum-varnames';
const KEY_ENUM_DESCRIPTIONS = 'x-enum-descriptions';

View File

@ -1,4 +1,4 @@
import { Enum } from '../../../client/interfaces/Enum';
import type { Enum } from '../../../client/interfaces/Enum';
import { PrimaryType } from './constants';
import { isDefined } from './isDefined';

View File

@ -1,4 +1,4 @@
import { Enum } from '../../../client/interfaces/Enum';
import type { Enum } from '../../../client/interfaces/Enum';
import { PrimaryType } from './constants';
export function getEnumFromDescription(description: string): Enum[] {

View File

@ -1,6 +1,6 @@
import { Model } from '../../../client/interfaces/Model';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
import type { Model } from '../../../client/interfaces/Model';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiSchema } from '../interfaces/OpenApiSchema';
import { PrimaryType } from './constants';
import { extendEnum } from './extendEnum';
import { getComment } from './getComment';

View File

@ -1,6 +1,6 @@
import { Model } from '../../../client/interfaces/Model';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
import type { Model } from '../../../client/interfaces/Model';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiSchema } from '../interfaces/OpenApiSchema';
import { getComment } from './getComment';
import { getType } from './getType';

View File

@ -1,4 +1,4 @@
import { Type } from '../../../client/interfaces/Type';
import type { Type } from '../../../client/interfaces/Type';
/**
* If our model has a template type, then we want to generalize that!

View File

@ -1,5 +1,5 @@
import { Model } from '../../../client/interfaces/Model';
import { OpenApi } from '../interfaces/OpenApi';
import type { Model } from '../../../client/interfaces/Model';
import type { OpenApi } from '../interfaces/OpenApi';
import { getModel } from './getModel';
import { getType } from './getType';

View File

@ -1,7 +1,7 @@
import { Operation } from '../../../client/interfaces/Operation';
import { OperationParameters } from '../../../client/interfaces/OperationParameters';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiOperation } from '../interfaces/OpenApiOperation';
import type { Operation } from '../../../client/interfaces/Operation';
import type { OperationParameters } from '../../../client/interfaces/OperationParameters';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiOperation } from '../interfaces/OpenApiOperation';
import { getComment } from './getComment';
import { getOperationErrors } from './getOperationErrors';
import { getOperationName } from './getOperationName';

View File

@ -1,5 +1,5 @@
import { OperationError } from '../../../client/interfaces/OperationError';
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
import type { OperationError } from '../../../client/interfaces/OperationError';
import type { OperationResponse } from '../../../client/interfaces/OperationResponse';
export function getOperationErrors(operationResponses: OperationResponse[]): OperationError[] {
return operationResponses

View File

@ -1,6 +1,6 @@
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
import type { OperationParameter } from '../../../client/interfaces/OperationParameter';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiParameter } from '../interfaces/OpenApiParameter';
import { PrimaryType } from './constants';
import { extendEnum } from './extendEnum';
import { getComment } from './getComment';

View File

@ -1,5 +1,5 @@
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
import type { OperationParameter } from '../../../client/interfaces/OperationParameter';
import type { OpenApiParameter } from '../interfaces/OpenApiParameter';
export function getOperationParameterDefault(parameter: OpenApiParameter, operationParameter: OperationParameter): string | undefined {
if (parameter.default === undefined) {

View File

@ -1,6 +1,6 @@
import { OperationParameters } from '../../../client/interfaces/OperationParameters';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
import type { OperationParameters } from '../../../client/interfaces/OperationParameters';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiParameter } from '../interfaces/OpenApiParameter';
import { getOperationParameter } from './getOperationParameter';
import { getRef } from './getRef';
import { sortByRequired } from './sortByRequired';

View File

@ -1,6 +1,6 @@
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiResponse } from '../interfaces/OpenApiResponse';
import type { OperationResponse } from '../../../client/interfaces/OperationResponse';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiResponse } from '../interfaces/OpenApiResponse';
import { PrimaryType } from './constants';
import { getComment } from './getComment';
import { getModel } from './getModel';

View File

@ -1,4 +1,4 @@
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
import type { OperationResponse } from '../../../client/interfaces/OperationResponse';
export function getOperationResponseHeader(operationResponses: OperationResponse[]): string | null {
const header = operationResponses.find(operationResponses => {

View File

@ -1,7 +1,7 @@
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiResponse } from '../interfaces/OpenApiResponse';
import { OpenApiResponses } from '../interfaces/OpenApiResponses';
import type { OperationResponse } from '../../../client/interfaces/OperationResponse';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiResponse } from '../interfaces/OpenApiResponse';
import type { OpenApiResponses } from '../interfaces/OpenApiResponses';
import { getOperationResponse } from './getOperationResponse';
import { getOperationResponseCode } from './getOperationResponseCode';
import { getRef } from './getRef';

View File

@ -1,5 +1,5 @@
import { Model } from '../../../client/interfaces/Model';
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
import type { Model } from '../../../client/interfaces/Model';
import type { OperationResponse } from '../../../client/interfaces/OperationResponse';
import { PrimaryType } from './constants';
function areEqual(a: Model, b: Model): boolean {

View File

@ -1,5 +1,5 @@
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiReference } from '../interfaces/OpenApiReference';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiReference } from '../interfaces/OpenApiReference';
export function getRef<T>(openApi: OpenApi, item: T & OpenApiReference): T {
if (item.$ref) {

View File

@ -1,4 +1,4 @@
import { OpenApi } from '../interfaces/OpenApi';
import type { OpenApi } from '../interfaces/OpenApi';
/**
* Get the base server url.

View File

@ -1,5 +1,5 @@
import { Service } from '../../../client/interfaces/Service';
import { OpenApi } from '../interfaces/OpenApi';
import type { Service } from '../../../client/interfaces/Service';
import type { OpenApi } from '../interfaces/OpenApi';
import { Method } from './constants';
import { getOperation } from './getOperation';
import { getOperationParameters } from './getOperationParameters';

View File

@ -1,4 +1,4 @@
import { Type } from '../../../client/interfaces/Type';
import type { Type } from '../../../client/interfaces/Type';
import { PrimaryType } from './constants';
import { getMappedType, hasMappedType } from './getMappedType';
import { stripNamespace } from './stripNamespace';

View File

@ -1,4 +1,4 @@
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
import type { OperationParameter } from '../../../client/interfaces/OperationParameter';
export function sortByRequired(a: OperationParameter, b: OperationParameter): number {
const aNeedsValue = a.isRequired && a.default === undefined;

View File

@ -1,5 +1,5 @@
import { Client } from '../../client/interfaces/Client';
import { OpenApi } from './interfaces/OpenApi';
import type { Client } from '../../client/interfaces/Client';
import type { OpenApi } from './interfaces/OpenApi';
import { getModels } from './parser/getModels';
import { getServer } from './parser/getServer';
import { getServices } from './parser/getServices';

View File

@ -1,10 +1,10 @@
import { OpenApiComponents } from './OpenApiComponents';
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
import { OpenApiInfo } from './OpenApiInfo';
import { OpenApiPaths } from './OpenApiPaths';
import { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
import { OpenApiServer } from './OpenApiServer';
import { OpenApiTag } from './OpenApiTag';
import type { OpenApiComponents } from './OpenApiComponents';
import type { OpenApiExternalDocs } from './OpenApiExternalDocs';
import type { OpenApiInfo } from './OpenApiInfo';
import type { OpenApiPaths } from './OpenApiPaths';
import type { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
import type { OpenApiServer } from './OpenApiServer';
import type { OpenApiTag } from './OpenApiTag';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md

View File

@ -1,5 +1,5 @@
import { OpenApiPath } from './OpenApiPath';
import { OpenApiReference } from './OpenApiReference';
import type { OpenApiPath } from './OpenApiPath';
import type { OpenApiReference } from './OpenApiReference';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#callbackObject

View File

@ -1,13 +1,13 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiCallback } from './OpenApiCallback';
import { OpenApiExample } from './OpenApiExample';
import { OpenApiHeader } from './OpenApiHeader';
import { OpenApiLink } from './OpenApiLink';
import { OpenApiParameter } from './OpenApiParameter';
import { OpenApiRequestBody } from './OpenApiRequestBody';
import { OpenApiResponses } from './OpenApiResponses';
import { OpenApiSchema } from './OpenApiSchema';
import { OpenApiSecurityScheme } from './OpenApiSecurityScheme';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiCallback } from './OpenApiCallback';
import type { OpenApiExample } from './OpenApiExample';
import type { OpenApiHeader } from './OpenApiHeader';
import type { OpenApiLink } from './OpenApiLink';
import type { OpenApiParameter } from './OpenApiParameter';
import type { OpenApiRequestBody } from './OpenApiRequestBody';
import type { OpenApiResponses } from './OpenApiResponses';
import type { OpenApiSchema } from './OpenApiSchema';
import type { OpenApiSecurityScheme } from './OpenApiSecurityScheme';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#componentsObject

View File

@ -1,4 +1,4 @@
import { Dictionary } from '../../../utils/types';
import type { Dictionary } from '../../../utils/types';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#discriminatorObject

View File

@ -1,5 +1,5 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiHeader } from './OpenApiHeader';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiHeader } from './OpenApiHeader';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#encodingObject

View File

@ -1,4 +1,4 @@
import { OpenApiReference } from './OpenApiReference';
import type { OpenApiReference } from './OpenApiReference';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#exampleObject

View File

@ -1,7 +1,7 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiExample } from './OpenApiExample';
import { OpenApiReference } from './OpenApiReference';
import { OpenApiSchema } from './OpenApiSchema';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiExample } from './OpenApiExample';
import type { OpenApiReference } from './OpenApiReference';
import type { OpenApiSchema } from './OpenApiSchema';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#headerObject

View File

@ -1,5 +1,5 @@
import { OpenApiContact } from './OpenApiContact';
import { OpenApiLicense } from './OpenApiLicense';
import type { OpenApiContact } from './OpenApiContact';
import type { OpenApiLicense } from './OpenApiLicense';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#infoObject

View File

@ -1,6 +1,6 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiReference } from './OpenApiReference';
import { OpenApiServer } from './OpenApiServer';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiReference } from './OpenApiReference';
import type { OpenApiServer } from './OpenApiServer';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#linkObject

View File

@ -1,8 +1,8 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiEncoding } from './OpenApiEncoding';
import { OpenApiExample } from './OpenApiExample';
import { OpenApiReference } from './OpenApiReference';
import { OpenApiSchema } from './OpenApiSchema';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiEncoding } from './OpenApiEncoding';
import type { OpenApiExample } from './OpenApiExample';
import type { OpenApiReference } from './OpenApiReference';
import type { OpenApiSchema } from './OpenApiSchema';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#mediaTypeObject

View File

@ -1,4 +1,4 @@
import { Dictionary } from '../../../utils/types';
import type { Dictionary } from '../../../utils/types';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#oauthFlowObject

View File

@ -1,4 +1,4 @@
import { OpenApiOAuthFlow } from './OpenApiOAuthFlow';
import type { OpenApiOAuthFlow } from './OpenApiOAuthFlow';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#oauthFlowsObject

View File

@ -1,11 +1,11 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiCallback } from './OpenApiCallback';
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
import { OpenApiParameter } from './OpenApiParameter';
import { OpenApiRequestBody } from './OpenApiRequestBody';
import { OpenApiResponses } from './OpenApiResponses';
import { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
import { OpenApiServer } from './OpenApiServer';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiCallback } from './OpenApiCallback';
import type { OpenApiExternalDocs } from './OpenApiExternalDocs';
import type { OpenApiParameter } from './OpenApiParameter';
import type { OpenApiRequestBody } from './OpenApiRequestBody';
import type { OpenApiResponses } from './OpenApiResponses';
import type { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
import type { OpenApiServer } from './OpenApiServer';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#operationObject

View File

@ -1,7 +1,7 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiExample } from './OpenApiExample';
import { OpenApiReference } from './OpenApiReference';
import { OpenApiSchema } from './OpenApiSchema';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiExample } from './OpenApiExample';
import type { OpenApiReference } from './OpenApiReference';
import type { OpenApiSchema } from './OpenApiSchema';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#parameterObject

View File

@ -1,6 +1,6 @@
import { OpenApiOperation } from './OpenApiOperation';
import { OpenApiParameter } from './OpenApiParameter';
import { OpenApiServer } from './OpenApiServer';
import type { OpenApiOperation } from './OpenApiOperation';
import type { OpenApiParameter } from './OpenApiParameter';
import type { OpenApiServer } from './OpenApiServer';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#pathItemObject

View File

@ -1,4 +1,4 @@
import { OpenApiPath } from './OpenApiPath';
import type { OpenApiPath } from './OpenApiPath';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#pathsObject

View File

@ -1,6 +1,6 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiMediaType } from './OpenApiMediaType';
import { OpenApiReference } from './OpenApiReference';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiMediaType } from './OpenApiMediaType';
import type { OpenApiReference } from './OpenApiReference';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#requestBodyObject

View File

@ -1,8 +1,8 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiHeader } from './OpenApiHeader';
import { OpenApiLink } from './OpenApiLink';
import { OpenApiMediaType } from './OpenApiMediaType';
import { OpenApiReference } from './OpenApiReference';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiHeader } from './OpenApiHeader';
import type { OpenApiLink } from './OpenApiLink';
import type { OpenApiMediaType } from './OpenApiMediaType';
import type { OpenApiReference } from './OpenApiReference';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#responseObject

View File

@ -1,5 +1,5 @@
import { OpenApiReference } from './OpenApiReference';
import { OpenApiResponse } from './OpenApiResponse';
import type { OpenApiReference } from './OpenApiReference';
import type { OpenApiResponse } from './OpenApiResponse';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#responsesObject

View File

@ -1,9 +1,9 @@
import { Dictionary } from '../../../utils/types';
import { WithEnumExtension } from './Extensions/WithEnumExtension';
import { OpenApiDiscriminator } from './OpenApiDiscriminator';
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
import { OpenApiReference } from './OpenApiReference';
import { OpenApiXml } from './OpenApiXml';
import type { Dictionary } from '../../../utils/types';
import type { WithEnumExtension } from './Extensions/WithEnumExtension';
import type { OpenApiDiscriminator } from './OpenApiDiscriminator';
import type { OpenApiExternalDocs } from './OpenApiExternalDocs';
import type { OpenApiReference } from './OpenApiReference';
import type { OpenApiXml } from './OpenApiXml';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject

View File

@ -1,5 +1,5 @@
import { OpenApiOAuthFlows } from './OpenApiOAuthFlows';
import { OpenApiReference } from './OpenApiReference';
import type { OpenApiOAuthFlows } from './OpenApiOAuthFlows';
import type { OpenApiReference } from './OpenApiReference';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#securitySchemeObject

View File

@ -1,5 +1,5 @@
import { Dictionary } from '../../../utils/types';
import { OpenApiServerVariable } from './OpenApiServerVariable';
import type { Dictionary } from '../../../utils/types';
import type { OpenApiServerVariable } from './OpenApiServerVariable';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#serverObject

View File

@ -1,4 +1,4 @@
import { WithEnumExtension } from './Extensions/WithEnumExtension';
import type { WithEnumExtension } from './Extensions/WithEnumExtension';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#serverVariableObject

View File

@ -1,4 +1,4 @@
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
import type { OpenApiExternalDocs } from './OpenApiExternalDocs';
/**
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#tagObject

View File

@ -1,5 +1,5 @@
import { Enum } from '../../../client/interfaces/Enum';
import { WithEnumExtension } from '../interfaces/Extensions/WithEnumExtension';
import type { Enum } from '../../../client/interfaces/Enum';
import type { WithEnumExtension } from '../interfaces/Extensions/WithEnumExtension';
const KEY_ENUM_NAMES = 'x-enum-varnames';
const KEY_ENUM_DESCRIPTIONS = 'x-enum-descriptions';

View File

@ -1,7 +1,7 @@
import { Dictionary } from '../../../utils/types';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiMediaType } from '../interfaces/OpenApiMediaType';
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
import type { Dictionary } from '../../../utils/types';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiMediaType } from '../interfaces/OpenApiMediaType';
import type { OpenApiSchema } from '../interfaces/OpenApiSchema';
import { ContentType } from './constants';
export function getContent(openApi: OpenApi, content: Dictionary<OpenApiMediaType>): OpenApiSchema | null {

View File

@ -1,4 +1,4 @@
import { Enum } from '../../../client/interfaces/Enum';
import type { Enum } from '../../../client/interfaces/Enum';
import { PrimaryType } from './constants';
import { isDefined } from './isDefined';

View File

@ -1,4 +1,4 @@
import { Enum } from '../../../client/interfaces/Enum';
import type { Enum } from '../../../client/interfaces/Enum';
import { PrimaryType } from './constants';
export function getEnumFromDescription(description: string): Enum[] {

View File

@ -1,6 +1,6 @@
import { Model } from '../../../client/interfaces/Model';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
import type { Model } from '../../../client/interfaces/Model';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiSchema } from '../interfaces/OpenApiSchema';
import { PrimaryType } from './constants';
import { extendEnum } from './extendEnum';
import { getComment } from './getComment';

View File

@ -1,5 +1,5 @@
import { Model } from '../../../client/interfaces/Model';
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
import type { Model } from '../../../client/interfaces/Model';
import type { OpenApiSchema } from '../interfaces/OpenApiSchema';
export function getModelDefault(definition: OpenApiSchema, model?: Model): string | undefined {
if (definition.default === undefined) {

View File

@ -1,6 +1,6 @@
import { Model } from '../../../client/interfaces/Model';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
import type { Model } from '../../../client/interfaces/Model';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiSchema } from '../interfaces/OpenApiSchema';
import { getComment } from './getComment';
import { getType } from './getType';

View File

@ -1,4 +1,4 @@
import { Type } from '../../../client/interfaces/Type';
import type { Type } from '../../../client/interfaces/Type';
/**
* If our model has a template type, then we want to generalize that!

View File

@ -1,5 +1,5 @@
import { Model } from '../../../client/interfaces/Model';
import { OpenApi } from '../interfaces/OpenApi';
import type { Model } from '../../../client/interfaces/Model';
import type { OpenApi } from '../interfaces/OpenApi';
import { getModel } from './getModel';
import { getType } from './getType';

View File

@ -1,8 +1,8 @@
import { Operation } from '../../../client/interfaces/Operation';
import { OperationParameters } from '../../../client/interfaces/OperationParameters';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiOperation } from '../interfaces/OpenApiOperation';
import { OpenApiRequestBody } from '../interfaces/OpenApiRequestBody';
import type { Operation } from '../../../client/interfaces/Operation';
import type { OperationParameters } from '../../../client/interfaces/OperationParameters';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiOperation } from '../interfaces/OpenApiOperation';
import type { OpenApiRequestBody } from '../interfaces/OpenApiRequestBody';
import { getComment } from './getComment';
import { getOperationErrors } from './getOperationErrors';
import { getOperationName } from './getOperationName';

View File

@ -1,5 +1,5 @@
import { OperationError } from '../../../client/interfaces/OperationError';
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
import type { OperationError } from '../../../client/interfaces/OperationError';
import type { OperationResponse } from '../../../client/interfaces/OperationResponse';
export function getOperationErrors(operationResponses: OperationResponse[]): OperationError[] {
return operationResponses

View File

@ -1,6 +1,6 @@
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
import type { OperationParameter } from '../../../client/interfaces/OperationParameter';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiParameter } from '../interfaces/OpenApiParameter';
import { PrimaryType } from './constants';
import { getComment } from './getComment';
import { getModel } from './getModel';

View File

@ -1,6 +1,6 @@
import { OperationParameters } from '../../../client/interfaces/OperationParameters';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
import type { OperationParameters } from '../../../client/interfaces/OperationParameters';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiParameter } from '../interfaces/OpenApiParameter';
import { getOperationParameter } from './getOperationParameter';
import { getRef } from './getRef';
import { sortByRequired } from './sortByRequired';

View File

@ -1,6 +1,6 @@
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiRequestBody } from '../interfaces/OpenApiRequestBody';
import type { OperationParameter } from '../../../client/interfaces/OperationParameter';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiRequestBody } from '../interfaces/OpenApiRequestBody';
import { PrimaryType } from './constants';
import { getComment } from './getComment';
import { getContent } from './getContent';

View File

@ -1,6 +1,6 @@
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiResponse } from '../interfaces/OpenApiResponse';
import type { OperationResponse } from '../../../client/interfaces/OperationResponse';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiResponse } from '../interfaces/OpenApiResponse';
import { PrimaryType } from './constants';
import { getComment } from './getComment';
import { getContent } from './getContent';

View File

@ -1,4 +1,4 @@
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
import type { OperationResponse } from '../../../client/interfaces/OperationResponse';
export function getOperationResponseHeader(operationResponses: OperationResponse[]): string | null {
const header = operationResponses.find(operationResponses => {

View File

@ -1,7 +1,7 @@
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiResponse } from '../interfaces/OpenApiResponse';
import { OpenApiResponses } from '../interfaces/OpenApiResponses';
import type { OperationResponse } from '../../../client/interfaces/OperationResponse';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiResponse } from '../interfaces/OpenApiResponse';
import type { OpenApiResponses } from '../interfaces/OpenApiResponses';
import { getOperationResponse } from './getOperationResponse';
import { getOperationResponseCode } from './getOperationResponseCode';
import { getRef } from './getRef';

View File

@ -1,5 +1,5 @@
import { Model } from '../../../client/interfaces/Model';
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
import type { Model } from '../../../client/interfaces/Model';
import type { OperationResponse } from '../../../client/interfaces/OperationResponse';
import { PrimaryType } from './constants';
function areEqual(a: Model, b: Model): boolean {

View File

@ -1,5 +1,5 @@
import { OpenApi } from '../interfaces/OpenApi';
import { OpenApiReference } from '../interfaces/OpenApiReference';
import type { OpenApi } from '../interfaces/OpenApi';
import type { OpenApiReference } from '../interfaces/OpenApiReference';
export function getRef<T>(openApi: OpenApi, item: T & OpenApiReference): T {
if (item.$ref) {

View File

@ -1,4 +1,4 @@
import { OpenApi } from '../interfaces/OpenApi';
import type { OpenApi } from '../interfaces/OpenApi';
export function getServer(openApi: OpenApi): string {
const server = openApi.servers && openApi.servers[0];

View File

@ -1,5 +1,5 @@
import { Service } from '../../../client/interfaces/Service';
import { OpenApi } from '../interfaces/OpenApi';
import type { Service } from '../../../client/interfaces/Service';
import type { OpenApi } from '../interfaces/OpenApi';
import { Method } from './constants';
import { getOperation } from './getOperation';
import { getOperationParameters } from './getOperationParameters';

View File

@ -1,4 +1,4 @@
import { Type } from '../../../client/interfaces/Type';
import type { Type } from '../../../client/interfaces/Type';
import { PrimaryType } from './constants';
import { getMappedType, hasMappedType } from './getMappedType';
import { stripNamespace } from './stripNamespace';

View File

@ -1,4 +1,4 @@
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
import type { OperationParameter } from '../../../client/interfaces/OperationParameter';
export function sortByRequired(a: OperationParameter, b: OperationParameter): number {
const aNeedsValue = a.isRequired && a.default === undefined;

View File

@ -1,6 +1,6 @@
{{>header}}
import { ApiResult } from './ApiResult';
import type { ApiResult } from './ApiResult';
export class ApiError extends Error {
public readonly url: string;

View File

@ -3,7 +3,6 @@
interface Config {
BASE: string;
VERSION: string;
CLIENT: 'fetch' | 'xhr' | 'node';
WITH_CREDENTIALS: boolean;
TOKEN: string;
}
@ -11,7 +10,6 @@ interface Config {
export const OpenAPI: Config = {
BASE: '{{{server}}}',
VERSION: '{{{version}}}',
CLIENT: '{{{httpClient}}}',
WITH_CREDENTIALS: false,
TOKEN: '',
};

View File

@ -1,8 +1,8 @@
{{>header}}
import { ApiError } from './ApiError';
import { ApiRequestOptions } from './ApiRequestOptions';
import { ApiResult } from './ApiResult';
import type { ApiRequestOptions } from './ApiRequestOptions';
import type { ApiResult } from './ApiResult';
import { OpenAPI } from './OpenAPI';
{{>functions/isDefined}}

View File

@ -1,8 +1,8 @@
{{>header}}
import { ApiError } from './ApiError';
import { ApiRequestOptions } from './ApiRequestOptions';
import { ApiResult } from './ApiResult';
import type { ApiRequestOptions } from './ApiRequestOptions';
import type { ApiResult } from './ApiResult';
import { OpenAPI } from './OpenAPI';
import fetch, { Headers, RequestInit, Response, BodyInit } from 'node-fetch';
import * as FormData from 'form-data';

View File

@ -1,8 +1,8 @@
{{>header}}
import { ApiError } from './ApiError';
import { ApiRequestOptions } from './ApiRequestOptions';
import { ApiResult } from './ApiResult';
import type { ApiRequestOptions } from './ApiRequestOptions';
import type { ApiResult } from './ApiResult';
import { OpenAPI } from './OpenAPI';
{{>functions/isDefined}}

View File

@ -2,7 +2,7 @@
{{#if imports}}
{{#each imports}}
import { {{{this}}} } from './{{{this}}}';
import type { {{{this}}} } from './{{{this}}}';
{{/each}}
{{/if}}

View File

@ -2,7 +2,7 @@
{{#if extends}}
{{#each extends}}
import { ${{{this}}} } from './${{{this}}}';
import type { ${{{this}}} } from './${{{this}}}';
{{/each}}
{{/if}}

Some files were not shown because too many files have changed in this diff Show More