UNPKG

@sqb/builder

Version:

Extensible multi-dialect SQL query builder written with TypeScript

142 lines (141 loc) 5.32 kB
"use strict"; 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); }