@sequeljs/ast
Version:
A SQL AST manager for JavaScript
43 lines • 1.25 kB
JavaScript
import And from '../nodes/And';
import False from '../nodes/False';
import Grouping from '../nodes/Grouping';
import InnerJoin from '../nodes/InnerJoin';
import NamedSQLFunction from '../nodes/NamedSQLFunction';
import On from '../nodes/On';
import StringJoin from '../nodes/StringJoin';
import TableAlias from '../nodes/TableAlias';
import True from '../nodes/True';
import buildQuoted from '../nodes/buildQuoted';
export default class FactoryMethods {
coalesce(...exprs) {
return new NamedSQLFunction('COALESCE', exprs);
}
createAnd(clauses) {
return new And(clauses);
}
createFalse() {
return new False();
}
createJoin(to, constraint = null, Klass = InnerJoin) {
return new Klass(to, constraint);
}
createOn(expr) {
return new On(expr);
}
createStringJoin(to) {
return this.createJoin(to, null, StringJoin);
}
createTableAlias(relation, name) {
return new TableAlias(relation, name);
}
createTrue() {
return new True();
}
grouping(expr) {
return new Grouping(expr);
}
lower(column) {
return new NamedSQLFunction('LOWER', [buildQuoted(column)]);
}
}
//# sourceMappingURL=FactoryMethods.js.map