@sqb/builder 4.20.7 → 4.21.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 (187) hide show
  1. package/package.json +8 -24
  2. package/{types/sql-objects → sql-objects}/join-statement.d.ts +4 -4
  3. package/{types/typeguards.d.ts → typeguards.d.ts} +4 -3
  4. package/{esm/typeguards.js → typeguards.js} +4 -4
  5. package/cjs/classes.ns.js +0 -41
  6. package/cjs/enums.js +0 -102
  7. package/cjs/extensions.js +0 -38
  8. package/cjs/helpers.js +0 -30
  9. package/cjs/index.js +0 -25
  10. package/cjs/op.initializers.js +0 -163
  11. package/cjs/package.json +0 -3
  12. package/cjs/query/delete-query.js +0 -57
  13. package/cjs/query/insert-query.js +0 -86
  14. package/cjs/query/query.js +0 -41
  15. package/cjs/query/returning-query.js +0 -46
  16. package/cjs/query/select-query.js +0 -297
  17. package/cjs/query/union-query.js +0 -32
  18. package/cjs/query/update-query.js +0 -86
  19. package/cjs/serializable.js +0 -6
  20. package/cjs/serialize-context.js +0 -203
  21. package/cjs/sql-objects/base-field.js +0 -11
  22. package/cjs/sql-objects/case-statement.js +0 -91
  23. package/cjs/sql-objects/coalesce-statement.js +0 -48
  24. package/cjs/sql-objects/count-statement.js +0 -37
  25. package/cjs/sql-objects/expression.js +0 -10
  26. package/cjs/sql-objects/field-expression.js +0 -54
  27. package/cjs/sql-objects/group-column.js +0 -36
  28. package/cjs/sql-objects/join-statement.js +0 -94
  29. package/cjs/sql-objects/lower-statement.js +0 -40
  30. package/cjs/sql-objects/max-statement.js +0 -40
  31. package/cjs/sql-objects/min-statement.js +0 -40
  32. package/cjs/sql-objects/operator.js +0 -7
  33. package/cjs/sql-objects/operators/comp-operator.js +0 -89
  34. package/cjs/sql-objects/operators/logical-operator.js +0 -86
  35. package/cjs/sql-objects/operators/op-and.js +0 -9
  36. package/cjs/sql-objects/operators/op-between.js +0 -40
  37. package/cjs/sql-objects/operators/op-eq.js +0 -13
  38. package/cjs/sql-objects/operators/op-exists.js +0 -31
  39. package/cjs/sql-objects/operators/op-gt.js +0 -13
  40. package/cjs/sql-objects/operators/op-gte.js +0 -13
  41. package/cjs/sql-objects/operators/op-ilike.js +0 -10
  42. package/cjs/sql-objects/operators/op-in.js +0 -19
  43. package/cjs/sql-objects/operators/op-is-not.js +0 -13
  44. package/cjs/sql-objects/operators/op-is.js +0 -13
  45. package/cjs/sql-objects/operators/op-like.js +0 -20
  46. package/cjs/sql-objects/operators/op-lt.js +0 -13
  47. package/cjs/sql-objects/operators/op-lte.js +0 -13
  48. package/cjs/sql-objects/operators/op-ne.js +0 -13
  49. package/cjs/sql-objects/operators/op-not-between.js +0 -10
  50. package/cjs/sql-objects/operators/op-not-exists.js +0 -10
  51. package/cjs/sql-objects/operators/op-not-ilike.js +0 -10
  52. package/cjs/sql-objects/operators/op-not-in.js +0 -10
  53. package/cjs/sql-objects/operators/op-not-like.js +0 -10
  54. package/cjs/sql-objects/operators/op-not.js +0 -21
  55. package/cjs/sql-objects/operators/op-or.js +0 -9
  56. package/cjs/sql-objects/order-column.js +0 -43
  57. package/cjs/sql-objects/param-expression.js +0 -56
  58. package/cjs/sql-objects/raw-statement.js +0 -19
  59. package/cjs/sql-objects/returning-column.js +0 -31
  60. package/cjs/sql-objects/sequence-getter-statement.js +0 -54
  61. package/cjs/sql-objects/string-agg-statement.js +0 -88
  62. package/cjs/sql-objects/table-name.js +0 -35
  63. package/cjs/sql-objects/upper-statement.js +0 -40
  64. package/cjs/sqlobject.initializers.js +0 -141
  65. package/cjs/typeguards.js +0 -85
  66. package/cjs/types.js +0 -2
  67. package/esm/package.json +0 -3
  68. package/types/index.d.cts +0 -20
  69. /package/{types/classes.ns.d.ts → classes.ns.d.ts} +0 -0
  70. /package/{esm/classes.ns.js → classes.ns.js} +0 -0
  71. /package/{types/enums.d.ts → enums.d.ts} +0 -0
  72. /package/{esm/enums.js → enums.js} +0 -0
  73. /package/{types/extensions.d.ts → extensions.d.ts} +0 -0
  74. /package/{esm/extensions.js → extensions.js} +0 -0
  75. /package/{types/helpers.d.ts → helpers.d.ts} +0 -0
  76. /package/{esm/helpers.js → helpers.js} +0 -0
  77. /package/{types/index.d.ts → index.d.ts} +0 -0
  78. /package/{esm/index.js → index.js} +0 -0
  79. /package/{types/op.initializers.d.ts → op.initializers.d.ts} +0 -0
  80. /package/{esm/op.initializers.js → op.initializers.js} +0 -0
  81. /package/{types/query → query}/delete-query.d.ts +0 -0
  82. /package/{esm/query → query}/delete-query.js +0 -0
  83. /package/{types/query → query}/insert-query.d.ts +0 -0
  84. /package/{esm/query → query}/insert-query.js +0 -0
  85. /package/{types/query → query}/query.d.ts +0 -0
  86. /package/{esm/query → query}/query.js +0 -0
  87. /package/{types/query → query}/returning-query.d.ts +0 -0
  88. /package/{esm/query → query}/returning-query.js +0 -0
  89. /package/{types/query → query}/select-query.d.ts +0 -0
  90. /package/{esm/query → query}/select-query.js +0 -0
  91. /package/{types/query → query}/union-query.d.ts +0 -0
  92. /package/{esm/query → query}/union-query.js +0 -0
  93. /package/{types/query → query}/update-query.d.ts +0 -0
  94. /package/{esm/query → query}/update-query.js +0 -0
  95. /package/{types/serializable.d.ts → serializable.d.ts} +0 -0
  96. /package/{esm/serializable.js → serializable.js} +0 -0
  97. /package/{types/serialize-context.d.ts → serialize-context.d.ts} +0 -0
  98. /package/{esm/serialize-context.js → serialize-context.js} +0 -0
  99. /package/{types/sql-objects → sql-objects}/base-field.d.ts +0 -0
  100. /package/{esm/sql-objects → sql-objects}/base-field.js +0 -0
  101. /package/{types/sql-objects → sql-objects}/case-statement.d.ts +0 -0
  102. /package/{esm/sql-objects → sql-objects}/case-statement.js +0 -0
  103. /package/{types/sql-objects → sql-objects}/coalesce-statement.d.ts +0 -0
  104. /package/{esm/sql-objects → sql-objects}/coalesce-statement.js +0 -0
  105. /package/{types/sql-objects → sql-objects}/count-statement.d.ts +0 -0
  106. /package/{esm/sql-objects → sql-objects}/count-statement.js +0 -0
  107. /package/{types/sql-objects → sql-objects}/expression.d.ts +0 -0
  108. /package/{esm/sql-objects → sql-objects}/expression.js +0 -0
  109. /package/{types/sql-objects → sql-objects}/field-expression.d.ts +0 -0
  110. /package/{esm/sql-objects → sql-objects}/field-expression.js +0 -0
  111. /package/{types/sql-objects → sql-objects}/group-column.d.ts +0 -0
  112. /package/{esm/sql-objects → sql-objects}/group-column.js +0 -0
  113. /package/{esm/sql-objects → sql-objects}/join-statement.js +0 -0
  114. /package/{types/sql-objects → sql-objects}/lower-statement.d.ts +0 -0
  115. /package/{esm/sql-objects → sql-objects}/lower-statement.js +0 -0
  116. /package/{types/sql-objects → sql-objects}/max-statement.d.ts +0 -0
  117. /package/{esm/sql-objects → sql-objects}/max-statement.js +0 -0
  118. /package/{types/sql-objects → sql-objects}/min-statement.d.ts +0 -0
  119. /package/{esm/sql-objects → sql-objects}/min-statement.js +0 -0
  120. /package/{types/sql-objects → sql-objects}/operator.d.ts +0 -0
  121. /package/{esm/sql-objects → sql-objects}/operator.js +0 -0
  122. /package/{types/sql-objects → sql-objects}/operators/comp-operator.d.ts +0 -0
  123. /package/{esm/sql-objects → sql-objects}/operators/comp-operator.js +0 -0
  124. /package/{types/sql-objects → sql-objects}/operators/logical-operator.d.ts +0 -0
  125. /package/{esm/sql-objects → sql-objects}/operators/logical-operator.js +0 -0
  126. /package/{types/sql-objects → sql-objects}/operators/op-and.d.ts +0 -0
  127. /package/{esm/sql-objects → sql-objects}/operators/op-and.js +0 -0
  128. /package/{types/sql-objects → sql-objects}/operators/op-between.d.ts +0 -0
  129. /package/{esm/sql-objects → sql-objects}/operators/op-between.js +0 -0
  130. /package/{types/sql-objects → sql-objects}/operators/op-eq.d.ts +0 -0
  131. /package/{esm/sql-objects → sql-objects}/operators/op-eq.js +0 -0
  132. /package/{types/sql-objects → sql-objects}/operators/op-exists.d.ts +0 -0
  133. /package/{esm/sql-objects → sql-objects}/operators/op-exists.js +0 -0
  134. /package/{types/sql-objects → sql-objects}/operators/op-gt.d.ts +0 -0
  135. /package/{esm/sql-objects → sql-objects}/operators/op-gt.js +0 -0
  136. /package/{types/sql-objects → sql-objects}/operators/op-gte.d.ts +0 -0
  137. /package/{esm/sql-objects → sql-objects}/operators/op-gte.js +0 -0
  138. /package/{types/sql-objects → sql-objects}/operators/op-ilike.d.ts +0 -0
  139. /package/{esm/sql-objects → sql-objects}/operators/op-ilike.js +0 -0
  140. /package/{types/sql-objects → sql-objects}/operators/op-in.d.ts +0 -0
  141. /package/{esm/sql-objects → sql-objects}/operators/op-in.js +0 -0
  142. /package/{types/sql-objects → sql-objects}/operators/op-is-not.d.ts +0 -0
  143. /package/{esm/sql-objects → sql-objects}/operators/op-is-not.js +0 -0
  144. /package/{types/sql-objects → sql-objects}/operators/op-is.d.ts +0 -0
  145. /package/{esm/sql-objects → sql-objects}/operators/op-is.js +0 -0
  146. /package/{types/sql-objects → sql-objects}/operators/op-like.d.ts +0 -0
  147. /package/{esm/sql-objects → sql-objects}/operators/op-like.js +0 -0
  148. /package/{types/sql-objects → sql-objects}/operators/op-lt.d.ts +0 -0
  149. /package/{esm/sql-objects → sql-objects}/operators/op-lt.js +0 -0
  150. /package/{types/sql-objects → sql-objects}/operators/op-lte.d.ts +0 -0
  151. /package/{esm/sql-objects → sql-objects}/operators/op-lte.js +0 -0
  152. /package/{types/sql-objects → sql-objects}/operators/op-ne.d.ts +0 -0
  153. /package/{esm/sql-objects → sql-objects}/operators/op-ne.js +0 -0
  154. /package/{types/sql-objects → sql-objects}/operators/op-not-between.d.ts +0 -0
  155. /package/{esm/sql-objects → sql-objects}/operators/op-not-between.js +0 -0
  156. /package/{types/sql-objects → sql-objects}/operators/op-not-exists.d.ts +0 -0
  157. /package/{esm/sql-objects → sql-objects}/operators/op-not-exists.js +0 -0
  158. /package/{types/sql-objects → sql-objects}/operators/op-not-ilike.d.ts +0 -0
  159. /package/{esm/sql-objects → sql-objects}/operators/op-not-ilike.js +0 -0
  160. /package/{types/sql-objects → sql-objects}/operators/op-not-in.d.ts +0 -0
  161. /package/{esm/sql-objects → sql-objects}/operators/op-not-in.js +0 -0
  162. /package/{types/sql-objects → sql-objects}/operators/op-not-like.d.ts +0 -0
  163. /package/{esm/sql-objects → sql-objects}/operators/op-not-like.js +0 -0
  164. /package/{types/sql-objects → sql-objects}/operators/op-not.d.ts +0 -0
  165. /package/{esm/sql-objects → sql-objects}/operators/op-not.js +0 -0
  166. /package/{types/sql-objects → sql-objects}/operators/op-or.d.ts +0 -0
  167. /package/{esm/sql-objects → sql-objects}/operators/op-or.js +0 -0
  168. /package/{types/sql-objects → sql-objects}/order-column.d.ts +0 -0
  169. /package/{esm/sql-objects → sql-objects}/order-column.js +0 -0
  170. /package/{types/sql-objects → sql-objects}/param-expression.d.ts +0 -0
  171. /package/{esm/sql-objects → sql-objects}/param-expression.js +0 -0
  172. /package/{types/sql-objects → sql-objects}/raw-statement.d.ts +0 -0
  173. /package/{esm/sql-objects → sql-objects}/raw-statement.js +0 -0
  174. /package/{types/sql-objects → sql-objects}/returning-column.d.ts +0 -0
  175. /package/{esm/sql-objects → sql-objects}/returning-column.js +0 -0
  176. /package/{types/sql-objects → sql-objects}/sequence-getter-statement.d.ts +0 -0
  177. /package/{esm/sql-objects → sql-objects}/sequence-getter-statement.js +0 -0
  178. /package/{types/sql-objects → sql-objects}/string-agg-statement.d.ts +0 -0
  179. /package/{esm/sql-objects → sql-objects}/string-agg-statement.js +0 -0
  180. /package/{types/sql-objects → sql-objects}/table-name.d.ts +0 -0
  181. /package/{esm/sql-objects → sql-objects}/table-name.js +0 -0
  182. /package/{types/sql-objects → sql-objects}/upper-statement.d.ts +0 -0
  183. /package/{esm/sql-objects → sql-objects}/upper-statement.js +0 -0
  184. /package/{types/sqlobject.initializers.d.ts → sqlobject.initializers.d.ts} +0 -0
  185. /package/{esm/sqlobject.initializers.js → sqlobject.initializers.js} +0 -0
  186. /package/{types/types.d.ts → types.d.ts} +0 -0
  187. /package/{esm/types.js → types.js} +0 -0
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MinStatement = void 0;
4
- const enums_js_1 = require("../enums.js");
5
- const serializable_js_1 = require("../serializable.js");
6
- class MinStatement extends serializable_js_1.Serializable {
7
- _expression;
8
- _alias;
9
- constructor(expression) {
10
- super();
11
- this._expression = expression;
12
- }
13
- get _type() {
14
- return enums_js_1.SerializationType.MIN_STATEMENT;
15
- }
16
- /**
17
- * Sets alias to case expression.
18
- */
19
- as(alias) {
20
- this._alias = alias;
21
- return this;
22
- }
23
- /**
24
- * Performs serialization
25
- *
26
- * @param {Object} ctx
27
- * @return {string}
28
- * @override
29
- */
30
- _serialize(ctx) {
31
- if (!this._expression)
32
- return '';
33
- const q = ctx.anyToSQL(this._expression);
34
- return ctx.serialize(this._type, q, () => this.__defaultSerialize(ctx, q));
35
- }
36
- __defaultSerialize(ctx, o) {
37
- return 'min(' + o + ')' + (this._alias ? ' ' + this._alias : '');
38
- }
39
- }
40
- exports.MinStatement = MinStatement;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Operator = void 0;
4
- const serializable_js_1 = require("../serializable.js");
5
- class Operator extends serializable_js_1.Serializable {
6
- }
7
- exports.Operator = Operator;
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CompOperator = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const serializable_js_1 = require("../../serializable.js");
6
- const sqlobject_initializers_js_1 = require("../../sqlobject.initializers.js");
7
- const field_expression_js_1 = require("../field-expression.js");
8
- const operator_js_1 = require("../operator.js");
9
- const param_expression_js_1 = require("../param-expression.js");
10
- const EXPRESSION_PATTERN = /^([\w\\.$]+)(\[])?/;
11
- class CompOperator extends operator_js_1.Operator {
12
- _left;
13
- _right;
14
- _symbol;
15
- _isArray;
16
- constructor(left, right) {
17
- super();
18
- if (typeof left === 'string') {
19
- const m = left.match(EXPRESSION_PATTERN);
20
- if (!m)
21
- throw new TypeError(`"${left}" is not a valid expression definition`);
22
- this._left = m[1];
23
- this._isArray = !!m[2];
24
- }
25
- else
26
- this._left = left;
27
- this._right = right;
28
- }
29
- get _type() {
30
- return enums_js_1.SerializationType.COMPARISON_EXPRESSION;
31
- }
32
- _serialize(ctx) {
33
- const left = this.__serializeItem(ctx, this._left);
34
- if (this._isArray)
35
- left.isArray = true;
36
- const right = this.__serializeItem(ctx, this._right, left);
37
- const o = {
38
- operatorType: this._operatorType,
39
- symbol: this._symbol,
40
- left,
41
- right,
42
- };
43
- return this.__serialize(ctx, o);
44
- }
45
- __serializeItem(ctx, x, left) {
46
- const isRight = !!left;
47
- if (ctx.strictParams && !(x instanceof serializable_js_1.Serializable) && isRight) {
48
- ctx.strictParamGenId = ctx.strictParamGenId || 0;
49
- const name = 'P$_' + ++ctx.strictParamGenId;
50
- ctx.params = ctx.params || {};
51
- ctx.params[name] = x;
52
- x = (0, sqlobject_initializers_js_1.Param)(name, left?.dataType, left?.isArray || Array.isArray(x));
53
- }
54
- if (x instanceof serializable_js_1.Serializable) {
55
- const expression = ctx.anyToSQL(x);
56
- const result = {
57
- expression,
58
- };
59
- if (x instanceof field_expression_js_1.FieldExpression) {
60
- result.dataType = x._dataType;
61
- result.isArray = x._isArray;
62
- }
63
- if (x instanceof param_expression_js_1.ParamExpression) {
64
- let value = ctx.params ? ctx.params[x._name] : undefined;
65
- if (x._isArray && value != null && !Array.isArray(value))
66
- value = [value];
67
- result.value = value;
68
- result.isArray = x._isArray || Array.isArray(value);
69
- result.isParam = true;
70
- }
71
- return result;
72
- }
73
- // noinspection SuspiciousTypeOfGuard
74
- const result = {
75
- expression: isRight || typeof x !== 'string' ? ctx.anyToSQL(x) : x,
76
- };
77
- // noinspection SuspiciousTypeOfGuard
78
- if (isRight || typeof x !== 'string')
79
- result.isArray = Array.isArray(x);
80
- return result;
81
- }
82
- __serialize(ctx, o) {
83
- return ctx.serialize(this._type, o, (_ctx, _o) => this.__defaultSerialize(_ctx, _o));
84
- }
85
- __defaultSerialize(ctx, o) {
86
- return o.left.expression + ' ' + o.symbol + ' ' + o.right.expression;
87
- }
88
- }
89
- exports.CompOperator = CompOperator;
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogicalOperator = exports.WrapOps = void 0;
4
- const tslib_1 = require("tslib");
5
- const putil_isplainobject_1 = tslib_1.__importDefault(require("putil-isplainobject"));
6
- const enums_js_1 = require("../../enums.js");
7
- const helpers_js_1 = require("../../helpers.js");
8
- const typeguards_js_1 = require("../../typeguards.js");
9
- const operator_js_1 = require("../operator.js");
10
- exports.WrapOps = {};
11
- // noinspection RegExpUnnecessaryNonCapturingGroup
12
- const COMPARE_LEFT_PATTERN = /^([\w\\.$]+(?:\[])?) *(.*)$/;
13
- class LogicalOperator extends operator_js_1.Operator {
14
- _items = [];
15
- constructor(...expressions) {
16
- super();
17
- this.add(...expressions);
18
- }
19
- get _type() {
20
- return enums_js_1.SerializationType.LOGICAL_EXPRESSION;
21
- }
22
- /**
23
- * Adds operator(s) to item list
24
- */
25
- add(...expressions) {
26
- for (const item of expressions) {
27
- if (!item)
28
- continue;
29
- if ((0, typeguards_js_1.isLogicalOperator)(item)) {
30
- this._items.push(item);
31
- }
32
- else if ((0, typeguards_js_1.isRawStatement)(item) ||
33
- (0, typeguards_js_1.isCompOperator)(item) ||
34
- (0, typeguards_js_1.isNotOperator)(item)) {
35
- this._items.push(item);
36
- }
37
- else if ((0, putil_isplainobject_1.default)(item)) {
38
- this.add(...this._wrapObject(item));
39
- }
40
- else
41
- throw new TypeError('Operator or Raw type required');
42
- }
43
- return this;
44
- }
45
- _serialize(ctx) {
46
- const arr = [];
47
- for (const t of this._items) {
48
- const s = ctx.anyToSQL(t);
49
- /* istanbul ignore else */
50
- if (s)
51
- arr.push(s);
52
- }
53
- return ctx.serialize(enums_js_1.SerializationType.LOGICAL_EXPRESSION, arr, () => {
54
- const s = (0, helpers_js_1.printArray)(arr, ' ' + String(this._operatorType));
55
- return s.indexOf('\n') > 0 ? s.replace('\n', '\n\t') + '\b' : s;
56
- });
57
- }
58
- // noinspection JSMethodCanBeStatic
59
- _wrapObject(obj) {
60
- const result = [];
61
- for (const n of Object.getOwnPropertyNames(obj)) {
62
- let op;
63
- const v = obj[n];
64
- if (['and', 'or'].includes(n.toLowerCase())) {
65
- op = exports.WrapOps[n.toLowerCase()];
66
- if (!op)
67
- throw new Error(`Unknown operator "${n}"`);
68
- result.push(Array.isArray(v) ? op(...v) : op(v));
69
- continue;
70
- }
71
- if (['exists', '!exists'].includes(n))
72
- result.push(exports.WrapOps[n](obj[n]));
73
- else {
74
- const m = n.match(COMPARE_LEFT_PATTERN);
75
- if (!m)
76
- throw new TypeError(`"${n}" is not a valid expression definition`);
77
- op = exports.WrapOps[m[2] || 'eq'];
78
- if (!op)
79
- throw new Error(`Unknown operator "${m[2]}"`);
80
- result.push(op(m[1], obj[n]));
81
- }
82
- }
83
- return result;
84
- }
85
- }
86
- exports.LogicalOperator = LogicalOperator;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpAnd = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const logical_operator_js_1 = require("./logical-operator.js");
6
- class OpAnd extends logical_operator_js_1.LogicalOperator {
7
- _operatorType = enums_js_1.OperatorType.and;
8
- }
9
- exports.OpAnd = OpAnd;
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpBetween = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const comp_operator_js_1 = require("./comp-operator.js");
6
- class OpBetween extends comp_operator_js_1.CompOperator {
7
- _operatorType = enums_js_1.OperatorType.between;
8
- _symbol = 'between';
9
- constructor(left, right) {
10
- super(left, right);
11
- if (right && right[1] == null)
12
- right[1] = right[0];
13
- }
14
- _serialize(ctx) {
15
- if (!(this._right && this._right.length > 0))
16
- return '';
17
- const left = this.__serializeItem(ctx, this._left);
18
- const right = [
19
- this.__serializeItem(ctx, this._right[0], true),
20
- this.__serializeItem(ctx, this._right[1], true),
21
- ];
22
- const o = {
23
- operatorType: this._operatorType,
24
- symbol: this._symbol,
25
- left,
26
- right,
27
- };
28
- return this.__serialize(ctx, o);
29
- }
30
- __defaultSerialize(ctx, o) {
31
- return (o.left.expression +
32
- ' ' +
33
- o.symbol +
34
- ' ' +
35
- o.right[0].expression +
36
- ' and ' +
37
- o.right[1].expression);
38
- }
39
- }
40
- exports.OpBetween = OpBetween;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpEq = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const comp_operator_js_1 = require("./comp-operator.js");
6
- class OpEq extends comp_operator_js_1.CompOperator {
7
- _operatorType = enums_js_1.OperatorType.eq;
8
- _symbol = '=';
9
- constructor(left, right) {
10
- super(left, right);
11
- }
12
- }
13
- exports.OpEq = OpEq;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpExists = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const typeguards_js_1 = require("../../typeguards.js");
6
- const comp_operator_js_1 = require("./comp-operator.js");
7
- class OpExists extends comp_operator_js_1.CompOperator {
8
- _operatorType = enums_js_1.OperatorType.exists;
9
- _symbol = 'exists';
10
- constructor(query) {
11
- super(query);
12
- if (!(typeof query === 'object' && (0, typeguards_js_1.isSelectQuery)(query))) {
13
- throw new TypeError('You must provide a SelectQuery in `exists()`');
14
- }
15
- }
16
- _serialize(ctx) {
17
- const left = this.__serializeItem(ctx, this._left);
18
- if (this._isArray)
19
- left.isArray = true;
20
- const o = {
21
- operatorType: this._operatorType,
22
- symbol: this._symbol,
23
- left,
24
- };
25
- return this.__serialize(ctx, o);
26
- }
27
- __defaultSerialize(ctx, o) {
28
- return o.left.expression ? o.symbol + ' ' + o.left.expression : '';
29
- }
30
- }
31
- exports.OpExists = OpExists;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpGt = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const comp_operator_js_1 = require("./comp-operator.js");
6
- class OpGt extends comp_operator_js_1.CompOperator {
7
- _operatorType = enums_js_1.OperatorType.gt;
8
- _symbol = '>';
9
- constructor(left, right) {
10
- super(left, right);
11
- }
12
- }
13
- exports.OpGt = OpGt;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpGte = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const comp_operator_js_1 = require("./comp-operator.js");
6
- class OpGte extends comp_operator_js_1.CompOperator {
7
- _operatorType = enums_js_1.OperatorType.gte;
8
- _symbol = '>=';
9
- constructor(left, right) {
10
- super(left, right);
11
- }
12
- }
13
- exports.OpGte = OpGte;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpILike = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const op_like_js_1 = require("./op-like.js");
6
- class OpILike extends op_like_js_1.OpLike {
7
- _operatorType = enums_js_1.OperatorType.iLike;
8
- _symbol = 'ilike';
9
- }
10
- exports.OpILike = OpILike;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpIn = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const typeguards_js_1 = require("../../typeguards.js");
6
- const comp_operator_js_1 = require("./comp-operator.js");
7
- class OpIn extends comp_operator_js_1.CompOperator {
8
- _operatorType = enums_js_1.OperatorType.in;
9
- _symbol = 'in';
10
- constructor(left, right) {
11
- super(left, Array.isArray(right) || (0, typeguards_js_1.isSerializable)(right) ? right : [right]);
12
- }
13
- _serialize(ctx) {
14
- if (Array.isArray(this._right) && !this._right.length)
15
- return '';
16
- return super._serialize(ctx);
17
- }
18
- }
19
- exports.OpIn = OpIn;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpIsNot = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const comp_operator_js_1 = require("./comp-operator.js");
6
- class OpIsNot extends comp_operator_js_1.CompOperator {
7
- _operatorType = enums_js_1.OperatorType.isNot;
8
- _symbol = 'is not';
9
- constructor(left, right) {
10
- super(left, right);
11
- }
12
- }
13
- exports.OpIsNot = OpIsNot;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpIs = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const comp_operator_js_1 = require("./comp-operator.js");
6
- class OpIs extends comp_operator_js_1.CompOperator {
7
- _operatorType = enums_js_1.OperatorType.is;
8
- _symbol = 'is';
9
- constructor(left, right) {
10
- super(left, right);
11
- }
12
- }
13
- exports.OpIs = OpIs;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpLike = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const comp_operator_js_1 = require("./comp-operator.js");
6
- class OpLike extends comp_operator_js_1.CompOperator {
7
- _operatorType = enums_js_1.OperatorType.like;
8
- _symbol = 'like';
9
- constructor(left, right) {
10
- super(left, right);
11
- }
12
- __serialize(ctx, o) {
13
- if (!o.right.expression)
14
- return '';
15
- if (o.right && typeof o.right.expression !== 'string')
16
- o.right.expression = String(o.right.expression);
17
- return ctx.serialize(this._type, o, (_ctx, _o) => this.__defaultSerialize(_ctx, _o));
18
- }
19
- }
20
- exports.OpLike = OpLike;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpLt = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const comp_operator_js_1 = require("./comp-operator.js");
6
- class OpLt extends comp_operator_js_1.CompOperator {
7
- _operatorType = enums_js_1.OperatorType.lt;
8
- _symbol = '<';
9
- constructor(left, right) {
10
- super(left, right);
11
- }
12
- }
13
- exports.OpLt = OpLt;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpLte = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const comp_operator_js_1 = require("./comp-operator.js");
6
- class OpLte extends comp_operator_js_1.CompOperator {
7
- _operatorType = enums_js_1.OperatorType.lte;
8
- _symbol = '<=';
9
- constructor(left, right) {
10
- super(left, right);
11
- }
12
- }
13
- exports.OpLte = OpLte;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpNe = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const comp_operator_js_1 = require("./comp-operator.js");
6
- class OpNe extends comp_operator_js_1.CompOperator {
7
- _operatorType = enums_js_1.OperatorType.ne;
8
- _symbol = '!=';
9
- constructor(left, right) {
10
- super(left, right);
11
- }
12
- }
13
- exports.OpNe = OpNe;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpNotBetween = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const op_between_js_1 = require("./op-between.js");
6
- class OpNotBetween extends op_between_js_1.OpBetween {
7
- _operatorType = enums_js_1.OperatorType.notBetween;
8
- _symbol = 'not between';
9
- }
10
- exports.OpNotBetween = OpNotBetween;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpNotExists = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const op_exists_js_1 = require("./op-exists.js");
6
- class OpNotExists extends op_exists_js_1.OpExists {
7
- _operatorType = enums_js_1.OperatorType.notExists;
8
- _symbol = 'not exists';
9
- }
10
- exports.OpNotExists = OpNotExists;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpNotILike = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const op_ilike_js_1 = require("./op-ilike.js");
6
- class OpNotILike extends op_ilike_js_1.OpILike {
7
- _operatorType = enums_js_1.OperatorType.notILike;
8
- _symbol = 'not ilike';
9
- }
10
- exports.OpNotILike = OpNotILike;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpNotIn = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const op_in_js_1 = require("./op-in.js");
6
- class OpNotIn extends op_in_js_1.OpIn {
7
- _operatorType = enums_js_1.OperatorType.notIn;
8
- _symbol = 'not in';
9
- }
10
- exports.OpNotIn = OpNotIn;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpNotLike = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const op_like_js_1 = require("./op-like.js");
6
- class OpNotLike extends op_like_js_1.OpLike {
7
- _operatorType = enums_js_1.OperatorType.notLike;
8
- _symbol = 'not like';
9
- }
10
- exports.OpNotLike = OpNotLike;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpNot = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const operator_js_1 = require("../operator.js");
6
- class OpNot extends operator_js_1.Operator {
7
- _operatorType = enums_js_1.OperatorType.not;
8
- _expression;
9
- constructor(expression) {
10
- super();
11
- this._expression = expression;
12
- }
13
- get _type() {
14
- return enums_js_1.SerializationType.NEGATIVE_EXPRESSION;
15
- }
16
- _serialize(ctx) {
17
- const expression = ctx.anyToSQL(this._expression);
18
- return ctx.serialize(this._type, expression, () => expression ? 'not ' + expression : '');
19
- }
20
- }
21
- exports.OpNot = OpNot;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpOr = void 0;
4
- const enums_js_1 = require("../../enums.js");
5
- const logical_operator_js_1 = require("./logical-operator.js");
6
- class OpOr extends logical_operator_js_1.LogicalOperator {
7
- _operatorType = enums_js_1.OperatorType.or;
8
- }
9
- exports.OpOr = OpOr;
@@ -1,43 +0,0 @@
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");
6
- 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 {
8
- _descending;
9
- constructor(value) {
10
- super();
11
- const m = value.match(ORDER_COLUMN_PATTERN);
12
- if (!m)
13
- throw new TypeError(`"${value}" does not match order column format`);
14
- this._field = m[3];
15
- if (m[2]) {
16
- const a = m[2].split(/\./g);
17
- a.pop();
18
- this._table = a.pop();
19
- this._schema = a.pop();
20
- }
21
- this._descending = !!(m[1] === '-' ||
22
- (!m[1] &&
23
- m[4] &&
24
- ['dsc', 'desc', 'descending'].includes(m[4].toLowerCase())));
25
- }
26
- get _type() {
27
- return enums_js_1.SerializationType.ORDER_COLUMN;
28
- }
29
- _serialize(ctx) {
30
- const o = {
31
- schema: this._schema,
32
- table: this._table,
33
- field: this._field,
34
- descending: !!this._descending,
35
- isReservedWord: !!(this._field && ctx.isReservedWord(this._field)),
36
- };
37
- return ctx.serialize(this._type, o, () => (o.schema ? o.schema + '.' : '') +
38
- (o.table ? o.table + '.' : '') +
39
- (o.isReservedWord ? '"' + o.field + '"' : o.field) +
40
- (o.descending ? ' desc' : ''));
41
- }
42
- }
43
- exports.OrderColumn = OrderColumn;