@goatlab/fluent 0.7.31 → 0.7.33

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,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractConditions = void 0;
4
- const js_utils_1 = require("@goatlab/js-utils");
5
- const types_1 = require("../../types");
6
- const isAnyObject_1 = require("./isAnyObject");
7
- const extractConditions = (conditions) => {
8
- const accumulatedClauses = [];
9
- if (!conditions) {
10
- return accumulatedClauses;
11
- }
12
- for (const clause of conditions) {
13
- if (!clause) {
14
- continue;
15
- }
16
- for (const el of Object.keys(clause)) {
17
- const value = clause[el];
18
- if ((0, isAnyObject_1.isAnyObject)(value)) {
19
- const initialKey = el;
20
- const flatten = js_utils_1.Objects.flatten(value);
21
- for (const key of Object.keys(flatten)) {
22
- const transformedKey = key.replace(new RegExp('.[0-9]', 'g'), '');
23
- if (types_1.LogicOperator[transformedKey]) {
24
- if (types_1.LogicOperator[transformedKey] === types_1.LogicOperator.in ||
25
- types_1.LogicOperator[transformedKey] === types_1.LogicOperator.notIn) {
26
- accumulatedClauses.push({
27
- operator: types_1.LogicOperator[transformedKey],
28
- element: `${initialKey}`,
29
- value: value[transformedKey]
30
- });
31
- }
32
- else {
33
- accumulatedClauses.push({
34
- operator: types_1.LogicOperator[transformedKey],
35
- element: `${initialKey}`,
36
- value: flatten[key]
37
- });
38
- }
39
- }
40
- else if (transformedKey.includes('.')) {
41
- const op = key.split('.').slice(-1).pop();
42
- if (!op) {
43
- continue;
44
- }
45
- if (types_1.LogicOperator[op]) {
46
- accumulatedClauses.push({
47
- operator: types_1.LogicOperator[op],
48
- element: `${initialKey}.${key.replace(`.${op}`, '')}`,
49
- value: flatten[key]
50
- });
51
- }
52
- else {
53
- accumulatedClauses.push({
54
- operator: types_1.LogicOperator.equals,
55
- element: `${initialKey}.${key}`,
56
- value: flatten[key]
57
- });
58
- }
59
- }
60
- else {
61
- accumulatedClauses.push({
62
- operator: types_1.LogicOperator.equals,
63
- element: `${initialKey}.${transformedKey}`,
64
- value: flatten[key]
65
- });
66
- }
67
- }
68
- }
69
- else {
70
- accumulatedClauses.push({
71
- operator: types_1.LogicOperator.equals,
72
- element: el,
73
- value
74
- });
75
- }
76
- }
77
- }
78
- return accumulatedClauses.filter((v, i, a) => a.findIndex(v2 => JSON.stringify(v2) === JSON.stringify(v)) === i);
79
- };
80
- exports.extractConditions = extractConditions;
@@ -1,2 +0,0 @@
1
- import { AnyObject, FluentQuery } from '../../types';
2
- export declare const extractInclude: <T>(include?: import("../../types").QueryIncludeRelation<T> | undefined) => AnyObject | undefined;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractInclude = void 0;
4
- const js_utils_1 = require("@goatlab/js-utils");
5
- const extractInclude = (include) => {
6
- if (!include) {
7
- return undefined;
8
- }
9
- const flatten = js_utils_1.Objects.flatten(include);
10
- const extractedInclude = {};
11
- for (const key of Object.keys(flatten)) {
12
- if (key.includes('include')) {
13
- const parsedKey = key.split('.include');
14
- let acc = '';
15
- for (const entity of parsedKey) {
16
- extractedInclude[`${acc}${entity}`] = true;
17
- acc = acc + entity;
18
- }
19
- continue;
20
- }
21
- extractedInclude[key] = true;
22
- }
23
- return extractedInclude;
24
- };
25
- exports.extractInclude = extractInclude;
@@ -1,12 +0,0 @@
1
- export interface KeysMetadata {
2
- keyName: string;
3
- nestableKey: string;
4
- relation?: string;
5
- parentRelation?: string;
6
- level?: number;
7
- cardinality?: string;
8
- }
9
- export interface KeysMetadataResponse {
10
- [key: string]: KeysMetadata;
11
- }
12
- export declare const extractMetadataFromKeys: (keys: string[]) => KeysMetadataResponse;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractMetadataFromKeys = void 0;
4
- const extractMetadataFromKeys = (keys) => {
5
- const keyToNestedKeyMap = {};
6
- for (const key of keys) {
7
- const preAttributeIndex = key.lastIndexOf('_');
8
- const fullTableAlias = key.slice(0, preAttributeIndex).replace('_', '');
9
- const keyName = key.slice(preAttributeIndex + 1, key.length);
10
- const flattened = fullTableAlias
11
- .replace(/___XXManyToOneXX/g, '')
12
- .replace(/___XXOneToManyXX/g, '')
13
- .replace(/___/g, '.')
14
- .replace('__', '.')
15
- .replace('.XXOneToManyXX', '');
16
- const possibleCurrentTableKey = key.lastIndexOf('___');
17
- const relation = possibleCurrentTableKey <= 0
18
- ? undefined
19
- : key.slice(possibleCurrentTableKey + 3, preAttributeIndex);
20
- const possibleParentTableKeyInit = key.lastIndexOf('___XX');
21
- const possibleParentTableKeyEnd = key.lastIndexOf('XX__');
22
- const cardinality = key.slice(possibleParentTableKeyInit, possibleParentTableKeyEnd) ||
23
- undefined;
24
- const parentRelationKey = key
25
- .substring(0, possibleParentTableKeyInit)
26
- .lastIndexOf('___');
27
- const parentRelation = key
28
- .substring(parentRelationKey, possibleParentTableKeyInit)
29
- .replace(/___/g, '') || undefined;
30
- var level = (key.match(/XX___/g) || []).length;
31
- keyToNestedKeyMap[key] = {
32
- keyName,
33
- nestableKey: `${flattened}.${keyName}`,
34
- relation,
35
- parentRelation,
36
- level,
37
- cardinality: cardinality && cardinality.replace(/XX/g, '').replace(/___/g, '')
38
- };
39
- }
40
- return keyToNestedKeyMap;
41
- };
42
- exports.extractMetadataFromKeys = extractMetadataFromKeys;
@@ -1,4 +0,0 @@
1
- import { FluentQuery } from '../../types';
2
- export declare const extractOrderBy: <T>(orderBy?: Partial<{ [K in keyof import("../../types").Concrete<T>]: import("../../types").Concrete<T>[K] extends object ? Partial<Partial<{ [K_1 in keyof import("../../types").Concrete<import("../../types").Concrete<T>[K]>]: import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1] extends object ? Partial<Partial<{ [K_2 in keyof import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>]: import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2] extends object ? Partial<Partial<{ [K_3 in keyof import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>]: import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3] extends object ? Partial<Partial<{ [K_4 in keyof import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>]: import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4] extends object ? Partial<Partial<{ [K_5 in keyof import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4]>]: import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4]>[K_5] extends object ? Partial<Partial<{ [K_6 in keyof import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4]>[K_5]>]: import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4]>[K_5]>[K_6] extends object ? Partial<Partial<{ [K_7 in keyof import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>]: import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7] extends object ? Partial<Partial<{ [K_8 in keyof import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>]: import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8] extends object ? Partial<Partial<{ [K_9 in keyof import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>]: import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<import("../../types").Concrete<T>[K]>[K_1]>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9] extends object ? any : "asc" | "desc" | undefined; }>> : "asc" | "desc" | undefined; }>> : "asc" | "desc" | undefined; }>> : "asc" | "desc" | undefined; }>> : "asc" | "desc" | undefined; }>> : "asc" | "desc" | undefined; }>> : "asc" | "desc" | undefined; }>> : "asc" | "desc" | undefined; }>> : "asc" | "desc" | undefined; }>> : "asc" | "desc" | undefined; }>[] | undefined) => {
3
- [key: string]: any;
4
- };
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractOrderBy = void 0;
4
- const js_utils_1 = require("@goatlab/js-utils");
5
- const extractOrderBy = (orderBy) => {
6
- if (!orderBy || !Array.isArray(orderBy) || orderBy.length === 0) {
7
- return {};
8
- }
9
- const order = {};
10
- for (const orderElement of orderBy) {
11
- const flattenOrder = js_utils_1.Objects.flatten(orderElement);
12
- for (const k of Object.keys(flattenOrder)) {
13
- order[k] = flattenOrder[k];
14
- }
15
- }
16
- return js_utils_1.Objects.nest(order);
17
- };
18
- exports.extractOrderBy = extractOrderBy;
@@ -1,19 +0,0 @@
1
- import { Repository } from 'typeorm';
2
- export interface GeneratedModelRelations {
3
- relations: {
4
- [key: string]: {
5
- isOneToMany: boolean;
6
- isManyToOne: boolean;
7
- isManyToMany: boolean;
8
- inverseSidePropertyRelationPath?: string;
9
- inverseSidePropertyPath?: string;
10
- propertyName: string;
11
- entityName: string;
12
- tableName: string;
13
- targetClass: string;
14
- joinColumns: any[];
15
- inverseJoinColumns: any[];
16
- };
17
- };
18
- }
19
- export declare const getRelationsFromModelGenerator: (typeOrmRepo: Repository<any>) => GeneratedModelRelations;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRelationsFromModelGenerator = void 0;
4
- const getRelationsFromModelGenerator = (typeOrmRepo) => {
5
- const relations = {};
6
- for (const relation of typeOrmRepo.metadata.relations) {
7
- const pPath = relation.inverseRelation?.joinColumns[0];
8
- relations[relation.propertyName] = {
9
- isOneToMany: relation.isOneToMany,
10
- isManyToOne: relation.isManyToOne,
11
- isManyToMany: relation.isManyToMany,
12
- inverseSidePropertyRelationPath: relation.inverseSidePropertyPath,
13
- inverseSidePropertyPath: pPath?.propertyPath,
14
- propertyName: relation.propertyName,
15
- entityName: relation.inverseEntityMetadata.name,
16
- tableName: relation.inverseEntityMetadata.tableName,
17
- targetClass: relation.inverseEntityMetadata.target,
18
- joinColumns: relation.joinColumns,
19
- inverseJoinColumns: relation.inverseJoinColumns
20
- };
21
- }
22
- return {
23
- relations
24
- };
25
- };
26
- exports.getRelationsFromModelGenerator = getRelationsFromModelGenerator;
@@ -1 +0,0 @@
1
- export declare const getSelectedKeysFromRawSql: (sql: string) => string[];
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSelectedKeysFromRawSql = void 0;
4
- const getSelectedKeysFromRawSql = (sql) => {
5
- const possibleKeys = sql.split('AS');
6
- const keys = new Set([]);
7
- for (const stringKey of possibleKeys) {
8
- if (stringKey.includes('SELECT')) {
9
- const key = stringKey.split('"')[1];
10
- if (key.includes('___') || !key.includes('_')) {
11
- continue;
12
- }
13
- keys.add(key.replace('_id', 'id').replace('_', '.'));
14
- continue;
15
- }
16
- keys.add(stringKey.split('"')[1].replace('_id', 'id').replace('_', '.'));
17
- }
18
- return Array.from(keys);
19
- };
20
- exports.getSelectedKeysFromRawSql = getSelectedKeysFromRawSql;
@@ -1 +0,0 @@
1
- export declare const isAnyObject: (val: any) => boolean;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAnyObject = void 0;
4
- const isAnyObject = (val) => {
5
- return typeof val === 'object' && !Array.isArray(val) && val !== null;
6
- };
7
- exports.isAnyObject = isAnyObject;
@@ -1,2 +0,0 @@
1
- import { AnyObject } from '../../types';
2
- export declare const nestQueryResults: (results: AnyObject[], keyToNestedKeyMap: AnyObject) => AnyObject[];
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nestQueryResults = void 0;
4
- const js_utils_1 = require("@goatlab/js-utils");
5
- const nestQueryResults = (results, keyToNestedKeyMap) => {
6
- let nestableObject = {};
7
- let currentLevel = 0;
8
- for (const key of Object.keys(keyToNestedKeyMap)) {
9
- if (!key.endsWith('_id')) {
10
- continue;
11
- }
12
- const currentLevelMetadata = keyToNestedKeyMap[key];
13
- currentLevel = currentLevelMetadata.level;
14
- const grouped = js_utils_1.Arrays.groupBy(results, r => r[key]);
15
- const resultCount = Object.keys(grouped)?.length || 0;
16
- for (const [index, k] of Object.keys(grouped).entries()) {
17
- const prefixindex = currentLevelMetadata.nestableKey.lastIndexOf('.');
18
- const prefix = currentLevelMetadata.nestableKey.substring(0, prefixindex);
19
- const currentIndex = `${prefix}.${index}.${currentLevelMetadata.keyName}`;
20
- const results = grouped[k];
21
- console.log(currentLevelMetadata);
22
- if (currentLevelMetadata.level === currentLevel) {
23
- nestableObject[`${currentIndex}`] = k;
24
- }
25
- for (const result of results) {
26
- }
27
- }
28
- }
29
- return results;
30
- };
31
- exports.nestQueryResults = nestQueryResults;
package/dist/cache.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import Keyv from 'keyv';
2
- export declare class Cache extends Keyv {
3
- has(key: string): Promise<boolean>;
4
- remember(key: string, ms: number, fx: () => Promise<any>): Promise<any>;
5
- rememberForever(key: string, fx: () => Promise<any>): Promise<any>;
6
- pull(key: string): Promise<any>;
7
- forget(key: string): Promise<boolean>;
8
- flush(): Promise<void>;
9
- }
package/dist/cache.js DELETED
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Cache = void 0;
4
- const tslib_1 = require("tslib");
5
- const keyv_1 = tslib_1.__importDefault(require("keyv"));
6
- class Cache extends keyv_1.default {
7
- async has(key) {
8
- const value = await this.get(key);
9
- return value ? true : false;
10
- }
11
- async remember(key, ms, fx) {
12
- const value = await this.get(key);
13
- if (value) {
14
- return value;
15
- }
16
- const result = await fx();
17
- await this.set(key, result, ms);
18
- return result;
19
- }
20
- async rememberForever(key, fx) {
21
- const value = await this.get(key);
22
- if (value) {
23
- return value;
24
- }
25
- const result = await fx();
26
- await this.set(key, result);
27
- return result;
28
- }
29
- async pull(key) {
30
- const value = await this.get(key);
31
- if (value) {
32
- this.delete(key);
33
- }
34
- return value;
35
- }
36
- async forget(key) {
37
- return await this.delete(key);
38
- }
39
- async flush() {
40
- return await this.clear();
41
- }
42
- }
43
- exports.Cache = Cache;
@@ -1,31 +0,0 @@
1
- import { MetadataAccessor } from '@loopback/metadata';
2
- import { SchemaObject as JsonSchema } from 'openapi3-ts';
3
- import { RelationMetadata } from './relation.types';
4
- import { PropertyDefinition, PropertyType } from './model';
5
- export declare const JSON_SCHEMA_KEY: MetadataAccessor<{
6
- [key: string]: JsonSchema;
7
- }, ClassDecorator>;
8
- export interface JsonSchemaOptions<T extends object> {
9
- title?: string;
10
- includeRelations?: boolean;
11
- partial?: boolean | 'deep';
12
- exclude?: (keyof T)[];
13
- optional?: (keyof T)[];
14
- visited?: {
15
- [key: string]: JsonSchema;
16
- };
17
- }
18
- export declare function buildModelCacheKey<T extends object>(options?: JsonSchemaOptions<T>): string;
19
- export declare function getJsonSchema<T extends object>(ctor: Function & {
20
- prototype: T;
21
- }, options?: JsonSchemaOptions<T>): JsonSchema;
22
- export declare function getJsonSchemaRef<T extends object>(modelCtor: Function & {
23
- prototype: T;
24
- }, options?: JsonSchemaOptions<T>): JsonSchema;
25
- export declare function stringTypeToWrapper(type: string | Function): Function;
26
- export declare function isArrayType(type: string | Function | PropertyType): boolean;
27
- export declare function metaToJsonProperty(meta: PropertyDefinition): JsonSchema;
28
- export declare function getNavigationalPropertyForRelation(relMeta: RelationMetadata, targetRef: JsonSchema): JsonSchema;
29
- export declare function modelToJsonSchema<T extends object>(ctor: Function & {
30
- prototype: T;
31
- }, jsonSchemaOptions?: JsonSchemaOptions<T>): JsonSchema;