@iamkirbki/database-handler-core 4.4.2 → 4.4.4

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.
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import QueryDecorator from "./QueryDecorator.js";
11
2
  export default class JoinDecorator extends QueryDecorator {
12
3
  constructor(builder, layer, tableColumnInformation) {
@@ -26,37 +17,33 @@ export default class JoinDecorator extends QueryDecorator {
26
17
  blacklistTables: (_e = layer.final) === null || _e === void 0 ? void 0 : _e.blacklistTables,
27
18
  };
28
19
  }
29
- build() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- var _a;
32
- const context = yield this.component.build();
33
- const selectExtensions = yield this.buildJoinSelect();
34
- const joinPart = this.buildJoinPart();
35
- context.joinsSelect = selectExtensions;
36
- (_a = context.joins) !== null && _a !== void 0 ? _a : (context.joins = []);
37
- context.joins.push(...joinPart);
38
- return context;
39
- });
20
+ async build() {
21
+ var _a;
22
+ const context = await this.component.build();
23
+ const selectExtensions = await this.buildJoinSelect();
24
+ const joinPart = this.buildJoinPart();
25
+ context.joinsSelect = selectExtensions;
26
+ (_a = context.joins) !== null && _a !== void 0 ? _a : (context.joins = []);
27
+ context.joins.push(...joinPart);
28
+ return context;
40
29
  }
41
- buildJoinSelect() {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- var _a;
44
- const blacklist = ((_a = this.options) === null || _a === void 0 ? void 0 : _a.blacklistTables) || [];
45
- const joinArray = Array.isArray(this.joins) ? this.joins : [this.joins];
46
- const mainCols = this.tableColumnsCache.get(this.fromTableName) || [];
47
- const mainSelect = mainCols
48
- .filter(() => !blacklist.includes(this.fromTableName))
49
- .map(col => `"${this.fromTableName}"."${col.name}" AS "${this.fromTableName}__${col.name}"`);
50
- const joinedSelects = yield Promise.all(joinArray.map((join) => __awaiter(this, void 0, void 0, function* () {
51
- if (blacklist.includes(join.fromTable))
52
- return "";
53
- const cols = this.tableColumnsCache.get(join.fromTable) || [];
54
- return cols
55
- .map(col => `"${join.fromTable}"."${col.name}" AS "${join.fromTable}__${col.name}"`)
56
- .filter(col => col.trim() !== "");
57
- })));
58
- return [...mainSelect, ...joinedSelects.flat()].filter(s => s !== "").filter(Boolean);
59
- });
30
+ async buildJoinSelect() {
31
+ var _a;
32
+ const blacklist = ((_a = this.options) === null || _a === void 0 ? void 0 : _a.blacklistTables) || [];
33
+ const joinArray = Array.isArray(this.joins) ? this.joins : [this.joins];
34
+ const mainCols = this.tableColumnsCache.get(this.fromTableName) || [];
35
+ const mainSelect = mainCols
36
+ .filter(() => !blacklist.includes(this.fromTableName))
37
+ .map(col => `"${this.fromTableName}"."${col.name}" AS "${this.fromTableName}__${col.name}"`);
38
+ const joinedSelects = await Promise.all(joinArray.map(async (join) => {
39
+ if (blacklist.includes(join.fromTable))
40
+ return "";
41
+ const cols = this.tableColumnsCache.get(join.fromTable) || [];
42
+ return cols
43
+ .map(col => `"${join.fromTable}"."${col.name}" AS "${join.fromTable}__${col.name}"`)
44
+ .filter(col => col.trim() !== "");
45
+ }));
46
+ return [...mainSelect, ...joinedSelects.flat()].filter(s => s !== "").filter(Boolean);
60
47
  }
