@goatlab/fluent 0.7.21 → 0.7.22

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 (260) hide show
  1. package/dist/BaseConnector.d.ts +43 -0
  2. package/dist/BaseConnector.js +258 -0
  3. package/dist/Fluent.d.ts +7 -0
  4. package/dist/Fluent.js +22 -0
  5. package/dist/FluentConnectorInterface.d.ts +17 -0
  6. package/dist/FluentConnectorInterface.js +2 -0
  7. package/dist/FluentEntity.d.ts +7 -0
  8. package/dist/FluentEntity.js +28 -0
  9. package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +38 -0
  10. package/dist/TypeOrmConnector/TypeOrmConnector.js +370 -0
  11. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.d.ts +7 -0
  12. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js +148 -0
  13. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.d.ts +6 -0
  14. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js +45 -0
  15. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.d.ts +4 -0
  16. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.js +19 -0
  17. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.d.ts +4 -0
  18. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js +12 -0
  19. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.d.ts +6 -0
  20. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js +166 -0
  21. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.d.ts +8 -0
  22. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js +200 -0
  23. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.d.ts +6 -0
  24. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js +207 -0
  25. package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.d.ts +1 -0
  26. package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.js +256 -0
  27. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.d.ts +116 -0
  28. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +74 -0
  29. package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.d.ts +5 -0
  30. package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.js +17 -0
  31. package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.d.ts +5 -0
  32. package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.js +17 -0
  33. package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.d.ts +5 -0
  34. package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.js +17 -0
  35. package/dist/TypeOrmConnector/test/basic/basicTestSuite.d.ts +1 -0
  36. package/dist/TypeOrmConnector/test/basic/basicTestSuite.js +193 -0
  37. package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +53 -0
  38. package/dist/TypeOrmConnector/test/basic/goat.entity.js +53 -0
  39. package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.d.ts +5 -0
  40. package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.js +16 -0
  41. package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.d.ts +5 -0
  42. package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.js +16 -0
  43. package/dist/TypeOrmConnector/test/basic/goat.repository.d.ts +5 -0
  44. package/dist/TypeOrmConnector/test/basic/goat.repository.js +16 -0
  45. package/dist/TypeOrmConnector/test/dbEntities.d.ts +6 -0
  46. package/dist/TypeOrmConnector/test/dbEntities.js +17 -0
  47. package/dist/TypeOrmConnector/test/docker/docker.d.ts +35 -0
  48. package/dist/TypeOrmConnector/test/docker/docker.js +148 -0
  49. package/dist/TypeOrmConnector/test/docker/mongo.d.ts +16 -0
  50. package/dist/TypeOrmConnector/test/docker/mongo.js +93 -0
  51. package/dist/TypeOrmConnector/test/docker/mysql.d.ts +17 -0
  52. package/dist/TypeOrmConnector/test/docker/mysql.js +132 -0
  53. package/dist/TypeOrmConnector/test/flock.d.ts +4 -0
  54. package/dist/TypeOrmConnector/test/flock.js +25 -0
  55. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.d.ts +10 -0
  56. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.js +28 -0
  57. package/dist/TypeOrmConnector/test/mongo/mongoDatasource.d.ts +2 -0
  58. package/dist/TypeOrmConnector/test/mongo/mongoDatasource.js +12 -0
  59. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.d.ts +9 -0
  60. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.js +25 -0
  61. package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.d.ts +6 -0
  62. package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.js +17 -0
  63. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.d.ts +10 -0
  64. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.js +32 -0
  65. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +10 -0
  66. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.js +26 -0
  67. package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.d.ts +2 -0
  68. package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.js +16 -0
  69. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.d.ts +9 -0
  70. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.js +25 -0
  71. package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.d.ts +6 -0
  72. package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.js +17 -0
  73. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.d.ts +10 -0
  74. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.js +33 -0
  75. package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +7 -0
  76. package/dist/TypeOrmConnector/test/relations/car/car.entity.js +32 -0
  77. package/dist/TypeOrmConnector/test/relations/car/car.output.schema.d.ts +511 -0
  78. package/dist/TypeOrmConnector/test/relations/car/car.output.schema.js +8 -0
  79. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.d.ts +10 -0
  80. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +26 -0
  81. package/dist/TypeOrmConnector/test/relations/car/car.schema.d.ts +15 -0
  82. package/dist/TypeOrmConnector/test/relations/car/car.schema.js +9 -0
  83. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +1 -0
  84. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +548 -0
  85. package/dist/TypeOrmConnector/test/relations/roles/role.output.schema.d.ts +152 -0
  86. package/dist/TypeOrmConnector/test/relations/roles/role.output.schema.js +14 -0
  87. package/dist/TypeOrmConnector/test/relations/roles/role.schema.d.ts +12 -0
  88. package/dist/TypeOrmConnector/test/relations/roles/role.schema.js +8 -0
  89. package/dist/TypeOrmConnector/test/relations/roles/roles.entity.d.ts +6 -0
  90. package/dist/TypeOrmConnector/test/relations/roles/roles.entity.js +29 -0
  91. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.d.ts +9 -0
  92. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +25 -0
  93. package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.d.ts +5 -0
  94. package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.js +23 -0
  95. package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.d.ts +15 -0
  96. package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.js +9 -0
  97. package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +6 -0
  98. package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.js +17 -0
  99. package/dist/TypeOrmConnector/test/relations/user/user.entity.d.ts +14 -0
  100. package/dist/TypeOrmConnector/test/relations/user/user.entity.js +56 -0
  101. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.d.ts +10 -0
  102. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +30 -0
  103. package/dist/TypeOrmConnector/test/relations/user/user.schema.d.ts +546 -0
  104. package/dist/TypeOrmConnector/test/relations/user/user.schema.js +67 -0
  105. package/dist/TypeOrmConnector/test/sqlite/memoryDataSource.d.ts +2 -0
  106. package/dist/TypeOrmConnector/test/sqlite/memoryDataSource.js +12 -0
  107. package/dist/TypeOrmConnector/util/clearEmpties.d.ts +1 -0
  108. package/dist/TypeOrmConnector/util/clearEmpties.js +25 -0
  109. package/dist/TypeOrmConnector/util/extractConditions.d.ts +6 -0
  110. package/dist/TypeOrmConnector/util/extractConditions.js +80 -0
  111. package/dist/TypeOrmConnector/util/extractInclude.d.ts +2 -0
  112. package/dist/TypeOrmConnector/util/extractInclude.js +25 -0
  113. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.d.ts +12 -0
  114. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js +42 -0
  115. package/dist/TypeOrmConnector/util/extractOrderBy.d.ts +4 -0
  116. package/dist/TypeOrmConnector/util/extractOrderBy.js +18 -0
  117. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.d.ts +19 -0
  118. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js +26 -0
  119. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.d.ts +1 -0
  120. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js +20 -0
  121. package/dist/TypeOrmConnector/util/isAnyObject.d.ts +1 -0
  122. package/dist/TypeOrmConnector/util/isAnyObject.js +7 -0
  123. package/dist/TypeOrmConnector/util/nestQueryResults.d.ts +2 -0
  124. package/dist/TypeOrmConnector/util/nestQueryResults.js +31 -0
  125. package/dist/cache.d.ts +9 -0
  126. package/dist/cache.js +43 -0
  127. package/dist/core/Loopback/build-schema.d.ts +31 -0
  128. package/dist/core/Loopback/build-schema.js +333 -0
  129. package/dist/core/Loopback/common-types.d.ts +36 -0
  130. package/dist/core/Loopback/common-types.js +13 -0
  131. package/dist/core/Loopback/json-to-schema.d.ts +6 -0
  132. package/dist/core/Loopback/json-to-schema.js +96 -0
  133. package/dist/core/Loopback/mapValues.d.ts +2 -0
  134. package/dist/core/Loopback/mapValues.js +835 -0
  135. package/dist/core/Loopback/metadata.d.ts +9 -0
  136. package/dist/core/Loopback/metadata.js +28 -0
  137. package/dist/core/Loopback/model.d.ts +87 -0
  138. package/dist/core/Loopback/model.js +244 -0
  139. package/dist/core/Loopback/query.d.ts +97 -0
  140. package/dist/core/Loopback/query.js +292 -0
  141. package/dist/core/Loopback/relation.types.d.ts +45 -0
  142. package/dist/core/Loopback/relation.types.js +13 -0
  143. package/dist/core/Loopback/type-resolver.d.ts +7 -0
  144. package/dist/core/Loopback/type-resolver.js +34 -0
  145. package/dist/core/Loopback/type.d.ts +9 -0
  146. package/dist/core/Loopback/type.js +2 -0
  147. package/dist/core/Nestjs/applyDecorators.d.ts +1 -0
  148. package/dist/core/Nestjs/applyDecorators.js +17 -0
  149. package/dist/core/Nestjs/types/common.d.ts +16 -0
  150. package/dist/core/Nestjs/types/common.js +37 -0
  151. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +1 -0
  152. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +7 -0
  153. package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +27 -0
  154. package/dist/core/Nestjs/types/decorators/api-property.decorator.js +65 -0
  155. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +5 -0
  156. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +131 -0
  157. package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +1 -0
  158. package/dist/core/Nestjs/types/decorators/args-type.decorator.js +19 -0
  159. package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +2 -0
  160. package/dist/core/Nestjs/types/decorators/create-property.decorator.js +55 -0
  161. package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +1 -0
  162. package/dist/core/Nestjs/types/decorators/directive.decorator.js +36 -0
  163. package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +1 -0
  164. package/dist/core/Nestjs/types/decorators/extensions.decorator.js +25 -0
  165. package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +15 -0
  166. package/dist/core/Nestjs/types/decorators/field.decorator.js +56 -0
  167. package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +7 -0
  168. package/dist/core/Nestjs/types/decorators/input-type.decorator.js +23 -0
  169. package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +9 -0
  170. package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +27 -0
  171. package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +3 -0
  172. package/dist/core/Nestjs/types/decorators/partial-type.helper.js +42 -0
  173. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +3 -0
  174. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +9 -0
  175. package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +3 -0
  176. package/dist/core/Nestjs/types/errors/directive-parsing.error.js +9 -0
  177. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +3 -0
  178. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +9 -0
  179. package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +3 -0
  180. package/dist/core/Nestjs/types/errors/undefined-type.error.js +10 -0
  181. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +3 -0
  182. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +10 -0
  183. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +5 -0
  184. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +2 -0
  185. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +5 -0
  186. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +2 -0
  187. package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +11 -0
  188. package/dist/core/Nestjs/types/interfaces/complexity.interface.js +2 -0
  189. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +15 -0
  190. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +2 -0
  191. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +235 -0
  192. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +2 -0
  193. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +2 -0
  194. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +2 -0
  195. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +5 -0
  196. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +2 -0
  197. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +9 -0
  198. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +2 -0
  199. package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +5 -0
  200. package/dist/core/Nestjs/types/interfaces/type-options.interface.js +2 -0
  201. package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +15 -0
  202. package/dist/core/Nestjs/types/lazy-metadata.storage.js +67 -0
  203. package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +11 -0
  204. package/dist/core/Nestjs/types/metadata/class.metadata.js +2 -0
  205. package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +8 -0
  206. package/dist/core/Nestjs/types/metadata/directive.metadata.js +2 -0
  207. package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +11 -0
  208. package/dist/core/Nestjs/types/metadata/enum.metadata.js +2 -0
  209. package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +8 -0
  210. package/dist/core/Nestjs/types/metadata/extensions.metadata.js +2 -0
  211. package/dist/core/Nestjs/types/metadata/index.d.ts +8 -0
  212. package/dist/core/Nestjs/types/metadata/index.js +11 -0
  213. package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +6 -0
  214. package/dist/core/Nestjs/types/metadata/interface.metadata.js +2 -0
  215. package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +4 -0
  216. package/dist/core/Nestjs/types/metadata/object-type.metadata.js +2 -0
  217. package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +18 -0
  218. package/dist/core/Nestjs/types/metadata/param.metadata.js +2 -0
  219. package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +20 -0
  220. package/dist/core/Nestjs/types/metadata/property.metadata.js +2 -0
  221. package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +34 -0
  222. package/dist/core/Nestjs/types/metadata/resolver.metadata.js +2 -0
  223. package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +9 -0
  224. package/dist/core/Nestjs/types/metadata/union.metadata.js +2 -0
  225. package/dist/core/Nestjs/types/object-type.decorator.d.ts +8 -0
  226. package/dist/core/Nestjs/types/object-type.decorator.js +25 -0
  227. package/dist/core/Nestjs/types/omit-type.d.ts +2 -0
  228. package/dist/core/Nestjs/types/omit-type.js +34 -0
  229. package/dist/core/Nestjs/types/reflection.utils.d.ts +15 -0
  230. package/dist/core/Nestjs/types/reflection.utils.js +65 -0
  231. package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +4 -0
  232. package/dist/core/Nestjs/types/set-metadata.decorator.js +16 -0
  233. package/dist/core/Nestjs/types/type-metadata.storage.d.ts +69 -0
  234. package/dist/core/Nestjs/types/type-metadata.storage.js +342 -0
  235. package/dist/core/Nestjs/types/utils/enum.utils.d.ts +3 -0
  236. package/dist/core/Nestjs/types/utils/enum.utils.js +29 -0
  237. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +3 -0
  238. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +72 -0
  239. package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +2 -0
  240. package/dist/core/Nestjs/types/utils/mapped-types.utils.js +38 -0
  241. package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +6 -0
  242. package/dist/core/Nestjs/types/utils/model-properties-accessor.js +36 -0
  243. package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +2 -0
  244. package/dist/core/Nestjs/types/utils/type-helpers.utils.js +16 -0
  245. package/dist/core/types.d.ts +23 -0
  246. package/dist/core/types.js +29 -0
  247. package/dist/decorators.d.ts +47 -0
  248. package/dist/decorators.js +104 -0
  249. package/dist/generatorDatasource.d.ts +2 -0
  250. package/dist/generatorDatasource.js +12 -0
  251. package/dist/index.d.ts +29 -0
  252. package/dist/index.js +49 -0
  253. package/dist/loadRelations.d.ts +12 -0
  254. package/dist/loadRelations.js +133 -0
  255. package/dist/outputKeys.d.ts +2 -0
  256. package/dist/outputKeys.js +17 -0
  257. package/dist/tsconfig.tsbuildinfo +1 -0
  258. package/dist/types.d.ts +141 -0
  259. package/dist/types.js +22 -0
  260. package/package.json +1 -1
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMongoWhere = void 0;
4
+ const js_utils_1 = require("@goatlab/js-utils");
5
+ const clearEmpties_1 = require("../../util/clearEmpties");
6
+ const types_1 = require("../../../types");
7
+ const extractConditions_1 = require("../../util/extractConditions");
8
+ const getMongoWhere = ({ where }) => {
9
+ if (!where || Object.keys(where).length === 0) {
10
+ return {};
11
+ }
12
+ const Filters = {
13
+ filter: { $or: [{ $and: [] }] }
14
+ };
15
+ const orConditions = (0, extractConditions_1.extractConditions)(where['OR']);
16
+ const andConditions = (0, extractConditions_1.extractConditions)(where['AND']);
17
+ const copy = js_utils_1.Objects.clone(where);
18
+ if (!!copy['AND']) {
19
+ delete copy['AND'];
20
+ }
21
+ if (!!copy['OR']) {
22
+ delete copy['OR'];
23
+ }
24
+ const rootLevelConditions = (0, extractConditions_1.extractConditions)([copy]);
25
+ for (const condition of andConditions) {
26
+ let { element, operator, value } = condition;
27
+ if (element === 'id') {
28
+ element = '_id';
29
+ value = (Array.isArray(value)
30
+ ? value.map(v => js_utils_1.Ids.objectID(v))
31
+ : js_utils_1.Ids.objectID(value));
32
+ }
33
+ switch (operator) {
34
+ case types_1.LogicOperator.equals:
35
+ Filters.filter.$or[0].$and.push({ [element]: { $eq: value } });
36
+ break;
37
+ case types_1.LogicOperator.isNot:
38
+ Filters.filter.$or[0].$and.push({ [element]: { $neq: value } });
39
+ break;
40
+ case types_1.LogicOperator.greaterThan:
41
+ Filters.filter.$or[0].$and.push({ [element]: { $gt: value } });
42
+ break;
43
+ case types_1.LogicOperator.greaterOrEqualThan:
44
+ Filters.filter.$or[0].$and.push({ [element]: { $gte: value } });
45
+ break;
46
+ case types_1.LogicOperator.lessThan:
47
+ Filters.filter.$or[0].$and.push({ [element]: { $lt: value } });
48
+ break;
49
+ case types_1.LogicOperator.lessOrEqualThan:
50
+ Filters.filter.$or[0].$and.push({ [element]: { $lte: value } });
51
+ break;
52
+ case types_1.LogicOperator.in:
53
+ Filters.filter.$or[0].$and.push({ [element]: { $in: value } });
54
+ break;
55
+ case types_1.LogicOperator.notIn:
56
+ Filters.filter.$or[0].$and.push({
57
+ [element]: { $not: { $in: value } }
58
+ });
59
+ break;
60
+ case types_1.LogicOperator.exists:
61
+ Filters.filter.$or[0].$and.push({ [element]: { $exists: true } });
62
+ break;
63
+ case types_1.LogicOperator.notExists:
64
+ Filters.filter.$or[0].$and.push({ [element]: { $exists: false } });
65
+ break;
66
+ case types_1.LogicOperator.regexp:
67
+ Filters.filter.$or[0].$and.push({ [element]: { $regex: value } });
68
+ break;
69
+ }
70
+ }
71
+ for (const condition of rootLevelConditions) {
72
+ let { element, operator, value } = condition;
73
+ if (element === 'id') {
74
+ element = '_id';
75
+ value = (Array.isArray(value)
76
+ ? value.map(v => js_utils_1.Ids.objectID(v))
77
+ : js_utils_1.Ids.objectID(value));
78
+ }
79
+ switch (operator) {
80
+ case types_1.LogicOperator.equals:
81
+ Filters.filter.$or[0].$and.push({ [element]: { $eq: value } });
82
+ break;
83
+ case types_1.LogicOperator.isNot:
84
+ Filters.filter.$or[0].$and.push({ [element]: { $neq: value } });
85
+ break;
86
+ case types_1.LogicOperator.greaterThan:
87
+ Filters.filter.$or[0].$and.push({ [element]: { $gt: value } });
88
+ break;
89
+ case types_1.LogicOperator.greaterOrEqualThan:
90
+ Filters.filter.$or[0].$and.push({ [element]: { $gte: value } });
91
+ break;
92
+ case types_1.LogicOperator.lessThan:
93
+ Filters.filter.$or[0].$and.push({ [element]: { $lt: value } });
94
+ break;
95
+ case types_1.LogicOperator.lessOrEqualThan:
96
+ Filters.filter.$or[0].$and.push({ [element]: { $lte: value } });
97
+ break;
98
+ case types_1.LogicOperator.in:
99
+ Filters.filter.$or[0].$and.push({ [element]: { $in: value } });
100
+ break;
101
+ case types_1.LogicOperator.notIn:
102
+ Filters.filter.$or[0].$and.push({
103
+ [element]: { $not: { $in: value } }
104
+ });
105
+ break;
106
+ case types_1.LogicOperator.exists:
107
+ Filters.filter.$or[0].$and.push({ [element]: { $exists: true } });
108
+ break;
109
+ case types_1.LogicOperator.notExists:
110
+ Filters.filter.$or[0].$and.push({ [element]: { $exists: false } });
111
+ break;
112
+ case types_1.LogicOperator.regexp:
113
+ Filters.filter.$or[0].$and.push({ [element]: { $regex: value } });
114
+ break;
115
+ }
116
+ }
117
+ for (const condition of orConditions) {
118
+ let { element, operator, value } = condition;
119
+ if (element === 'id') {
120
+ element = '_id';
121
+ value = (Array.isArray(value)
122
+ ? value.map(v => js_utils_1.Ids.objectID(v))
123
+ : js_utils_1.Ids.objectID(value));
124
+ }
125
+ switch (operator) {
126
+ case types_1.LogicOperator.equals:
127
+ Filters.filter.$or.push({ [element]: { $eq: value } });
128
+ break;
129
+ case types_1.LogicOperator.isNot:
130
+ Filters.filter.$or.push({ [element]: { $neq: value } });
131
+ break;
132
+ case types_1.LogicOperator.greaterThan:
133
+ Filters.filter.$or.push({ [element]: { $gt: value } });
134
+ break;
135
+ case types_1.LogicOperator.greaterOrEqualThan:
136
+ Filters.filter.$or.push({ [element]: { $gte: value } });
137
+ break;
138
+ case types_1.LogicOperator.lessThan:
139
+ Filters.filter.$or.push({ [element]: { $lt: value } });
140
+ break;
141
+ case types_1.LogicOperator.lessOrEqualThan:
142
+ Filters.filter.$or.push({ [element]: { $lte: value } });
143
+ break;
144
+ case types_1.LogicOperator.in:
145
+ Filters.filter.$or.push({ [element]: { $in: value } });
146
+ break;
147
+ case types_1.LogicOperator.notIn:
148
+ Filters.filter.$or.push({
149
+ [element]: { $not: { $in: value } }
150
+ });
151
+ break;
152
+ case types_1.LogicOperator.exists:
153
+ Filters.filter.$or.push({ [element]: { $exists: true } });
154
+ break;
155
+ case types_1.LogicOperator.notExists:
156
+ Filters.filter.$or.push({ [element]: { $exists: false } });
157
+ break;
158
+ case types_1.LogicOperator.regexp:
159
+ Filters.filter.$or.push({ [element]: { $regex: value } });
160
+ break;
161
+ }
162
+ }
163
+ const filtered = (0, clearEmpties_1.clearEmpties)(Filters.filter);
164
+ return filtered;
165
+ };
166
+ exports.getMongoWhere = getMongoWhere;
@@ -0,0 +1,8 @@
1
+ import { SelectQueryBuilder } from 'typeorm';
2
+ import { AnyObject, FluentQuery } from '../../../types';
3
+ export interface getQueryBuilderWhereParams {
4
+ where?: FluentQuery<AnyObject>['where'];
5
+ queryBuilder: SelectQueryBuilder<any>;
6
+ queryAlias: string;
7
+ }
8
+ export declare const getQueryBuilderWhere: ({ where, queryAlias, queryBuilder }: getQueryBuilderWhereParams) => SelectQueryBuilder<any>;
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getQueryBuilderWhere = void 0;
4
+ const js_utils_1 = require("@goatlab/js-utils");
5
+ const typeorm_1 = require("typeorm");
6
+ const extractConditions_1 = require("../../util/extractConditions");
7
+ const types_1 = require("../../../types");
8
+ const queryId = js_utils_1.Ids.customId('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
9
+ const getQueryBuilderWhere = ({ where, queryAlias, queryBuilder }) => {
10
+ if (!where || Object.keys(where).length === 0) {
11
+ return queryBuilder;
12
+ }
13
+ const orConditions = (0, extractConditions_1.extractConditions)(where['OR']);
14
+ const andConditions = (0, extractConditions_1.extractConditions)(where['AND']);
15
+ const copy = js_utils_1.Objects.clone(where);
16
+ if (!!copy['AND']) {
17
+ delete copy['AND'];
18
+ }
19
+ if (!!copy['OR']) {
20
+ delete copy['OR'];
21
+ }
22
+ const rootLevelConditions = (0, extractConditions_1.extractConditions)([copy]);
23
+ queryBuilder.andWhere(new typeorm_1.Brackets(qbAnd => {
24
+ for (const condition of andConditions) {
25
+ const { element, operator, value } = condition;
26
+ const customId = queryId(4);
27
+ switch (operator) {
28
+ case types_1.LogicOperator.equals:
29
+ qbAnd.andWhere(`${queryAlias}.${element} = :${element}_${customId}`, {
30
+ [`${element}_${customId}`]: value
31
+ });
32
+ break;
33
+ case types_1.LogicOperator.isNot:
34
+ qbAnd.andWhere(`${queryAlias}.${element} != :${element}_${customId}`, {
35
+ [`${element}_${customId}`]: value
36
+ });
37
+ break;
38
+ case types_1.LogicOperator.greaterThan:
39
+ qbAnd.andWhere(`${queryAlias}.${element} > :${element}_${customId}`, {
40
+ [`${element}_${customId}`]: value
41
+ });
42
+ break;
43
+ case types_1.LogicOperator.greaterOrEqualThan:
44
+ qbAnd.andWhere(`${queryAlias}.${element} >= :${element}_${customId}`, {
45
+ [`${element}_${customId}`]: value
46
+ });
47
+ break;
48
+ case types_1.LogicOperator.lessThan:
49
+ qbAnd.andWhere(`${queryAlias}.${element} < :${element}_${customId}`, {
50
+ [`${element}_${customId}`]: value
51
+ });
52
+ break;
53
+ case types_1.LogicOperator.lessOrEqualThan:
54
+ qbAnd.andWhere(`${queryAlias}.${element} <= :${element}_${customId}`, {
55
+ [`${element}_${customId}`]: value
56
+ });
57
+ break;
58
+ case types_1.LogicOperator.in:
59
+ qbAnd.andWhere(`${queryAlias}.${element} IN :${element}_${customId}`, {
60
+ [`${element}_${customId}`]: value
61
+ });
62
+ break;
63
+ case types_1.LogicOperator.notIn:
64
+ qbAnd.andWhere(`${queryAlias}.${element} NOT IN :${element}_${customId}`, {
65
+ [`${element}_${customId}`]: value
66
+ });
67
+ break;
68
+ case types_1.LogicOperator.exists:
69
+ qbAnd.andWhere(`${queryAlias}.${element} IS NOT NULL`);
70
+ break;
71
+ case types_1.LogicOperator.notExists:
72
+ qbAnd.andWhere(`${queryAlias}.${element} IS NULL`);
73
+ break;
74
+ case types_1.LogicOperator.regexp:
75
+ qbAnd.andWhere(`${queryAlias}.${element} LIKE :${element}_${customId}`, {
76
+ [`${element}_${customId}`]: value
77
+ });
78
+ break;
79
+ }
80
+ }
81
+ for (const condition of rootLevelConditions) {
82
+ const { element, operator, value } = condition;
83
+ const customId = queryId(4);
84
+ switch (operator) {
85
+ case types_1.LogicOperator.equals:
86
+ qbAnd.andWhere(`${queryAlias}.${element} = :${element}_${customId}`, {
87
+ [`${element}_${customId}`]: value
88
+ });
89
+ break;
90
+ case types_1.LogicOperator.isNot:
91
+ qbAnd.andWhere(`${queryAlias}.${element} != :${element}_${customId}`, {
92
+ [`${element}_${customId}`]: value
93
+ });
94
+ break;
95
+ case types_1.LogicOperator.greaterThan:
96
+ qbAnd.andWhere(`${queryAlias}.${element} > :${element}_${customId}`, {
97
+ [`${element}_${customId}`]: value
98
+ });
99
+ break;
100
+ case types_1.LogicOperator.greaterOrEqualThan:
101
+ qbAnd.andWhere(`${queryAlias}.${element} >= :${element}_${customId}`, {
102
+ [`${element}_${customId}`]: value
103
+ });
104
+ break;
105
+ case types_1.LogicOperator.lessThan:
106
+ qbAnd.andWhere(`${queryAlias}.${element} < :${element}_${customId}`, {
107
+ [`${element}_${customId}`]: value
108
+ });
109
+ break;
110
+ case types_1.LogicOperator.lessOrEqualThan:
111
+ qbAnd.andWhere(`${queryAlias}.${element} <= :${element}_${customId}`, {
112
+ [`${element}_${customId}`]: value
113
+ });
114
+ break;
115
+ case types_1.LogicOperator.in:
116
+ qbAnd.andWhere(`${queryAlias}.${element} IN :${element}_${customId}`, {
117
+ [`${element}_${customId}`]: value
118
+ });
119
+ break;
120
+ case types_1.LogicOperator.notIn:
121
+ qbAnd.andWhere(`${queryAlias}.${element} NOT IN :${element}_${customId}`, {
122
+ [`${element}_${customId}`]: value
123
+ });
124
+ break;
125
+ case types_1.LogicOperator.exists:
126
+ qbAnd.andWhere(`${queryAlias}.${element} IS NOT NULL`);
127
+ break;
128
+ case types_1.LogicOperator.notExists:
129
+ qbAnd.andWhere(`${queryAlias}.${element} IS NULL`);
130
+ break;
131
+ case types_1.LogicOperator.regexp:
132
+ qbAnd.andWhere(`${queryAlias}.${element} LIKE :${element}_${customId}`, {
133
+ [`${element}_${customId}`]: value
134
+ });
135
+ break;
136
+ }
137
+ }
138
+ qbAnd.andWhere(new typeorm_1.Brackets(qbOr => {
139
+ for (const condition of orConditions) {
140
+ const { element, operator, value } = condition;
141
+ const customId = queryId(4);
142
+ switch (operator) {
143
+ case types_1.LogicOperator.equals:
144
+ qbOr.andWhere(`${queryAlias}.${element} = :${element}_${customId}`, {
145
+ [`${element}_${customId}`]: value
146
+ });
147
+ break;
148
+ case types_1.LogicOperator.isNot:
149
+ qbOr.andWhere(`${queryAlias}.${element} != :${element}_${customId}`, {
150
+ [`${element}_${customId}`]: value
151
+ });
152
+ break;
153
+ case types_1.LogicOperator.greaterThan:
154
+ qbOr.andWhere(`${queryAlias}.${element} > :${element}_${customId}`, {
155
+ [`${element}_${customId}`]: value
156
+ });
157
+ break;
158
+ case types_1.LogicOperator.greaterOrEqualThan:
159
+ qbOr.andWhere(`${queryAlias}.${element} >= :${element}_${customId}`, {
160
+ [`${element}_${customId}`]: value
161
+ });
162
+ break;
163
+ case types_1.LogicOperator.lessThan:
164
+ qbOr.andWhere(`${queryAlias}.${element} < :${element}_${customId}`, {
165
+ [`${element}_${customId}`]: value
166
+ });
167
+ break;
168
+ case types_1.LogicOperator.lessOrEqualThan:
169
+ qbOr.andWhere(`${queryAlias}.${element} <= :${element}_${customId}`, {
170
+ [`${element}_${customId}`]: value
171
+ });
172
+ break;
173
+ case types_1.LogicOperator.in:
174
+ qbOr.andWhere(`${queryAlias}.${element} IN :${element}_${customId}`, {
175
+ [`${element}_${customId}`]: value
176
+ });
177
+ break;
178
+ case types_1.LogicOperator.notIn:
179
+ qbOr.andWhere(`${queryAlias}.${element} NOT IN :${element}_${customId}`, {
180
+ [`${element}_${customId}`]: value
181
+ });
182
+ break;
183
+ case types_1.LogicOperator.exists:
184
+ qbOr.andWhere(`${queryAlias}.${element} IS NOT NULL`);
185
+ break;
186
+ case types_1.LogicOperator.notExists:
187
+ qbOr.andWhere(`${queryAlias}.${element} IS NULL`);
188
+ break;
189
+ case types_1.LogicOperator.regexp:
190
+ qbOr.andWhere(`${queryAlias}.${element} LIKE :${element}_${customId}`, {
191
+ [`${element}_${customId}`]: value
192
+ });
193
+ break;
194
+ }
195
+ }
196
+ }));
197
+ }));
198
+ return queryBuilder;
199
+ };
200
+ exports.getQueryBuilderWhere = getQueryBuilderWhere;
@@ -0,0 +1,6 @@
1
+ import { FindManyOptions } from 'typeorm';
2
+ import { AnyObject, FluentQuery } from '../../../types';
3
+ export interface getTypeOrmWhereParams {
4
+ where?: FluentQuery<AnyObject>['where'];
5
+ }
6
+ export declare const getTypeOrmWhere: ({ where }: getTypeOrmWhereParams) => FindManyOptions['where'];
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTypeOrmWhere = void 0;
4
+ const js_utils_1 = require("@goatlab/js-utils");
5
+ const typeorm_1 = require("typeorm");
6
+ const clearEmpties_1 = require("../..//util/clearEmpties");
7
+ const types_1 = require("../../../types");
8
+ const extractConditions_1 = require("../../util/extractConditions");
9
+ const getTypeOrmWhere = ({ where }) => {
10
+ if (!where || Object.keys(where).length === 0) {
11
+ return {};
12
+ }
13
+ const Filters = { where: [{}] };
14
+ const orConditions = (0, extractConditions_1.extractConditions)(where['OR']);
15
+ const andConditions = (0, extractConditions_1.extractConditions)(where['AND']);
16
+ const copy = js_utils_1.Objects.clone(where);
17
+ if (!!copy['AND']) {
18
+ delete copy['AND'];
19
+ }
20
+ if (!!copy['OR']) {
21
+ delete copy['OR'];
22
+ }
23
+ const rootLevelConditions = (0, extractConditions_1.extractConditions)([copy]);
24
+ for (const condition of andConditions) {
25
+ const { element, operator, value } = condition;
26
+ switch (operator) {
27
+ case types_1.LogicOperator.equals:
28
+ Filters.where[0] = js_utils_1.Objects.nest({
29
+ ...Filters.where[0],
30
+ ...{ [element]: (0, typeorm_1.Equal)(value) }
31
+ });
32
+ break;
33
+ case types_1.LogicOperator.isNot:
34
+ Filters.where[0] = js_utils_1.Objects.nest({
35
+ ...Filters.where[0],
36
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.Equal)(value)) }
37
+ });
38
+ break;
39
+ case types_1.LogicOperator.greaterThan:
40
+ Filters.where[0] = js_utils_1.Objects.nest({
41
+ ...Filters.where[0],
42
+ ...{ [element]: (0, typeorm_1.MoreThan)(value) }
43
+ });
44
+ break;
45
+ case types_1.LogicOperator.greaterOrEqualThan:
46
+ Filters.where[0] = js_utils_1.Objects.nest({
47
+ ...Filters.where[0],
48
+ ...{ [element]: (0, typeorm_1.MoreThanOrEqual)(value) }
49
+ });
50
+ break;
51
+ case types_1.LogicOperator.lessThan:
52
+ Filters.where[0] = js_utils_1.Objects.nest({
53
+ ...Filters.where[0],
54
+ ...{ [element]: (0, typeorm_1.LessThan)(value) }
55
+ });
56
+ break;
57
+ case types_1.LogicOperator.lessOrEqualThan:
58
+ Filters.where[0] = js_utils_1.Objects.nest({
59
+ ...Filters.where[0],
60
+ ...{ [element]: (0, typeorm_1.LessThanOrEqual)(value) }
61
+ });
62
+ break;
63
+ case types_1.LogicOperator.in:
64
+ Filters.where[0] = js_utils_1.Objects.nest({
65
+ ...Filters.where[0],
66
+ ...{ [element]: (0, typeorm_1.In)(value) }
67
+ });
68
+ break;
69
+ case types_1.LogicOperator.notIn:
70
+ Filters.where[0] = js_utils_1.Objects.nest({
71
+ ...Filters.where[0],
72
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.In)(value)) }
73
+ });
74
+ break;
75
+ case types_1.LogicOperator.exists:
76
+ Filters.where[0] = js_utils_1.Objects.nest({
77
+ ...Filters.where[0],
78
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) }
79
+ });
80
+ break;
81
+ case types_1.LogicOperator.notExists:
82
+ Filters.where[0] = js_utils_1.Objects.nest({
83
+ ...Filters.where[0],
84
+ ...{ [element]: (0, typeorm_1.IsNull)() }
85
+ });
86
+ break;
87
+ case types_1.LogicOperator.regexp:
88
+ Filters.where[0] = js_utils_1.Objects.nest({
89
+ ...Filters.where[0],
90
+ ...{ [element]: (0, typeorm_1.Like)(value) }
91
+ });
92
+ break;
93
+ }
94
+ }
95
+ for (const condition of rootLevelConditions) {
96
+ const { element, operator, value } = condition;
97
+ switch (operator) {
98
+ case types_1.LogicOperator.equals:
99
+ Filters.where[0] = js_utils_1.Objects.nest({
100
+ ...Filters.where[0],
101
+ ...{ [element]: (0, typeorm_1.Equal)(value) }
102
+ });
103
+ break;
104
+ case types_1.LogicOperator.isNot:
105
+ Filters.where[0] = js_utils_1.Objects.nest({
106
+ ...Filters.where[0],
107
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.Equal)(value)) }
108
+ });
109
+ break;
110
+ case types_1.LogicOperator.greaterThan:
111
+ Filters.where[0] = js_utils_1.Objects.nest({
112
+ ...Filters.where[0],
113
+ ...{ [element]: (0, typeorm_1.MoreThan)(value) }
114
+ });
115
+ break;
116
+ case types_1.LogicOperator.greaterOrEqualThan:
117
+ Filters.where[0] = js_utils_1.Objects.nest({
118
+ ...Filters.where[0],
119
+ ...{ [element]: (0, typeorm_1.MoreThanOrEqual)(value) }
120
+ });
121
+ break;
122
+ case types_1.LogicOperator.lessThan:
123
+ Filters.where[0] = js_utils_1.Objects.nest({
124
+ ...Filters.where[0],
125
+ ...{ [element]: (0, typeorm_1.LessThan)(value) }
126
+ });
127
+ break;
128
+ case types_1.LogicOperator.lessOrEqualThan:
129
+ Filters.where[0] = js_utils_1.Objects.nest({
130
+ ...Filters.where[0],
131
+ ...{ [element]: (0, typeorm_1.LessThanOrEqual)(value) }
132
+ });
133
+ break;
134
+ case types_1.LogicOperator.in:
135
+ Filters.where[0] = js_utils_1.Objects.nest({
136
+ ...Filters.where[0],
137
+ ...{ [element]: (0, typeorm_1.In)(value) }
138
+ });
139
+ break;
140
+ case types_1.LogicOperator.notIn:
141
+ Filters.where[0] = js_utils_1.Objects.nest({
142
+ ...Filters.where[0],
143
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.In)(value)) }
144
+ });
145
+ break;
146
+ case types_1.LogicOperator.exists:
147
+ Filters.where[0] = js_utils_1.Objects.nest({
148
+ ...Filters.where[0],
149
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) }
150
+ });
151
+ break;
152
+ case types_1.LogicOperator.notExists:
153
+ Filters.where[0] = js_utils_1.Objects.nest({
154
+ ...Filters.where[0],
155
+ ...{ [element]: (0, typeorm_1.IsNull)() }
156
+ });
157
+ break;
158
+ case types_1.LogicOperator.regexp:
159
+ Filters.where[0] = js_utils_1.Objects.nest({
160
+ ...Filters.where[0],
161
+ ...{ [element]: (0, typeorm_1.Like)(value) }
162
+ });
163
+ break;
164
+ }
165
+ }
166
+ for (const condition of orConditions) {
167
+ const { element, operator, value } = condition;
168
+ switch (operator) {
169
+ case types_1.LogicOperator.equals:
170
+ Filters.where.push({ [element]: (0, typeorm_1.Equal)(value) });
171
+ break;
172
+ case types_1.LogicOperator.isNot:
173
+ Filters.where.push({ [element]: (0, typeorm_1.Not)((0, typeorm_1.Equal)(value)) });
174
+ break;
175
+ case types_1.LogicOperator.greaterThan:
176
+ Filters.where.push({ [element]: (0, typeorm_1.MoreThan)(value) });
177
+ break;
178
+ case types_1.LogicOperator.greaterOrEqualThan:
179
+ Filters.where.push({ [element]: (0, typeorm_1.MoreThanOrEqual)(value) });
180
+ break;
181
+ case types_1.LogicOperator.lessThan:
182
+ Filters.where.push({ [element]: (0, typeorm_1.LessThan)(value) });
183
+ break;
184
+ case types_1.LogicOperator.lessOrEqualThan:
185
+ Filters.where.push({ [element]: (0, typeorm_1.LessThanOrEqual)(value) });
186
+ break;
187
+ case types_1.LogicOperator.in:
188
+ Filters.where.push({ [element]: (0, typeorm_1.In)(value) });
189
+ break;
190
+ case types_1.LogicOperator.notIn:
191
+ Filters.where.push({ [element]: (0, typeorm_1.Not)((0, typeorm_1.In)(value)) });
192
+ break;
193
+ case types_1.LogicOperator.exists:
194
+ Filters.where.push({ [element]: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) });
195
+ break;
196
+ case types_1.LogicOperator.notExists:
197
+ Filters.where.push({ [element]: (0, typeorm_1.IsNull)() });
198
+ break;
199
+ case types_1.LogicOperator.regexp:
200
+ Filters.where.push({ [element]: (0, typeorm_1.Like)(value) });
201
+ break;
202
+ }
203
+ }
204
+ const filtered = (0, clearEmpties_1.clearEmpties)(Filters.where);
205
+ return filtered;
206
+ };
207
+ exports.getTypeOrmWhere = getTypeOrmWhere;
@@ -0,0 +1 @@
1
+ export declare const advancedTestSuite: (Model: any) => void;