UNPKG

gypsum

Version:

Simple and easy lightweight typescript server side framework on Node.js.

36 lines (35 loc) 1.34 kB
import { IServerConfigOptions, IGypsumConfigurations } from './config'; import { Model } from './models/model'; import { Context } from './context'; import { MongoModel, FileModel } from './models'; import { App } from './app'; import { IAuthEnvConfig } from './auth/config'; import { IStorageEnvConfig } from './storage/config'; export { IGypsumConfigurations }; export interface IGypsumUseOptions { models?: any[]; } export interface IGypsumConfigOptions { auth?: IAuthEnvConfig; storage?: IStorageEnvConfig; config?: IGypsumConfigurations; } export interface IGypsumBootstrapOptions { apps?: typeof App[]; middlewares?: Function; hooks?: ((ctx: Context, ...args: any[]) => void)[]; users?: typeof MongoModel; storage?: typeof Model; } export interface IGypsum { root: string; env: string; dev: boolean; get: (name: keyof IServerConfigOptions) => any; set: <T extends keyof IServerConfigOptions, U extends IServerConfigOptions[T]>(name: T, value: U) => IGypsum; getCurrentContext: () => Context; getModel: (modelName: string, appName: string) => Model | MongoModel | FileModel | undefined; config: (config: IGypsumConfigOptions) => IGypsum; bootstrap: (options: IGypsumBootstrapOptions) => void; } export declare const Gypsum: IGypsum;