@goatlab/fluent 0.7.4 → 0.7.9

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 (273) hide show
  1. package/dist/{BaseConnector.d.ts → fluent/src/BaseConnector.d.ts} +8 -31
  2. package/dist/{BaseConnector.js → fluent/src/BaseConnector.js} +11 -104
  3. package/dist/{Fluent.d.ts → fluent/src/Fluent.d.ts} +0 -0
  4. package/dist/{Fluent.js → fluent/src/Fluent.js} +0 -0
  5. package/dist/fluent/src/FluentConnectorInterface.d.ts +17 -0
  6. package/dist/{core/Loopback/type.js → fluent/src/FluentConnectorInterface.js} +0 -0
  7. package/dist/{FluentEntity.d.ts → fluent/src/FluentEntity.d.ts} +0 -0
  8. package/dist/{FluentEntity.js → fluent/src/FluentEntity.js} +0 -0
  9. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/TypeOrmConnector.d.ts +8 -12
  10. package/dist/fluent/src/TypeOrmConnector/TypeOrmConnector.js +397 -0
  11. package/dist/fluent/src/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.d.ts +7 -0
  12. package/dist/fluent/src/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js +148 -0
  13. package/dist/fluent/src/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.d.ts +6 -0
  14. package/dist/fluent/src/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js +34 -0
  15. package/dist/fluent/src/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.d.ts +4 -0
  16. package/dist/fluent/src/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js +12 -0
  17. package/dist/fluent/src/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.d.ts +6 -0
  18. package/dist/fluent/src/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js +166 -0
  19. package/dist/fluent/src/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.d.ts +8 -0
  20. package/dist/fluent/src/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js +200 -0
  21. package/dist/fluent/src/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.d.ts +6 -0
  22. package/dist/fluent/src/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js +207 -0
  23. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/advanced/advancedTestSuite.d.ts +0 -0
  24. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/advanced/advancedTestSuite.js +0 -0
  25. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/advanced/typeOrm.entity.d.ts +0 -0
  26. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/advanced/typeOrm.entity.js +0 -0
  27. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/advanced/typeOrm.mongo.repository.d.ts +0 -0
  28. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/advanced/typeOrm.mongo.repository.js +0 -0
  29. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/advanced/typeOrm.mysql.repository.d.ts +0 -0
  30. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/advanced/typeOrm.mysql.repository.js +0 -0
  31. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/advanced/typeOrm.repository.d.ts +0 -0
  32. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/advanced/typeOrm.repository.js +0 -0
  33. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/basic/basicTestSuite.d.ts +0 -0
  34. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/basic/basicTestSuite.js +0 -0
  35. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/basic/goat.entity.d.ts +3 -3
  36. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/basic/goat.entity.js +1 -1
  37. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/basic/goat.mongo.repository.d.ts +0 -0
  38. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/basic/goat.mongo.repository.js +0 -0
  39. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/basic/goat.mysql.repository.d.ts +0 -0
  40. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/basic/goat.mysql.repository.js +0 -0
  41. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/basic/goat.repository.d.ts +0 -0
  42. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/basic/goat.repository.js +0 -0
  43. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/dbEntities.d.ts +0 -0
  44. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/dbEntities.js +0 -0
  45. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/docker/docker.d.ts +1 -1
  46. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/docker/docker.js +3 -4
  47. package/dist/fluent/src/TypeOrmConnector/test/docker/mongo.d.ts +16 -0
  48. package/dist/fluent/src/TypeOrmConnector/test/docker/mongo.js +93 -0
  49. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/docker/mysql.d.ts +0 -0
  50. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/docker/mysql.js +1 -1
  51. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/flock.d.ts +0 -0
  52. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/flock.js +0 -0
  53. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mongo/car.mongo.repository.d.ts +4 -2
  54. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mongo/car.mongo.repository.js +6 -1
  55. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mongo/mongoDatasource.d.ts +0 -0
  56. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mongo/mongoDatasource.js +0 -0
  57. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mongo/roles.mongo.repository.d.ts +3 -2
  58. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mongo/roles.mongo.repository.js +3 -1
  59. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mongo/roles_user.mongo.repository.d.ts +0 -0
  60. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mongo/roles_user.mongo.repository.js +0 -0
  61. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mongo/user.mongo.repository.d.ts +2 -2
  62. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mongo/user.mongo.repository.js +2 -1
  63. package/dist/fluent/src/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +10 -0
  64. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mysql/car.mysql.repository.js +10 -1
  65. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mysql/mysqlDataSource.d.ts +0 -0
  66. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mysql/mysqlDataSource.js +1 -1
  67. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mysql/roles.mysql.repository.d.ts +3 -2
  68. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mysql/roles.mysql.repository.js +3 -1
  69. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mysql/roles_user.mysql.repository.d.ts +0 -0
  70. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mysql/roles_user.mysql.repository.js +0 -0
  71. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mysql/user.mysql.repository.d.ts +2 -2
  72. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/mysql/user.mysql.repository.js +2 -1
  73. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/car/car.entity.d.ts +0 -1
  74. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/car/car.entity.js +0 -8
  75. package/dist/fluent/src/TypeOrmConnector/test/relations/car/car.output.schema.d.ts +511 -0
  76. package/dist/fluent/src/TypeOrmConnector/test/relations/car/car.output.schema.js +8 -0
  77. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/car/car.repositoryTypeOrm.d.ts +4 -2
  78. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/car/car.repositoryTypeOrm.js +6 -1
  79. package/dist/fluent/src/TypeOrmConnector/test/relations/car/car.schema.d.ts +15 -0
  80. package/dist/fluent/src/TypeOrmConnector/test/relations/car/car.schema.js +9 -0
  81. package/dist/fluent/src/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +1 -0
  82. package/dist/fluent/src/TypeOrmConnector/test/relations/relationsTestsSuite.js +549 -0
  83. package/dist/fluent/src/TypeOrmConnector/test/relations/roles/role.output.schema.d.ts +152 -0
  84. package/dist/fluent/src/TypeOrmConnector/test/relations/roles/role.output.schema.js +14 -0
  85. package/dist/fluent/src/TypeOrmConnector/test/relations/roles/role.schema.d.ts +12 -0
  86. package/dist/fluent/src/TypeOrmConnector/test/relations/roles/role.schema.js +8 -0
  87. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/roles/roles.entity.d.ts +0 -0
  88. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/roles/roles.entity.js +0 -0
  89. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/roles/roles.repositoryTypeOrm.d.ts +3 -2
  90. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/roles/roles.repositoryTypeOrm.js +3 -1
  91. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/roles/roles_user.entity.d.ts +0 -0
  92. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/roles/roles_user.entity.js +0 -0
  93. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/roles/roles_user.schema.d.ts +0 -0
  94. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/roles/roles_user.schema.js +0 -0
  95. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +0 -0
  96. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/roles/roles_users.repositoryTypeOrm.js +0 -0
  97. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/user/user.entity.d.ts +0 -0
  98. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/user/user.entity.js +0 -0
  99. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/user/user.repositoryTypeOrm.d.ts +2 -2
  100. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/relations/user/user.repositoryTypeOrm.js +2 -1
  101. package/dist/fluent/src/TypeOrmConnector/test/relations/user/user.schema.d.ts +546 -0
  102. package/dist/fluent/src/TypeOrmConnector/test/relations/user/user.schema.js +67 -0
  103. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/sqlite/memoryDataSource.d.ts +0 -0
  104. package/dist/{TypeOrmConnector → fluent/src/TypeOrmConnector}/test/sqlite/memoryDataSource.js +0 -0
  105. package/dist/fluent/src/TypeOrmConnector/util/clearEmpties.d.ts +1 -0
  106. package/dist/fluent/src/TypeOrmConnector/util/clearEmpties.js +25 -0
  107. package/dist/fluent/src/TypeOrmConnector/util/extractConditions.d.ts +6 -0
  108. package/dist/fluent/src/TypeOrmConnector/util/extractConditions.js +80 -0
  109. package/dist/fluent/src/TypeOrmConnector/util/extractInclude.d.ts +2 -0
  110. package/dist/fluent/src/TypeOrmConnector/util/extractInclude.js +25 -0
  111. package/dist/fluent/src/TypeOrmConnector/util/extractMetadataFromKeys.d.ts +12 -0
  112. package/dist/fluent/src/TypeOrmConnector/util/extractMetadataFromKeys.js +42 -0
  113. package/dist/fluent/src/TypeOrmConnector/util/extractOrderBy.d.ts +4 -0
  114. package/dist/fluent/src/TypeOrmConnector/util/extractOrderBy.js +18 -0
  115. package/dist/fluent/src/TypeOrmConnector/util/getRelationsFromModelGenerator.d.ts +19 -0
  116. package/dist/fluent/src/TypeOrmConnector/util/getRelationsFromModelGenerator.js +26 -0
  117. package/dist/fluent/src/TypeOrmConnector/util/getSelectedKeysFromRawSql.d.ts +1 -0
  118. package/dist/fluent/src/TypeOrmConnector/util/getSelectedKeysFromRawSql.js +20 -0
  119. package/dist/fluent/src/TypeOrmConnector/util/isAnyObject.d.ts +1 -0
  120. package/dist/fluent/src/TypeOrmConnector/util/isAnyObject.js +7 -0
  121. package/dist/fluent/src/TypeOrmConnector/util/nestQueryResults.d.ts +2 -0
  122. package/dist/fluent/src/TypeOrmConnector/util/nestQueryResults.js +31 -0
  123. package/dist/{cache.d.ts → fluent/src/cache.d.ts} +0 -0
  124. package/dist/{cache.js → fluent/src/cache.js} +0 -0
  125. package/dist/{core → fluent/src/core}/Loopback/build-schema.d.ts +0 -0
  126. package/dist/{core → fluent/src/core}/Loopback/build-schema.js +0 -0
  127. package/dist/{core → fluent/src/core}/Loopback/common-types.d.ts +0 -0
  128. package/dist/{core → fluent/src/core}/Loopback/common-types.js +0 -0
  129. package/dist/{core → fluent/src/core}/Loopback/json-to-schema.d.ts +0 -0
  130. package/dist/{core → fluent/src/core}/Loopback/json-to-schema.js +0 -0
  131. package/dist/{core → fluent/src/core}/Loopback/mapValues.d.ts +0 -0
  132. package/dist/{core → fluent/src/core}/Loopback/mapValues.js +0 -0
  133. package/dist/{core → fluent/src/core}/Loopback/metadata.d.ts +0 -0
  134. package/dist/{core → fluent/src/core}/Loopback/metadata.js +0 -0
  135. package/dist/{core → fluent/src/core}/Loopback/model.d.ts +0 -0
  136. package/dist/{core → fluent/src/core}/Loopback/model.js +0 -0
  137. package/dist/{core → fluent/src/core}/Loopback/query.d.ts +0 -0
  138. package/dist/{core → fluent/src/core}/Loopback/query.js +0 -0
  139. package/dist/{core → fluent/src/core}/Loopback/relation.types.d.ts +0 -0
  140. package/dist/{core → fluent/src/core}/Loopback/relation.types.js +0 -0
  141. package/dist/{core → fluent/src/core}/Loopback/type-resolver.d.ts +0 -0
  142. package/dist/{core → fluent/src/core}/Loopback/type-resolver.js +0 -0
  143. package/dist/{core → fluent/src/core}/Loopback/type.d.ts +0 -0
  144. package/dist/{core/Nestjs/types/interfaces/base-type-options.interface.js → fluent/src/core/Loopback/type.js} +0 -0
  145. package/dist/{core → fluent/src/core}/Nestjs/applyDecorators.d.ts +0 -0
  146. package/dist/{core → fluent/src/core}/Nestjs/applyDecorators.js +0 -0
  147. package/dist/{core → fluent/src/core}/Nestjs/types/common.d.ts +0 -0
  148. package/dist/{core → fluent/src/core}/Nestjs/types/common.js +0 -0
  149. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/api-hide-property.decorator.d.ts +0 -0
  150. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/api-hide-property.decorator.js +0 -0
  151. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/api-property.decorator.d.ts +0 -0
  152. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/api-property.decorator.js +0 -0
  153. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +0 -0
  154. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/apply-is-optional.decorator.js +0 -0
  155. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/args-type.decorator.d.ts +0 -0
  156. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/args-type.decorator.js +0 -0
  157. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/create-property.decorator.d.ts +0 -0
  158. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/create-property.decorator.js +0 -0
  159. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/directive.decorator.d.ts +0 -0
  160. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/directive.decorator.js +0 -0
  161. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/extensions.decorator.d.ts +0 -0
  162. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/extensions.decorator.js +0 -0
  163. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/field.decorator.d.ts +0 -0
  164. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/field.decorator.js +0 -0
  165. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/input-type.decorator.d.ts +0 -0
  166. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/input-type.decorator.js +0 -0
  167. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/interface-type.decorator.d.ts +0 -0
  168. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/interface-type.decorator.js +0 -0
  169. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/partial-type.helper.d.ts +0 -0
  170. package/dist/{core → fluent/src/core}/Nestjs/types/decorators/partial-type.helper.js +0 -0
  171. package/dist/{core → fluent/src/core}/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +0 -0
  172. package/dist/{core → fluent/src/core}/Nestjs/types/errors/cannot-determine-host-type.error.js +0 -0
  173. package/dist/{core → fluent/src/core}/Nestjs/types/errors/directive-parsing.error.d.ts +0 -0
  174. package/dist/{core → fluent/src/core}/Nestjs/types/errors/directive-parsing.error.js +0 -0
  175. package/dist/{core → fluent/src/core}/Nestjs/types/errors/unable-to-find-fields.error.d.ts +0 -0
  176. package/dist/{core → fluent/src/core}/Nestjs/types/errors/unable-to-find-fields.error.js +0 -0
  177. package/dist/{core → fluent/src/core}/Nestjs/types/errors/undefined-type.error.d.ts +0 -0
  178. package/dist/{core → fluent/src/core}/Nestjs/types/errors/undefined-type.error.js +0 -0
  179. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +0 -0
  180. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/add-class-type-metadata.util.js +0 -0
  181. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/base-type-options.interface.d.ts +0 -0
  182. package/dist/{core/Nestjs/types/interfaces/class-decorator-factory.interface.js → fluent/src/core/Nestjs/types/interfaces/base-type-options.interface.js} +0 -0
  183. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +0 -0
  184. package/dist/{core/Nestjs/types/interfaces/complexity.interface.js → fluent/src/core/Nestjs/types/interfaces/class-decorator-factory.interface.js} +0 -0
  185. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/complexity.interface.d.ts +0 -0
  186. package/dist/{core/Nestjs/types/interfaces/field-middleware.interface.js → fluent/src/core/Nestjs/types/interfaces/complexity.interface.js} +0 -0
  187. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/field-middleware.interface.d.ts +0 -0
  188. package/dist/{core/Nestjs/types/interfaces/open-api-spec.interface.js → fluent/src/core/Nestjs/types/interfaces/field-middleware.interface.js} +0 -0
  189. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/open-api-spec.interface.d.ts +0 -0
  190. package/dist/{core/Nestjs/types/interfaces/resolve-type-fn.interface.js → fluent/src/core/Nestjs/types/interfaces/open-api-spec.interface.js} +0 -0
  191. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +0 -0
  192. package/dist/{core/Nestjs/types/interfaces/return-type-func.interface.js → fluent/src/core/Nestjs/types/interfaces/resolve-type-fn.interface.js} +0 -0
  193. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/return-type-func.interface.d.ts +0 -0
  194. package/dist/{core/Nestjs/types/interfaces/schema-object-metadata.interface.js → fluent/src/core/Nestjs/types/interfaces/return-type-func.interface.js} +0 -0
  195. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +0 -0
  196. package/dist/{core/Nestjs/types/interfaces/type-options.interface.js → fluent/src/core/Nestjs/types/interfaces/schema-object-metadata.interface.js} +0 -0
  197. package/dist/{core → fluent/src/core}/Nestjs/types/interfaces/type-options.interface.d.ts +0 -0
  198. package/dist/{core/Nestjs/types/metadata/class.metadata.js → fluent/src/core/Nestjs/types/interfaces/type-options.interface.js} +0 -0
  199. package/dist/{core → fluent/src/core}/Nestjs/types/lazy-metadata.storage.d.ts +0 -0
  200. package/dist/{core → fluent/src/core}/Nestjs/types/lazy-metadata.storage.js +0 -0
  201. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/class.metadata.d.ts +0 -0
  202. package/dist/{core/Nestjs/types/metadata/directive.metadata.js → fluent/src/core/Nestjs/types/metadata/class.metadata.js} +0 -0
  203. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/directive.metadata.d.ts +0 -0
  204. package/dist/{core/Nestjs/types/metadata/enum.metadata.js → fluent/src/core/Nestjs/types/metadata/directive.metadata.js} +0 -0
  205. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/enum.metadata.d.ts +0 -0
  206. package/dist/{core/Nestjs/types/metadata/extensions.metadata.js → fluent/src/core/Nestjs/types/metadata/enum.metadata.js} +0 -0
  207. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/extensions.metadata.d.ts +0 -0
  208. package/dist/{core/Nestjs/types/metadata/interface.metadata.js → fluent/src/core/Nestjs/types/metadata/extensions.metadata.js} +0 -0
  209. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/index.d.ts +0 -0
  210. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/index.js +0 -0
  211. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/interface.metadata.d.ts +0 -0
  212. package/dist/{core/Nestjs/types/metadata/object-type.metadata.js → fluent/src/core/Nestjs/types/metadata/interface.metadata.js} +0 -0
  213. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/object-type.metadata.d.ts +0 -0
  214. package/dist/{core/Nestjs/types/metadata/param.metadata.js → fluent/src/core/Nestjs/types/metadata/object-type.metadata.js} +0 -0
  215. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/param.metadata.d.ts +0 -0
  216. package/dist/{core/Nestjs/types/metadata/property.metadata.js → fluent/src/core/Nestjs/types/metadata/param.metadata.js} +0 -0
  217. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/property.metadata.d.ts +0 -0
  218. package/dist/{core/Nestjs/types/metadata/resolver.metadata.js → fluent/src/core/Nestjs/types/metadata/property.metadata.js} +0 -0
  219. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/resolver.metadata.d.ts +0 -0
  220. package/dist/{core/Nestjs/types/metadata/union.metadata.js → fluent/src/core/Nestjs/types/metadata/resolver.metadata.js} +0 -0
  221. package/dist/{core → fluent/src/core}/Nestjs/types/metadata/union.metadata.d.ts +0 -0
  222. package/dist/fluent/src/core/Nestjs/types/metadata/union.metadata.js +2 -0
  223. package/dist/{core → fluent/src/core}/Nestjs/types/object-type.decorator.d.ts +0 -0
  224. package/dist/{core → fluent/src/core}/Nestjs/types/object-type.decorator.js +0 -0
  225. package/dist/{core → fluent/src/core}/Nestjs/types/omit-type.d.ts +0 -0
  226. package/dist/{core → fluent/src/core}/Nestjs/types/omit-type.js +0 -0
  227. package/dist/{core → fluent/src/core}/Nestjs/types/reflection.utils.d.ts +0 -0
  228. package/dist/{core → fluent/src/core}/Nestjs/types/reflection.utils.js +0 -0
  229. package/dist/{core → fluent/src/core}/Nestjs/types/set-metadata.decorator.d.ts +0 -0
  230. package/dist/{core → fluent/src/core}/Nestjs/types/set-metadata.decorator.js +0 -0
  231. package/dist/{core → fluent/src/core}/Nestjs/types/type-metadata.storage.d.ts +0 -0
  232. package/dist/{core → fluent/src/core}/Nestjs/types/type-metadata.storage.js +0 -0
  233. package/dist/{core → fluent/src/core}/Nestjs/types/utils/enum.utils.d.ts +0 -0
  234. package/dist/{core → fluent/src/core}/Nestjs/types/utils/enum.utils.js +0 -0
  235. package/dist/{core → fluent/src/core}/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +0 -0
  236. package/dist/{core → fluent/src/core}/Nestjs/types/utils/get-fields-and-decorator.util.js +0 -0
  237. package/dist/{core → fluent/src/core}/Nestjs/types/utils/mapped-types.utils.d.ts +0 -0
  238. package/dist/{core → fluent/src/core}/Nestjs/types/utils/mapped-types.utils.js +0 -0
  239. package/dist/{core → fluent/src/core}/Nestjs/types/utils/model-properties-accessor.d.ts +0 -0
  240. package/dist/{core → fluent/src/core}/Nestjs/types/utils/model-properties-accessor.js +0 -0
  241. package/dist/{core → fluent/src/core}/Nestjs/types/utils/type-helpers.utils.d.ts +0 -0
  242. package/dist/{core → fluent/src/core}/Nestjs/types/utils/type-helpers.utils.js +0 -0
  243. package/dist/{core → fluent/src/core}/types.d.ts +0 -0
  244. package/dist/{core → fluent/src/core}/types.js +0 -0
  245. package/dist/{decorators.d.ts → fluent/src/decorators.d.ts} +0 -0
  246. package/dist/{decorators.js → fluent/src/decorators.js} +0 -0
  247. package/dist/{generatorDatasource.d.ts → fluent/src/generatorDatasource.d.ts} +0 -0
  248. package/dist/{generatorDatasource.js → fluent/src/generatorDatasource.js} +0 -0
  249. package/dist/{index.d.ts → fluent/src/index.d.ts} +5 -4
  250. package/dist/{index.js → fluent/src/index.js} +2 -1
  251. package/dist/{loadRelations.d.ts → fluent/src/loadRelations.d.ts} +0 -0
  252. package/dist/{loadRelations.js → fluent/src/loadRelations.js} +8 -10
  253. package/dist/{outputKeys.d.ts → fluent/src/outputKeys.d.ts} +0 -0
  254. package/dist/{outputKeys.js → fluent/src/outputKeys.js} +0 -0
  255. package/dist/{types.d.ts → fluent/src/types.d.ts} +37 -20
  256. package/dist/{types.js → fluent/src/types.js} +0 -0
  257. package/dist/fluent-firebase/src/test/firebase.d.ts +16 -0
  258. package/dist/fluent-firebase/src/test/firebase.js +93 -0
  259. package/dist/tsconfig.tsbuildinfo +1 -1
  260. package/package.json +4 -3
  261. package/CHANGELOG.md +0 -1072
  262. package/dist/TypeOrmConnector/TypeOrmConnector.js +0 -760
  263. package/dist/TypeOrmConnector/test/mongo/mongo.memory.d.ts +0 -4
  264. package/dist/TypeOrmConnector/test/mongo/mongo.memory.js +0 -43
  265. package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +0 -6
  266. package/dist/TypeOrmConnector/test/relations/car/car.schema.d.ts +0 -38
  267. package/dist/TypeOrmConnector/test/relations/car/car.schema.js +0 -14
  268. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +0 -1
  269. package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +0 -149
  270. package/dist/TypeOrmConnector/test/relations/roles/role.schema.d.ts +0 -35
  271. package/dist/TypeOrmConnector/test/relations/roles/role.schema.js +0 -16
  272. package/dist/TypeOrmConnector/test/relations/user/user.schema.d.ts +0 -150
  273. package/dist/TypeOrmConnector/test/relations/user/user.schema.js +0 -18
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.userOutputSchema = exports.userWithRoles = exports.rolesWithPivot = exports.userInputSchema = exports.BreedSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const car_schema_1 = require("../car/car.schema");
6
+ const role_schema_1 = require("../roles/role.schema");
7
+ const roles_user_schema_1 = require("../roles/roles_user.schema");
8
+ const ZodManyToOne = ({ manySchema, oneSchema, manyKey, oneKey }) => {
9
+ return manySchema
10
+ .extend({
11
+ [oneKey]: oneSchema.extend({
12
+ [manyKey]: manySchema
13
+ .extend({
14
+ [oneKey]: oneSchema
15
+ .extend({
16
+ [manyKey]: manySchema
17
+ .extend({
18
+ [oneKey]: oneSchema.extend({
19
+ [manyKey]: manySchema
20
+ .extend({
21
+ [oneKey]: oneSchema
22
+ .extend({
23
+ [manyKey]: manySchema.optional().array()
24
+ })
25
+ .optional()
26
+ })
27
+ .optional()
28
+ .array()
29
+ })
30
+ })
31
+ .array()
32
+ .optional()
33
+ })
34
+ .optional()
35
+ })
36
+ .optional()
37
+ .array()
38
+ }).optional()
39
+ })
40
+ .array()
41
+ .optional();
42
+ };
43
+ exports.BreedSchema = zod_1.z.object({
44
+ family: zod_1.z.string().optional(),
45
+ members: zod_1.z.number().optional()
46
+ });
47
+ exports.userInputSchema = zod_1.z.object({
48
+ id: zod_1.z.string().optional(),
49
+ name: zod_1.z.string(),
50
+ age: zod_1.z.number().optional(),
51
+ breed: exports.BreedSchema.optional()
52
+ });
53
+ exports.rolesWithPivot = role_schema_1.RoleInputSchema.extend({
54
+ pivot: roles_user_schema_1.RolesUserSchema.optional()
55
+ });
56
+ exports.userWithRoles = exports.userInputSchema.extend({
57
+ id: zod_1.z.string(),
58
+ roles: exports.rolesWithPivot.array().optional()
59
+ });
60
+ exports.userOutputSchema = exports.userWithRoles.extend({
61
+ cars: ZodManyToOne({
62
+ manySchema: car_schema_1.carInputSchema,
63
+ oneSchema: exports.userWithRoles,
64
+ manyKey: 'cars',
65
+ oneKey: 'user'
66
+ })
67
+ });
@@ -0,0 +1 @@
1
+ export declare const clearEmpties: (object: any) => any;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clearEmpties = void 0;
4
+ const bson_1 = require("bson");
5
+ const clearEmpties = object => {
6
+ Object.entries(object).forEach(([k, v]) => {
7
+ if (v && typeof v === 'object')
8
+ (0, exports.clearEmpties)(v);
9
+ if ((v && typeof v === 'object' && !Object.keys(v).length) ||
10
+ v === null ||
11
+ v === undefined ||
12
+ v.length === 0) {
13
+ if (Array.isArray(object)) {
14
+ if (!(object[k] instanceof bson_1.ObjectId)) {
15
+ object.splice(k, 1);
16
+ }
17
+ }
18
+ else if (!(v instanceof Date) && !(v instanceof bson_1.ObjectId)) {
19
+ delete object[k];
20
+ }
21
+ }
22
+ });
23
+ return object;
24
+ };
25
+ exports.clearEmpties = clearEmpties;
@@ -0,0 +1,6 @@
1
+ import { FluentQuery, LogicOperator, Primitives, PrimitivesArray } from '../../types';
2
+ export declare const extractConditions: (conditions: FluentQuery<any>['where'][]) => {
3
+ operator: LogicOperator;
4
+ element: string;
5
+ value: Primitives | PrimitivesArray;
6
+ }[];
@@ -0,0 +1,80 @@
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;
@@ -0,0 +1,2 @@
1
+ import { AnyObject, FluentQuery } from '../../types';
2
+ export declare const extractInclude: <T>(include?: import("../../types").QueryIncludeRelation<T> | undefined) => AnyObject | undefined;
@@ -0,0 +1,25 @@
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;
@@ -0,0 +1,12 @@
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;
@@ -0,0 +1,42 @@
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;
@@ -0,0 +1,4 @@
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
+ };
@@ -0,0 +1,18 @@
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;
@@ -0,0 +1,19 @@
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;
@@ -0,0 +1,26 @@
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;
@@ -0,0 +1 @@
1
+ export declare const getSelectedKeysFromRawSql: (sql: string) => string[];
@@ -0,0 +1,20 @@
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;
@@ -0,0 +1 @@
1
+ export declare const isAnyObject: (val: any) => boolean;
@@ -0,0 +1,7 @@
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;
@@ -0,0 +1,2 @@
1
+ import { AnyObject } from '../../types';
2
+ export declare const nestQueryResults: (results: AnyObject[], keyToNestedKeyMap: AnyObject) => AnyObject[];
@@ -0,0 +1,31 @@
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;
File without changes
File without changes
File without changes
File without changes