@iamkirbki/database-handler-core 4.4.6 → 4.4.8

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 (172) hide show
  1. package/dist/abstract/Controller.d.ts +2 -2
  2. package/dist/abstract/Controller.d.ts.map +1 -1
  3. package/dist/abstract/Controller.js +1 -1
  4. package/dist/abstract/Model.d.ts +10 -9
  5. package/dist/abstract/Model.d.ts.map +1 -1
  6. package/dist/abstract/Model.js +92 -70
  7. package/dist/abstract/SchemaTableBuilder.d.ts +1 -1
  8. package/dist/abstract/SchemaTableBuilder.d.ts.map +1 -1
  9. package/dist/abstract/SchemaTableBuilder.js +8 -8
  10. package/dist/abstract/model/ModelRelation.d.ts +5 -4
  11. package/dist/abstract/model/ModelRelation.d.ts.map +1 -1
  12. package/dist/abstract/model/ModelRelation.js +35 -27
  13. package/dist/base/Query.d.ts +4 -8
  14. package/dist/base/Query.d.ts.map +1 -1
  15. package/dist/base/Query.js +91 -73
  16. package/dist/base/Record.d.ts +5 -4
  17. package/dist/base/Record.d.ts.map +1 -1
  18. package/dist/base/Record.js +44 -23
  19. package/dist/base/Table.d.ts +17 -14
  20. package/dist/base/Table.d.ts.map +1 -1
  21. package/dist/base/Table.js +123 -89
  22. package/dist/factories/ModelFactory.d.ts +7 -0
  23. package/dist/factories/ModelFactory.d.ts.map +1 -0
  24. package/dist/factories/ModelFactory.js +6 -0
  25. package/dist/factories/QueryFactory.d.ts +7 -0
  26. package/dist/factories/QueryFactory.d.ts.map +1 -0
  27. package/dist/factories/QueryFactory.js +6 -0
  28. package/dist/factories/RecordFactory.d.ts +8 -0
  29. package/dist/factories/RecordFactory.d.ts.map +1 -0
  30. package/dist/factories/RecordFactory.js +6 -0
  31. package/dist/factories/TableFactory.d.ts +7 -0
  32. package/dist/factories/TableFactory.d.ts.map +1 -0
  33. package/dist/factories/TableFactory.js +6 -0
  34. package/dist/helpers/Errors/AdapterErrors/AdapterNotFoundError.d.ts +2 -1
  35. package/dist/helpers/Errors/AdapterErrors/AdapterNotFoundError.d.ts.map +1 -1
  36. package/dist/helpers/Errors/AdapterErrors/AdapterNotFoundError.js +3 -3
  37. package/dist/helpers/Errors/AdapterErrors/ConnectionFailedError.d.ts +2 -1
  38. package/dist/helpers/Errors/AdapterErrors/ConnectionFailedError.d.ts.map +1 -1
  39. package/dist/helpers/Errors/AdapterErrors/ConnectionFailedError.js +3 -3
  40. package/dist/helpers/Errors/AdapterErrors/NoDefaultAdapterError.d.ts +2 -1
  41. package/dist/helpers/Errors/AdapterErrors/NoDefaultAdapterError.d.ts.map +1 -1
  42. package/dist/helpers/Errors/AdapterErrors/NoDefaultAdapterError.js +3 -3
  43. package/dist/helpers/Errors/DatabaseHandlerError.d.ts +9 -0
  44. package/dist/helpers/Errors/DatabaseHandlerError.d.ts.map +1 -0
  45. package/dist/helpers/Errors/DatabaseHandlerError.js +10 -0
  46. package/dist/helpers/Errors/ExpressionErrors/InvalidExpressionParametersError.d.ts +2 -1
  47. package/dist/helpers/Errors/ExpressionErrors/InvalidExpressionParametersError.d.ts.map +1 -1
  48. package/dist/helpers/Errors/ExpressionErrors/InvalidExpressionParametersError.js +5 -3
  49. package/dist/helpers/Errors/ExpressionErrors/UnknownExpressionTypeError.d.ts +2 -1
  50. package/dist/helpers/Errors/ExpressionErrors/UnknownExpressionTypeError.d.ts.map +1 -1
  51. package/dist/helpers/Errors/ExpressionErrors/UnknownExpressionTypeError.js +5 -3
  52. package/dist/helpers/Errors/ExpressionErrors/UnsupportedQueryPhaseError.d.ts +2 -1
  53. package/dist/helpers/Errors/ExpressionErrors/UnsupportedQueryPhaseError.d.ts.map +1 -1
  54. package/dist/helpers/Errors/ExpressionErrors/UnsupportedQueryPhaseError.js +3 -3
  55. package/dist/helpers/Errors/ModelErrors/InvalidOperationError.d.ts +5 -0
  56. package/dist/helpers/Errors/ModelErrors/InvalidOperationError.d.ts.map +1 -0
  57. package/dist/helpers/Errors/ModelErrors/InvalidOperationError.js +6 -0
  58. package/dist/helpers/Errors/ModelErrors/RecordNotFoundError.d.ts +6 -0
  59. package/dist/helpers/Errors/ModelErrors/RecordNotFoundError.d.ts.map +1 -0
  60. package/dist/helpers/Errors/ModelErrors/RecordNotFoundError.js +6 -0
  61. package/dist/helpers/Errors/ModelErrors/RelationError.d.ts +5 -0
  62. package/dist/helpers/Errors/ModelErrors/RelationError.d.ts.map +1 -0
  63. package/dist/helpers/Errors/ModelErrors/RelationError.js +6 -0
  64. package/dist/helpers/Errors/QueryErrors/InvalidWhereConditionError.d.ts +5 -0
  65. package/dist/helpers/Errors/QueryErrors/InvalidWhereConditionError.d.ts.map +1 -0
  66. package/dist/helpers/Errors/QueryErrors/InvalidWhereConditionError.js +6 -0
  67. package/dist/helpers/Errors/QueryErrors/QueryExecutionError.d.ts +5 -0
  68. package/dist/helpers/Errors/QueryErrors/QueryExecutionError.d.ts.map +1 -0
  69. package/dist/helpers/Errors/QueryErrors/QueryExecutionError.js +6 -0
  70. package/dist/helpers/Errors/QueryErrors/UnexpectedEmptyQueryError.d.ts +2 -1
  71. package/dist/helpers/Errors/QueryErrors/UnexpectedEmptyQueryError.d.ts.map +1 -1
  72. package/dist/helpers/Errors/QueryErrors/UnexpectedEmptyQueryError.js +3 -3
  73. package/dist/helpers/Errors/TableErrors/UnknownTableError.d.ts +3 -2
  74. package/dist/helpers/Errors/TableErrors/UnknownTableError.d.ts.map +1 -1
  75. package/dist/helpers/Errors/TableErrors/UnknownTableError.js +4 -4
  76. package/dist/helpers/QueryBuilders/BaseQueryBuilders/BaseSelectQueryBuilder.d.ts +2 -2
  77. package/dist/helpers/QueryBuilders/BaseQueryBuilders/BaseSelectQueryBuilder.d.ts.map +1 -1
  78. package/dist/helpers/QueryBuilders/BaseQueryBuilders/BaseSelectQueryBuilder.js +1 -1
  79. package/dist/helpers/QueryBuilders/ExpressionBuilders/JsonAggregateExpression.d.ts +3 -4
  80. package/dist/helpers/QueryBuilders/ExpressionBuilders/JsonAggregateExpression.d.ts.map +1 -1
  81. package/dist/helpers/QueryBuilders/ExpressionBuilders/JsonAggregateExpression.js +46 -44
  82. package/dist/helpers/QueryBuilders/ExpressionBuilders/SpatialDistanceExpression.d.ts +3 -4
  83. package/dist/helpers/QueryBuilders/ExpressionBuilders/SpatialDistanceExpression.d.ts.map +1 -1
  84. package/dist/helpers/QueryBuilders/ExpressionBuilders/SpatialDistanceExpression.js +34 -32
  85. package/dist/helpers/QueryBuilders/ExpressionBuilders/TextRelevanceExpression.d.ts +3 -4
  86. package/dist/helpers/QueryBuilders/ExpressionBuilders/TextRelevanceExpression.d.ts.map +1 -1
  87. package/dist/helpers/QueryBuilders/ExpressionBuilders/TextRelevanceExpression.js +9 -20
  88. package/dist/helpers/QueryBuilders/QueryDecorators/ExpressionDecorator.d.ts +4 -4
  89. package/dist/helpers/QueryBuilders/QueryDecorators/ExpressionDecorator.d.ts.map +1 -1
  90. package/dist/helpers/QueryBuilders/QueryDecorators/ExpressionDecorator.js +14 -17
  91. package/dist/helpers/QueryBuilders/QueryDecorators/GroupByDecorator.d.ts +3 -3
  92. package/dist/helpers/QueryBuilders/QueryDecorators/GroupByDecorator.d.ts.map +1 -1
  93. package/dist/helpers/QueryBuilders/QueryDecorators/GroupByDecorator.js +2 -2
  94. package/dist/helpers/QueryBuilders/QueryDecorators/JoinDecorator.d.ts +4 -4
  95. package/dist/helpers/QueryBuilders/QueryDecorators/JoinDecorator.d.ts.map +1 -1
  96. package/dist/helpers/QueryBuilders/QueryDecorators/JoinDecorator.js +17 -14
  97. package/dist/helpers/QueryBuilders/QueryDecorators/LimitDecorator.d.ts +3 -3
  98. package/dist/helpers/QueryBuilders/QueryDecorators/LimitDecorator.d.ts.map +1 -1
  99. package/dist/helpers/QueryBuilders/QueryDecorators/LimitDecorator.js +2 -2
  100. package/dist/helpers/QueryBuilders/QueryDecorators/OrderByDecorator.d.ts +3 -3
  101. package/dist/helpers/QueryBuilders/QueryDecorators/OrderByDecorator.d.ts.map +1 -1
  102. package/dist/helpers/QueryBuilders/QueryDecorators/OrderByDecorator.js +2 -2
  103. package/dist/helpers/QueryBuilders/QueryDecorators/QueryDecorator.d.ts +2 -2
  104. package/dist/helpers/QueryBuilders/QueryDecorators/QueryDecorator.d.ts.map +1 -1
  105. package/dist/helpers/QueryBuilders/QueryDecorators/QueryDecorator.js +1 -1
  106. package/dist/helpers/QueryBuilders/QueryDecorators/WhereDecorator.d.ts +5 -5
  107. package/dist/helpers/QueryBuilders/QueryDecorators/WhereDecorator.d.ts.map +1 -1
  108. package/dist/helpers/QueryBuilders/QueryDecorators/WhereDecorator.js +3 -4
  109. package/dist/helpers/QueryBuilders/QueryExpressionBuilder.d.ts +1 -3
  110. package/dist/helpers/QueryBuilders/QueryExpressionBuilder.d.ts.map +1 -1
  111. package/dist/helpers/QueryBuilders/QueryExpressionBuilder.js +4 -22
  112. package/dist/helpers/QueryBuilders/QueryStatementBuilder.d.ts +3 -4
  113. package/dist/helpers/QueryBuilders/QueryStatementBuilder.d.ts.map +1 -1
  114. package/dist/helpers/QueryBuilders/QueryStatementBuilder.js +59 -45
  115. package/dist/helpers/QueryBuilders/{SqlRenderer.d.ts → SqlGenerator.d.ts} +3 -3
  116. package/dist/helpers/QueryBuilders/SqlGenerator.d.ts.map +1 -0
  117. package/dist/helpers/QueryBuilders/{SqlRenderer.js → SqlGenerator.js} +30 -19
  118. package/dist/helpers/QueryBuilders/{oldQueryStatementBuilder.d.ts → depricatedQueryStatementBuilder.d.ts} +19 -46
  119. package/dist/helpers/QueryBuilders/depricatedQueryStatementBuilder.d.ts.map +1 -0
  120. package/dist/helpers/QueryBuilders/{oldQueryStatementBuilder.js → depricatedQueryStatementBuilder.js} +31 -67
  121. package/dist/index.d.ts +13 -13
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +7 -7
  124. package/dist/interfaces/IController.d.ts +1 -1
  125. package/dist/interfaces/IController.d.ts.map +1 -1
  126. package/dist/interfaces/IDatabaseAdapter.d.ts +2 -2
  127. package/dist/interfaces/IDatabaseAdapter.d.ts.map +1 -1
  128. package/dist/interfaces/IExpressionBuilder.d.ts +1 -2
  129. package/dist/interfaces/IExpressionBuilder.d.ts.map +1 -1
  130. package/dist/interfaces/IFactory.d.ts +4 -0
  131. package/dist/interfaces/IFactory.d.ts.map +1 -0
  132. package/dist/interfaces/IFactory.js +1 -0
  133. package/dist/interfaces/IMigration.d.ts +4 -4
  134. package/dist/interfaces/IMigration.d.ts.map +1 -1
  135. package/dist/interfaces/IQueryBuilder.d.ts +1 -1
  136. package/dist/interfaces/IQueryBuilder.d.ts.map +1 -1
  137. package/dist/interfaces/ISchemaBuilder.d.ts +2 -2
  138. package/dist/interfaces/ISchemaBuilder.d.ts.map +1 -1
  139. package/dist/interfaces/IStatementAdapter.d.ts +1 -1
  140. package/dist/interfaces/IStatementAdapter.d.ts.map +1 -1
  141. package/dist/runtime/Container.d.ts +2 -3
  142. package/dist/runtime/Container.d.ts.map +1 -1
  143. package/dist/runtime/Container.js +3 -4
  144. package/dist/runtime/QueryCache.d.ts +1 -1
  145. package/dist/runtime/QueryCache.d.ts.map +1 -1
  146. package/dist/runtime/QueryCache.js +1 -1
  147. package/dist/runtime/Repository.d.ts +23 -12
  148. package/dist/runtime/Repository.d.ts.map +1 -1
  149. package/dist/runtime/Repository.js +324 -65
  150. package/dist/types/expressions.d.ts +12 -47
  151. package/dist/types/expressions.d.ts.map +1 -1
  152. package/dist/types/expressions.js +1 -6
  153. package/dist/types/factories.d.ts +5 -3
  154. package/dist/types/factories.d.ts.map +1 -1
  155. package/dist/types/index.d.ts +1 -1
  156. package/dist/types/index.d.ts.map +1 -1
  157. package/dist/types/index.js +1 -1
  158. package/dist/types/model.d.ts +5 -23
  159. package/dist/types/model.d.ts.map +1 -1
  160. package/dist/types/query.d.ts +5 -4
  161. package/dist/types/query.d.ts.map +1 -1
  162. package/dist/types/record.d.ts +11 -0
  163. package/dist/types/record.d.ts.map +1 -0
  164. package/dist/types/record.js +1 -0
  165. package/dist/types/repository.d.ts +8 -0
  166. package/dist/types/repository.d.ts.map +1 -0
  167. package/dist/types/repository.js +1 -0
  168. package/dist/types/table.d.ts +9 -1
  169. package/dist/types/table.d.ts.map +1 -1
  170. package/package.json +1 -1
  171. package/dist/helpers/QueryBuilders/SqlRenderer.d.ts.map +0 -1
  172. package/dist/helpers/QueryBuilders/oldQueryStatementBuilder.d.ts.map +0 -1
