mirror of
https://github.com/ferdikoomen/openapi-typescript-codegen.git
synced 2025-12-08 20:16:21 +00:00
- Cleanup references
This commit is contained in:
parent
ea703d27dc
commit
433de4437e
1
src/client/interfaces/Model.d.ts
vendored
1
src/client/interfaces/Model.d.ts
vendored
@ -13,6 +13,7 @@ export interface Model {
|
||||
imports: string[];
|
||||
extends: string[];
|
||||
enum: Enum[];
|
||||
enums: Model[];
|
||||
properties: Model[];
|
||||
validation?: Validation;
|
||||
}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
|
||||
import { OpenApiParameter } from './OpenApiParameter';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiResponses } from './OpenApiResponses';
|
||||
import { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
|
||||
|
||||
@ -15,7 +14,7 @@ export interface OpenApiOperation {
|
||||
operationId?: string;
|
||||
consumes?: string[];
|
||||
produces?: string[];
|
||||
parameters?: (OpenApiParameter & OpenApiReference)[];
|
||||
parameters?: OpenApiParameter[];
|
||||
responses: OpenApiResponses;
|
||||
schemes: ('http' | 'https' | 'ws' | 'wss')[];
|
||||
deprecated?: boolean;
|
||||
|
||||
@ -1,16 +1,15 @@
|
||||
import { OpenApiItems } from './OpenApiItems';
|
||||
import { OpenApiSchema } from './OpenApiSchema';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#parameterObject
|
||||
*/
|
||||
export interface OpenApiParameter {
|
||||
export interface OpenApiParameter extends OpenApiReference {
|
||||
name: string;
|
||||
in: 'path' | 'query' | 'header' | 'formData' | 'body';
|
||||
description?: string;
|
||||
required?: boolean;
|
||||
schema?: OpenApiSchema & OpenApiReference;
|
||||
schema?: OpenApiSchema;
|
||||
type?: string;
|
||||
format?: 'int32' | 'int64' | 'float' | 'double' | 'string' | 'boolean' | 'byte' | 'binary' | 'date' | 'date-time' | 'password';
|
||||
allowEmptyValue?: boolean;
|
||||
|
||||
4
src/openApi/v2/interfaces/OpenApiPath.d.ts
vendored
4
src/openApi/v2/interfaces/OpenApiPath.d.ts
vendored
@ -5,7 +5,7 @@ import { OpenApiReference } from './OpenApiReference';
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#pathItemObject
|
||||
*/
|
||||
export interface OpenApiPath {
|
||||
export interface OpenApiPath extends OpenApiReference {
|
||||
get?: OpenApiOperation;
|
||||
put?: OpenApiOperation;
|
||||
post?: OpenApiOperation;
|
||||
@ -13,5 +13,5 @@ export interface OpenApiPath {
|
||||
options?: OpenApiOperation;
|
||||
head?: OpenApiOperation;
|
||||
patch?: OpenApiOperation;
|
||||
parameters?: (OpenApiParameter & OpenApiReference)[];
|
||||
parameters?: OpenApiParameter[];
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@ import { OpenApiReference } from './OpenApiReference';
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#responseObject
|
||||
*/
|
||||
export interface OpenApiResponse {
|
||||
export interface OpenApiResponse extends OpenApiReference {
|
||||
description: string;
|
||||
schema?: OpenApiSchema & OpenApiReference;
|
||||
headers?: Dictionary<OpenApiHeader>;
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiResponse } from './OpenApiResponse';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#responsesObject
|
||||
*/
|
||||
export interface OpenApiResponses {
|
||||
[httpcode: string]: OpenApiResponse & OpenApiReference;
|
||||
[httpcode: string]: OpenApiResponse;
|
||||
|
||||
default?: OpenApiResponse & OpenApiReference;
|
||||
default?: OpenApiResponse;
|
||||
}
|
||||
|
||||
13
src/openApi/v2/interfaces/OpenApiSchema.d.ts
vendored
13
src/openApi/v2/interfaces/OpenApiSchema.d.ts
vendored
@ -1,13 +1,12 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiXml } from './OpenApiXml';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject
|
||||
*/
|
||||
export interface OpenApiSchema {
|
||||
$ref?: string;
|
||||
export interface OpenApiSchema extends OpenApiReference {
|
||||
format?: 'int32' | 'int64' | 'float' | 'double' | 'string' | 'boolean' | 'byte' | 'binary' | 'date' | 'date-time' | 'password';
|
||||
title?: string;
|
||||
description?: string;
|
||||
@ -28,10 +27,10 @@ export interface OpenApiSchema {
|
||||
required?: string[];
|
||||
enum?: (string | number)[];
|
||||
type?: string;
|
||||
items?: OpenApiSchema & OpenApiReference;
|
||||
allOf?: (OpenApiSchema & OpenApiReference)[];
|
||||
properties?: Dictionary<OpenApiSchema & OpenApiReference>;
|
||||
additionalProperties?: boolean | (OpenApiSchema & OpenApiReference);
|
||||
items?: OpenApiSchema;
|
||||
allOf?: OpenApiSchema[];
|
||||
properties?: Dictionary<OpenApiSchema>;
|
||||
additionalProperties?: boolean | OpenApiSchema;
|
||||
discriminator?: string;
|
||||
readOnly?: boolean;
|
||||
xml?: OpenApiXml;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { EOL } from 'os';
|
||||
|
||||
export function getComment(comment: string | undefined): string | undefined {
|
||||
export function getComment(comment?: string): string | undefined {
|
||||
if (comment) {
|
||||
return comment
|
||||
.split(/(\r\n|\n|\r)+/g)
|
||||
|
||||
@ -20,6 +20,7 @@ export function getModel(openApi: OpenApi, definition: OpenApiSchema, name: stri
|
||||
imports: [],
|
||||
extends: [],
|
||||
enum: [],
|
||||
enums: [],
|
||||
properties: [],
|
||||
};
|
||||
|
||||
|
||||
@ -3,10 +3,9 @@ import { OpenApiSchema } from '../interfaces/OpenApiSchema';
|
||||
import { getComment } from './getComment';
|
||||
import { getType } from './getType';
|
||||
import { Model } from '../../../client/interfaces/Model';
|
||||
import { OpenApiReference } from '../interfaces/OpenApiReference';
|
||||
import { getModel } from './getModel';
|
||||
|
||||
export function getModelProperties(openApi: OpenApi, definition: OpenApiSchema & OpenApiReference): Model[] {
|
||||
export function getModelProperties(openApi: OpenApi, definition: OpenApiSchema): Model[] {
|
||||
const result: Model[] = [];
|
||||
for (const propertyName in definition.properties) {
|
||||
if (definition.properties.hasOwnProperty(propertyName)) {
|
||||
@ -20,12 +19,13 @@ export function getModelProperties(openApi: OpenApi, definition: OpenApiSchema &
|
||||
type: prop.type,
|
||||
base: prop.base,
|
||||
template: prop.template,
|
||||
description: getComment(definition.description),
|
||||
description: getComment(property.description),
|
||||
readOnly: propertyReadOnly,
|
||||
required: propertyRequired,
|
||||
imports: prop.imports,
|
||||
extends: [],
|
||||
enum: [],
|
||||
enums: [],
|
||||
properties: [],
|
||||
validation: {
|
||||
type: 'property',
|
||||
@ -40,12 +40,13 @@ export function getModelProperties(openApi: OpenApi, definition: OpenApiSchema &
|
||||
type: prop.type,
|
||||
base: prop.base,
|
||||
template: prop.template,
|
||||
description: property.description,
|
||||
description: getComment(property.description),
|
||||
readOnly: propertyReadOnly,
|
||||
required: propertyRequired,
|
||||
imports: prop.imports,
|
||||
extends: prop.extends,
|
||||
enum: prop.enum,
|
||||
enums: prop.enums,
|
||||
properties: prop.properties,
|
||||
validation: {
|
||||
type: 'property',
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { OpenApiParameter } from '../interfaces/OpenApiParameter';
|
||||
import { OpenApiReference } from '../interfaces/OpenApiReference';
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { getRef } from './getRef';
|
||||
import { OperationParameters } from '../../../client/interfaces/OperationParameters';
|
||||
@ -10,7 +9,7 @@ function sortByRequired(a: OperationParameter, b: OperationParameter): number {
|
||||
return a.required && !b.required ? -1 : !a.required && b.required ? 1 : 0;
|
||||
}
|
||||
|
||||
export function getOperationParameters(openApi: OpenApi, parameters: (OpenApiParameter & OpenApiReference)[]): OperationParameters {
|
||||
export function getOperationParameters(openApi: OpenApi, parameters: OpenApiParameter[]): OperationParameters {
|
||||
const result: OperationParameters = {
|
||||
imports: [],
|
||||
parameters: [],
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { OpenApiSchema } from '../interfaces/OpenApiSchema';
|
||||
import { OpenApiReference } from '../interfaces/OpenApiReference';
|
||||
import { OpenApi } from '../interfaces/OpenApi';
|
||||
import { PrimaryType } from './constants';
|
||||
|
||||
@ -10,7 +9,7 @@ export interface SchemaReference {
|
||||
imports: string[];
|
||||
}
|
||||
|
||||
export function getSchemaReference(openApi: OpenApi, schema: OpenApiSchema & OpenApiReference): SchemaReference {
|
||||
export function getSchemaReference(openApi: OpenApi, schema: OpenApiSchema): SchemaReference {
|
||||
const result: SchemaReference = {
|
||||
type: PrimaryType.OBJECT,
|
||||
base: PrimaryType.OBJECT,
|
||||
|
||||
@ -8,7 +8,7 @@ import { PrimaryType } from './constants';
|
||||
* @param value String value like "integer" or "Link[Model]".
|
||||
* @param template Optional template class from parent (needed to process generics)
|
||||
*/
|
||||
export function getType(value: string | undefined, template?: string): Type {
|
||||
export function getType(value?: string, template?: string): Type {
|
||||
const result: Type = {
|
||||
type: PrimaryType.OBJECT,
|
||||
base: PrimaryType.OBJECT,
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
import { OpenApiPath } from './OpenApiPath';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#callbackObject
|
||||
*/
|
||||
export interface OpenApiCallback {
|
||||
export interface OpenApiCallback extends OpenApiReference {
|
||||
[key: string]: OpenApiPath;
|
||||
}
|
||||
|
||||
19
src/openApi/v3/interfaces/OpenApiComponents.d.ts
vendored
19
src/openApi/v3/interfaces/OpenApiComponents.d.ts
vendored
@ -4,7 +4,6 @@ import { OpenApiExample } from './OpenApiExample';
|
||||
import { OpenApiHeader } from './OpenApiHeader';
|
||||
import { OpenApiLink } from './OpenApiLink';
|
||||
import { OpenApiParameter } from './OpenApiParameter';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiRequestBody } from './OpenApiRequestBody';
|
||||
import { OpenApiResponses } from './OpenApiResponses';
|
||||
import { OpenApiSchema } from './OpenApiSchema';
|
||||
@ -14,13 +13,13 @@ import { OpenApiSecurityScheme } from './OpenApiSecurityScheme';
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#componentsObject
|
||||
*/
|
||||
export interface OpenApiComponents {
|
||||
schemas?: Dictionary<OpenApiSchema & OpenApiReference>;
|
||||
responses?: Dictionary<OpenApiResponses & OpenApiReference>;
|
||||
parameters?: Dictionary<OpenApiParameter & OpenApiReference>;
|
||||
examples?: Dictionary<OpenApiExample & OpenApiReference>;
|
||||
requestBodies?: Dictionary<OpenApiRequestBody & OpenApiReference>;
|
||||
headers?: Dictionary<OpenApiHeader & OpenApiReference>;
|
||||
securitySchemes: Dictionary<OpenApiSecurityScheme & OpenApiReference>;
|
||||
links?: Dictionary<OpenApiLink & OpenApiReference>;
|
||||
callbacks?: Dictionary<OpenApiCallback & OpenApiReference>;
|
||||
schemas?: Dictionary<OpenApiSchema>;
|
||||
responses?: Dictionary<OpenApiResponses>;
|
||||
parameters?: Dictionary<OpenApiParameter>;
|
||||
examples?: Dictionary<OpenApiExample>;
|
||||
requestBodies?: Dictionary<OpenApiRequestBody>;
|
||||
headers?: Dictionary<OpenApiHeader>;
|
||||
securitySchemes: Dictionary<OpenApiSecurityScheme>;
|
||||
links?: Dictionary<OpenApiLink>;
|
||||
callbacks?: Dictionary<OpenApiCallback>;
|
||||
}
|
||||
|
||||
@ -1,13 +1,12 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiHeader } from './OpenApiHeader';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#encodingObject
|
||||
*/
|
||||
export interface OpenApiEncoding {
|
||||
contentType?: string;
|
||||
headers?: Dictionary<OpenApiHeader & OpenApiReference>;
|
||||
headers?: Dictionary<OpenApiHeader>;
|
||||
style?: string;
|
||||
explode?: boolean;
|
||||
allowReserved?: boolean;
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#exampleObject
|
||||
*/
|
||||
export interface OpenApiExample {
|
||||
export interface OpenApiExample extends OpenApiReference {
|
||||
summary?: string;
|
||||
description?: string;
|
||||
value?: any;
|
||||
|
||||
6
src/openApi/v3/interfaces/OpenApiHeader.d.ts
vendored
6
src/openApi/v3/interfaces/OpenApiHeader.d.ts
vendored
@ -6,7 +6,7 @@ import { OpenApiSchema } from './OpenApiSchema';
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#headerObject
|
||||
*/
|
||||
export interface OpenApiHeader {
|
||||
export interface OpenApiHeader extends OpenApiReference {
|
||||
description?: string;
|
||||
required?: boolean;
|
||||
deprecated?: boolean;
|
||||
@ -14,7 +14,7 @@ export interface OpenApiHeader {
|
||||
style?: string;
|
||||
explode?: boolean;
|
||||
allowReserved?: boolean;
|
||||
schema?: OpenApiSchema & OpenApiReference;
|
||||
schema?: OpenApiSchema;
|
||||
example?: any;
|
||||
examples?: Dictionary<OpenApiExample & OpenApiReference>;
|
||||
examples?: Dictionary<OpenApiExample>;
|
||||
}
|
||||
|
||||
3
src/openApi/v3/interfaces/OpenApiLink.d.ts
vendored
3
src/openApi/v3/interfaces/OpenApiLink.d.ts
vendored
@ -1,10 +1,11 @@
|
||||
import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiServer } from './OpenApiServer';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#linkObject
|
||||
*/
|
||||
export interface OpenApiLink {
|
||||
export interface OpenApiLink extends OpenApiReference {
|
||||
operationRef?: string;
|
||||
operationId?: string;
|
||||
parameters?: Dictionary<any>;
|
||||
|
||||
@ -7,9 +7,9 @@ import { OpenApiSchema } from './OpenApiSchema';
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#mediaTypeObject
|
||||
*/
|
||||
export interface OpenApiMediaType {
|
||||
schema?: OpenApiSchema & OpenApiReference;
|
||||
export interface OpenApiMediaType extends OpenApiReference {
|
||||
schema?: OpenApiSchema;
|
||||
example?: any;
|
||||
examples?: Dictionary<OpenApiExample & OpenApiReference>;
|
||||
examples?: Dictionary<OpenApiExample>;
|
||||
encoding?: Dictionary<OpenApiEncoding>;
|
||||
}
|
||||
|
||||
@ -2,7 +2,6 @@ import { Dictionary } from '../../../utils/types';
|
||||
import { OpenApiCallback } from './OpenApiCallback';
|
||||
import { OpenApiExternalDocs } from './OpenApiExternalDocs';
|
||||
import { OpenApiParameter } from './OpenApiParameter';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiRequestBody } from './OpenApiRequestBody';
|
||||
import { OpenApiResponses } from './OpenApiResponses';
|
||||
import { OpenApiSecurityRequirement } from './OpenApiSecurityRequirement';
|
||||
@ -17,10 +16,10 @@ export interface OpenApiOperation {
|
||||
description?: string;
|
||||
externalDocs?: OpenApiExternalDocs;
|
||||
operationId?: string;
|
||||
parameters?: (OpenApiParameter & OpenApiReference)[];
|
||||
requestBody?: OpenApiRequestBody & OpenApiReference;
|
||||
parameters?: OpenApiParameter[];
|
||||
requestBody?: OpenApiRequestBody;
|
||||
responses: OpenApiResponses;
|
||||
callbacks?: Dictionary<OpenApiCallback & OpenApiReference>;
|
||||
callbacks?: Dictionary<OpenApiCallback>;
|
||||
deprecated?: boolean;
|
||||
security?: OpenApiSecurityRequirement[];
|
||||
servers?: OpenApiServer[];
|
||||
|
||||
@ -6,7 +6,7 @@ import { OpenApiSchema } from './OpenApiSchema';
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#parameterObject
|
||||
*/
|
||||
export interface OpenApiParameter {
|
||||
export interface OpenApiParameter extends OpenApiReference {
|
||||
name: string;
|
||||
in: 'path' | 'query' | 'header' | 'cookie';
|
||||
description?: string;
|
||||
@ -16,7 +16,7 @@ export interface OpenApiParameter {
|
||||
style?: string;
|
||||
explode?: boolean;
|
||||
allowReserved?: boolean;
|
||||
schema?: OpenApiSchema & OpenApiReference;
|
||||
schema?: OpenApiSchema;
|
||||
example?: any;
|
||||
examples?: Dictionary<OpenApiExample & OpenApiReference>;
|
||||
examples?: Dictionary<OpenApiExample>;
|
||||
}
|
||||
|
||||
3
src/openApi/v3/interfaces/OpenApiPath.d.ts
vendored
3
src/openApi/v3/interfaces/OpenApiPath.d.ts
vendored
@ -1,6 +1,5 @@
|
||||
import { OpenApiOperation } from './OpenApiOperation';
|
||||
import { OpenApiParameter } from './OpenApiParameter';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
import { OpenApiServer } from './OpenApiServer';
|
||||
|
||||
/**
|
||||
@ -18,5 +17,5 @@ export interface OpenApiPath {
|
||||
patch?: OpenApiOperation;
|
||||
trace?: OpenApiOperation;
|
||||
servers?: OpenApiServer[];
|
||||
parameters?: (OpenApiParameter & OpenApiReference)[];
|
||||
parameters?: OpenApiParameter[];
|
||||
}
|
||||
|
||||
@ -5,8 +5,8 @@ import { OpenApiReference } from './OpenApiReference';
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#requestBodyObject
|
||||
*/
|
||||
export interface OpenApiRequestBody {
|
||||
export interface OpenApiRequestBody extends OpenApiReference {
|
||||
description?: string;
|
||||
content: Dictionary<OpenApiMediaType & OpenApiReference>;
|
||||
content: Dictionary<OpenApiMediaType>;
|
||||
required?: boolean;
|
||||
}
|
||||
|
||||
@ -7,9 +7,9 @@ import { OpenApiReference } from './OpenApiReference';
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#responseObject
|
||||
*/
|
||||
export interface OpenApiResponse {
|
||||
export interface OpenApiResponse extends OpenApiReference {
|
||||
description: string;
|
||||
headers?: Dictionary<OpenApiHeader & OpenApiReference>;
|
||||
headers?: Dictionary<OpenApiHeader>;
|
||||
content?: Dictionary<OpenApiMediaType>;
|
||||
links?: Dictionary<OpenApiLink & OpenApiReference>;
|
||||
links?: Dictionary<OpenApiLink>;
|
||||
}
|
||||
|
||||
@ -4,8 +4,8 @@ import { OpenApiResponse } from './OpenApiResponse';
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#responsesObject
|
||||
*/
|
||||
export interface OpenApiResponses {
|
||||
[httpcode: string]: OpenApiResponse & OpenApiReference;
|
||||
export interface OpenApiResponses extends OpenApiReference {
|
||||
[httpcode: string]: OpenApiResponse;
|
||||
|
||||
default: OpenApiResponse & OpenApiReference;
|
||||
default: OpenApiResponse;
|
||||
}
|
||||
|
||||
16
src/openApi/v3/interfaces/OpenApiSchema.d.ts
vendored
16
src/openApi/v3/interfaces/OpenApiSchema.d.ts
vendored
@ -7,7 +7,7 @@ import { OpenApiXml } from './OpenApiXml';
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#schemaObject
|
||||
*/
|
||||
export interface OpenApiSchema {
|
||||
export interface OpenApiSchema extends OpenApiReference {
|
||||
title?: string;
|
||||
multipleOf?: number;
|
||||
maximum?: number;
|
||||
@ -25,13 +25,13 @@ export interface OpenApiSchema {
|
||||
required?: string[];
|
||||
enum?: string[];
|
||||
type?: string;
|
||||
allOf?: (OpenApiSchema & OpenApiReference)[];
|
||||
oneOf?: (OpenApiSchema & OpenApiReference)[];
|
||||
anyOf?: (OpenApiSchema & OpenApiReference)[];
|
||||
not?: (OpenApiSchema & OpenApiReference)[];
|
||||
items?: OpenApiSchema & OpenApiReference;
|
||||
properties?: Dictionary<OpenApiSchema & OpenApiReference>;
|
||||
additionalProperties?: boolean | (OpenApiSchema & OpenApiReference);
|
||||
allOf?: OpenApiSchema[];
|
||||
oneOf?: OpenApiSchema[];
|
||||
anyOf?: OpenApiSchema[];
|
||||
not?: OpenApiSchema[];
|
||||
items?: OpenApiSchema;
|
||||
properties?: Dictionary<OpenApiSchema>;
|
||||
additionalProperties?: boolean | OpenApiSchema;
|
||||
description?: string;
|
||||
format?: 'int32' | 'int64' | 'float' | 'double' | 'string' | 'boolean' | 'byte' | 'binary' | 'date' | 'date-time' | 'password';
|
||||
default?: any;
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
import { OpenApiOAuthFlows } from './OpenApiOAuthFlows';
|
||||
import { OpenApiReference } from './OpenApiReference';
|
||||
|
||||
/**
|
||||
* https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#securitySchemeObject
|
||||
*/
|
||||
export interface OpenApiSecurityScheme {
|
||||
export interface OpenApiSecurityScheme extends OpenApiReference {
|
||||
type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect';
|
||||
description?: string;
|
||||
name?: string;
|
||||
|
||||
@ -16,6 +16,22 @@ export function exportModel(model: Model): any {
|
||||
return nameA.localeCompare(nameB);
|
||||
}),
|
||||
properties: model.properties
|
||||
.map(property => exportModel(property))
|
||||
.filter(property => property.enum.length)
|
||||
.filter((property, index, arr) => {
|
||||
return arr.findIndex(item => item.name === property.name) === index;
|
||||
})
|
||||
.sort((a, b) => {
|
||||
const nameA = a.name.toLowerCase();
|
||||
const nameB = b.name.toLowerCase();
|
||||
return nameA.localeCompare(nameB);
|
||||
}),
|
||||
enums: model.properties
|
||||
.map(property => exportModel(property))
|
||||
.filter(property => !property.enum.length)
|
||||
.filter((property, index, arr) => {
|
||||
return arr.findIndex(item => item.name === property.name) === index;
|
||||
})
|
||||
.filter((property, index, arr) => {
|
||||
return arr.findIndex(item => item.name === property.name) === index;
|
||||
})
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user