@goatlab/fluent 0.7.39 → 0.7.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/dist/BaseConnector.d.ts +112 -0
  2. package/dist/BaseConnector.js +343 -0
  3. package/dist/BaseConnector.js.map +1 -0
  4. package/dist/Fluent.d.ts +11 -0
  5. package/dist/Fluent.js +27 -0
  6. package/dist/Fluent.js.map +1 -0
  7. package/dist/FluentConnectorInterface.d.ts +17 -0
  8. package/dist/FluentConnectorInterface.js +3 -0
  9. package/dist/FluentConnectorInterface.js.map +1 -0
  10. package/dist/FluentEntity.d.ts +7 -0
  11. package/dist/FluentEntity.js +29 -0
  12. package/dist/FluentEntity.js.map +1 -0
  13. package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +123 -0
  14. package/dist/TypeOrmConnector/TypeOrmConnector.js +760 -0
  15. package/dist/TypeOrmConnector/TypeOrmConnector.js.map +1 -0
  16. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.d.ts +12 -0
  17. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js +167 -0
  18. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js.map +1 -0
  19. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.d.ts +11 -0
  20. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js +52 -0
  21. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js.map +1 -0
  22. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.d.ts +4 -0
  23. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.js +20 -0
  24. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.js.map +1 -0
  25. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.d.ts +7 -0
  26. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js +19 -0
  27. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js.map +1 -0
  28. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.d.ts +11 -0
  29. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js +173 -0
  30. package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js.map +1 -0
  31. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.d.ts +13 -0
  32. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js +207 -0
  33. package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js.map +1 -0
  34. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.d.ts +11 -0
  35. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js +214 -0
  36. package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js.map +1 -0
  37. package/dist/TypeOrmConnector/util/clearEmpties.d.ts +7 -0
  38. package/dist/TypeOrmConnector/util/clearEmpties.js +33 -0
  39. package/dist/TypeOrmConnector/util/clearEmpties.js.map +1 -0
  40. package/dist/TypeOrmConnector/util/extractConditions.d.ts +12 -0
  41. package/dist/TypeOrmConnector/util/extractConditions.js +89 -0
  42. package/dist/TypeOrmConnector/util/extractConditions.js.map +1 -0
  43. package/dist/TypeOrmConnector/util/extractInclude.d.ts +2 -0
  44. package/dist/TypeOrmConnector/util/extractInclude.js +26 -0
  45. package/dist/TypeOrmConnector/util/extractInclude.js.map +1 -0
  46. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.d.ts +12 -0
  47. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js +49 -0
  48. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js.map +1 -0
  49. package/dist/TypeOrmConnector/util/extractOrderBy.d.ts +2 -0
  50. package/dist/TypeOrmConnector/util/extractOrderBy.js +24 -0
  51. package/dist/TypeOrmConnector/util/extractOrderBy.js.map +1 -0
  52. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.d.ts +19 -0
  53. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js +27 -0
  54. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js.map +1 -0
  55. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.d.ts +6 -0
  56. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js +29 -0
  57. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js.map +1 -0
  58. package/dist/TypeOrmConnector/util/isAnyObject.d.ts +1 -0
  59. package/dist/TypeOrmConnector/util/isAnyObject.js +8 -0
  60. package/dist/TypeOrmConnector/util/isAnyObject.js.map +1 -0
  61. package/dist/TypeOrmConnector/util/nestQueryResults.d.ts +2 -0
  62. package/dist/TypeOrmConnector/util/nestQueryResults.js +38 -0
  63. package/dist/TypeOrmConnector/util/nestQueryResults.js.map +1 -0
  64. package/dist/core/Loopback/build-schema.d.ts +148 -0
  65. package/dist/core/Loopback/build-schema.js +443 -0
  66. package/dist/core/Loopback/build-schema.js.map +1 -0
  67. package/dist/core/Loopback/common-types.d.ts +96 -0
  68. package/dist/core/Loopback/common-types.js +24 -0
  69. package/dist/core/Loopback/common-types.js.map +1 -0
  70. package/dist/core/Loopback/json-to-schema.d.ts +41 -0
  71. package/dist/core/Loopback/json-to-schema.js +113 -0
  72. package/dist/core/Loopback/json-to-schema.js.map +1 -0
  73. package/dist/core/Loopback/metadata.d.ts +16 -0
  74. package/dist/core/Loopback/metadata.js +49 -0
  75. package/dist/core/Loopback/metadata.js.map +1 -0
  76. package/dist/core/Loopback/model.d.ts +233 -0
  77. package/dist/core/Loopback/model.js +387 -0
  78. package/dist/core/Loopback/model.js.map +1 -0
  79. package/dist/core/Loopback/query.d.ts +394 -0
  80. package/dist/core/Loopback/query.js +482 -0
  81. package/dist/core/Loopback/query.js.map +1 -0
  82. package/dist/core/Loopback/relation.types.d.ts +141 -0
  83. package/dist/core/Loopback/relation.types.js +18 -0
  84. package/dist/core/Loopback/relation.types.js.map +1 -0
  85. package/dist/core/Loopback/type-resolver.d.ts +42 -0
  86. package/dist/core/Loopback/type-resolver.js +60 -0
  87. package/dist/core/Loopback/type-resolver.js.map +1 -0
  88. package/dist/core/Loopback/type.d.ts +38 -0
  89. package/dist/core/Loopback/type.js +7 -0
  90. package/dist/core/Loopback/type.js.map +1 -0
  91. package/dist/core/Nestjs/applyDecorators.d.ts +10 -0
  92. package/dist/core/Nestjs/applyDecorators.js +26 -0
  93. package/dist/core/Nestjs/applyDecorators.js.map +1 -0
  94. package/dist/core/Nestjs/types/common.d.ts +16 -0
  95. package/dist/core/Nestjs/types/common.js +38 -0
  96. package/dist/core/Nestjs/types/common.js.map +1 -0
  97. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +1 -0
  98. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +8 -0
  99. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js.map +1 -0
  100. package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +27 -0
  101. package/dist/core/Nestjs/types/decorators/api-property.decorator.js +66 -0
  102. package/dist/core/Nestjs/types/decorators/api-property.decorator.js.map +1 -0
  103. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +5 -0
  104. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +136 -0
  105. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js.map +1 -0
  106. package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +4 -0
  107. package/dist/core/Nestjs/types/decorators/args-type.decorator.js +24 -0
  108. package/dist/core/Nestjs/types/decorators/args-type.decorator.js.map +1 -0
  109. package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +2 -0
  110. package/dist/core/Nestjs/types/decorators/create-property.decorator.js +55 -0
  111. package/dist/core/Nestjs/types/decorators/create-property.decorator.js.map +1 -0
  112. package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +4 -0
  113. package/dist/core/Nestjs/types/decorators/directive.decorator.js +39 -0
  114. package/dist/core/Nestjs/types/decorators/directive.decorator.js.map +1 -0
  115. package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +4 -0
  116. package/dist/core/Nestjs/types/decorators/extensions.decorator.js +28 -0
  117. package/dist/core/Nestjs/types/decorators/extensions.decorator.js.map +1 -0
  118. package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +48 -0
  119. package/dist/core/Nestjs/types/decorators/field.decorator.js +63 -0
  120. package/dist/core/Nestjs/types/decorators/field.decorator.js.map +1 -0
  121. package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +25 -0
  122. package/dist/core/Nestjs/types/decorators/input-type.decorator.js +29 -0
  123. package/dist/core/Nestjs/types/decorators/input-type.decorator.js.map +1 -0
  124. package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +33 -0
  125. package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +35 -0
  126. package/dist/core/Nestjs/types/decorators/interface-type.decorator.js.map +1 -0
  127. package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +3 -0
  128. package/dist/core/Nestjs/types/decorators/partial-type.helper.js +46 -0
  129. package/dist/core/Nestjs/types/decorators/partial-type.helper.js.map +1 -0
  130. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +3 -0
  131. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +10 -0
  132. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js.map +1 -0
  133. package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +3 -0
  134. package/dist/core/Nestjs/types/errors/directive-parsing.error.js +10 -0
  135. package/dist/core/Nestjs/types/errors/directive-parsing.error.js.map +1 -0
  136. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +3 -0
  137. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +10 -0
  138. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js.map +1 -0
  139. package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +3 -0
  140. package/dist/core/Nestjs/types/errors/undefined-type.error.js +11 -0
  141. package/dist/core/Nestjs/types/errors/undefined-type.error.js.map +1 -0
  142. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +3 -0
  143. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +11 -0
  144. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js.map +1 -0
  145. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +11 -0
  146. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +3 -0
  147. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js.map +1 -0
  148. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +5 -0
  149. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +3 -0
  150. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js.map +1 -0
  151. package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +11 -0
  152. package/dist/core/Nestjs/types/interfaces/complexity.interface.js +3 -0
  153. package/dist/core/Nestjs/types/interfaces/complexity.interface.js.map +1 -0
  154. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +15 -0
  155. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +3 -0
  156. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js.map +1 -0
  157. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +239 -0
  158. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +7 -0
  159. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js.map +1 -0
  160. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +2 -0
  161. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +3 -0
  162. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js.map +1 -0
  163. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +5 -0
  164. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +3 -0
  165. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js.map +1 -0
  166. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +9 -0
  167. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +3 -0
  168. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js.map +1 -0
  169. package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +5 -0
  170. package/dist/core/Nestjs/types/interfaces/type-options.interface.js +3 -0
  171. package/dist/core/Nestjs/types/interfaces/type-options.interface.js.map +1 -0
  172. package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +15 -0
  173. package/dist/core/Nestjs/types/lazy-metadata.storage.js +68 -0
  174. package/dist/core/Nestjs/types/lazy-metadata.storage.js.map +1 -0
  175. package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +11 -0
  176. package/dist/core/Nestjs/types/metadata/class.metadata.js +3 -0
  177. package/dist/core/Nestjs/types/metadata/class.metadata.js.map +1 -0
  178. package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +8 -0
  179. package/dist/core/Nestjs/types/metadata/directive.metadata.js +3 -0
  180. package/dist/core/Nestjs/types/metadata/directive.metadata.js.map +1 -0
  181. package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +11 -0
  182. package/dist/core/Nestjs/types/metadata/enum.metadata.js +3 -0
  183. package/dist/core/Nestjs/types/metadata/enum.metadata.js.map +1 -0
  184. package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +8 -0
  185. package/dist/core/Nestjs/types/metadata/extensions.metadata.js +3 -0
  186. package/dist/core/Nestjs/types/metadata/extensions.metadata.js.map +1 -0
  187. package/dist/core/Nestjs/types/metadata/index.d.ts +8 -0
  188. package/dist/core/Nestjs/types/metadata/index.js +12 -0
  189. package/dist/core/Nestjs/types/metadata/index.js.map +1 -0
  190. package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +6 -0
  191. package/dist/core/Nestjs/types/metadata/interface.metadata.js +3 -0
  192. package/dist/core/Nestjs/types/metadata/interface.metadata.js.map +1 -0
  193. package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +4 -0
  194. package/dist/core/Nestjs/types/metadata/object-type.metadata.js +3 -0
  195. package/dist/core/Nestjs/types/metadata/object-type.metadata.js.map +1 -0
  196. package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +18 -0
  197. package/dist/core/Nestjs/types/metadata/param.metadata.js +3 -0
  198. package/dist/core/Nestjs/types/metadata/param.metadata.js.map +1 -0
  199. package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +20 -0
  200. package/dist/core/Nestjs/types/metadata/property.metadata.js +3 -0
  201. package/dist/core/Nestjs/types/metadata/property.metadata.js.map +1 -0
  202. package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +34 -0
  203. package/dist/core/Nestjs/types/metadata/resolver.metadata.js +3 -0
  204. package/dist/core/Nestjs/types/metadata/resolver.metadata.js.map +1 -0
  205. package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +9 -0
  206. package/dist/core/Nestjs/types/metadata/union.metadata.js +3 -0
  207. package/dist/core/Nestjs/types/metadata/union.metadata.js.map +1 -0
  208. package/dist/core/Nestjs/types/object-type.decorator.d.ts +32 -0
  209. package/dist/core/Nestjs/types/object-type.decorator.js +33 -0
  210. package/dist/core/Nestjs/types/object-type.decorator.js.map +1 -0
  211. package/dist/core/Nestjs/types/omit-type.d.ts +2 -0
  212. package/dist/core/Nestjs/types/omit-type.js +34 -0
  213. package/dist/core/Nestjs/types/omit-type.js.map +1 -0
  214. package/dist/core/Nestjs/types/reflection.utils.d.ts +15 -0
  215. package/dist/core/Nestjs/types/reflection.utils.js +65 -0
  216. package/dist/core/Nestjs/types/reflection.utils.js.map +1 -0
  217. package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +20 -0
  218. package/dist/core/Nestjs/types/set-metadata.decorator.js +33 -0
  219. package/dist/core/Nestjs/types/set-metadata.decorator.js.map +1 -0
  220. package/dist/core/Nestjs/types/type-metadata.storage.d.ts +73 -0
  221. package/dist/core/Nestjs/types/type-metadata.storage.js +351 -0
  222. package/dist/core/Nestjs/types/type-metadata.storage.js.map +1 -0
  223. package/dist/core/Nestjs/types/utils/enum.utils.d.ts +3 -0
  224. package/dist/core/Nestjs/types/utils/enum.utils.js +31 -0
  225. package/dist/core/Nestjs/types/utils/enum.utils.js.map +1 -0
  226. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +13 -0
  227. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +72 -0
  228. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js.map +1 -0
  229. package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +2 -0
  230. package/dist/core/Nestjs/types/utils/mapped-types.utils.js +38 -0
  231. package/dist/core/Nestjs/types/utils/mapped-types.utils.js.map +1 -0
  232. package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +6 -0
  233. package/dist/core/Nestjs/types/utils/model-properties-accessor.js +37 -0
  234. package/dist/core/Nestjs/types/utils/model-properties-accessor.js.map +1 -0
  235. package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +2 -0
  236. package/dist/core/Nestjs/types/utils/type-helpers.utils.js +16 -0
  237. package/dist/core/Nestjs/types/utils/type-helpers.utils.js.map +1 -0
  238. package/dist/core/types.d.ts +23 -0
  239. package/dist/core/types.js +31 -0
  240. package/dist/core/types.js.map +1 -0
  241. package/dist/decorators.d.ts +92 -0
  242. package/dist/decorators.js +162 -0
  243. package/dist/decorators.js.map +1 -0
  244. package/dist/generatorDatasource.d.ts +2 -0
  245. package/dist/generatorDatasource.js +13 -0
  246. package/dist/generatorDatasource.js.map +1 -0
  247. package/dist/index.d.ts +30 -0
  248. package/dist/index.js +50 -0
  249. package/dist/index.js.map +1 -0
  250. package/dist/loadRelations.d.ts +12 -0
  251. package/dist/loadRelations.js +139 -0
  252. package/dist/loadRelations.js.map +1 -0
  253. package/dist/outputKeys.d.ts +2 -0
  254. package/dist/outputKeys.js +18 -0
  255. package/dist/outputKeys.js.map +1 -0
  256. package/dist/tsconfig.tsbuildinfo +1 -0
  257. package/dist/types.d.ts +104 -0
  258. package/dist/types.js +23 -0
  259. package/dist/types.js.map +1 -0
  260. package/package.json +47 -23
