UNPKG

very-simple-orm

Version:

This is simple orm for typesript/javascript projects

111 lines 2.5 kB
/** used in table cor creatation */ /** * string and size */ interface StringType { String: "String"; size?: number; } /** * property number and autoincrement */ interface NumberType { Number: "Number"; autoIncrement?: Boolean; } /** * enum and enum values */ interface EnumType { Enum: "Enum"; enumValues: any[]; } /** * Date */ interface DateType { Date: "Date"; } /** * DateTime */ interface DateTimeType { DateTime: "DateTime"; } /** * Boolean */ interface BooleanType { Boolean: "Boolean"; } /** * double */ interface DoubleType { Double: "Double"; } /** * Text */ interface TextType { Text: "Text"; } interface CURRENT_TIMESTAMP_TYPE { CURRENT_TIMESTAMP: "CURRENT_TIMESTAMP"; } interface NULL_TYPE { NULL: "NULL"; } interface AS_DEFINED_TYPE { AS_DEFINED: "AS DEFINED"; value: any; } interface FIELD { /** * name of the field */ fieldName: string; /** * example type : {"String" : "string", "size" : 123} * * StringType has 'size' as one more property * * NumberType has 'autoIncrement' as one more property * * EnumType has "enumValues" as one more property */ type: StringType | NumberType | EnumType | DateType | DateTimeType | TextType | BooleanType | DoubleType | TextType; /** * is the filed primery key */ PrimeryKey?: boolean; /** * exaple { "AS_DEFINED_TYPE" : "AS_DEFINED_TYPE", value ; "India"} * AS_DEFINED_TYPE has on property of value */ default?: CURRENT_TIMESTAMP_TYPE | NULL_TYPE | AS_DEFINED_TYPE; unique?: boolean; /** * false means required * true means not required */ null?: boolean; /** * This is function is field validadtor before insert and update operations * @fieldValue value is value of the current field use this inside your custom validadtion function * return true if success or return false in faliure of validation */ validate?: (fieldValue: any) => boolean; } /** * each field of table /** * Table interface */ interface TABLE { tableName: string; fields: FIELD[]; } export type { TABLE, FIELD }; export type { StringType, NumberType, EnumType, DateType, DateTimeType, BooleanType, DoubleType, TextType, CURRENT_TIMESTAMP_TYPE, NULL_TYPE, AS_DEFINED_TYPE }; //# sourceMappingURL=tableInterface.d.ts.map