@mvx/model
Version:
@mvx/model is model for mvc frameworker on server.
35 lines (34 loc) • 1.01 kB
TypeScript
import { TypeMetadata, MetadataExtends, ArgsIteratorAction, Type } from '@tsdi/ioc';
import { ModelMetadata } from '../metadata';
/**
* model decorator type define.
*
* @export
* @interface IModelDecorator
* @template T
*/
export interface IModelDecorator<T extends ModelMetadata> {
(dbtable?: string): ClassDecorator;
/**
* model decorator setting with metadata map.
*
* @param {T} [metadata] metadata map.
*/
(metadata?: T): ClassDecorator;
/**
* model with out metadata.
*/
(target: Type): void;
}
/**
* create filed decorator.
*
* @export
* @template T
* @param {string} [modelType]
* @param {ArgsIteratorAction<T>[]} [actions]
* @param {MetadataExtends<T>} [metaExtends]
* @returns {IFiledDecorator<T>}
*/
export declare function createModelDecorator<T extends ModelMetadata>(modelType?: string, actions?: ArgsIteratorAction<T>[], metaExtends?: MetadataExtends<T>): IModelDecorator<T>;
export declare const Model: IModelDecorator<TypeMetadata>;