@@ -0,0 +1,104 @@
1
+ import { Primitives, PrimitivesArray, AnyObject, Concrete, Unpacked, PaginatedData, ExpandRecursively, Paginator } from '@goatlab/js-utils';
2
+ export { Primitives, PrimitivesArray, AnyObject, Concrete, Unpacked, PaginatedData, ExpandRecursively, Paginator };
3
+ export type QueryFieldSelector<T> = Partial<{
4
+ [K in keyof Concrete<T>]: Concrete<T>[K] extends object ? true | false | Unpacked<Partial<QueryFieldSelector<Concrete<T>[K]>>> : true | false | undefined;
5
+ }>;
6
+ export type QueryOrderSelector<T> = Partial<{
7
+ [K in keyof Concrete<T>]: Concrete<T>[K] extends object ? Partial<QueryOrderSelector<Concrete<T>[K]>> : 'asc' | 'desc' | undefined;
8
+ }>;
9
+ export type QueryOperations<T> = {
10
+ [key in LogicOperator]: key extends LogicOperator.in ? T[] : key extends LogicOperator.notIn ? T[] : T;
11
+ };
12
+ export type QueryWhereFitler<T> = Partial<{
13
+ [K in keyof Concrete<T>]: Concrete<T>[K] extends object ? Unpacked<Partial<QueryWhereFitler<Concrete<T>[K]>>> : Unpacked<Partial<QueryOperations<Concrete<T>[K]>>> | T[K];
14
+ }>;
15
+ export type QueryInsert<T> = {
16
+ [K in keyof T]: T[K] extends object ? QueryInsert<T[K]> : T[K];
17
+ };
18
+ export type ModelRelation<T> = T;
19
+ export type QueryIncludeRelation<T> = {
20
+ [K in keyof Partial<T>]: (FluentQuery<Unpacked<T[K]>> & {
21
+ withPivot?: true;
22
+ }) | true;
23
+ };
24
+ export type FluentQuery<T> = {
25
+ select?: QueryFieldSelector<T>;
26
+ where?: {
27
+ OR: FluentQuery<T>['where'][];
28
+ AND: FluentQuery<T>['where'][];
29
+ } | QueryWhereFitler<T>;
30
+ orderBy?: QueryOrderSelector<T>[];
31
+ limit?: number;
32
+ offset?: number;
33
+ take?: number;
34
+ include?: QueryIncludeRelation<T>;
35
+ paginated?: Paginator;
36
+ };
37
+ export type AddUndefinedIfNullable<T> = T extends null | undefined ? undefined : never;
38
+ export type GetSelectedFromInclude<T extends FluentQuery<Model>, Model> = {
39
+ [P in keyof T['include'] & keyof Model]: T['include'][P] extends object ? NonNullable<Model[P]> extends any[] ? T['include'][P] extends {
40
+ withPivot: true;
41
+ } ? (QueryOutput<T['include'][P] & FluentQuery<Unpacked<NonNullable<Model[P]>>>, Unpacked<NonNullable<Model[P]>>> & {
42
+ pivot: AnyObject;
43
+ })[] | AddUndefinedIfNullable<Model[P]> : (QueryOutput<T['include'][P] & FluentQuery<Unpacked<NonNullable<Model[P]>>>, Unpacked<NonNullable<Model[P]>>> & {
44
+ pivot: AnyObject;
45
+ })[] | AddUndefinedIfNullable<Model[P]> : T['include'][P] extends {
46
+ withPivot: true;
47
+ } ? (QueryOutput<T['include'][P] & FluentQuery<Unpacked<NonNullable<Model[P]>>>, Unpacked<NonNullable<Model[P]>>> & {
48
+ pivot: AnyObject;
49
+ }) | AddUndefinedIfNullable<Model[P]> : QueryOutput<T['include'][P] & FluentQuery<Unpacked<NonNullable<Model[P]>>>, Unpacked<NonNullable<Model[P]>>> | AddUndefinedIfNullable<Model[P]> : Model[P];
50
+ };
51
+ export type GetSelectedFromObject<T extends FluentQuery<Model>, Model> = {
52
+ [P in keyof T['select'] & keyof Model]: T['select'][P] extends object ? NonNullable<Model[P]> extends any[] ? QueryOutput<{
53
+ select: T['select'][P];
54
+ }, Unpacked<NonNullable<Model[P]>>>[] | AddUndefinedIfNullable<Model[P]> : QueryOutput<{
55
+ select: T['select'][P];
56
+ }, Unpacked<NonNullable<Model[P]>>> | AddUndefinedIfNullable<Model[P]> : Model[P];
57
+ } & GetSelectedFromInclude<T, Model>;
58
+ export type QueryOutput<T extends FluentQuery<Model>, Model> = ExpandRecursively<T extends {
59
+ select: T['select'];
60
+ } ? T extends {
61
+ paginated: T['paginated'];
62
+ } ? PaginatedData<GetSelectedFromObject<T, Model>> : ExpandRecursively<GetSelectedFromObject<T, Model>> : T extends {
63
+ paginated: T['paginated'];
64
+ } ? PaginatedData<Model> : Model & GetSelectedFromInclude<T, Model>>;
65
+ export interface Deleted {
66
+ deleted: number;
67
+ }
68
+ export declare enum LogicOperator {
69
+ equals = "equals",
70
+ lessThan = "lessThan",
71
+ greaterThan = "greaterThan",
72
+ lessOrEqualThan = "lessOrEqualThan",
73
+ greaterOrEqualThan = "greaterOrEqualThan",
74
+ isNot = "isNot",
75
+ in = "in",
76
+ notIn = "notIn",
77
+ like = "like",
78
+ regexp = "regexp",
79
+ startsWith = "startsWith",
80
+ endsWith = "endsWith",
81
+ contains = "contains",
82
+ arrayContains = "arrayContains",
83
+ exists = "exists",
84
+ notExists = "notExists"
85
+ }
86
+ export type FluentHasManyRelatedAttribute<T> = Partial<{
87
+ [K in keyof Concrete<T>]: Concrete<T>[K] extends object ? Unpacked<Partial<FluentHasManyRelatedAttribute<Concrete<T>[K]>>> | true : true | undefined;
88
+ }>;
89
+ export type FluentHasManyParams<T extends FluentHasManyParams<T>> = {
90
+ repository: new () => InstanceType<T['repository']>;
91
+ };
92
+ export type FluentBelongsToParams<T extends FluentHasManyParams<T>> = {
93
+ repository: new () => InstanceType<T['repository']>;
94
+ };
95
+ export type FluentBelongsToManyParams<T extends FluentBelongsToManyParams<T>> = {
96
+ repository: new () => InstanceType<T['repository']>;
97
+ pivot: new () => InstanceType<T['pivot']>;
98
+ };
99
+ export type FindByIdFilter<T> = {
100
+ select?: FluentQuery<T>['select'];
101
+ include?: FluentQuery<T>['include'];
102
+ limit?: number;
103
+ };
104
+ export type LoadedResult<T> = Omit<T, 'findMany' | 'insert' | 'insertMany' | 'loadFirst' | 'byId' | 'replaceById' | 'updateById' | 'clear' | 'requireById' | 'collect' | 'findByIds' | 'findFirst' | 'isMongoDB' | 'pluck' | 'raw' | 'associate' | 'attach' | 'withPivot' | 'loadById'>;
package/dist/types.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogicOperator = void 0;
4
+ var LogicOperator;
5
+ (function (LogicOperator) {
6
+ LogicOperator["equals"] = "equals";
7
+ LogicOperator["lessThan"] = "lessThan";
8
+ LogicOperator["greaterThan"] = "greaterThan";
9
+ LogicOperator["lessOrEqualThan"] = "lessOrEqualThan";
10
+ LogicOperator["greaterOrEqualThan"] = "greaterOrEqualThan";
11
+ LogicOperator["isNot"] = "isNot";
12
+ LogicOperator["in"] = "in";
13
+ LogicOperator["notIn"] = "notIn";
14
+ LogicOperator["like"] = "like";
15
+ LogicOperator["regexp"] = "regexp";
16
+ LogicOperator["startsWith"] = "startsWith";
17
+ LogicOperator["endsWith"] = "endsWith";
18
+ LogicOperator["contains"] = "contains";
19
+ LogicOperator["arrayContains"] = "arrayContains";
20
+ LogicOperator["exists"] = "exists";
21
+ LogicOperator["notExists"] = "notExists";
22
+ })(LogicOperator || (exports.LogicOperator = LogicOperator = {}));
23
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAwIA,IAAY,aAiBX;AAjBD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,sCAAqB,CAAA;IACrB,4CAA2B,CAAA;IAC3B,oDAAmC,CAAA;IACnC,0DAAyC,CAAA;IACzC,gCAAe,CAAA;IACf,0BAAS,CAAA;IACT,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,kCAAiB,CAAA;IACjB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;IACrB,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;AACzB,CAAC,EAjBW,aAAa,6BAAb,aAAa,QAiBxB"}
package/package.json CHANGED
@@ -1,34 +1,50 @@
1
1
  {
2
+ "name": "@goatlab/fluent",
3
+ "version": "0.7.40",
2
4
  "author": "ignacio.cabrera@goatlab.io",
3
5
  "dependencies": {
4
- "@loopback/metadata": "^7.0.8",
5
- "bson": "^4.6.2",
6
- "graphql": "^16.3.0",
7
- "openapi3-ts": "^2.0.2",
8
- "reflect-metadata": "^0.1.13",
9
- "typeorm": "^0.3.9",
10
- "zod": "^3.17.10",
6
+ "@loopback/metadata": "^8.0.2",
7
+ "bson": "^6.10.4",
8
+ "graphql": "^16.11.0",
9
+ "openapi3-ts": "^4.5.0",
10
+ "reflect-metadata": "^0.2.2",
11
+ "typeorm": "^0.3.25",
12
+ "zod": "^4.0.5",
13
+ "@goatlab/node-backend": "0.0.14",
11
14
  "@goatlab/js-utils": "0.8.40"
12
15
  },
13
16
  "description": "Readable query Interface & API generator for TS and Node",
14
17
  "devDependencies": {
15
- "@types/node": "^18.7.13",
16
- "cross-spawn": "^7.0.3",
17
- "detect-port": "^1.3.0",
18
- "dotenv-cli": "^5.1.0",
19
- "eslint": "^8.5.0",
18
+ "@swc/core": "^1.13.0",
19
+ "@testcontainers/mongodb": "^11.3.0",
20
+ "@testcontainers/mysql": "^11.0.3",
21
+ "@testcontainers/postgresql": "^11.0.3",
22
+ "@types/node": "^24.0.15",
23
+ "@vitest/runner": "^3.2.4",
24
+ "@vitest/ui": "^3.2.4",
25
+ "c8": "^10.1.3",
26
+ "class-transformer": "^0.5.1",
27
+ "class-validator": "^0.14.2",
28
+ "cross-spawn": "^7.0.6",
29
+ "detect-port": "^2.1.0",
30
+ "dotenv-cli": "^8.0.0",
31
+ "eslint": "^9.31.0",
20
32
  "jest": "^29.7.0",
21
33
  "modern-spawn": "^1.0.0",
22
- "mongodb": "^4.9.0",
23
- "mysql2": "^2.3.3",
34
+ "mongodb": "^6.17.0",
35
+ "mysql2": "^3.14.2",
24
36
  "net": "^1.0.2",
25
- "prettier": "^2.6.1",
26
- "pretty-quick": "^3.1.3",
37
+ "pg": "^8.16.3",
38
+ "prettier": "^3.6.2",
39
+ "pretty-quick": "^4.2.2",
40
+ "testcontainers": "^11.0.3",
27
41
  "ts-jest": "^29.2.6",
28
42
  "ts-node": "^10.9.2",
29
- "turbo": "^1.1.10",
30
- "typescript": "^4.6.3",
31
- "@goatlab/tsconfig": "0.0.12"
43
+ "turbo": "^2.5.5",
44
+ "typescript": "^5.8.3",
45
+ "unplugin-swc": "^1.5.5",
46
+ "vitest": "^3.1.1",
47
+ "@goatlab/tsconfig": "0.0.13"
32
48
  },
33
49
  "engines": {
34
50
  "node": ">=14.16.0"
@@ -49,15 +65,13 @@
49
65
  ],
50
66
  "license": "MIT",
51
67
  "main": "dist/index.js",
52
- "name": "@goatlab/fluent",
53
68
  "private": false,
54
69
  "publishConfig": {
55
70
  "access": "public"
56
71
  },
57
72
  "types": "dist/index.d.ts",
58
- "version": "0.7.39",
59
73
  "scripts": {
60
- "build": "echo 'skip'",
74
+ "build": "tsc",
61
75
  "dev": "tsc --watch",
62
76
  "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
63
77
  "lint": "echo 'skip'",
@@ -65,7 +79,17 @@
65
79
  "predev": "rimraf dist",
66
80
  "prestart": "rimraf dist",
67
81
  "serve": "tsc -w",
68
- "test": "echo 'skip'",
82
+ "test": "vitest run",
83
+ "test:watch": "vitest",
84
+ "test:ui": "vitest --ui",
85
+ "test:coverage": "vitest run --coverage",
86
+ "test:sqlite": "vitest run src/TypeOrmConnector/test/sqlite/sqlite-unified.spec.ts",
87
+ "test:mysql": "vitest run src/TypeOrmConnector/test/mysql/mysql-unified.spec.ts",
88
+ "test:mongodb": "vitest run src/TypeOrmConnector/test/mongodb/mongodb-unified.spec.ts",
89
+ "test:postgresql": "vitest run src/TypeOrmConnector/test/postgresql/postgresql-unified.spec.ts",
90
+ "test:db": "vitest run src/TypeOrmConnector/test/sqlite/TypeOrmSqliteConnector.spec.ts src/TypeOrmConnector/test/mysql/mysql-final.spec.ts src/TypeOrmConnector/test/mongodb/mongodb-final.spec.ts src/TypeOrmConnector/test/postgresql/postgresql-final.spec.ts",
91
+ "test:db:concurrent": "vitest run --reporter=verbose --pool=threads --poolOptions.threads.isolate=false src/TypeOrmConnector/test/sqlite/TypeOrmSqliteConnector.spec.ts src/TypeOrmConnector/test/mysql/mysql-final.spec.ts src/TypeOrmConnector/test/mongodb/mongodb-final.spec.ts src/TypeOrmConnector/test/postgresql/postgresql-final.spec.ts",
92
+ "test:db:summary": "node test-db-summary.js",
69
93
  "update:packages": "npm-check-updates -u && yarn"
70
94
  }
71
95
  }