UNPKG

@ffsm/napi

Version:

Napi - A framework using with Next.js for building APIs.

49 lines (48 loc) 1.53 kB
import { NapiMethod } from "./enums"; import { NapiConfiguration, NapiConfigurationRegister } from "./configuration"; import { NapiClass, NapiOptionAsync, NapiRouteHandler } from "./types"; export interface NapiApplicationOptions { configs?: Record<string, NapiConfigurationRegister>; prefix?: NapiOptionAsync<string, NapiConfiguration>; controllers?: NapiClass[]; } export type NapiApplicationHandlers<Params = unknown> = Record<Uppercase<NapiMethod>, NapiRouteHandler<Params>>; export interface NapiControllerInjected<Instance = unknown> { class: NapiClass; instance: Instance; } export declare class NapiApplication { private readonly options; private static controllers; private configuration; private req; private res; private payload; private prefix; private router; private route; private context; private controller; private controllerMethod; private params; private constructor(); private getRequest; private getRouter; private getPayload; private getController; private getConfig; private getResponse; private get method(); private createExcutionContext; private initializeConfiguration; private extractPrefix; private extractRoute; private initRouter; private loadController; private loadMethods; private loadParameters; private initResponse; private execute; private dispatch; static register(options: NapiApplicationOptions): NapiApplicationHandlers<unknown>; }