61
48
  buildJoinPart() {
62
49
  const joinArray = Array.isArray(this.joins) ? this.joins : [this.joins];
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import QueryDecorator from "./QueryDecorator.js";
11
2
  export default class LimitDecorator extends QueryDecorator {
12
3
  constructor(component, limitCount, offsetCount) {
@@ -14,16 +5,14 @@ export default class LimitDecorator extends QueryDecorator {
14
5
  this.limitCount = limitCount;
15
6
  this.offsetCount = offsetCount;
16
7
  }
17
- build() {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- const context = yield this.component.build();
20
- if (this.limitCount) {
21
- context.limit = this.limitCount;
22
- }
23
- if (this.offsetCount) {
24
- context.offset = this.offsetCount;
25
- }
26
- return context;
27
- });
8
+ async build() {
9
+ const context = await this.component.build();
10
+ if (this.limitCount) {
11
+ context.limit = this.limitCount;
12
+ }
13
+ if (this.offsetCount) {
14
+ context.offset = this.offsetCount;
15
+ }
16
+ return context;
28
17
  }
29
18
  }
@@ -1,27 +1,16 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import QueryDecorator from "./QueryDecorator.js";
11
2
  export default class OrderByDecorator extends QueryDecorator {
12
3
  constructor(component, orderByColumns) {
13
4
  super(component);
14
5
  this.orderByColumns = orderByColumns;
15
6
  }
16
- build() {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- var _a;
19
- const context = yield this.component.build();
20
- if (this.orderByColumns) {
21
- (_a = context.orderBy) !== null && _a !== void 0 ? _a : (context.orderBy = []);
22
- context.orderBy.push(...this.orderByColumns);
23
- }
24
- return context;
25
- });
7
+ async build() {
8
+ var _a;
9
+ const context = await this.component.build();
10
+ if (this.orderByColumns) {
11
+ (_a = context.orderBy) !== null && _a !== void 0 ? _a : (context.orderBy = []);
12
+ context.orderBy.push(...this.orderByColumns);
13
+ }
14
+ return context;
26
15
  }
27
16
  }
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import QueryDecorator from "./QueryDecorator.js";
11
2
  import QueryStatementBuilder from "../QueryStatementBuilder.js";
12
3
  export default class WhereDecorator extends QueryDecorator {
@@ -14,16 +5,14 @@ export default class WhereDecorator extends QueryDecorator {
14
5
  super(component);
15
6
  this.conditions = conditions;
16
7
  }
17
- build() {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- var _a, _b;
20
- var _c;
21
- const context = yield this.component.build();
22
- const combinedConditions = [...QueryStatementBuilder.normalizeQueryConditions(this.conditions)];
23
- (_a = context.conditions) !== null && _a !== void 0 ? _a : (context.conditions = {});
24
- (_b = (_c = context.conditions).where) !== null && _b !== void 0 ? _b : (_c.where = []);
25
- context.conditions.where.push(...combinedConditions);
26
- return context;
27
- });
8
+ async build() {
9
+ var _a, _b;
10
+ var _c;
11
+ const context = await this.component.build();
12
+ const combinedConditions = [...QueryStatementBuilder.normalizeQueryConditions(this.conditions)];
13
+ (_a = context.conditions) !== null && _a !== void 0 ? _a : (context.conditions = {});
14
+ (_b = (_c = context.conditions).where) !== null && _b !== void 0 ? _b : (_c.where = []);
15
+ context.conditions.where.push(...combinedConditions);
16
+ return context;
28
17
  }
29
18
  }
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import BaseSelectQueryBuilder from "./BaseQueryBuilders/BaseSelectQueryBuilder.js";
11
2
  import ExpressionDecorator from "./QueryDecorators/ExpressionDecorator.js";
12
3
  import QueryExpressionBuilder from "./QueryExpressionBuilder.js";
@@ -26,112 +17,104 @@ export default class QueryStatementBuilder {
26
17
  this._tableColumnsCache = tableColumnInformation;
27
18
  }
28
19
  }
29
- build() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- let sql = yield this.buildBaseLayer();
32
- if (this._layers.pretty) {
33
- sql = yield this.buildPrettyLayer(sql);
34
- }
35
- if (this._layers.final) {
36
- sql = yield this.buildFinalLayer(sql);
37
- }
38
- return sql;
39
- });
20
+ async build() {
21
+ let sql = await this.buildBaseLayer();
22
+ if (this._layers.pretty) {
23
+ sql = await this.buildPrettyLayer(sql);
24
+ }
25
+ if (this._layers.final) {
26
+ sql = await this.buildFinalLayer(sql);
27
+ }
28
+ return sql;
40
29
  }
