@sqb/builder 4.15.0 → 4.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/cjs/package.json +3 -0
  2. package/esm/classes.ns.js +38 -41
  3. package/esm/enums.js +8 -11
  4. package/esm/extensions.js +1 -5
  5. package/esm/helpers.js +1 -4
  6. package/esm/index.js +20 -25
  7. package/esm/op.initializers.js +46 -78
  8. package/esm/package.json +3 -0
  9. package/esm/query/delete-query.js +11 -15
  10. package/esm/query/insert-query.js +13 -17
  11. package/esm/query/query.js +10 -15
  12. package/esm/query/returning-query.js +8 -12
  13. package/esm/query/select-query.js +28 -32
  14. package/esm/query/union-query.js +4 -8
  15. package/esm/query/update-query.js +14 -18
  16. package/esm/serializable.js +1 -5
  17. package/esm/serialize-context.js +15 -19
  18. package/esm/sql-objects/base-field.js +2 -6
  19. package/esm/sql-objects/case-statement.js +6 -10
  20. package/esm/sql-objects/coalesce-statement.js +4 -8
  21. package/esm/sql-objects/count-statement.js +4 -8
  22. package/esm/sql-objects/expression.js +2 -6
  23. package/esm/sql-objects/field-expression.js +4 -8
  24. package/esm/sql-objects/group-column.js +4 -8
  25. package/esm/sql-objects/join-statement.js +19 -23
  26. package/esm/sql-objects/lower-statement.js +4 -8
  27. package/esm/sql-objects/max-statement.js +4 -8
  28. package/esm/sql-objects/min-statement.js +4 -8
  29. package/esm/sql-objects/operator.js +2 -6
  30. package/esm/sql-objects/operators/comp-operator.js +13 -17
  31. package/esm/sql-objects/operators/logical-operator.js +16 -21
  32. package/esm/sql-objects/operators/op-and.js +4 -8
  33. package/esm/sql-objects/operators/op-between.js +4 -8
  34. package/esm/sql-objects/operators/op-eq.js +4 -8
  35. package/esm/sql-objects/operators/op-exists.js +6 -10
  36. package/esm/sql-objects/operators/op-gt.js +4 -8
  37. package/esm/sql-objects/operators/op-gte.js +4 -8
  38. package/esm/sql-objects/operators/op-ilike.js +4 -8
  39. package/esm/sql-objects/operators/op-in.js +6 -10
  40. package/esm/sql-objects/operators/op-is-not.js +4 -8
  41. package/esm/sql-objects/operators/op-is.js +4 -8
  42. package/esm/sql-objects/operators/op-like.js +4 -8
  43. package/esm/sql-objects/operators/op-lt.js +4 -8
  44. package/esm/sql-objects/operators/op-lte.js +4 -8
  45. package/esm/sql-objects/operators/op-ne.js +4 -8
  46. package/esm/sql-objects/operators/op-not-between.js +4 -8
  47. package/esm/sql-objects/operators/op-not-exists.js +4 -8
  48. package/esm/sql-objects/operators/op-not-ilike.js +4 -8
  49. package/esm/sql-objects/operators/op-not-in.js +4 -8
  50. package/esm/sql-objects/operators/op-not-like.js +4 -8
  51. package/esm/sql-objects/operators/op-not.js +5 -9
  52. package/esm/sql-objects/operators/op-or.js +4 -8
  53. package/esm/sql-objects/order-column.js +4 -8
  54. package/esm/sql-objects/param-expression.js +4 -8
  55. package/esm/sql-objects/raw-statement.js +4 -8
  56. package/esm/sql-objects/returning-column.js +4 -8
  57. package/esm/sql-objects/sequence-getter-statement.js +4 -8
  58. package/esm/sql-objects/string-agg-statement.js +11 -15
  59. package/esm/sql-objects/table-name.js +4 -8
  60. package/esm/sql-objects/upper-statement.js +4 -8
  61. package/esm/sqlobject.initializers.js +101 -131
  62. package/esm/typeguards.js +59 -80
  63. package/esm/types.js +1 -2
  64. package/package.json +20 -11
  65. package/types/query/select-query.d.ts +1 -1
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OrderColumn = void 0;
4
- const enums_js_1 = require("../enums.js");
5
- const base_field_js_1 = require("./base-field.js");
1
+ import { SerializationType } from '../enums.js';
2
+ import { BaseField } from './base-field.js';
6
3
  const ORDER_COLUMN_PATTERN = /^([-+])?((?:[a-zA-Z_][\w$]*\.){0,2})([a-zA-Z_][\w$]*|\*) *(asc|dsc|desc|ascending|descending)?$/i;
