gypsum
Version:
Simple and easy lightweight typescript server side framework on Node.js.
36 lines (35 loc) • 1.34 kB
TypeScript
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;