41
- buildBaseLayer() {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- var _a, _b, _c;
44
- var _d, _e;
45
- if (!this._layers.base.from) {
46
- throw new Error("Base layer must specify 'from' table name.");
30
+ async buildBaseLayer() {
31
+ var _a, _b, _c;
32
+ var _d, _e;
33
+ if (!this._layers.base.from) {
34
+ throw new Error("Base layer must specify 'from' table name.");
35
+ }
36
+ let builder = new BaseSelectQueryBuilder(this._layers.base.from, this._layers.base.select || [], this._layers.base.joinsSelect || [], this._layers.base.expressionsSelect || []);
37
+ if (this._layers.base.joins && this._layers.base.joins.length > 0) {
38
+ builder = new JoinDecorator(builder, { base: this._layers.base, pretty: this._layers.pretty, final: this._layers.final }, this._tableColumnsCache);
39
+ }
40
+ if (this._layers.base.expressions && this._layers.base.expressions.length > 0) {
41
+ const expressions = QueryExpressionBuilder.buildExpressionsPart(this._layers.base.expressions || []);
42
+ builder = new ExpressionDecorator(builder, expressions || []);
43
+ if (builder instanceof ExpressionDecorator) {
44
+ this._valueClauseKeywords = new Set([...this._valueClauseKeywords, ...builder.valueClauseKeywords]);
45
+ (_a = (_d = this._layers).pretty) !== null && _a !== void 0 ? _a : (_d.pretty = {});
46
+ (_b = (_e = this._layers).final) !== null && _b !== void 0 ? _b : (_e.final = {});
47
+ this._layers.pretty.where = this.addUnique(this._layers.pretty.where, builder.whereClauses);
48
+ this._layers.pretty.groupBy = this.addUnique(this._layers.pretty.groupBy, builder.groupByClauses);
49
+ this._layers.pretty.having = this.addUnique(this._layers.pretty.having, builder.havingClauses);
50
+ this._layers.base.orderBy = this.addUnique((_c = this._layers.base.orderBy) === null || _c === void 0 ? void 0 : _c.map(ob => ({ column: `${ob.column}`, direction: ob.direction })), builder.orderByClauses);
47
51
  }
48
- let builder = new BaseSelectQueryBuilder(this._layers.base.from, this._layers.base.select || [], this._layers.base.joinsSelect || [], this._layers.base.expressionsSelect || []);
49
- if (this._layers.base.joins && this._layers.base.joins.length > 0) {
50
- builder = new JoinDecorator(builder, { base: this._layers.base, pretty: this._layers.pretty, final: this._layers.final }, this._tableColumnsCache);
52
+ if (this._layers.base.where) {
53
+ builder = new WhereDecorator(builder, this._layers.base.joins ? QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.base.where, this._layers.base.from) : this._layers.base.where);
51
54
  }
52
- if (this._layers.base.expressions && this._layers.base.expressions.length > 0) {
53
- const expressions = QueryExpressionBuilder.buildExpressionsPart(this._layers.base.expressions || []);
54
- builder = new ExpressionDecorator(builder, expressions || []);
55
+ }
56
+ else if (this._layers.base.where) {
57
+ builder = new WhereDecorator(builder, this._layers.base.joins ? QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.base.where, this._layers.base.from) : this._layers.base.where);
58
+ }
59
+ if (this._layers.base.where) {
60
+ builder = new WhereDecorator(builder, this._layers.base.joins ? QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.base.where, this._layers.base.from) : this._layers.base.where);
61
+ }
62
+ if (this._layers.base.orderBy) {
63
+ builder = new OrderByDecorator(builder, this._layers.base.orderBy);
64
+ }
65
+ this._contexts.base = await builder.build();
66
+ const renderer = new SqlRenderer(this._contexts.base);
67
+ return renderer.build();
68
+ }
69
+ async buildPrettyLayer(sql) {
70
+ var _a, _b, _c, _d, _e, _f, _g;
71
+ var _h;
72
+ let builder = new BaseSelectQueryBuilder(`( ${sql} ) AS BASE_QUERY`, [...((_a = this._contexts.base) === null || _a === void 0 ? void 0 : _a.select) || [], ...((_b = this._layers.pretty) === null || _b === void 0 ? void 0 : _b.select) || []], ((_d = (_c = this._contexts.base) === null || _c === void 0 ? void 0 : _c.joinsSelect) === null || _d === void 0 ? void 0 : _d.map(j => j.split("AS")[1].trim())) || []);
73
+ if (this._layers.pretty) {
74
+ const expressions = ((_e = this._layers.pretty.expressions) === null || _e === void 0 ? void 0 : _e.length)
75
+ ? QueryExpressionBuilder.buildExpressionsPart(this._layers.pretty.expressions)
76
+ : [];
77
+ if (expressions.length > 0) {
78
+ builder = new ExpressionDecorator(builder, expressions);
55
79
  if (builder instanceof ExpressionDecorator) {
56
- this._valueClauseKeywords = new Set([...this._valueClauseKeywords, ...builder.valueClauseKeywords]);
57
- (_a = (_d = this._layers).pretty) !== null && _a !== void 0 ? _a : (_d.pretty = {});
58
- (_b = (_e = this._layers).final) !== null && _b !== void 0 ? _b : (_e.final = {});
59
80
  this._layers.pretty.where = this.addUnique(this._layers.pretty.where, builder.whereClauses);
60
81
  this._layers.pretty.groupBy = this.addUnique(this._layers.pretty.groupBy, builder.groupByClauses);
61
82
  this._layers.pretty.having = this.addUnique(this._layers.pretty.having, builder.havingClauses);
62
- this._layers.base.orderBy = this.addUnique((_c = this._layers.base.orderBy) === null || _c === void 0 ? void 0 : _c.map(ob => ({ column: `${ob.column}`, direction: ob.direction })), builder.orderByClauses);
83
+ (_f = (_h = this._layers).final) !== null && _f !== void 0 ? _f : (_h.final = {});
84
+ this._layers.final.orderBy = this.addUnique((_g = this._layers.final.orderBy) === null || _g === void 0 ? void 0 : _g.map(ob => ({ column: `BASE_QUERY.${ob.column}`, direction: ob.direction })), builder.orderByClauses);
63
85
  }
64
- if (this._layers.base.where) {
65
- builder = new WhereDecorator(builder, this._layers.base.joins ? QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.base.where, this._layers.base.from) : this._layers.base.where);
86
+ if (this._layers.pretty.where) {
87
+ builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.where, "BASE_QUERY", [], this._valueClauseKeywords));
66
88
  }
67
89
  }
68
- else if (this._layers.base.where) {
69
- builder = new WhereDecorator(builder, this._layers.base.joins ? QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.base.where, this._layers.base.from) : this._layers.base.where);
90
+ else if (this._layers.pretty.where) {
91
+ builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.where, "BASE_QUERY", [], this._valueClauseKeywords));
70
92
  }
