very-simple-orm
Version:
This is simple orm for typesript/javascript projects
63 lines • 2.07 kB
TypeScript
/**
* 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 };
//# sourceMappingURL=sqlInterface.d.ts.map