@sqb/builder
Version:
Extensible multi-dialect SQL query builder written with TypeScript
142 lines (141 loc) • 5.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Raw = Raw;
exports.Select = Select;
exports.Insert = Insert;
exports.Update = Update;
exports.Delete = Delete;
exports.Union = Union;
exports.UnionAll = UnionAll;
exports.Join = Join;
exports.InnerJoin = InnerJoin;
exports.LeftJoin = LeftJoin;
exports.LeftOuterJoin = LeftOuterJoin;
exports.RightJoin = RightJoin;
exports.RightOuterJoin = RightOuterJoin;
exports.OuterJoin = OuterJoin;
exports.FullOuterJoin = FullOuterJoin;
exports.CrossJoin = CrossJoin;
exports.Case = Case;
exports.Coalesce = Coalesce;
exports.Lower = Lower;
exports.Upper = Upper;
exports.Min = Min;
exports.Max = Max;
exports.StringAGG = StringAGG;
exports.Count = Count;
exports.SequenceNext = SequenceNext;
exports.SequenceCurr = SequenceCurr;
exports.Param = Param;
exports.Field = Field;
const enums_js_1 = require("./enums.js");
const delete_query_js_1 = require("./query/delete-query.js");
const insert_query_js_1 = require("./query/insert-query.js");
const select_query_js_1 = require("./query/select-query.js");
const union_query_js_1 = require("./query/union-query.js");
const update_query_js_1 = require("./query/update-query.js");
const case_statement_js_1 = require("./sql-objects/case-statement.js");
const coalesce_statement_js_1 = require("./sql-objects/coalesce-statement.js");
const count_statement_js_1 = require("./sql-objects/count-statement.js");
const field_expression_js_1 = require("./sql-objects/field-expression.js");
const join_statement_js_1 = require("./sql-objects/join-statement.js");
const lower_statement_js_1 = require("./sql-objects/lower-statement.js");
const max_statement_js_1 = require("./sql-objects/max-statement.js");
const min_statement_js_1 = require("./sql-objects/min-statement.js");
const param_expression_js_1 = require("./sql-objects/param-expression.js");
const raw_statement_js_1 = require("./sql-objects/raw-statement.js");
const sequence_getter_statement_js_1 = require("./sql-objects/sequence-getter-statement.js");
const string_agg_statement_js_1 = require("./sql-objects/string-agg-statement.js");
const upper_statement_js_1 = require("./sql-objects/upper-statement.js");
function Raw(text) {
return new raw_statement_js_1.RawStatement(text);
}
function Select(...column) {
return new select_query_js_1.SelectQuery(...column);
}
function Insert(tableName, input) {
return new insert_query_js_1.InsertQuery(tableName, input);
}
function Update(tableName, input) {
return new update_query_js_1.UpdateQuery(tableName, input);
}
function Delete(tableName) {
return new delete_query_js_1.DeleteQuery(tableName);
}
function Union(...queries) {
return new union_query_js_1.UnionQuery(queries);
}
function UnionAll(...queries) {
return new union_query_js_1.UnionQuery(queries, 'all');
}
function Join(table) {
return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.INNER, table);
}
function InnerJoin(table) {
return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.INNER, table);
}
function LeftJoin(table) {
return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.LEFT, table);
}
function LeftOuterJoin(table) {
return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.LEFT_OUTER, table);
}
function RightJoin(table) {
return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.RIGHT, table);
}
function RightOuterJoin(table) {
return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.RIGHT_OUTER, table);
}
function OuterJoin(table) {
return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.OUTER, table);
}
function FullOuterJoin(table) {
return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.FULL_OUTER, table);
}
function CrossJoin(table) {
return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.CROSS, table);
}
function Case() {
return new case_statement_js_1.CaseStatement();
}
function Coalesce(...expressions) {
return new coalesce_statement_js_1.CoalesceStatement(...expressions);
}
function Lower(expression) {
return new lower_statement_js_1.LowerStatement(expression);
}
function Upper(expression) {
return new upper_statement_js_1.UpperStatement(expression);
}
function Min(expression) {
return new min_statement_js_1.MinStatement(expression);
}
function Max(expression) {
return new max_statement_js_1.MaxStatement(expression);
}
function StringAGG(field) {
return new string_agg_statement_js_1.StringAGGStatement(field);
}
function Count() {
return new count_statement_js_1.CountStatement();
}
function SequenceNext(expression) {
return new sequence_getter_statement_js_1.SequenceGetterStatement(expression, true);
}
function SequenceCurr(expression) {
return new sequence_getter_statement_js_1.SequenceGetterStatement(expression, false);
}
function Param(arg0, arg1, arg2) {
if (typeof arg0 === 'object')
return new param_expression_js_1.ParamExpression(arg0);
return new param_expression_js_1.ParamExpression({
name: arg0,
dataType: arg1,
isArray: arg2,
});
}
function Field(arg0, arg1, arg2) {
if (typeof arg0 === 'object')
return new field_expression_js_1.FieldExpression(arg0);
return new field_expression_js_1.FieldExpression(arg0, arg1, arg2);
}