71
- if (this._layers.base.where) {
72
- builder = new WhereDecorator(builder, this._layers.base.joins ? QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.base.where, this._layers.base.from) : this._layers.base.where);
93
+ if (this._layers.pretty.groupBy) {
94
+ builder = new GroupByDecorator(builder, this._layers.pretty.groupBy);
73
95
  }
74
- if (this._layers.base.orderBy) {
75
- builder = new OrderByDecorator(builder, this._layers.base.orderBy);
96
+ if (this._layers.pretty.having) {
97
+ builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.having, "BASE_QUERY"));
76
98
  }
77
- this._contexts.base = yield builder.build();
78
- const renderer = new SqlRenderer(this._contexts.base);
79
- return renderer.build();
80
- });
99
+ }
100
+ this._contexts.pretty = await builder.build();
101
+ const renderer = new SqlRenderer(this._contexts.pretty);
102
+ return renderer.build();
81
103
  }
82
- buildPrettyLayer(sql) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- var _a, _b, _c, _d, _e, _f, _g;
85
- var _h;
86
- let builder = new BaseSelectQueryBuilder(`( ${sql} ) AS BASE_QUERY`, [...((_a = this._contexts.base) === null || _a === void 0 ? void 0 : _a.select) || [], ...((_b = this._layers.pretty) === null || _b === void 0 ? void 0 : _b.select) || []], ((_d = (_c = this._contexts.base) === null || _c === void 0 ? void 0 : _c.joinsSelect) === null || _d === void 0 ? void 0 : _d.map(j => j.split("AS")[1].trim())) || []);
87
- if (this._layers.pretty) {
88
- const expressions = ((_e = this._layers.pretty.expressions) === null || _e === void 0 ? void 0 : _e.length)
89
- ? QueryExpressionBuilder.buildExpressionsPart(this._layers.pretty.expressions)
90
- : [];
91
- if (expressions.length > 0) {
92
- builder = new ExpressionDecorator(builder, expressions);
93
- if (builder instanceof ExpressionDecorator) {
94
- this._layers.pretty.where = this.addUnique(this._layers.pretty.where, builder.whereClauses);
95
- this._layers.pretty.groupBy = this.addUnique(this._layers.pretty.groupBy, builder.groupByClauses);
96
- this._layers.pretty.having = this.addUnique(this._layers.pretty.having, builder.havingClauses);
97
- (_f = (_h = this._layers).final) !== null && _f !== void 0 ? _f : (_h.final = {});
98
- this._layers.final.orderBy = this.addUnique((_g = this._layers.final.orderBy) === null || _g === void 0 ? void 0 : _g.map(ob => ({ column: `BASE_QUERY.${ob.column}`, direction: ob.direction })), builder.orderByClauses);
99
- }
100
- if (this._layers.pretty.where) {
101
- builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.where, "BASE_QUERY", [], this._valueClauseKeywords));
102
- }
103
- }
104
- else if (this._layers.pretty.where) {
105
- builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.where, "BASE_QUERY", [], this._valueClauseKeywords));
106
- }
107
- if (this._layers.pretty.groupBy) {
108
- builder = new GroupByDecorator(builder, this._layers.pretty.groupBy);
109
- }
110
- if (this._layers.pretty.having) {
111
- builder = new WhereDecorator(builder, QueryStatementBuilder.normalizeAndQualifyConditions(this._layers.pretty.having, "BASE_QUERY"));
112
- }
104
+ async buildFinalLayer(sql) {
105
+ var _a;
106
+ let builder = new BaseSelectQueryBuilder(`( ${sql} ) AS PRETTY_QUERY`, ((_a = this._layers.final) === null || _a === void 0 ? void 0 : _a.select) || []);
107
+ if (this._layers.final) {
108
+ if (this._layers.final.orderBy) {
109
+ builder = new OrderByDecorator(builder, this._layers.final.orderBy);
113
110
  }
114
- this._contexts.pretty = yield builder.build();
115
- const renderer = new SqlRenderer(this._contexts.pretty);
116
- return renderer.build();
117
- });
118
- }
119
- buildFinalLayer(sql) {
120
- return __awaiter(this, void 0, void 0, function* () {
121
- var _a;
122
- let builder = new BaseSelectQueryBuilder(`( ${sql} ) AS PRETTY_QUERY`, ((_a = this._layers.final) === null || _a === void 0 ? void 0 : _a.select) || []);
123
- if (this._layers.final) {
124
- if (this._layers.final.orderBy) {
125
- builder = new OrderByDecorator(builder, this._layers.final.orderBy);
126
- }
127
- if (this._layers.final.limit) {
128
- builder = new LimitDecorator(builder, this._layers.final.limit, this._layers.final.offset);
129
- }
111
+ if (this._layers.final.limit) {
112
+ builder = new LimitDecorator(builder, this._layers.final.limit, this._layers.final.offset);
130
113
  }
131
- this._contexts.final = yield builder.build();
132
- const renderer = new SqlRenderer(this._contexts.final);
133
- return renderer.build();
134
- });
114
+ }
115
+ this._contexts.final = await builder.build();
116
+ const renderer = new SqlRenderer(this._contexts.final);
117
+ return renderer.build();
135
118
  }
