@goatlab/fluent 0.7.31 → 0.7.32

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 (262) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +0 -0
  3. package/package.json +34 -34
  4. package/dist/BaseConnector.d.ts +0 -43
  5. package/dist/BaseConnector.js +0 -257
  6. package/dist/Fluent.d.ts +0 -7
  7. package/dist/Fluent.js +0 -22
  8. package/dist/FluentConnectorInterface.d.ts +0 -17
  9. package/dist/FluentConnectorInterface.js +0 -2
  10. package/dist/FluentEntity.d.ts +0 -7
  11. package/dist/FluentEntity.js +0 -28
  12. package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +0 -39
  13. package/dist/TypeOrmConnector/TypeOrmConnector.js +0 -392
  14. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.d.ts +0 -7
  15. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js +0 -149
  16. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.d.ts +0 -6
  17. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js +0 -46
  18. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.d.ts +0 -4
  19. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.js +0 -19
  20. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.d.ts +0 -4
  21. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js +0 -12
  22. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.d.ts +0 -6
  23. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js +0 -166
  24. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.d.ts +0 -8
  25. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js +0 -200
  26. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.d.ts +0 -6
  27. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js +0 -207
  28. package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.d.ts +0 -1
  29. package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.js +0 -256
  30. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.d.ts +0 -116
  31. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +0 -74
  32. package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.d.ts +0 -5
  33. package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.js +0 -17
  34. package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.d.ts +0 -5
  35. package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.js +0 -17
  36. package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.d.ts +0 -5
  37. package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.js +0 -17
  38. package/dist/TypeOrmConnector/test/basic/basicTestSuite.d.ts +0 -1
  39. package/dist/TypeOrmConnector/test/basic/basicTestSuite.js +0 -193
  40. package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +0 -53
  41. package/dist/TypeOrmConnector/test/basic/goat.entity.js +0 -53
  42. package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.d.ts +0 -5
  43. package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.js +0 -16
  44. package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.d.ts +0 -5
  45. package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.js +0 -16
  46. package/dist/TypeOrmConnector/test/basic/goat.repository.d.ts +0 -5
  47. package/dist/TypeOrmConnector/test/basic/goat.repository.js +0 -16
  48. package/dist/TypeOrmConnector/test/dbEntities.d.ts +0 -6
  49. package/dist/TypeOrmConnector/test/dbEntities.js +0 -17
  50. package/dist/TypeOrmConnector/test/docker/docker.d.ts +0 -35
  51. package/dist/TypeOrmConnector/test/docker/docker.js +0 -148
  52. package/dist/TypeOrmConnector/test/docker/mongo.d.ts +0 -16
  53. package/dist/TypeOrmConnector/test/docker/mongo.js +0 -93
  54. package/dist/TypeOrmConnector/test/docker/mysql.d.ts +0 -17
  55. package/dist/TypeOrmConnector/test/docker/mysql.js +0 -132
  56. package/dist/TypeOrmConnector/test/flock.d.ts +0 -4
  57. package/dist/TypeOrmConnector/test/flock.js +0 -25
  58. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.d.ts +0 -10
  59. package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.js +0 -28
  60. package/dist/TypeOrmConnector/test/mongo/mongoDatasource.d.ts +0 -2
  61. package/dist/TypeOrmConnector/test/mongo/mongoDatasource.js +0 -12
  62. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.d.ts +0 -9
  63. package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.js +0 -25
  64. package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.d.ts +0 -6
  65. package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.js +0 -17
  66. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.d.ts +0 -10
  67. package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.js +0 -32
  68. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +0 -10
  69. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.js +0 -26
  70. package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.d.ts +0 -2
  71. package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.js +0 -16
  72. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.d.ts +0 -9
  73. package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.js +0 -25
  74. package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.d.ts +0 -6
  75. package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.js +0 -17
  76. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.d.ts +0 -10
  77. package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.js +0 -33
  78. package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +0 -7
  79. package/dist/TypeOrmConnector/test/relations/car/car.entity.js +0 -32
  80. package/dist/TypeOrmConnector/test/relations/car/car.output.schema.d.ts +0 -511
  81. package/dist/TypeOrmConnector/test/relations/car/car.output.schema.js +0 -8
  82. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.d.ts +0 -10
  83. package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +0 -26
  84. package/dist/TypeOrmConnector/test/relations/car/car.schema.d.ts +0 -15
  85. package/dist/TypeOrmConnector/test/relations/car/car.schema.js +0 -9
  86. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +0 -1
  87. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +0 -575
  88. package/dist/TypeOrmConnector/test/relations/roles/role.output.schema.d.ts +0 -152
  89. package/dist/TypeOrmConnector/test/relations/roles/role.output.schema.js +0 -14
  90. package/dist/TypeOrmConnector/test/relations/roles/role.schema.d.ts +0 -12
  91. package/dist/TypeOrmConnector/test/relations/roles/role.schema.js +0 -8
  92. package/dist/TypeOrmConnector/test/relations/roles/roles.entity.d.ts +0 -6
  93. package/dist/TypeOrmConnector/test/relations/roles/roles.entity.js +0 -29
  94. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.d.ts +0 -9
  95. package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +0 -25
  96. package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.d.ts +0 -5
  97. package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.js +0 -23
  98. package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.d.ts +0 -15
  99. package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.js +0 -9
  100. package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +0 -6
  101. package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.js +0 -17
  102. package/dist/TypeOrmConnector/test/relations/user/user.entity.d.ts +0 -14
  103. package/dist/TypeOrmConnector/test/relations/user/user.entity.js +0 -56
  104. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.d.ts +0 -10
  105. package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +0 -30
  106. package/dist/TypeOrmConnector/test/relations/user/user.schema.d.ts +0 -546
  107. package/dist/TypeOrmConnector/test/relations/user/user.schema.js +0 -67
  108. package/dist/TypeOrmConnector/test/sqlite/memoryDataSource.d.ts +0 -2
  109. package/dist/TypeOrmConnector/test/sqlite/memoryDataSource.js +0 -12
  110. package/dist/TypeOrmConnector/util/clearEmpties.d.ts +0 -1
  111. package/dist/TypeOrmConnector/util/clearEmpties.js +0 -25
  112. package/dist/TypeOrmConnector/util/extractConditions.d.ts +0 -6
  113. package/dist/TypeOrmConnector/util/extractConditions.js +0 -80
  114. package/dist/TypeOrmConnector/util/extractInclude.d.ts +0 -2
  115. package/dist/TypeOrmConnector/util/extractInclude.js +0 -25
  116. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.d.ts +0 -12
  117. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js +0 -42
  118. package/dist/TypeOrmConnector/util/extractOrderBy.d.ts +0 -4
  119. package/dist/TypeOrmConnector/util/extractOrderBy.js +0 -18
  120. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.d.ts +0 -19
  121. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js +0 -26
  122. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.d.ts +0 -1
  123. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js +0 -20
  124. package/dist/TypeOrmConnector/util/isAnyObject.d.ts +0 -1
  125. package/dist/TypeOrmConnector/util/isAnyObject.js +0 -7
  126. package/dist/TypeOrmConnector/util/nestQueryResults.d.ts +0 -2
  127. package/dist/TypeOrmConnector/util/nestQueryResults.js +0 -31
  128. package/dist/cache.d.ts +0 -9
  129. package/dist/cache.js +0 -43
  130. package/dist/core/Loopback/build-schema.d.ts +0 -31
  131. package/dist/core/Loopback/build-schema.js +0 -333
  132. package/dist/core/Loopback/common-types.d.ts +0 -36
  133. package/dist/core/Loopback/common-types.js +0 -13
  134. package/dist/core/Loopback/json-to-schema.d.ts +0 -6
  135. package/dist/core/Loopback/json-to-schema.js +0 -96
  136. package/dist/core/Loopback/mapValues.d.ts +0 -2
  137. package/dist/core/Loopback/mapValues.js +0 -835
  138. package/dist/core/Loopback/metadata.d.ts +0 -9
  139. package/dist/core/Loopback/metadata.js +0 -28
  140. package/dist/core/Loopback/model.d.ts +0 -87
  141. package/dist/core/Loopback/model.js +0 -244
  142. package/dist/core/Loopback/query.d.ts +0 -97
  143. package/dist/core/Loopback/query.js +0 -292
  144. package/dist/core/Loopback/relation.types.d.ts +0 -45
  145. package/dist/core/Loopback/relation.types.js +0 -13
  146. package/dist/core/Loopback/type-resolver.d.ts +0 -7
  147. package/dist/core/Loopback/type-resolver.js +0 -34
  148. package/dist/core/Loopback/type.d.ts +0 -9
  149. package/dist/core/Loopback/type.js +0 -2
  150. package/dist/core/Nestjs/applyDecorators.d.ts +0 -1
  151. package/dist/core/Nestjs/applyDecorators.js +0 -17
  152. package/dist/core/Nestjs/types/common.d.ts +0 -16
  153. package/dist/core/Nestjs/types/common.js +0 -37
  154. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +0 -1
  155. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +0 -7
  156. package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +0 -27
  157. package/dist/core/Nestjs/types/decorators/api-property.decorator.js +0 -65
  158. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +0 -5
  159. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +0 -131
  160. package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +0 -1
  161. package/dist/core/Nestjs/types/decorators/args-type.decorator.js +0 -19
  162. package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +0 -2
  163. package/dist/core/Nestjs/types/decorators/create-property.decorator.js +0 -55
  164. package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +0 -1
  165. package/dist/core/Nestjs/types/decorators/directive.decorator.js +0 -36
  166. package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +0 -1
  167. package/dist/core/Nestjs/types/decorators/extensions.decorator.js +0 -25
  168. package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +0 -15
  169. package/dist/core/Nestjs/types/decorators/field.decorator.js +0 -56
  170. package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +0 -7
  171. package/dist/core/Nestjs/types/decorators/input-type.decorator.js +0 -23
  172. package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +0 -9
  173. package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +0 -27
  174. package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +0 -3
  175. package/dist/core/Nestjs/types/decorators/partial-type.helper.js +0 -42
  176. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +0 -3
  177. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +0 -9
  178. package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +0 -3
  179. package/dist/core/Nestjs/types/errors/directive-parsing.error.js +0 -9
  180. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +0 -3
  181. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +0 -9
  182. package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +0 -3
  183. package/dist/core/Nestjs/types/errors/undefined-type.error.js +0 -10
  184. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +0 -3
  185. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +0 -10
  186. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +0 -5
  187. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +0 -2
  188. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +0 -5
  189. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +0 -2
  190. package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +0 -11
  191. package/dist/core/Nestjs/types/interfaces/complexity.interface.js +0 -2
  192. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +0 -15
  193. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +0 -2
  194. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +0 -235
  195. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +0 -2
  196. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +0 -2
  197. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +0 -2
  198. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +0 -5
  199. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +0 -2
  200. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +0 -9
  201. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +0 -2
  202. package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +0 -5
  203. package/dist/core/Nestjs/types/interfaces/type-options.interface.js +0 -2
  204. package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +0 -15
  205. package/dist/core/Nestjs/types/lazy-metadata.storage.js +0 -67
  206. package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +0 -11
  207. package/dist/core/Nestjs/types/metadata/class.metadata.js +0 -2
  208. package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +0 -8
  209. package/dist/core/Nestjs/types/metadata/directive.metadata.js +0 -2
  210. package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +0 -11
  211. package/dist/core/Nestjs/types/metadata/enum.metadata.js +0 -2
  212. package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +0 -8
  213. package/dist/core/Nestjs/types/metadata/extensions.metadata.js +0 -2
  214. package/dist/core/Nestjs/types/metadata/index.d.ts +0 -8
  215. package/dist/core/Nestjs/types/metadata/index.js +0 -11
  216. package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +0 -6
  217. package/dist/core/Nestjs/types/metadata/interface.metadata.js +0 -2
  218. package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +0 -4
  219. package/dist/core/Nestjs/types/metadata/object-type.metadata.js +0 -2
  220. package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +0 -18
  221. package/dist/core/Nestjs/types/metadata/param.metadata.js +0 -2
  222. package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +0 -20
  223. package/dist/core/Nestjs/types/metadata/property.metadata.js +0 -2
  224. package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +0 -34
  225. package/dist/core/Nestjs/types/metadata/resolver.metadata.js +0 -2
  226. package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +0 -9
  227. package/dist/core/Nestjs/types/metadata/union.metadata.js +0 -2
  228. package/dist/core/Nestjs/types/object-type.decorator.d.ts +0 -8
  229. package/dist/core/Nestjs/types/object-type.decorator.js +0 -25
  230. package/dist/core/Nestjs/types/omit-type.d.ts +0 -2
  231. package/dist/core/Nestjs/types/omit-type.js +0 -34
  232. package/dist/core/Nestjs/types/reflection.utils.d.ts +0 -15
  233. package/dist/core/Nestjs/types/reflection.utils.js +0 -65
  234. package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +0 -4
  235. package/dist/core/Nestjs/types/set-metadata.decorator.js +0 -16
  236. package/dist/core/Nestjs/types/type-metadata.storage.d.ts +0 -69
  237. package/dist/core/Nestjs/types/type-metadata.storage.js +0 -342
  238. package/dist/core/Nestjs/types/utils/enum.utils.d.ts +0 -3
  239. package/dist/core/Nestjs/types/utils/enum.utils.js +0 -29
  240. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +0 -3
  241. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +0 -72
  242. package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +0 -2
  243. package/dist/core/Nestjs/types/utils/mapped-types.utils.js +0 -38
  244. package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +0 -6
  245. package/dist/core/Nestjs/types/utils/model-properties-accessor.js +0 -36
  246. package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +0 -2
  247. package/dist/core/Nestjs/types/utils/type-helpers.utils.js +0 -16
  248. package/dist/core/types.d.ts +0 -23
  249. package/dist/core/types.js +0 -29
  250. package/dist/decorators.d.ts +0 -47
  251. package/dist/decorators.js +0 -104
  252. package/dist/generatorDatasource.d.ts +0 -2
  253. package/dist/generatorDatasource.js +0 -12
  254. package/dist/index.d.ts +0 -30
  255. package/dist/index.js +0 -49
  256. package/dist/loadRelations.d.ts +0 -12
  257. package/dist/loadRelations.js +0 -133
  258. package/dist/outputKeys.d.ts +0 -2
  259. package/dist/outputKeys.js +0 -17
  260. package/dist/tsconfig.tsbuildinfo +0 -1
  261. package/dist/types.d.ts +0 -141
  262. package/dist/types.js +0 -22