7
- class OrderColumn extends base_field_js_1.BaseField {
4
+ export class OrderColumn extends BaseField {
8
5
  constructor(value) {
9
6
  super();
10
7
  const m = value.match(ORDER_COLUMN_PATTERN);
@@ -21,7 +18,7 @@ class OrderColumn extends base_field_js_1.BaseField {
21
18
  (!m[1] && m[4] && ['dsc', 'desc', 'descending'].includes(m[4].toLowerCase())));
22
19
  }
23
20
  get _type() {
24
- return enums_js_1.SerializationType.ORDER_COLUMN;
21
+ return SerializationType.ORDER_COLUMN;
25
22
  }
26
23
  _serialize(ctx) {
27
24
  const o = {
@@ -37,4 +34,3 @@ class OrderColumn extends base_field_js_1.BaseField {
37
34
  (o.descending ? ' desc' : ''));
38
35
  }
39
36
  }
40
- exports.OrderColumn = OrderColumn;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ParamExpression = void 0;
4
- const enums_js_1 = require("../enums.js");
5
- const serializable_js_1 = require("../serializable.js");
6
- class ParamExpression extends serializable_js_1.Serializable {
1
+ import { SerializationType } from '../enums.js';
2
+ import { Serializable } from '../serializable.js';
3
+ export class ParamExpression extends Serializable {
7
4
  constructor(arg) {
8
5
  super();
9
6
  if (typeof arg === 'object') {
@@ -15,7 +12,7 @@ class ParamExpression extends serializable_js_1.Serializable {
15
12
  this._name = arg;
16
13
  }
17
14
  get _type() {
18
- return enums_js_1.SerializationType.EXTERNAL_PARAMETER;
15
+ return SerializationType.EXTERNAL_PARAMETER;
19
16
  }
20
17
  /**
21
18
  * Performs serialization
@@ -49,4 +46,3 @@ class ParamExpression extends serializable_js_1.Serializable {
49
46
  return ':' + o.name;
50
47
  }
51
48
  }
52
- exports.ParamExpression = ParamExpression;
@@ -1,18 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RawStatement = void 0;
4
- const enums_js_1 = require("../enums.js");
5
- const serializable_js_1 = require("../serializable.js");
6
- class RawStatement extends serializable_js_1.Serializable {
1
+ import { SerializationType } from '../enums.js';
2
+ import { Serializable } from '../serializable.js';
3
+ export class RawStatement extends Serializable {
7
4
  constructor(str) {
8
5
  super();
9
6
  this._text = str;
10
7
  }
11
8
  get _type() {
12
- return enums_js_1.SerializationType.RAW;
9
+ return SerializationType.RAW;
13
10
  }
14
11
  _serialize(ctx) {
15
12
  return ctx.serialize(this._type, this._text, () => this._text);
16
13
  }
17
14
  }
18
- exports.RawStatement = RawStatement;
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReturningColumn = void 0;
4
- const enums_js_1 = require("../enums.js");
5
- const base_field_js_1 = require("./base-field.js");
1
+ import { SerializationType } from '../enums.js';
2
+ import { BaseField } from './base-field.js';
6
3
  const RETURNING_COLUMN_PATTERN = /^([a-zA-Z_]\w*) *(?:as)? *(\w+)?$/;
7
- class ReturningColumn extends base_field_js_1.BaseField {
4
+ export class ReturningColumn extends BaseField {
8
5
  constructor(field) {
9
6
  super();
10
7
  const m = field.match(RETURNING_COLUMN_PATTERN);
@@ -14,7 +11,7 @@ class ReturningColumn extends base_field_js_1.BaseField {
14
11
  this._alias = m[2];
15
12
  }
16
13
  get _type() {
17
- return enums_js_1.SerializationType.RETURNING_COLUMN;
14
+ return SerializationType.RETURNING_COLUMN;
18
15
  }
19
16
  _serialize(ctx) {
20
17
  const o = {
@@ -26,4 +23,3 @@ class ReturningColumn extends base_field_js_1.BaseField {
26
23
  return ctx.serialize(this._type, o, () => ctx.escapeReserved(o.field) + (o.alias ? ' as ' + ctx.escapeReserved(o.alias) : ''));
27
24
  }
28
25
  }
29
- exports.ReturningColumn = ReturningColumn;
@@ -1,16 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SequenceGetterStatement = void 0;
4
- const enums_js_1 = require("../enums.js");
5
- const serializable_js_1 = require("../serializable.js");
6
- class SequenceGetterStatement extends serializable_js_1.Serializable {
1
+ import { SerializationType } from '../enums.js';
2
+ import { Serializable } from '../serializable.js';
3
+ export class SequenceGetterStatement extends Serializable {
7
4
  constructor(expression, next) {
8
5
  super();
9
6
  this._expression = expression;
10
7
  this._next = !!next;
11
8
  }
12
9
  get _type() {
13
- return enums_js_1.SerializationType.SEQUENCE_GETTER_STATEMENT;
10
+ return SerializationType.SEQUENCE_GETTER_STATEMENT;
14
11
  }
15
12
  next(value) {
16
13
  this._next = value;
@@ -44,4 +41,3 @@ class SequenceGetterStatement extends serializable_js_1.Serializable {
44
41
  return (o.next ? 'nextval' : 'currval') + "('" + o.genName + "')" + (o.alias ? ' ' + o.alias : '');
45
42
  }
46
43
  }
47
- exports.SequenceGetterStatement = SequenceGetterStatement;
@@ -1,19 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StringAGGStatement = void 0;
4
- const enums_js_1 = require("../enums.js");
5
- const helpers_js_1 = require("../helpers.js");
6
- const serializable_js_1 = require("../serializable.js");
7
- const field_expression_js_1 = require("./field-expression.js");
8
- const order_column_js_1 = require("./order-column.js");
9
- class StringAGGStatement extends serializable_js_1.Serializable {
1
+ import { SerializationType } from '../enums.js';
2
+ import { printArray } from '../helpers.js';
3
+ import { Serializable } from '../serializable.js';
4
+ import { FieldExpression } from './field-expression.js';
5
+ import { OrderColumn } from './order-column.js';
6
+ export class StringAGGStatement extends Serializable {
10
7
  constructor(field, delimiter) {
11
8
  super();
12
- this._field = typeof field === 'string' ? new field_expression_js_1.FieldExpression(field) : field;
9
+ this._field = typeof field === 'string' ? new FieldExpression(field) : field;
13
10
  this._delimiter = delimiter || ',';
14
11
  }
15
12
  get _type() {
16
- return enums_js_1.SerializationType.STRINGAGG_STATEMENT;
13
+ return SerializationType.STRINGAGG_STATEMENT;
17
14
  }
18
15
  delimiter(value) {
19
16
  this._delimiter = value;
@@ -27,7 +24,7 @@ class StringAGGStatement extends serializable_js_1.Serializable {
27
24
  for (const arg of field) {
28
25
  if (!arg)
29
26
  continue;
30
- this._orderBy.push(typeof arg === 'string' ? new order_column_js_1.OrderColumn(arg) : arg);
27
+ this._orderBy.push(typeof arg === 'string' ? new OrderColumn(arg) : arg);
31
28
  }
32
29
  return this;
33
30
  }
@@ -64,8 +61,8 @@ class StringAGGStatement extends serializable_js_1.Serializable {
64
61
  arr.push(s);
65
62
  }
66
63
  }
67
- return ctx.serialize(enums_js_1.SerializationType.SELECT_QUERY_ORDERBY, arr, () => {
68
- const s = (0, helpers_js_1.printArray)(arr);
64
+ return ctx.serialize(SerializationType.SELECT_QUERY_ORDERBY, arr, () => {
65
+ const s = printArray(arr);
69
66
  return s ? 'order by ' + s : '';
70
67
  });
71
68
  }
@@ -80,4 +77,3 @@ class StringAGGStatement extends serializable_js_1.Serializable {
80
77
  (o.alias ? ' ' + o.alias : ''));
81
78
  }
82
79
  }
83
- exports.StringAGGStatement = StringAGGStatement;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TableName = void 0;
4
- const enums_js_1 = require("../enums.js");
5
- const serializable_js_1 = require("../serializable.js");
6
- class TableName extends serializable_js_1.Serializable {
1
+ import { SerializationType } from '../enums.js';
2
+ import { Serializable } from '../serializable.js';
3
+ export class TableName extends Serializable {
7
4
  constructor(tableName) {
8
5
  super();
9
6
  const m = tableName.match(/^(?:([a-zA-Z][\w$]*)\.)? *([a-zA-Z][\w$]*) *(?:as)? *(\w+)?$/);
@@ -17,7 +14,7 @@ class TableName extends serializable_js_1.Serializable {
17
14
  this.alias = m[3];
18
15
  }
19
16
  get _type() {
20
- return enums_js_1.SerializationType.TABLE_NAME;
17
+ return SerializationType.TABLE_NAME;
21
18
  }
22
19
  _serialize(ctx) {
23
20
  return ctx.serialize(this._type, {
@@ -27,4 +24,3 @@ class TableName extends serializable_js_1.Serializable {
27
24
  }, () => (this.schema ? this.schema + '.' : '') + this.table + (this.alias ? ' ' + this.alias : ''));
28
25
  }
29
26
  }
30
- exports.TableName = TableName;
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpperStatement = void 0;
4
- const enums_js_1 = require("../enums.js");
5
- const serializable_js_1 = require("../serializable.js");
6
- class UpperStatement extends serializable_js_1.Serializable {
1
+ import { SerializationType } from '../enums.js';
2
+ import { Serializable } from '../serializable.js';
3
+ export class UpperStatement extends Serializable {
7
4
  constructor(expression) {
8
5
  super();
9
6
  this._expression = expression;
10
7
  }
11
8
  get _type() {
12
- return enums_js_1.SerializationType.UPPER_STATEMENT;
9
+ return SerializationType.UPPER_STATEMENT;
13
10
  }
14
11
  /**
15
12
  * Sets alias to case expression.
@@ -35,4 +32,3 @@ class UpperStatement extends serializable_js_1.Serializable {
35
32
  return 'upper(' + o + ')' + (this._alias ? ' ' + this._alias : '');
36
33
  }
37
34
  }
38
- exports.UpperStatement = UpperStatement;
@@ -1,141 +1,111 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Raw = Raw;
4
- exports.Select = Select;
5
- exports.Insert = Insert;
6
- exports.Update = Update;
7
- exports.Delete = Delete;
8
- exports.Union = Union;
9
- exports.UnionAll = UnionAll;
10
- exports.Join = Join;
11
- exports.InnerJoin = InnerJoin;
12
- exports.LeftJoin = LeftJoin;
13
- exports.LeftOuterJoin = LeftOuterJoin;
14
- exports.RightJoin = RightJoin;
15
- exports.RightOuterJoin = RightOuterJoin;
16
- exports.OuterJoin = OuterJoin;
17
- exports.FullOuterJoin = FullOuterJoin;
18
- exports.CrossJoin = CrossJoin;
19
- exports.Case = Case;
20
- exports.Coalesce = Coalesce;
21
- exports.Lower = Lower;
22
- exports.Upper = Upper;
23
- exports.Min = Min;
24
- exports.Max = Max;
25
- exports.StringAGG = StringAGG;
26
- exports.Count = Count;
27
- exports.SequenceNext = SequenceNext;
28
- exports.SequenceCurr = SequenceCurr;
29
- exports.Param = Param;
30
- exports.Field = Field;
31
- const enums_js_1 = require("./enums.js");
32
- const delete_query_js_1 = require("./query/delete-query.js");
33
- const insert_query_js_1 = require("./query/insert-query.js");
34
- const select_query_js_1 = require("./query/select-query.js");
35
- const union_query_js_1 = require("./query/union-query.js");
36
- const update_query_js_1 = require("./query/update-query.js");
37
- const case_statement_js_1 = require("./sql-objects/case-statement.js");
38
- const coalesce_statement_js_1 = require("./sql-objects/coalesce-statement.js");
39
- const count_statement_js_1 = require("./sql-objects/count-statement.js");
40
- const field_expression_js_1 = require("./sql-objects/field-expression.js");
41
- const join_statement_js_1 = require("./sql-objects/join-statement.js");
42
- const lower_statement_js_1 = require("./sql-objects/lower-statement.js");
43
- const max_statement_js_1 = require("./sql-objects/max-statement.js");
44
- const min_statement_js_1 = require("./sql-objects/min-statement.js");
45
- const param_expression_js_1 = require("./sql-objects/param-expression.js");
46
- const raw_statement_js_1 = require("./sql-objects/raw-statement.js");
47
- const sequence_getter_statement_js_1 = require("./sql-objects/sequence-getter-statement.js");
48
- const string_agg_statement_js_1 = require("./sql-objects/string-agg-statement.js");
49
- const upper_statement_js_1 = require("./sql-objects/upper-statement.js");
50
- function Raw(text) {
51
- return new raw_statement_js_1.RawStatement(text);
52
- }
53
- function Select(...column) {
54
- return new select_query_js_1.SelectQuery(...column);
55
- }
56
- function Insert(tableName, input) {
57
- return new insert_query_js_1.InsertQuery(tableName, input);
58
- }
59
- function Update(tableName, input) {
60
- return new update_query_js_1.UpdateQuery(tableName, input);
61
- }
62
- function Delete(tableName) {
63
- return new delete_query_js_1.DeleteQuery(tableName);
64
- }
65
- function Union(...queries) {
66
- return new union_query_js_1.UnionQuery(queries);
67
- }
68
- function UnionAll(...queries) {
69
- return new union_query_js_1.UnionQuery(queries, 'all');
70
- }
71
- function Join(table) {
72
- return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.INNER, table);
73
- }
74
- function InnerJoin(table) {
75
- return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.INNER, table);
76
- }
77
- function LeftJoin(table) {
78
- return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.LEFT, table);
79
- }
80
- function LeftOuterJoin(table) {
81
- return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.LEFT_OUTER, table);
82
- }
83
- function RightJoin(table) {
84
- return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.RIGHT, table);
85
- }
86
- function RightOuterJoin(table) {
87
- return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.RIGHT_OUTER, table);
88
- }
89
- function OuterJoin(table) {
90
- return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.OUTER, table);
91
- }
92
- function FullOuterJoin(table) {
93
- return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.FULL_OUTER, table);
94
- }
95
- function CrossJoin(table) {
96
- return new join_statement_js_1.JoinStatement(enums_js_1.JoinType.CROSS, table);
97
- }
98
- function Case() {
99
- return new case_statement_js_1.CaseStatement();
100
- }
101
- function Coalesce(...expressions) {
102
- return new coalesce_statement_js_1.CoalesceStatement(...expressions);
103
- }
104
- function Lower(expression) {
105
- return new lower_statement_js_1.LowerStatement(expression);
106
- }
107
- function Upper(expression) {
108
- return new upper_statement_js_1.UpperStatement(expression);
109
- }
110
- function Min(expression) {
111
- return new min_statement_js_1.MinStatement(expression);
112
- }
113
- function Max(expression) {
114
- return new max_statement_js_1.MaxStatement(expression);
115
- }
116
- function StringAGG(field) {
117
- return new string_agg_statement_js_1.StringAGGStatement(field);
118
- }
119
- function Count() {
120
- return new count_statement_js_1.CountStatement();
121
- }
122
- function SequenceNext(expression) {
123
- return new sequence_getter_statement_js_1.SequenceGetterStatement(expression, true);
1
+ import { JoinType } from './enums.js';
2
+ import { DeleteQuery } from './query/delete-query.js';
3
+ import { InsertQuery } from './query/insert-query.js';
4
+ import { SelectQuery } from './query/select-query.js';
5
+ import { UnionQuery } from './query/union-query.js';
6
+ import { UpdateQuery } from './query/update-query.js';
7
+ import { CaseStatement } from './sql-objects/case-statement.js';
8
+ import { CoalesceStatement } from './sql-objects/coalesce-statement.js';
9
+ import { CountStatement } from './sql-objects/count-statement.js';
10
+ import { FieldExpression } from './sql-objects/field-expression.js';
11
+ import { JoinStatement } from './sql-objects/join-statement.js';
12
+ import { LowerStatement } from './sql-objects/lower-statement.js';
13
+ import { MaxStatement } from './sql-objects/max-statement.js';
14
+ import { MinStatement } from './sql-objects/min-statement.js';
15
+ import { ParamExpression } from './sql-objects/param-expression.js';
16
+ import { RawStatement } from './sql-objects/raw-statement.js';
17
+ import { SequenceGetterStatement } from './sql-objects/sequence-getter-statement.js';
18
+ import { StringAGGStatement } from './sql-objects/string-agg-statement.js';
19
+ import { UpperStatement } from './sql-objects/upper-statement.js';
20
+ export function Raw(text) {
21
+ return new RawStatement(text);
124
22
  }
125
- function SequenceCurr(expression) {
126
- return new sequence_getter_statement_js_1.SequenceGetterStatement(expression, false);
23
+ export function Select(...column) {
24
+ return new SelectQuery(...column);
127
25
  }
128
- function Param(arg0, arg1, arg2) {
26
+ export function Insert(tableName, input) {
27
+ return new InsertQuery(tableName, input);
28
+ }
29
+ export function Update(tableName, input) {
30
+ return new UpdateQuery(tableName, input);
31
+ }
32
+ export function Delete(tableName) {
33
+ return new DeleteQuery(tableName);
34
+ }
35
+ export function Union(...queries) {
36
+ return new UnionQuery(queries);
37
+ }
38
+ export function UnionAll(...queries) {
39
+ return new UnionQuery(queries, 'all');
40
+ }
41
+ export function Join(table) {
42
+ return new JoinStatement(JoinType.INNER, table);
43
+ }
44
+ export function InnerJoin(table) {
45
+ return new JoinStatement(JoinType.INNER, table);
46
+ }
47
+ export function LeftJoin(table) {
48
+ return new JoinStatement(JoinType.LEFT, table);
49
+ }
50
+ export function LeftOuterJoin(table) {
51
+ return new JoinStatement(JoinType.LEFT_OUTER, table);
52
+ }
53
+ export function RightJoin(table) {
54
+ return new JoinStatement(JoinType.RIGHT, table);
55
+ }
56
+ export function RightOuterJoin(table) {
57
+ return new JoinStatement(JoinType.RIGHT_OUTER, table);
58
+ }
59
+ export function OuterJoin(table) {
60
+ return new JoinStatement(JoinType.OUTER, table);
61
+ }
62
+ export function FullOuterJoin(table) {
63
+ return new JoinStatement(JoinType.FULL_OUTER, table);
64
+ }
65
+ export function CrossJoin(table) {
66
+ return new JoinStatement(JoinType.CROSS, table);
67
+ }
68
+ export function Case() {
69
+ return new CaseStatement();
70
+ }
71
+ export function Coalesce(...expressions) {
72
+ return new CoalesceStatement(...expressions);
73
+ }
74
+ export function Lower(expression) {
75
+ return new LowerStatement(expression);
76
+ }
77
+ export function Upper(expression) {
78
+ return new UpperStatement(expression);
79
+ }
80
+ export function Min(expression) {
81
+ return new MinStatement(expression);
82
+ }
83
+ export function Max(expression) {
84
+ return new MaxStatement(expression);
85
+ }
86
+ export function StringAGG(field) {
87
+ return new StringAGGStatement(field);
88
+ }
89
+ export function Count() {
90
+ return new CountStatement();
91
+ }
92
+ export function SequenceNext(expression) {
93
+ return new SequenceGetterStatement(expression, true);
94
+ }
95
+ export function SequenceCurr(expression) {
96
+ return new SequenceGetterStatement(expression, false);
97
+ }
98
+ export function Param(arg0, arg1, arg2) {
129
99
  if (typeof arg0 === 'object')
130
- return new param_expression_js_1.ParamExpression(arg0);
131
- return new param_expression_js_1.ParamExpression({
100
+ return new ParamExpression(arg0);
101
+ return new ParamExpression({
132
102
  name: arg0,
133
103
  dataType: arg1,
134
104
  isArray: arg2,
135
105
  });
136
106
  }
137
- function Field(arg0, arg1, arg2) {
107
+ export function Field(arg0, arg1, arg2) {
138
108
  if (typeof arg0 === 'object')
139
- return new field_expression_js_1.FieldExpression(arg0);
140
- return new field_expression_js_1.FieldExpression(arg0, arg1, arg2);
109
+ return new FieldExpression(arg0);
110
+ return new FieldExpression(arg0, arg1, arg2);
141
111
  }
package/esm/typeguards.js CHANGED
@@ -1,81 +1,60 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSerializable = isSerializable;
4
- exports.isQuery = isQuery;
5
- exports.isRawStatement = isRawStatement;
6
- exports.isSelectQuery = isSelectQuery;
7
- exports.isInsertQuery = isInsertQuery;
8
- exports.isIUpdateQuery = isIUpdateQuery;
9
- exports.isDeleteQuery = isDeleteQuery;
10
- exports.isJoinStatement = isJoinStatement;
11
- exports.isCaseStatement = isCaseStatement;
12
- exports.isCountStatement = isCountStatement;
13
- exports.isParamExpression = isParamExpression;
14
- exports.isLogicalOperator = isLogicalOperator;
15
- exports.isCompOperator = isCompOperator;
16
- exports.isNotOperator = isNotOperator;
17
- exports.isSelectColumn = isSelectColumn;
18
- exports.isOrderColumn = isOrderColumn;
19
- exports.isGroupColumn = isGroupColumn;
20
- exports.isReturningColumn = isReturningColumn;
21
- exports.isTableName = isTableName;
22
- const enums_js_1 = require("./enums.js");
23
- const query_js_1 = require("./query/query.js");
24
- const serializable_js_1 = require("./serializable.js");
25
- function isSerializable(value) {
26
- return value instanceof serializable_js_1.Serializable;
27
- }
28
- function isQuery(value) {
29
- return value instanceof query_js_1.Query;
30
- }
31
- function isRawStatement(value) {
32
- return isSerializable(value) && value._type === enums_js_1.SerializationType.RAW;
33
- }
34
- function isSelectQuery(value) {
35
- return isSerializable(value) && value._type === enums_js_1.SerializationType.SELECT_QUERY;
36
- }
37
- function isInsertQuery(value) {
38
- return isSerializable(value) && value._type === enums_js_1.SerializationType.INSERT_QUERY;
39
- }
40
- function isIUpdateQuery(value) {
41
- return isSerializable(value) && value._type === enums_js_1.SerializationType.UPDATE_QUERY;
42
- }
43
- function isDeleteQuery(value) {
44
- return isSerializable(value) && value._type === enums_js_1.SerializationType.DELETE_QUERY;
45
- }
46
- function isJoinStatement(value) {
47
- return isSerializable(value) && value._type === enums_js_1.SerializationType.JOIN;
48
- }
49
- function isCaseStatement(value) {
50
- return isSerializable(value) && value._type === enums_js_1.SerializationType.CASE_STATEMENT;
51
- }
52
- function isCountStatement(value) {
53
- return isSerializable(value) && value._type === enums_js_1.SerializationType.COUNT_STATEMENT;
54
- }
55
- function isParamExpression(value) {
56
- return isSerializable(value) && value._type === enums_js_1.SerializationType.EXTERNAL_PARAMETER;
57
- }
58
- function isLogicalOperator(value) {
59
- return isSerializable(value) && value._type === enums_js_1.SerializationType.LOGICAL_EXPRESSION;
60
- }
61
- function isCompOperator(value) {
62
- return isSerializable(value) && value._type === enums_js_1.SerializationType.COMPARISON_EXPRESSION;
63
- }
64
- function isNotOperator(value) {
65
- return isSerializable(value) && value._type === enums_js_1.SerializationType.NEGATIVE_EXPRESSION;
66
- }
67
- function isSelectColumn(value) {
68
- return isSerializable(value) && value._type === enums_js_1.SerializationType.FIELD_NAME;
69
- }
70
- function isOrderColumn(value) {
71
- return isSerializable(value) && value._type === enums_js_1.SerializationType.ORDER_COLUMN;
72
- }
73
- function isGroupColumn(value) {
74
- return isSerializable(value) && value._type === enums_js_1.SerializationType.GROUP_COLUMN;
75
- }
76
- function isReturningColumn(value) {
77
- return isSerializable(value) && value._type === enums_js_1.SerializationType.RETURNING_COLUMN;
78
- }
79
- function isTableName(value) {
80
- return isSerializable(value) && value._type === enums_js_1.SerializationType.TABLE_NAME;
1
+ import { SerializationType } from './enums.js';
2
+ import { Query } from './query/query.js';
3
+ import { Serializable } from './serializable.js';
4
+ export function isSerializable(value) {
5
+ return value instanceof Serializable;
6
+ }
7
+ export function isQuery(value) {
8
+ return value instanceof Query;
9
+ }
10
+ export function isRawStatement(value) {
11
+ return isSerializable(value) && value._type === SerializationType.RAW;
12
+ }
13
+ export function isSelectQuery(value) {
14
+ return isSerializable(value) && value._type === SerializationType.SELECT_QUERY;
15
+ }
16
+ export function isInsertQuery(value) {
17
+ return isSerializable(value) && value._type === SerializationType.INSERT_QUERY;
18
+ }
19
+ export function isIUpdateQuery(value) {
20
+ return isSerializable(value) && value._type === SerializationType.UPDATE_QUERY;
21
+ }
22
+ export function isDeleteQuery(value) {
23
+ return isSerializable(value) && value._type === SerializationType.DELETE_QUERY;
24
+ }
25
+ export function isJoinStatement(value) {
26
+ return isSerializable(value) && value._type === SerializationType.JOIN;
27
+ }
28
+ export function isCaseStatement(value) {
29
+ return isSerializable(value) && value._type === SerializationType.CASE_STATEMENT;
30
+ }
31
+ export function isCountStatement(value) {
32
+ return isSerializable(value) && value._type === SerializationType.COUNT_STATEMENT;
33
+ }
34
+ export function isParamExpression(value) {
35
+ return isSerializable(value) && value._type === SerializationType.EXTERNAL_PARAMETER;
36
+ }
37
+ export function isLogicalOperator(value) {
38
+ return isSerializable(value) && value._type === SerializationType.LOGICAL_EXPRESSION;
39
+ }
40
+ export function isCompOperator(value) {
41
+ return isSerializable(value) && value._type === SerializationType.COMPARISON_EXPRESSION;
42
+ }
43
+ export function isNotOperator(value) {
44
+ return isSerializable(value) && value._type === SerializationType.NEGATIVE_EXPRESSION;
45
+ }
46
+ export function isSelectColumn(value) {
47
+ return isSerializable(value) && value._type === SerializationType.FIELD_NAME;
48
+ }
49
+ export function isOrderColumn(value) {
50
+ return isSerializable(value) && value._type === SerializationType.ORDER_COLUMN;
51
+ }
52
+ export function isGroupColumn(value) {
53
+ return isSerializable(value) && value._type === SerializationType.GROUP_COLUMN;
54
+ }
55
+ export function isReturningColumn(value) {
56
+ return isSerializable(value) && value._type === SerializationType.RETURNING_COLUMN;
57
+ }
58
+ export function isTableName(value) {
59
+ return isSerializable(value) && value._type === SerializationType.TABLE_NAME;
81
60
  }
package/esm/types.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};