136
119
  static normalizeAndQualifyConditions(where, tableName, normalizeBlacklist = [], valueClauseKeywords = new Set()) {
137
120
  const conditions = this.normalizeQueryConditions(where);
@@ -142,9 +125,12 @@ export default class QueryStatementBuilder {
142
125
  if (isValueClauseKeyword) {
143
126
  return;
144
127
  }
145
- return Object.assign(Object.assign({}, condition), { column: shouldSkipQualification
128
+ return {
129
+ ...condition,
130
+ column: shouldSkipQualification
146
131
  ? condition.column
147
- : `${tableName}.${condition.column}` });
132
+ : `${tableName}.${condition.column}`,
133
+ };
148
134
  }).filter(cond => cond !== undefined);
149
135
  }
150
136
  static normalizeQueryConditions(where) {
@@ -22,7 +22,7 @@ export default class Repository<Type extends columnType, ModelType extends Model
22
22
  first(queryLayers: QueryLayers, Model: Model<Type>): Promise<Type | undefined>;
23
23
  get(QueryLayers: QueryLayers, Model: Model<Type>): Promise<Type[]>;
24
24
  all(Model: Model<Type>, QueryLayers: QueryLayers): Promise<Type[]>;
25
- update(primaryKey: QueryIsEqualParameter, newAttributes: Partial<Type>): Promise<Record<Type> | undefined>;
25
+ update(primaryKey: QueryIsEqualParameter, newAttributes: Partial<Type>, table: string): Promise<Record<Type> | undefined>;
26
26
  private join;
27
27
  toSql(queryLayers: QueryLayers, Model: Model<Type>): Promise<string>;
28
28
  private buildJoinObject;
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/runtime/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AACjD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAQ,mBAAmB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpK,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,IAAI,SAAS,UAAU,EAAE,SAAS,SAAS,KAAK,CAAC,IAAI,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqE;IAC9F,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,YAAY,CAAe;gBAG/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,EACrB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,GAAE,YAA0D;WAS9D,WAAW,CAAC,SAAS,SAAS,UAAU,EAClD,UAAU,EAAE,UAAU,KAAK,CAAC,SAAS,CAAC,EACtC,SAAS,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,CAAC,EAAE,YAAY,GAC5B,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;WAiB5B,cAAc,IAAI,IAAI;IAIpC,OAAO,CAAC,sBAAsB;IAajB,0BAA0B,CACnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,IAAI,CAAC;IAKH,0BAA0B,CACnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,IAAI,CAAC;IAMH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAaxE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpD,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAI3B,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAY9E,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IASlE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAIlE,MAAM,CAAC,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAOzG,IAAI;IAaL,KAAK,CACd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GACnB,OAAO,CAAC,MAAM,CAAC;IAYlB,OAAO,CAAC,eAAe;IA6FhB,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,GAAG,yBAAyB,EAAE;IAKlH,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,yBAAyB,EAAE;CAIxF"}
1
+ {"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/runtime/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AACjD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAQ,mBAAmB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpK,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,IAAI,SAAS,UAAU,EAAE,SAAS,SAAS,KAAK,CAAC,IAAI,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqE;IAC9F,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,YAAY,CAAe;gBAG/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,SAAS,EACrB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,GAAE,YAA0D;WAS9D,WAAW,CAAC,SAAS,SAAS,UAAU,EAClD,UAAU,EAAE,UAAU,KAAK,CAAC,SAAS,CAAC,EACtC,SAAS,EAAE,MAAM,EACjB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,YAAY,CAAC,EAAE,YAAY,GAC5B,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;WAiB5B,cAAc,IAAI,IAAI;IAIpC,OAAO,CAAC,sBAAsB;IAajB,0BAA0B,CACnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,IAAI,CAAC;IAKH,0BAA0B,CACnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,IAAI,CAAC;IAMH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAaxE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpD,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAI3B,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAY9E,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IASlE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAIlE,MAAM,CAAC,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAOxH,IAAI;IAaL,KAAK,CACd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GACnB,OAAO,CAAC,MAAM,CAAC;IAYlB,OAAO,CAAC,eAAe;IA4FhB,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,GAAG,yBAAyB,EAAE;IAKlH,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,yBAAyB,EAAE;CAIxF"}