@@ -1,392 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypeOrmConnector = void 0;
4
- const tslib_1 = require("tslib");
5
- const js_utils_1 = require("@goatlab/js-utils");
6
- const BaseConnector_1 = require("../BaseConnector");
7
- const outputKeys_1 = require("../outputKeys");
8
- const generatorDatasource_1 = require("../generatorDatasource");
9
- const getMongoWhere_1 = require("./queryBuilder/mongodb/getMongoWhere");
10
- const getRelationsFromModelGenerator_1 = require("./util/getRelationsFromModelGenerator");
11
- const getMongoFindAggregatedQuery_1 = require("./queryBuilder/mongodb/getMongoFindAggregatedQuery");
12
- const extractInclude_1 = require("./util/extractInclude");
13
- const extractOrderBy_1 = require("./util/extractOrderBy");
14
- const getTypeOrmWhere_1 = require("./queryBuilder/sql/getTypeOrmWhere");
15
- const getQueryBuilderWhere_1 = require("./queryBuilder/sql/getQueryBuilderWhere");
16
- const clearEmpties_1 = require("./util/clearEmpties");
17
- class TypeOrmConnector extends BaseConnector_1.BaseConnector {
18
- constructor({ entity, dataSource, inputSchema, outputSchema }) {
19
- super();
20
- this.dataSource = dataSource;
21
- this.inputSchema = inputSchema;
22
- this.outputSchema =
23
- outputSchema || inputSchema;
24
- this.entity = entity;
25
- }
26
- initDB() {
27
- this.repository = this.dataSource.getRepository(this.entity);
28
- this.isMongoDB =
29
- this.repository.metadata.connection.driver.options.type === 'mongodb';
30
- if (this.isMongoDB) {
31
- this.repository = this.dataSource.getMongoRepository(this.entity);
32
- }
33
- const relationShipBuilder = generatorDatasource_1.modelGeneratorDataSource.getRepository(this.entity);
34
- const { relations } = (0, getRelationsFromModelGenerator_1.getRelationsFromModelGenerator)(relationShipBuilder);
35
- this.modelRelations = relations;
36
- this.outputKeys = (0, outputKeys_1.getOutputKeys)(relationShipBuilder) || [];
37
- return 1;
38
- }
39
- async insert(data) {
40
- this.initDB();
41
- const validatedData = this.inputSchema.parse(data);
42
- if (this.isMongoDB && validatedData['id']) {
43
- validatedData['_id'] = js_utils_1.Ids.objectID(validatedData['id']);
44
- delete validatedData['id'];
45
- }
46
- let datum = await this.repository.save(validatedData);
47
- if (this.isMongoDB) {
48
- datum['id'] = datum['id'].toString();
49
- }
50
- return this.outputSchema.parse((0, clearEmpties_1.clearEmpties)(js_utils_1.Objects.deleteNulls(datum)));
51
- }
52
- async insertMany(data) {
53
- this.initDB();
54
- const validatedData = this.inputSchema.array().parse(data);
55
- const inserted = await this.repository.save(validatedData, {
56
- chunk: data.length / 300
57
- });
58
- return this.outputSchema.array().parse(inserted.map(d => {
59
- if (this.isMongoDB) {
60
- d['id'] = d['id'].toString();
61
- }
62
- return (0, clearEmpties_1.clearEmpties)(js_utils_1.Objects.deleteNulls(d));
63
- }));
64
- }
65
- async findMany(query) {
66
- this.initDB();
67
- const requiresCustomQuery = query?.include && Object.keys(query.include).length;
68
- if (this.isMongoDB) {
69
- const results = await this.customMongoRelatedFind(query);
70
- return results;
71
- }
72
- if (requiresCustomQuery) {
73
- const { queryBuilder: customQuery, selectedKeys } = this.customTypeOrmRelatedFind({
74
- fluentQuery: query
75
- });
76
- customQuery.select(selectedKeys);
77
- let [result, count] = await customQuery.getManyAndCount();
78
- return result;
79
- }
80
- const generatedQuery = this.generateTypeOrmQuery(query);
81
- let [found, count] = await this.repository.findAndCount(generatedQuery);
82
- found.map(d => {
83
- if (this.isMongoDB) {
84
- d['id'] = d['_id'].toString();
85
- }
86
- (0, clearEmpties_1.clearEmpties)(js_utils_1.Objects.deleteNulls(d));
87
- });
88
- if (query?.paginated) {
89
- const paginationInfo = {
90
- total: count,
91
- perPage: query.paginated.perPage,
92
- currentPage: query.paginated.page,
93
- nextPage: query.paginated.page + 1,
94
- firstPage: 1,
95
- lastPage: Math.ceil(count / query.paginated.perPage),
96
- prevPage: query.paginated.page === 1 ? null : query.paginated.page - 1,
97
- from: (query.paginated.page - 1) * query.paginated.perPage + 1,
98
- to: query.paginated.perPage * query.paginated.page,
99
- data: found
100
- };
101
- return paginationInfo;
102
- }
103
- if (query?.select) {
104
- return found;
105
- }
106
- return this.outputSchema?.array().parse(found);
107
- }
108
- async updateById(id, data) {
109
- this.initDB();
110
- const dataToInsert = this.outputKeys.includes('updated')
111
- ? {
112
- ...data,
113
- ...{ updated: new Date() }
114
- }
115
- : data;
116
- const validatedData = this.inputSchema.parse(dataToInsert);
117
- await this.repository.update(id, validatedData);
118
- return (await this.requireById(id));
119
- }
120
- async replaceById(id, data) {
121
- this.initDB();
122
- const idFieldName = this.isMongoDB ? '_id' : 'id';
123
- const value = this.requireById(id);
124
- const flatValue = js_utils_1.Objects.flatten(JSON.parse(JSON.stringify(value)));
125
- Object.keys(flatValue).forEach(key => {
126
- flatValue[key] = null;
127
- });
128
- const nullObject = js_utils_1.Objects.nest(flatValue);
129
- const newValue = { ...nullObject, ...data };
130
- delete newValue._id;
131
- delete newValue.id;
132
- delete newValue.created;
133
- delete newValue.updated;
134
- const dataToInsert = this.outputKeys.includes('updated')
135
- ? {
136
- ...data,
137
- ...{ updated: new Date() }
138
- }
139
- : data;
140
- const validatedData = this.inputSchema.parse(dataToInsert);
141
- await this.repository.update(id, validatedData);
142
- return (await this.requireById(id));
143
- }
144
- async deleteById(id) {
145
- this.initDB();
146
- const parsedId = this.isMongoDB
147
- ? js_utils_1.Ids.objectID(id)
148
- : id;
149
- await this.repository.delete(parsedId);
150
- return id;
151
- }
152
- async clear() {
153
- this.initDB();
154
- await this.repository.clear();
155
- return true;
156
- }
157
- loadFirst(query) {
158
- this.initDB();
159
- const newInstance = this.clone();
160
- newInstance.setRelatedQuery({
161
- entity: this.entity,
162
- repository: this,
163
- query: {
164
- ...query,
165
- limit: 1
166
- }
167
- });
168
- return newInstance;
169
- }
170
- loadById(id) {
171
- this.initDB();
172
- const newInstance = this.clone();
173
- newInstance.setRelatedQuery({
174
- entity: this.entity,
175
- repository: this,
176
- query: {
177
- where: {
178
- id
179
- }
180
- }
181
- });
182
- return newInstance;
183
- }
184
- raw() {
185
- this.initDB();
186
- return this.repository;
187
- }
188
- mongoRaw() {
189
- this.initDB();
190
- return this.repository;
191
- }
192
- clone() {
193
- this.initDB();
194
- return new this.constructor();
195
- }
196
- generateTypeOrmQuery(query) {
197
- let filter = {};
198
- filter.where = this.isMongoDB
199
- ? (0, getMongoWhere_1.getMongoWhere)({
200
- where: query?.where
201
- })
202
- : (0, getTypeOrmWhere_1.getTypeOrmWhere)({
203
- where: query?.where
204
- });
205
- filter.take = query?.limit;
206
- filter.skip = query?.offset;
207
- if (query?.paginated) {
208
- filter.take = query.paginated.perPage;
209
- filter.skip = (query.paginated?.page - 1) * query?.paginated.perPage;
210
- }
211
- if (query?.select) {
212
- const selectQuery = js_utils_1.Objects.flatten(query?.select || {});
213
- filter.select = selectQuery;
214
- }
215
- if (query?.orderBy) {
216
- filter.order = (0, extractOrderBy_1.extractOrderBy)(query.orderBy);
217
- }
218
- if (query?.include) {
219
- filter.relations = (0, extractInclude_1.extractInclude)(query.include);
220
- }
221
- return filter;
222
- }
223
- customTypeOrmRelatedFind({ fluentQuery: query, queryBuilder, targetFluentRepository, alias, isLeftJoin }) {
224
- const queryAlias = alias || queryBuilder?.alias || `${this.repository.metadata.tableName}`;
225
- let customQuery = queryBuilder || this.raw().createQueryBuilder(queryAlias);
226
- const self = targetFluentRepository || this;
227
- if (!isLeftJoin) {
228
- customQuery = (0, getQueryBuilderWhere_1.getQueryBuilderWhere)({
229
- queryBuilder: customQuery,
230
- queryAlias,
231
- where: query?.where
232
- });
233
- }
234
- const { queryBuilder: qb, selectedKeys } = this.getTypeOrmQueryBuilderSubqueries({
235
- queryBuilder: customQuery,
236
- selfReference: targetFluentRepository,
237
- include: query?.include,
238
- leftTableAlias: alias
239
- });
240
- customQuery = qb;
241
- const extraKeys = this.getTypeOrmQueryBuilderSelect(queryAlias, self, query?.select);
242
- const keySet = new Set([...selectedKeys, ...extraKeys]);
243
- return {
244
- queryBuilder: customQuery,
245
- selectedKeys: Array.from(keySet)
246
- };
247
- }
248
- getTypeOrmQueryBuilderSelect(queryAlias, self, select) {
249
- const selected = js_utils_1.Objects.flatten(select || {});
250
- const selectedKeys = [];
251
- const iterableKeys = Object.keys(selected).length
252
- ? Object.keys(selected)
253
- : self.outputKeys || [];
254
- const baseNestedKeys = new Set();
255
- for (const key of iterableKeys) {
256
- const keyArray = key.split('.');
257
- if (keyArray.length <= 1) {
258
- continue;
259
- }
260
- const total = keyArray.length;
261
- for (const [index, val] of keyArray.entries()) {
262
- if (total === index + 1) {
263
- continue;
264
- }
265
- let excludedField = '';
266
- if (excludedField) {
267
- excludedField = `${excludedField}.${excludedField}${val}`;
268
- }
269
- excludedField = `${excludedField}${val}`;
270
- baseNestedKeys.add(excludedField);
271
- }
272
- }
273
- for (const k of iterableKeys) {
274
- const field = k.includes('.') ? js_utils_1.Strings.camel(`${k}`) : k;
275
- const search = `${queryAlias}.${field}`;
276
- let isNestedRelation = false;
277
- for (const item of k.split('.')) {
278
- if (!!self[item]) {
279
- isNestedRelation = true;
280
- break;
281
- }
282
- }
283
- if (!!self[field] || !!self[queryAlias] || isNestedRelation) {
284
- continue;
285
- }
286
- if (baseNestedKeys.has(field)) {
287
- continue;
288
- }
289
- selectedKeys.push(search);
290
- }
291
- return selectedKeys;
292
- }
293
- getTypeOrmQueryBuilderSubqueries({ queryBuilder, selfReference, include, leftTableAlias }) {
294
- const selectedKeys = [];
295
- if (!include) {
296
- return { queryBuilder, selectedKeys };
297
- }
298
- for (const relation of Object.keys(include)) {
299
- const self = selfReference || this;
300
- const dbRelation = self.modelRelations[relation];
301
- const newSelf = self[relation]();
302
- const fluentRelatedQuery = include[relation] === true ? {} : include[relation];
303
- if (!dbRelation) {
304
- throw new Error(`The relation ${relation} is not properly defined. Check your entity and repository`);
305
- }
306
- const selectedKeysArray = fluentRelatedQuery.select
307
- ? Object.keys(js_utils_1.Objects.flatten(fluentRelatedQuery.select))
308
- : [];
309
- if (dbRelation.isManyToOne) {
310
- const leftSideTableName = leftTableAlias || queryBuilder.alias;
311
- const leftSideForeignKey = `${leftSideTableName}.${dbRelation.joinColumns[0].propertyPath}`;
312
- const rightSideTableName = `${leftSideTableName}_${relation}`;
313
- const rightSidePrimaryKey = `${rightSideTableName}.id`;
314
- const keys = new Set(selectedKeysArray.map(k => `${rightSideTableName}.${k}`));
315
- selectedKeys.push(...Array.from(keys));
316
- const shallowQuery = { ...fluentRelatedQuery };
317
- delete shallowQuery['include'];
318
- const { queryBuilder: leftJoinBuilder, selectedKeys: deepkeys } = this.customTypeOrmRelatedFind({
319
- queryBuilder: this.raw().createQueryBuilder(rightSideTableName),
320
- fluentQuery: shallowQuery,
321
- targetFluentRepository: newSelf,
322
- alias: rightSideTableName
323
- });
324
- selectedKeys.push(...deepkeys);
325
- const joinQuery = leftJoinBuilder.getQuery().split('WHERE');
326
- const customLeftJoin = joinQuery && joinQuery[1] ? joinQuery[1].trim() : '1=1';
327
- const leftJoinParams = leftJoinBuilder.getParameters();
328
- queryBuilder.leftJoinAndMapOne(`${leftSideTableName}.${relation}`, dbRelation.targetClass, rightSideTableName, `(${leftSideForeignKey} = ${rightSidePrimaryKey} AND ${customLeftJoin} )`, leftJoinParams);
329
- const { queryBuilder: qb, selectedKeys: k } = this.customTypeOrmRelatedFind({
330
- queryBuilder,
331
- fluentQuery: fluentRelatedQuery,
332
- targetFluentRepository: newSelf,
333
- alias: rightSideTableName,
334
- isLeftJoin: true
335
- });
336
- selectedKeys.push(...k);
337
- queryBuilder = qb;
338
- }
339
- if (dbRelation.isOneToMany) {
340
- const leftSideTableName = leftTableAlias || queryBuilder.alias;
341
- const leftSidePrimaryKey = `${leftSideTableName}.id`;
342
- const rightSideTableName = `${leftSideTableName}_${relation}`;
343
- const rightSideForeignKey = `${rightSideTableName}.${dbRelation.inverseSidePropertyPath}`;
344
- const keys = new Set(selectedKeysArray.map(k => `${rightSideTableName}.${k}`));
345
- selectedKeys.push(...Array.from(keys));
346
- const shallowQuery = { ...fluentRelatedQuery };
347
- delete shallowQuery['include'];
348
- const { queryBuilder: leftJoinBuilder, selectedKeys: deepKeys } = this.customTypeOrmRelatedFind({
349
- queryBuilder: this.raw().createQueryBuilder(rightSideTableName),
350
- fluentQuery: shallowQuery,
351
- targetFluentRepository: newSelf,
352
- alias: rightSideTableName
353
- });
354
- selectedKeys.push(...deepKeys);
355
- const joinQuery = leftJoinBuilder.getQuery().split('WHERE');
356
- const customLeftJoin = joinQuery && joinQuery[1] ? joinQuery[1].trim() : '1=1';
357
- const leftJoinParams = leftJoinBuilder.getParameters();
358
- queryBuilder.leftJoinAndMapMany(`${leftSideTableName}.${relation}`, dbRelation.targetClass, rightSideTableName, `(${leftSidePrimaryKey} = ${rightSideForeignKey} AND ${customLeftJoin} )`, leftJoinParams);
359
- const { queryBuilder: q, selectedKeys: k } = this.customTypeOrmRelatedFind({
360
- queryBuilder,
361
- fluentQuery: fluentRelatedQuery,
362
- targetFluentRepository: newSelf,
363
- alias: rightSideTableName,
364
- isLeftJoin: true
365
- });
366
- selectedKeys.push(...k);
367
- queryBuilder = q;
368
- }
369
- }
370
- return { queryBuilder, selectedKeys };
371
- }
372
- async customMongoRelatedFind(query) {
373
- const aggregate = (0, getMongoFindAggregatedQuery_1.getMongoFindAggregatedQuery)({
374
- query,
375
- self: this
376
- });
377
- const raw = await this.mongoRaw().aggregate(aggregate).toArray();
378
- if (query?.select) {
379
- return this.outputSchema['deepPartial']()
380
- .array()
381
- .parse(raw);
382
- }
383
- return this.outputSchema?.array().parse(raw);
384
- }
385
- }
386
- tslib_1.__decorate([
387
- js_utils_1.Memo.syncMethod(),
388
- tslib_1.__metadata("design:type", Function),
389
- tslib_1.__metadata("design:paramtypes", []),
390
- tslib_1.__metadata("design:returntype", void 0)
391
- ], TypeOrmConnector.prototype, "initDB", null);
392
- exports.TypeOrmConnector = TypeOrmConnector;
@@ -1,7 +0,0 @@
1
- import { AnyObject, FluentQuery } from '../../../types';
2
- export interface getMongoBaseAggregationParams {
3
- include: FluentQuery<AnyObject>['include'];
4
- self: any;
5
- alias?: string;
6
- }
7
- export declare const getMongoBaseAggregation: ({ include, self }: getMongoBaseAggregationParams) => any[];
@@ -1,149 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMongoBaseAggregation = void 0;
4
- const getMongoWhere_1 = require("./getMongoWhere");
5
- const getMongoBaseAggregation = ({ include, self }) => {
6
- self.initDB();
7
- if (!include) {
8
- return [];
9
- }
10
- const modelRelations = self.modelRelations;
11
- const aggregations = [];
12
- for (const relation of Object.keys(include)) {
13
- if (!modelRelations[relation]) {
14
- continue;
15
- }
16
- const innerLookups = [];
17
- const dbRelation = modelRelations[relation];
18
- if (include[relation]['include']) {
19
- const newSelf = self[relation] && self[relation]();
20
- const innerRelations = (0, exports.getMongoBaseAggregation)({
21
- include: include[relation]['include'],
22
- self: newSelf
23
- });
24
- innerLookups.push(...innerRelations);
25
- }
26
- const where = (0, getMongoWhere_1.getMongoWhere)({
27
- where: include[relation]['where']
28
- });
29
- if (dbRelation.isManyToOne) {
30
- const localField = dbRelation.joinColumns[0].propertyPath;
31
- aggregations.push({
32
- $addFields: {
33
- [`${localField}_object`]: { $toObjectId: `$${localField}` }
34
- }
35
- });
36
- aggregations.push({ $addFields: { id: { $toString: '$_id' } } });
37
- aggregations.push({
38
- $lookup: {
39
- from: dbRelation.tableName,
40
- localField: `${localField}_object`,
41
- foreignField: '_id',
42
- as: dbRelation.propertyName,
43
- pipeline: [
44
- {
45
- $match: where
46
- },
47
- { $addFields: { id: { $toString: '$_id' } } },
48
- ...innerLookups
49
- ]
50
- }
51
- });
52
- aggregations.push({
53
- $unwind: {
54
- path: `$${dbRelation.propertyName}`,
55
- preserveNullAndEmptyArrays: true
56
- }
57
- });
58
- }
59
- if (dbRelation.isOneToMany) {
60
- aggregations.push({ $addFields: { string_id: { $toString: '$_id' } } });
61
- aggregations.push({ $addFields: { id: { $toString: '$_id' } } });
62
- aggregations.push({
63
- $lookup: {
64
- from: dbRelation.tableName,
65
- localField: 'string_id',
66
- foreignField: dbRelation.inverseSidePropertyPath,
67
- as: dbRelation.propertyName,
68
- pipeline: [
69
- {
70
- $match: where
71
- },
72
- { $addFields: { id: { $toString: '$_id' } } },
73
- ...innerLookups
74
- ]
75
- }
76
- });
77
- }
78
- if (dbRelation.isManyToMany) {
79
- const relatedTableName = dbRelation.tableName;
80
- const pivotTableName = dbRelation.joinColumns[0].relationMetadata.joinTableName;
81
- const pivotForeignField = dbRelation.joinColumns[0].propertyPath;
82
- const inverseForeignField = dbRelation.inverseJoinColumns[0].propertyPath;
83
- if (!relatedTableName ||
84
- !pivotTableName ||
85
- !pivotForeignField ||
86
- !inverseForeignField) {
87
- throw new Error(`Your many to many relation is not properly set up. Please check both your models and schema for relation: ${relation}`);
88
- }
89
- aggregations.push({ $addFields: { id: { $toString: '$_id' } } });
90
- aggregations.push({
91
- $addFields: { parent_string_id: { $toString: '$_id' } }
92
- });
93
- aggregations.push({
94
- $lookup: {
95
- from: pivotTableName,
96
- localField: 'parent_string_id',
97
- foreignField: pivotForeignField,
98
- as: dbRelation.propertyName,
99
- pipeline: [
100
- { $addFields: { id: { $toString: '$_id' } } },
101
- {
102
- $addFields: {
103
- [`${inverseForeignField}_object`]: {
104
- $toObjectId: `$${inverseForeignField}`
105
- }
106
- }
107
- },
108
- {
109
- $lookup: {
110
- from: relatedTableName,
111
- localField: `${inverseForeignField}_object`,
112
- foreignField: '_id',
113
- pipeline: [
114
- {
115
- $match: where
116
- },
117
- { $addFields: { id: { $toString: '$_id' } } }
118
- ],
119
- as: dbRelation.propertyName
120
- }
121
- },
122
- {
123
- $unwind: {
124
- path: `$${dbRelation.propertyName}`,
125
- preserveNullAndEmptyArrays: true
126
- }
127
- },
128
- {
129
- $project: {
130
- [dbRelation.propertyName]: `$${dbRelation.propertyName}`,
131
- pivot: '$$ROOT'
132
- }
133
- },
134
- {
135
- $replaceRoot: {
136
- newRoot: {
137
- $mergeObjects: ['$$ROOT', `$${dbRelation.propertyName}`]
138
- }
139
- }
140
- },
141
- { $project: { [dbRelation.propertyName]: 0 } }
142
- ]
143
- }
144
- });
145
- }
146
- }
147
- return aggregations;
148
- };
149
- exports.getMongoBaseAggregation = getMongoBaseAggregation;
@@ -1,6 +0,0 @@
1
- import { FluentQuery } from '../../../types';
2
- export declare type getFindAggregateQueryParams<T extends FluentQuery<any>> = {
3
- query?: T;
4
- self?: any;
5
- };
6
- export declare const getMongoFindAggregatedQuery: ({ query, self }: getFindAggregateQueryParams<any>) => any[];
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMongoFindAggregatedQuery = void 0;
4
- const getMongoBaseAggregations_1 = require("./getMongoBaseAggregations");
5
- const getMongoOrderBy_1 = require("./getMongoOrderBy");
6
- const getMongoSelect_1 = require("./getMongoSelect");
7
- const getMongoWhere_1 = require("./getMongoWhere");
8
- const getMongoFindAggregatedQuery = ({ query, self }) => {
9
- self.initDB();
10
- const selected = (0, getMongoSelect_1.getMongoSelect)(query?.select);
11
- const orderBy = (0, getMongoOrderBy_1.getMongoOrderBy)(query?.orderBy);
12
- const where = (0, getMongoWhere_1.getMongoWhere)({
13
- where: query?.where
14
- });
15
- const baseAggregations = (0, getMongoBaseAggregations_1.getMongoBaseAggregation)({
16
- include: query?.include,
17
- self
18
- });
19
- const aggregate = [
20
- {
21
- $match: where
22
- }
23
- ];
24
- if (orderBy) {
25
- aggregate.push(orderBy);
26
- }
27
- if (!query?.include) {
28
- aggregate.push({ $addFields: { id: { $toString: '$_id' } } });
29
- }
30
- if (query?.offset) {
31
- aggregate.push({ $skip: query?.offset });
32
- }
33
- if (query?.limit) {
34
- aggregate.push({ $limit: query.limit });
35
- }
36
- for (const lookup of baseAggregations) {
37
- aggregate.push(lookup);
38
- }
39
- if (selected && Object.keys(selected).length) {
40
- aggregate.push({
41
- $project: selected
42
- });
43
- }
44
- return aggregate;
45
- };
46
- exports.getMongoFindAggregatedQuery = getMongoFindAggregatedQuery;
@@ -1,4 +0,0 @@
1
- import { FluentQuery } from '../../../types';
2
- export declare const getMongoOrderBy: (orderBy?: FluentQuery<any>['orderBy']) => {
3
- $sort: {};
4
- } | undefined;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMongoOrderBy = void 0;
4
- const extractOrderBy_1 = require("../../util/extractOrderBy");
5
- const getMongoOrderBy = (orderBy) => {
6
- if (!orderBy) {
7
- return undefined;
8
- }
9
- const order = (0, extractOrderBy_1.extractOrderBy)(orderBy);
10
- const sort = {
11
- $sort: {}
12
- };
13
- for (const key of Object.keys(order)) {
14
- const val = order[key];
15
- sort.$sort[key] = val === 'asc' ? 1 : -1;
16
- }
17
- return sort;
18
- };
19
- exports.getMongoOrderBy = getMongoOrderBy;
@@ -1,4 +0,0 @@
1
- import { FluentQuery } from '../../../types';
2
- export declare const getMongoSelect: (select: FluentQuery<any>['select']) => {
3
- [key: string]: any;
4
- };
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMongoSelect = void 0;
4
- const js_utils_1 = require("@goatlab/js-utils");
5
- const getMongoSelect = (select) => {
6
- const selected = js_utils_1.Objects.flatten(select || {});
7
- for (const k of Object.keys(selected)) {
8
- selected[k] = 1;
9
- }
10
- return selected;
11
- };
12
- exports.getMongoSelect = getMongoSelect;
@@ -1,6 +0,0 @@
1
- import { FindManyOptions } from 'typeorm';
2
- import { AnyObject, FluentQuery } from '../../../types';
3
- export interface getTypeOrmMongoWhereParams {
4
- where?: FluentQuery<AnyObject>['where'];
5
- }
6
- export declare const getMongoWhere: ({ where }: getTypeOrmMongoWhereParams) => FindManyOptions['where'];