@goatlab/fluent 0.7.39 → 0.7.41

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 (276) hide show
  1. package/dist/BaseConnector.d.ts +112 -0
  2. package/dist/BaseConnector.js +347 -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 +34 -0
  12. package/dist/FluentEntity.js.map +1 -0
  13. package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +123 -0
  14. package/dist/TypeOrmConnector/TypeOrmConnector.js +765 -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/test/advanced/typeOrm.entity.d.ts +44 -0
  38. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +87 -0
  39. package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js.map +1 -0
  40. package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +38 -0
  41. package/dist/TypeOrmConnector/test/basic/goat.entity.js +82 -0
  42. package/dist/TypeOrmConnector/test/basic/goat.entity.js.map +1 -0
  43. package/dist/TypeOrmConnector/test/flock.d.ts +4 -0
  44. package/dist/TypeOrmConnector/test/flock.js +26 -0
  45. package/dist/TypeOrmConnector/test/flock.js.map +1 -0
  46. package/dist/TypeOrmConnector/util/clearEmpties.d.ts +7 -0
  47. package/dist/TypeOrmConnector/util/clearEmpties.js +33 -0
  48. package/dist/TypeOrmConnector/util/clearEmpties.js.map +1 -0
  49. package/dist/TypeOrmConnector/util/extractConditions.d.ts +12 -0
  50. package/dist/TypeOrmConnector/util/extractConditions.js +89 -0
  51. package/dist/TypeOrmConnector/util/extractConditions.js.map +1 -0
  52. package/dist/TypeOrmConnector/util/extractInclude.d.ts +2 -0
  53. package/dist/TypeOrmConnector/util/extractInclude.js +26 -0
  54. package/dist/TypeOrmConnector/util/extractInclude.js.map +1 -0
  55. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.d.ts +12 -0
  56. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js +49 -0
  57. package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js.map +1 -0
  58. package/dist/TypeOrmConnector/util/extractOrderBy.d.ts +2 -0
  59. package/dist/TypeOrmConnector/util/extractOrderBy.js +24 -0
  60. package/dist/TypeOrmConnector/util/extractOrderBy.js.map +1 -0
  61. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.d.ts +19 -0
  62. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js +27 -0
  63. package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js.map +1 -0
  64. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.d.ts +6 -0
  65. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js +29 -0
  66. package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js.map +1 -0
  67. package/dist/TypeOrmConnector/util/isAnyObject.d.ts +1 -0
  68. package/dist/TypeOrmConnector/util/isAnyObject.js +8 -0
  69. package/dist/TypeOrmConnector/util/isAnyObject.js.map +1 -0
  70. package/dist/TypeOrmConnector/util/nestQueryResults.d.ts +2 -0
  71. package/dist/TypeOrmConnector/util/nestQueryResults.js +38 -0
  72. package/dist/TypeOrmConnector/util/nestQueryResults.js.map +1 -0
  73. package/dist/core/Loopback/build-schema.d.ts +148 -0
  74. package/dist/core/Loopback/build-schema.js +443 -0
  75. package/dist/core/Loopback/build-schema.js.map +1 -0
  76. package/dist/core/Loopback/common-types.d.ts +96 -0
  77. package/dist/core/Loopback/common-types.js +24 -0
  78. package/dist/core/Loopback/common-types.js.map +1 -0
  79. package/dist/core/Loopback/json-to-schema.d.ts +41 -0
  80. package/dist/core/Loopback/json-to-schema.js +113 -0
  81. package/dist/core/Loopback/json-to-schema.js.map +1 -0
  82. package/dist/core/Loopback/mapValues.js +2280 -0
  83. package/dist/core/Loopback/metadata.d.ts +16 -0
  84. package/dist/core/Loopback/metadata.js +49 -0
  85. package/dist/core/Loopback/metadata.js.map +1 -0
  86. package/dist/core/Loopback/model.d.ts +233 -0
  87. package/dist/core/Loopback/model.js +394 -0
  88. package/dist/core/Loopback/model.js.map +1 -0
  89. package/dist/core/Loopback/query.d.ts +394 -0
  90. package/dist/core/Loopback/query.js +484 -0
  91. package/dist/core/Loopback/query.js.map +1 -0
  92. package/dist/core/Loopback/relation.types.d.ts +141 -0
  93. package/dist/core/Loopback/relation.types.js +18 -0
  94. package/dist/core/Loopback/relation.types.js.map +1 -0
  95. package/dist/core/Loopback/type-resolver.d.ts +42 -0
  96. package/dist/core/Loopback/type-resolver.js +60 -0
  97. package/dist/core/Loopback/type-resolver.js.map +1 -0
  98. package/dist/core/Loopback/type.d.ts +38 -0
  99. package/dist/core/Loopback/type.js +7 -0
  100. package/dist/core/Loopback/type.js.map +1 -0
  101. package/dist/core/Nestjs/applyDecorators.d.ts +10 -0
  102. package/dist/core/Nestjs/applyDecorators.js +26 -0
  103. package/dist/core/Nestjs/applyDecorators.js.map +1 -0
  104. package/dist/core/Nestjs/types/common.d.ts +16 -0
  105. package/dist/core/Nestjs/types/common.js +38 -0
  106. package/dist/core/Nestjs/types/common.js.map +1 -0
  107. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +1 -0
  108. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +8 -0
  109. package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js.map +1 -0
  110. package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +27 -0
  111. package/dist/core/Nestjs/types/decorators/api-property.decorator.js +66 -0
  112. package/dist/core/Nestjs/types/decorators/api-property.decorator.js.map +1 -0
  113. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +5 -0
  114. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +136 -0
  115. package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js.map +1 -0
  116. package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +4 -0
  117. package/dist/core/Nestjs/types/decorators/args-type.decorator.js +24 -0
  118. package/dist/core/Nestjs/types/decorators/args-type.decorator.js.map +1 -0
  119. package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +2 -0
  120. package/dist/core/Nestjs/types/decorators/create-property.decorator.js +55 -0
  121. package/dist/core/Nestjs/types/decorators/create-property.decorator.js.map +1 -0
  122. package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +4 -0
  123. package/dist/core/Nestjs/types/decorators/directive.decorator.js +39 -0
  124. package/dist/core/Nestjs/types/decorators/directive.decorator.js.map +1 -0
  125. package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +4 -0
  126. package/dist/core/Nestjs/types/decorators/extensions.decorator.js +28 -0
  127. package/dist/core/Nestjs/types/decorators/extensions.decorator.js.map +1 -0
  128. package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +48 -0
  129. package/dist/core/Nestjs/types/decorators/field.decorator.js +63 -0
  130. package/dist/core/Nestjs/types/decorators/field.decorator.js.map +1 -0
  131. package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +25 -0
  132. package/dist/core/Nestjs/types/decorators/input-type.decorator.js +29 -0
  133. package/dist/core/Nestjs/types/decorators/input-type.decorator.js.map +1 -0
  134. package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +33 -0
  135. package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +35 -0
  136. package/dist/core/Nestjs/types/decorators/interface-type.decorator.js.map +1 -0
  137. package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +3 -0
  138. package/dist/core/Nestjs/types/decorators/partial-type.helper.js +46 -0
  139. package/dist/core/Nestjs/types/decorators/partial-type.helper.js.map +1 -0
  140. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +3 -0
  141. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +10 -0
  142. package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js.map +1 -0
  143. package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +3 -0
  144. package/dist/core/Nestjs/types/errors/directive-parsing.error.js +10 -0
  145. package/dist/core/Nestjs/types/errors/directive-parsing.error.js.map +1 -0
  146. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +3 -0
  147. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +10 -0
  148. package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js.map +1 -0
  149. package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +3 -0
  150. package/dist/core/Nestjs/types/errors/undefined-type.error.js +11 -0
  151. package/dist/core/Nestjs/types/errors/undefined-type.error.js.map +1 -0
  152. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +3 -0
  153. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +11 -0
  154. package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js.map +1 -0
  155. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +11 -0
  156. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +3 -0
  157. package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js.map +1 -0
  158. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +5 -0
  159. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +3 -0
  160. package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js.map +1 -0
  161. package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +11 -0
  162. package/dist/core/Nestjs/types/interfaces/complexity.interface.js +3 -0
  163. package/dist/core/Nestjs/types/interfaces/complexity.interface.js.map +1 -0
  164. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +15 -0
  165. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +3 -0
  166. package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js.map +1 -0
  167. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +239 -0
  168. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +7 -0
  169. package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js.map +1 -0
  170. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +2 -0
  171. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +3 -0
  172. package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js.map +1 -0
  173. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +5 -0
  174. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +3 -0
  175. package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js.map +1 -0
  176. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +9 -0
  177. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +3 -0
  178. package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js.map +1 -0
  179. package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +5 -0
  180. package/dist/core/Nestjs/types/interfaces/type-options.interface.js +3 -0
  181. package/dist/core/Nestjs/types/interfaces/type-options.interface.js.map +1 -0
  182. package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +15 -0
  183. package/dist/core/Nestjs/types/lazy-metadata.storage.js +66 -0
  184. package/dist/core/Nestjs/types/lazy-metadata.storage.js.map +1 -0
  185. package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +11 -0
  186. package/dist/core/Nestjs/types/metadata/class.metadata.js +3 -0
  187. package/dist/core/Nestjs/types/metadata/class.metadata.js.map +1 -0
  188. package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +8 -0
  189. package/dist/core/Nestjs/types/metadata/directive.metadata.js +3 -0
  190. package/dist/core/Nestjs/types/metadata/directive.metadata.js.map +1 -0
  191. package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +11 -0
  192. package/dist/core/Nestjs/types/metadata/enum.metadata.js +3 -0
  193. package/dist/core/Nestjs/types/metadata/enum.metadata.js.map +1 -0
  194. package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +8 -0
  195. package/dist/core/Nestjs/types/metadata/extensions.metadata.js +3 -0
  196. package/dist/core/Nestjs/types/metadata/extensions.metadata.js.map +1 -0
  197. package/dist/core/Nestjs/types/metadata/index.d.ts +8 -0
  198. package/dist/core/Nestjs/types/metadata/index.js +12 -0
  199. package/dist/core/Nestjs/types/metadata/index.js.map +1 -0
  200. package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +6 -0
  201. package/dist/core/Nestjs/types/metadata/interface.metadata.js +3 -0
  202. package/dist/core/Nestjs/types/metadata/interface.metadata.js.map +1 -0
  203. package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +4 -0
  204. package/dist/core/Nestjs/types/metadata/object-type.metadata.js +3 -0
  205. package/dist/core/Nestjs/types/metadata/object-type.metadata.js.map +1 -0
  206. package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +18 -0
  207. package/dist/core/Nestjs/types/metadata/param.metadata.js +3 -0
  208. package/dist/core/Nestjs/types/metadata/param.metadata.js.map +1 -0
  209. package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +20 -0
  210. package/dist/core/Nestjs/types/metadata/property.metadata.js +3 -0
  211. package/dist/core/Nestjs/types/metadata/property.metadata.js.map +1 -0
  212. package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +34 -0
  213. package/dist/core/Nestjs/types/metadata/resolver.metadata.js +3 -0
  214. package/dist/core/Nestjs/types/metadata/resolver.metadata.js.map +1 -0
  215. package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +9 -0
  216. package/dist/core/Nestjs/types/metadata/union.metadata.js +3 -0
  217. package/dist/core/Nestjs/types/metadata/union.metadata.js.map +1 -0
  218. package/dist/core/Nestjs/types/object-type.decorator.d.ts +32 -0
  219. package/dist/core/Nestjs/types/object-type.decorator.js +33 -0
  220. package/dist/core/Nestjs/types/object-type.decorator.js.map +1 -0
  221. package/dist/core/Nestjs/types/omit-type.d.ts +2 -0
  222. package/dist/core/Nestjs/types/omit-type.js +34 -0
  223. package/dist/core/Nestjs/types/omit-type.js.map +1 -0
  224. package/dist/core/Nestjs/types/reflection.utils.d.ts +15 -0
  225. package/dist/core/Nestjs/types/reflection.utils.js +65 -0
  226. package/dist/core/Nestjs/types/reflection.utils.js.map +1 -0
  227. package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +20 -0
  228. package/dist/core/Nestjs/types/set-metadata.decorator.js +33 -0
  229. package/dist/core/Nestjs/types/set-metadata.decorator.js.map +1 -0
  230. package/dist/core/Nestjs/types/type-metadata.storage.d.ts +73 -0
  231. package/dist/core/Nestjs/types/type-metadata.storage.js +349 -0
  232. package/dist/core/Nestjs/types/type-metadata.storage.js.map +1 -0
  233. package/dist/core/Nestjs/types/utils/enum.utils.d.ts +3 -0
  234. package/dist/core/Nestjs/types/utils/enum.utils.js +31 -0
  235. package/dist/core/Nestjs/types/utils/enum.utils.js.map +1 -0
  236. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +13 -0
  237. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +72 -0
  238. package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js.map +1 -0
  239. package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +2 -0
  240. package/dist/core/Nestjs/types/utils/mapped-types.utils.js +38 -0
  241. package/dist/core/Nestjs/types/utils/mapped-types.utils.js.map +1 -0
  242. package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +6 -0
  243. package/dist/core/Nestjs/types/utils/model-properties-accessor.js +37 -0
  244. package/dist/core/Nestjs/types/utils/model-properties-accessor.js.map +1 -0
  245. package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +2 -0
  246. package/dist/core/Nestjs/types/utils/type-helpers.utils.js +16 -0
  247. package/dist/core/Nestjs/types/utils/type-helpers.utils.js.map +1 -0
  248. package/dist/core/types.d.ts +23 -0
  249. package/dist/core/types.js +31 -0
  250. package/dist/core/types.js.map +1 -0
  251. package/dist/decorators.d.ts +92 -0
  252. package/dist/decorators.js +163 -0
  253. package/dist/decorators.js.map +1 -0
  254. package/dist/generatorDatasource.d.ts +2 -0
  255. package/dist/generatorDatasource.js +13 -0
  256. package/dist/generatorDatasource.js.map +1 -0
  257. package/dist/index.d.ts +34 -0
  258. package/dist/index.js +59 -0
  259. package/dist/index.js.map +1 -0
  260. package/dist/loadRelations.d.ts +12 -0
  261. package/dist/loadRelations.js +139 -0
  262. package/dist/loadRelations.js.map +1 -0
  263. package/dist/outputKeys.d.ts +2 -0
  264. package/dist/outputKeys.js +18 -0
  265. package/dist/outputKeys.js.map +1 -0
  266. package/dist/testing/genericUnifiedTestSuite.d.ts +21 -0
  267. package/dist/testing/genericUnifiedTestSuite.js +256 -0
  268. package/dist/testing/genericUnifiedTestSuite.js.map +1 -0
  269. package/dist/testing/unifiedTestFactory.d.ts +38 -0
  270. package/dist/testing/unifiedTestFactory.js +297 -0
  271. package/dist/testing/unifiedTestFactory.js.map +1 -0
  272. package/dist/tsconfig.tsbuildinfo +1 -0
  273. package/dist/types.d.ts +104 -0
  274. package/dist/types.js +23 -0
  275. package/dist/types.js.map +1 -0
  276. package/package.json +48 -24
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getQueryBuilderWhere = void 0;
4
+ const js_utils_1 = require("@goatlab/js-utils");
5
+ const typeorm_1 = require("typeorm");
6
+ const extractConditions_1 = require("../../util/extractConditions");
7
+ const types_1 = require("../../../types");
8
+ const queryId = js_utils_1.Ids.customId('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
9
+ /**
10
+ *
11
+ * @param where
12
+ * @returns
13
+ */
14
+ const getQueryBuilderWhere = ({ where, queryAlias, queryBuilder }) => {
15
+ if (!where || Object.keys(where).length === 0) {
16
+ return queryBuilder;
17
+ }
18
+ const orConditions = (0, extractConditions_1.extractConditions)(where['OR']);
19
+ const andConditions = (0, extractConditions_1.extractConditions)(where['AND']);
20
+ const copy = js_utils_1.Objects.clone(where);
21
+ if (!!copy['AND']) {
22
+ delete copy['AND'];
23
+ }
24
+ if (!!copy['OR']) {
25
+ delete copy['OR'];
26
+ }
27
+ const rootLevelConditions = (0, extractConditions_1.extractConditions)([copy]);
28
+ queryBuilder.andWhere(new typeorm_1.Brackets(qbAnd => {
29
+ // All AND level conditions (root and AND)
30
+ for (const condition of andConditions) {
31
+ const { element, operator, value } = condition;
32
+ const customId = queryId(4);
33
+ switch (operator) {
34
+ case types_1.LogicOperator.equals:
35
+ qbAnd.andWhere(`${queryAlias}.${element} = :${element}_${customId}`, {
36
+ [`${element}_${customId}`]: value
37
+ });
38
+ break;
39
+ case types_1.LogicOperator.isNot:
40
+ qbAnd.andWhere(`${queryAlias}.${element} != :${element}_${customId}`, {
41
+ [`${element}_${customId}`]: value
42
+ });
43
+ break;
44
+ case types_1.LogicOperator.greaterThan:
45
+ qbAnd.andWhere(`${queryAlias}.${element} > :${element}_${customId}`, {
46
+ [`${element}_${customId}`]: value
47
+ });
48
+ break;
49
+ case types_1.LogicOperator.greaterOrEqualThan:
50
+ qbAnd.andWhere(`${queryAlias}.${element} >= :${element}_${customId}`, {
51
+ [`${element}_${customId}`]: value
52
+ });
53
+ break;
54
+ case types_1.LogicOperator.lessThan:
55
+ qbAnd.andWhere(`${queryAlias}.${element} < :${element}_${customId}`, {
56
+ [`${element}_${customId}`]: value
57
+ });
58
+ break;
59
+ case types_1.LogicOperator.lessOrEqualThan:
60
+ qbAnd.andWhere(`${queryAlias}.${element} <= :${element}_${customId}`, {
61
+ [`${element}_${customId}`]: value
62
+ });
63
+ break;
64
+ case types_1.LogicOperator.in:
65
+ qbAnd.andWhere(`${queryAlias}.${element} IN :${element}_${customId}`, {
66
+ [`${element}_${customId}`]: value
67
+ });
68
+ break;
69
+ case types_1.LogicOperator.notIn:
70
+ qbAnd.andWhere(`${queryAlias}.${element} NOT IN :${element}_${customId}`, {
71
+ [`${element}_${customId}`]: value
72
+ });
73
+ break;
74
+ case types_1.LogicOperator.exists:
75
+ qbAnd.andWhere(`${queryAlias}.${element} IS NOT NULL`);
76
+ break;
77
+ case types_1.LogicOperator.notExists:
78
+ qbAnd.andWhere(`${queryAlias}.${element} IS NULL`);
79
+ break;
80
+ case types_1.LogicOperator.regexp:
81
+ qbAnd.andWhere(`${queryAlias}.${element} LIKE :${element}_${customId}`, {
82
+ [`${element}_${customId}`]: value
83
+ });
84
+ break;
85
+ }
86
+ }
87
+ for (const condition of rootLevelConditions) {
88
+ const { element, operator, value } = condition;
89
+ const customId = queryId(4);
90
+ switch (operator) {
91
+ case types_1.LogicOperator.equals:
92
+ qbAnd.andWhere(`${queryAlias}.${element} = :${element}_${customId}`, {
93
+ [`${element}_${customId}`]: value
94
+ });
95
+ break;
96
+ case types_1.LogicOperator.isNot:
97
+ qbAnd.andWhere(`${queryAlias}.${element} != :${element}_${customId}`, {
98
+ [`${element}_${customId}`]: value
99
+ });
100
+ break;
101
+ case types_1.LogicOperator.greaterThan:
102
+ qbAnd.andWhere(`${queryAlias}.${element} > :${element}_${customId}`, {
103
+ [`${element}_${customId}`]: value
104
+ });
105
+ break;
106
+ case types_1.LogicOperator.greaterOrEqualThan:
107
+ qbAnd.andWhere(`${queryAlias}.${element} >= :${element}_${customId}`, {
108
+ [`${element}_${customId}`]: value
109
+ });
110
+ break;
111
+ case types_1.LogicOperator.lessThan:
112
+ qbAnd.andWhere(`${queryAlias}.${element} < :${element}_${customId}`, {
113
+ [`${element}_${customId}`]: value
114
+ });
115
+ break;
116
+ case types_1.LogicOperator.lessOrEqualThan:
117
+ qbAnd.andWhere(`${queryAlias}.${element} <= :${element}_${customId}`, {
118
+ [`${element}_${customId}`]: value
119
+ });
120
+ break;
121
+ case types_1.LogicOperator.in:
122
+ qbAnd.andWhere(`${queryAlias}.${element} IN :${element}_${customId}`, {
123
+ [`${element}_${customId}`]: value
124
+ });
125
+ break;
126
+ case types_1.LogicOperator.notIn:
127
+ qbAnd.andWhere(`${queryAlias}.${element} NOT IN :${element}_${customId}`, {
128
+ [`${element}_${customId}`]: value
129
+ });
130
+ break;
131
+ case types_1.LogicOperator.exists:
132
+ qbAnd.andWhere(`${queryAlias}.${element} IS NOT NULL`);
133
+ break;
134
+ case types_1.LogicOperator.notExists:
135
+ qbAnd.andWhere(`${queryAlias}.${element} IS NULL`);
136
+ break;
137
+ case types_1.LogicOperator.regexp:
138
+ qbAnd.andWhere(`${queryAlias}.${element} LIKE :${element}_${customId}`, {
139
+ [`${element}_${customId}`]: value
140
+ });
141
+ break;
142
+ }
143
+ }
144
+ qbAnd.andWhere(new typeorm_1.Brackets(qbOr => {
145
+ for (const condition of orConditions) {
146
+ const { element, operator, value } = condition;
147
+ const customId = queryId(4);
148
+ switch (operator) {
149
+ case types_1.LogicOperator.equals:
150
+ qbOr.andWhere(`${queryAlias}.${element} = :${element}_${customId}`, {
151
+ [`${element}_${customId}`]: value
152
+ });
153
+ break;
154
+ case types_1.LogicOperator.isNot:
155
+ qbOr.andWhere(`${queryAlias}.${element} != :${element}_${customId}`, {
156
+ [`${element}_${customId}`]: value
157
+ });
158
+ break;
159
+ case types_1.LogicOperator.greaterThan:
160
+ qbOr.andWhere(`${queryAlias}.${element} > :${element}_${customId}`, {
161
+ [`${element}_${customId}`]: value
162
+ });
163
+ break;
164
+ case types_1.LogicOperator.greaterOrEqualThan:
165
+ qbOr.andWhere(`${queryAlias}.${element} >= :${element}_${customId}`, {
166
+ [`${element}_${customId}`]: value
167
+ });
168
+ break;
169
+ case types_1.LogicOperator.lessThan:
170
+ qbOr.andWhere(`${queryAlias}.${element} < :${element}_${customId}`, {
171
+ [`${element}_${customId}`]: value
172
+ });
173
+ break;
174
+ case types_1.LogicOperator.lessOrEqualThan:
175
+ qbOr.andWhere(`${queryAlias}.${element} <= :${element}_${customId}`, {
176
+ [`${element}_${customId}`]: value
177
+ });
178
+ break;
179
+ case types_1.LogicOperator.in:
180
+ qbOr.andWhere(`${queryAlias}.${element} IN :${element}_${customId}`, {
181
+ [`${element}_${customId}`]: value
182
+ });
183
+ break;
184
+ case types_1.LogicOperator.notIn:
185
+ qbOr.andWhere(`${queryAlias}.${element} NOT IN :${element}_${customId}`, {
186
+ [`${element}_${customId}`]: value
187
+ });
188
+ break;
189
+ case types_1.LogicOperator.exists:
190
+ qbOr.andWhere(`${queryAlias}.${element} IS NOT NULL`);
191
+ break;
192
+ case types_1.LogicOperator.notExists:
193
+ qbOr.andWhere(`${queryAlias}.${element} IS NULL`);
194
+ break;
195
+ case types_1.LogicOperator.regexp:
196
+ qbOr.andWhere(`${queryAlias}.${element} LIKE :${element}_${customId}`, {
197
+ [`${element}_${customId}`]: value
198
+ });
199
+ break;
200
+ }
201
+ }
202
+ }));
203
+ }));
204
+ return queryBuilder;
205
+ };
206
+ exports.getQueryBuilderWhere = getQueryBuilderWhere;
207
+ //# sourceMappingURL=getQueryBuilderWhere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getQueryBuilderWhere.js","sourceRoot":"","sources":["../../../../src/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { FindManyOptions } from 'typeorm';
2
+ import { AnyObject, FluentQuery } from '../../../types';
3
+ export interface getTypeOrmWhereParams {
4
+ where?: FluentQuery<AnyObject>['where'];
5
+ }
6
+ /**
7
+ *
8
+ * @param where
9
+ * @returns
10
+ */
11
+ export declare const getTypeOrmWhere: ({ where }: getTypeOrmWhereParams) => FindManyOptions["where"];
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTypeOrmWhere = void 0;
4
+ const js_utils_1 = require("@goatlab/js-utils");
5
+ const typeorm_1 = require("typeorm");
6
+ const clearEmpties_1 = require("../..//util/clearEmpties");
7
+ const types_1 = require("../../../types");
8
+ const extractConditions_1 = require("../../util/extractConditions");
9
+ /**
10
+ *
11
+ * @param where
12
+ * @returns
13
+ */
14
+ const getTypeOrmWhere = ({ where }) => {
15
+ if (!where || Object.keys(where).length === 0) {
16
+ return {};
17
+ }
18
+ // Every element of the array is an OR
19
+ const Filters = { where: [{}] };
20
+ const orConditions = (0, extractConditions_1.extractConditions)(where['OR']);
21
+ const andConditions = (0, extractConditions_1.extractConditions)(where['AND']);
22
+ const copy = js_utils_1.Objects.clone(where);
23
+ if (!!copy['AND']) {
24
+ delete copy['AND'];
25
+ }
26
+ if (!!copy['OR']) {
27
+ delete copy['OR'];
28
+ }
29
+ const rootLevelConditions = (0, extractConditions_1.extractConditions)([copy]);
30
+ for (const condition of andConditions) {
31
+ const { element, operator, value } = condition;
32
+ switch (operator) {
33
+ case types_1.LogicOperator.equals:
34
+ Filters.where[0] = js_utils_1.Objects.nest({
35
+ ...Filters.where[0],
36
+ ...{ [element]: (0, typeorm_1.Equal)(value) }
37
+ });
38
+ break;
39
+ case types_1.LogicOperator.isNot:
40
+ Filters.where[0] = js_utils_1.Objects.nest({
41
+ ...Filters.where[0],
42
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.Equal)(value)) }
43
+ });
44
+ break;
45
+ case types_1.LogicOperator.greaterThan:
46
+ Filters.where[0] = js_utils_1.Objects.nest({
47
+ ...Filters.where[0],
48
+ ...{ [element]: (0, typeorm_1.MoreThan)(value) }
49
+ });
50
+ break;
51
+ case types_1.LogicOperator.greaterOrEqualThan:
52
+ Filters.where[0] = js_utils_1.Objects.nest({
53
+ ...Filters.where[0],
54
+ ...{ [element]: (0, typeorm_1.MoreThanOrEqual)(value) }
55
+ });
56
+ break;
57
+ case types_1.LogicOperator.lessThan:
58
+ Filters.where[0] = js_utils_1.Objects.nest({
59
+ ...Filters.where[0],
60
+ ...{ [element]: (0, typeorm_1.LessThan)(value) }
61
+ });
62
+ break;
63
+ case types_1.LogicOperator.lessOrEqualThan:
64
+ Filters.where[0] = js_utils_1.Objects.nest({
65
+ ...Filters.where[0],
66
+ ...{ [element]: (0, typeorm_1.LessThanOrEqual)(value) }
67
+ });
68
+ break;
69
+ case types_1.LogicOperator.in:
70
+ Filters.where[0] = js_utils_1.Objects.nest({
71
+ ...Filters.where[0],
72
+ ...{ [element]: (0, typeorm_1.In)(value) }
73
+ });
74
+ break;
75
+ case types_1.LogicOperator.notIn:
76
+ Filters.where[0] = js_utils_1.Objects.nest({
77
+ ...Filters.where[0],
78
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.In)(value)) }
79
+ });
80
+ break;
81
+ case types_1.LogicOperator.exists:
82
+ Filters.where[0] = js_utils_1.Objects.nest({
83
+ ...Filters.where[0],
84
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) }
85
+ });
86
+ break;
87
+ case types_1.LogicOperator.notExists:
88
+ Filters.where[0] = js_utils_1.Objects.nest({
89
+ ...Filters.where[0],
90
+ ...{ [element]: (0, typeorm_1.IsNull)() }
91
+ });
92
+ break;
93
+ case types_1.LogicOperator.regexp:
94
+ Filters.where[0] = js_utils_1.Objects.nest({
95
+ ...Filters.where[0],
96
+ ...{ [element]: (0, typeorm_1.Like)(value) }
97
+ });
98
+ break;
99
+ }
100
+ }
101
+ for (const condition of rootLevelConditions) {
102
+ const { element, operator, value } = condition;
103
+ switch (operator) {
104
+ case types_1.LogicOperator.equals:
105
+ Filters.where[0] = js_utils_1.Objects.nest({
106
+ ...Filters.where[0],
107
+ ...{ [element]: (0, typeorm_1.Equal)(value) }
108
+ });
109
+ break;
110
+ case types_1.LogicOperator.isNot:
111
+ Filters.where[0] = js_utils_1.Objects.nest({
112
+ ...Filters.where[0],
113
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.Equal)(value)) }
114
+ });
115
+ break;
116
+ case types_1.LogicOperator.greaterThan:
117
+ Filters.where[0] = js_utils_1.Objects.nest({
118
+ ...Filters.where[0],
119
+ ...{ [element]: (0, typeorm_1.MoreThan)(value) }
120
+ });
121
+ break;
122
+ case types_1.LogicOperator.greaterOrEqualThan:
123
+ Filters.where[0] = js_utils_1.Objects.nest({
124
+ ...Filters.where[0],
125
+ ...{ [element]: (0, typeorm_1.MoreThanOrEqual)(value) }
126
+ });
127
+ break;
128
+ case types_1.LogicOperator.lessThan:
129
+ Filters.where[0] = js_utils_1.Objects.nest({
130
+ ...Filters.where[0],
131
+ ...{ [element]: (0, typeorm_1.LessThan)(value) }
132
+ });
133
+ break;
134
+ case types_1.LogicOperator.lessOrEqualThan:
135
+ Filters.where[0] = js_utils_1.Objects.nest({
136
+ ...Filters.where[0],
137
+ ...{ [element]: (0, typeorm_1.LessThanOrEqual)(value) }
138
+ });
139
+ break;
140
+ case types_1.LogicOperator.in:
141
+ Filters.where[0] = js_utils_1.Objects.nest({
142
+ ...Filters.where[0],
143
+ ...{ [element]: (0, typeorm_1.In)(value) }
144
+ });
145
+ break;
146
+ case types_1.LogicOperator.notIn:
147
+ Filters.where[0] = js_utils_1.Objects.nest({
148
+ ...Filters.where[0],
149
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.In)(value)) }
150
+ });
151
+ break;
152
+ case types_1.LogicOperator.exists:
153
+ Filters.where[0] = js_utils_1.Objects.nest({
154
+ ...Filters.where[0],
155
+ ...{ [element]: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) }
156
+ });
157
+ break;
158
+ case types_1.LogicOperator.notExists:
159
+ Filters.where[0] = js_utils_1.Objects.nest({
160
+ ...Filters.where[0],
161
+ ...{ [element]: (0, typeorm_1.IsNull)() }
162
+ });
163
+ break;
164
+ case types_1.LogicOperator.regexp:
165
+ Filters.where[0] = js_utils_1.Objects.nest({
166
+ ...Filters.where[0],
167
+ ...{ [element]: (0, typeorm_1.Like)(value) }
168
+ });
169
+ break;
170
+ }
171
+ }
172
+ for (const condition of orConditions) {
173
+ const { element, operator, value } = condition;
174
+ switch (operator) {
175
+ case types_1.LogicOperator.equals:
176
+ Filters.where.push({ [element]: (0, typeorm_1.Equal)(value) });
177
+ break;
178
+ case types_1.LogicOperator.isNot:
179
+ Filters.where.push({ [element]: (0, typeorm_1.Not)((0, typeorm_1.Equal)(value)) });
180
+ break;
181
+ case types_1.LogicOperator.greaterThan:
182
+ Filters.where.push({ [element]: (0, typeorm_1.MoreThan)(value) });
183
+ break;
184
+ case types_1.LogicOperator.greaterOrEqualThan:
185
+ Filters.where.push({ [element]: (0, typeorm_1.MoreThanOrEqual)(value) });
186
+ break;
187
+ case types_1.LogicOperator.lessThan:
188
+ Filters.where.push({ [element]: (0, typeorm_1.LessThan)(value) });
189
+ break;
190
+ case types_1.LogicOperator.lessOrEqualThan:
191
+ Filters.where.push({ [element]: (0, typeorm_1.LessThanOrEqual)(value) });
192
+ break;
193
+ case types_1.LogicOperator.in:
194
+ Filters.where.push({ [element]: (0, typeorm_1.In)(value) });
195
+ break;
196
+ case types_1.LogicOperator.notIn:
197
+ Filters.where.push({ [element]: (0, typeorm_1.Not)((0, typeorm_1.In)(value)) });
198
+ break;
199
+ case types_1.LogicOperator.exists:
200
+ Filters.where.push({ [element]: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) });
201
+ break;
202
+ case types_1.LogicOperator.notExists:
203
+ Filters.where.push({ [element]: (0, typeorm_1.IsNull)() });
204
+ break;
205
+ case types_1.LogicOperator.regexp:
206
+ Filters.where.push({ [element]: (0, typeorm_1.Like)(value) });
207
+ break;
208
+ }
209
+ }
210
+ const filtered = (0, clearEmpties_1.clearEmpties)(Filters.where);
211
+ return filtered;
212
+ };
213
+ exports.getTypeOrmWhere = getTypeOrmWhere;
214
+ //# sourceMappingURL=getTypeOrmWhere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTypeOrmWhere.js","sourceRoot":"","sources":["../../../../src/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { z } from 'zod';
2
+ export declare class FurtherNested {
3
+ c: boolean;
4
+ d: string[];
5
+ }
6
+ export declare class Nested {
7
+ a: string[];
8
+ c: number;
9
+ b?: FurtherNested;
10
+ }
11
+ export declare class TypeORMDataModel {
12
+ id: string;
13
+ created?: Date;
14
+ nestedTest?: Nested | undefined;
15
+ order?: number;
16
+ test: boolean;
17
+ }
18
+ export declare const FurtherNestedSchema: z.ZodObject<{
19
+ c: z.ZodBoolean;
20
+ d: z.ZodArray<z.ZodString>;
21
+ }, z.core.$strip>;
22
+ export declare const NestedSchema: z.ZodObject<{
23
+ a: z.ZodArray<z.ZodString>;
24
+ c: z.ZodNumber;
25
+ b: z.ZodOptional<z.ZodObject<{
26
+ c: z.ZodBoolean;
27
+ d: z.ZodArray<z.ZodString>;
28
+ }, z.core.$strip>>;
29
+ }, z.core.$strip>;
30
+ export declare const TypeORMDataModelSchema: z.ZodObject<{
31
+ id: z.ZodOptional<z.ZodString>;
32
+ created: z.ZodOptional<z.ZodDate>;
33
+ order: z.ZodOptional<z.ZodNumber>;
34
+ nestedTest: z.ZodOptional<z.ZodObject<{
35
+ a: z.ZodArray<z.ZodString>;
36
+ c: z.ZodNumber;
37
+ b: z.ZodOptional<z.ZodObject<{
38
+ c: z.ZodBoolean;
39
+ d: z.ZodArray<z.ZodString>;
40
+ }, z.core.$strip>>;
41
+ }, z.core.$strip>>;
42
+ test: z.ZodBoolean;
43
+ }, z.core.$strip>;
44
+ export type TypeORMDataModelInputSchema = z.output<typeof TypeORMDataModelSchema>;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeORMDataModelSchema = exports.NestedSchema = exports.FurtherNestedSchema = exports.TypeORMDataModel = exports.Nested = exports.FurtherNested = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const zod_1 = require("zod");
6
+ const decorators_1 = require("../../../decorators");
7
+ class FurtherNested {
8
+ c;
9
+ d;
10
+ }
11
+ exports.FurtherNested = FurtherNested;
12
+ tslib_1.__decorate([
13
+ decorators_1.f.property({ required: false, type: 'boolean' }),
14
+ tslib_1.__metadata("design:type", Boolean)
15
+ ], FurtherNested.prototype, "c", void 0);
16
+ tslib_1.__decorate([
17
+ decorators_1.f.stringArray({ required: true }),
18
+ tslib_1.__metadata("design:type", Array)
19
+ ], FurtherNested.prototype, "d", void 0);
20
+ class Nested {
21
+ // Array can only be string in SQLite
22
+ a;
23
+ // Non array props of a optional nested object cannot be required
24
+ c;
25
+ b;
26
+ }
27
+ exports.Nested = Nested;
28
+ tslib_1.__decorate([
29
+ decorators_1.f.stringArray({ required: true }),
30
+ tslib_1.__metadata("design:type", Array)
31
+ ], Nested.prototype, "a", void 0);
32
+ tslib_1.__decorate([
33
+ decorators_1.f.property({ required: false, type: 'int' }),
34
+ tslib_1.__metadata("design:type", Number)
35
+ ], Nested.prototype, "c", void 0);
36
+ tslib_1.__decorate([
37
+ decorators_1.f.embed(FurtherNested),
38
+ tslib_1.__metadata("design:type", FurtherNested)
39
+ ], Nested.prototype, "b", void 0);
40
+ let TypeORMDataModel = class TypeORMDataModel {
41
+ id;
42
+ created;
43
+ nestedTest;
44
+ order;
45
+ test;
46
+ };
47
+ exports.TypeORMDataModel = TypeORMDataModel;
48
+ tslib_1.__decorate([
49
+ decorators_1.f.id(),
50
+ tslib_1.__metadata("design:type", String)
51
+ ], TypeORMDataModel.prototype, "id", void 0);
52
+ tslib_1.__decorate([
53
+ decorators_1.f.created(),
54
+ tslib_1.__metadata("design:type", Date)
55
+ ], TypeORMDataModel.prototype, "created", void 0);
56
+ tslib_1.__decorate([
57
+ decorators_1.f.embed(Nested),
58
+ tslib_1.__metadata("design:type", Object)
59
+ ], TypeORMDataModel.prototype, "nestedTest", void 0);
60
+ tslib_1.__decorate([
61
+ decorators_1.f.property({ required: false, type: 'int' }),
62
+ tslib_1.__metadata("design:type", Number)
63
+ ], TypeORMDataModel.prototype, "order", void 0);
64
+ tslib_1.__decorate([
65
+ decorators_1.f.property({ required: true, type: 'boolean' }),
66
+ tslib_1.__metadata("design:type", Boolean)
67
+ ], TypeORMDataModel.prototype, "test", void 0);
68
+ exports.TypeORMDataModel = TypeORMDataModel = tslib_1.__decorate([
69
+ decorators_1.f.entity('numbers')
70
+ ], TypeORMDataModel);
71
+ exports.FurtherNestedSchema = zod_1.z.object({
72
+ c: zod_1.z.boolean(),
73
+ d: zod_1.z.string().array()
74
+ });
75
+ exports.NestedSchema = zod_1.z.object({
76
+ a: zod_1.z.string().array(),
77
+ c: zod_1.z.number(),
78
+ b: exports.FurtherNestedSchema.optional()
79
+ });
80
+ exports.TypeORMDataModelSchema = zod_1.z.object({
81
+ id: zod_1.z.string().optional(),
82
+ created: zod_1.z.date().optional(),
83
+ order: zod_1.z.number().optional(),
84
+ nestedTest: exports.NestedSchema.optional(),
85
+ test: zod_1.z.boolean()
86
+ });
87
+ //# sourceMappingURL=typeOrm.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeOrm.entity.js","sourceRoot":"","sources":["../../../../src/TypeOrmConnector/test/advanced/typeOrm.entity.ts"],"names":[],"mappings":";;;;AAAA,6BAAuB;AACvB,oDAAuC;AAEvC,MAAa,aAAa;IAExB,CAAC,CAAS;IAGV,CAAC,CAAU;CACZ;AAND,sCAMC;AAJC;IADC,cAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;wCACvC;AAGV;IADC,cAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACvB;AAGb,MAAa,MAAM;IACjB,qCAAqC;IAErC,CAAC,CAAU;IAEX,iEAAiE;IAEjE,CAAC,CAAQ;IAGT,CAAC,CAAgB;CAClB;AAXD,wBAWC;AARC;IADC,cAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iCACvB;AAIX;IADC,cAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;iCACpC;AAGT;IADC,cAAC,CAAC,KAAK,CAAC,aAAa,CAAC;sCACnB,aAAa;iCAAA;AAIZ,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAE3B,EAAE,CAAQ;IAGV,OAAO,CAAO;IAGd,UAAU,CAAqB;IAG/B,KAAK,CAAS;IAGd,IAAI,CAAS;CACd,CAAA;AAfY,4CAAgB;AAE3B;IADC,cAAC,CAAC,EAAE,EAAE;;4CACG;AAGV;IADC,cAAC,CAAC,OAAO,EAAE;sCACF,IAAI;iDAAA;AAGd;IADC,cAAC,CAAC,KAAK,CAAC,MAAM,CAAC;;oDACe;AAG/B;IADC,cAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;+CAC/B;AAGd;IADC,cAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;8CACnC;2BAdF,gBAAgB;IAD5B,cAAC,CAAC,MAAM,CAAC,SAAS,CAAC;GACP,gBAAgB,CAe5B;AAEY,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,CAAC,EAAE,OAAC,CAAC,OAAO,EAAE;IACd,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;CACtB,CAAC,CAAA;AAEW,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACrB,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;IACb,CAAC,EAAE,2BAAmB,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAA;AAEW,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,OAAO,EAAE,OAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,UAAU,EAAE,oBAAY,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,OAAC,CAAC,OAAO,EAAE;CAClB,CAAC,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { z } from 'zod';
2
+ export declare class GoatEntity {
3
+ id: string;
4
+ name: string;
5
+ age: number;
6
+ type?: string;
7
+ active?: boolean;
8
+ weight?: number;
9
+ balance?: {
10
+ id: number;
11
+ value: number;
12
+ };
13
+ breed?: {
14
+ type: string;
15
+ family: string;
16
+ };
17
+ created?: Date;
18
+ updated?: Date;
19
+ }
20
+ export declare const GoatSchema: z.ZodObject<{
21
+ id: z.ZodOptional<z.ZodString>;
22
+ name: z.ZodString;
23
+ age: z.ZodNumber;
24
+ type: z.ZodOptional<z.ZodString>;
25
+ active: z.ZodOptional<z.ZodBoolean>;
26
+ weight: z.ZodOptional<z.ZodNumber>;
27
+ balance: z.ZodOptional<z.ZodObject<{
28
+ id: z.ZodNumber;
29
+ value: z.ZodNumber;
30
+ }, z.core.$strip>>;
31
+ breed: z.ZodOptional<z.ZodObject<{
32
+ type: z.ZodString;
33
+ family: z.ZodString;
34
+ }, z.core.$strip>>;
35
+ created: z.ZodOptional<z.ZodDate>;
36
+ updated: z.ZodOptional<z.ZodDate>;
37
+ }, z.core.$strip>;
38
+ export type GoatInputSchema = z.infer<typeof GoatSchema>;