@@ -0,0 +1,6 @@
1
+ import { DatabaseHandlerError } from '../DatabaseHandlerError.js';
2
+ export class InvalidWhereConditionError extends DatabaseHandlerError {
3
+ constructor(message = 'Invalid WHERE condition encountered.') {
4
+ super(message, { code: 'INVALID_WHERE_CONDITION_ERROR' });
5
+ }
6
+ }
@@ -0,0 +1,5 @@
1
+ import { DatabaseHandlerError } from "../DatabaseHandlerError.js";
2
+ export declare class QueryExecutionError extends DatabaseHandlerError {
3
+ constructor(query: string, cause?: unknown);
4
+ }
5
+ //# sourceMappingURL=QueryExecutionError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryExecutionError.d.ts","sourceRoot":"","sources":["../../../../src/helpers/Errors/QueryErrors/QueryExecutionError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,qBAAa,mBAAoB,SAAQ,oBAAoB;gBAC7C,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAG7C"}
@@ -0,0 +1,6 @@
1
+ import { DatabaseHandlerError } from "../DatabaseHandlerError.js";
2
+ export class QueryExecutionError extends DatabaseHandlerError {
3
+ constructor(query, cause) {
4
+ super(`Query failed to execute: ${query}`, { cause: cause, code: 'QUERY_EXECUTION_ERROR' });
5
+ }
6
+ }
@@ -1,4 +1,5 @@
1
- export default class UnexpectedEmptyQueryError extends Error {
1
+ import { DatabaseHandlerError } from "../DatabaseHandlerError.js";
2
+ export declare class UnexpectedEmptyQueryError extends DatabaseHandlerError {
2
3
  constructor();
3
4
  }
4
5
  //# sourceMappingURL=UnexpectedEmptyQueryError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnexpectedEmptyQueryError.d.ts","sourceRoot":"","sources":["../../../../src/helpers/Errors/QueryErrors/UnexpectedEmptyQueryError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,KAAK;;CAK3D"}
1
+ {"version":3,"file":"UnexpectedEmptyQueryError.d.ts","sourceRoot":"","sources":["../../../../src/helpers/Errors/QueryErrors/UnexpectedEmptyQueryError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,qBAAa,yBAA0B,SAAQ,oBAAoB;;CAIlE"}
@@ -1,6 +1,6 @@
1
- export default class UnexpectedEmptyQueryError extends Error {
1
+ import { DatabaseHandlerError } from "../DatabaseHandlerError.js";
2
+ export class UnexpectedEmptyQueryError extends DatabaseHandlerError {
2
3
  constructor() {
3
- super(`The query is unexpectedly empty. Please ensure that the query is properly constructed and contains valid clauses.`);
4
- this.name = "UnexpectedEmptyQueryError";
4
+ super(`The query is unexpectedly empty. Please ensure that the query is properly constructed and contains valid clauses.`, { code: 'UNEXPECTED_EMPTY_QUERY' });
5
5
  }
6
6
  }
@@ -1,4 +1,5 @@
1
- export default class UnknownTableError extends Error {
2
- constructor(tableName: string);
1
+ import { DatabaseHandlerError } from "../DatabaseHandlerError.js";
2
+ export declare class UnknownTableError extends DatabaseHandlerError {
3
+ constructor(tableName: string, message?: string);
3
4
  }
4
5
  //# sourceMappingURL=UnknownTableError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnknownTableError.d.ts","sourceRoot":"","sources":["../../../../src/helpers/Errors/TableErrors/UnknownTableError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,KAAK;gBACpC,SAAS,EAAE,MAAM;CAIhC"}
1
+ {"version":3,"file":"UnknownTableError.d.ts","sourceRoot":"","sources":["../../../../src/helpers/Errors/TableErrors/UnknownTableError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,qBAAa,iBAAkB,SAAQ,oBAAoB;gBAC3C,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAGlD"}
@@ -1,6 +1,6 @@
1
- export default class UnknownTableError extends Error {
2
- constructor(tableName) {
3
- super(`Unknown table: ${tableName}`);
4
- this.name = "UnknownTableError";
1
+ import { DatabaseHandlerError } from "../DatabaseHandlerError.js";
2
+ export class UnknownTableError extends DatabaseHandlerError {
3
+ constructor(tableName, message) {
4
+ super(`Unknown table: ${tableName}${message ? `. ${message}` : ''}`, { code: 'UNKNOWN_TABLE' });
5
5
  }
6
6
  }
@@ -1,6 +1,6 @@
1
+ import { IQueryBuilder } from "../../../interfaces/IQueryBuilder.js";
1
2
  import { QueryContext } from "../../../index";
2
- import IQueryBuilder from "../../../interfaces/IQueryBuilder.js";
3
- export default class BaseSelectQueryBuilder implements IQueryBuilder {
3
+ export declare class BaseSelectQueryBuilder implements IQueryBuilder {
4
4
  private tableName;
5
5
  private select;
6
6
  private joinsSelect?;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSelectQueryBuilder.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/BaseQueryBuilders/BaseSelectQueryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,aAAa;IAChE,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,WAAW,CAAC,CAAW;IAC/B,OAAO,CAAC,iBAAiB,CAAC,CAAW;gBAEzB,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE;IAO/F,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;CAQvC"}
1
+ {"version":3,"file":"BaseSelectQueryBuilder.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/BaseQueryBuilders/BaseSelectQueryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,qBAAa,sBAAuB,YAAW,aAAa;IACxD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,WAAW,CAAC,CAAW;IAC/B,OAAO,CAAC,iBAAiB,CAAC,CAAW;gBAEzB,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE;IAO/F,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;CAQvC"}
@@ -1,4 +1,4 @@
1
- export default class BaseSelectQueryBuilder {
1
+ export class BaseSelectQueryBuilder {
2
2
  constructor(tableName, select, joinsSelect, expressionsSelect) {
3
3
  this.tableName = tableName;
4
4
  this.select = select;
@@ -1,9 +1,8 @@
1
- import { expressionClause, JsonAggregateQueryExpression } from "../../../index.js";
2
- import IExpressionBuilder from "../../../interfaces/IExpressionBuilder.js";
3
- export default class JsonAggregateExpression implements IExpressionBuilder {
1
+ import { expressionClause, JsonAggregateQueryExpression } from '../../../types/index.js';
2
+ import { IExpressionBuilder } from '../../../interfaces/IExpressionBuilder.js';
3
+ export declare class JsonAggregateExpression implements IExpressionBuilder {
4
4
  build(expression: JsonAggregateQueryExpression): expressionClause;
5
5
  private buildJsonBuildObject;
6
6
  validate(expression: JsonAggregateQueryExpression): boolean;
7
- get defaultRequirements(): JsonAggregateQueryExpression['requirements'];
8
7
  }
9
8
  //# sourceMappingURL=JsonAggregateExpression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonAggregateExpression.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/ExpressionBuilders/JsonAggregateExpression.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAwE,MAAM,gBAAgB,CAAC;AACtJ,OAAO,kBAAkB,MAAM,wCAAwC,CAAC;AAUxE,MAAM,CAAC,OAAO,OAAO,uBAAwB,YAAW,kBAAkB;IACtE,KAAK,CAAC,UAAU,EAAE,4BAA4B,GAAG,gBAAgB;IA8BjE,OAAO,CAAC,oBAAoB;IAqE5B,QAAQ,CAAC,UAAU,EAAE,4BAA4B,GAAG,OAAO;IAa3D,IAAI,mBAAmB,IAAI,4BAA4B,CAAC,cAAc,CAAC,CAOtE;CACJ"}
1
+ {"version":3,"file":"JsonAggregateExpression.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/ExpressionBuilders/JsonAggregateExpression.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAG7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAS5E,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,KAAK,CAAC,UAAU,EAAE,4BAA4B,GAAG,gBAAgB;IAgCjE,OAAO,CAAC,oBAAoB;IAgG5B,QAAQ,CAAC,UAAU,EAAE,4BAA4B,GAAG,OAAO;CAY5D"}
@@ -1,11 +1,9 @@
1
- import InvalidExpressionParametersError from "../../../helpers/Errors/ExpressionErrors/InvalidExpressionParametersError.js";
2
- import { QueryEvaluationPhase } from "../../../index.js";
3
- import QueryExpressionBuilder from "../QueryExpressionBuilder.js";
4
- import QueryStatementBuilder from "../QueryStatementBuilder.js";
5
- export default class JsonAggregateExpression {
1
+ import { InvalidExpressionParametersError } from '../../../helpers/Errors/ExpressionErrors/InvalidExpressionParametersError.js';
2
+ import { QueryExpressionBuilder } from '../QueryExpressionBuilder.js';
3
+ export class JsonAggregateExpression {
6
4
  build(expression) {
7
5
  if (!this.validate(expression)) {
8
- throw new InvalidExpressionParametersError("Invalid JSON aggregate expression parameters.");
6
+ throw new InvalidExpressionParametersError('Invalid JSON aggregate expression parameters.');
9
7
  }
10
8
  const jsonBuildObjects = this.buildJsonBuildObject(expression);
11
9
  const baseExpressionClause = `JSON_AGG(
@@ -13,55 +11,66 @@ export default class JsonAggregateExpression {
13
11
  ) AS ${expression.parameters.alias}`;
14
12
  const groupByClause = expression.parameters.groupByColumns.length > 0
15
13
  ? expression.parameters.groupByColumns
16
- .map(col => col.includes(".") ? `"${col.replace(".", "__")}"` : `"${col}"`)
17
- .join(", ")
14
+ .map((col) => col.includes('.') ? `"${col.replace('.', '__')}"` : `"${col}"`)
15
+ .join(', ')
18
16
  : undefined;
19
17
  return {
20
18
  baseExpressionClause,
21
- phase: expression.requirements.phase,
22
- requiresWrapping: expression.requirements.requiresSelectWrapping || false,
23
19
  groupByClause,
24
20
  whereClause: jsonBuildObjects.whereClause,
25
21
  valueClauseKeywords: jsonBuildObjects.valueClauseKeywords,
26
- havingClause: expression.parameters.having
22
+ havingClause: expression.parameters.having,
27
23
  };
28
24
  }
29
25
  buildJsonBuildObject(expression) {
30
26
  var _a, _b;
31
27
  const columnPart = expression.parameters.columns
32
- .map(col => `'${col}', "${expression.parameters.table}_${col}"`)
33
- .join(",\n ");
28
+ .map((col) => `'${col}', "${expression.parameters.table}_${col}"`)
29
+ .join(',\n ');
34
30
  const computedPart = ((_a = expression.parameters.computed) === null || _a === void 0 ? void 0 : _a.length)
35
- ? expression.parameters.computed
36
- .map(comp => {
31
+ ? expression.parameters.computed.map((comp) => {
37
32
  var _a;
38
- const valueClauseKeywords = [`${comp.parameters.alias}_lat`, `${comp.parameters.alias}_lon`];
33
+ const valueClauseKeywords = {
34
+ lat: `${comp.parameters.alias}_lat`,
35
+ lon: `${comp.parameters.alias}_lon`,
36
+ };
39
37
  const expr = {
40
38
  type: comp.type,
41
39
  parameters: {
42
40
  ...comp.parameters,
43
- valueClauseKeywords: comp.type === 'spatialDistance' ? valueClauseKeywords : comp.parameters.valueClauseKeywords,
44
- isComputed: true
41
+ valueClauseKeywords: comp.type === 'spatialDistance'
42
+ ? valueClauseKeywords
43
+ : comp.parameters.valueClauseKeywords,
44
+ isComputed: true,
45
45
  },
46
- requirements: QueryExpressionBuilder.getExpressionDefaultRequirements(comp.type)
47
46
  };
48
- const builder = QueryExpressionBuilder.buildExpressionsPart([expr])[0];
47
+ const builder = QueryExpressionBuilder.buildExpressionsPart([
48
+ expr,
49
+ ])[0];
50
+ const prefixedKeywords = {};
51
+ if (builder.valueClauseKeywords) {
52
+ for (const [key, value] of Object.entries(builder.valueClauseKeywords)) {
53
+ prefixedKeywords[`${comp.parameters.alias}_${key}`] = value;
54
+ }
55
+ }
49
56
  return {
50
- sql: `'${comp.parameters.alias}', ${(_a = builder.baseExpressionClause) === null || _a === void 0 ? void 0 : _a.split(" AS ")[0]}`,
57
+ sql: `'${comp.parameters.alias}', ${(_a = builder.baseExpressionClause) === null || _a === void 0 ? void 0 : _a.split(' AS ')[0]}`,
51
58
  whereClause: builder.whereClause,
52
- valueClauseKeywords: builder.valueClauseKeywords
59
+ valueClauseKeywords: prefixedKeywords,
53
60
  };
54
- }) : [];
61
+ })
62
+ : [];
55
63
  const computedSqlPart = computedPart.length
56
- ? computedPart.map(c => c.sql).join(",\n ")
57
- : "";
58
- const whereClauses = computedPart
59
- .flatMap(c => c.whereClause ? QueryStatementBuilder.normalizeQueryConditions(c.whereClause) : []);
60
- const valueClauseKeywords = computedPart
61
- .flatMap(c => c.valueClauseKeywords || []);
64
+ ? computedPart.map((c) => c.sql).join(',\n ')
65
+ : '';
66
+ const whereClauses = computedPart.flatMap((c) => c.whereClause ? c.whereClause : []);
67
+ const valueClauseKeywords = computedPart.reduce((acc, c) => ({
68
+ ...acc,
69
+ ...(c.valueClauseKeywords || {}),
70
+ }), {});
62
71
  const nestedPart = ((_b = expression.parameters.nested) === null || _b === void 0 ? void 0 : _b.length)
63
72
  ? expression.parameters.nested
64
- .map(n => {
73
+ .map((n) => {
65
74
  return `'${n.alias}', ${this.buildJsonBuildObject({
66
75
  type: 'jsonAggregate',
67
76
  parameters: {
@@ -70,20 +79,21 @@ export default class JsonAggregateExpression {
70
79
  columns: n.columns,
71
80
  computed: n.computed,
72
81
  nested: n.nested,
73
- groupByColumns: []
82
+ groupByColumns: [],
74
83
  },
75
- requirements: this.defaultRequirements
76
84
  }).sql}`;
77
85
  })
78
- .join(",\n ")
79
- : "";
80
- const parts = [columnPart, computedSqlPart, nestedPart].filter(Boolean).join(",\n ");
86
+ .join(',\n ')
87
+ : '';
88
+ const parts = [columnPart, computedSqlPart, nestedPart]
89
+ .filter(Boolean)
90
+ .join(',\n ');
81
91
  return {
82
92
  sql: `JSON_BUILD_OBJECT(
83
93
  ${parts}
84
94
  )`,
85
95
  whereClause: whereClauses,
86
- valueClauseKeywords: valueClauseKeywords
96
+ valueClauseKeywords: valueClauseKeywords,
87
97
  };
88
98
  }
89
99
  validate(expression) {
@@ -95,12 +105,4 @@ export default class JsonAggregateExpression {
95
105
  Array.isArray(expression.parameters.groupByColumns) &&
96
106
  typeof expression.parameters.alias === 'string');
97
107
  }
98
- get defaultRequirements() {
99
- return {
100
- phase: QueryEvaluationPhase.PROJECTION,
101
- cardinality: 'row',
102
- requiresAlias: true,
103
- requiresSelectWrapping: true
104
- };
105
- }
106
108
  }
@@ -1,8 +1,7 @@
1
- import IExpressionBuilder from "../../../interfaces/IExpressionBuilder.js";
2
- import { expressionClause, SpatialQueryExpression } from "../../../types/index.js";
3
- export default class SpatialDistanceExpression implements IExpressionBuilder {
1
+ import { IExpressionBuilder } from '../../../interfaces/IExpressionBuilder.js';
2
+ import { expressionClause, SpatialQueryExpression } from '../../../types/index.js';
3
+ export declare class SpatialDistanceExpression implements IExpressionBuilder {
4
4
  build(expression: SpatialQueryExpression): expressionClause;
5
5
  validate(expression: SpatialQueryExpression): boolean;
6
- get defaultRequirements(): SpatialQueryExpression['requirements'];
7
6
  }
8
7
  //# sourceMappingURL=SpatialDistanceExpression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpatialDistanceExpression.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/ExpressionBuilders/SpatialDistanceExpression.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAwB,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGtG,MAAM,CAAC,OAAO,OAAO,yBAA0B,YAAW,kBAAkB;IACxE,KAAK,CAAC,UAAU,EAAE,sBAAsB,GAAG,gBAAgB;IAkD3D,QAAQ,CAAC,UAAU,EAAE,sBAAsB,GAAG,OAAO;IAcrD,IAAI,mBAAmB,IAAI,sBAAsB,CAAC,cAAc,CAAC,CAOhE;CACJ"}
1
+ {"version":3,"file":"SpatialDistanceExpression.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/ExpressionBuilders/SpatialDistanceExpression.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAEhB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,yBAA0B,YAAW,kBAAkB;IAClE,KAAK,CAAC,UAAU,EAAE,sBAAsB,GAAG,gBAAgB;IA2D3D,QAAQ,CAAC,UAAU,EAAE,sBAAsB,GAAG,OAAO;CAiBtD"}
@@ -1,44 +1,50 @@
1
- import InvalidExpressionParametersError from "../../../helpers/Errors/ExpressionErrors/InvalidExpressionParametersError.js";
2
- import { QueryEvaluationPhase } from "../../../types/index.js";
3
- import QueryStatementBuilder from "../QueryStatementBuilder.js";
4
- export default class SpatialDistanceExpression {
1
+ import { InvalidExpressionParametersError } from '../../../helpers/Errors/ExpressionErrors/InvalidExpressionParametersError.js';
2
+ export class SpatialDistanceExpression {
5
3
  build(expression) {
6
4
  var _a;
7
5
  if (!this.validate(expression)) {
8
- throw new InvalidExpressionParametersError("Invalid spatial distance expression parameters.");
6
+ throw new InvalidExpressionParametersError('Invalid spatial distance expression parameters.');
9
7
  }
10
8
  const earthRadius = (_a = expression.parameters.earthRadius) !== null && _a !== void 0 ? _a : (expression.parameters.unit === 'km' ? 6371 : 3959);
11
9
  const isComputed = expression.parameters.isComputed;
12
10
  const baseExpressionClause = `
13
11
  ${earthRadius} * acos(
14
- cos(radians(@${expression.parameters.valueClauseKeywords[0]}))
15
- * cos(radians(${isComputed ? expression.parameters.targetColumns.lat.replace(".", "_") : `${expression.parameters.targetColumns.lat}`}))
12
+ cos(radians(@${expression.parameters.valueClauseKeywords.lat}))
13
+ * cos(radians(${isComputed ? expression.parameters.targetColumns.lat.replace('.', '_') : `${expression.parameters.targetColumns.lat}`}))
16
14
  * cos(
17
- radians(${isComputed ? expression.parameters.targetColumns.lon.replace(".", "_") : `${expression.parameters.targetColumns.lon}`})
18
- - radians(@${expression.parameters.valueClauseKeywords[1]})
15
+ radians(${isComputed ? expression.parameters.targetColumns.lon.replace('.', '_') : `${expression.parameters.targetColumns.lon}`})
16
+ - radians(@${expression.parameters.valueClauseKeywords.lon})
19
17
  )
20
- + sin(radians(@${expression.parameters.valueClauseKeywords[0]}))
21
- * sin(radians(${isComputed ? expression.parameters.targetColumns.lat.replace(".", "_") : `${expression.parameters.targetColumns.lat}`}))
18
+ + sin(radians(@${expression.parameters.valueClauseKeywords.lat}))
19
+ * sin(radians(${isComputed ? expression.parameters.targetColumns.lat.replace('.', '_') : `${expression.parameters.targetColumns.lat}`}))
22
20
  ) AS ${expression.parameters.alias}
23
21
  `.trim();
24
22
  const orderByClause = {
25
23
  column: expression.parameters.alias,
26
- direction: expression.parameters.orderByDistance || 'ASC'
24
+ direction: expression.parameters.orderByDistance || 'ASC',
27
25
  };
26
+ const whereClauses = [
27
+ ...(expression.parameters.where || []),
28
+ ];
29
+ if (expression.parameters.maxDistance !== undefined) {
30
+ whereClauses.push({
31
+ column: expression.parameters.alias,
32
+ operator: '<=',
33
+ value: expression.parameters.maxDistance,
34
+ });
35
+ }
36
+ if (expression.parameters.minDistance !== undefined) {
37
+ whereClauses.push({
38
+ column: expression.parameters.alias,
39
+ operator: '>=',
40
+ value: expression.parameters.minDistance,
41
+ });
42
+ }
28
43
  return {
29
44
  baseExpressionClause,
30
- phase: expression.requirements.phase,
31
- requiresWrapping: expression.requirements.requiresSelectWrapping || false,
32
- whereClause: [
33
- {
34
- column: expression.parameters.alias,
35
- operator: '<=',
36
- value: expression.parameters.maxDistance
37
- },
38
- ...QueryStatementBuilder.normalizeQueryConditions(expression.parameters.where || [])
39
- ],
45
+ whereClause: whereClauses,
40
46
  valueClauseKeywords: expression.parameters.valueClauseKeywords,
41
- orderByClause
47
+ orderByClause,
42
48
  };
43
49
  }
44
50
  validate(expression) {
@@ -50,14 +56,10 @@ export default class SpatialDistanceExpression {
50
56
  typeof expression.parameters.targetColumns.lon === 'string' &&
51
57
  (expression.parameters.unit === 'km' ||
52
58
  expression.parameters.unit === 'miles') &&
53
- typeof expression.parameters.alias === 'string');
54
- }
55
- get defaultRequirements() {
56
- return {
57
- phase: QueryEvaluationPhase.PROJECTION,
58
- cardinality: 'row',
59
- requiresAlias: true,
60
- requiresSelectWrapping: true
61
- };
59
+ typeof expression.parameters.alias === 'string' &&
60
+ (expression.parameters.maxDistance === undefined ||
61
+ typeof expression.parameters.maxDistance === 'number') &&
62
+ (expression.parameters.minDistance === undefined ||
63
+ typeof expression.parameters.minDistance === 'number'));
62
64
  }
63
65
  }
@@ -1,8 +1,7 @@
1
- import IExpressionBuilder from "../../../interfaces/IExpressionBuilder.js";
2
- import { expressionClause, QueryExpressionRequirements, TextRelevanceQueryExpression } from "../../../types/index.js";
3
- export default class TextRelevanceExpression implements IExpressionBuilder {
1
+ import { IExpressionBuilder } from '../../../interfaces/IExpressionBuilder.js';
2
+ import { expressionClause, TextRelevanceQueryExpression } from '../../../types/index.js';
3
+ export declare class TextRelevanceExpression implements IExpressionBuilder {
4
4
  build(expression: TextRelevanceQueryExpression): expressionClause;
5
5
  validate(expression: TextRelevanceQueryExpression): boolean;
6
- get defaultRequirements(): QueryExpressionRequirements;
7
6
  }
8
7
  //# sourceMappingURL=TextRelevanceExpression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextRelevanceExpression.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/ExpressionBuilders/TextRelevanceExpression.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAwB,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEzI,MAAM,CAAC,OAAO,OAAO,uBAAwB,YAAW,kBAAkB;IACtE,KAAK,CAAC,UAAU,EAAE,4BAA4B,GAAG,gBAAgB;IAqCjE,QAAQ,CAAC,UAAU,EAAE,4BAA4B,GAAG,OAAO;IAW3D,IAAI,mBAAmB,IAAI,2BAA2B,CAOrD;CACJ"}
1
+ {"version":3,"file":"TextRelevanceExpression.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/ExpressionBuilders/TextRelevanceExpression.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,KAAK,CAAC,UAAU,EAAE,4BAA4B,GAAG,gBAAgB;IAkCjE,QAAQ,CAAC,UAAU,EAAE,4BAA4B,GAAG,OAAO;CAY5D"}
@@ -1,30 +1,27 @@
1
- import InvalidExpressionParametersError from "../../../helpers/Errors/ExpressionErrors/InvalidExpressionParametersError.js";
2
- import { QueryEvaluationPhase } from "../../../types/index.js";
3
- export default class TextRelevanceExpression {
1
+ import { InvalidExpressionParametersError } from '../../../helpers/Errors/ExpressionErrors/InvalidExpressionParametersError.js';
2
+ export class TextRelevanceExpression {
4
3
  build(expression) {
5
4
  if (!this.validate(expression)) {
6
- throw new InvalidExpressionParametersError("Invalid text relevance expression parameters.");
5
+ throw new InvalidExpressionParametersError('Invalid text relevance expression parameters.');
7
6
  }
8
7
  // Score: 3 = exact match, 2 = starts with, 1 = contains, 0 = no match
9
8
  const columnConcat = expression.parameters.targetColumns
10
- .map(col => `COALESCE(${col}, '')`)
9
+ .map((col) => `COALESCE(${col}, '')`)
11
10
  .join(" || ' ' || ");
12
11
  const baseExpressionClause = `(
13
12
  CASE
14
- WHEN LOWER(${columnConcat}) = LOWER(@${expression.parameters.valueClauseKeywords[0]}) THEN 3
15
- WHEN LOWER(${columnConcat}) LIKE LOWER(@${expression.parameters.valueClauseKeywords[0]} || '%') THEN 2
16
- WHEN LOWER(${columnConcat}) LIKE LOWER('%' || @${expression.parameters.valueClauseKeywords[0]} || '%') THEN 1
13
+ WHEN LOWER(${columnConcat}) = LOWER(@${expression.parameters.valueClauseKeywords.searchTerm}) THEN 3
14
+ WHEN LOWER(${columnConcat}) LIKE LOWER(@${expression.parameters.valueClauseKeywords.searchTerm} || '%') THEN 2
15
+ WHEN LOWER(${columnConcat}) LIKE LOWER('%' || @${expression.parameters.valueClauseKeywords.searchTerm} || '%') THEN 1
17
16
  ELSE 0
18
17
  END
19
18
  ) AS ${expression.parameters.alias}`;
20
19
  const orderByClause = {
21
20
  column: expression.parameters.alias,
22
- direction: expression.parameters.orderByRelevance || 'ASC'
21
+ direction: expression.parameters.orderByRelevance || 'ASC',
23
22
  };
24
23
  return {
25
24
  baseExpressionClause,
26
- phase: expression.requirements.phase,
27
- requiresWrapping: expression.requirements.requiresSelectWrapping || false,
28
25
  whereClause: expression.parameters.where,
29
26
  valueClauseKeywords: expression.parameters.valueClauseKeywords,
30
27
  orderByClause,
@@ -34,16 +31,8 @@ export default class TextRelevanceExpression {
34
31
  return (expression.type === 'textRelevance' &&
35
32
  typeof expression.parameters.searchTerm === 'string' &&
36
33
  Array.isArray(expression.parameters.targetColumns) &&
37
- expression.parameters.targetColumns.every(col => typeof col === 'string') &&
34
+ expression.parameters.targetColumns.every((col) => typeof col === 'string') &&
38
35
  typeof expression.parameters.alias === 'string' &&
39
36
  typeof expression.parameters.minimumRelevance == 'number');
40
37
  }
41
- get defaultRequirements() {
42
- return {
43
- phase: QueryEvaluationPhase.PROJECTION,
44
- cardinality: 'row',
45
- requiresAlias: true,
46
- requiresSelectWrapping: true
47
- };
48
- }
49
38
  }
@@ -1,7 +1,7 @@
1
- import { expressionClause, OrderByDefinition, QueryComparisonParameters, QueryContext } from "../../../types/index.js";
2
- import QueryDecorator from "./QueryDecorator.js";
3
- import IQueryBuilder from "../../../interfaces/IQueryBuilder.js";
4
- export default class ExpressionDecorator extends QueryDecorator {
1
+ import { expressionClause, OrderByDefinition, QueryComparisonParameters, QueryContext } from '../../../types/index.js';
2
+ import { QueryDecorator } from './QueryDecorator.js';
3
+ import { IQueryBuilder } from '../../../interfaces/IQueryBuilder.js';
4
+ export declare class ExpressionDecorator extends QueryDecorator {
5
5
  private parsedExpressions;
6
6
  whereClauses?: QueryComparisonParameters[];
7
7
  orderByClauses?: OrderByDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionDecorator.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/QueryDecorators/ExpressionDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpH,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAG9D,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,cAAc;IAC3D,OAAO,CAAC,iBAAiB,CAAqB;IACvC,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC3C,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC5C,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;gBAGhD,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,gBAAgB,EAAE;IAW7B,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAU7B,eAAe,IAAI,IAAI;IASvB,iBAAiB,IAAI,IAAI;IAIzB,iBAAiB,IAAI,IAAI;IAIzB,gBAAgB,IAAI,IAAI;IASxB,sBAAsB,IAAI,IAAI;CASxC"}
1
+ {"version":3,"file":"ExpressionDecorator.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/QueryDecorators/ExpressionDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,OAAO,CAAC,iBAAiB,CAAqB;IACvC,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC3C,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC5C,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;gBAExC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAU/D,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAY7B,eAAe,IAAI,IAAI;IAMvB,iBAAiB,IAAI,IAAI;IAMzB,iBAAiB,IAAI,IAAI;IAMzB,gBAAgB,IAAI,IAAI;IAMxB,sBAAsB,IAAI,IAAI;CAStC"}
@@ -1,6 +1,5 @@
1
- import QueryDecorator from "./QueryDecorator.js";
2
- import QueryStatementBuilder from "../QueryStatementBuilder.js";
3
- export default class ExpressionDecorator extends QueryDecorator {
1
+ import { QueryDecorator } from './QueryDecorator.js';
2
+ export class ExpressionDecorator extends QueryDecorator {
4
3
  constructor(component, expressions) {
5
4
  super(component);
6
5
  this.valueClauseKeywords = new Set();
@@ -15,32 +14,30 @@ export default class ExpressionDecorator extends QueryDecorator {
15
14
  var _a, _b;
16
15
  const context = await this.component.build();
17
16
  (_a = context.expressionSelect) !== null && _a !== void 0 ? _a : (context.expressionSelect = []);
18
- context.expressionSelect.push(...this.parsedExpressions.map(e => e.baseExpressionClause));
17
+ context.expressionSelect.push(...this.parsedExpressions.map((e) => e.baseExpressionClause));
19
18
  (_b = context.conditions) !== null && _b !== void 0 ? _b : (context.conditions = {});
20
19
  return context;
21
20
  }
22
21
  setWhereClauses() {
23
- this.whereClauses = this.parsedExpressions
24
- .flatMap(expr => expr.whereClause
25
- ? QueryStatementBuilder.normalizeQueryConditions(expr.whereClause)
26
- : []);
22
+ this.whereClauses = this.parsedExpressions.flatMap((expr) => expr.whereClause ? expr.whereClause : []);
27
23
  }
28
24
  setOrderByClauses() {
29
- this.orderByClauses = this.parsedExpressions.map(expr => expr.orderByClause).filter(o => o !== undefined);
25
+ this.orderByClauses = this.parsedExpressions
26
+ .map((expr) => expr.orderByClause)
27
+ .filter((o) => o !== undefined);
30
28
  }
31
29
  setGroupByClauses() {
32
- this.groupByClauses = this.parsedExpressions.map(expr => expr.groupByClause).filter(g => g !== undefined);
30
+ this.groupByClauses = this.parsedExpressions
31
+ .map((expr) => expr.groupByClause)
32
+ .filter((g) => g !== undefined);
33
33
  }
34
34
  setHavingClauses() {
35
- this.havingClauses = this.parsedExpressions
36
- .flatMap(expr => expr.havingClause
37
- ? QueryStatementBuilder.normalizeQueryConditions(expr.havingClause)
38
- : []);
35
+ this.havingClauses = this.parsedExpressions.flatMap((expr) => expr.havingClause ? expr.havingClause : []);
39
36
  }
40
37
  setValueClauseKeywords() {
41
- this.parsedExpressions.forEach(expr => {
42
- if (expr.valueClauseKeywords && expr.valueClauseKeywords.length > 0) {
43
- for (const keyword of expr.valueClauseKeywords) {
38
+ this.parsedExpressions.forEach((expr) => {
39
+ if (expr.valueClauseKeywords) {
40
+ for (const keyword of Object.values(expr.valueClauseKeywords)) {
44
41
  this.valueClauseKeywords.add(keyword);
45
42
  }
46
43
  }
@@ -1,7 +1,7 @@
1
- import IQueryBuilder from "../../../interfaces/IQueryBuilder.js";
2
- import QueryDecorator from "./QueryDecorator.js";
1
+ import { IQueryBuilder } from "../../../interfaces/IQueryBuilder.js";
2
+ import { QueryDecorator } from "./QueryDecorator.js";
3
3
  import { QueryContext } from "../../../types/query.js";
4
- export default class GroupByDecorator extends QueryDecorator {
4
+ export declare class GroupByDecorator extends QueryDecorator {
5
5
  private groupByColumns?;
6
6
  constructor(component: IQueryBuilder, groupByColumns?: string[]);
7
7
  build(): Promise<QueryContext>;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupByDecorator.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/QueryDecorators/GroupByDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,cAAc;IACxD,OAAO,CAAC,cAAc,CAAC,CAAW;gBAEtB,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE;IAKzD,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;CASvC"}
1
+ {"version":3,"file":"GroupByDecorator.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/QueryDecorators/GroupByDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,qBAAa,gBAAiB,SAAQ,cAAc;IAChD,OAAO,CAAC,cAAc,CAAC,CAAW;gBAEtB,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE;IAKzD,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;CASvC"}
@@ -1,5 +1,5 @@
1
- import QueryDecorator from "./QueryDecorator.js";
2
- export default class GroupByDecorator extends QueryDecorator {
1
+ import { QueryDecorator } from "./QueryDecorator.js";
2
+ export class GroupByDecorator extends QueryDecorator {
3
3
  constructor(component, groupByColumns) {
4
4
  super(component);
5
5
  this.groupByColumns = groupByColumns;
@@ -1,8 +1,8 @@
1
1
  import { QueryLayers, QueryContext } from "../../../index.js";
2
- import QueryDecorator from "./QueryDecorator.js";
3
- import IQueryBuilder from "../../../interfaces/IQueryBuilder.js";
2
+ import { QueryDecorator } from "./QueryDecorator.js";
3
+ import { IQueryBuilder } from "../../../interfaces/IQueryBuilder.js";
4
4
  import { TableColumnInfo } from "../../../types/index.js";
5
- export default class JoinDecorator extends QueryDecorator {
5
+ export declare class JoinDecorator extends QueryDecorator {
6
6
  private fromTableName;
7
7
  private joins;
8
8
  private tableColumnsCache;
@@ -10,6 +10,6 @@ export default class JoinDecorator extends QueryDecorator {
10
10
  constructor(builder: IQueryBuilder, layer: QueryLayers, tableColumnInformation: Map<string, TableColumnInfo[]>);
11
11
  build(): Promise<QueryContext>;
12
12
  private buildJoinSelect;
13
- private buildJoinPart;
13
+ private buildSqlJoinPart;
14
14
  }
15
15
  //# sourceMappingURL=JoinDecorator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JoinDecorator.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/QueryDecorators/JoinDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/G,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,cAAc;IACrD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,OAAO,CAAC,CAAgD;gBAEpD,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;IAmBxG,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;YActB,eAAe;IAuB7B,OAAO,CAAC,aAAa;CAgBxB"}
1
+ {"version":3,"file":"JoinDecorator.d.ts","sourceRoot":"","sources":["../../../../src/helpers/QueryBuilders/QueryDecorators/JoinDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,qBAAa,aAAc,SAAQ,cAAc;IAC7C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,OAAO,CAAC,CAAgD;gBAEpD,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;IAmBxG,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAcpC,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,gBAAgB;CAiB3B"}