@mvx/model
Version:
@mvx/model is model for mvc frameworker on server.
40 lines (39 loc) • 1.22 kB
TypeScript
import { MetadataExtends, ArgsIteratorAction } from '@tsdi/ioc';
import { FieldMetadata } from '../metadata';
/**
* filed decorator type define.
*
* @export
* @interface IFiledDecorator
* @template T
*/
export interface IFiledDecorator<T extends FieldMetadata> {
/**
* Filed decorator.
*/
(dbtype?: string, dbfield?: string, defaultValue?: any, required?: boolean): PropertyDecorator;
/**
* Filed decorator with metadata map.
* @param {T} [metadata] define matadata map to resolve value to the property.
*/
(metadata?: T): PropertyDecorator;
/**
* Filed decorator.
*/
(target: object, propertyKey: string | symbol, descriptor?: TypedPropertyDescriptor<any>): void;
}
/**
* create filed decorator.
*
* @export
* @template T
* @param {string} [decoratorName]
* @param {MetadataAdapter} [actions]
* @param {MetadataExtends<T>} [metaExtends]
* @returns {IFiledDecorator<T>}
*/
export declare function createFieldDecorator<T extends FieldMetadata>(decoratorName?: string, actions?: ArgsIteratorAction<T>[], metaExtends?: MetadataExtends<T>): IFiledDecorator<T>;
/**
* Filed decorator.
*/
export declare const Field: IFiledDecorator<FieldMetadata>;