mirror of
https://github.com/ferdikoomen/openapi-typescript-codegen.git
synced 2025-12-08 20:16:21 +00:00
- Updates to schema editor
This commit is contained in:
parent
c6c09b5ecd
commit
fbc2e8c78b
1
.gitignore
vendored
1
.gitignore
vendored
@ -9,5 +9,6 @@ junit.xml
|
||||
.vscode
|
||||
*.iml
|
||||
dist
|
||||
archive
|
||||
coverage
|
||||
test/result
|
||||
|
||||
6
src/client/interfaces/Model.d.ts
vendored
6
src/client/interfaces/Model.d.ts
vendored
@ -1,5 +1,5 @@
|
||||
import { Enum } from './Enum';
|
||||
import { Schema } from './Schema';
|
||||
import {Schema} from "./Schema";
|
||||
|
||||
export interface Model extends Schema {
|
||||
name: string;
|
||||
@ -10,10 +10,6 @@ export interface Model extends Schema {
|
||||
link: Model | null;
|
||||
description: string | null;
|
||||
default?: any;
|
||||
isProperty: boolean;
|
||||
isReadOnly: boolean;
|
||||
isRequired: boolean;
|
||||
isNullable: boolean;
|
||||
imports: string[];
|
||||
extends: string[];
|
||||
enum: Enum[];
|
||||
|
||||
4
src/client/interfaces/OperationResult.d.ts
vendored
4
src/client/interfaces/OperationResult.d.ts
vendored
@ -1,4 +0,0 @@
|
||||
export interface OperationResult {
|
||||
type: string;
|
||||
imports: string[];
|
||||
}
|
||||
20
src/client/interfaces/Schema.d.ts
vendored
Normal file
20
src/client/interfaces/Schema.d.ts
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
export interface Schema {
|
||||
isProperty: boolean;
|
||||
isReadOnly: boolean;
|
||||
isRequired: boolean;
|
||||
isNullable: boolean;
|
||||
format?: 'int32' | 'int64' | 'float' | 'double' | 'string' | 'boolean' | 'byte' | 'binary' | 'date' | 'date-time' | 'password';
|
||||
maximum?: number;
|
||||
exclusiveMaximum?: boolean;
|
||||
minimum?: number;
|
||||
exclusiveMinimum?: boolean;
|
||||
multipleOf?: number;
|
||||
maxLength?: number;
|
||||
minLength?: number;
|
||||
pattern?: string;
|
||||
maxItems?: number;
|
||||
minItems?: number;
|
||||
uniqueItems?: boolean;
|
||||
maxProperties?: number;
|
||||
minProperties?: number;
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
import { Client } from '../../client/interfaces/Client';
|
||||
import { OpenApi } from './interfaces/OpenApi';
|
||||
import { getModels } from './parser/getModels';
|
||||
import { getServer } from './parser/getServer';
|
||||
import { getServiceVersion } from './parser/getServiceVersion';
|
||||
import { getServices } from './parser/getServices';
|
||||
import {Client} from '../../client/interfaces/Client';
|
||||
import {OpenApi} from './interfaces/OpenApi';
|
||||
import {getModels} from './parser/getModels';
|
||||
import {getServer} from './parser/getServer';
|
||||
import {getServiceVersion} from './parser/getServiceVersion';
|
||||
import {getServices} from './parser/getServices';
|
||||
|
||||
/**
|
||||
* Parse the OpenAPI specification to a Client model that contains
|
||||
|
||||
20
src/openApi/v2/interfaces/OpenApi.d.ts
vendored
20
src/openApi/v2/interfaces/OpenApi.d.ts
vendored
@ -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 {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';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md
|
||||
|
||||
4
src/openApi/v2/interfaces/OpenApiHeader.d.ts
vendored
4
src/openApi/v2/interfaces/OpenApiHeader.d.ts
vendored
@ -1,5 +1,5 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiItems } from './OpenApiItems';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiItems} from './OpenApiItems';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#headerObject
|
||||
|
||||
4
src/openApi/v2/interfaces/OpenApiInfo.d.ts
vendored
4
src/openApi/v2/interfaces/OpenApiInfo.d.ts
vendored
@ -1,5 +1,5 @@
|
||||
import { OpenApiContact } from './OpenApiContact';
|
||||
import { OpenApiLicense } from './OpenApiLicense';
|
||||
import {OpenApiContact} from './OpenApiContact';
|
||||
import {OpenApiLicense} from './OpenApiLicense';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#infoObject
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
|
||||
import { OpenApiParameter } from './OpenApiParameter';
|
||||
import { OpenApiResponses } from './OpenApiResponses';
|
||||
import { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
|
||||
import {OpenApiExternalDocs} from './OpenApiExternalDocs';
|
||||
import {OpenApiParameter} from './OpenApiParameter';
|
||||
import {OpenApiResponses} from './OpenApiResponses';
|
||||
import {OpenApiSecurityRequirement} from './OpenApiSecurityRequirement';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#operationObject
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { OpenApiItems } from './OpenApiItems';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiSchema } from './OpenApiSchema';
|
||||
import {OpenApiItems} from './OpenApiItems';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
import {OpenApiSchema} from './OpenApiSchema';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#parameterObject
|
||||
|
||||
6
src/openApi/v2/interfaces/OpenApiPath.d.ts
vendored
6
src/openApi/v2/interfaces/OpenApiPath.d.ts
vendored
@ -1,6 +1,6 @@
|
||||
import { OpenApiOperation } from './OpenApiOperation';
|
||||
import { OpenApiParameter } from './OpenApiParameter';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import {OpenApiOperation} from './OpenApiOperation';
|
||||
import {OpenApiParameter} from './OpenApiParameter';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#pathItemObject
|
||||
|
||||
10
src/openApi/v2/interfaces/OpenApiResponse.d.ts
vendored
10
src/openApi/v2/interfaces/OpenApiResponse.d.ts
vendored
@ -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 {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiExample} from './OpenApiExample';
|
||||
import {OpenApiHeader} from './OpenApiHeader';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
import {OpenApiSchema} from './OpenApiSchema';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#responseObject
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { OpenApiResponse } from './OpenApiResponse';
|
||||
import {OpenApiResponse} from './OpenApiResponse';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#responsesObject
|
||||
|
||||
8
src/openApi/v2/interfaces/OpenApiSchema.d.ts
vendored
8
src/openApi/v2/interfaces/OpenApiSchema.d.ts
vendored
@ -1,7 +1,7 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiXml } from './OpenApiXml';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiExternalDocs} from './OpenApiExternalDocs';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
import {OpenApiXml} from './OpenApiXml';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#securitySchemeObject
|
||||
|
||||
2
src/openApi/v2/interfaces/OpenApiTag.d.ts
vendored
2
src/openApi/v2/interfaces/OpenApiTag.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
|
||||
import {OpenApiExternalDocs} from './OpenApiExternalDocs';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#tagObject
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { EOL } from 'os';
|
||||
import {EOL} from 'os';
|
||||
|
||||
export function getComment(comment?: string): string | null {
|
||||
if (comment) {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Enum } from '../../../client/interfaces/Enum';
|
||||
import { PrimaryType } from './constants';
|
||||
import {Enum} from '../../../client/interfaces/Enum';
|
||||
import {PrimaryType} from './constants';
|
||||
|
||||
export function getEnum(values?: (string | number)[]): Enum[] {
|
||||
if (Array.isArray(values)) {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Enum } from '../../../client/interfaces/Enum';
|
||||
import { PrimaryType } from './constants';
|
||||
import {Enum} from '../../../client/interfaces/Enum';
|
||||
import {PrimaryType} from './constants';
|
||||
|
||||
export function getEnumFromDescription(description: string): Enum[] {
|
||||
// Check if we can find this special format string:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Enum } from '../../../client/interfaces/Enum';
|
||||
import {Enum} from '../../../client/interfaces/Enum';
|
||||
|
||||
export function getEnumValues(enumerators: Enum[]): string[] {
|
||||
// Fetch values from the symbols, just to be sure we filter out
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getMappedType } from './getMappedType';
|
||||
import {getMappedType} from './getMappedType';
|
||||
|
||||
describe('getMappedType', () => {
|
||||
it('should map types to the basics', () => {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { PrimaryType, TYPE_MAPPINGS } from './constants';
|
||||
import {PrimaryType, TYPE_MAPPINGS} from './constants';
|
||||
|
||||
/**
|
||||
* Get mapped type for given type to any basic Typescript/Javascript type.
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import { Model } from '../../../client/interfaces/Model';
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
|
||||
import { PrimaryType } from './constants';
|
||||
import { getComment } from './getComment';
|
||||
import { getEnum } from './getEnum';
|
||||
import { getEnumFromDescription } from './getEnumFromDescription';
|
||||
import { getModelProperties } from './getModelProperties';
|
||||
import { getType } from './getType';
|
||||
import {Model} from '../../../client/interfaces/Model';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiSchema} from '../interfaces/OpenApiSchema';
|
||||
import {PrimaryType} from './constants';
|
||||
import {getComment} from './getComment';
|
||||
import {getEnum} from './getEnum';
|
||||
import {getEnumFromDescription} from './getEnumFromDescription';
|
||||
import {getModelProperties} from './getModelProperties';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getModel(openApi: OpenApi, definition: OpenApiSchema, isProperty: boolean = false, name: string = ''): Model {
|
||||
const model: Model = {
|
||||
@ -21,6 +21,20 @@ export function getModel(openApi: OpenApi, definition: OpenApiSchema, isProperty
|
||||
isReadOnly: definition.readOnly === true,
|
||||
isNullable: false,
|
||||
isRequired: false,
|
||||
format: definition.format,
|
||||
maximum: definition.maximum,
|
||||
exclusiveMaximum: definition.exclusiveMaximum,
|
||||
minimum: definition.minimum,
|
||||
exclusiveMinimum: definition.exclusiveMinimum,
|
||||
multipleOf: definition.multipleOf,
|
||||
maxLength: definition.maxLength,
|
||||
minLength: definition.minLength,
|
||||
pattern: definition.pattern,
|
||||
maxItems: definition.maxItems,
|
||||
minItems: definition.minItems,
|
||||
uniqueItems: definition.uniqueItems,
|
||||
maxProperties: definition.maxProperties,
|
||||
minProperties: definition.minProperties,
|
||||
imports: [],
|
||||
extends: [],
|
||||
enum: [],
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { Model } from '../../../client/interfaces/Model';
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
|
||||
import { getComment } from './getComment';
|
||||
import { getModel } from './getModel';
|
||||
import { getType } from './getType';
|
||||
import {Model} from '../../../client/interfaces/Model';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiSchema} from '../interfaces/OpenApiSchema';
|
||||
import {getComment} from './getComment';
|
||||
import {getModel} from './getModel';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getModelProperties(openApi: OpenApi, definition: OpenApiSchema): Model[] {
|
||||
const models: Model[] = [];
|
||||
@ -25,6 +25,20 @@ export function getModelProperties(openApi: OpenApi, definition: OpenApiSchema):
|
||||
isReadOnly: property.readOnly === true,
|
||||
isRequired: propertyRequired === true,
|
||||
isNullable: false,
|
||||
format: property.format,
|
||||
maximum: property.maximum,
|
||||
exclusiveMaximum: property.exclusiveMaximum,
|
||||
minimum: property.minimum,
|
||||
exclusiveMinimum: property.exclusiveMinimum,
|
||||
multipleOf: property.multipleOf,
|
||||
maxLength: property.maxLength,
|
||||
minLength: property.minLength,
|
||||
pattern: property.pattern,
|
||||
maxItems: property.maxItems,
|
||||
minItems: property.minItems,
|
||||
uniqueItems: property.uniqueItems,
|
||||
maxProperties: property.maxProperties,
|
||||
minProperties: property.minProperties,
|
||||
imports: model.imports,
|
||||
extends: [],
|
||||
enum: [],
|
||||
@ -45,6 +59,20 @@ export function getModelProperties(openApi: OpenApi, definition: OpenApiSchema):
|
||||
isReadOnly: property.readOnly === true,
|
||||
isRequired: propertyRequired === true,
|
||||
isNullable: false,
|
||||
format: property.format,
|
||||
maximum: property.maximum,
|
||||
exclusiveMaximum: property.exclusiveMaximum,
|
||||
minimum: property.minimum,
|
||||
exclusiveMinimum: property.exclusiveMinimum,
|
||||
multipleOf: property.multipleOf,
|
||||
maxLength: property.maxLength,
|
||||
minLength: property.minLength,
|
||||
pattern: property.pattern,
|
||||
maxItems: property.maxItems,
|
||||
minItems: property.minItems,
|
||||
uniqueItems: property.uniqueItems,
|
||||
maxProperties: property.maxProperties,
|
||||
minProperties: property.minProperties,
|
||||
imports: model.imports,
|
||||
extends: model.extends,
|
||||
enum: model.enum,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getModelTemplate } from './getModelTemplate';
|
||||
import {getModelTemplate} from './getModelTemplate';
|
||||
|
||||
describe('getModelTemplate', () => {
|
||||
it('should return generic for template type', () => {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Type } from '../../../client/interfaces/Type';
|
||||
import {Type} from '../../../client/interfaces/Type';
|
||||
|
||||
/**
|
||||
* If our model has a template type, then we want to generalize that!
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Model } from '../../../client/interfaces/Model';
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { getModel } from './getModel';
|
||||
import { getType } from './getType';
|
||||
import {Model} from '../../../client/interfaces/Model';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {getModel} from './getModel';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getModels(openApi: OpenApi): Model[] {
|
||||
const models = new Map<string, Model>();
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiOperation } from '../interfaces/OpenApiOperation';
|
||||
import { Operation } from '../../../client/interfaces/Operation';
|
||||
import { getComment } from './getComment';
|
||||
import { getOperationErrors } from './getOperationErrors';
|
||||
import { getOperationName } from './getOperationName';
|
||||
import { getOperationParameters } from './getOperationParameters';
|
||||
import { getOperationPath } from './getOperationPath';
|
||||
import { getOperationResponses } from './getOperationResponses';
|
||||
import { getOperationResults } from './getOperationResults';
|
||||
import { getServiceClassName } from './getServiceClassName';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiOperation} from '../interfaces/OpenApiOperation';
|
||||
import {Operation} from '../../../client/interfaces/Operation';
|
||||
import {getComment} from './getComment';
|
||||
import {getOperationErrors} from './getOperationErrors';
|
||||
import {getOperationName} from './getOperationName';
|
||||
import {getOperationParameters} from './getOperationParameters';
|
||||
import {getOperationPath} from './getOperationPath';
|
||||
import {getOperationResponses} from './getOperationResponses';
|
||||
import {getOperationResults} from './getOperationResults';
|
||||
import {getServiceClassName} from './getServiceClassName';
|
||||
|
||||
export function getOperation(openApi: OpenApi, url: string, method: string, op: OpenApiOperation): Operation {
|
||||
const serviceName = (op.tags && op.tags[0]) || 'Service';
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { OperationError } from '../../../client/interfaces/OperationError';
|
||||
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
|
||||
import {OperationError} from '../../../client/interfaces/OperationError';
|
||||
import {OperationResponse} from '../../../client/interfaces/OperationResponse';
|
||||
|
||||
export function getOperationErrors(operationResponses: OperationResponse[]): OperationError[] {
|
||||
return operationResponses
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getOperationName } from './getOperationName';
|
||||
import {getOperationName} from './getOperationName';
|
||||
|
||||
describe('getOperationName', () => {
|
||||
it('should produce correct result', () => {
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
|
||||
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
|
||||
import { PrimaryType } from './constants';
|
||||
import { getComment } from './getComment';
|
||||
import { getEnum } from './getEnum';
|
||||
import { getEnumFromDescription } from './getEnumFromDescription';
|
||||
import { getModel } from './getModel';
|
||||
import { getOperationParameterDefault } from './getOperationParameterDefault';
|
||||
import { getOperationParameterName } from './getOperationParameterName';
|
||||
import { getType } from './getType';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiParameter} from '../interfaces/OpenApiParameter';
|
||||
import {OperationParameter} from '../../../client/interfaces/OperationParameter';
|
||||
import {PrimaryType} from './constants';
|
||||
import {getComment} from './getComment';
|
||||
import {getEnum} from './getEnum';
|
||||
import {getEnumFromDescription} from './getEnumFromDescription';
|
||||
import {getModel} from './getModel';
|
||||
import {getOperationParameterDefault} from './getOperationParameterDefault';
|
||||
import {getOperationParameterName} from './getOperationParameterName';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getOperationParameter(openApi: OpenApi, parameter: OpenApiParameter): OperationParameter {
|
||||
const operationParameter: OperationParameter = {
|
||||
@ -25,6 +25,18 @@ export function getOperationParameter(openApi: OpenApi, parameter: OpenApiParame
|
||||
isReadOnly: false,
|
||||
isRequired: parameter.required === true,
|
||||
isNullable: false,
|
||||
format: parameter.format,
|
||||
maximum: parameter.maximum,
|
||||
exclusiveMaximum: parameter.exclusiveMaximum,
|
||||
minimum: parameter.minimum,
|
||||
exclusiveMinimum: parameter.exclusiveMinimum,
|
||||
multipleOf: parameter.multipleOf,
|
||||
maxLength: parameter.maxLength,
|
||||
minLength: parameter.minLength,
|
||||
pattern: parameter.pattern,
|
||||
maxItems: parameter.maxItems,
|
||||
minItems: parameter.minItems,
|
||||
uniqueItems: parameter.uniqueItems,
|
||||
imports: [],
|
||||
extends: [],
|
||||
enum: [],
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
|
||||
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
|
||||
import {OpenApiParameter} from '../interfaces/OpenApiParameter';
|
||||
import {OperationParameter} from '../../../client/interfaces/OperationParameter';
|
||||
|
||||
export function getOperationParameterDefault(parameter: OpenApiParameter, operationParameter: OperationParameter): string | null {
|
||||
if (parameter.default === null) {
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
|
||||
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
|
||||
import { OperationParameters } from '../../../client/interfaces/OperationParameters';
|
||||
import { getOperationParameter } from './getOperationParameter';
|
||||
import { getRef } from './getRef';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiParameter} from '../interfaces/OpenApiParameter';
|
||||
import {OperationParameter} from '../../../client/interfaces/OperationParameter';
|
||||
import {OperationParameters} from '../../../client/interfaces/OperationParameters';
|
||||
import {getOperationParameter} from './getOperationParameter';
|
||||
import {getRef} from './getRef';
|
||||
|
||||
function sortByRequired(a: OperationParameter, b: OperationParameter): number {
|
||||
return a.isRequired && !b.isRequired ? -1 : !a.isRequired && b.isRequired ? 1 : 0;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getOperationPath } from './getOperationPath';
|
||||
import {getOperationPath} from './getOperationPath';
|
||||
|
||||
describe('getOperationPath', () => {
|
||||
it('should produce correct result', () => {
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiResponse } from '../interfaces/OpenApiResponse';
|
||||
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
|
||||
import { PrimaryType } from './constants';
|
||||
import { getComment } from './getComment';
|
||||
import { getModel } from './getModel';
|
||||
import { getType } from './getType';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiResponse} from '../interfaces/OpenApiResponse';
|
||||
import {OperationResponse} from '../../../client/interfaces/OperationResponse';
|
||||
import {PrimaryType} from './constants';
|
||||
import {getComment} from './getComment';
|
||||
import {getModel} from './getModel';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getOperationResponse(openApi: OpenApi, response: OpenApiResponse, responseCode: number): OperationResponse {
|
||||
const operationResponse: OperationResponse = {
|
||||
@ -46,6 +46,23 @@ export function getOperationResponse(openApi: OpenApi, response: OpenApiResponse
|
||||
operationResponse.base = model.base;
|
||||
operationResponse.template = model.template;
|
||||
operationResponse.link = model.link;
|
||||
operationResponse.isReadOnly = model.isReadOnly;
|
||||
operationResponse.isRequired = model.isRequired;
|
||||
operationResponse.isNullable = model.isNullable;
|
||||
operationResponse.format = model.format;
|
||||
operationResponse.maximum = model.maximum;
|
||||
operationResponse.exclusiveMaximum = model.exclusiveMaximum;
|
||||
operationResponse.minimum = model.minimum;
|
||||
operationResponse.exclusiveMinimum = model.exclusiveMinimum;
|
||||
operationResponse.multipleOf = model.multipleOf;
|
||||
operationResponse.maxLength = model.maxLength;
|
||||
operationResponse.minLength = model.minLength;
|
||||
operationResponse.pattern = model.pattern;
|
||||
operationResponse.maxItems = model.maxItems;
|
||||
operationResponse.minItems = model.minItems;
|
||||
operationResponse.uniqueItems = model.uniqueItems;
|
||||
operationResponse.maxProperties = model.maxProperties;
|
||||
operationResponse.minProperties = model.minProperties;
|
||||
operationResponse.imports.push(...model.imports);
|
||||
operationResponse.extends.push(...model.extends);
|
||||
operationResponse.enum.push(...model.enum);
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiResponse } from '../interfaces/OpenApiResponse';
|
||||
import { OpenApiResponses } from '../interfaces/OpenApiResponses';
|
||||
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
|
||||
import { getOperationResponse } from './getOperationResponse';
|
||||
import { getOperationResponseCode } from './getOperationResponseCode';
|
||||
import { getRef } from './getRef';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiResponse} from '../interfaces/OpenApiResponse';
|
||||
import {OpenApiResponses} from '../interfaces/OpenApiResponses';
|
||||
import {OperationResponse} from '../../../client/interfaces/OperationResponse';
|
||||
import {getOperationResponse} from './getOperationResponse';
|
||||
import {getOperationResponseCode} from './getOperationResponseCode';
|
||||
import {getRef} from './getRef';
|
||||
|
||||
export function getOperationResponses(openApi: OpenApi, responses: OpenApiResponses): OperationResponse[] {
|
||||
const operationResponses: OperationResponse[] = [];
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Model } from '../../../client/interfaces/Model';
|
||||
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
|
||||
import { PrimaryType } from './constants';
|
||||
import {Model} from '../../../client/interfaces/Model';
|
||||
import {OperationResponse} from '../../../client/interfaces/OperationResponse';
|
||||
import {PrimaryType} from './constants';
|
||||
|
||||
function areEqual(a: Model, b: Model): boolean {
|
||||
const equal = a.type === b.type && a.base === b.base && a.template === b.template;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiReference } from '../interfaces/OpenApiReference';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiReference} from '../interfaces/OpenApiReference';
|
||||
|
||||
export function getRef<T>(openApi: OpenApi, item: T & OpenApiReference): T {
|
||||
if (item.$ref) {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getServer } from './getServer';
|
||||
import {getServer} from './getServer';
|
||||
|
||||
describe('getServer', () => {
|
||||
it('should produce correct result', () => {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
|
||||
/**
|
||||
* Get the base server url.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getServiceClassName } from './getServiceClassName';
|
||||
import {getServiceClassName} from './getServiceClassName';
|
||||
|
||||
describe('getServiceClassName', () => {
|
||||
it('should produce correct result', () => {
|
||||
|
||||
@ -6,7 +6,7 @@ import camelCase from 'camelcase';
|
||||
*/
|
||||
export function getServiceClassName(value: string): string {
|
||||
const clean = value.replace(/[^\w\s\-]+/g, '_').trim();
|
||||
const name = camelCase(clean, { pascalCase: true });
|
||||
const name = camelCase(clean, {pascalCase: true});
|
||||
if (name && !name.endsWith('Service')) {
|
||||
return `${name}Service`;
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getServiceVersion } from './getServiceVersion';
|
||||
import {getServiceVersion} from './getServiceVersion';
|
||||
|
||||
describe('getServiceVersion', () => {
|
||||
it('should produce correct result', () => {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Method } from './constants';
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { Service } from '../../../client/interfaces/Service';
|
||||
import { getOperation } from './getOperation';
|
||||
import {Method} from './constants';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {Service} from '../../../client/interfaces/Service';
|
||||
import {getOperation} from './getOperation';
|
||||
|
||||
/**
|
||||
* Get the OpenAPI services
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getType } from './getType';
|
||||
import {getType} from './getType';
|
||||
|
||||
describe('getType', () => {
|
||||
it('should convert int', () => {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { PrimaryType } from './constants';
|
||||
import { Type } from '../../../client/interfaces/Type';
|
||||
import { getMappedType, hasMappedType } from './getMappedType';
|
||||
import { stripNamespace } from './stripNamespace';
|
||||
import {PrimaryType} from './constants';
|
||||
import {Type} from '../../../client/interfaces/Type';
|
||||
import {getMappedType, hasMappedType} from './getMappedType';
|
||||
import {stripNamespace} from './stripNamespace';
|
||||
|
||||
/**
|
||||
* Parse any string value into a type object.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { isPrimaryType } from './isPrimaryType';
|
||||
import {isPrimaryType} from './isPrimaryType';
|
||||
|
||||
describe('isPrimaryType', () => {
|
||||
it('should return true for primary types', () => {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { PrimaryType } from './constants';
|
||||
import {PrimaryType} from './constants';
|
||||
|
||||
/**
|
||||
* Check if given type is a primary type.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { stripNamespace } from './stripNamespace';
|
||||
import {stripNamespace} from './stripNamespace';
|
||||
|
||||
describe('stripNamespace', () => {
|
||||
it('should strip namespace', () => {
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { Client } from '../../client/interfaces/Client';
|
||||
import { OpenApi } from './interfaces/OpenApi';
|
||||
import { getModels } from './parser/getModels';
|
||||
import { getServer } from './parser/getServer';
|
||||
import { getServiceVersion } from './parser/getServiceVersion';
|
||||
import { getServices } from './parser/getServices';
|
||||
import {Client} from '../../client/interfaces/Client';
|
||||
import {OpenApi} from './interfaces/OpenApi';
|
||||
import {getModels} from './parser/getModels';
|
||||
import {getServer} from './parser/getServer';
|
||||
import {getServiceVersion} from './parser/getServiceVersion';
|
||||
import {getServices} from './parser/getServices';
|
||||
|
||||
/**
|
||||
* Parse the OpenAPI specification to a Client model that contains
|
||||
|
||||
14
src/openApi/v3/interfaces/OpenApi.d.ts
vendored
14
src/openApi/v3/interfaces/OpenApi.d.ts
vendored
@ -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 {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';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { OpenApiPath } from './OpenApiPath';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import {OpenApiPath} from './OpenApiPath';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#callbackObject
|
||||
|
||||
20
src/openApi/v3/interfaces/OpenApiComponents.d.ts
vendored
20
src/openApi/v3/interfaces/OpenApiComponents.d.ts
vendored
@ -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 {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';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#componentsObject
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#discriminatorObject
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiHeader } from './OpenApiHeader';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiHeader} from './OpenApiHeader';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#encodingObject
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#exampleObject
|
||||
|
||||
8
src/openApi/v3/interfaces/OpenApiHeader.d.ts
vendored
8
src/openApi/v3/interfaces/OpenApiHeader.d.ts
vendored
@ -1,7 +1,7 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiExample } from './OpenApiExample';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiSchema } from './OpenApiSchema';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiExample} from './OpenApiExample';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
import {OpenApiSchema} from './OpenApiSchema';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#headerObject
|
||||
|
||||
4
src/openApi/v3/interfaces/OpenApiInfo.d.ts
vendored
4
src/openApi/v3/interfaces/OpenApiInfo.d.ts
vendored
@ -1,5 +1,5 @@
|
||||
import { OpenApiContact } from './OpenApiContact';
|
||||
import { OpenApiLicense } from './OpenApiLicense';
|
||||
import {OpenApiContact} from './OpenApiContact';
|
||||
import {OpenApiLicense} from './OpenApiLicense';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#infoObject
|
||||
|
||||
6
src/openApi/v3/interfaces/OpenApiLink.d.ts
vendored
6
src/openApi/v3/interfaces/OpenApiLink.d.ts
vendored
@ -1,6 +1,6 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiServer } from './OpenApiServer';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
import {OpenApiServer} from './OpenApiServer';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#linkObject
|
||||
|
||||
10
src/openApi/v3/interfaces/OpenApiMediaType.d.ts
vendored
10
src/openApi/v3/interfaces/OpenApiMediaType.d.ts
vendored
@ -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 {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiEncoding} from './OpenApiEncoding';
|
||||
import {OpenApiExample} from './OpenApiExample';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
import {OpenApiSchema} from './OpenApiSchema';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#mediaTypeObject
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#oauthFlowObject
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { OpenApiOAuthFlow } from './OpenApiOAuthFlow';
|
||||
import {OpenApiOAuthFlow} from './OpenApiOAuthFlow';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#oauthFlowsObject
|
||||
|
||||
16
src/openApi/v3/interfaces/OpenApiOperation.d.ts
vendored
16
src/openApi/v3/interfaces/OpenApiOperation.d.ts
vendored
@ -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 {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';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#operationObject
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiExample } from './OpenApiExample';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiSchema } from './OpenApiSchema';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiExample} from './OpenApiExample';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
import {OpenApiSchema} from './OpenApiSchema';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#parameterObject
|
||||
|
||||
6
src/openApi/v3/interfaces/OpenApiPath.d.ts
vendored
6
src/openApi/v3/interfaces/OpenApiPath.d.ts
vendored
@ -1,6 +1,6 @@
|
||||
import { OpenApiOperation } from './OpenApiOperation';
|
||||
import { OpenApiParameter } from './OpenApiParameter';
|
||||
import { OpenApiServer } from './OpenApiServer';
|
||||
import {OpenApiOperation} from './OpenApiOperation';
|
||||
import {OpenApiParameter} from './OpenApiParameter';
|
||||
import {OpenApiServer} from './OpenApiServer';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#pathItemObject
|
||||
|
||||
2
src/openApi/v3/interfaces/OpenApiPaths.d.ts
vendored
2
src/openApi/v3/interfaces/OpenApiPaths.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
import { OpenApiPath } from './OpenApiPath';
|
||||
import {OpenApiPath} from './OpenApiPath';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#pathsObject
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiMediaType } from './OpenApiMediaType';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiMediaType} from './OpenApiMediaType';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#requestBodyObject
|
||||
|
||||
10
src/openApi/v3/interfaces/OpenApiResponse.d.ts
vendored
10
src/openApi/v3/interfaces/OpenApiResponse.d.ts
vendored
@ -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 {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiHeader} from './OpenApiHeader';
|
||||
import {OpenApiLink} from './OpenApiLink';
|
||||
import {OpenApiMediaType} from './OpenApiMediaType';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#responseObject
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiResponse } from './OpenApiResponse';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
import {OpenApiResponse} from './OpenApiResponse';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#responsesObject
|
||||
|
||||
12
src/openApi/v3/interfaces/OpenApiSchema.d.ts
vendored
12
src/openApi/v3/interfaces/OpenApiSchema.d.ts
vendored
@ -1,8 +1,8 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiDiscriminator } from './OpenApiDiscriminator';
|
||||
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiXml } from './OpenApiXml';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiDiscriminator} from './OpenApiDiscriminator';
|
||||
import {OpenApiExternalDocs} from './OpenApiExternalDocs';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
import {OpenApiXml} from './OpenApiXml';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject
|
||||
@ -19,7 +19,7 @@ export interface OpenApiSchema extends OpenApiReference {
|
||||
pattern?: string;
|
||||
maxItems?: number;
|
||||
minItems?: number;
|
||||
uniqueItems?: number;
|
||||
uniqueItems?: boolean;
|
||||
maxProperties?: number;
|
||||
minProperties?: number;
|
||||
required?: string[];
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { OpenApiOAuthFlows } from './OpenApiOAuthFlows';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import {OpenApiOAuthFlows} from './OpenApiOAuthFlows';
|
||||
import {OpenApiReference} from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#securitySchemeObject
|
||||
|
||||
4
src/openApi/v3/interfaces/OpenApiServer.d.ts
vendored
4
src/openApi/v3/interfaces/OpenApiServer.d.ts
vendored
@ -1,5 +1,5 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiServerVariable } from './OpenApiServerVariable';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
import {OpenApiServerVariable} from './OpenApiServerVariable';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#serverObject
|
||||
|
||||
2
src/openApi/v3/interfaces/OpenApiTag.d.ts
vendored
2
src/openApi/v3/interfaces/OpenApiTag.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
|
||||
import {OpenApiExternalDocs} from './OpenApiExternalDocs';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#tagObject
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { EOL } from 'os';
|
||||
import {EOL} from 'os';
|
||||
|
||||
export function getComment(comment?: string): string | null {
|
||||
if (comment) {
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { ContentType } from './constants';
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiMediaType } from '../interfaces/OpenApiMediaType';
|
||||
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
|
||||
import {ContentType} from './constants';
|
||||
import {Dictionary} from '../../../utils/types';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiMediaType} from '../interfaces/OpenApiMediaType';
|
||||
import {OpenApiSchema} from '../interfaces/OpenApiSchema';
|
||||
|
||||
export function getContent(openApi: OpenApi, content: Dictionary<OpenApiMediaType>): OpenApiSchema | null {
|
||||
/* prettier-ignore */
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Enum } from '../../../client/interfaces/Enum';
|
||||
import { PrimaryType } from './constants';
|
||||
import {Enum} from '../../../client/interfaces/Enum';
|
||||
import {PrimaryType} from './constants';
|
||||
|
||||
export function getEnum(values?: (string | number)[]): Enum[] {
|
||||
if (Array.isArray(values)) {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Enum } from '../../../client/interfaces/Enum';
|
||||
import { PrimaryType } from './constants';
|
||||
import {Enum} from '../../../client/interfaces/Enum';
|
||||
import {PrimaryType} from './constants';
|
||||
|
||||
export function getEnumFromDescription(description: string): Enum[] {
|
||||
// Check if we can find this special format string:
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Enum } from '../../../client/interfaces/Enum';
|
||||
import {Enum} from '../../../client/interfaces/Enum';
|
||||
|
||||
export function getEnumValues(enumerators: Enum[]): string[] {
|
||||
// Fetch values from the symbols, just to be sure we filter out
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getMappedType } from './getMappedType';
|
||||
import {getMappedType} from './getMappedType';
|
||||
|
||||
describe('getMappedType', () => {
|
||||
it('should map types to the basics', () => {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { PrimaryType, TYPE_MAPPINGS } from './constants';
|
||||
import {PrimaryType, TYPE_MAPPINGS} from './constants';
|
||||
|
||||
/**
|
||||
* Get mapped type for given type to any basic Typescript/Javascript type.
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import { Model } from '../../../client/interfaces/Model';
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
|
||||
import { PrimaryType } from './constants';
|
||||
import { getComment } from './getComment';
|
||||
import { getEnum } from './getEnum';
|
||||
import { getEnumFromDescription } from './getEnumFromDescription';
|
||||
import { getModelDefault } from './getModelDefault';
|
||||
import { getModelProperties } from './getModelProperties';
|
||||
import { getType } from './getType';
|
||||
import {Model} from '../../../client/interfaces/Model';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiSchema} from '../interfaces/OpenApiSchema';
|
||||
import {PrimaryType} from './constants';
|
||||
import {getComment} from './getComment';
|
||||
import {getEnum} from './getEnum';
|
||||
import {getEnumFromDescription} from './getEnumFromDescription';
|
||||
import {getModelDefault} from './getModelDefault';
|
||||
import {getModelProperties} from './getModelProperties';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getModel(openApi: OpenApi, definition: OpenApiSchema, isProperty: boolean = false, name: string = ''): Model {
|
||||
const model: Model = {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Model } from '../../../client/interfaces/Model';
|
||||
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
|
||||
import {Model} from '../../../client/interfaces/Model';
|
||||
import {OpenApiSchema} from '../interfaces/OpenApiSchema';
|
||||
|
||||
export function getModelDefault(definition: OpenApiSchema, model?: Model): string | null {
|
||||
if (definition.default === null) {
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { Model } from '../../../client/interfaces/Model';
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
|
||||
import { getComment } from './getComment';
|
||||
import { getModel } from './getModel';
|
||||
import { getType } from './getType';
|
||||
import {Model} from '../../../client/interfaces/Model';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiSchema} from '../interfaces/OpenApiSchema';
|
||||
import {getComment} from './getComment';
|
||||
import {getModel} from './getModel';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getModelProperties(openApi: OpenApi, definition: OpenApiSchema): Model[] {
|
||||
const models: Model[] = [];
|
||||
@ -25,6 +25,20 @@ export function getModelProperties(openApi: OpenApi, definition: OpenApiSchema):
|
||||
isReadOnly: property.readOnly === true,
|
||||
isRequired: propertyRequired === true,
|
||||
isNullable: property.nullable === true,
|
||||
format: property.format,
|
||||
maximum: property.maximum,
|
||||
exclusiveMaximum: property.exclusiveMaximum,
|
||||
minimum: property.minimum,
|
||||
exclusiveMinimum: property.exclusiveMinimum,
|
||||
multipleOf: property.multipleOf,
|
||||
maxLength: property.maxLength,
|
||||
minLength: property.minLength,
|
||||
pattern: property.pattern,
|
||||
maxItems: property.maxItems,
|
||||
minItems: property.minItems,
|
||||
uniqueItems: property.uniqueItems,
|
||||
maxProperties: property.maxProperties,
|
||||
minProperties: property.minProperties,
|
||||
imports: model.imports,
|
||||
extends: [],
|
||||
enum: [],
|
||||
@ -45,6 +59,20 @@ export function getModelProperties(openApi: OpenApi, definition: OpenApiSchema):
|
||||
isReadOnly: property.readOnly === true,
|
||||
isRequired: propertyRequired === true,
|
||||
isNullable: property.nullable === true,
|
||||
format: property.format,
|
||||
maximum: property.maximum,
|
||||
exclusiveMaximum: property.exclusiveMaximum,
|
||||
minimum: property.minimum,
|
||||
exclusiveMinimum: property.exclusiveMinimum,
|
||||
multipleOf: property.multipleOf,
|
||||
maxLength: property.maxLength,
|
||||
minLength: property.minLength,
|
||||
pattern: property.pattern,
|
||||
maxItems: property.maxItems,
|
||||
minItems: property.minItems,
|
||||
uniqueItems: property.uniqueItems,
|
||||
maxProperties: property.maxProperties,
|
||||
minProperties: property.minProperties,
|
||||
imports: model.imports,
|
||||
extends: model.extends,
|
||||
enum: model.enum,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getModelTemplate } from './getModelTemplate';
|
||||
import {getModelTemplate} from './getModelTemplate';
|
||||
|
||||
describe('getModelTemplate', () => {
|
||||
it('should return generic for template type', () => {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Type } from '../../../client/interfaces/Type';
|
||||
import {Type} from '../../../client/interfaces/Type';
|
||||
|
||||
/**
|
||||
* If our model has a template type, then we want to generalize that!
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Model } from '../../../client/interfaces/Model';
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { getModel } from './getModel';
|
||||
import { getType } from './getType';
|
||||
import {Model} from '../../../client/interfaces/Model';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {getModel} from './getModel';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getModels(openApi: OpenApi): Model[] {
|
||||
const models = new Map<string, Model>();
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiOperation } from '../interfaces/OpenApiOperation';
|
||||
import { Operation } from '../../../client/interfaces/Operation';
|
||||
import { getComment } from './getComment';
|
||||
import { getOperationErrors } from './getOperationErrors';
|
||||
import { getOperationName } from './getOperationName';
|
||||
import { getOperationParameters } from './getOperationParameters';
|
||||
import { getOperationPath } from './getOperationPath';
|
||||
import { getOperationRequestBody } from './getOperationRequestBody';
|
||||
import { getOperationResponses } from './getOperationResponses';
|
||||
import { getOperationResults } from './getOperationResults';
|
||||
import { getServiceClassName } from './getServiceClassName';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiOperation} from '../interfaces/OpenApiOperation';
|
||||
import {Operation} from '../../../client/interfaces/Operation';
|
||||
import {getComment} from './getComment';
|
||||
import {getOperationErrors} from './getOperationErrors';
|
||||
import {getOperationName} from './getOperationName';
|
||||
import {getOperationParameters} from './getOperationParameters';
|
||||
import {getOperationPath} from './getOperationPath';
|
||||
import {getOperationRequestBody} from './getOperationRequestBody';
|
||||
import {getOperationResponses} from './getOperationResponses';
|
||||
import {getOperationResults} from './getOperationResults';
|
||||
import {getServiceClassName} from './getServiceClassName';
|
||||
|
||||
export function getOperation(openApi: OpenApi, url: string, method: string, op: OpenApiOperation): Operation {
|
||||
const serviceName = (op.tags && op.tags[0]) || 'Service';
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { OperationError } from '../../../client/interfaces/OperationError';
|
||||
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
|
||||
import {OperationError} from '../../../client/interfaces/OperationError';
|
||||
import {OperationResponse} from '../../../client/interfaces/OperationResponse';
|
||||
|
||||
export function getOperationErrors(operationResponses: OperationResponse[]): OperationError[] {
|
||||
return operationResponses
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getOperationName } from './getOperationName';
|
||||
import {getOperationName} from './getOperationName';
|
||||
|
||||
describe('getOperationName', () => {
|
||||
it('should produce correct result', () => {
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
|
||||
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
|
||||
import { PrimaryType } from './constants';
|
||||
import { getComment } from './getComment';
|
||||
import { getModel } from './getModel';
|
||||
import { getModelDefault } from './getModelDefault';
|
||||
import { getOperationParameterName } from './getOperationParameterName';
|
||||
import { getType } from './getType';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiParameter} from '../interfaces/OpenApiParameter';
|
||||
import {OperationParameter} from '../../../client/interfaces/OperationParameter';
|
||||
import {PrimaryType} from './constants';
|
||||
import {getComment} from './getComment';
|
||||
import {getModel} from './getModel';
|
||||
import {getModelDefault} from './getModelDefault';
|
||||
import {getOperationParameterName} from './getOperationParameterName';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getOperationParameter(openApi: OpenApi, parameter: OpenApiParameter): OperationParameter {
|
||||
const operationParameter: OperationParameter = {
|
||||
@ -49,6 +49,7 @@ export function getOperationParameter(openApi: OpenApi, parameter: OpenApiParame
|
||||
operationParameter.template = model.template;
|
||||
operationParameter.imports.push(...model.imports);
|
||||
operationParameter.default = getModelDefault(parameter.schema);
|
||||
operationParameter.isRequired = operationParameter.default || operationParameter.isRequired;
|
||||
|
||||
return operationParameter;
|
||||
} else {
|
||||
@ -58,7 +59,25 @@ export function getOperationParameter(openApi: OpenApi, parameter: OpenApiParame
|
||||
operationParameter.base = model.base;
|
||||
operationParameter.template = model.template;
|
||||
operationParameter.link = model.link;
|
||||
operationParameter.isReadOnly = model.isReadOnly;
|
||||
operationParameter.isRequired = model.isRequired;
|
||||
operationParameter.isNullable = model.isNullable;
|
||||
operationParameter.format = model.format;
|
||||
operationParameter.maximum = model.maximum;
|
||||
operationParameter.exclusiveMaximum = model.exclusiveMaximum;
|
||||
operationParameter.minimum = model.minimum;
|
||||
operationParameter.exclusiveMinimum = model.exclusiveMinimum;
|
||||
operationParameter.multipleOf = model.multipleOf;
|
||||
operationParameter.maxLength = model.maxLength;
|
||||
operationParameter.minLength = model.minLength;
|
||||
operationParameter.pattern = model.pattern;
|
||||
operationParameter.maxItems = model.maxItems;
|
||||
operationParameter.minItems = model.minItems;
|
||||
operationParameter.uniqueItems = model.uniqueItems;
|
||||
operationParameter.maxProperties = model.maxProperties;
|
||||
operationParameter.minProperties = model.minProperties;
|
||||
operationParameter.default = model.default;
|
||||
operationParameter.isRequired = model.default || model.isRequired;
|
||||
operationParameter.imports.push(...model.imports);
|
||||
operationParameter.extends.push(...model.extends);
|
||||
operationParameter.enum.push(...model.enum);
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
|
||||
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
|
||||
import { OperationParameters } from '../../../client/interfaces/OperationParameters';
|
||||
import { getOperationParameter } from './getOperationParameter';
|
||||
import { getRef } from './getRef';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiParameter} from '../interfaces/OpenApiParameter';
|
||||
import {OperationParameter} from '../../../client/interfaces/OperationParameter';
|
||||
import {OperationParameters} from '../../../client/interfaces/OperationParameters';
|
||||
import {getOperationParameter} from './getOperationParameter';
|
||||
import {getRef} from './getRef';
|
||||
|
||||
function sortByRequired(a: OperationParameter, b: OperationParameter): number {
|
||||
return a.isRequired && !b.isRequired ? -1 : !a.isRequired && b.isRequired ? 1 : 0;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getOperationPath } from './getOperationPath';
|
||||
import {getOperationPath} from './getOperationPath';
|
||||
|
||||
describe('getOperationPath', () => {
|
||||
it('should produce correct result', () => {
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiRequestBody } from '../interfaces/OpenApiRequestBody';
|
||||
import { OperationParameter } from '../../../client/interfaces/OperationParameter';
|
||||
import { PrimaryType } from './constants';
|
||||
import { getComment } from './getComment';
|
||||
import { getContent } from './getContent';
|
||||
import { getModel } from './getModel';
|
||||
import { getType } from './getType';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiRequestBody} from '../interfaces/OpenApiRequestBody';
|
||||
import {OperationParameter} from '../../../client/interfaces/OperationParameter';
|
||||
import {PrimaryType} from './constants';
|
||||
import {getComment} from './getComment';
|
||||
import {getContent} from './getContent';
|
||||
import {getModel} from './getModel';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getOperationRequestBody(openApi: OpenApi, parameter: OpenApiRequestBody): OperationParameter {
|
||||
const requestBody: OperationParameter = {
|
||||
@ -47,6 +47,23 @@ export function getOperationRequestBody(openApi: OpenApi, parameter: OpenApiRequ
|
||||
requestBody.base = model.base;
|
||||
requestBody.template = model.template;
|
||||
requestBody.link = model.link;
|
||||
requestBody.isReadOnly = model.isReadOnly;
|
||||
requestBody.isRequired = model.isRequired;
|
||||
requestBody.isNullable = model.isNullable;
|
||||
requestBody.format = model.format;
|
||||
requestBody.maximum = model.maximum;
|
||||
requestBody.exclusiveMaximum = model.exclusiveMaximum;
|
||||
requestBody.minimum = model.minimum;
|
||||
requestBody.exclusiveMinimum = model.exclusiveMinimum;
|
||||
requestBody.multipleOf = model.multipleOf;
|
||||
requestBody.maxLength = model.maxLength;
|
||||
requestBody.minLength = model.minLength;
|
||||
requestBody.pattern = model.pattern;
|
||||
requestBody.maxItems = model.maxItems;
|
||||
requestBody.minItems = model.minItems;
|
||||
requestBody.uniqueItems = model.uniqueItems;
|
||||
requestBody.maxProperties = model.maxProperties;
|
||||
requestBody.minProperties = model.minProperties;
|
||||
requestBody.imports.push(...model.imports);
|
||||
requestBody.extends.push(...model.extends);
|
||||
requestBody.enum.push(...model.enum);
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiResponse } from '../interfaces/OpenApiResponse';
|
||||
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
|
||||
import { PrimaryType } from './constants';
|
||||
import { getComment } from './getComment';
|
||||
import { getContent } from './getContent';
|
||||
import { getModel } from './getModel';
|
||||
import { getType } from './getType';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiResponse} from '../interfaces/OpenApiResponse';
|
||||
import {OperationResponse} from '../../../client/interfaces/OperationResponse';
|
||||
import {PrimaryType} from './constants';
|
||||
import {getComment} from './getComment';
|
||||
import {getContent} from './getContent';
|
||||
import {getModel} from './getModel';
|
||||
import {getType} from './getType';
|
||||
|
||||
export function getOperationResponse(openApi: OpenApi, response: OpenApiResponse, responseCode: number): OperationResponse {
|
||||
const operationResponse: OperationResponse = {
|
||||
@ -45,6 +45,23 @@ export function getOperationResponse(openApi: OpenApi, response: OpenApiResponse
|
||||
operationResponse.base = model.base;
|
||||
operationResponse.template = model.template;
|
||||
operationResponse.link = model.link;
|
||||
operationResponse.isReadOnly = model.isReadOnly;
|
||||
operationResponse.isRequired = model.isRequired;
|
||||
operationResponse.isNullable = model.isNullable;
|
||||
operationResponse.format = model.format;
|
||||
operationResponse.maximum = model.maximum;
|
||||
operationResponse.exclusiveMaximum = model.exclusiveMaximum;
|
||||
operationResponse.minimum = model.minimum;
|
||||
operationResponse.exclusiveMinimum = model.exclusiveMinimum;
|
||||
operationResponse.multipleOf = model.multipleOf;
|
||||
operationResponse.maxLength = model.maxLength;
|
||||
operationResponse.minLength = model.minLength;
|
||||
operationResponse.pattern = model.pattern;
|
||||
operationResponse.maxItems = model.maxItems;
|
||||
operationResponse.minItems = model.minItems;
|
||||
operationResponse.uniqueItems = model.uniqueItems;
|
||||
operationResponse.maxProperties = model.maxProperties;
|
||||
operationResponse.minProperties = model.minProperties;
|
||||
operationResponse.imports.push(...model.imports);
|
||||
operationResponse.extends.push(...model.extends);
|
||||
operationResponse.enum.push(...model.enum);
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiResponse } from '../interfaces/OpenApiResponse';
|
||||
import { OpenApiResponses } from '../interfaces/OpenApiResponses';
|
||||
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
|
||||
import { getOperationResponse } from './getOperationResponse';
|
||||
import { getOperationResponseCode } from './getOperationResponseCode';
|
||||
import { getRef } from './getRef';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiResponse} from '../interfaces/OpenApiResponse';
|
||||
import {OpenApiResponses} from '../interfaces/OpenApiResponses';
|
||||
import {OperationResponse} from '../../../client/interfaces/OperationResponse';
|
||||
import {getOperationResponse} from './getOperationResponse';
|
||||
import {getOperationResponseCode} from './getOperationResponseCode';
|
||||
import {getRef} from './getRef';
|
||||
|
||||
export function getOperationResponses(openApi: OpenApi, responses: OpenApiResponses): OperationResponse[] {
|
||||
const operationResponses: OperationResponse[] = [];
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Model } from '../../../client/interfaces/Model';
|
||||
import { OperationResponse } from '../../../client/interfaces/OperationResponse';
|
||||
import { PrimaryType } from './constants';
|
||||
import {Model} from '../../../client/interfaces/Model';
|
||||
import {OperationResponse} from '../../../client/interfaces/OperationResponse';
|
||||
import {PrimaryType} from './constants';
|
||||
|
||||
function areEqual(a: Model, b: Model): boolean {
|
||||
const equal = a.type === b.type && a.base === b.base && a.template === b.template;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { OpenApiReference } from '../interfaces/OpenApiReference';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
import {OpenApiReference} from '../interfaces/OpenApiReference';
|
||||
|
||||
export function getRef<T>(openApi: OpenApi, item: T & OpenApiReference): T {
|
||||
if (item.$ref) {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getServer } from './getServer';
|
||||
import {getServer} from './getServer';
|
||||
|
||||
describe('getServer', () => {
|
||||
it('should produce correct result', () => {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import {OpenApi} from '../interfaces/OpenApi';
|
||||
|
||||
export function getServer(openApi: OpenApi): string {
|
||||
const server = openApi.servers && openApi.servers[0];
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { getServiceClassName } from './getServiceClassName';
|
||||
import {getServiceClassName} from './getServiceClassName';
|
||||
|
||||
describe('getServiceClassName', () => {
|
||||
it('should produce correct result', () => {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user