@ptc-org/nestjs-query-graphql 0.30.1 → 1.0.0-alpha.1

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 (452) hide show
  1. package/CHANGELOG.md +149 -149
  2. package/README.md +4 -4
  3. package/package.json +7 -6
  4. package/src/auth/authorizer.d.ts +26 -0
  5. package/src/auth/authorizer.js +12 -0
  6. package/src/auth/authorizer.js.map +1 -0
  7. package/src/auth/default-crud.authorizer.d.ts +6 -0
  8. package/src/auth/default-crud.authorizer.js +74 -0
  9. package/src/auth/default-crud.authorizer.js.map +1 -0
  10. package/src/auth/index.d.ts +3 -0
  11. package/src/auth/index.js +7 -0
  12. package/src/auth/index.js.map +1 -0
  13. package/src/auth/tokens.d.ts +3 -0
  14. package/src/auth/tokens.js +8 -0
  15. package/src/auth/tokens.js.map +1 -0
  16. package/src/common/dto.utils.d.ts +15 -0
  17. package/src/common/dto.utils.js +32 -0
  18. package/src/common/dto.utils.js.map +1 -0
  19. package/src/common/external.utils.d.ts +10 -0
  20. package/src/common/external.utils.js +33 -0
  21. package/src/common/external.utils.js.map +1 -0
  22. package/src/common/index.d.ts +4 -0
  23. package/src/common/index.js +11 -0
  24. package/src/common/index.js.map +1 -0
  25. package/src/common/object.utils.d.ts +1 -0
  26. package/src/common/object.utils.js +14 -0
  27. package/src/common/object.utils.js.map +1 -0
  28. package/src/common/resolver.utils.d.ts +2 -0
  29. package/src/common/resolver.utils.js +19 -0
  30. package/src/common/resolver.utils.js.map +1 -0
  31. package/src/decorators/aggregate-query-param.decorator.d.ts +1 -0
  32. package/src/decorators/aggregate-query-param.decorator.js +21 -0
  33. package/src/decorators/aggregate-query-param.decorator.js.map +1 -0
  34. package/src/decorators/authorize-filter.decorator.d.ts +6 -0
  35. package/src/decorators/authorize-filter.decorator.js +67 -0
  36. package/src/decorators/authorize-filter.decorator.js.map +1 -0
  37. package/src/decorators/authorizer.decorator.d.ts +5 -0
  38. package/src/decorators/authorizer.decorator.js +24 -0
  39. package/src/decorators/authorizer.decorator.js.map +1 -0
  40. package/src/decorators/constants.d.ts +8 -0
  41. package/src/decorators/constants.js +12 -0
  42. package/src/decorators/constants.js.map +1 -0
  43. package/src/decorators/decorator.utils.d.ts +3 -0
  44. package/src/decorators/decorator.utils.js +21 -0
  45. package/src/decorators/decorator.utils.js.map +1 -0
  46. package/src/decorators/filterable-field.decorator.d.ts +47 -0
  47. package/src/decorators/filterable-field.decorator.js +53 -0
  48. package/src/decorators/filterable-field.decorator.js.map +1 -0
  49. package/src/decorators/hook-args.decorator.d.ts +3 -0
  50. package/src/decorators/hook-args.decorator.js +43 -0
  51. package/src/decorators/hook-args.decorator.js.map +1 -0
  52. package/src/decorators/hook.decorator.d.ts +13 -0
  53. package/src/decorators/hook.decorator.js +31 -0
  54. package/src/decorators/hook.decorator.js.map +1 -0
  55. package/src/decorators/id-field.decorator.d.ts +32 -0
  56. package/src/decorators/id-field.decorator.js +48 -0
  57. package/src/decorators/id-field.decorator.js.map +1 -0
  58. package/src/decorators/index.d.ts +21 -0
  59. package/src/decorators/index.js +39 -0
  60. package/src/decorators/index.js.map +1 -0
  61. package/src/decorators/inject-authorizer.decorator.d.ts +2 -0
  62. package/src/decorators/inject-authorizer.decorator.js +8 -0
  63. package/src/decorators/inject-authorizer.decorator.js.map +1 -0
  64. package/src/decorators/inject-custom-authorizer.decorator.d.ts +2 -0
  65. package/src/decorators/inject-custom-authorizer.decorator.js +8 -0
  66. package/src/decorators/inject-custom-authorizer.decorator.js.map +1 -0
  67. package/src/decorators/inject-pub-sub.decorator.d.ts +1 -0
  68. package/src/decorators/inject-pub-sub.decorator.js +8 -0
  69. package/src/decorators/inject-pub-sub.decorator.js.map +1 -0
  70. package/src/decorators/key-set.decorator.d.ts +3 -0
  71. package/src/decorators/key-set.decorator.js +13 -0
  72. package/src/decorators/key-set.decorator.js.map +1 -0
  73. package/src/decorators/query-options.decorator.d.ts +5 -0
  74. package/src/decorators/query-options.decorator.js +16 -0
  75. package/src/decorators/query-options.decorator.js.map +1 -0
  76. package/src/decorators/reference.decorator.d.ts +8 -0
  77. package/src/decorators/reference.decorator.js +36 -0
  78. package/src/decorators/reference.decorator.js.map +1 -0
  79. package/src/decorators/relation.decorator.d.ts +16 -0
  80. package/src/decorators/relation.decorator.js +53 -0
  81. package/src/decorators/relation.decorator.js.map +1 -0
  82. package/src/decorators/resolver-field.decorator.d.ts +11 -0
  83. package/src/decorators/resolver-field.decorator.js +22 -0
  84. package/src/decorators/resolver-field.decorator.js.map +1 -0
  85. package/src/decorators/resolver-method.decorator.d.ts +34 -0
  86. package/src/decorators/resolver-method.decorator.js +35 -0
  87. package/src/decorators/resolver-method.decorator.js.map +1 -0
  88. package/src/decorators/resolver-mutation.decorator.d.ts +10 -0
  89. package/src/decorators/resolver-mutation.decorator.js +21 -0
  90. package/src/decorators/resolver-mutation.decorator.js.map +1 -0
  91. package/src/decorators/resolver-query.decorator.d.ts +13 -0
  92. package/src/decorators/resolver-query.decorator.js +21 -0
  93. package/src/decorators/resolver-query.decorator.js.map +1 -0
  94. package/src/decorators/resolver-subscription.decorator.d.ts +7 -0
  95. package/src/decorators/resolver-subscription.decorator.js +18 -0
  96. package/src/decorators/resolver-subscription.decorator.js.map +1 -0
  97. package/src/decorators/skip-if.decorator.d.ts +8 -0
  98. package/src/decorators/skip-if.decorator.js +18 -0
  99. package/src/decorators/skip-if.decorator.js.map +1 -0
  100. package/src/federation/index.d.ts +1 -0
  101. package/src/federation/index.js +3 -0
  102. package/src/federation/index.js.map +1 -0
  103. package/src/federation/representation.type.d.ts +3 -0
  104. package/src/federation/representation.type.js +3 -0
  105. package/src/federation/representation.type.js.map +1 -0
  106. package/src/hooks/default.hook.d.ts +3 -0
  107. package/src/hooks/default.hook.js +13 -0
  108. package/src/hooks/default.hook.js.map +1 -0
  109. package/src/hooks/hooks.d.ts +14 -0
  110. package/src/hooks/hooks.js +8 -0
  111. package/src/hooks/hooks.js.map +1 -0
  112. package/src/hooks/index.d.ts +4 -0
  113. package/src/hooks/index.js +10 -0
  114. package/src/hooks/index.js.map +1 -0
  115. package/src/hooks/tokens.d.ts +3 -0
  116. package/src/hooks/tokens.js +6 -0
  117. package/src/hooks/tokens.js.map +1 -0
  118. package/src/hooks/types.d.ts +10 -0
  119. package/src/hooks/types.js +15 -0
  120. package/src/hooks/types.js.map +1 -0
  121. package/src/index.d.ts +11 -0
  122. package/src/index.js.map +1 -0
  123. package/src/interceptors/authorizer.interceptor.d.ts +7 -0
  124. package/src/interceptors/authorizer.interceptor.js +33 -0
  125. package/src/interceptors/authorizer.interceptor.js.map +1 -0
  126. package/src/interceptors/hook.interceptor.d.ts +7 -0
  127. package/src/interceptors/hook.interceptor.js +44 -0
  128. package/src/interceptors/hook.interceptor.js.map +1 -0
  129. package/src/interceptors/index.d.ts +2 -0
  130. package/src/interceptors/index.js +6 -0
  131. package/src/interceptors/index.js.map +1 -0
  132. package/src/loader/aggregate-relations.loader.d.ts +16 -0
  133. package/src/loader/aggregate-relations.loader.js +43 -0
  134. package/src/loader/aggregate-relations.loader.js.map +1 -0
  135. package/src/loader/count-relations.loader.d.ts +15 -0
  136. package/src/loader/count-relations.loader.js +42 -0
  137. package/src/loader/count-relations.loader.js.map +1 -0
  138. package/src/loader/dataloader.factory.d.ts +9 -0
  139. package/src/loader/dataloader.factory.js +27 -0
  140. package/src/loader/dataloader.factory.js.map +1 -0
  141. package/src/loader/find-relations.loader.d.ts +14 -0
  142. package/src/loader/find-relations.loader.js +42 -0
  143. package/src/loader/find-relations.loader.js.map +1 -0
  144. package/src/loader/index.d.ts +5 -0
  145. package/src/loader/index.js +9 -0
  146. package/src/loader/index.js.map +1 -0
  147. package/src/loader/query-relations.loader.d.ts +15 -0
  148. package/src/loader/query-relations.loader.js +43 -0
  149. package/src/loader/query-relations.loader.js.map +1 -0
  150. package/src/loader/relations.loader.d.ts +4 -0
  151. package/src/loader/relations.loader.js +3 -0
  152. package/src/loader/relations.loader.js.map +1 -0
  153. package/src/module.d.ts +31 -0
  154. package/src/module.js +55 -0
  155. package/src/module.js.map +1 -0
  156. package/src/providers/authorizer.provider.d.ts +3 -0
  157. package/src/providers/authorizer.provider.js +31 -0
  158. package/src/providers/authorizer.provider.js.map +1 -0
  159. package/src/providers/hook.provider.d.ts +5 -0
  160. package/src/providers/hook.provider.js +33 -0
  161. package/src/providers/hook.provider.js.map +1 -0
  162. package/src/providers/index.d.ts +3 -0
  163. package/src/providers/index.js +7 -0
  164. package/src/providers/index.js.map +1 -0
  165. package/src/providers/resolver.provider.d.ts +26 -0
  166. package/src/providers/resolver.provider.js +112 -0
  167. package/src/providers/resolver.provider.js.map +1 -0
  168. package/src/resolvers/aggregate.resolver.d.ts +16 -0
  169. package/src/resolvers/aggregate.resolver.js +56 -0
  170. package/src/resolvers/aggregate.resolver.js.map +1 -0
  171. package/src/resolvers/create.resolver.d.ts +57 -0
  172. package/src/resolvers/create.resolver.js +190 -0
  173. package/src/resolvers/create.resolver.js.map +1 -0
  174. package/src/resolvers/crud.resolver.d.ts +52 -0
  175. package/src/resolvers/crud.resolver.js +68 -0
  176. package/src/resolvers/crud.resolver.js.map +1 -0
  177. package/src/resolvers/delete.resolver.d.ts +32 -0
  178. package/src/resolvers/delete.resolver.js +186 -0
  179. package/src/resolvers/delete.resolver.js.map +1 -0
  180. package/src/resolvers/federation/federation.resolver.d.ts +4 -0
  181. package/src/resolvers/federation/federation.resolver.js +8 -0
  182. package/src/resolvers/federation/federation.resolver.js.map +1 -0
  183. package/src/resolvers/federation/index.d.ts +1 -0
  184. package/src/resolvers/federation/index.js +6 -0
  185. package/src/resolvers/federation/index.js.map +1 -0
  186. package/src/resolvers/helpers.d.ts +6 -0
  187. package/src/resolvers/helpers.js +38 -0
  188. package/src/resolvers/helpers.js.map +1 -0
  189. package/src/resolvers/index.d.ts +9 -0
  190. package/src/resolvers/index.js +20 -0
  191. package/src/resolvers/index.js.map +1 -0
  192. package/src/resolvers/read.resolver.d.ts +18 -0
  193. package/src/resolvers/read.resolver.js +75 -0
  194. package/src/resolvers/read.resolver.js.map +1 -0
  195. package/src/resolvers/reference.resolver.d.ts +11 -0
  196. package/src/resolvers/reference.resolver.js +41 -0
  197. package/src/resolvers/reference.resolver.js.map +1 -0
  198. package/src/resolvers/relations/aggregate-relations.resolver.d.ts +11 -0
  199. package/src/resolvers/relations/aggregate-relations.resolver.js +76 -0
  200. package/src/resolvers/relations/aggregate-relations.resolver.js.map +1 -0
  201. package/src/resolvers/relations/helpers.d.ts +4 -0
  202. package/src/resolvers/relations/helpers.js +10 -0
  203. package/src/resolvers/relations/helpers.js.map +1 -0
  204. package/src/resolvers/relations/index.d.ts +7 -0
  205. package/src/resolvers/relations/index.js +16 -0
  206. package/src/resolvers/relations/index.js.map +1 -0
  207. package/src/resolvers/relations/read-relations.resolver.d.ts +8 -0
  208. package/src/resolvers/relations/read-relations.resolver.js +114 -0
  209. package/src/resolvers/relations/read-relations.resolver.js.map +1 -0
  210. package/src/resolvers/relations/references-relation.resolver.d.ts +5 -0
  211. package/src/resolvers/relations/references-relation.resolver.js +55 -0
  212. package/src/resolvers/relations/references-relation.resolver.js.map +1 -0
  213. package/src/resolvers/relations/relations.interface.d.ts +78 -0
  214. package/src/resolvers/relations/relations.interface.js +3 -0
  215. package/src/resolvers/relations/relations.interface.js.map +1 -0
  216. package/src/resolvers/relations/relations.resolver.d.ts +8 -0
  217. package/src/resolvers/relations/relations.resolver.js +22 -0
  218. package/src/resolvers/relations/relations.resolver.js.map +1 -0
  219. package/src/resolvers/relations/remove-relations.resolver.d.ts +5 -0
  220. package/src/resolvers/relations/remove-relations.resolver.js +107 -0
  221. package/src/resolvers/relations/remove-relations.resolver.js.map +1 -0
  222. package/src/resolvers/relations/update-relations.resolver.d.ts +5 -0
  223. package/src/resolvers/relations/update-relations.resolver.js +138 -0
  224. package/src/resolvers/relations/update-relations.resolver.js.map +1 -0
  225. package/src/resolvers/resolver.interface.d.ts +47 -0
  226. package/src/resolvers/resolver.interface.js +14 -0
  227. package/src/resolvers/resolver.interface.js.map +1 -0
  228. package/src/resolvers/update.resolver.d.ts +23 -0
  229. package/src/resolvers/update.resolver.js +198 -0
  230. package/src/resolvers/update.resolver.js.map +1 -0
  231. package/src/subscription/index.d.ts +14 -0
  232. package/src/subscription/index.js +32 -0
  233. package/src/subscription/index.js.map +1 -0
  234. package/src/subscription/pub-sub.interface.d.ts +6 -0
  235. package/src/subscription/pub-sub.interface.js +3 -0
  236. package/src/subscription/pub-sub.interface.js.map +1 -0
  237. package/src/types/aggregate/aggregate-args.type.d.ts +9 -0
  238. package/src/types/aggregate/aggregate-args.type.js +30 -0
  239. package/src/types/aggregate/aggregate-args.type.js.map +1 -0
  240. package/src/types/aggregate/aggregate-response.type.d.ts +5 -0
  241. package/src/types/aggregate/aggregate-response.type.js +96 -0
  242. package/src/types/aggregate/aggregate-response.type.js.map +1 -0
  243. package/src/types/aggregate/index.d.ts +2 -0
  244. package/src/types/aggregate/index.js +8 -0
  245. package/src/types/aggregate/index.js.map +1 -0
  246. package/src/types/connection/array-connection.type.d.ts +4 -0
  247. package/src/types/connection/array-connection.type.js +20 -0
  248. package/src/types/connection/array-connection.type.js.map +1 -0
  249. package/src/types/connection/cursor/cursor-connection.type.d.ts +4 -0
  250. package/src/types/connection/cursor/cursor-connection.type.js +72 -0
  251. package/src/types/connection/cursor/cursor-connection.type.js.map +1 -0
  252. package/src/types/connection/cursor/edge.type.d.ts +7 -0
  253. package/src/types/connection/cursor/edge.type.js +36 -0
  254. package/src/types/connection/cursor/edge.type.js.map +1 -0
  255. package/src/types/connection/cursor/index.d.ts +1 -0
  256. package/src/types/connection/cursor/index.js +5 -0
  257. package/src/types/connection/cursor/index.js.map +1 -0
  258. package/src/types/connection/cursor/page-info.type.d.ts +6 -0
  259. package/src/types/connection/cursor/page-info.type.js +49 -0
  260. package/src/types/connection/cursor/page-info.type.js.map +1 -0
  261. package/src/types/connection/cursor/pager/index.d.ts +7 -0
  262. package/src/types/connection/cursor/pager/index.js +16 -0
  263. package/src/types/connection/cursor/pager/index.js.map +1 -0
  264. package/src/types/connection/cursor/pager/interfaces.d.ts +12 -0
  265. package/src/types/connection/cursor/pager/interfaces.js +3 -0
  266. package/src/types/connection/cursor/pager/interfaces.js.map +1 -0
  267. package/src/types/connection/cursor/pager/pager.d.ts +15 -0
  268. package/src/types/connection/cursor/pager/pager.js +83 -0
  269. package/src/types/connection/cursor/pager/pager.js.map +1 -0
  270. package/src/types/connection/cursor/pager/strategies/helpers.d.ts +6 -0
  271. package/src/types/connection/cursor/pager/strategies/helpers.js +24 -0
  272. package/src/types/connection/cursor/pager/strategies/helpers.js.map +1 -0
  273. package/src/types/connection/cursor/pager/strategies/index.d.ts +4 -0
  274. package/src/types/connection/cursor/pager/strategies/index.js +8 -0
  275. package/src/types/connection/cursor/pager/strategies/index.js.map +1 -0
  276. package/src/types/connection/cursor/pager/strategies/keyset.pager-strategy.d.ts +19 -0
  277. package/src/types/connection/cursor/pager/strategies/keyset.pager-strategy.js +123 -0
  278. package/src/types/connection/cursor/pager/strategies/keyset.pager-strategy.js.map +1 -0
  279. package/src/types/connection/cursor/pager/strategies/limit-offset.pager-strategy.d.ts +15 -0
  280. package/src/types/connection/cursor/pager/strategies/limit-offset.pager-strategy.js +88 -0
  281. package/src/types/connection/cursor/pager/strategies/limit-offset.pager-strategy.js.map +1 -0
  282. package/src/types/connection/cursor/pager/strategies/pager-strategy.d.ts +33 -0
  283. package/src/types/connection/cursor/pager/strategies/pager-strategy.js +3 -0
  284. package/src/types/connection/cursor/pager/strategies/pager-strategy.js.map +1 -0
  285. package/src/types/connection/index.d.ts +4 -0
  286. package/src/types/connection/index.js +10 -0
  287. package/src/types/connection/index.js.map +1 -0
  288. package/src/types/connection/interfaces.d.ts +60 -0
  289. package/src/types/connection/interfaces.js +3 -0
  290. package/src/types/connection/interfaces.js.map +1 -0
  291. package/src/types/connection/offset/index.d.ts +2 -0
  292. package/src/types/connection/offset/index.js +6 -0
  293. package/src/types/connection/offset/index.js.map +1 -0
  294. package/src/types/connection/offset/offset-connection.type.d.ts +4 -0
  295. package/src/types/connection/offset/offset-connection.type.js +68 -0
  296. package/src/types/connection/offset/offset-connection.type.js.map +1 -0
  297. package/src/types/connection/offset/offset-page-info.type.d.ts +5 -0
  298. package/src/types/connection/offset/offset-page-info.type.js +35 -0
  299. package/src/types/connection/offset/offset-page-info.type.js.map +1 -0
  300. package/src/types/connection/offset/pager/index.d.ts +4 -0
  301. package/src/types/connection/offset/pager/index.js +8 -0
  302. package/src/types/connection/offset/pager/index.js.map +1 -0
  303. package/src/types/connection/offset/pager/interfaces.d.ts +12 -0
  304. package/src/types/connection/offset/pager/interfaces.js +3 -0
  305. package/src/types/connection/offset/pager/interfaces.js.map +1 -0
  306. package/src/types/connection/offset/pager/pager.d.ts +12 -0
  307. package/src/types/connection/offset/pager/pager.js +62 -0
  308. package/src/types/connection/offset/pager/pager.js.map +1 -0
  309. package/src/types/create-many-input.type.d.ts +10 -0
  310. package/src/types/create-many-input.type.js +42 -0
  311. package/src/types/create-many-input.type.js.map +1 -0
  312. package/src/types/create-one-input.type.d.ts +11 -0
  313. package/src/types/create-one-input.type.js +42 -0
  314. package/src/types/create-one-input.type.js.map +1 -0
  315. package/src/types/cursor.scalar.d.ts +3 -0
  316. package/src/types/cursor.scalar.js +21 -0
  317. package/src/types/cursor.scalar.js.map +1 -0
  318. package/src/types/delete-many-input.type.d.ts +9 -0
  319. package/src/types/delete-many-input.type.js +31 -0
  320. package/src/types/delete-many-input.type.js.map +1 -0
  321. package/src/types/delete-many-reponse.type.d.ts +2 -0
  322. package/src/types/delete-many-reponse.type.js +25 -0
  323. package/src/types/delete-many-reponse.type.js.map +1 -0
  324. package/src/types/delete-one-input.type.d.ts +8 -0
  325. package/src/types/delete-one-input.type.js +27 -0
  326. package/src/types/delete-one-input.type.js.map +1 -0
  327. package/src/types/find-one-args.type.d.ts +8 -0
  328. package/src/types/find-one-args.type.js +27 -0
  329. package/src/types/find-one-args.type.js.map +1 -0
  330. package/src/types/index.d.ts +18 -0
  331. package/src/types/index.js +44 -0
  332. package/src/types/index.js.map +1 -0
  333. package/src/types/mutation-args.type.d.ts +5 -0
  334. package/src/types/mutation-args.type.js +24 -0
  335. package/src/types/mutation-args.type.js.map +1 -0
  336. package/src/types/query/field-comparison/boolean-field-comparison.type.d.ts +3 -0
  337. package/src/types/query/field-comparison/boolean-field-comparison.type.js +35 -0
  338. package/src/types/query/field-comparison/boolean-field-comparison.type.js.map +1 -0
  339. package/src/types/query/field-comparison/date-field-comparison.type.d.ts +3 -0
  340. package/src/types/query/field-comparison/date-field-comparison.type.js +112 -0
  341. package/src/types/query/field-comparison/date-field-comparison.type.js.map +1 -0
  342. package/src/types/query/field-comparison/field-comparison.factory.d.ts +11 -0
  343. package/src/types/query/field-comparison/field-comparison.factory.js +166 -0
  344. package/src/types/query/field-comparison/field-comparison.factory.js.map +1 -0
  345. package/src/types/query/field-comparison/float-field-comparison.type.d.ts +3 -0
  346. package/src/types/query/field-comparison/float-field-comparison.type.js +112 -0
  347. package/src/types/query/field-comparison/float-field-comparison.type.js.map +1 -0
  348. package/src/types/query/field-comparison/index.d.ts +8 -0
  349. package/src/types/query/field-comparison/index.js +12 -0
  350. package/src/types/query/field-comparison/index.js.map +1 -0
  351. package/src/types/query/field-comparison/int-field-comparison.type.d.ts +3 -0
  352. package/src/types/query/field-comparison/int-field-comparison.type.js +112 -0
  353. package/src/types/query/field-comparison/int-field-comparison.type.js.map +1 -0
  354. package/src/types/query/field-comparison/number-field-comparison.type.d.ts +3 -0
  355. package/src/types/query/field-comparison/number-field-comparison.type.js +112 -0
  356. package/src/types/query/field-comparison/number-field-comparison.type.js.map +1 -0
  357. package/src/types/query/field-comparison/string-field-comparison.type.d.ts +3 -0
  358. package/src/types/query/field-comparison/string-field-comparison.type.js +108 -0
  359. package/src/types/query/field-comparison/string-field-comparison.type.js.map +1 -0
  360. package/src/types/query/field-comparison/timestamp-field-comparison.type.d.ts +3 -0
  361. package/src/types/query/field-comparison/timestamp-field-comparison.type.js +112 -0
  362. package/src/types/query/field-comparison/timestamp-field-comparison.type.js.map +1 -0
  363. package/src/types/query/filter.type.d.ts +14 -0
  364. package/src/types/query/filter.type.js +103 -0
  365. package/src/types/query/filter.type.js.map +1 -0
  366. package/src/types/query/helpers.d.ts +1 -0
  367. package/src/types/query/helpers.js +6 -0
  368. package/src/types/query/helpers.js.map +1 -0
  369. package/src/types/query/index.d.ts +4 -0
  370. package/src/types/query/index.js +14 -0
  371. package/src/types/query/index.js.map +1 -0
  372. package/src/types/query/paging/constants.d.ts +5 -0
  373. package/src/types/query/paging/constants.js +10 -0
  374. package/src/types/query/paging/constants.js.map +1 -0
  375. package/src/types/query/paging/cursor-paging.type.d.ts +3 -0
  376. package/src/types/query/paging/cursor-paging.type.js +69 -0
  377. package/src/types/query/paging/cursor-paging.type.js.map +1 -0
  378. package/src/types/query/paging/index.d.ts +5 -0
  379. package/src/types/query/paging/index.js +12 -0
  380. package/src/types/query/paging/index.js.map +1 -0
  381. package/src/types/query/paging/interfaces.d.ts +13 -0
  382. package/src/types/query/paging/interfaces.js +3 -0
  383. package/src/types/query/paging/interfaces.js.map +1 -0
  384. package/src/types/query/paging/none-paging.type.d.ts +3 -0
  385. package/src/types/query/paging/none-paging.type.js +18 -0
  386. package/src/types/query/paging/none-paging.type.js.map +1 -0
  387. package/src/types/query/paging/offset-paging.type.d.ts +3 -0
  388. package/src/types/query/paging/offset-paging.type.js +43 -0
  389. package/src/types/query/paging/offset-paging.type.js.map +1 -0
  390. package/src/types/query/query-args/constants.d.ts +6 -0
  391. package/src/types/query/query-args/constants.js +10 -0
  392. package/src/types/query/query-args/constants.js.map +1 -0
  393. package/src/types/query/query-args/cursor-query-args.type.d.ts +5 -0
  394. package/src/types/query/query-args/cursor-query-args.type.js +61 -0
  395. package/src/types/query/query-args/cursor-query-args.type.js.map +1 -0
  396. package/src/types/query/query-args/index.d.ts +5 -0
  397. package/src/types/query/query-args/index.js +9 -0
  398. package/src/types/query/query-args/index.js.map +1 -0
  399. package/src/types/query/query-args/interfaces.d.ts +45 -0
  400. package/src/types/query/query-args/interfaces.js +3 -0
  401. package/src/types/query/query-args/interfaces.js.map +1 -0
  402. package/src/types/query/query-args/none-paging-query-args.type.d.ts +5 -0
  403. package/src/types/query/query-args/none-paging-query-args.type.js +49 -0
  404. package/src/types/query/query-args/none-paging-query-args.type.js.map +1 -0
  405. package/src/types/query/query-args/offset-query-args.type.d.ts +5 -0
  406. package/src/types/query/query-args/offset-query-args.type.js +60 -0
  407. package/src/types/query/query-args/offset-query-args.type.js.map +1 -0
  408. package/src/types/query/query-args.type.d.ts +8 -0
  409. package/src/types/query/query-args.type.js +33 -0
  410. package/src/types/query/query-args.type.js.map +1 -0
  411. package/src/types/query/sorting.type.d.ts +2 -0
  412. package/src/types/query/sorting.type.js +55 -0
  413. package/src/types/query/sorting.type.js.map +1 -0
  414. package/src/types/relation-input.type.d.ts +6 -0
  415. package/src/types/relation-input.type.js +30 -0
  416. package/src/types/relation-input.type.js.map +1 -0
  417. package/src/types/relations-input.type.d.ts +6 -0
  418. package/src/types/relations-input.type.js +31 -0
  419. package/src/types/relations-input.type.js.map +1 -0
  420. package/src/types/subscription-args.type.d.ts +5 -0
  421. package/src/types/subscription-args.type.js +24 -0
  422. package/src/types/subscription-args.type.js.map +1 -0
  423. package/src/types/subscription-filter-input.type.d.ts +9 -0
  424. package/src/types/subscription-filter-input.type.js +32 -0
  425. package/src/types/subscription-filter-input.type.js.map +1 -0
  426. package/src/types/type.errors.d.ts +5 -0
  427. package/src/types/type.errors.js +11 -0
  428. package/src/types/type.errors.js.map +1 -0
  429. package/src/types/update-many-input.type.d.ts +11 -0
  430. package/src/types/update-many-input.type.js +38 -0
  431. package/src/types/update-many-input.type.js.map +1 -0
  432. package/src/types/update-many-response.type.d.ts +2 -0
  433. package/src/types/update-many-response.type.js +25 -0
  434. package/src/types/update-many-response.type.js.map +1 -0
  435. package/src/types/update-one-input.type.d.ts +11 -0
  436. package/src/types/update-one-input.type.js +36 -0
  437. package/src/types/update-one-input.type.js.map +1 -0
  438. package/src/types/validators/cannot-use-with.validator.d.ts +6 -0
  439. package/src/types/validators/cannot-use-with.validator.js +21 -0
  440. package/src/types/validators/cannot-use-with.validator.js.map +1 -0
  441. package/src/types/validators/cannot-use-without.validator.d.ts +6 -0
  442. package/src/types/validators/cannot-use-without.validator.js +22 -0
  443. package/src/types/validators/cannot-use-without.validator.js.map +1 -0
  444. package/src/types/validators/index.d.ts +3 -0
  445. package/src/types/validators/index.js +7 -0
  446. package/src/types/validators/index.js.map +1 -0
  447. package/src/types/validators/is-undefined.validator.d.ts +3 -0
  448. package/src/types/validators/is-undefined.validator.js +11 -0
  449. package/src/types/validators/is-undefined.validator.js.map +1 -0
  450. package/src/types/validators/property-max.validator.d.ts +6 -0
  451. package/src/types/validators/property-max.validator.js +30 -0
  452. package/src/types/validators/property-max.validator.js.map +1 -0
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LimitOffsetPagerStrategy = void 0;
4
+ const helpers_1 = require("./helpers");
5
+ class LimitOffsetPagerStrategy {
6
+ toCursor(dto, index, pagingOpts) {
7
+ return LimitOffsetPagerStrategy.offsetToCursor(pagingOpts.offset + index);
8
+ }
9
+ fromCursorArgs(cursor) {
10
+ const isForward = (0, helpers_1.isForwardPaging)(cursor);
11
+ const isBackward = (0, helpers_1.isBackwardPaging)(cursor);
12
+ const hasBefore = (0, helpers_1.hasBeforeCursor)(cursor);
13
+ return { limit: this.getLimit(cursor), offset: this.getOffset(cursor), isForward, isBackward, hasBefore };
14
+ }
15
+ isEmptyCursor(opts) {
16
+ return opts.offset === 0;
17
+ }
18
+ createQuery(query, opts, includeExtraNode) {
19
+ const { isBackward } = opts;
20
+ const paging = { limit: opts.limit, offset: opts.offset };
21
+ if (includeExtraNode) {
22
+ // Add 1 to the limit so we will fetch an additional node
23
+ paging.limit += 1;
24
+ // if paging backwards remove one from the offset to check for a previous page.
25
+ if (isBackward) {
26
+ paging.offset -= 1;
27
+ }
28
+ if (paging.offset < 0) {
29
+ // if the offset is < 0 it means we underflowed and that we cant have an extra page.
30
+ paging.offset = 0;
31
+ paging.limit = opts.limit;
32
+ }
33
+ }
34
+ return { ...query, paging };
35
+ }
36
+ checkForExtraNode(nodes, opts) {
37
+ const returnNodes = [...nodes];
38
+ // check if we have an additional node
39
+ // if paging forward that indicates we have a next page
40
+ // if paging backward that indicates we have a previous page.
41
+ const hasExtraNode = nodes.length > opts.limit;
42
+ if (hasExtraNode) {
43
+ // remove the additional node so its not returned in the results.
44
+ if (opts.isForward) {
45
+ returnNodes.pop();
46
+ }
47
+ else {
48
+ returnNodes.shift();
49
+ }
50
+ }
51
+ return returnNodes;
52
+ }
53
+ getLimit(cursor) {
54
+ if ((0, helpers_1.isBackwardPaging)(cursor)) {
55
+ const { last = 0, before } = cursor;
56
+ const offsetFromCursor = before ? LimitOffsetPagerStrategy.cursorToOffset(before) : 0;
57
+ const offset = offsetFromCursor - last;
58
+ // Check to see if our before-page is underflowing past the 0th item
59
+ if (offset < 0) {
60
+ // Adjust the limit with the underflow value
61
+ return Math.max(last + offset, 0);
62
+ }
63
+ return last;
64
+ }
65
+ return cursor.first || 0;
66
+ }
67
+ getOffset(cursor) {
68
+ if ((0, helpers_1.isBackwardPaging)(cursor)) {
69
+ const { last, before } = cursor;
70
+ const beforeOffset = before ? LimitOffsetPagerStrategy.cursorToOffset(before) : 0;
71
+ const offset = last ? beforeOffset - last : 0;
72
+ // Check to see if our before-page is underflowing past the 0th item
73
+ return Math.max(offset, 0);
74
+ }
75
+ const { after } = cursor;
76
+ const offset = after ? LimitOffsetPagerStrategy.cursorToOffset(after) + 1 : 0;
77
+ return Math.max(offset, 0);
78
+ }
79
+ static offsetToCursor(offset) {
80
+ return (0, helpers_1.encodeBase64)(`${this.CURSOR_PREFIX}${String(offset)}`);
81
+ }
82
+ static cursorToOffset(cursor) {
83
+ return parseInt((0, helpers_1.decodeBase64)(cursor).substring(this.CURSOR_PREFIX.length), 10);
84
+ }
85
+ }
86
+ exports.LimitOffsetPagerStrategy = LimitOffsetPagerStrategy;
87
+ LimitOffsetPagerStrategy.CURSOR_PREFIX = 'arrayconnection:';
88
+ //# sourceMappingURL=limit-offset.pager-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limit-offset.pager-strategy.js","sourceRoot":"","sources":["../../../../../../../../../packages/query-graphql/src/types/connection/cursor/pager/strategies/limit-offset.pager-strategy.ts"],"names":[],"mappings":";;;AAGA,uCAA2G;AAE3G,MAAa,wBAAwB;IAGnC,QAAQ,CAAC,GAAQ,EAAE,KAAa,EAAE,UAA4B;QAC5D,OAAO,wBAAwB,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,cAAc,CAAC,MAAwB;QACrC,MAAM,SAAS,GAAG,IAAA,yBAAe,EAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAA,yBAAe,EAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAC5G,CAAC;IAED,aAAa,CAAC,IAAsB;QAClC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,WAAW,CAAuB,KAAQ,EAAE,IAAsB,EAAE,gBAAyB;QAC3F,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1D,IAAI,gBAAgB,EAAE;YACpB,yDAAyD;YACzD,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;YAClB,+EAA+E;YAC/E,IAAI,UAAU,EAAE;gBACd,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;aACpB;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,oFAAoF;gBACpF,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;aAC3B;SACF;QACD,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAE,IAAsB;QACpD,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/B,sCAAsC;QACtC,uDAAuD;QACvD,6DAA6D;QAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/C,IAAI,YAAY,EAAE;YAChB,iEAAiE;YACjE,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,WAAW,CAAC,GAAG,EAAE,CAAC;aACnB;iBAAM;gBACL,WAAW,CAAC,KAAK,EAAE,CAAC;aACrB;SACF;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,QAAQ,CAAC,MAAwB;QACvC,IAAI,IAAA,0BAAgB,EAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YACpC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;YACvC,oEAAoE;YACpE,IAAI,MAAM,GAAG,CAAC,EAAE;gBACd,4CAA4C;gBAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;aACnC;YACD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEO,SAAS,CAAC,MAAwB;QACxC,IAAI,IAAA,0BAAgB,EAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YAChC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAE9C,oEAAoE;YACpE,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC5B;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,MAAc;QAC1C,OAAO,IAAA,sBAAY,EAAC,GAAG,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,MAAc;QAC1C,OAAO,QAAQ,CAAC,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;;AAzFH,4DA0FC;AAzFgB,sCAAa,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { Query, SortField } from '@ptc-org/nestjs-query-core';
2
+ import { CursorPagingType } from '../../../../query';
3
+ export interface OffsetPagingOpts {
4
+ offset: number;
5
+ limit: number;
6
+ isForward: boolean;
7
+ isBackward: boolean;
8
+ hasBefore: boolean;
9
+ }
10
+ export declare type KeySetField<DTO, K extends keyof DTO> = {
11
+ field: K;
12
+ value: DTO[K];
13
+ };
14
+ export declare type KeySetCursorPayload<DTO> = {
15
+ type: 'keyset';
16
+ fields: KeySetField<DTO, keyof DTO>[];
17
+ };
18
+ export interface KeySetPagingOpts<DTO> {
19
+ payload?: KeySetCursorPayload<DTO>;
20
+ limit: number;
21
+ defaultSort: SortField<DTO>[];
22
+ isForward: boolean;
23
+ isBackward: boolean;
24
+ hasBefore: boolean;
25
+ }
26
+ export declare type CursorPagingOpts<DTO> = OffsetPagingOpts | KeySetPagingOpts<DTO>;
27
+ export interface PagerStrategy<DTO> {
28
+ toCursor(dto: DTO, index: number, opts: CursorPagingOpts<DTO>, query: Query<DTO>): string;
29
+ fromCursorArgs(cursor: CursorPagingType): CursorPagingOpts<DTO>;
30
+ isEmptyCursor(opts: CursorPagingOpts<DTO>): boolean;
31
+ createQuery<Q extends Query<DTO>>(query: Q, opts: CursorPagingOpts<DTO>, includeExtraNode: boolean): Q;
32
+ checkForExtraNode(nodes: DTO[], opts: CursorPagingOpts<DTO>): DTO[];
33
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=pager-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pager-strategy.js","sourceRoot":"","sources":["../../../../../../../../../packages/query-graphql/src/types/connection/cursor/pager/strategies/pager-strategy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { StaticConnectionType, OffsetPageInfoType, OffsetConnectionType, EdgeType, PageInfoType, CursorConnectionType, ArrayConnectionType, ConnectionType, ConnectionOptions, CursorConnectionOptions, OffsetConnectionOptions, ArrayConnectionOptions, InferConnectionTypeFromStrategy, } from './interfaces';
2
+ export { getOrCreateCursorConnectionType } from './cursor';
3
+ export { getOrCreateOffsetConnectionType } from './offset';
4
+ export { getOrCreateArrayConnectionType } from './array-connection.type';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOrCreateArrayConnectionType = exports.getOrCreateOffsetConnectionType = exports.getOrCreateCursorConnectionType = void 0;
4
+ var cursor_1 = require("./cursor");
5
+ Object.defineProperty(exports, "getOrCreateCursorConnectionType", { enumerable: true, get: function () { return cursor_1.getOrCreateCursorConnectionType; } });
6
+ var offset_1 = require("./offset");
7
+ Object.defineProperty(exports, "getOrCreateOffsetConnectionType", { enumerable: true, get: function () { return offset_1.getOrCreateOffsetConnectionType; } });
8
+ var array_connection_type_1 = require("./array-connection.type");
9
+ Object.defineProperty(exports, "getOrCreateArrayConnectionType", { enumerable: true, get: function () { return array_connection_type_1.getOrCreateArrayConnectionType; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/types/connection/index.ts"],"names":[],"mappings":";;;AAeA,mCAA2D;AAAlD,yHAAA,+BAA+B,OAAA;AACxC,mCAA2D;AAAlD,yHAAA,+BAA+B,OAAA;AACxC,iEAAyE;AAAhE,uIAAA,8BAA8B,OAAA"}
@@ -0,0 +1,60 @@
1
+ import { Class, Filter, Query } from '@ptc-org/nestjs-query-core';
2
+ import { ReturnTypeFuncValue } from '@nestjs/graphql';
3
+ import { ConnectionCursorType } from '../cursor.scalar';
4
+ import { PagingStrategies } from '../query';
5
+ interface BaseConnectionOptions {
6
+ enableTotalCount?: boolean;
7
+ connectionName?: string;
8
+ disableKeySetPagination?: boolean;
9
+ }
10
+ export interface CursorConnectionOptions extends BaseConnectionOptions {
11
+ pagingStrategy?: PagingStrategies.CURSOR;
12
+ }
13
+ export interface OffsetConnectionOptions extends BaseConnectionOptions {
14
+ pagingStrategy?: PagingStrategies.OFFSET;
15
+ }
16
+ export interface ArrayConnectionOptions extends BaseConnectionOptions {
17
+ pagingStrategy?: PagingStrategies.NONE;
18
+ }
19
+ export declare type ConnectionOptions = CursorConnectionOptions | OffsetConnectionOptions | ArrayConnectionOptions;
20
+ export interface EdgeType<DTO> {
21
+ node: DTO;
22
+ cursor: ConnectionCursorType;
23
+ }
24
+ export interface PageInfoType {
25
+ hasNextPage: boolean;
26
+ hasPreviousPage: boolean;
27
+ startCursor?: ConnectionCursorType | undefined;
28
+ endCursor?: ConnectionCursorType | undefined;
29
+ }
30
+ export declare type CursorConnectionType<DTO> = {
31
+ pageInfo: PageInfoType;
32
+ edges: EdgeType<DTO>[];
33
+ totalCount?: Promise<number>;
34
+ };
35
+ export interface OffsetPageInfoType {
36
+ hasNextPage: boolean;
37
+ hasPreviousPage: boolean;
38
+ }
39
+ export declare type OffsetConnectionType<DTO> = {
40
+ pageInfo: OffsetPageInfoType;
41
+ totalCount?: Promise<number>;
42
+ nodes: DTO[];
43
+ };
44
+ export declare type ArrayConnectionType<DTO> = DTO[];
45
+ export declare type ConnectionType<DTO> = OffsetConnectionType<DTO> | CursorConnectionType<DTO> | ArrayConnectionType<DTO>;
46
+ export declare type InferConnectionTypeFromStrategy<DTO, S extends PagingStrategies> = S extends PagingStrategies.NONE ? ArrayConnectionType<DTO> : S extends PagingStrategies.OFFSET ? OffsetConnectionType<DTO> : S extends PagingStrategies.CURSOR ? CursorConnectionType<DTO> : never;
47
+ export declare type QueryMany<DTO, Q extends Query<DTO>> = (query: Q) => Promise<DTO[]>;
48
+ export declare type Count<DTO> = (filter: Filter<DTO>) => Promise<number>;
49
+ export declare type CountFn = () => Promise<number>;
50
+ export declare type PagerResult = {
51
+ totalCount: CountFn;
52
+ };
53
+ export interface Pager<DTO, R extends PagerResult> {
54
+ page<Q extends Query<DTO>>(queryMany: QueryMany<DTO, Q>, query: Q, count: Count<DTO>): Promise<R>;
55
+ }
56
+ export interface StaticConnectionType<DTO, S extends PagingStrategies> extends Class<InferConnectionTypeFromStrategy<DTO, S>> {
57
+ resolveType: ReturnTypeFuncValue;
58
+ createFromPromise<Q extends Query<DTO>>(queryMany: QueryMany<DTO, Q>, query: Q, count?: Count<DTO>): Promise<InferConnectionTypeFromStrategy<DTO, S>>;
59
+ }
60
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../../packages/query-graphql/src/types/connection/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './offset-connection.type';
2
+ export * from './offset-page-info.type';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./offset-connection.type"), exports);
5
+ (0, tslib_1.__exportStar)(require("./offset-page-info.type"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/query-graphql/src/types/connection/offset/index.ts"],"names":[],"mappings":";;;AAAA,wEAAyC;AACzC,uEAAwC"}
@@ -0,0 +1,4 @@
1
+ import { Class } from '@ptc-org/nestjs-query-core';
2
+ import { PagingStrategies } from '../../query';
3
+ import { OffsetConnectionOptions, StaticConnectionType } from '../interfaces';
4
+ export declare function getOrCreateOffsetConnectionType<DTO>(TItemClass: Class<DTO>, opts: OffsetConnectionOptions): StaticConnectionType<DTO, PagingStrategies.OFFSET>;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOrCreateOffsetConnectionType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_1 = require("@nestjs/graphql");
6
+ const nestjs_query_core_1 = require("@ptc-org/nestjs-query-core");
7
+ const common_1 = require("@nestjs/common");
8
+ const decorators_1 = require("../../../decorators");
9
+ const common_2 = require("../../../common");
10
+ const pager_1 = require("./pager");
11
+ const offset_page_info_type_1 = require("./offset-page-info.type");
12
+ const DEFAULT_COUNT = () => Promise.reject(new common_1.NotImplementedException('totalCount not implemented'));
13
+ const reflector = new nestjs_query_core_1.MapReflector('nestjs-query:offset-connection-type');
14
+ function getOrCreateConnectionName(DTOClass, opts) {
15
+ const { connectionName } = opts;
16
+ if (connectionName) {
17
+ return connectionName;
18
+ }
19
+ const objName = (0, common_2.getGraphqlObjectName)(DTOClass, 'Unable to make OffsetConnectionType.');
20
+ return `${objName}OffsetConnection`;
21
+ }
22
+ function getOrCreateOffsetConnectionType(TItemClass, opts) {
23
+ const connectionName = getOrCreateConnectionName(TItemClass, opts);
24
+ return reflector.memoize(TItemClass, connectionName, () => {
25
+ var AbstractConnection_1;
26
+ const pager = (0, pager_1.createPager)();
27
+ const PIT = (0, offset_page_info_type_1.getOrCreateOffsetPageInfoType)();
28
+ let AbstractConnection = AbstractConnection_1 = class AbstractConnection {
29
+ constructor(pageInfo, nodes, totalCountFn) {
30
+ this.pageInfo = pageInfo ?? { hasNextPage: false, hasPreviousPage: false };
31
+ this.nodes = nodes ?? [];
32
+ this.totalCountFn = totalCountFn ?? DEFAULT_COUNT;
33
+ }
34
+ static get resolveType() {
35
+ return this;
36
+ }
37
+ static async createFromPromise(queryMany, query, count) {
38
+ const { pageInfo, nodes, totalCount } = await pager.page(queryMany, query, count ?? DEFAULT_COUNT);
39
+ return new AbstractConnection_1(
40
+ // create the appropriate graphql instance
41
+ new PIT(pageInfo.hasNextPage, pageInfo.hasPreviousPage), nodes, totalCount);
42
+ }
43
+ get totalCount() {
44
+ return this.totalCountFn();
45
+ }
46
+ };
47
+ (0, tslib_1.__decorate)([
48
+ (0, graphql_1.Field)(() => PIT, { description: 'Paging information' }),
49
+ (0, tslib_1.__metadata)("design:type", Object)
50
+ ], AbstractConnection.prototype, "pageInfo", void 0);
51
+ (0, tslib_1.__decorate)([
52
+ (0, graphql_1.Field)(() => [TItemClass], { description: 'Array of nodes.' }),
53
+ (0, tslib_1.__metadata)("design:type", Array)
54
+ ], AbstractConnection.prototype, "nodes", void 0);
55
+ (0, tslib_1.__decorate)([
56
+ (0, decorators_1.SkipIf)(() => !opts.enableTotalCount, (0, graphql_1.Field)(() => graphql_1.Int, { description: 'Fetch total count of records' })),
57
+ (0, tslib_1.__metadata)("design:type", Promise),
58
+ (0, tslib_1.__metadata)("design:paramtypes", [])
59
+ ], AbstractConnection.prototype, "totalCount", null);
60
+ AbstractConnection = AbstractConnection_1 = (0, tslib_1.__decorate)([
61
+ (0, graphql_1.ObjectType)(connectionName),
62
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, Array, Function])
63
+ ], AbstractConnection);
64
+ return AbstractConnection;
65
+ });
66
+ }
67
+ exports.getOrCreateOffsetConnectionType = getOrCreateOffsetConnectionType;
68
+ //# sourceMappingURL=offset-connection.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offset-connection.type.js","sourceRoot":"","sources":["../../../../../../../packages/query-graphql/src/types/connection/offset/offset-connection.type.ts"],"names":[],"mappings":";;;;AAAA,6CAAyD;AACzD,kEAAwE;AACxE,2CAAyD;AAEzD,oDAA6C;AAU7C,4CAAuD;AACvD,mCAAsC;AACtC,mEAAwE;AAExE,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,gCAAuB,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAEtG,MAAM,SAAS,GAAG,IAAI,gCAAY,CAAC,qCAAqC,CAAC,CAAC;AAE1E,SAAS,yBAAyB,CAAM,QAAoB,EAAE,IAA6B;IACzF,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAChC,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IACD,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAAC,QAAQ,EAAE,sCAAsC,CAAC,CAAC;IACvF,OAAO,GAAG,OAAO,kBAAkB,CAAC;AACtC,CAAC;AAED,SAAgB,+BAA+B,CAC7C,UAAsB,EACtB,IAA6B;IAE7B,MAAM,cAAc,GAAG,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,EAAE;;QACxD,MAAM,KAAK,GAAG,IAAA,mBAAW,GAAO,CAAC;QACjC,MAAM,GAAG,GAAG,IAAA,qDAA6B,GAAE,CAAC;QAE5C,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;YAqBtB,YAAY,QAA6B,EAAE,KAAa,EAAE,YAAsB;gBAC9E,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;gBAC3E,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,aAAa,CAAC;YACpD,CAAC;YAxBD,MAAM,KAAK,WAAW;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC5B,SAA4B,EAC5B,KAAQ,EACR,KAAkB;gBAElB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,IAAI,aAAa,CAAC,CAAC;gBACnG,OAAO,IAAI,oBAAkB;gBAC3B,0CAA0C;gBAC1C,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC,EACvD,KAAK,EACL,UAAU,CACX,CAAC;YACJ,CAAC;YAiBD,IAAI,UAAU;gBACZ,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,CAAC;SACF,CAAA;QATC;YADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;;4DAC1B;QAG9B;YADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;;yDAChD;QAGd;YADC,IAAA,mBAAM,EAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,aAAG,EAAE,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,CAAC;;;4DAGvG;QApCG,kBAAkB;YADvB,IAAA,oBAAU,EAAC,cAAc,CAAC;;WACrB,kBAAkB,CAqCvB;QACD,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAjDD,0EAiDC"}
@@ -0,0 +1,5 @@
1
+ import { OffsetPageInfoType } from '../interfaces';
2
+ export interface OffsetPageInfoTypeConstructor {
3
+ new (hasNextPage: boolean, hasPreviousPage: boolean): OffsetPageInfoType;
4
+ }
5
+ export declare const getOrCreateOffsetPageInfoType: () => OffsetPageInfoTypeConstructor;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOrCreateOffsetPageInfoType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_1 = require("@nestjs/graphql");
6
+ /** @internal */
7
+ let pageInfoType = null;
8
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
9
+ const getOrCreateOffsetPageInfoType = () => {
10
+ if (pageInfoType) {
11
+ return pageInfoType;
12
+ }
13
+ let PageInfoTypeImpl = class PageInfoTypeImpl {
14
+ constructor(hasNextPage, hasPreviousPage) {
15
+ this.hasNextPage = hasNextPage;
16
+ this.hasPreviousPage = hasPreviousPage;
17
+ }
18
+ };
19
+ (0, tslib_1.__decorate)([
20
+ (0, graphql_1.Field)(() => Boolean, { nullable: true, description: 'true if paging forward and there are more records.' }),
21
+ (0, tslib_1.__metadata)("design:type", Boolean)
22
+ ], PageInfoTypeImpl.prototype, "hasNextPage", void 0);
23
+ (0, tslib_1.__decorate)([
24
+ (0, graphql_1.Field)(() => Boolean, { nullable: true, description: 'true if paging backwards and there are more records.' }),
25
+ (0, tslib_1.__metadata)("design:type", Boolean)
26
+ ], PageInfoTypeImpl.prototype, "hasPreviousPage", void 0);
27
+ PageInfoTypeImpl = (0, tslib_1.__decorate)([
28
+ (0, graphql_1.ObjectType)('OffsetPageInfo'),
29
+ (0, tslib_1.__metadata)("design:paramtypes", [Boolean, Boolean])
30
+ ], PageInfoTypeImpl);
31
+ pageInfoType = PageInfoTypeImpl;
32
+ return pageInfoType;
33
+ };
34
+ exports.getOrCreateOffsetPageInfoType = getOrCreateOffsetPageInfoType;
35
+ //# sourceMappingURL=offset-page-info.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offset-page-info.type.js","sourceRoot":"","sources":["../../../../../../../packages/query-graphql/src/types/connection/offset/offset-page-info.type.ts"],"names":[],"mappings":";;;;AAAA,6CAAoD;AAQpD,gBAAgB;AAChB,IAAI,YAAY,GAAqC,IAAI,CAAC;AAC1D,0EAA0E;AACnE,MAAM,6BAA6B,GAAG,GAAkC,EAAE;IAC/E,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC;KACrB;IAGD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;QACpB,YAAY,WAAoB,EAAE,eAAwB;YACxD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACzC,CAAC;KAOF,CAAA;IAJC;QADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC;;yDACvF;IAGrB;QADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sDAAsD,EAAE,CAAC;;6DACrF;IAVrB,gBAAgB;QADrB,IAAA,oBAAU,EAAC,gBAAgB,CAAC;;OACvB,gBAAgB,CAWrB;IAED,YAAY,GAAG,gBAAgB,CAAC;IAChC,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AArBW,QAAA,6BAA6B,iCAqBxC"}
@@ -0,0 +1,4 @@
1
+ import { Pager } from '../../interfaces';
2
+ import { OffsetPagerResult } from './interfaces';
3
+ export { OffsetPagerResult } from './interfaces';
4
+ export declare const createPager: <DTO>() => Pager<DTO, OffsetPagerResult<DTO>>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPager = void 0;
4
+ const pager_1 = require("./pager");
5
+ // default pager factory to plug in addition paging strategies later on.
6
+ const createPager = () => new pager_1.OffsetPager();
7
+ exports.createPager = createPager;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/query-graphql/src/types/connection/offset/pager/index.ts"],"names":[],"mappings":";;;AAEA,mCAAsC;AAItC,wEAAwE;AACjE,MAAM,WAAW,GAAG,GAA4C,EAAE,CAAC,IAAI,mBAAW,EAAO,CAAC;AAApF,QAAA,WAAW,eAAyE"}
@@ -0,0 +1,12 @@
1
+ import { Paging, Query } from '@ptc-org/nestjs-query-core';
2
+ import { OffsetConnectionType, PagerResult } from '../../interfaces';
3
+ export declare type OffsetPagingOpts = Required<Paging>;
4
+ export interface OffsetPagingMeta<DTO> {
5
+ opts: OffsetPagingOpts;
6
+ query: Query<DTO>;
7
+ }
8
+ export interface QueryResults<DTO> {
9
+ nodes: DTO[];
10
+ hasExtraNode: boolean;
11
+ }
12
+ export declare type OffsetPagerResult<DTO> = PagerResult & Omit<OffsetConnectionType<DTO>, 'totalCount'>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../../../../packages/query-graphql/src/types/connection/offset/pager/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { Query } from '@ptc-org/nestjs-query-core';
2
+ import { Count, Pager, QueryMany } from '../../interfaces';
3
+ import { OffsetPagerResult } from './interfaces';
4
+ export declare class OffsetPager<DTO> implements Pager<DTO, OffsetPagerResult<DTO>> {
5
+ page<Q extends Query<DTO>>(queryMany: QueryMany<DTO, Q>, query: Q, count: Count<DTO>): Promise<OffsetPagerResult<DTO>>;
6
+ private isValidPaging;
7
+ private runQuery;
8
+ private getPageMeta;
9
+ private createPagingResult;
10
+ private createQuery;
11
+ private checkForExtraNode;
12
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OffsetPager = void 0;
4
+ const EMPTY_PAGING_RESULTS = () => ({
5
+ nodes: [],
6
+ pageInfo: { hasNextPage: false, hasPreviousPage: false },
7
+ totalCount: () => Promise.resolve(0),
8
+ });
9
+ const DEFAULT_PAGING_META = (query) => ({
10
+ opts: { offset: 0, limit: 0 },
11
+ query,
12
+ });
13
+ class OffsetPager {
14
+ async page(queryMany, query, count) {
15
+ const pagingMeta = this.getPageMeta(query);
16
+ if (!this.isValidPaging(pagingMeta)) {
17
+ return EMPTY_PAGING_RESULTS();
18
+ }
19
+ const results = await this.runQuery(queryMany, query, pagingMeta);
20
+ return this.createPagingResult(results, pagingMeta, () => count(query.filter ?? {}));
21
+ }
22
+ isValidPaging(pagingMeta) {
23
+ return pagingMeta.opts.limit > 0;
24
+ }
25
+ async runQuery(queryMany, query, pagingMeta) {
26
+ const windowedQuery = this.createQuery(query, pagingMeta);
27
+ const nodes = await queryMany(windowedQuery);
28
+ const returnNodes = this.checkForExtraNode(nodes, pagingMeta.opts);
29
+ const hasExtraNode = returnNodes.length !== nodes.length;
30
+ return { nodes: returnNodes, hasExtraNode };
31
+ }
32
+ getPageMeta(query) {
33
+ const { limit = 0, offset = 0 } = query.paging ?? {};
34
+ if (!limit) {
35
+ return DEFAULT_PAGING_META(query);
36
+ }
37
+ return { opts: { limit, offset }, query };
38
+ }
39
+ createPagingResult(results, pagingMeta, totalCount) {
40
+ const { nodes, hasExtraNode } = results;
41
+ const pageInfo = {
42
+ hasNextPage: hasExtraNode,
43
+ // we have a previous page if we are going backwards and have an extra node.
44
+ hasPreviousPage: pagingMeta.opts.offset > 0,
45
+ };
46
+ return { nodes, pageInfo, totalCount };
47
+ }
48
+ createQuery(query, pagingMeta) {
49
+ const { limit, offset } = pagingMeta.opts;
50
+ return { ...query, paging: { limit: limit + 1, offset } };
51
+ }
52
+ checkForExtraNode(nodes, opts) {
53
+ const returnNodes = [...nodes];
54
+ const hasExtraNode = nodes.length > opts.limit;
55
+ if (hasExtraNode) {
56
+ returnNodes.pop();
57
+ }
58
+ return returnNodes;
59
+ }
60
+ }
61
+ exports.OffsetPager = OffsetPager;
62
+ //# sourceMappingURL=pager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pager.js","sourceRoot":"","sources":["../../../../../../../../packages/query-graphql/src/types/connection/offset/pager/pager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Class } from '@ptc-org/nestjs-query-core';
2
+ export interface CreateManyInputType<C> {
3
+ input: C[];
4
+ }
5
+ /**
6
+ * The abstract input type for create many input types.
7
+ * @param fieldName - the name of field to be exposed in the graphql schema
8
+ * @param InputClass - the InputType to be used.
9
+ */
10
+ export declare function CreateManyInputType<C>(fieldName: string, InputClass: Class<C>): Class<CreateManyInputType<C>>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateManyInputType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const class_transformer_1 = require("class-transformer");
6
+ const class_validator_1 = require("class-validator");
7
+ const graphql_1 = require("@nestjs/graphql");
8
+ /**
9
+ * The abstract input type for create many input types.
10
+ * @param fieldName - the name of field to be exposed in the graphql schema
11
+ * @param InputClass - the InputType to be used.
12
+ */
13
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
14
+ function CreateManyInputType(fieldName, InputClass) {
15
+ var _a;
16
+ let CreateManyInput = class CreateManyInput {
17
+ get [_a = fieldName]() {
18
+ return this.input;
19
+ }
20
+ set [fieldName](input) {
21
+ this.input = input;
22
+ }
23
+ };
24
+ (0, tslib_1.__decorate)([
25
+ (0, class_transformer_1.Type)(() => InputClass),
26
+ (0, class_validator_1.ArrayNotEmpty)(),
27
+ (0, class_validator_1.ValidateNested)({ each: true }),
28
+ (0, graphql_1.Field)(() => [InputClass], { description: 'Array of records to create', name: fieldName }),
29
+ (0, tslib_1.__metadata)("design:type", Array)
30
+ ], CreateManyInput.prototype, "input", void 0);
31
+ (0, tslib_1.__decorate)([
32
+ (0, class_transformer_1.Type)(() => InputClass),
33
+ (0, tslib_1.__metadata)("design:type", Array),
34
+ (0, tslib_1.__metadata)("design:paramtypes", [])
35
+ ], CreateManyInput.prototype, _a, null);
36
+ CreateManyInput = (0, tslib_1.__decorate)([
37
+ (0, graphql_1.InputType)({ isAbstract: true })
38
+ ], CreateManyInput);
39
+ return CreateManyInput;
40
+ }
41
+ exports.CreateManyInputType = CreateManyInputType;
42
+ //# sourceMappingURL=create-many-input.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-many-input.type.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/types/create-many-input.type.ts"],"names":[],"mappings":";;;;AACA,yDAAyC;AACzC,qDAAgE;AAChE,6CAAmD;AAMnD;;;;GAIG;AACH,0EAA0E;AAC1E,SAAgB,mBAAmB,CAAI,SAAiB,EAAE,UAAoB;;IAE5E,IAAM,eAAe,GAArB,MAAM,eAAe;QAQnB,IAAI,MAAC,SAAS,CAAC;YACb,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,CAAC,KAAU;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;KACF,CAAA;IAVC;QAJC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC;QACtB,IAAA,+BAAa,GAAE;QACf,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;kDAC9E;IAGZ;QADC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC;;;2CAGtB;IAVG,eAAe;QADpB,IAAA,mBAAS,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;OAC1B,eAAe,CAepB;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAnBD,kDAmBC"}
@@ -0,0 +1,11 @@
1
+ import { Class } from '@ptc-org/nestjs-query-core';
2
+ export interface CreateOneInputType<C> {
3
+ input: C;
4
+ }
5
+ /**
6
+ * The abstract input type for create one operations.
7
+ *
8
+ * @param fieldName - The name of the field to be exposed in the graphql schema
9
+ * @param InputClass - The InputType to be used.
10
+ */
11
+ export declare function CreateOneInputType<C>(fieldName: string, InputClass: Class<C>): Class<CreateOneInputType<C>>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateOneInputType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const class_transformer_1 = require("class-transformer");
6
+ const class_validator_1 = require("class-validator");
7
+ const graphql_1 = require("@nestjs/graphql");
8
+ /**
9
+ * The abstract input type for create one operations.
10
+ *
11
+ * @param fieldName - The name of the field to be exposed in the graphql schema
12
+ * @param InputClass - The InputType to be used.
13
+ */
14
+ // eslint-disable-next-line @typescript-eslint/no-redeclare -- intentional
15
+ function CreateOneInputType(fieldName, InputClass) {
16
+ var _a;
17
+ let CreateOneInput = class CreateOneInput {
18
+ get [_a = fieldName]() {
19
+ return this.input;
20
+ }
21
+ set [fieldName](input) {
22
+ this.input = input;
23
+ }
24
+ };
25
+ (0, tslib_1.__decorate)([
26
+ (0, class_transformer_1.Type)(() => InputClass),
27
+ (0, class_validator_1.ValidateNested)(),
28
+ (0, graphql_1.Field)(() => InputClass, { description: 'The record to create', name: fieldName }),
29
+ (0, tslib_1.__metadata)("design:type", Object)
30
+ ], CreateOneInput.prototype, "input", void 0);
31
+ (0, tslib_1.__decorate)([
32
+ (0, class_transformer_1.Type)(() => InputClass),
33
+ (0, tslib_1.__metadata)("design:type", Object),
34
+ (0, tslib_1.__metadata)("design:paramtypes", [])
35
+ ], CreateOneInput.prototype, _a, null);
36
+ CreateOneInput = (0, tslib_1.__decorate)([
37
+ (0, graphql_1.InputType)({ isAbstract: true })
38
+ ], CreateOneInput);
39
+ return CreateOneInput;
40
+ }
41
+ exports.CreateOneInputType = CreateOneInputType;
42
+ //# sourceMappingURL=create-one-input.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-one-input.type.js","sourceRoot":"","sources":["../../../../../packages/query-graphql/src/types/create-one-input.type.ts"],"names":[],"mappings":";;;;AACA,yDAAyC;AACzC,qDAAiD;AACjD,6CAAmD;AAMnD;;;;;GAKG;AACH,0EAA0E;AAC1E,SAAgB,kBAAkB,CAAI,SAAiB,EAAE,UAAoB;;IAE3E,IAAM,cAAc,GAApB,MAAM,cAAc;QAOlB,IAAI,MAAC,SAAS,CAAC;YACb,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,CAAC,KAAQ;YACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;KACF,CAAA;IAVC;QAHC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC;QACtB,IAAA,gCAAc,GAAE;QAChB,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;iDACxE;IAGV;QADC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC;;;0CAGtB;IATG,cAAc;QADnB,IAAA,mBAAS,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;OAC1B,cAAc,CAcnB;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAlBD,gDAkBC"}
@@ -0,0 +1,3 @@
1
+ import { GraphQLScalarType } from 'graphql';
2
+ export declare type ConnectionCursorType = string;
3
+ export declare const ConnectionCursorScalar: GraphQLScalarType;