2022-06-28 16:22:49 +00:00
|
|
|
import { request, response } from "../interface";
|
2022-06-29 15:00:01 +00:00
|
|
|
import { router } from "../../index";
|
2022-06-28 16:22:49 +00:00
|
|
|
|
2022-06-29 15:00:01 +00:00
|
|
|
export interface platformAdapater<T = any, K = any> {
|
|
|
|
router: router<T, K>;
|
2022-06-28 16:22:49 +00:00
|
|
|
listen(port: number): void;
|
2022-06-29 15:00:01 +00:00
|
|
|
handleRequest(nativeRequest: any): Promise<request<T>>;
|
2022-06-29 20:00:52 +00:00
|
|
|
handleResponse(response: response<K> | Promise<response<K>>, nativeResponse?: any): any;
|
2022-06-29 15:00:01 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface platformAdapaterConstructor<T = any, K = any> {
|
|
|
|
new (router: router<T, K>): platformAdapater<T, K>;
|
|
|
|
}
|
|
|
|
|
|
|
|
export function createPlatformAdapater(
|
|
|
|
adapater: platformAdapaterConstructor,
|
|
|
|
router: router
|
|
|
|
): platformAdapater {
|
|
|
|
return new adapater(router);
|
2022-06-28 16:22:49 +00:00
|
|
|
}
|