@ffsm/napi
Version:
Napi - A framework using with Next.js for building APIs.
49 lines (48 loc) • 1.53 kB
TypeScript
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>;
}