@igli.kokici/st-open-api
Version:
Generates API client SDKs from an OpenAPI specification written in OpenAPI version 3.x.x
140 lines (139 loc) • 3.89 kB
TypeScript
import { IPropertyClass, IRenderResult } from "../interface/i-property-class";
import { UniqueArray } from "./unique-array";
import { FolderManager } from "./folder-manager";
export declare const HTTP_FUNCTION_REF: (folder: FolderManager) => {
fileName: string;
refKey: string;
className: string;
folderPath: string;
};
export declare const HTTP_REQUEST_INTERCEPTOR_INTERFACE_REF: (folder: FolderManager) => {
fileName: string;
refKey: string;
className: string;
folderPath: string;
};
export declare const HTTP_RESPONSE_INTERCEPTOR_INTERFACE_REF: (folder: FolderManager) => {
fileName: string;
refKey: string;
className: string;
folderPath: string;
};
export declare const HTTP_ERROR_HANDLER_INTERFACE_REF: (folder: FolderManager) => {
fileName: string;
refKey: string;
className: string;
folderPath: string;
};
export declare const OPEN_API_FUNCTION_REF: (folder: FolderManager) => {
fileName: string;
refKey: string;
className: string;
folderPath: string;
};
export declare const QUERY_PARAMETER_FUNCTION_REF: (folder: FolderManager) => {
fileName: string;
refKey: string;
className: string;
folderPath: string;
};
export declare const SERVICE_REFERENCES: ((folder: FolderManager) => {
fileName: string;
refKey: string;
className: string;
folderPath: string;
})[];
export declare class ObjectProperty implements IPropertyClass {
className: string;
fileName: string;
description: Array<string>;
imports: UniqueArray<string>;
functions: Array<{
data: IMustacheFunction;
imports: Array<string>;
name: string;
}>;
properties: Array<{
data: IMustacheProperty;
import?: string;
name: string;
}>;
constructor(originalName: string);
private convertName;
addImports(_import: string): void;
addFunction(fun: IFunction): void;
addProperty(prop: IProperty): void;
render(): IRenderResult;
}
interface IMustacheFunction {
functionName: string;
httpMethod: string;
originalPath: string;
isPathParameters: boolean;
pathParameterClassName?: string;
pathParameters?: Array<string>;
isJsonResponse: boolean;
isPlaintextResponse: boolean;
isDownloadResponse: boolean;
isRequestBodyJson: boolean;
isDescription: boolean;
description?: Array<string>;
isQueryParameters: boolean;
queryParameterClassName?: string;
queryParameters?: Array<string>;
isHeaderParameters: boolean;
headerParameterClassName?: string;
headerParameters?: Array<string>;
isRequestBody: boolean;
requestBodyClass?: string;
forceInterceptor: boolean;
isResponse: boolean;
responseClass?: string;
}
export interface IFunction extends IFunctionResponse, IFunctionRequestBody {
functionName: string;
imports: Array<string>;
httpMethod: string;
originalPath: string;
pathParameters?: {
className: string;
params: Array<string>;
};
headerParameters?: {
className: string;
params: Array<string>;
};
queryParameters?: {
className: string;
params: Array<string>;
};
description: string;
forceInterceptor: boolean;
}
export interface IFunctionResponse {
isJsonResponse: boolean;
isPlaintextResponse: boolean;
isDownloadResponse: boolean;
responseClass?: string;
}
export interface IFunctionRequestBody {
isRequestBodyJson: boolean;
requestBodyClass?: string;
}
interface IMustacheProperty {
propertyName: string;
isDescription: boolean;
description?: Array<string>;
required: boolean;
isArray: boolean;
value: string;
}
export interface IProperty {
propertyName: string;
import: string;
description?: string;
required: boolean;
isArray: boolean;
value: string;
}
export {};