@graphql-box/connection-resolver 4.1.3 → 5.0.0

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 (490) hide show
  1. package/README.md +1 -5
  2. package/dist/cjs/index.cjs +703 -0
  3. package/dist/cjs/index.cjs.map +1 -0
  4. package/dist/esm/index.mjs +700 -0
  5. package/dist/esm/index.mjs.map +1 -0
  6. package/dist/types/cjs/__testUtils__/generateCursorCache.d.cts +10 -0
  7. package/dist/types/cjs/__testUtils__/generateCursorCache.d.cts.map +1 -0
  8. package/dist/types/cjs/__testUtils__/generatePageResponse.d.cts +9 -0
  9. package/dist/types/cjs/__testUtils__/generatePageResponse.d.cts.map +1 -0
  10. package/dist/types/cjs/__testUtils__/generatePages.d.cts +2 -0
  11. package/dist/types/cjs/__testUtils__/generatePages.d.cts.map +1 -0
  12. package/dist/types/cjs/helpers/cacheCursors.d.cts +12 -0
  13. package/dist/types/cjs/helpers/cacheCursors.d.cts.map +1 -0
  14. package/dist/types/cjs/helpers/extractEdges.d.cts +3 -0
  15. package/dist/types/cjs/helpers/extractEdges.d.cts.map +1 -0
  16. package/dist/types/cjs/helpers/extractNodes.d.cts +3 -0
  17. package/dist/types/cjs/helpers/extractNodes.d.cts.map +1 -0
  18. package/dist/types/cjs/helpers/getCount.d.cts +3 -0
  19. package/dist/types/cjs/helpers/getCount.d.cts.map +1 -0
  20. package/dist/types/cjs/helpers/getCurrentPageStartAndEndIndexes.d.cts +14 -0
  21. package/dist/types/cjs/helpers/getCurrentPageStartAndEndIndexes.d.cts.map +1 -0
  22. package/dist/types/cjs/helpers/getCursor.d.cts +3 -0
  23. package/dist/types/cjs/helpers/getCursor.d.cts.map +1 -0
  24. package/dist/types/cjs/helpers/getDirection.d.cts +3 -0
  25. package/dist/types/cjs/helpers/getDirection.d.cts.map +1 -0
  26. package/dist/types/cjs/helpers/getInRangeCachedEdges.d.cts +8 -0
  27. package/dist/types/cjs/helpers/getInRangeCachedEdges.d.cts.map +1 -0
  28. package/dist/types/cjs/helpers/getIndexesOnCurrentPage.d.cts +10 -0
  29. package/dist/types/cjs/helpers/getIndexesOnCurrentPage.d.cts.map +1 -0
  30. package/dist/types/cjs/helpers/getIndexesOnLastPage.d.cts +3 -0
  31. package/dist/types/cjs/helpers/getIndexesOnLastPage.d.cts.map +1 -0
  32. package/dist/types/cjs/helpers/getPageNumbersToRequest.d.cts +12 -0
  33. package/dist/types/cjs/helpers/getPageNumbersToRequest.d.cts.map +1 -0
  34. package/dist/types/cjs/helpers/getPagesMissingFromCache.d.cts +3 -0
  35. package/dist/types/cjs/helpers/getPagesMissingFromCache.d.cts.map +1 -0
  36. package/dist/types/cjs/helpers/getResultsOnLastPage.d.cts +6 -0
  37. package/dist/types/cjs/helpers/getResultsOnLastPage.d.cts.map +1 -0
  38. package/dist/types/cjs/helpers/getStartAndEndCursors.d.cts +4 -0
  39. package/dist/types/cjs/helpers/getStartAndEndCursors.d.cts.map +1 -0
  40. package/dist/types/cjs/helpers/getStartAndEndIndexes.d.cts +15 -0
  41. package/dist/types/cjs/helpers/getStartAndEndIndexes.d.cts.map +1 -0
  42. package/dist/types/cjs/helpers/getStartAndEndPageNumbers.d.cts +13 -0
  43. package/dist/types/cjs/helpers/getStartAndEndPageNumbers.d.cts.map +1 -0
  44. package/dist/types/cjs/helpers/hasPreviousNextPage.d.cts +14 -0
  45. package/dist/types/cjs/helpers/hasPreviousNextPage.d.cts.map +1 -0
  46. package/dist/types/cjs/helpers/isCursorFirst.d.cts +7 -0
  47. package/dist/types/cjs/helpers/isCursorFirst.d.cts.map +1 -0
  48. package/dist/types/cjs/helpers/isCursorLast.d.cts +10 -0
  49. package/dist/types/cjs/helpers/isCursorLast.d.cts.map +1 -0
  50. package/dist/types/cjs/helpers/isCursorSupplied.d.cts +4 -0
  51. package/dist/types/cjs/helpers/isCursorSupplied.d.cts.map +1 -0
  52. package/dist/types/cjs/helpers/isFirstPage.d.cts +2 -0
  53. package/dist/types/cjs/helpers/isFirstPage.d.cts.map +1 -0
  54. package/dist/types/cjs/helpers/isLastPage.d.cts +6 -0
  55. package/dist/types/cjs/helpers/isLastPage.d.cts.map +1 -0
  56. package/dist/types/cjs/helpers/makeEdges.d.cts +6 -0
  57. package/dist/types/cjs/helpers/makeEdges.d.cts.map +1 -0
  58. package/dist/types/cjs/helpers/makeEntry.d.cts +10 -0
  59. package/dist/types/cjs/helpers/makeEntry.d.cts.map +1 -0
  60. package/dist/types/cjs/helpers/mergeCachedEdges.d.cts +3 -0
  61. package/dist/types/cjs/helpers/mergeCachedEdges.d.cts.map +1 -0
  62. package/dist/types/cjs/helpers/removeConnectionInputOptions.d.cts +2 -0
  63. package/dist/types/cjs/helpers/removeConnectionInputOptions.d.cts.map +1 -0
  64. package/dist/types/cjs/helpers/requestAndCachePages.d.cts +21 -0
  65. package/dist/types/cjs/helpers/requestAndCachePages.d.cts.map +1 -0
  66. package/dist/types/cjs/helpers/requestOutstandingPages.d.cts +18 -0
  67. package/dist/types/cjs/helpers/requestOutstandingPages.d.cts.map +1 -0
  68. package/dist/types/cjs/helpers/resolveConnection.d.cts +24 -0
  69. package/dist/types/cjs/helpers/resolveConnection.d.cts.map +1 -0
  70. package/dist/types/cjs/helpers/retrieveCachedConnection.d.cts +25 -0
  71. package/dist/types/cjs/helpers/retrieveCachedConnection.d.cts.map +1 -0
  72. package/dist/types/cjs/helpers/retrieveCachedEdgesByPage.d.cts +11 -0
  73. package/dist/types/cjs/helpers/retrieveCachedEdgesByPage.d.cts.map +1 -0
  74. package/dist/types/cjs/helpers/retrieveEntry.d.cts +8 -0
  75. package/dist/types/cjs/helpers/retrieveEntry.d.cts.map +1 -0
  76. package/dist/types/cjs/helpers/validateCursor.d.cts +10 -0
  77. package/dist/types/cjs/helpers/validateCursor.d.cts.map +1 -0
  78. package/dist/types/cjs/index.d.cts +4 -0
  79. package/dist/types/cjs/index.d.cts.map +1 -0
  80. package/dist/types/cjs/main/index.d.cts +5 -0
  81. package/dist/types/cjs/main/index.d.cts.map +1 -0
  82. package/{lib/types/defs/index.d.ts → dist/types/cjs/types.d.cts} +22 -27
  83. package/dist/types/cjs/types.d.cts.map +1 -0
  84. package/dist/types/esm/__testUtils__/generateCursorCache.d.ts +10 -0
  85. package/dist/types/esm/__testUtils__/generateCursorCache.d.ts.map +1 -0
  86. package/dist/types/esm/__testUtils__/generatePageResponse.d.ts +9 -0
  87. package/dist/types/esm/__testUtils__/generatePageResponse.d.ts.map +1 -0
  88. package/dist/types/esm/__testUtils__/generatePages.d.ts +2 -0
  89. package/dist/types/esm/__testUtils__/generatePages.d.ts.map +1 -0
  90. package/dist/types/esm/helpers/cacheCursors.d.ts +12 -0
  91. package/dist/types/esm/helpers/cacheCursors.d.ts.map +1 -0
  92. package/dist/types/esm/helpers/extractEdges.d.ts +3 -0
  93. package/dist/types/esm/helpers/extractEdges.d.ts.map +1 -0
  94. package/dist/types/esm/helpers/extractNodes.d.ts +3 -0
  95. package/dist/types/esm/helpers/extractNodes.d.ts.map +1 -0
  96. package/dist/types/esm/helpers/getCount.d.ts +3 -0
  97. package/dist/types/esm/helpers/getCount.d.ts.map +1 -0
  98. package/{lib/types → dist/types/esm}/helpers/getCurrentPageStartAndEndIndexes.d.ts +3 -3
  99. package/dist/types/esm/helpers/getCurrentPageStartAndEndIndexes.d.ts.map +1 -0
  100. package/dist/types/esm/helpers/getCursor.d.ts +3 -0
  101. package/dist/types/esm/helpers/getCursor.d.ts.map +1 -0
  102. package/dist/types/esm/helpers/getDirection.d.ts +3 -0
  103. package/dist/types/esm/helpers/getDirection.d.ts.map +1 -0
  104. package/dist/types/esm/helpers/getInRangeCachedEdges.d.ts +8 -0
  105. package/dist/types/esm/helpers/getInRangeCachedEdges.d.ts.map +1 -0
  106. package/dist/types/esm/helpers/getIndexesOnCurrentPage.d.ts +10 -0
  107. package/dist/types/esm/helpers/getIndexesOnCurrentPage.d.ts.map +1 -0
  108. package/dist/types/esm/helpers/getIndexesOnLastPage.d.ts +3 -0
  109. package/dist/types/esm/helpers/getIndexesOnLastPage.d.ts.map +1 -0
  110. package/dist/types/esm/helpers/getPageNumbersToRequest.d.ts +12 -0
  111. package/dist/types/esm/helpers/getPageNumbersToRequest.d.ts.map +1 -0
  112. package/dist/types/esm/helpers/getPagesMissingFromCache.d.ts +3 -0
  113. package/dist/types/esm/helpers/getPagesMissingFromCache.d.ts.map +1 -0
  114. package/dist/types/esm/helpers/getResultsOnLastPage.d.ts +6 -0
  115. package/dist/types/esm/helpers/getResultsOnLastPage.d.ts.map +1 -0
  116. package/dist/types/esm/helpers/getStartAndEndCursors.d.ts +4 -0
  117. package/dist/types/esm/helpers/getStartAndEndCursors.d.ts.map +1 -0
  118. package/dist/types/esm/helpers/getStartAndEndIndexes.d.ts +15 -0
  119. package/dist/types/esm/helpers/getStartAndEndIndexes.d.ts.map +1 -0
  120. package/dist/types/esm/helpers/getStartAndEndPageNumbers.d.ts +13 -0
  121. package/dist/types/esm/helpers/getStartAndEndPageNumbers.d.ts.map +1 -0
  122. package/{lib/types → dist/types/esm}/helpers/hasPreviousNextPage.d.ts +3 -3
  123. package/dist/types/esm/helpers/hasPreviousNextPage.d.ts.map +1 -0
  124. package/dist/types/esm/helpers/isCursorFirst.d.ts +7 -0
  125. package/dist/types/esm/helpers/isCursorFirst.d.ts.map +1 -0
  126. package/dist/types/esm/helpers/isCursorLast.d.ts +10 -0
  127. package/dist/types/esm/helpers/isCursorLast.d.ts.map +1 -0
  128. package/dist/types/esm/helpers/isCursorSupplied.d.ts +4 -0
  129. package/dist/types/esm/helpers/isCursorSupplied.d.ts.map +1 -0
  130. package/dist/types/esm/helpers/isFirstPage.d.ts +2 -0
  131. package/dist/types/esm/helpers/isFirstPage.d.ts.map +1 -0
  132. package/dist/types/esm/helpers/isLastPage.d.ts +6 -0
  133. package/dist/types/esm/helpers/isLastPage.d.ts.map +1 -0
  134. package/dist/types/esm/helpers/makeEdges.d.ts +6 -0
  135. package/dist/types/esm/helpers/makeEdges.d.ts.map +1 -0
  136. package/dist/types/esm/helpers/makeEntry.d.ts +10 -0
  137. package/dist/types/esm/helpers/makeEntry.d.ts.map +1 -0
  138. package/dist/types/esm/helpers/mergeCachedEdges.d.ts +3 -0
  139. package/dist/types/esm/helpers/mergeCachedEdges.d.ts.map +1 -0
  140. package/dist/types/esm/helpers/removeConnectionInputOptions.d.ts +2 -0
  141. package/dist/types/esm/helpers/removeConnectionInputOptions.d.ts.map +1 -0
  142. package/dist/types/esm/helpers/requestAndCachePages.d.ts +21 -0
  143. package/dist/types/esm/helpers/requestAndCachePages.d.ts.map +1 -0
  144. package/dist/types/esm/helpers/requestOutstandingPages.d.ts +18 -0
  145. package/dist/types/esm/helpers/requestOutstandingPages.d.ts.map +1 -0
  146. package/dist/types/esm/helpers/resolveConnection.d.ts +24 -0
  147. package/dist/types/esm/helpers/resolveConnection.d.ts.map +1 -0
  148. package/{lib/types → dist/types/esm}/helpers/retrieveCachedConnection.d.ts +5 -6
  149. package/dist/types/esm/helpers/retrieveCachedConnection.d.ts.map +1 -0
  150. package/dist/types/esm/helpers/retrieveCachedEdgesByPage.d.ts +11 -0
  151. package/dist/types/esm/helpers/retrieveCachedEdgesByPage.d.ts.map +1 -0
  152. package/dist/types/esm/helpers/retrieveEntry.d.ts +8 -0
  153. package/dist/types/esm/helpers/retrieveEntry.d.ts.map +1 -0
  154. package/dist/types/esm/helpers/validateCursor.d.ts +10 -0
  155. package/dist/types/esm/helpers/validateCursor.d.ts.map +1 -0
  156. package/dist/types/esm/index.d.ts +4 -0
  157. package/dist/types/esm/index.d.ts.map +1 -0
  158. package/dist/types/esm/main/index.d.ts +5 -0
  159. package/dist/types/esm/main/index.d.ts.map +1 -0
  160. package/dist/types/esm/types.d.ts +77 -0
  161. package/dist/types/esm/types.d.ts.map +1 -0
  162. package/dist/types/tsconfig.build.tsbuildinfo +1 -0
  163. package/package.json +54 -38
  164. package/src/__testUtils__/generateCursorCache.ts +20 -14
  165. package/src/__testUtils__/generatePageResponse.ts +17 -12
  166. package/src/__testUtils__/generatePages.ts +5 -5
  167. package/src/helpers/cacheCursors.ts +10 -7
  168. package/src/helpers/extractEdges.ts +3 -3
  169. package/src/helpers/extractNodes.ts +2 -2
  170. package/src/helpers/getCount.test.ts +10 -6
  171. package/src/helpers/getCount.ts +2 -2
  172. package/src/helpers/getCurrentPageStartAndEndIndexes.ts +1 -1
  173. package/src/helpers/getCursor.test.ts +10 -6
  174. package/src/helpers/getCursor.ts +2 -2
  175. package/src/helpers/getDirection.test.ts +10 -6
  176. package/src/helpers/getDirection.ts +3 -1
  177. package/src/helpers/getInRangeCachedEdges.ts +10 -7
  178. package/src/helpers/getIndexesOnCurrentPage.test.ts +14 -10
  179. package/src/helpers/getIndexesOnCurrentPage.ts +11 -6
  180. package/src/helpers/getIndexesOnLastPage.test.ts +10 -6
  181. package/src/helpers/getIndexesOnLastPage.ts +3 -2
  182. package/src/helpers/getPageNumbersToRequest.test.ts +15 -11
  183. package/src/helpers/getPageNumbersToRequest.ts +17 -6
  184. package/src/helpers/getPagesMissingFromCache.ts +5 -5
  185. package/src/helpers/getResultsOnLastPage.test.ts +10 -6
  186. package/src/helpers/getResultsOnLastPage.ts +1 -1
  187. package/src/helpers/getStartAndEndCursors.ts +1 -1
  188. package/src/helpers/getStartAndEndIndexes.test.ts +77 -57
  189. package/src/helpers/getStartAndEndIndexes.ts +28 -22
  190. package/src/helpers/getStartAndEndPageNumbers.test.ts +46 -28
  191. package/src/helpers/getStartAndEndPageNumbers.ts +12 -12
  192. package/src/helpers/hasPreviousNextPage.test.ts +17 -8
  193. package/src/helpers/hasPreviousNextPage.ts +6 -4
  194. package/src/helpers/isCursorFirst.test.ts +13 -7
  195. package/src/helpers/isCursorFirst.ts +3 -2
  196. package/src/helpers/isCursorLast.test.ts +27 -23
  197. package/src/helpers/isCursorLast.ts +4 -4
  198. package/src/helpers/isCursorSupplied.test.ts +18 -10
  199. package/src/helpers/isCursorSupplied.ts +3 -2
  200. package/src/helpers/isFirstPage.test.ts +10 -6
  201. package/src/helpers/isFirstPage.ts +1 -1
  202. package/src/helpers/isLastPage.test.ts +10 -6
  203. package/src/helpers/isLastPage.ts +1 -1
  204. package/src/helpers/makeEdges.ts +3 -3
  205. package/src/helpers/makeEntry.ts +8 -5
  206. package/src/helpers/mergeCachedEdges.ts +5 -5
  207. package/src/helpers/removeConnectionInputOptions.test.ts +10 -8
  208. package/src/helpers/removeConnectionInputOptions.ts +4 -3
  209. package/src/helpers/requestAndCachePages.ts +14 -11
  210. package/src/helpers/requestOutstandingPages.ts +18 -19
  211. package/src/helpers/resolveConnection.ts +20 -34
  212. package/src/helpers/retrieveCachedConnection.test.ts +703 -338
  213. package/src/helpers/retrieveCachedConnection.ts +28 -20
  214. package/src/helpers/retrieveCachedEdgesByPage.ts +10 -10
  215. package/src/helpers/retrieveEntry.ts +32 -0
  216. package/src/helpers/validateCursor.test.ts +88 -61
  217. package/src/helpers/validateCursor.ts +30 -26
  218. package/src/index.ts +3 -3
  219. package/src/main/__snapshots__/index.test.ts.snap +258 -258
  220. package/src/main/index.test.ts +405 -287
  221. package/src/main/index.ts +37 -35
  222. package/src/{defs/index.ts → types.ts} +12 -18
  223. package/tsconfig.build.json +10 -0
  224. package/tsconfig.json +11 -0
  225. package/lib/browser/index.js +0 -2
  226. package/lib/browser/index.js.map +0 -1
  227. package/lib/browser/production.analysis.txt +0 -314
  228. package/lib/main/__testUtils__/generateCursorCache.js +0 -88
  229. package/lib/main/__testUtils__/generateCursorCache.js.map +0 -1
  230. package/lib/main/__testUtils__/generatePageResponse.js +0 -33
  231. package/lib/main/__testUtils__/generatePageResponse.js.map +0 -1
  232. package/lib/main/__testUtils__/generatePages.js +0 -23
  233. package/lib/main/__testUtils__/generatePages.js.map +0 -1
  234. package/lib/main/defs/index.js +0 -2
  235. package/lib/main/defs/index.js.map +0 -1
  236. package/lib/main/helpers/cacheCursors.js +0 -40
  237. package/lib/main/helpers/cacheCursors.js.map +0 -1
  238. package/lib/main/helpers/extractEdges.js +0 -11
  239. package/lib/main/helpers/extractEdges.js.map +0 -1
  240. package/lib/main/helpers/extractNodes.js +0 -11
  241. package/lib/main/helpers/extractNodes.js.map +0 -1
  242. package/lib/main/helpers/getCount.js +0 -14
  243. package/lib/main/helpers/getCount.js.map +0 -1
  244. package/lib/main/helpers/getCurrentPageStartAndEndIndexes.js +0 -23
  245. package/lib/main/helpers/getCurrentPageStartAndEndIndexes.js.map +0 -1
  246. package/lib/main/helpers/getCursor.js +0 -14
  247. package/lib/main/helpers/getCursor.js.map +0 -1
  248. package/lib/main/helpers/getDirection.js +0 -11
  249. package/lib/main/helpers/getDirection.js.map +0 -1
  250. package/lib/main/helpers/getInRangeCachedEdges.js +0 -36
  251. package/lib/main/helpers/getInRangeCachedEdges.js.map +0 -1
  252. package/lib/main/helpers/getIndexesOnCurrentPage.js +0 -30
  253. package/lib/main/helpers/getIndexesOnCurrentPage.js.map +0 -1
  254. package/lib/main/helpers/getIndexesOnLastPage.js +0 -21
  255. package/lib/main/helpers/getIndexesOnLastPage.js.map +0 -1
  256. package/lib/main/helpers/getPageNumbersToRequest.js +0 -43
  257. package/lib/main/helpers/getPageNumbersToRequest.js.map +0 -1
  258. package/lib/main/helpers/getPagesMissingFromCache.js +0 -19
  259. package/lib/main/helpers/getPagesMissingFromCache.js.map +0 -1
  260. package/lib/main/helpers/getResultsOnLastPage.js +0 -17
  261. package/lib/main/helpers/getResultsOnLastPage.js.map +0 -1
  262. package/lib/main/helpers/getStartAndEndCursors.js +0 -22
  263. package/lib/main/helpers/getStartAndEndCursors.js.map +0 -1
  264. package/lib/main/helpers/getStartAndEndIndexes.js +0 -105
  265. package/lib/main/helpers/getStartAndEndIndexes.js.map +0 -1
  266. package/lib/main/helpers/getStartAndEndPageNumbers.js +0 -51
  267. package/lib/main/helpers/getStartAndEndPageNumbers.js.map +0 -1
  268. package/lib/main/helpers/hasPreviousNextPage.js +0 -33
  269. package/lib/main/helpers/hasPreviousNextPage.js.map +0 -1
  270. package/lib/main/helpers/isCursorFirst.js +0 -17
  271. package/lib/main/helpers/isCursorFirst.js.map +0 -1
  272. package/lib/main/helpers/isCursorLast.js +0 -27
  273. package/lib/main/helpers/isCursorLast.js.map +0 -1
  274. package/lib/main/helpers/isCursorSupplied.js +0 -14
  275. package/lib/main/helpers/isCursorSupplied.js.map +0 -1
  276. package/lib/main/helpers/isFirstPage.js +0 -11
  277. package/lib/main/helpers/isFirstPage.js.map +0 -1
  278. package/lib/main/helpers/isLastPage.js +0 -14
  279. package/lib/main/helpers/isLastPage.js.map +0 -1
  280. package/lib/main/helpers/makeEdges.js +0 -14
  281. package/lib/main/helpers/makeEdges.js.map +0 -1
  282. package/lib/main/helpers/makeEntry.js +0 -38
  283. package/lib/main/helpers/makeEntry.js.map +0 -1
  284. package/lib/main/helpers/mergeCachedEdges.js +0 -21
  285. package/lib/main/helpers/mergeCachedEdges.js.map +0 -1
  286. package/lib/main/helpers/removeConnectionInputOptions.js +0 -17
  287. package/lib/main/helpers/removeConnectionInputOptions.js.map +0 -1
  288. package/lib/main/helpers/requestAndCachePages.js +0 -66
  289. package/lib/main/helpers/requestAndCachePages.js.map +0 -1
  290. package/lib/main/helpers/requestOutstandingPages.js +0 -67
  291. package/lib/main/helpers/requestOutstandingPages.js.map +0 -1
  292. package/lib/main/helpers/resolveConnection.js +0 -95
  293. package/lib/main/helpers/resolveConnection.js.map +0 -1
  294. package/lib/main/helpers/retrieveCachedConnection.js +0 -90
  295. package/lib/main/helpers/retrieveCachedConnection.js.map +0 -1
  296. package/lib/main/helpers/retrieveCachedEdgesByPage.js +0 -45
  297. package/lib/main/helpers/retrieveCachedEdgesByPage.js.map +0 -1
  298. package/lib/main/helpers/validateCursor.js +0 -88
  299. package/lib/main/helpers/validateCursor.js.map +0 -1
  300. package/lib/main/index.js +0 -52
  301. package/lib/main/index.js.map +0 -1
  302. package/lib/main/main/index.js +0 -100
  303. package/lib/main/main/index.js.map +0 -1
  304. package/lib/module/__testUtils__/generateCursorCache.js +0 -71
  305. package/lib/module/__testUtils__/generateCursorCache.js.map +0 -1
  306. package/lib/module/__testUtils__/generatePageResponse.js +0 -23
  307. package/lib/module/__testUtils__/generatePageResponse.js.map +0 -1
  308. package/lib/module/__testUtils__/generatePages.js +0 -11
  309. package/lib/module/__testUtils__/generatePages.js.map +0 -1
  310. package/lib/module/defs/index.js +0 -2
  311. package/lib/module/defs/index.js.map +0 -1
  312. package/lib/module/helpers/cacheCursors.js +0 -30
  313. package/lib/module/helpers/cacheCursors.js.map +0 -1
  314. package/lib/module/helpers/extractEdges.js +0 -2
  315. package/lib/module/helpers/extractEdges.js.map +0 -1
  316. package/lib/module/helpers/extractNodes.js +0 -2
  317. package/lib/module/helpers/extractNodes.js.map +0 -1
  318. package/lib/module/helpers/getCount.js +0 -5
  319. package/lib/module/helpers/getCount.js.map +0 -1
  320. package/lib/module/helpers/getCurrentPageStartAndEndIndexes.js +0 -11
  321. package/lib/module/helpers/getCurrentPageStartAndEndIndexes.js.map +0 -1
  322. package/lib/module/helpers/getCursor.js +0 -5
  323. package/lib/module/helpers/getCursor.js.map +0 -1
  324. package/lib/module/helpers/getDirection.js +0 -2
  325. package/lib/module/helpers/getDirection.js.map +0 -1
  326. package/lib/module/helpers/getInRangeCachedEdges.js +0 -26
  327. package/lib/module/helpers/getInRangeCachedEdges.js.map +0 -1
  328. package/lib/module/helpers/getIndexesOnCurrentPage.js +0 -17
  329. package/lib/module/helpers/getIndexesOnCurrentPage.js.map +0 -1
  330. package/lib/module/helpers/getIndexesOnLastPage.js +0 -9
  331. package/lib/module/helpers/getIndexesOnLastPage.js.map +0 -1
  332. package/lib/module/helpers/getPageNumbersToRequest.js +0 -30
  333. package/lib/module/helpers/getPageNumbersToRequest.js.map +0 -1
  334. package/lib/module/helpers/getPagesMissingFromCache.js +0 -10
  335. package/lib/module/helpers/getPagesMissingFromCache.js.map +0 -1
  336. package/lib/module/helpers/getResultsOnLastPage.js +0 -8
  337. package/lib/module/helpers/getResultsOnLastPage.js.map +0 -1
  338. package/lib/module/helpers/getStartAndEndCursors.js +0 -10
  339. package/lib/module/helpers/getStartAndEndCursors.js.map +0 -1
  340. package/lib/module/helpers/getStartAndEndIndexes.js +0 -86
  341. package/lib/module/helpers/getStartAndEndIndexes.js.map +0 -1
  342. package/lib/module/helpers/getStartAndEndPageNumbers.js +0 -35
  343. package/lib/module/helpers/getStartAndEndPageNumbers.js.map +0 -1
  344. package/lib/module/helpers/hasPreviousNextPage.js +0 -18
  345. package/lib/module/helpers/hasPreviousNextPage.js.map +0 -1
  346. package/lib/module/helpers/isCursorFirst.js +0 -8
  347. package/lib/module/helpers/isCursorFirst.js.map +0 -1
  348. package/lib/module/helpers/isCursorLast.js +0 -15
  349. package/lib/module/helpers/isCursorLast.js.map +0 -1
  350. package/lib/module/helpers/isCursorSupplied.js +0 -5
  351. package/lib/module/helpers/isCursorSupplied.js.map +0 -1
  352. package/lib/module/helpers/isFirstPage.js +0 -2
  353. package/lib/module/helpers/isFirstPage.js.map +0 -1
  354. package/lib/module/helpers/isLastPage.js +0 -5
  355. package/lib/module/helpers/isLastPage.js.map +0 -1
  356. package/lib/module/helpers/makeEdges.js +0 -5
  357. package/lib/module/helpers/makeEdges.js.map +0 -1
  358. package/lib/module/helpers/makeEntry.js +0 -25
  359. package/lib/module/helpers/makeEntry.js.map +0 -1
  360. package/lib/module/helpers/mergeCachedEdges.js +0 -12
  361. package/lib/module/helpers/mergeCachedEdges.js.map +0 -1
  362. package/lib/module/helpers/removeConnectionInputOptions.js +0 -4
  363. package/lib/module/helpers/removeConnectionInputOptions.js.map +0 -1
  364. package/lib/module/helpers/requestAndCachePages.js +0 -54
  365. package/lib/module/helpers/requestAndCachePages.js.map +0 -1
  366. package/lib/module/helpers/requestOutstandingPages.js +0 -57
  367. package/lib/module/helpers/requestOutstandingPages.js.map +0 -1
  368. package/lib/module/helpers/resolveConnection.js +0 -78
  369. package/lib/module/helpers/resolveConnection.js.map +0 -1
  370. package/lib/module/helpers/retrieveCachedConnection.js +0 -70
  371. package/lib/module/helpers/retrieveCachedConnection.js.map +0 -1
  372. package/lib/module/helpers/retrieveCachedEdgesByPage.js +0 -35
  373. package/lib/module/helpers/retrieveCachedEdgesByPage.js.map +0 -1
  374. package/lib/module/helpers/validateCursor.js +0 -71
  375. package/lib/module/helpers/validateCursor.js.map +0 -1
  376. package/lib/module/index.js +0 -4
  377. package/lib/module/index.js.map +0 -1
  378. package/lib/module/main/index.js +0 -83
  379. package/lib/module/main/index.js.map +0 -1
  380. package/lib/types/__testUtils__/generateCursorCache.d.ts +0 -11
  381. package/lib/types/__testUtils__/generateCursorCache.d.ts.map +0 -1
  382. package/lib/types/__testUtils__/generatePageResponse.d.ts +0 -18
  383. package/lib/types/__testUtils__/generatePageResponse.d.ts.map +0 -1
  384. package/lib/types/__testUtils__/generatePages.d.ts +0 -3
  385. package/lib/types/__testUtils__/generatePages.d.ts.map +0 -1
  386. package/lib/types/defs/index.d.ts.map +0 -1
  387. package/lib/types/helpers/cacheCursors.d.ts +0 -13
  388. package/lib/types/helpers/cacheCursors.d.ts.map +0 -1
  389. package/lib/types/helpers/extractEdges.d.ts +0 -4
  390. package/lib/types/helpers/extractEdges.d.ts.map +0 -1
  391. package/lib/types/helpers/extractNodes.d.ts +0 -4
  392. package/lib/types/helpers/extractNodes.d.ts.map +0 -1
  393. package/lib/types/helpers/getCount.d.ts +0 -4
  394. package/lib/types/helpers/getCount.d.ts.map +0 -1
  395. package/lib/types/helpers/getCount.test.d.ts +0 -2
  396. package/lib/types/helpers/getCount.test.d.ts.map +0 -1
  397. package/lib/types/helpers/getCurrentPageStartAndEndIndexes.d.ts.map +0 -1
  398. package/lib/types/helpers/getCursor.d.ts +0 -4
  399. package/lib/types/helpers/getCursor.d.ts.map +0 -1
  400. package/lib/types/helpers/getCursor.test.d.ts +0 -2
  401. package/lib/types/helpers/getCursor.test.d.ts.map +0 -1
  402. package/lib/types/helpers/getDirection.d.ts +0 -3
  403. package/lib/types/helpers/getDirection.d.ts.map +0 -1
  404. package/lib/types/helpers/getDirection.test.d.ts +0 -2
  405. package/lib/types/helpers/getDirection.test.d.ts.map +0 -1
  406. package/lib/types/helpers/getInRangeCachedEdges.d.ts +0 -9
  407. package/lib/types/helpers/getInRangeCachedEdges.d.ts.map +0 -1
  408. package/lib/types/helpers/getIndexesOnCurrentPage.d.ts +0 -7
  409. package/lib/types/helpers/getIndexesOnCurrentPage.d.ts.map +0 -1
  410. package/lib/types/helpers/getIndexesOnCurrentPage.test.d.ts +0 -2
  411. package/lib/types/helpers/getIndexesOnCurrentPage.test.d.ts.map +0 -1
  412. package/lib/types/helpers/getIndexesOnLastPage.d.ts +0 -4
  413. package/lib/types/helpers/getIndexesOnLastPage.d.ts.map +0 -1
  414. package/lib/types/helpers/getIndexesOnLastPage.test.d.ts +0 -2
  415. package/lib/types/helpers/getIndexesOnLastPage.test.d.ts.map +0 -1
  416. package/lib/types/helpers/getPageNumbersToRequest.d.ts +0 -8
  417. package/lib/types/helpers/getPageNumbersToRequest.d.ts.map +0 -1
  418. package/lib/types/helpers/getPageNumbersToRequest.test.d.ts +0 -2
  419. package/lib/types/helpers/getPageNumbersToRequest.test.d.ts.map +0 -1
  420. package/lib/types/helpers/getPagesMissingFromCache.d.ts +0 -4
  421. package/lib/types/helpers/getPagesMissingFromCache.d.ts.map +0 -1
  422. package/lib/types/helpers/getResultsOnLastPage.d.ts +0 -7
  423. package/lib/types/helpers/getResultsOnLastPage.d.ts.map +0 -1
  424. package/lib/types/helpers/getResultsOnLastPage.test.d.ts +0 -2
  425. package/lib/types/helpers/getResultsOnLastPage.test.d.ts.map +0 -1
  426. package/lib/types/helpers/getStartAndEndCursors.d.ts +0 -4
  427. package/lib/types/helpers/getStartAndEndCursors.d.ts.map +0 -1
  428. package/lib/types/helpers/getStartAndEndIndexes.d.ts +0 -10
  429. package/lib/types/helpers/getStartAndEndIndexes.d.ts.map +0 -1
  430. package/lib/types/helpers/getStartAndEndIndexes.test.d.ts +0 -2
  431. package/lib/types/helpers/getStartAndEndIndexes.test.d.ts.map +0 -1
  432. package/lib/types/helpers/getStartAndEndPageNumbers.d.ts +0 -9
  433. package/lib/types/helpers/getStartAndEndPageNumbers.d.ts.map +0 -1
  434. package/lib/types/helpers/getStartAndEndPageNumbers.test.d.ts +0 -2
  435. package/lib/types/helpers/getStartAndEndPageNumbers.test.d.ts.map +0 -1
  436. package/lib/types/helpers/hasPreviousNextPage.d.ts.map +0 -1
  437. package/lib/types/helpers/hasPreviousNextPage.test.d.ts +0 -2
  438. package/lib/types/helpers/hasPreviousNextPage.test.d.ts.map +0 -1
  439. package/lib/types/helpers/isCursorFirst.d.ts +0 -8
  440. package/lib/types/helpers/isCursorFirst.d.ts.map +0 -1
  441. package/lib/types/helpers/isCursorFirst.test.d.ts +0 -2
  442. package/lib/types/helpers/isCursorFirst.test.d.ts.map +0 -1
  443. package/lib/types/helpers/isCursorLast.d.ts +0 -11
  444. package/lib/types/helpers/isCursorLast.d.ts.map +0 -1
  445. package/lib/types/helpers/isCursorLast.test.d.ts +0 -2
  446. package/lib/types/helpers/isCursorLast.test.d.ts.map +0 -1
  447. package/lib/types/helpers/isCursorSupplied.d.ts +0 -4
  448. package/lib/types/helpers/isCursorSupplied.d.ts.map +0 -1
  449. package/lib/types/helpers/isCursorSupplied.test.d.ts +0 -2
  450. package/lib/types/helpers/isCursorSupplied.test.d.ts.map +0 -1
  451. package/lib/types/helpers/isFirstPage.d.ts +0 -3
  452. package/lib/types/helpers/isFirstPage.d.ts.map +0 -1
  453. package/lib/types/helpers/isFirstPage.test.d.ts +0 -2
  454. package/lib/types/helpers/isFirstPage.test.d.ts.map +0 -1
  455. package/lib/types/helpers/isLastPage.d.ts +0 -7
  456. package/lib/types/helpers/isLastPage.d.ts.map +0 -1
  457. package/lib/types/helpers/isLastPage.test.d.ts +0 -2
  458. package/lib/types/helpers/isLastPage.test.d.ts.map +0 -1
  459. package/lib/types/helpers/makeEdges.d.ts +0 -7
  460. package/lib/types/helpers/makeEdges.d.ts.map +0 -1
  461. package/lib/types/helpers/makeEntry.d.ts +0 -11
  462. package/lib/types/helpers/makeEntry.d.ts.map +0 -1
  463. package/lib/types/helpers/mergeCachedEdges.d.ts +0 -4
  464. package/lib/types/helpers/mergeCachedEdges.d.ts.map +0 -1
  465. package/lib/types/helpers/removeConnectionInputOptions.d.ts +0 -3
  466. package/lib/types/helpers/removeConnectionInputOptions.d.ts.map +0 -1
  467. package/lib/types/helpers/removeConnectionInputOptions.test.d.ts +0 -2
  468. package/lib/types/helpers/removeConnectionInputOptions.test.d.ts.map +0 -1
  469. package/lib/types/helpers/requestAndCachePages.d.ts +0 -21
  470. package/lib/types/helpers/requestAndCachePages.d.ts.map +0 -1
  471. package/lib/types/helpers/requestOutstandingPages.d.ts +0 -18
  472. package/lib/types/helpers/requestOutstandingPages.d.ts.map +0 -1
  473. package/lib/types/helpers/resolveConnection.d.ts +0 -24
  474. package/lib/types/helpers/resolveConnection.d.ts.map +0 -1
  475. package/lib/types/helpers/retrieveCachedConnection.d.ts.map +0 -1
  476. package/lib/types/helpers/retrieveCachedConnection.test.d.ts +0 -2
  477. package/lib/types/helpers/retrieveCachedConnection.test.d.ts.map +0 -1
  478. package/lib/types/helpers/retrieveCachedEdgesByPage.d.ts +0 -12
  479. package/lib/types/helpers/retrieveCachedEdgesByPage.d.ts.map +0 -1
  480. package/lib/types/helpers/validateCursor.d.ts +0 -11
  481. package/lib/types/helpers/validateCursor.d.ts.map +0 -1
  482. package/lib/types/helpers/validateCursor.test.d.ts +0 -2
  483. package/lib/types/helpers/validateCursor.test.d.ts.map +0 -1
  484. package/lib/types/index.d.ts +0 -4
  485. package/lib/types/index.d.ts.map +0 -1
  486. package/lib/types/main/index.d.ts +0 -5
  487. package/lib/types/main/index.d.ts.map +0 -1
  488. package/lib/types/main/index.test.d.ts +0 -2
  489. package/lib/types/main/index.test.d.ts.map +0 -1
  490. package/package-lock.json +0 -18
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../connection-resolver/src//helpers/removeConnectionInputOptions.ts","../connection-resolver/src//helpers/isCursorSupplied.ts","../connection-resolver/src//helpers/cacheCursors.ts","../connection-resolver/src//helpers/makeEdges.ts","../connection-resolver/src//helpers/requestAndCachePages.ts","../connection-resolver/src//helpers/extractEdges.ts","../connection-resolver/src//helpers/extractNodes.ts","../connection-resolver/src//helpers/getCurrentPageStartAndEndIndexes.ts","../connection-resolver/src//helpers/getInRangeCachedEdges.ts","../connection-resolver/src//helpers/getStartAndEndCursors.ts","../connection-resolver/src//helpers/mergeCachedEdges.ts","../connection-resolver/src//helpers/getDirection.ts","../connection-resolver/src//helpers/isLastPage.ts","../connection-resolver/src//helpers/getStartAndEndPageNumbers.ts","../connection-resolver/src//helpers/getPageNumbersToRequest.ts","../connection-resolver/src//helpers/getPagesMissingFromCache.ts","../connection-resolver/src//helpers/getCount.ts","../connection-resolver/src//helpers/getResultsOnLastPage.ts","../connection-resolver/src//helpers/getIndexesOnLastPage.ts","../connection-resolver/src//helpers/isFirstPage.ts","../connection-resolver/src//helpers/getStartAndEndIndexes.ts","../connection-resolver/src//helpers/hasPreviousNextPage.ts","../connection-resolver/src//helpers/retrieveCachedEdgesByPage.ts","../connection-resolver/src//helpers/getCursor.ts","../connection-resolver/src//helpers/makeEntry.ts","../connection-resolver/src//helpers/retrieveEntry.ts","../connection-resolver/src//helpers/retrieveCachedConnection.ts","../connection-resolver/src//helpers/resolveConnection.ts","../connection-resolver/src//helpers/isCursorFirst.ts","../connection-resolver/src//helpers/isCursorLast.ts","../connection-resolver/src//helpers/validateCursor.ts","../connection-resolver/src//main/index.ts"],"sourcesContent":["import { pickBy } from 'lodash-es';\n\nconst connectionInputOptions = new Set(['after', 'before', 'first', 'last']);\n\nexport const removeConnectionInputOptions = <O extends object>(args: O) =>\n pickBy(args, (_value, key) => !connectionInputOptions.has(key));\n","import type { PlainObject } from '@graphql-box/core';\nimport { type ConnectionInputOptions } from '../types.ts';\n\nexport const isCursorSupplied = ({ after, before }: PlainObject & ConnectionInputOptions) => !!(after ?? before);\n","import { type Core } from '@cachemap/core';\nimport { type Edge } from '../types.ts';\n\nexport type Params = {\n edges: Edge[];\n group: string;\n headers: Headers;\n page: number;\n totalPages: number;\n totalResults: number;\n};\n\nexport const cacheCursors = async (\n cursorCache: Core,\n { edges, group, headers, page, totalPages, totalResults }: Params\n) => {\n const cacheControl = headers.get('cache-control');\n const options = cacheControl ? { cacheHeaders: { cacheControl } } : undefined;\n\n await Promise.all(\n edges.map(async ({ cursor, node }, index) => cursorCache.set(cursor, { group, index, node, page }, options))\n );\n\n await cursorCache.set(`${group}-metadata`, { totalPages, totalResults }, options);\n};\n","import { type Node } from '../types.ts';\n\nexport const makeEdges = (nodes: Node[], makeCursor: (node: Node) => string) =>\n nodes.map(node => ({ cursor: makeCursor(node), node }));\n","import { type Core } from '@cachemap/core';\nimport type { PlainObject } from '@graphql-box/core';\nimport { type Getters, type Node, type ResourceResolver } from '../types.ts';\nimport { cacheCursors } from './cacheCursors.ts';\nimport { makeEdges } from './makeEdges.ts';\n\nexport type Context<Resource extends PlainObject, ResourceNode extends Node> = {\n cursorCache: Core;\n getters: Getters<Resource, ResourceNode>;\n groupCursor: string;\n makeIDCursor: (id: string | number) => string;\n resourceResolver: ResourceResolver<Resource>;\n};\n\nexport const requestAndCachePages = async <Resource extends PlainObject, ResourceNode extends Node>(\n pages: number[],\n { cursorCache, getters, groupCursor, makeIDCursor, resourceResolver }: Context<Resource, ResourceNode>\n) => {\n const errors: Error[] = [];\n\n const cachedEdges = await Promise.all(\n pages.map(async page => {\n const {\n data: pageResultData,\n errors: pageResultErrors,\n headers: pageResultHeaders,\n } = await resourceResolver({\n page,\n });\n\n if (pageResultData && !pageResultErrors?.length) {\n const edges = makeEdges(getters.nodes(pageResultData), node => makeIDCursor(node.id));\n\n await cacheCursors(cursorCache, {\n edges,\n group: groupCursor,\n headers: pageResultHeaders,\n page,\n totalPages: getters.totalPages(pageResultData),\n totalResults: getters.totalResults(pageResultData),\n });\n\n return { edges, pageNumber: page };\n }\n\n if (pageResultErrors?.length) {\n errors.push(...pageResultErrors);\n }\n\n return { edges: [], pageNumber: page };\n })\n );\n\n return { cachedEdges, errors };\n};\n","import { type CachedEdges, type Edge } from '../types.ts';\n\nexport const extractEdges = (cachedEdges: CachedEdges[]) =>\n cachedEdges.reduce<Edge[]>((edges, cachedEdge) => [...edges, ...cachedEdge.edges], []);\n","import { type Edge } from '../types.ts';\n\nexport const extractNodes = (edges: Edge[]) => edges.map(edge => edge.node);\n","import { type Indexes } from '../types.ts';\n\nexport type StartIndexContext = {\n pageIndex: number;\n startIndex: Indexes;\n};\n\nexport const getCurrentPageStartIndex = ({ pageIndex, startIndex }: StartIndexContext) =>\n pageIndex === 0 ? startIndex.relative : 0;\n\nexport type EndIndexContext = {\n endIndex: Indexes;\n pageIndex: number;\n resultsPerPage: number;\n totalCachedPages: number;\n};\n\nexport const getCurrentPageEndIndex = ({ endIndex, pageIndex, resultsPerPage, totalCachedPages }: EndIndexContext) =>\n pageIndex === totalCachedPages - 1 ? endIndex.relative : resultsPerPage - 1;\n","import { type CachedEdges, type Indexes } from '../types.ts';\nimport { getCurrentPageEndIndex, getCurrentPageStartIndex } from './getCurrentPageStartAndEndIndexes.ts';\n\nexport type Context = {\n endIndex: Indexes;\n resultsPerPage: number;\n startIndex: Indexes;\n};\n\nexport const getInRangeCachedEdges = (\n cachedEdgesByPage: CachedEdges[],\n { endIndex, resultsPerPage, startIndex }: Context\n) => {\n return cachedEdgesByPage.reduce<CachedEdges[]>((inRange, cachedEdgesPage, index) => {\n const currentPageStartIndex = getCurrentPageStartIndex({ pageIndex: index, startIndex });\n\n const currentPageEndIndex = getCurrentPageEndIndex({\n endIndex,\n pageIndex: index,\n resultsPerPage,\n totalCachedPages: cachedEdgesByPage.length,\n });\n\n const cachedEdges = cachedEdgesPage.edges.slice(currentPageStartIndex, currentPageEndIndex + 1);\n inRange.push({ edges: cachedEdges, pageNumber: cachedEdgesPage.pageNumber });\n return inRange;\n }, []);\n};\n","import { type Edge } from '../types.ts';\n\nexport const getStartCursor = (edges: Edge[]) => edges[0]?.cursor;\n\nexport const getEndCursor = (edges: Edge[]) => {\n const lastEdge = edges[edges.length - 1];\n return lastEdge?.cursor;\n};\n","import { type CachedEdges } from '../types.ts';\n\nexport const mergeCachedEdges = (cachedEdges: CachedEdges[], missingCachedEdges: CachedEdges[]) =>\n cachedEdges.reduce<CachedEdges[]>((mergedCachedEdges, cachedEdge) => {\n if (cachedEdge.edges.length === 0) {\n const missingCachedEdge = missingCachedEdges.find(missing => missing.pageNumber === cachedEdge.pageNumber);\n\n if (missingCachedEdge) {\n return [...mergedCachedEdges, missingCachedEdge];\n }\n }\n\n return [...mergedCachedEdges, cachedEdge];\n }, []);\n","import type { Direction } from '../types.ts';\n\nexport const getDirection = (last?: number): Direction => (last ? 'backward' : 'forward');\n","export type Params = {\n page: number;\n totalPages: number;\n};\n\nexport const isLastPage = ({ page, totalPages }: Params) => page === totalPages;\n","import { type ConnectionInputOptions, type CursorGroupMetadata, type Indexes } from '../types.ts';\nimport { getDirection } from './getDirection.ts';\nimport { isLastPage } from './isLastPage.ts';\n\nexport type PageNumberContext = {\n endIndex: Indexes;\n page: number;\n startIndex: Indexes;\n};\n\nexport type Context = {\n metadata: CursorGroupMetadata;\n resultsPerPage: number;\n};\n\nexport const getStartPageNumber = (\n args: ConnectionInputOptions,\n { page, resultsPerPage, startIndex }: Omit<PageNumberContext, 'endIndex'> & Omit<Context, 'metadata'>\n) => {\n if (getDirection(args.last) === 'forward' || startIndex.absolute >= 0) {\n return page;\n }\n\n const startPageNumber = page - Math.ceil(Math.abs(startIndex.absolute) / resultsPerPage);\n return startPageNumber <= 1 ? 1 : startPageNumber;\n};\n\nexport const getEndPageNumber = (\n args: ConnectionInputOptions,\n { endIndex, metadata: { totalPages }, page, resultsPerPage }: Omit<PageNumberContext, 'startIndex'> & Context\n) => {\n const indexesPerPage = resultsPerPage - 1;\n\n if (\n getDirection(args.last) === 'backward' ||\n isLastPage({ page, totalPages }) ||\n endIndex.absolute <= indexesPerPage\n ) {\n return page;\n }\n\n const endPageNumber = page + Math.ceil((endIndex.absolute - indexesPerPage) / resultsPerPage);\n return endPageNumber >= totalPages ? totalPages : endPageNumber;\n};\n","import { range } from 'lodash-es';\nimport {\n type ConnectionInputOptions,\n type CursorGroupMetadata,\n type Indexes,\n type PartialCursorCacheEntry,\n} from '../types.ts';\nimport { getEndPageNumber, getStartPageNumber } from './getStartAndEndPageNumbers.ts';\n\nexport type GetPageNumbersToRequestContext = {\n endIndex: Indexes;\n startIndex: Indexes;\n};\n\nexport type Context = {\n entry: PartialCursorCacheEntry;\n metadata: CursorGroupMetadata;\n resultsPerPage: number;\n};\n\nexport const getPageNumbersToRequest = (\n args: ConnectionInputOptions,\n { endIndex, entry: { page }, metadata, resultsPerPage, startIndex }: GetPageNumbersToRequestContext & Context\n) => {\n const startPageNumber = getStartPageNumber(args, { page, resultsPerPage, startIndex });\n const endPageNumber = getEndPageNumber(args, { endIndex, metadata, page, resultsPerPage });\n\n if (startPageNumber === endPageNumber) {\n return [page];\n }\n\n return [...range(startPageNumber, endPageNumber), endPageNumber];\n};\n","import { type CachedEdges } from '../types.ts';\n\nexport const getPagesMissingFromCache = (cachedEdgesByPage: CachedEdges[]) => {\n return cachedEdgesByPage.reduce<number[]>((missing, cachedEdgesPage) => {\n if (cachedEdgesPage.edges.length === 0) {\n missing.push(cachedEdgesPage.pageNumber);\n }\n\n return missing;\n }, []);\n};\n","import { type ConnectionInputOptions } from '../types.ts';\n\nexport const getCount = ({ first, last }: ConnectionInputOptions) => first ?? last!;\n","export type Params = {\n resultsPerPage: number;\n totalResults: number;\n};\n\nexport const getResultsOnLastPage = ({ resultsPerPage, totalResults }: Params) => {\n const remainder = totalResults % resultsPerPage;\n return remainder === 0 ? resultsPerPage : remainder;\n};\n","import { type Params, getResultsOnLastPage } from './getResultsOnLastPage.ts';\n\nexport const getIndexesOnLastPage = ({ resultsPerPage, totalResults }: Params) =>\n getResultsOnLastPage({ resultsPerPage, totalResults }) - 1;\n","export const isFirstPage = (page: number) => page === 1;\n","import { type ConnectionInputOptions, type CursorGroupMetadata, type PartialCursorCacheEntry } from '../types.ts';\nimport { getCount } from './getCount.ts';\nimport { getDirection } from './getDirection.ts';\nimport { getIndexesOnLastPage } from './getIndexesOnLastPage.ts';\nimport { isFirstPage } from './isFirstPage.ts';\nimport { isLastPage } from './isLastPage.ts';\n\nexport type Context = {\n entry: PartialCursorCacheEntry;\n metadata: CursorGroupMetadata;\n resultsPerPage: number;\n};\n\nexport const getStartIndex = (\n args: ConnectionInputOptions,\n { entry: { index, page }, resultsPerPage }: Pick<Context, 'entry' | 'resultsPerPage'>\n) => {\n const count = getCount(args);\n\n return getDirection(args.last) === 'forward'\n ? { absolute: index + 1, relative: index + 1 }\n : isFirstPage(page) && index - count < 0\n ? { absolute: 0, relative: 0 }\n : (() => {\n const absoluteStartIndex = index - count;\n\n if (absoluteStartIndex >= 0) {\n return { absolute: absoluteStartIndex, relative: absoluteStartIndex };\n }\n\n const indexesRemainingAfterLastPage = Math.abs(absoluteStartIndex);\n const pagesRemaining = indexesRemainingAfterLastPage / resultsPerPage + 1;\n const remainder = indexesRemainingAfterLastPage % resultsPerPage;\n const relativeStartIndex = remainder === 0 ? 0 : page - pagesRemaining < 0 ? 0 : resultsPerPage - remainder;\n return { absolute: absoluteStartIndex, relative: relativeStartIndex };\n })();\n};\n\nexport const getEndIndex = (\n args: ConnectionInputOptions,\n { entry: { index, page }, metadata: { totalPages, totalResults }, resultsPerPage }: Context\n) => {\n const count = getCount(args);\n const indexesOnLastPage = getIndexesOnLastPage({ resultsPerPage, totalResults });\n\n return getDirection(args.last) === 'backward'\n ? { absolute: index - 1, relative: index - 1 }\n : isLastPage({ page, totalPages }) && index + count > indexesOnLastPage\n ? { absolute: indexesOnLastPage, relative: indexesOnLastPage }\n : (() => {\n const absoluteEndIndex = index + count;\n const indexesPerPage = resultsPerPage - 1;\n\n if (absoluteEndIndex <= indexesPerPage) {\n return { absolute: absoluteEndIndex, relative: absoluteEndIndex };\n }\n\n const indexesRemainingAfterFirstPage = absoluteEndIndex - indexesPerPage;\n const pagesRemaining = indexesRemainingAfterFirstPage / resultsPerPage;\n const remainder = indexesRemainingAfterFirstPage % resultsPerPage;\n\n const relativeEndIndex =\n remainder === 0 ? indexesPerPage : page + pagesRemaining > totalPages ? indexesOnLastPage : remainder - 1;\n\n return { absolute: absoluteEndIndex, relative: relativeEndIndex };\n })();\n};\n","import { isNumber } from 'lodash-es';\nimport { type CachedEdges, type CursorGroupMetadata, type Indexes } from '../types.ts';\nimport { getIndexesOnLastPage } from './getIndexesOnLastPage.ts';\n\nexport type HasPreviousPageParams = {\n cachedEdgesByPage: CachedEdges[];\n startIndex: Indexes;\n};\n\nexport type HasNextPageParams = {\n cachedEdgesByPage: CachedEdges[];\n endIndex: Indexes;\n metadata: CursorGroupMetadata;\n resultsPerPage: number;\n};\n\nexport const hasPreviousPage = ({ cachedEdgesByPage, startIndex }: HasPreviousPageParams) =>\n (isNumber(cachedEdgesByPage[0]?.pageNumber) && cachedEdgesByPage[0]?.pageNumber !== 1) || startIndex.relative > 0;\n\nexport const hasNextPage = ({\n cachedEdgesByPage,\n endIndex,\n metadata: { totalPages, totalResults },\n resultsPerPage,\n}: HasNextPageParams) =>\n (isNumber(cachedEdgesByPage[cachedEdgesByPage.length - 1]?.pageNumber) &&\n cachedEdgesByPage[cachedEdgesByPage.length - 1]?.pageNumber !== totalPages) ||\n endIndex.relative < getIndexesOnLastPage({ resultsPerPage, totalResults });\n","import { type Core } from '@cachemap/core';\nimport { type CursorCacheEntry, type Edge } from '../types.ts';\n\nexport type Context = {\n groupCursor: string;\n pageNumber: number;\n};\n\nexport const retrieveCachedEdgesByPage = async (cursorCache: Core, { groupCursor, pageNumber }: Context) => {\n const { entries, metadata } = await cursorCache.export<CursorCacheEntry>({\n filterByValue: [\n { comparator: pageNumber, keyChain: 'page' },\n { comparator: groupCursor, keyChain: 'group' },\n ],\n });\n\n return {\n edges: entries.reduce<Edge[]>((cached, [key, { index, node }]) => {\n if (metadata[index]?.cacheability.checkTTL()) {\n cached[index] = { cursor: key, node };\n }\n\n return cached;\n }, []),\n pageNumber,\n };\n};\n","import { type ConnectionInputOptions } from '../types.ts';\n\nexport const getCursor = ({ after, before }: ConnectionInputOptions) => before ?? after;\n","import { type ConnectionInputOptions, type CursorGroupMetadata } from '../types.ts';\nimport { getDirection } from './getDirection.ts';\nimport { getIndexesOnLastPage } from './getIndexesOnLastPage.ts';\n\nexport type Context = {\n metadata: CursorGroupMetadata;\n resultsPerPage: number;\n};\n\nexport const makeEntry = (\n args: ConnectionInputOptions,\n { metadata: { totalPages, totalResults }, resultsPerPage }: Context\n) => {\n if (getDirection(args.last) === 'backward') {\n return { index: getIndexesOnLastPage({ resultsPerPage, totalResults }) + 1, page: totalPages };\n }\n\n return { index: -1, page: 1 };\n};\n","import type { Core } from '@cachemap/core';\nimport type {\n ConnectionInputOptions,\n CursorCacheEntry,\n CursorGroupMetadata,\n PartialCursorCacheEntry,\n} from '../types.ts';\nimport { getCursor } from './getCursor.ts';\nimport { makeEntry } from './makeEntry.ts';\n\nexport type Context = {\n cursorCache: Core;\n resultsPerPage: number;\n};\n\nexport const retrieveEntry = async (\n args: ConnectionInputOptions,\n metadata: CursorGroupMetadata,\n { cursorCache, resultsPerPage }: Context\n): Promise<PartialCursorCacheEntry> => {\n const cursor = getCursor(args);\n\n if (cursor) {\n const cursorCacheEntry = await cursorCache.get<CursorCacheEntry>(cursor);\n\n if (cursorCacheEntry) {\n return cursorCacheEntry;\n }\n }\n\n return makeEntry(args, { metadata, resultsPerPage });\n};\n","import { type Core } from '@cachemap/core';\nimport { type CachedEdges, type ConnectionInputOptions, type CursorGroupMetadata } from '../types.ts';\nimport { getInRangeCachedEdges } from './getInRangeCachedEdges.ts';\nimport { getPageNumbersToRequest } from './getPageNumbersToRequest.ts';\nimport { getPagesMissingFromCache } from './getPagesMissingFromCache.ts';\nimport { getEndIndex, getStartIndex } from './getStartAndEndIndexes.ts';\nimport { hasNextPage, hasPreviousPage } from './hasPreviousNextPage.ts';\nimport { retrieveCachedEdgesByPage } from './retrieveCachedEdgesByPage.ts';\nimport { retrieveEntry } from './retrieveEntry.ts';\n\nexport type Context = {\n cursorCache: Core;\n groupCursor: string;\n resultsPerPage: number;\n};\n\nexport const retrieveCachedConnection = async (\n args: ConnectionInputOptions,\n { cursorCache, groupCursor, resultsPerPage }: Context\n) => {\n /**\n * At this point the cache will always have metadata because `retrieveCachedConnection`\n * is called from `resolveConnection` and is only called if there is a cursor, either\n * after a direct check or after calling `validateCursor` or `requestAndCachePages`,\n * which check and set the metadata respectively.\n */\n const metadata = (await cursorCache.get<CursorGroupMetadata>(`${groupCursor}-metadata`))!;\n const entry = await retrieveEntry(args, metadata, { cursorCache, resultsPerPage });\n const startIndex = getStartIndex(args, { entry, resultsPerPage });\n const endIndex = getEndIndex(args, { entry, metadata, resultsPerPage });\n const promises: Promise<CachedEdges>[] = [];\n const pageNumbersToRequest = getPageNumbersToRequest(args, { endIndex, entry, metadata, resultsPerPage, startIndex });\n\n for (const pageNumber of pageNumbersToRequest) {\n promises.push(retrieveCachedEdgesByPage(cursorCache, { groupCursor, pageNumber }));\n }\n\n const cachedEdgesByPage = await Promise.all(promises);\n const missingPages = getPagesMissingFromCache(cachedEdgesByPage);\n\n return {\n cachedEdges:\n missingPages.length === 0\n ? getInRangeCachedEdges(cachedEdgesByPage, { endIndex, resultsPerPage, startIndex })\n : cachedEdgesByPage,\n hasNextPage: hasNextPage({\n cachedEdgesByPage,\n endIndex,\n metadata,\n resultsPerPage,\n }),\n hasPreviousPage: hasPreviousPage({ cachedEdgesByPage, startIndex }),\n indexes: { end: endIndex, start: startIndex },\n missingPages,\n totalResults: metadata.totalResults,\n };\n};\n","import { type Core } from '@cachemap/core';\nimport type { PlainObject } from '@graphql-box/core';\nimport { type ConnectionInputOptions, type Getters, type Node, type ResourceResolver } from '../types.ts';\nimport { extractEdges } from './extractEdges.ts';\nimport { extractNodes } from './extractNodes.ts';\nimport { getInRangeCachedEdges } from './getInRangeCachedEdges.ts';\nimport { getEndCursor, getStartCursor } from './getStartAndEndCursors.ts';\nimport { mergeCachedEdges } from './mergeCachedEdges.ts';\nimport { requestAndCachePages } from './requestAndCachePages.ts';\nimport { retrieveCachedConnection } from './retrieveCachedConnection.ts';\n\nexport type Context<Resource extends PlainObject, ResourceNode extends Node> = {\n cursorCache: Core;\n getters: Getters<Resource, ResourceNode>;\n groupCursor: string;\n makeIDCursor: (id: string | number) => string;\n resourceResolver: ResourceResolver<Resource>;\n resultsPerPage: number;\n};\n\nexport const resolveConnection = async <Resource extends PlainObject, ResourceNode extends Node>(\n args: PlainObject & ConnectionInputOptions,\n { cursorCache, getters, groupCursor, makeIDCursor, resourceResolver, resultsPerPage }: Context<Resource, ResourceNode>\n) => {\n const { cachedEdges, hasNextPage, hasPreviousPage, indexes, missingPages, totalResults } =\n await retrieveCachedConnection(args, {\n cursorCache,\n groupCursor,\n resultsPerPage,\n });\n\n if (missingPages.length === 0) {\n const edges = extractEdges(cachedEdges);\n\n return {\n edges,\n errors: [],\n nodes: extractNodes(edges),\n pageInfo: {\n endCursor: getEndCursor(edges),\n hasNextPage,\n hasPreviousPage,\n startCursor: getStartCursor(edges),\n },\n totalCount: totalResults,\n };\n }\n\n const { cachedEdges: missingCachedEdges, errors } = await requestAndCachePages<Resource, ResourceNode>(missingPages, {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n });\n\n const mergedCachedEdges = getInRangeCachedEdges(mergeCachedEdges(cachedEdges, missingCachedEdges), {\n endIndex: indexes.end,\n resultsPerPage,\n startIndex: indexes.start,\n });\n\n const edges = extractEdges(mergedCachedEdges);\n\n return {\n edges,\n errors,\n nodes: extractNodes(edges),\n pageInfo: {\n endCursor: getEndCursor(edges),\n hasNextPage,\n hasPreviousPage,\n startCursor: getStartCursor(edges),\n },\n totalCount: totalResults,\n };\n};\n","import { type CursorCacheEntry, type Direction } from '../types.ts';\n\nexport type Params = {\n direction: Direction;\n entry: CursorCacheEntry;\n};\n\nexport const isCursorFirst = ({ direction, entry: { index, page } }: Params) =>\n direction === 'backward' && page === 1 && index === 0;\n","import { type CursorCacheEntry, type Direction } from '../types.ts';\nimport { getIndexesOnLastPage } from './getIndexesOnLastPage.ts';\n\nexport type Params = {\n direction: Direction;\n entry: CursorCacheEntry;\n resultsPerPage: number;\n totalPages: number;\n totalResults: number;\n};\n\nexport const isCursorLast = ({ direction, entry: { index, page }, resultsPerPage, totalPages, totalResults }: Params) =>\n direction === 'forward' && page === totalPages && index === getIndexesOnLastPage({ resultsPerPage, totalResults });\n","import { type Core } from '@cachemap/core';\nimport { GraphQLError, type GraphQLResolveInfo } from 'graphql';\nimport { type ConnectionInputOptions, type CursorCacheEntry, type CursorGroupMetadata } from '../types.ts';\nimport { getCursor } from './getCursor.ts';\nimport { getDirection } from './getDirection.ts';\nimport { isCursorFirst } from './isCursorFirst.ts';\nimport { isCursorLast } from './isCursorLast.ts';\n\nexport type Context = {\n cursorCache: Core;\n groupCursor: string;\n resultsPerPage: number;\n};\n\nexport const validateCursor = async (\n { after, before, first, last }: ConnectionInputOptions,\n { fieldNodes }: GraphQLResolveInfo,\n { cursorCache, groupCursor, resultsPerPage }: Context\n) => {\n if (after && !first && !last) {\n return new GraphQLError(\n 'Invalid connection argument combination. `after` must be used in combination with `first`.',\n { nodes: fieldNodes }\n );\n }\n\n if (after && last) {\n return new GraphQLError(\n 'Invalid connection argument combination. `after` cannot be used in combination with `last`.',\n { nodes: fieldNodes }\n );\n }\n\n if (before && !last && !first) {\n return new GraphQLError(\n 'Invalid connection argument combination. `before` must be used in combination with `last`.',\n { nodes: fieldNodes }\n );\n }\n\n if (before && first) {\n return new GraphQLError(\n 'Invalid connection argument combination. `before` cannot be used in combination with `first`.',\n { nodes: fieldNodes }\n );\n }\n\n const metadata = await cursorCache.get<CursorGroupMetadata>(`${groupCursor}-metadata`);\n\n if (!metadata) {\n return new GraphQLError('Curser cannot be supplied without previously being provided.', { nodes: fieldNodes });\n }\n\n const cursor = getCursor({ after, before })!;\n const entry = await cursorCache.get<CursorCacheEntry>(cursor);\n\n if (!entry) {\n return new GraphQLError(`The cursor ${cursor} could not be found.`, { nodes: fieldNodes });\n }\n\n const direction = getDirection(last);\n\n if (isCursorLast({ direction, entry, resultsPerPage, ...metadata })) {\n return new GraphQLError(`The cursor ${cursor} is the last, you cannot go forward any further.`, {\n nodes: fieldNodes,\n });\n }\n\n if (isCursorFirst({ direction, entry })) {\n return new GraphQLError(`The cursor ${cursor} is the first, you cannot go backward any further.`, {\n nodes: fieldNodes,\n });\n }\n\n return;\n};\n","import type { PlainObject } from '@graphql-box/core';\nimport { type GraphQLResolveInfo } from 'graphql';\nimport { isCursorSupplied } from '../helpers/isCursorSupplied.ts';\nimport { requestAndCachePages } from '../helpers/requestAndCachePages.ts';\nimport { resolveConnection } from '../helpers/resolveConnection.ts';\nimport { validateCursor } from '../helpers/validateCursor.ts';\nimport {\n type Connection,\n type ConnectionInputOptions,\n type ConnectionResolverUserOptions,\n type Node,\n} from '../types.ts';\n\nexport const makeConnectionResolver =\n <\n Source extends PlainObject | undefined,\n Args extends PlainObject,\n Ctx extends PlainObject,\n Resource extends PlainObject,\n ResourceNode extends Node\n >({\n createMakeCursors,\n createResourceResolver,\n cursorCache,\n getters,\n resolver = result => result,\n resultsPerPage,\n }: ConnectionResolverUserOptions<Source, Args, Ctx, Resource, ResourceNode>) =>\n async (\n source: Source,\n args: Args & ConnectionInputOptions,\n context: Ctx,\n info: GraphQLResolveInfo\n ): Promise<Connection> => {\n const { makeGroupCursor, makeIDCursor } = createMakeCursors(source, args, context, info);\n const resourceResolver = createResourceResolver(source, args, context, info);\n const groupCursor = makeGroupCursor();\n\n if (isCursorSupplied(args)) {\n const cursorError = await validateCursor(args, info, {\n cursorCache,\n groupCursor,\n resultsPerPage,\n });\n\n if (cursorError) {\n return resolver({\n edges: [],\n errors: [cursorError],\n nodes: [],\n pageInfo: {\n hasNextPage: false,\n hasPreviousPage: false,\n },\n totalCount: 0,\n });\n }\n\n return resolver(\n await resolveConnection(args, {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n resultsPerPage,\n })\n );\n }\n\n if (await cursorCache.has(`${groupCursor}-metadata`)) {\n return resolver(\n await resolveConnection(args, {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n resultsPerPage,\n })\n );\n }\n\n await requestAndCachePages<Resource, ResourceNode>([1], {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n });\n\n return resolver(\n await resolveConnection(args, {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n resultsPerPage,\n })\n );\n };\n"],"names":["connectionInputOptions","Set","removeConnectionInputOptions","args","pickBy","_value","key","has","isCursorSupplied","after","before","cacheCursors","cursorCache","edges","group","headers","page","totalPages","totalResults","cacheControl","get","options","cacheHeaders","undefined","Promise","all","map","cursor","node","index","set","makeEdges","nodes","makeCursor","requestAndCachePages","pages","getters","groupCursor","makeIDCursor","resourceResolver","errors","cachedEdges","data","pageResultData","pageResultErrors","pageResultHeaders","length","id","pageNumber","push","extractEdges","reduce","cachedEdge","extractNodes","edge","getCurrentPageStartIndex","pageIndex","startIndex","relative","getCurrentPageEndIndex","endIndex","resultsPerPage","totalCachedPages","getInRangeCachedEdges","cachedEdgesByPage","inRange","cachedEdgesPage","currentPageStartIndex","currentPageEndIndex","slice","getStartCursor","getEndCursor","lastEdge","mergeCachedEdges","missingCachedEdges","mergedCachedEdges","missingCachedEdge","find","missing","getDirection","last","isLastPage","getStartPageNumber","absolute","startPageNumber","Math","ceil","abs","getEndPageNumber","metadata","indexesPerPage","endPageNumber","getPageNumbersToRequest","entry","range","getPagesMissingFromCache","getCount","first","getResultsOnLastPage","remainder","getIndexesOnLastPage","isFirstPage","getStartIndex","count","absoluteStartIndex","indexesRemainingAfterLastPage","pagesRemaining","relativeStartIndex","getEndIndex","indexesOnLastPage","absoluteEndIndex","indexesRemainingAfterFirstPage","relativeEndIndex","hasPreviousPage","isNumber","hasNextPage","retrieveCachedEdgesByPage","entries","export","filterByValue","comparator","keyChain","cached","cacheability","checkTTL","getCursor","makeEntry","retrieveEntry","cursorCacheEntry","retrieveCachedConnection","promises","pageNumbersToRequest","missingPages","indexes","end","start","resolveConnection","pageInfo","endCursor","startCursor","totalCount","isCursorFirst","direction","isCursorLast","validateCursor","fieldNodes","GraphQLError","makeConnectionResolver","createMakeCursors","createResourceResolver","resolver","result","source","context","info","makeGroupCursor","cursorError"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Core } from '@cachemap/core';
2
+ export type Params = {
3
+ group: string;
4
+ pageRanges?: string[];
5
+ resultsPerPage?: number;
6
+ totalPages: number;
7
+ totalResults: number;
8
+ };
9
+ export declare const generateCursorCache: ({ group, pageRanges, resultsPerPage, totalPages, totalResults, }: Params) => Promise<Core>;
10
+ //# sourceMappingURL=generateCursorCache.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateCursorCache.d.cts","sourceRoot":"","sources":["../../../../src/__testUtils__/generateCursorCache.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAMtC,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,qEAM7B,MAAM,kBAyCR,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { PlainObject } from '@graphql-box/core';
2
+ import type { ResourceResponse } from '../types.cts';
3
+ export type Params = {
4
+ resultsPerPage: number;
5
+ totalPages: number;
6
+ totalResults: number;
7
+ };
8
+ export declare const generatePageResponse: ({ resultsPerPage, totalPages, totalResults }: Params) => (page: number) => Promise<ResourceResponse<PlainObject>>;
9
+ //# sourceMappingURL=generatePageResponse.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatePageResponse.d.cts","sourceRoot":"","sources":["../../../../src/__testUtils__/generatePageResponse.cts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,MAAM,GAAG;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,iDACgB,MAAM,YAC9C,MAAM,2CAW4C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const generatePages: (pageRanges: string[]) => number[];
2
+ //# sourceMappingURL=generatePages.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatePages.d.cts","sourceRoot":"","sources":["../../../../src/__testUtils__/generatePages.cts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,eAAgB,MAAM,EAAE,aAS1C,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type Core } from '@cachemap/core';
2
+ import { type Edge } from '../types.cts';
3
+ export type Params = {
4
+ edges: Edge[];
5
+ group: string;
6
+ headers: Headers;
7
+ page: number;
8
+ totalPages: number;
9
+ totalResults: number;
10
+ };
11
+ export declare const cacheCursors: (cursorCache: Core, { edges, group, headers, page, totalPages, totalResults }: Params) => Promise<void>;
12
+ //# sourceMappingURL=cacheCursors.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheCursors.d.cts","sourceRoot":"","sources":["../../../../src/helpers/cacheCursors.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,YAAY,gBACV,IAAI,6DAC0C,MAAM,kBAUlE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type CachedEdges, type Edge } from '../types.cts';
2
+ export declare const extractEdges: (cachedEdges: CachedEdges[]) => Edge[];
3
+ //# sourceMappingURL=extractEdges.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractEdges.d.cts","sourceRoot":"","sources":["../../../../src/helpers/extractEdges.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAE1D,eAAO,MAAM,YAAY,gBAAiB,WAAW,EAAE,WACiC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Edge } from '../types.cts';
2
+ export declare const extractNodes: (edges: Edge[]) => import("../types.cts").Node[];
3
+ //# sourceMappingURL=extractNodes.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractNodes.d.cts","sourceRoot":"","sources":["../../../../src/helpers/extractNodes.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,YAAY,UAAW,IAAI,EAAE,iCAAiC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ConnectionInputOptions } from '../types.cts';
2
+ export declare const getCount: ({ first, last }: ConnectionInputOptions) => number;
3
+ //# sourceMappingURL=getCount.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCount.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getCount.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,eAAO,MAAM,QAAQ,oBAAqB,sBAAsB,WAAmB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type Indexes } from '../types.cts';
2
+ export type StartIndexContext = {
3
+ pageIndex: number;
4
+ startIndex: Indexes;
5
+ };
6
+ export declare const getCurrentPageStartIndex: ({ pageIndex, startIndex }: StartIndexContext) => number;
7
+ export type EndIndexContext = {
8
+ endIndex: Indexes;
9
+ pageIndex: number;
10
+ resultsPerPage: number;
11
+ totalCachedPages: number;
12
+ };
13
+ export declare const getCurrentPageEndIndex: ({ endIndex, pageIndex, resultsPerPage, totalCachedPages }: EndIndexContext) => number;
14
+ //# sourceMappingURL=getCurrentPageStartAndEndIndexes.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCurrentPageStartAndEndIndexes.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getCurrentPageStartAndEndIndexes.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,wBAAwB,8BAA+B,iBAAiB,WAC1C,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,8DAA+D,eAAe,WACpC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ConnectionInputOptions } from '../types.cts';
2
+ export declare const getCursor: ({ after, before }: ConnectionInputOptions) => string | undefined;
3
+ //# sourceMappingURL=getCursor.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCursor.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getCursor.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,eAAO,MAAM,SAAS,sBAAuB,sBAAsB,uBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Direction } from '../types.cts';
2
+ export declare const getDirection: (last?: number) => Direction;
3
+ //# sourceMappingURL=getDirection.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDirection.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getDirection.cts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,SAA4C,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type CachedEdges, type Indexes } from '../types.cts';
2
+ export type Context = {
3
+ endIndex: Indexes;
4
+ resultsPerPage: number;
5
+ startIndex: Indexes;
6
+ };
7
+ export declare const getInRangeCachedEdges: (cachedEdgesByPage: CachedEdges[], { endIndex, resultsPerPage, startIndex }: Context) => CachedEdges[];
8
+ //# sourceMappingURL=getInRangeCachedEdges.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInRangeCachedEdges.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getInRangeCachedEdges.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAG7D,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,qBAAqB,sBACb,WAAW,EAAE,4CACU,OAAO,kBAgBlD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { CursorGroupMetadata } from '../types.cts';
2
+ export type IndexesOnCurrentPageContext = {
3
+ page: number;
4
+ };
5
+ export type Context = {
6
+ metadata: CursorGroupMetadata;
7
+ resultsPerPage: number;
8
+ };
9
+ export declare const getIndexesOnCurrentPage: ({ metadata: { totalPages, totalResults }, page, resultsPerPage, }: IndexesOnCurrentPageContext & Context) => number;
10
+ //# sourceMappingURL=getIndexesOnCurrentPage.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIndexesOnCurrentPage.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getIndexesOnCurrentPage.cts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,sEAIjC,2BAA2B,GAAG,OAAO,WAC0E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Params } from './getResultsOnLastPage.cts';
2
+ export declare const getIndexesOnLastPage: ({ resultsPerPage, totalResults }: Params) => number;
3
+ //# sourceMappingURL=getIndexesOnLastPage.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIndexesOnLastPage.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getIndexesOnLastPage.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAwB,MAAM,2BAA2B,CAAC;AAE9E,eAAO,MAAM,oBAAoB,qCAAsC,MAAM,WACjB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type ConnectionInputOptions, type CursorGroupMetadata, type Indexes, type PartialCursorCacheEntry } from '../types.cts';
2
+ export type GetPageNumbersToRequestContext = {
3
+ endIndex: Indexes;
4
+ startIndex: Indexes;
5
+ };
6
+ export type Context = {
7
+ entry: PartialCursorCacheEntry;
8
+ metadata: CursorGroupMetadata;
9
+ resultsPerPage: number;
10
+ };
11
+ export declare const getPageNumbersToRequest: (args: ConnectionInputOptions, { endIndex, entry: { page }, metadata, resultsPerPage, startIndex }: GetPageNumbersToRequestContext & Context) => number[];
12
+ //# sourceMappingURL=getPageNumbersToRequest.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPageNumbersToRequest.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getPageNumbersToRequest.cts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAC5B,sBAAsB,uEACyC,8BAA8B,GAAG,OAAO,aAU9G,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type CachedEdges } from '../types.cts';
2
+ export declare const getPagesMissingFromCache: (cachedEdgesByPage: CachedEdges[]) => number[];
3
+ //# sourceMappingURL=getPagesMissingFromCache.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPagesMissingFromCache.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getPagesMissingFromCache.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,wBAAwB,sBAAuB,WAAW,EAAE,aAQxE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type Params = {
2
+ resultsPerPage: number;
3
+ totalResults: number;
4
+ };
5
+ export declare const getResultsOnLastPage: ({ resultsPerPage, totalResults }: Params) => number;
6
+ //# sourceMappingURL=getResultsOnLastPage.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getResultsOnLastPage.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getResultsOnLastPage.cts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,qCAAsC,MAAM,WAG5E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type Edge } from '../types.cts';
2
+ export declare const getStartCursor: (edges: Edge[]) => string | undefined;
3
+ export declare const getEndCursor: (edges: Edge[]) => string | undefined;
4
+ //# sourceMappingURL=getStartAndEndCursors.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStartAndEndCursors.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getStartAndEndCursors.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,cAAc,UAAW,IAAI,EAAE,uBAAqB,CAAC;AAElE,eAAO,MAAM,YAAY,UAAW,IAAI,EAAE,uBAGzC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type ConnectionInputOptions, type CursorGroupMetadata, type PartialCursorCacheEntry } from '../types.cts';
2
+ export type Context = {
3
+ entry: PartialCursorCacheEntry;
4
+ metadata: CursorGroupMetadata;
5
+ resultsPerPage: number;
6
+ };
7
+ export declare const getStartIndex: (args: ConnectionInputOptions, { entry: { index, page }, resultsPerPage }: Pick<Context, 'entry' | 'resultsPerPage'>) => {
8
+ absolute: number;
9
+ relative: number;
10
+ };
11
+ export declare const getEndIndex: (args: ConnectionInputOptions, { entry: { index, page }, metadata: { totalPages, totalResults }, resultsPerPage }: Context) => {
12
+ absolute: number;
13
+ relative: number;
14
+ };
15
+ //# sourceMappingURL=getStartAndEndIndexes.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStartAndEndIndexes.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getStartAndEndIndexes.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,mBAAmB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAOlH,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,aAAa,SAClB,sBAAsB,8CACgB,KAAK,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAAC;;;CAqBtF,CAAC;AAEF,eAAO,MAAM,WAAW,SAChB,sBAAsB,sFACwD,OAAO;;;CA0B5F,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type ConnectionInputOptions, type CursorGroupMetadata, type Indexes } from '../types.cts';
2
+ export type PageNumberContext = {
3
+ endIndex: Indexes;
4
+ page: number;
5
+ startIndex: Indexes;
6
+ };
7
+ export type Context = {
8
+ metadata: CursorGroupMetadata;
9
+ resultsPerPage: number;
10
+ };
11
+ export declare const getStartPageNumber: (args: ConnectionInputOptions, { page, resultsPerPage, startIndex }: Omit<PageNumberContext, 'endIndex'> & Omit<Context, 'metadata'>) => number;
12
+ export declare const getEndPageNumber: (args: ConnectionInputOptions, { endIndex, metadata: { totalPages }, page, resultsPerPage }: Omit<PageNumberContext, 'startIndex'> & Context) => number;
13
+ //# sourceMappingURL=getStartAndEndPageNumbers.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStartAndEndPageNumbers.d.cts","sourceRoot":"","sources":["../../../../src/helpers/getStartAndEndPageNumbers.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAIlG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,SACvB,sBAAsB,wCACU,KAAK,iBAAiB,EAAE,UAAU,CAAC,GAAG,KAAK,OAAO,EAAE,UAAU,CAAC,WAQtG,CAAC;AAEF,eAAO,MAAM,gBAAgB,SACrB,sBAAsB,gEACkC,KAAK,iBAAiB,EAAE,YAAY,CAAC,GAAG,OAAO,WAc9G,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type CachedEdges, type CursorGroupMetadata, type Indexes } from '../types.cts';
2
+ export type HasPreviousPageParams = {
3
+ cachedEdgesByPage: CachedEdges[];
4
+ startIndex: Indexes;
5
+ };
6
+ export type HasNextPageParams = {
7
+ cachedEdgesByPage: CachedEdges[];
8
+ endIndex: Indexes;
9
+ metadata: CursorGroupMetadata;
10
+ resultsPerPage: number;
11
+ };
12
+ export declare const hasPreviousPage: ({ cachedEdgesByPage, startIndex }: HasPreviousPageParams) => boolean;
13
+ export declare const hasNextPage: ({ cachedEdgesByPage, endIndex, metadata: { totalPages, totalResults }, resultsPerPage, }: HasNextPageParams) => boolean;
14
+ //# sourceMappingURL=hasPreviousNextPage.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasPreviousNextPage.d.cts","sourceRoot":"","sources":["../../../../src/helpers/hasPreviousNextPage.cts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAGvF,MAAM,MAAM,qBAAqB,GAAG;IAClC,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,eAAe,sCAAuC,qBAAqB,YAC2B,CAAC;AAEpH,eAAO,MAAM,WAAW,6FAKrB,iBAAiB,YAGwD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type CursorCacheEntry, type Direction } from '../types.cts';
2
+ export type Params = {
3
+ direction: Direction;
4
+ entry: CursorCacheEntry;
5
+ };
6
+ export declare const isCursorFirst: ({ direction, entry: { index, page } }: Params) => boolean;
7
+ //# sourceMappingURL=isCursorFirst.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCursorFirst.d.cts","sourceRoot":"","sources":["../../../../src/helpers/isCursorFirst.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,aAAa,0CAA2C,MAAM,YACpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type CursorCacheEntry, type Direction } from '../types.cts';
2
+ export type Params = {
3
+ direction: Direction;
4
+ entry: CursorCacheEntry;
5
+ resultsPerPage: number;
6
+ totalPages: number;
7
+ totalResults: number;
8
+ };
9
+ export declare const isCursorLast: ({ direction, entry: { index, page }, resultsPerPage, totalPages, totalResults }: Params) => boolean;
10
+ //# sourceMappingURL=isCursorLast.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCursorLast.d.cts","sourceRoot":"","sources":["../../../../src/helpers/isCursorLast.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAGpE,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,YAAY,oFAAqF,MAAM,YACA,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { PlainObject } from '@graphql-box/core';
2
+ import { type ConnectionInputOptions } from '../types.cts';
3
+ export declare const isCursorSupplied: ({ after, before }: PlainObject & ConnectionInputOptions) => boolean;
4
+ //# sourceMappingURL=isCursorSupplied.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCursorSupplied.d.cts","sourceRoot":"","sources":["../../../../src/helpers/isCursorSupplied.cts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,eAAO,MAAM,gBAAgB,sBAAuB,WAAW,GAAG,sBAAsB,YAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const isFirstPage: (page: number) => boolean;
2
+ //# sourceMappingURL=isFirstPage.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isFirstPage.d.cts","sourceRoot":"","sources":["../../../../src/helpers/isFirstPage.cts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,SAAU,MAAM,YAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type Params = {
2
+ page: number;
3
+ totalPages: number;
4
+ };
5
+ export declare const isLastPage: ({ page, totalPages }: Params) => boolean;
6
+ //# sourceMappingURL=isLastPage.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isLastPage.d.cts","sourceRoot":"","sources":["../../../../src/helpers/isLastPage.cts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,UAAU,yBAA0B,MAAM,YAAwB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type Node } from '../types.cts';
2
+ export declare const makeEdges: (nodes: Node[], makeCursor: (node: Node) => string) => {
3
+ cursor: string;
4
+ node: Node;
5
+ }[];
6
+ //# sourceMappingURL=makeEdges.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeEdges.d.cts","sourceRoot":"","sources":["../../../../src/helpers/makeEdges.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,SAAS,UAAW,IAAI,EAAE,qBAAqB,IAAI,KAAK,MAAM;;;GAClB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type ConnectionInputOptions, type CursorGroupMetadata } from '../types.cts';
2
+ export type Context = {
3
+ metadata: CursorGroupMetadata;
4
+ resultsPerPage: number;
5
+ };
6
+ export declare const makeEntry: (args: ConnectionInputOptions, { metadata: { totalPages, totalResults }, resultsPerPage }: Context) => {
7
+ index: number;
8
+ page: number;
9
+ };
10
+ //# sourceMappingURL=makeEntry.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeEntry.d.cts","sourceRoot":"","sources":["../../../../src/helpers/makeEntry.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIpF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,SAAS,SACd,sBAAsB,8DACgC,OAAO;;;CAOpE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type CachedEdges } from '../types.cts';
2
+ export declare const mergeCachedEdges: (cachedEdges: CachedEdges[], missingCachedEdges: CachedEdges[]) => CachedEdges[];
3
+ //# sourceMappingURL=mergeCachedEdges.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeCachedEdges.d.cts","sourceRoot":"","sources":["../../../../src/helpers/mergeCachedEdges.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,gBAAgB,gBAAiB,WAAW,EAAE,sBAAsB,WAAW,EAAE,kBAWtF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const removeConnectionInputOptions: <O extends object>(args: O) => Partial<O>;
2
+ //# sourceMappingURL=removeConnectionInputOptions.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeConnectionInputOptions.d.cts","sourceRoot":"","sources":["../../../../src/helpers/removeConnectionInputOptions.cts"],"names":[],"mappings":"AAIA,eAAO,MAAM,4BAA4B,2CACwB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { type Core } from '@cachemap/core';
2
+ import type { PlainObject } from '@graphql-box/core';
3
+ import { type Getters, type Node, type ResourceResolver } from '../types.cts';
4
+ export type Context<Resource extends PlainObject, ResourceNode extends Node> = {
5
+ cursorCache: Core;
6
+ getters: Getters<Resource, ResourceNode>;
7
+ groupCursor: string;
8
+ makeIDCursor: (id: string | number) => string;
9
+ resourceResolver: ResourceResolver<Resource>;
10
+ };
11
+ export declare const requestAndCachePages: <Resource extends PlainObject, ResourceNode extends Node>(pages: number[], { cursorCache, getters, groupCursor, makeIDCursor, resourceResolver }: Context<Resource, ResourceNode>) => Promise<{
12
+ cachedEdges: {
13
+ edges: {
14
+ cursor: string;
15
+ node: Node;
16
+ }[];
17
+ pageNumber: number;
18
+ }[];
19
+ errors: Error[];
20
+ }>;
21
+ //# sourceMappingURL=requestAndCachePages.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestAndCachePages.d.cts","sourceRoot":"","sources":["../../../../src/helpers/requestAndCachePages.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI7E,MAAM,MAAM,OAAO,CAAC,QAAQ,SAAS,WAAW,EAAE,YAAY,SAAS,IAAI,IAAI;IAC7E,WAAW,EAAE,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IAC9C,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,oBAAoB,mEACxB,MAAM,EAAE;;;;;;;;;EAuChB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { PlainArray } from '@graphql-box/core';
2
+ export type RequestMissingPagesParams = {
3
+ count: number;
4
+ direction: 'forward' | 'backward';
5
+ page: number;
6
+ results: number;
7
+ resultsPerPage: number;
8
+ totalPages: number;
9
+ totalResults: number;
10
+ };
11
+ export type RequestMissingPagesCallback = (params: {
12
+ nextPage: number;
13
+ }) => Promise<unknown>;
14
+ export declare const requestOutstandingPages: ({ count, direction, page, results, resultsPerPage, totalPages, totalResults }: RequestMissingPagesParams, requestCallback: RequestMissingPagesCallback) => Promise<{
15
+ missingPages: number[];
16
+ pageResults: PlainArray;
17
+ }>;
18
+ //# sourceMappingURL=requestOutstandingPages.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestOutstandingPages.d.cts","sourceRoot":"","sources":["../../../../src/helpers/requestOutstandingPages.cts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7F,eAAO,MAAM,uBAAuB,kFAC6C,yBAAyB,mBACvF,2BAA2B;;;EAyC7C,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { type Core } from '@cachemap/core';
2
+ import type { PlainObject } from '@graphql-box/core';
3
+ import { type ConnectionInputOptions, type Getters, type Node, type ResourceResolver } from '../types.cts';
4
+ export type Context<Resource extends PlainObject, ResourceNode extends Node> = {
5
+ cursorCache: Core;
6
+ getters: Getters<Resource, ResourceNode>;
7
+ groupCursor: string;
8
+ makeIDCursor: (id: string | number) => string;
9
+ resourceResolver: ResourceResolver<Resource>;
10
+ resultsPerPage: number;
11
+ };
12
+ export declare const resolveConnection: <Resource extends PlainObject, ResourceNode extends Node>(args: PlainObject & ConnectionInputOptions, { cursorCache, getters, groupCursor, makeIDCursor, resourceResolver, resultsPerPage }: Context<Resource, ResourceNode>) => Promise<{
13
+ edges: import("../types.cts").Edge[];
14
+ errors: Error[];
15
+ nodes: Node[];
16
+ pageInfo: {
17
+ endCursor: string | undefined;
18
+ hasNextPage: boolean;
19
+ hasPreviousPage: boolean;
20
+ startCursor: string | undefined;
21
+ };
22
+ totalCount: number;
23
+ }>;
24
+ //# sourceMappingURL=resolveConnection.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveConnection.d.cts","sourceRoot":"","sources":["../../../../src/helpers/resolveConnection.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAS1G,MAAM,MAAM,OAAO,CAAC,QAAQ,SAAS,WAAW,EAAE,YAAY,SAAS,IAAI,IAAI;IAC7E,WAAW,EAAE,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IAC9C,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,kEACtB,WAAW,GAAG,sBAAsB;;;;;;;;;;;EAuD3C,CAAC"}