UNPKG

very-simple-orm

Version:

This is simple orm for typesript/javascript projects

63 lines (56 loc) 1.95 kB
/** * this conatiins sql string and values as arguments */ interface SQL_VALUES{ sql:string; values:any[]; } /** * For inserting into many records and updating many record */ interface SQL_VALUES_MANY{ sql:string; values:any[][]; } /** * filed name it value */ interface FIELD_NAME_VALUE{ fieldName:string, value:any } /** * Field name value and its operator. */ interface FIELD_NAME_VALUE_OPERATOR extends FIELD_NAME_VALUE{ separator : "AND" | "OR" | "NONE"; operator : "=" | "!=" | "LIKE" } interface JOIN{ type : "INNER JOIN" | "LEFT JOIN" | "RIGHT JOIN" | "CROSS JOIN", otherTable:string, anotherTable?:string; otherTableSelectField ?: string[], otherTableJoinField:string, anotherTableJoinField?:string thistableJoinField?:string } interface SELECT{ selectById(_idField:FIELD_NAME_VALUE, _selectedFields ?:string[], _orderBy?:{fields:string[], by:"ASC" | "DESC"}, _limit?:number, _offset?:number):SQL_VALUES select(_clauseFields?:FIELD_NAME_VALUE_OPERATOR[], _selectedFields ?:string[], _orderBy?:{fields:string[], by:"ASC" | "DESC"}, _limit?:number, _offset?:number, _join ?:JOIN[]):SQL_VALUES } interface UPADTE{ updateById(_field:FIELD_NAME_VALUE, _updateFields:FIELD_NAME_VALUE[]):SQL_VALUES; update(_updateFields:FIELD_NAME_VALUE[], _clauseFileds:FIELD_NAME_VALUE_OPERATOR[] ):SQL_VALUES } interface INSERT{ insert(_insertFields:FIELD_NAME_VALUE[]):SQL_VALUES; insertMany(_insertFields: FIELD_NAME_VALUE[][]): SQL_VALUES_MANY; } interface DELETE{ deleteById(_field:FIELD_NAME_VALUE):SQL_VALUES; delete(_clauseField: FIELD_NAME_VALUE_OPERATOR[]): SQL_VALUES; } interface SQL_MASTER extends SELECT, UPADTE, INSERT, DELETE{ } export type {SQL_VALUES, SQL_VALUES_MANY,FIELD_NAME_VALUE, FIELD_NAME_VALUE_OPERATOR, SELECT, JOIN,UPADTE, INSERT, DELETE, SQL_MASTER}