mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-05 07:17:04 +00:00
Merge pull request #30837 from runebaas/open-apifactory
add typings for openapi-factory
This commit is contained in:
Vendored
+59
@@ -0,0 +1,59 @@
|
||||
// Type definitions for openapi-factory 4.2
|
||||
// Project: https://github.com/wparad/openapi-factory.js
|
||||
// Definitions by: Daan Boerlage <https://github.com/runebaas>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.2
|
||||
|
||||
declare namespace OpenApi {
|
||||
interface ApiOptions {
|
||||
requestMiddleware?: () => any;
|
||||
responseMiddleware?: () => any;
|
||||
errorMiddleware?: () => any;
|
||||
}
|
||||
|
||||
interface HttpMethodOptions {
|
||||
rawBody?: boolean;
|
||||
}
|
||||
|
||||
interface HttpResponse {
|
||||
statusCode?: number;
|
||||
headers?: object;
|
||||
body?: (object | string);
|
||||
}
|
||||
}
|
||||
|
||||
declare class OpenApi {
|
||||
constructor(options: OpenApi.ApiOptions, overrideLogger?: () => void);
|
||||
|
||||
setAuthorizer(authorizerFunc: (req?: any) => Promise<any>): void;
|
||||
onEvent(onEventFunc: (req?: any) => Promise<any>): void;
|
||||
onSchedule(onScheduleFunc: (req?: any) => Promise<any>): void;
|
||||
|
||||
head(route: string, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
head(route: string, options: OpenApi.HttpMethodOptions, handler: (req?: any) => any): void;
|
||||
|
||||
get(route: string, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
get(route: string, options: OpenApi.HttpMethodOptions, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
|
||||
post(route: string, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
post(route: string, options: OpenApi.HttpMethodOptions, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
|
||||
put(route: string, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
put(route: string, options: OpenApi.HttpMethodOptions, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
|
||||
patch(route: string, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
patch(route: string, options: OpenApi.HttpMethodOptions, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
|
||||
delete(route: string, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
delete(route: string, options: OpenApi.HttpMethodOptions, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
|
||||
options(route: string, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
options(route: string, options: OpenApi.HttpMethodOptions, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
|
||||
any(route: string, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
any(route: string, options: OpenApi.HttpMethodOptions, handler: (req?: object) => (OpenApi.HttpResponse | Promise<OpenApi.HttpResponse>)): void;
|
||||
|
||||
handler(event: object, context: object): Promise<any>;
|
||||
}
|
||||
|
||||
export = OpenApi;
|
||||
@@ -0,0 +1,29 @@
|
||||
import OpenApiFactory = require('openapi-factory');
|
||||
|
||||
const api = new OpenApiFactory({});
|
||||
|
||||
api.setAuthorizer((req: any) => req);
|
||||
api.onEvent((req: any) => req);
|
||||
api.onSchedule((req: any) => req);
|
||||
|
||||
const testReponse = {
|
||||
statusCode: 200
|
||||
};
|
||||
|
||||
api.head('/v1/test', () => testReponse);
|
||||
api.get('/v1/test', () => testReponse);
|
||||
api.post('/v1/test', () => testReponse);
|
||||
api.put('/v1/test', () => testReponse);
|
||||
api.patch('/v1/test', () => testReponse);
|
||||
api.delete('/v1/test', () => testReponse);
|
||||
api.options('/v1/test', () => testReponse);
|
||||
api.any('/v1/test2', () => testReponse);
|
||||
|
||||
api.head('/v2/test', { rawBody: true }, () => testReponse);
|
||||
api.get('/v2/test', { rawBody: true }, () => testReponse);
|
||||
api.post('/v2/test', { rawBody: true }, () => testReponse);
|
||||
api.put('/v2/test', { rawBody: true }, () => testReponse);
|
||||
api.patch('/v2/test', { rawBody: true }, () => testReponse);
|
||||
api.delete('/v2/test', { rawBody: true }, () => testReponse);
|
||||
api.options('/v2/test', { rawBody: true }, () => testReponse);
|
||||
api.any('/v2/test2', { rawBody: true }, () => testReponse);
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"openapi-factory-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "dtslint/dt.json"
|
||||
}
|
||||
Reference in New Issue
Block a user