@xmobitea/gn-typescript-client
Version:
GearN Typescript Client SDK by XmobiTea (Pro)
78 lines (77 loc) • 3.12 kB
TypeScript
import "reflect-metadata";
import { GNArray, GNHashtable } from "./../common/GNData";
import { AbstractConstructor, Constructor, GNObjectFieldMetadata, GNObjectMetadata } from "./GNMetadata";
export declare const initGNObjectMetadata: <T extends GNObjectMetadata>(prototype: any) => T;
export declare const initGNObjectFieldMetadata: <T extends GNObjectFieldMetadata>(prototype: any, propertyKey: string) => T;
export declare const getGNObjectMetadata: <T extends GNObjectMetadata>(obj: AbstractConstructor<any>) => T | undefined;
export declare const setGNObjectMetadata: <T extends GNObjectMetadata>(obj: AbstractConstructor<any>, metadata: T) => void;
export declare const getTableName: (model: Constructor<any>) => string;
export interface GNEnhancedObjectFieldMetadata extends GNObjectFieldMetadata {
code: string;
isOptional: boolean;
gnFieldType: GNFieldDataType;
defaultValue: any;
activeConditionValid: boolean;
mustNonNull?: boolean;
minLength?: number;
maxLength?: number;
minValue?: number;
maxValue?: number;
mustInt?: boolean;
}
export declare enum GNFieldDataType {
Other = 0,
Number = 1,
String = 2,
Boolean = 3,
GNHashtable = 4,
GNArray = 5
}
export interface GNEnhancedObjectMetadata extends GNObjectMetadata {
fields: GNEnhancedObjectFieldMetadata[];
}
interface DataMemberBaseArgs {
code: string;
isOptional?: boolean;
defaultValue?: any;
}
interface DataMemberArgs extends DataMemberBaseArgs {
gnFieldType?: GNFieldDataType;
}
interface OtherDataMemberArgs extends DataMemberBaseArgs {
}
interface StringDataMemberArgs extends OtherDataMemberArgs {
defaultValue?: string;
mustNonNull?: boolean;
minLength?: number;
maxLength?: number;
}
interface BooleanDataMemberArgs extends OtherDataMemberArgs {
defaultValue?: boolean;
}
interface NumberDataMemberArgs extends OtherDataMemberArgs {
defaultValue?: number;
minValue?: number;
maxValue?: number;
mustInt?: boolean;
}
interface GNHashtableDataMemberArgs extends OtherDataMemberArgs {
defaultValue?: GNHashtable;
mustNonNull?: boolean;
minLength?: number;
maxLength?: number;
}
interface GNArrayDataMemberArgs extends OtherDataMemberArgs {
defaultValue?: GNArray;
mustNonNull?: boolean;
minLength?: number;
maxLength?: number;
elementCls?: new (...args: any[]) => any;
}
export declare const DataMember: (args: DataMemberArgs) => (prototype: any, propertyKey: string) => void;
export declare const StringDataMember: (args: StringDataMemberArgs) => (prototype: any, propertyKey: string) => void;
export declare const BooleanDataMember: (args: BooleanDataMemberArgs) => (prototype: any, propertyKey: string) => void;
export declare const GNHashtableDataMember: (args: GNHashtableDataMemberArgs) => (prototype: any, propertyKey: string) => void;
export declare const GNArrayDataMember: (args: GNArrayDataMemberArgs) => (prototype: any, propertyKey: string) => void;
export declare const NumberDataMember: (args: NumberDataMemberArgs) => (prototype: any, propertyKey: string) => void;
export {};