@graphql-box/connection-resolver 4.1.4 → 5.0.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 (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 +56 -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.mjs +0 -71
  305. package/lib/module/__testUtils__/generateCursorCache.mjs.map +0 -1
  306. package/lib/module/__testUtils__/generatePageResponse.mjs +0 -23
  307. package/lib/module/__testUtils__/generatePageResponse.mjs.map +0 -1
  308. package/lib/module/__testUtils__/generatePages.mjs +0 -11
  309. package/lib/module/__testUtils__/generatePages.mjs.map +0 -1
  310. package/lib/module/defs/index.mjs +0 -2
  311. package/lib/module/defs/index.mjs.map +0 -1
  312. package/lib/module/helpers/cacheCursors.mjs +0 -30
  313. package/lib/module/helpers/cacheCursors.mjs.map +0 -1
  314. package/lib/module/helpers/extractEdges.mjs +0 -2
  315. package/lib/module/helpers/extractEdges.mjs.map +0 -1
  316. package/lib/module/helpers/extractNodes.mjs +0 -2
  317. package/lib/module/helpers/extractNodes.mjs.map +0 -1
  318. package/lib/module/helpers/getCount.mjs +0 -5
  319. package/lib/module/helpers/getCount.mjs.map +0 -1
  320. package/lib/module/helpers/getCurrentPageStartAndEndIndexes.mjs +0 -11
  321. package/lib/module/helpers/getCurrentPageStartAndEndIndexes.mjs.map +0 -1
  322. package/lib/module/helpers/getCursor.mjs +0 -5
  323. package/lib/module/helpers/getCursor.mjs.map +0 -1
  324. package/lib/module/helpers/getDirection.mjs +0 -2
  325. package/lib/module/helpers/getDirection.mjs.map +0 -1
  326. package/lib/module/helpers/getInRangeCachedEdges.mjs +0 -26
  327. package/lib/module/helpers/getInRangeCachedEdges.mjs.map +0 -1
  328. package/lib/module/helpers/getIndexesOnCurrentPage.mjs +0 -17
  329. package/lib/module/helpers/getIndexesOnCurrentPage.mjs.map +0 -1
  330. package/lib/module/helpers/getIndexesOnLastPage.mjs +0 -9
  331. package/lib/module/helpers/getIndexesOnLastPage.mjs.map +0 -1
  332. package/lib/module/helpers/getPageNumbersToRequest.mjs +0 -30
  333. package/lib/module/helpers/getPageNumbersToRequest.mjs.map +0 -1
  334. package/lib/module/helpers/getPagesMissingFromCache.mjs +0 -10
  335. package/lib/module/helpers/getPagesMissingFromCache.mjs.map +0 -1
  336. package/lib/module/helpers/getResultsOnLastPage.mjs +0 -8
  337. package/lib/module/helpers/getResultsOnLastPage.mjs.map +0 -1
  338. package/lib/module/helpers/getStartAndEndCursors.mjs +0 -10
  339. package/lib/module/helpers/getStartAndEndCursors.mjs.map +0 -1
  340. package/lib/module/helpers/getStartAndEndIndexes.mjs +0 -86
  341. package/lib/module/helpers/getStartAndEndIndexes.mjs.map +0 -1
  342. package/lib/module/helpers/getStartAndEndPageNumbers.mjs +0 -35
  343. package/lib/module/helpers/getStartAndEndPageNumbers.mjs.map +0 -1
  344. package/lib/module/helpers/hasPreviousNextPage.mjs +0 -18
  345. package/lib/module/helpers/hasPreviousNextPage.mjs.map +0 -1
  346. package/lib/module/helpers/isCursorFirst.mjs +0 -8
  347. package/lib/module/helpers/isCursorFirst.mjs.map +0 -1
  348. package/lib/module/helpers/isCursorLast.mjs +0 -15
  349. package/lib/module/helpers/isCursorLast.mjs.map +0 -1
  350. package/lib/module/helpers/isCursorSupplied.mjs +0 -5
  351. package/lib/module/helpers/isCursorSupplied.mjs.map +0 -1
  352. package/lib/module/helpers/isFirstPage.mjs +0 -2
  353. package/lib/module/helpers/isFirstPage.mjs.map +0 -1
  354. package/lib/module/helpers/isLastPage.mjs +0 -5
  355. package/lib/module/helpers/isLastPage.mjs.map +0 -1
  356. package/lib/module/helpers/makeEdges.mjs +0 -5
  357. package/lib/module/helpers/makeEdges.mjs.map +0 -1
  358. package/lib/module/helpers/makeEntry.mjs +0 -25
  359. package/lib/module/helpers/makeEntry.mjs.map +0 -1
  360. package/lib/module/helpers/mergeCachedEdges.mjs +0 -12
  361. package/lib/module/helpers/mergeCachedEdges.mjs.map +0 -1
  362. package/lib/module/helpers/removeConnectionInputOptions.mjs +0 -4
  363. package/lib/module/helpers/removeConnectionInputOptions.mjs.map +0 -1
  364. package/lib/module/helpers/requestAndCachePages.mjs +0 -54
  365. package/lib/module/helpers/requestAndCachePages.mjs.map +0 -1
  366. package/lib/module/helpers/requestOutstandingPages.mjs +0 -57
  367. package/lib/module/helpers/requestOutstandingPages.mjs.map +0 -1
  368. package/lib/module/helpers/resolveConnection.mjs +0 -78
  369. package/lib/module/helpers/resolveConnection.mjs.map +0 -1
  370. package/lib/module/helpers/retrieveCachedConnection.mjs +0 -70
  371. package/lib/module/helpers/retrieveCachedConnection.mjs.map +0 -1
  372. package/lib/module/helpers/retrieveCachedEdgesByPage.mjs +0 -35
  373. package/lib/module/helpers/retrieveCachedEdgesByPage.mjs.map +0 -1
  374. package/lib/module/helpers/validateCursor.mjs +0 -71
  375. package/lib/module/helpers/validateCursor.mjs.map +0 -1
  376. package/lib/module/index.mjs +0 -4
  377. package/lib/module/index.mjs.map +0 -1
  378. package/lib/module/main/index.mjs +0 -83
  379. package/lib/module/main/index.mjs.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
package/src/main/index.ts CHANGED
@@ -1,30 +1,37 @@
1
- import { GraphQLResolveInfo } from "graphql";
2
- import { Connection, ConnectionInputOptions, ConnectionResolverUserOptions, Node, PlainObject } from "../defs";
3
- import isCursorSupplied from "../helpers/isCursorSupplied";
4
- import requestAndCachePages from "../helpers/requestAndCachePages";
5
- import resolveConnection from "../helpers/resolveConnection";
6
- import validateCursor from "../helpers/validateCursor";
1
+ import type { PlainObject } from '@graphql-box/core';
2
+ import { type GraphQLResolveInfo } from 'graphql';
3
+ import { isCursorSupplied } from '../helpers/isCursorSupplied.ts';
4
+ import { requestAndCachePages } from '../helpers/requestAndCachePages.ts';
5
+ import { resolveConnection } from '../helpers/resolveConnection.ts';
6
+ import { validateCursor } from '../helpers/validateCursor.ts';
7
+ import {
8
+ type Connection,
9
+ type ConnectionInputOptions,
10
+ type ConnectionResolverUserOptions,
11
+ type Node,
12
+ } from '../types.ts';
7
13
 
8
- export const connectionResolver = <
9
- Source extends PlainObject | undefined,
10
- Args extends PlainObject,
11
- Ctx extends PlainObject,
12
- Resource extends PlainObject,
13
- ResourceNode extends Node
14
- >({
15
- cursorCache,
16
- createMakeCursors,
17
- createResourceResolver,
18
- getters,
19
- resolver = result => result,
20
- resultsPerPage,
21
- }: ConnectionResolverUserOptions<Source, Args, Ctx, Resource, ResourceNode>) => async (
22
- source: Source,
23
- args: Args & ConnectionInputOptions,
24
- context: Ctx,
25
- info: GraphQLResolveInfo,
26
- ): Promise<Connection> => {
27
- try {
14
+ export const makeConnectionResolver =
15
+ <
16
+ Source extends PlainObject | undefined,
17
+ Args extends PlainObject,
18
+ Ctx extends PlainObject,
19
+ Resource extends PlainObject,
20
+ ResourceNode extends Node
21
+ >({
22
+ createMakeCursors,
23
+ createResourceResolver,
24
+ cursorCache,
25
+ getters,
26
+ resolver = result => result,
27
+ resultsPerPage,
28
+ }: ConnectionResolverUserOptions<Source, Args, Ctx, Resource, ResourceNode>) =>
29
+ async (
30
+ source: Source,
31
+ args: Args & ConnectionInputOptions,
32
+ context: Ctx,
33
+ info: GraphQLResolveInfo
34
+ ): Promise<Connection> => {
28
35
  const { makeGroupCursor, makeIDCursor } = createMakeCursors(source, args, context, info);
29
36
  const resourceResolver = createResourceResolver(source, args, context, info);
30
37
  const groupCursor = makeGroupCursor();
@@ -57,7 +64,7 @@ export const connectionResolver = <
57
64
  makeIDCursor,
58
65
  resourceResolver,
59
66
  resultsPerPage,
60
- }),
67
+ })
61
68
  );
62
69
  }
63
70
 
@@ -70,7 +77,7 @@ export const connectionResolver = <
70
77
  makeIDCursor,
71
78
  resourceResolver,
72
79
  resultsPerPage,
73
- }),
80
+ })
74
81
  );
75
82
  }
76
83
 
@@ -90,11 +97,6 @@ export const connectionResolver = <
90
97
  makeIDCursor,
91
98
  resourceResolver,
92
99
  resultsPerPage,
93
- }),
100
+ })
94
101
  );
95
- } catch (e) {
96
- throw e;
97
- }
98
- };
99
-
100
- export default connectionResolver;
102
+ };
@@ -1,13 +1,9 @@
1
- import Cachemap from "@cachemap/core";
2
- import { GraphQLResolveInfo } from "graphql";
1
+ import { type Core } from '@cachemap/core';
2
+ import type { PlainObject } from '@graphql-box/core';
3
+ import { type GraphQLResolveInfo } from 'graphql';
4
+ import { type SetOptional } from 'type-fest';
3
5
 
4
- export type PlainObject = {
5
- [key: string]: any;
6
- };
7
-
8
- export type Node = PlainObject & { id: string | number };
9
-
10
- export type Direction = "backward" | "forward";
6
+ export type Direction = 'backward' | 'forward';
11
7
 
12
8
  export type CursorCacheEntry = {
13
9
  group: string;
@@ -16,6 +12,8 @@ export type CursorCacheEntry = {
16
12
  page: number;
17
13
  };
18
14
 
15
+ export type PartialCursorCacheEntry = SetOptional<CursorCacheEntry, 'group' | 'node'>;
16
+
19
17
  export type CursorGroupMetadata = {
20
18
  totalPages: number;
21
19
  totalResults: number;
@@ -36,6 +34,8 @@ export type Indexes = {
36
34
  relative: number;
37
35
  };
38
36
 
37
+ export type Node = PlainObject & { id: string | number };
38
+
39
39
  export type PageInfo = {
40
40
  endCursor?: string;
41
41
  hasNextPage: boolean;
@@ -85,13 +85,13 @@ export interface ConnectionResolverUserOptions<
85
85
  source: Source,
86
86
  args: Args,
87
87
  context: Ctx,
88
- info: GraphQLResolveInfo,
88
+ info: GraphQLResolveInfo
89
89
  ) => {
90
90
  makeGroupCursor: () => string;
91
91
  makeIDCursor: (id: string | number) => string;
92
92
  };
93
93
  createResourceResolver: CreateResourceResolver<Source, Args, Ctx, Resource>;
94
- cursorCache: Cachemap;
94
+ cursorCache: Core;
95
95
  getters: Getters<Resource, ResourceNode>;
96
96
  resolver?: (args: Connection) => Connection;
97
97
  resultsPerPage: number;
@@ -101,7 +101,7 @@ export type ConnectionResolver = (
101
101
  source: PlainObject,
102
102
  args: PlainObject & ConnectionInputOptions,
103
103
  context: PlainObject,
104
- info: GraphQLResolveInfo,
104
+ info: GraphQLResolveInfo
105
105
  ) => Promise<Connection>;
106
106
 
107
107
  export type ConnectionInputOptions = {
@@ -110,9 +110,3 @@ export type ConnectionInputOptions = {
110
110
  first?: number;
111
111
  last?: number;
112
112
  };
113
-
114
- export type Context = {
115
- entry: CursorCacheEntry;
116
- metadata: CursorGroupMetadata;
117
- resultsPerPage: number;
118
- };
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist/types/esm",
5
+ "rootDir": "src"
6
+ },
7
+ "exclude": [
8
+ "**/*.test.*"
9
+ ]
10
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": ["@repodog/ts-config/index.json", "@repodog/ts-config/build.json"],
3
+ "include": [
4
+ "src/**/*"
5
+ ],
6
+ "references": [
7
+ {
8
+ "path": "../core"
9
+ }
10
+ ]
11
+ }
@@ -1,2 +0,0 @@
1
- import e from"lodash/pickBy";import"core-js/modules/es.array.includes.js";import r from"@babel/runtime/helpers/asyncToGenerator";import t from"@babel/runtime/regenerator";import n from"@babel/runtime/helpers/toConsumableArray";import"core-js/modules/es.array.iterator.js";import"core-js/modules/es.object.to-string.js";import"core-js/modules/es.promise.js";import"core-js/modules/es.string.iterator.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.map.js";import"core-js/modules/es.array.concat.js";import"core-js/modules/es.array.slice.js";import"core-js/modules/es.array.find.js";import"core-js/modules/web.dom-collections.for-each.js";import a from"lodash/range";import s from"@babel/runtime/helpers/slicedToArray";import"core-js/modules/es.object.keys.js";import"core-js/modules/es.symbol.js";import"core-js/modules/es.array.filter.js";import"core-js/modules/es.object.get-own-property-descriptor.js";import"core-js/modules/es.object.get-own-property-descriptors.js";import u from"@babel/runtime/helpers/defineProperty";import{GraphQLError as o}from"graphql";var c,i=["after","before","first","last"],l=function(r){return e(r,(function(e,r){return!i.includes(r)}))},p=function(e){var r=e.after,t=e.before;return!(!r&&!t)},d=(c=r(t.mark((function e(n,a){var s,u,o,c,i,l,p,d;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=a.edges,u=a.group,o=a.headers,c=a.page,i=a.totalPages,l=a.totalResults,p=o.get("cache-control"),d=p?{cacheHeaders:{cacheControl:p}}:void 0,e.next=5,Promise.all(s.map(function(){var e=r(t.mark((function e(r,a){var s,o;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=r.cursor,o=r.node,e.abrupt("return",n.set(s,{node:o,index:a,group:u,page:c},d));case 2:case"end":return e.stop()}}),e)})));return function(r,t){return e.apply(this,arguments)}}()));case 5:return e.next=7,n.set("".concat(u,"-metadata"),{totalPages:i,totalResults:l},d);case 7:case"end":return e.stop()}}),e)}))),function(e,r){return c.apply(this,arguments)}),g=function(e,r){return e.map((function(e){return{node:e,cursor:r(e)}}))},f=function(){var e=r(t.mark((function e(a,s){var u,o,c,i,l,p,f;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=s.cursorCache,o=s.getters,c=s.groupCursor,i=s.makeIDCursor,l=s.resourceResolver,p=[],e.next=4,Promise.all(a.map(function(){var e=r(t.mark((function e(r){var a,s,f,m,b;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,l({page:r});case 2:if(a=e.sent,s=a.data,f=a.errors,m=a.headers,!s||null!=f&&f.length){e.next=11;break}return b=g(o.nodes(s),(function(e){return i(e.id)})),e.next=10,d(u,{edges:b,group:c,headers:m,page:r,totalPages:o.totalPages(s),totalResults:o.totalResults(s)});case 10:return e.abrupt("return",{edges:b,pageNumber:r});case 11:return null!=f&&f.length&&p.push.apply(p,n(f)),e.abrupt("return",{edges:[],pageNumber:r});case 13:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}()));case 4:return f=e.sent,e.abrupt("return",{cachedEdges:f,errors:p});case 6:case"end":return e.stop()}}),e)})));return function(r,t){return e.apply(this,arguments)}}(),m=function(e){return e.reduce((function(e,r){return[].concat(n(e),n(r.edges))}),[])},b=function(e){return e.map((function(e){return e.node}))},P=function(e,r){var t=r.endIndex,n=r.resultsPerPage,a=r.startIndex;return e.reduce((function(r,s,u){var o=function(e){var r=e.pageIndex,t=e.startIndex;return 0===r?t.relative:0}({startIndex:a,pageIndex:u}),c=function(e){var r=e.endIndex,t=e.pageIndex,n=e.resultsPerPage;return t===e.totalCachedPages-1?r.relative:n-1}({endIndex:t,pageIndex:u,resultsPerPage:n,totalCachedPages:e.length}),i=s.edges.slice(o,c+1);return r.push({edges:i,pageNumber:s.pageNumber}),r}),[])},h=function(e){var r;return null===(r=e[0])||void 0===r?void 0:r.cursor},v=function(e){var r=e[e.length-1];return null==r?void 0:r.cursor},x=function(e,r){return e.reduce((function(e,t){if(!t.edges.length){var a=r.find((function(e){return e.pageNumber===t.pageNumber}));if(a)return[].concat(n(e),[a])}return[].concat(n(e),[t])}),[])},y=function(e){var r=e.after;return e.before||r},w=function(e){return e?"backward":"forward"},C=function(e){return e.page===e.totalPages},j=function(e,r){var t=r.endIndex,s=r.entry.page,u=r.metadata,o=r.resultsPerPage,c=function(e,r){var t=r.page,n=r.startIndex,a=r.resultsPerPage;if("forward"===w(e.last)||n.absolute>=0)return t;var s=t-Math.ceil(Math.abs(n.absolute)/a);return s<=1?1:s}(e,{page:s,startIndex:r.startIndex,resultsPerPage:o}),i=function(e,r){var t=r.endIndex,n=r.metadata.totalPages,a=r.page,s=r.resultsPerPage,u=s-1;if("backward"===w(e.last)||C({page:a,totalPages:n})||t.absolute<=u)return a;var o=a+Math.ceil((t.absolute-u)/s);return o>=n?n:o}(e,{endIndex:t,metadata:u,page:s,resultsPerPage:o});return c===i?[s]:[].concat(n(a(c,i)),[i])},k=function(e){return e.reduce((function(e,r){return r.edges.length||e.push(r.pageNumber),e}),[])},I=function(e){var r=e.first,t=e.last;return r||t},R=function(e){return function(e){var r=e.resultsPerPage,t=e.totalResults%r;return 0===t?r:t}({resultsPerPage:e.resultsPerPage,totalResults:e.totalResults})-1},N=function(e,r){var t=r.entry,n=t.index,a=t.page,s=r.resultsPerPage,u=I(e);return"forward"===w(e.last)?{absolute:n+1,relative:n+1}:function(e){return 1===e}(a)&&n-u<0?{absolute:0,relative:0}:function(){var e=n-u;if(e>=0)return{absolute:e,relative:e};var r=Math.abs(e),t=r%s;return{absolute:e,relative:0===t||a-(r/s+1)<0?0:s-t}}()},O=function(e,r){var t=r.entry,n=t.index,a=t.page,s=r.metadata,u=s.totalPages,o=s.totalResults,c=r.resultsPerPage,i=I(e),l=R({resultsPerPage:c,totalResults:o});return"backward"===w(e.last)?{absolute:n-1,relative:n-1}:C({page:a,totalPages:u})&&n+i>l?{absolute:l,relative:l}:function(){var e=n+i,r=c-1;if(e<=r)return{absolute:e,relative:e};var t=e-r,s=t%c;return{absolute:e,relative:0===s?r:a+t/c>u?l:s-1}}()},D=function(e){var r=e.cachedEdgesByPage,t=e.startIndex;return 1!==r[0].pageNumber||t.relative>0},E=function(e){var r=e.cachedEdgesByPage,t=e.endIndex,n=e.metadata,a=n.totalPages,s=n.totalResults,u=e.resultsPerPage;return r[r.length-1].pageNumber!==a||t.relative<R({resultsPerPage:u,totalResults:s})},T=function(e,r){var t=r.metadata,n=t.totalPages,a=t.totalResults,s=r.resultsPerPage;return"backward"===w(e.last)?{index:R({resultsPerPage:s,totalResults:a})+1,page:n}:{index:-1,page:1}},B=function(){var e=r(t.mark((function e(r,n){var a,u,o,c,i;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.groupCursor,u=n.pageNumber,e.next=3,r.export({filterByValue:[{keyChain:"page",comparator:u},{keyChain:"group",comparator:a}]});case 3:return o=e.sent,c=o.entries,i=o.metadata,e.abrupt("return",{edges:c.reduce((function(e,r){var t=s(r,2),n=t[0],a=t[1],u=a.index,o=a.node;return i[u].cacheability.checkTTL()&&(e[u]={cursor:n,node:o}),e}),[]),pageNumber:u});case 7:case"end":return e.stop()}}),e)})));return function(r,t){return e.apply(this,arguments)}}(),M=function(){var e=r(t.mark((function e(r,n){var a,s,u,o,c,i,l,p,d,g,f;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.cursorCache,s=n.groupCursor,u=n.resultsPerPage,e.next=3,a.get("".concat(s,"-metadata"));case 3:if(o=e.sent,!(c=y(r))){e.next=11;break}return e.next=8,a.get(c);case 8:e.t0=e.sent,e.next=12;break;case 11:e.t0=T(r,{metadata:o,resultsPerPage:u});case 12:return i=e.t0,l=N(r,{entry:i,resultsPerPage:u}),p=O(r,{entry:i,metadata:o,resultsPerPage:u}),d=[],j(r,{endIndex:p,entry:i,metadata:o,resultsPerPage:u,startIndex:l}).forEach((function(e){d.push(B(a,{groupCursor:s,pageNumber:e}))})),e.next=20,Promise.all(d);case 20:return g=e.sent,f=k(g),e.abrupt("return",{cachedEdges:f.length?g:P(g,{endIndex:p,resultsPerPage:u,startIndex:l}),hasNextPage:E({cachedEdgesByPage:g,endIndex:p,metadata:o,resultsPerPage:u}),hasPreviousPage:D({cachedEdgesByPage:g,startIndex:l}),indexes:{end:p,start:l},missingPages:f,totalResults:o.totalResults});case 23:case"end":return e.stop()}}),e)})));return function(r,t){return e.apply(this,arguments)}}(),A=function(){var e=r(t.mark((function e(r,n){var a,s,u,o,c,i,l,p,d,g,y,w,C,j,k,I,R,N,O;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.cursorCache,s=n.getters,u=n.groupCursor,o=n.makeIDCursor,c=n.resourceResolver,i=n.resultsPerPage,e.next=3,M(r,{cursorCache:a,groupCursor:u,resultsPerPage:i});case 3:if(l=e.sent,p=l.cachedEdges,d=l.hasNextPage,g=l.hasPreviousPage,y=l.indexes,w=l.missingPages,C=l.totalResults,w.length){e.next=13;break}return j=m(p),e.abrupt("return",{edges:j,errors:[],nodes:b(j),pageInfo:{endCursor:v(j),hasNextPage:d,hasPreviousPage:g,startCursor:h(j)},totalCount:C});case 13:return e.next=15,f(w,{cursorCache:a,getters:s,groupCursor:u,makeIDCursor:o,resourceResolver:c});case 15:return k=e.sent,I=k.cachedEdges,R=k.errors,N=P(x(p,I),{endIndex:y.end,resultsPerPage:i,startIndex:y.start}),O=m(N),e.abrupt("return",{edges:O,errors:R,nodes:b(O),pageInfo:{endCursor:v(O),hasNextPage:d,hasPreviousPage:g,startCursor:h(O)},totalCount:C});case 21:case"end":return e.stop()}}),e)})));return function(r,t){return e.apply(this,arguments)}}(),G=function(e){var r=e.direction,t=e.entry,n=t.index,a=t.page;return"backward"===r&&1===a&&0===n},S=function(e){var r=e.direction,t=e.entry,n=t.index,a=t.page,s=e.resultsPerPage,u=e.totalPages,o=e.totalResults;return"forward"===r&&a===u&&n===R({resultsPerPage:s,totalResults:o})};function q(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function H(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?q(Object(t),!0).forEach((function(r){u(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):q(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var L,V=(L=r(t.mark((function e(r,n,a){var s,u,c,i,l,p,d,g,f,m,b,P;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=r.after,u=r.before,c=r.first,i=r.last,l=n.fieldNodes,p=a.cursorCache,d=a.groupCursor,g=a.resultsPerPage,!s||c||i){e.next=5;break}return e.abrupt("return",new o("Invalid connection argument combination. `after` must be used in combination with `first`.",l));case 5:if(!s||!i){e.next=7;break}return e.abrupt("return",new o("Invalid connection argument combination. `after` cannot be used in combination with `last`.",l));case 7:if(!u||i||c){e.next=9;break}return e.abrupt("return",new o("Invalid connection argument combination. `before` must be used in combination with `last`.",l));case 9:if(!u||!c){e.next=11;break}return e.abrupt("return",new o("Invalid connection argument combination. `before` cannot be used in combination with `first`.",l));case 11:return e.next=13,p.get("".concat(d,"-metadata"));case 13:if(f=e.sent){e.next=16;break}return e.abrupt("return",new o("Curser cannot be supplied without previously being provided.",l));case 16:return m=y({after:s,before:u}),e.next=19,p.get(m);case 19:if(b=e.sent){e.next=22;break}return e.abrupt("return",new o("The cursor ".concat(m," could not be found."),l));case 22:if(P=w(i),!S(H({direction:P,entry:b,resultsPerPage:g},f))){e.next=25;break}return e.abrupt("return",new o("The cursor ".concat(m," is the last, you cannot go forward any further."),l));case 25:if(!G({direction:P,entry:b})){e.next=27;break}return e.abrupt("return",new o("The cursor ".concat(m," is the first, you cannot go backward any further."),l));case 27:return e.abrupt("return",void 0);case 28:case"end":return e.stop()}}),e)}))),function(e,r,t){return L.apply(this,arguments)}),z=function(e){var n=e.cursorCache,a=e.createMakeCursors,s=e.createResourceResolver,u=e.getters,o=e.resolver,c=void 0===o?function(e){return e}:o,i=e.resultsPerPage;return function(){var e=r(t.mark((function e(r,o,l,d){var g,m,b,P,h,v;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,g=a(r,o,l,d),m=g.makeGroupCursor,b=g.makeIDCursor,P=s(r,o,l,d),h=m(),!p(o)){e.next=15;break}return e.next=7,V(o,d,{cursorCache:n,groupCursor:h,resultsPerPage:i});case 7:if(!(v=e.sent)){e.next=10;break}return e.abrupt("return",c({edges:[],errors:[v],nodes:[],pageInfo:{hasNextPage:!1,hasPreviousPage:!1},totalCount:0}));case 10:return e.t0=c,e.next=13,A(o,{cursorCache:n,getters:u,groupCursor:h,makeIDCursor:b,resourceResolver:P,resultsPerPage:i});case 13:return e.t1=e.sent,e.abrupt("return",(0,e.t0)(e.t1));case 15:return e.next=17,n.has("".concat(h,"-metadata"));case 17:if(!e.sent){e.next=23;break}return e.t2=c,e.next=21,A(o,{cursorCache:n,getters:u,groupCursor:h,makeIDCursor:b,resourceResolver:P,resultsPerPage:i});case 21:return e.t3=e.sent,e.abrupt("return",(0,e.t2)(e.t3));case 23:return e.next=25,f([1],{cursorCache:n,getters:u,groupCursor:h,makeIDCursor:b,resourceResolver:P});case 25:return e.t4=c,e.next=28,A(o,{cursorCache:n,getters:u,groupCursor:h,makeIDCursor:b,resourceResolver:P,resultsPerPage:i});case 28:return e.t5=e.sent,e.abrupt("return",(0,e.t4)(e.t5));case 32:throw e.prev=32,e.t6=e.catch(0),e.t6;case 35:case"end":return e.stop()}}),e,null,[[0,32]])})));return function(r,t,n,a){return e.apply(this,arguments)}}()};export default z;export{z as connectionResolver,l as removeConnectionInputOptions};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","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/getInRangeCachedEdges.ts","../connection-resolver/src/helpers/getCurrentPageStartAndEndIndexes.ts","../connection-resolver/src/helpers/getStartAndEndCursors.ts","../connection-resolver/src/helpers/mergeCachedEdges.ts","../connection-resolver/src/helpers/getCursor.ts","../connection-resolver/src/helpers/getDirection.ts","../connection-resolver/src/helpers/isLastPage.ts","../connection-resolver/src/helpers/getPageNumbersToRequest.ts","../connection-resolver/src/helpers/getStartAndEndPageNumbers.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/getStartAndEndIndexes.ts","../connection-resolver/src/helpers/isFirstPage.ts","../connection-resolver/src/helpers/hasPreviousNextPage.ts","../connection-resolver/src/helpers/makeEntry.ts","../connection-resolver/src/helpers/retrieveCachedEdgesByPage.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\";\n\nconst connectionInputOptions = [\"after\", \"before\", \"first\", \"last\"];\n\nexport default <O extends object>(args: O) => pickBy(args, (_value, key) => !connectionInputOptions.includes(key));\n","import { ConnectionInputOptions, PlainObject } from \"../defs\";\n\nexport default ({ after, before }: PlainObject & ConnectionInputOptions) => !!(after || before);\n","import Cachemap from \"@cachemap/core\";\nimport { Edge } from \"../defs\";\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 default async (cursorCache: Cachemap, { edges, group, headers, page, totalPages, totalResults }: Params) => {\n const cacheControl = headers.get(\"cache-control\");\n const opts = cacheControl ? { cacheHeaders: { cacheControl } } : undefined;\n\n await Promise.all(\n edges.map(async ({ cursor, node }, index) => cursorCache.set(cursor, { node, index, group, page }, opts)),\n );\n\n await cursorCache.set(`${group}-metadata`, { totalPages, totalResults }, opts);\n};\n","import { Node } from \"../defs\";\n\nexport default (nodes: Node[], makeCursor: (node: Node) => string) =>\n nodes.map(node => ({ node, cursor: makeCursor(node) }));\n","import Cachemap from \"@cachemap/core\";\nimport { Getters, Node, PlainObject, ResourceResolver } from \"../defs\";\nimport cacheCursors from \"./cacheCursors\";\nimport makeEdges from \"./makeEdges\";\n\nexport type Context<Resource extends PlainObject, ResourceNode extends Node> = {\n cursorCache: Cachemap;\n getters: Getters<Resource, ResourceNode>;\n groupCursor: string;\n makeIDCursor: (id: string | number) => string;\n resourceResolver: ResourceResolver<Resource>;\n};\n\nconst 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 { data: pageResultData, errors: pageResultErrors, headers: pageResultHeaders } = 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\nexport default requestAndCachePages;\n","import { CachedEdges, Edge } from \"../defs\";\n\nexport default (cachedEdges: CachedEdges[]) =>\n cachedEdges.reduce((edges, cachedEdge) => [...edges, ...cachedEdge.edges], [] as Edge[]);\n","import { Edge } from \"../defs\";\n\nexport default (edges: Edge[]) => edges.map(edge => edge.node);\n","import { CachedEdges, Indexes } from \"../defs\";\nimport { getCurrentPageEndIndex, getCurrentPageStartIndex } from \"./getCurrentPageStartAndEndIndexes\";\n\nexport type Context = {\n endIndex: Indexes;\n resultsPerPage: number;\n startIndex: Indexes;\n};\n\nexport default (cachedEdgesByPage: CachedEdges[], { endIndex, resultsPerPage, startIndex }: Context) => {\n return cachedEdgesByPage.reduce((inRange, cachedEdgesPage, i) => {\n const currentPageStartIndex = getCurrentPageStartIndex({ startIndex, pageIndex: i });\n\n const currentPageEndIndex = getCurrentPageEndIndex({\n endIndex,\n pageIndex: i,\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 }, [] as CachedEdges[]);\n};\n","import { Indexes } from \"../defs\";\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 { Edge } from \"../defs\";\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 { CachedEdges } from \"../defs\";\n\nexport default (cachedEdges: CachedEdges[], missingCachedEdges: CachedEdges[]) =>\n cachedEdges.reduce((mergedCachedEdges, cachedEdge) => {\n if (!cachedEdge.edges.length) {\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 }, [] as CachedEdges[]);\n","import { ConnectionInputOptions } from \"../defs\";\n\nexport default ({ after, before }: ConnectionInputOptions) => before || after;\n","export default (last: number | undefined) => (last ? \"backward\" : \"forward\");\n","export type Params = {\n page: number;\n totalPages: number;\n};\n\nexport default ({ page, totalPages }: Params) => page === totalPages;\n","import { range } from \"lodash\";\nimport { ConnectionInputOptions, Context, Indexes } from \"../defs\";\nimport { getEndPageNumber, getStartPageNumber } from \"./getStartAndEndPageNumbers\";\n\nexport type GetPageNumbersToRequestContext = {\n endIndex: Indexes;\n startIndex: Indexes;\n};\n\nexport default (\n args: ConnectionInputOptions,\n { endIndex, entry: { page }, metadata, resultsPerPage, startIndex }: GetPageNumbersToRequestContext & Context,\n) => {\n const startPageNumber = getStartPageNumber(args, { page, startIndex, resultsPerPage });\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 { ConnectionInputOptions, Context, Indexes } from \"../defs\";\nimport getDirection from \"./getDirection\";\nimport isLastPage from \"./isLastPage\";\n\nexport type PageNumberContext = {\n endIndex: Indexes;\n page: number;\n startIndex: Indexes;\n};\n\nexport const getStartPageNumber = (\n args: ConnectionInputOptions,\n { page, startIndex, resultsPerPage }: Omit<PageNumberContext, \"endIndex\"> & Omit<Context, \"entry\" | \"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 {\n endIndex,\n metadata: { totalPages },\n page,\n resultsPerPage,\n }: Omit<PageNumberContext, \"startIndex\"> & Omit<Context, \"entry\">,\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 { CachedEdges } from \"../defs\";\n\nexport default (cachedEdgesByPage: CachedEdges[]) => {\n return cachedEdgesByPage.reduce((missing, cachedEdgesPage) => {\n if (!cachedEdgesPage.edges.length) {\n missing.push(cachedEdgesPage.pageNumber);\n }\n\n return missing;\n }, [] as number[]);\n};\n","import { ConnectionInputOptions } from \"../defs\";\n\nexport default ({ first, last }: ConnectionInputOptions) => (first || last) as number;\n","export type Params = {\n resultsPerPage: number;\n totalResults: number;\n};\n\nexport default ({ resultsPerPage, totalResults }: Params) => {\n const remainder = totalResults % resultsPerPage;\n return remainder === 0 ? resultsPerPage : remainder;\n};\n","import getResultsOnLastPage, { Params } from \"./getResultsOnLastPage\";\n\nexport default ({ resultsPerPage, totalResults }: Params) => getResultsOnLastPage({ resultsPerPage, totalResults }) - 1;\n","import { ConnectionInputOptions, Context } from \"../defs\";\nimport getCount from \"./getCount\";\nimport getDirection from \"./getDirection\";\nimport getIndexesOnLastPage from \"./getIndexesOnLastPage\";\nimport isFirstPage from \"./isFirstPage\";\nimport isLastPage from \"./isLastPage\";\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 absStartIndex = index - count;\n\n if (absStartIndex >= 0) {\n return { absolute: absStartIndex, relative: absStartIndex };\n }\n\n const indexesRemainingAfterLastPage = Math.abs(absStartIndex);\n const pagesRemaining = indexesRemainingAfterLastPage / resultsPerPage + 1;\n const remainder = indexesRemainingAfterLastPage % resultsPerPage;\n const relStartIndex = remainder === 0 ? 0 : page - pagesRemaining < 0 ? 0 : resultsPerPage - remainder;\n return { absolute: absStartIndex, relative: relStartIndex };\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 absEndIndex = index + count;\n const indexesPerPage = resultsPerPage - 1;\n\n if (absEndIndex <= indexesPerPage) {\n return { absolute: absEndIndex, relative: absEndIndex };\n }\n\n const indexesRemainingAfterFirstPage = absEndIndex - indexesPerPage;\n const pagesRemaining = indexesRemainingAfterFirstPage / resultsPerPage;\n const remainder = indexesRemainingAfterFirstPage % resultsPerPage;\n\n const relEndIndex =\n remainder === 0 ? indexesPerPage : page + pagesRemaining > totalPages ? indexesOnLastPage : remainder - 1;\n\n return { absolute: absEndIndex, relative: relEndIndex };\n })();\n};\n","export default (page: number) => page === 1;\n","import { CachedEdges, CursorGroupMetadata, Indexes } from \"../defs\";\nimport getIndexesOnLastPage from \"./getIndexesOnLastPage\";\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 cachedEdgesByPage[0].pageNumber !== 1 || startIndex.relative > 0;\n\nexport const hasNextPage = ({\n cachedEdgesByPage,\n endIndex,\n metadata: { totalPages, totalResults },\n resultsPerPage,\n}: HasNextPageParams) =>\n cachedEdgesByPage[cachedEdgesByPage.length - 1].pageNumber !== totalPages ||\n endIndex.relative < getIndexesOnLastPage({ resultsPerPage, totalResults });\n","import { ConnectionInputOptions, CursorGroupMetadata } from \"..\";\nimport getDirection from \"./getDirection\";\nimport getIndexesOnLastPage from \"./getIndexesOnLastPage\";\n\nexport type Context = {\n metadata: CursorGroupMetadata;\n resultsPerPage: number;\n};\n\nexport default (args: ConnectionInputOptions, { metadata: { totalPages, totalResults }, resultsPerPage }: Context) => {\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 Cachemap, { ExportResult } from \"@cachemap/core\";\nimport { Edge } from \"../defs\";\n\nexport type Context = {\n groupCursor: string;\n pageNumber: number;\n};\n\nexport default async (cursorCache: Cachemap, { groupCursor, pageNumber }: Context) => {\n const { entries, metadata } = (await cursorCache.export({\n filterByValue: [\n { keyChain: \"page\", comparator: pageNumber },\n { keyChain: \"group\", comparator: groupCursor },\n ],\n })) as ExportResult;\n\n return {\n edges: entries.reduce((cached, [key, { index, node }]) => {\n if (metadata[index].cacheability.checkTTL()) {\n cached[index] = { cursor: key, node };\n }\n\n return cached;\n }, [] as Edge[]),\n pageNumber,\n };\n};\n","import Cachemap from \"@cachemap/core\";\nimport { CachedEdges, ConnectionInputOptions, CursorGroupMetadata } from \"../defs\";\nimport getCursor from \"./getCursor\";\nimport getInRangeCachedEdges from \"./getInRangeCachedEdges\";\nimport getPageNumbersToRequest from \"./getPageNumbersToRequest\";\nimport getPagesMissingFromCache from \"./getPagesMissingFromCache\";\nimport { getEndIndex, getStartIndex } from \"./getStartAndEndIndexes\";\nimport { hasNextPage, hasPreviousPage } from \"./hasPreviousNextPage\";\nimport makeEntry from \"./makeEntry\";\nimport retrieveCachedEdgesByPage from \"./retrieveCachedEdgesByPage\";\n\nexport type Context = {\n cursorCache: Cachemap;\n groupCursor: string;\n resultsPerPage: number;\n};\n\nexport default async (args: ConnectionInputOptions, { cursorCache, groupCursor, resultsPerPage }: Context) => {\n const metadata = (await cursorCache.get(`${groupCursor}-metadata`)) as CursorGroupMetadata;\n const cursor = getCursor(args);\n const entry = cursor ? await cursorCache.get(cursor) : makeEntry(args, { metadata, 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 pageNumbersToRequest.forEach(pageNumber => {\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: !missingPages.length\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 Cachemap from \"@cachemap/core\";\nimport { ConnectionInputOptions, Getters, Node, PlainObject, ResourceResolver } from \"../defs\";\nimport extractEdges from \"./extractEdges\";\nimport extractNodes from \"./extractNodes\";\nimport getInRangeCachedEdges from \"./getInRangeCachedEdges\";\nimport { getEndCursor, getStartCursor } from \"./getStartAndEndCursors\";\nimport mergeCachedEdges from \"./mergeCachedEdges\";\nimport requestAndCachePages from \"./requestAndCachePages\";\nimport retrieveCachedConnection from \"./retrieveCachedConnection\";\n\nexport type Context<Resource extends PlainObject, ResourceNode extends Node> = {\n cursorCache: Cachemap;\n getters: Getters<Resource, ResourceNode>;\n groupCursor: string;\n makeIDCursor: (id: string | number) => string;\n resourceResolver: ResourceResolver<Resource>;\n resultsPerPage: number;\n};\n\nconst resolveConnection = async <Resource extends PlainObject, ResourceNode extends Node>(\n args: PlainObject & ConnectionInputOptions,\n {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n resultsPerPage,\n }: Context<Resource, ResourceNode>,\n) => {\n const {\n cachedEdges,\n hasNextPage,\n hasPreviousPage,\n indexes,\n missingPages,\n totalResults,\n } = await retrieveCachedConnection(args, {\n cursorCache,\n groupCursor,\n resultsPerPage,\n });\n\n if (!missingPages.length) {\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\nexport default resolveConnection;\n","import { CursorCacheEntry, Direction } from \"../defs\";\n\nexport type Params = {\n direction: Direction;\n entry: CursorCacheEntry;\n};\n\nexport default ({ direction, entry: { index, page } }: Params) => direction === \"backward\" && page === 1 && index === 0;\n","import { CursorCacheEntry, Direction } from \"../defs\";\nimport getIndexesOnLastPage from \"./getIndexesOnLastPage\";\n\nexport type Params = {\n direction: Direction;\n entry: CursorCacheEntry;\n resultsPerPage: number;\n totalPages: number;\n totalResults: number;\n};\n\nexport default ({ direction, entry: { index, page }, resultsPerPage, totalPages, totalResults }: Params) =>\n direction === \"forward\" && page === totalPages && index === getIndexesOnLastPage({ resultsPerPage, totalResults });\n","import Cachemap from \"@cachemap/core\";\nimport { GraphQLError, GraphQLResolveInfo } from \"graphql\";\nimport { ConnectionInputOptions, CursorCacheEntry, CursorGroupMetadata } from \"../defs\";\nimport getCursor from \"./getCursor\";\nimport getDirection from \"./getDirection\";\nimport isCursorFirst from \"./isCursorFirst\";\nimport isCursorLast from \"./isCursorLast\";\n\nexport type Context = {\n cursorCache: Cachemap;\n groupCursor: string;\n resultsPerPage: number;\n};\n\nexport default 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 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 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 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 fieldNodes,\n );\n }\n\n const metadata = (await cursorCache.get(`${groupCursor}-metadata`)) as CursorGroupMetadata | undefined;\n\n if (!metadata) {\n return new GraphQLError(\"Curser cannot be supplied without previously being provided.\", fieldNodes);\n }\n\n const cursor = getCursor({ after, before }) as string;\n const entry = (await cursorCache.get(cursor)) as CursorCacheEntry | undefined;\n\n if (!entry) {\n return new GraphQLError(`The cursor ${cursor} could not be found.`, 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.`, fieldNodes);\n }\n\n if (isCursorFirst({ direction, entry })) {\n return new GraphQLError(`The cursor ${cursor} is the first, you cannot go backward any further.`, fieldNodes);\n }\n\n return undefined;\n};\n","import { GraphQLResolveInfo } from \"graphql\";\nimport { Connection, ConnectionInputOptions, ConnectionResolverUserOptions, Node, PlainObject } from \"../defs\";\nimport isCursorSupplied from \"../helpers/isCursorSupplied\";\nimport requestAndCachePages from \"../helpers/requestAndCachePages\";\nimport resolveConnection from \"../helpers/resolveConnection\";\nimport validateCursor from \"../helpers/validateCursor\";\n\nexport const connectionResolver = <\n Source extends PlainObject | undefined,\n Args extends PlainObject,\n Ctx extends PlainObject,\n Resource extends PlainObject,\n ResourceNode extends Node\n>({\n cursorCache,\n createMakeCursors,\n createResourceResolver,\n getters,\n resolver = result => result,\n resultsPerPage,\n}: ConnectionResolverUserOptions<Source, Args, Ctx, Resource, ResourceNode>) => async (\n source: Source,\n args: Args & ConnectionInputOptions,\n context: Ctx,\n info: GraphQLResolveInfo,\n): Promise<Connection> => {\n try {\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 } catch (e) {\n throw e;\n }\n};\n\nexport default connectionResolver;\n"],"names":["connectionInputOptions","args","_pickBy","_value","key","includes","after","before","cursorCache","edges","group","headers","page","totalPages","totalResults","cacheControl","get","opts","cacheHeaders","undefined","Promise","all","map","index","cursor","node","set","nodes","makeCursor","requestAndCachePages","pages","getters","groupCursor","makeIDCursor","resourceResolver","errors","pageResultData","data","pageResultErrors","pageResultHeaders","length","makeEdges","id","cacheCursors","pageNumber","push","cachedEdges","reduce","cachedEdge","edge","cachedEdgesByPage","endIndex","resultsPerPage","startIndex","inRange","cachedEdgesPage","i","currentPageStartIndex","pageIndex","relative","getCurrentPageStartIndex","currentPageEndIndex","totalCachedPages","getCurrentPageEndIndex","slice","getStartCursor","_edges$","getEndCursor","lastEdge","missingCachedEdges","mergedCachedEdges","missingCachedEdge","find","missing","last","entry","metadata","startPageNumber","getDirection","absolute","Math","ceil","abs","getStartPageNumber","endPageNumber","indexesPerPage","isLastPage","getEndPageNumber","_range","first","remainder","getResultsOnLastPage","getStartIndex","count","getCount","isFirstPage","absStartIndex","indexesRemainingAfterLastPage","getEndIndex","indexesOnLastPage","getIndexesOnLastPage","absEndIndex","indexesRemainingAfterFirstPage","hasPreviousPage","hasNextPage","export","filterByValue","keyChain","comparator","entries","cached","cacheability","checkTTL","getCursor","makeEntry","promises","getPageNumbersToRequest","forEach","retrieveCachedEdgesByPage","missingPages","getPagesMissingFromCache","getInRangeCachedEdges","indexes","end","start","resolveConnection","retrieveCachedConnection","extractEdges","extractNodes","pageInfo","endCursor","startCursor","totalCount","mergeCachedEdges","direction","fieldNodes","GraphQLError","isCursorLast","isCursorFirst","connectionResolver","createMakeCursors","createResourceResolver","resolver","result","source","context","info","makeGroupCursor","isCursorSupplied","validateCursor","cursorError","has"],"mappings":"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"}
@@ -1,314 +0,0 @@
1
- -----------------------------
2
- Rollup File Analysis
3
- -----------------------------
4
- bundle size: 34.397 KB
5
- original size: 26.378 KB
6
- code reduction: 0 %
7
- module count: 33
8
-
9
- ██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
10
- file: /src/helpers/validateCursor.ts
11
- bundle space: 13.84 %
12
- rendered size: 4.761 KB
13
- original size: 2.3 KB
14
- code reduction: 0 %
15
- dependents: 1
16
- - /src/main/index.ts
17
-
18
- ██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
19
- file: /src/main/index.ts
20
- bundle space: 13.63 %
21
- rendered size: 4.688 KB
22
- original size: 2.591 KB
23
- code reduction: 0 %
24
- dependents: 1
25
- - /src/index.ts
26
-
27
- █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
28
- file: /src/helpers/requestAndCachePages.ts
29
- bundle space: 11.04 %
30
- rendered size: 3.799 KB
31
- original size: 1.643 KB
32
- code reduction: 0 %
33
- dependents: 2
34
- - /src/helpers/resolveConnection.ts
35
- - /src/main/index.ts
36
-
37
- █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
38
- file: /src/helpers/resolveConnection.ts
39
- bundle space: 10.17 %
40
- rendered size: 3.499 KB
41
- original size: 2.437 KB
42
- code reduction: 0 %
43
- dependents: 1
44
- - /src/main/index.ts
45
-
46
- ████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
47
- file: /src/helpers/retrieveCachedConnection.ts
48
- bundle space: 9.94 %
49
- rendered size: 3.42 KB
50
- original size: 2.103 KB
51
- code reduction: 0 %
52
- dependents: 1
53
- - /src/helpers/resolveConnection.ts
54
-
55
- ███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
56
- file: /src/helpers/getStartAndEndIndexes.ts
57
- bundle space: 7.04 %
58
- rendered size: 2.421 KB
59
- original size: 2.463 KB
60
- code reduction: 1.71 %
61
- dependents: 1
62
- - /src/helpers/retrieveCachedConnection.ts
63
-
64
- ███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
65
- file: /src/helpers/cacheCursors.ts
66
- bundle space: 6.56 %
67
- rendered size: 2.255 KB
68
- original size: 687 Bytes
69
- code reduction: 0 %
70
- dependents: 1
71
- - /src/helpers/requestAndCachePages.ts
72
-
73
- ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
74
- file: /src/helpers/retrieveCachedEdgesByPage.ts
75
- bundle space: 4.92 %
76
- rendered size: 1.692 KB
77
- original size: 720 Bytes
78
- code reduction: 0 %
79
- dependents: 1
80
- - /src/helpers/retrieveCachedConnection.ts
81
-
82
- █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
83
- file: /src/helpers/getStartAndEndPageNumbers.ts
84
- bundle space: 2.93 %
85
- rendered size: 1.009 KB
86
- original size: 1.279 KB
87
- code reduction: 21.11 %
88
- dependents: 1
89
- - /src/helpers/getPageNumbersToRequest.ts
90
-
91
- █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
92
- file: /src/helpers/getInRangeCachedEdges.ts
93
- bundle space: 2.31 %
94
- rendered size: 795 Bytes
95
- original size: 923 Bytes
96
- code reduction: 13.87 %
97
- dependents: 2
98
- - /src/helpers/retrieveCachedConnection.ts
99
- - /src/helpers/resolveConnection.ts
100
-
101
- █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
102
- file: /src/helpers/hasPreviousNextPage.ts
103
- bundle space: 2.14 %
104
- rendered size: 735 Bytes
105
- original size: 851 Bytes
106
- code reduction: 13.63 %
107
- dependents: 1
108
- - /src/helpers/retrieveCachedConnection.ts
109
-
110
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
111
- file: /src/helpers/getPageNumbersToRequest.ts
112
- bundle space: 1.99 %
113
- rendered size: 685 Bytes
114
- original size: 772 Bytes
115
- code reduction: 11.27 %
116
- dependents: 1
117
- - /src/helpers/retrieveCachedConnection.ts
118
-
119
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
120
- file: /src/helpers/mergeCachedEdges.ts
121
- bundle space: 1.58 %
122
- rendered size: 543 Bytes
123
- original size: 509 Bytes
124
- code reduction: 0 %
125
- dependents: 1
126
- - /src/helpers/resolveConnection.ts
127
-
128
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
129
- file: /src/helpers/getCurrentPageStartAndEndIndexes.ts
130
- bundle space: 1.51 %
131
- rendered size: 518 Bytes
132
- original size: 583 Bytes
133
- code reduction: 11.15 %
134
- dependents: 1
135
- - /src/helpers/getInRangeCachedEdges.ts
136
-
137
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
138
- file: /src/helpers/makeEntry.ts
139
- bundle space: 1.41 %
140
- rendered size: 484 Bytes
141
- original size: 565 Bytes
142
- code reduction: 14.34 %
143
- dependents: 1
144
- - /src/helpers/retrieveCachedConnection.ts
145
-
146
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
147
- file: /src/helpers/isCursorLast.ts
148
- bundle space: 1.32 %
149
- rendered size: 453 Bytes
150
- original size: 491 Bytes
151
- code reduction: 7.74 %
152
- dependents: 1
153
- - /src/helpers/validateCursor.ts
154
-
155
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
156
- file: /src/helpers/getStartAndEndCursors.ts
157
- bundle space: 0.97 %
158
- rendered size: 333 Bytes
159
- original size: 224 Bytes
160
- code reduction: 0 %
161
- dependents: 1
162
- - /src/helpers/resolveConnection.ts
163
-
164
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
165
- file: /src/helpers/getPagesMissingFromCache.ts
166
- bundle space: 0.77 %
167
- rendered size: 264 Bytes
168
- original size: 302 Bytes
169
- code reduction: 12.58 %
170
- dependents: 1
171
- - /src/helpers/retrieveCachedConnection.ts
172
-
173
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
174
- file: /src/helpers/getIndexesOnLastPage.ts
175
- bundle space: 0.7 %
176
- rendered size: 242 Bytes
177
- original size: 193 Bytes
178
- code reduction: 0 %
179
- dependents: 4
180
- - /src/helpers/getStartAndEndIndexes.ts
181
- - /src/helpers/hasPreviousNextPage.ts
182
- - /src/helpers/makeEntry.ts
183
- - /src/helpers/isCursorLast.ts
184
-
185
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
186
- file: /src/helpers/getResultsOnLastPage.ts
187
- bundle space: 0.69 %
188
- rendered size: 237 Bytes
189
- original size: 249 Bytes
190
- code reduction: 4.82 %
191
- dependents: 1
192
- - /src/helpers/getIndexesOnLastPage.ts
193
-
194
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
195
- file: /src/helpers/isCursorFirst.ts
196
- bundle space: 0.68 %
197
- rendered size: 233 Bytes
198
- original size: 255 Bytes
199
- code reduction: 8.63 %
200
- dependents: 1
201
- - /src/helpers/validateCursor.ts
202
-
203
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
204
- file: /src/helpers/removeConnectionInputOptions.ts
205
- bundle space: 0.66 %
206
- rendered size: 228 Bytes
207
- original size: 220 Bytes
208
- code reduction: 0 %
209
- dependents: 1
210
- - /src/index.ts
211
-
212
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
213
- file: /src/helpers/extractEdges.ts
214
- bundle space: 0.59 %
215
- rendered size: 204 Bytes
216
- original size: 185 Bytes
217
- code reduction: 0 %
218
- dependents: 1
219
- - /src/helpers/resolveConnection.ts
220
-
221
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
222
- file: /src/helpers/makeEdges.ts
223
- bundle space: 0.47 %
224
- rendered size: 163 Bytes
225
- original size: 162 Bytes
226
- code reduction: 0 %
227
- dependents: 1
228
- - /src/helpers/requestAndCachePages.ts
229
-
230
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
231
- file: /src/helpers/isCursorSupplied.ts
232
- bundle space: 0.38 %
233
- rendered size: 129 Bytes
234
- original size: 161 Bytes
235
- code reduction: 19.88 %
236
- dependents: 1
237
- - /src/main/index.ts
238
-
239
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
240
- file: /src/helpers/isLastPage.ts
241
- bundle space: 0.38 %
242
- rendered size: 129 Bytes
243
- original size: 135 Bytes
244
- code reduction: 4.44 %
245
- dependents: 2
246
- - /src/helpers/getStartAndEndPageNumbers.ts
247
- - /src/helpers/getStartAndEndIndexes.ts
248
-
249
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
250
- file: /src/helpers/getCursor.ts
251
- bundle space: 0.34 %
252
- rendered size: 118 Bytes
253
- original size: 130 Bytes
254
- code reduction: 9.23 %
255
- dependents: 2
256
- - /src/helpers/retrieveCachedConnection.ts
257
- - /src/helpers/validateCursor.ts
258
-
259
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
260
- file: /src/helpers/getCount.ts
261
- bundle space: 0.32 %
262
- rendered size: 111 Bytes
263
- original size: 138 Bytes
264
- code reduction: 19.57 %
265
- dependents: 1
266
- - /src/helpers/getStartAndEndIndexes.ts
267
-
268
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
269
- file: /src/helpers/extractNodes.ts
270
- bundle space: 0.31 %
271
- rendered size: 107 Bytes
272
- original size: 97 Bytes
273
- code reduction: 0 %
274
- dependents: 1
275
- - /src/helpers/resolveConnection.ts
276
-
277
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
278
- file: /src/helpers/getDirection.ts
279
- bundle space: 0.24 %
280
- rendered size: 81 Bytes
281
- original size: 78 Bytes
282
- code reduction: 0 %
283
- dependents: 4
284
- - /src/helpers/getStartAndEndPageNumbers.ts
285
- - /src/helpers/getStartAndEndIndexes.ts
286
- - /src/helpers/makeEntry.ts
287
- - /src/helpers/validateCursor.ts
288
-
289
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
290
- file: /src/helpers/isFirstPage.ts
291
- bundle space: 0.18 %
292
- rendered size: 61 Bytes
293
- original size: 45 Bytes
294
- code reduction: 0 %
295
- dependents: 1
296
- - /src/helpers/getStartAndEndIndexes.ts
297
-
298
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
299
- file: /src/defs/index.ts
300
- bundle space: 0 %
301
- rendered size: 0 Byte
302
- original size: 2.711 KB
303
- code reduction: 100 %
304
- dependents: 1
305
- - /src/index.ts
306
-
307
- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
308
- file: /src/index.ts
309
- bundle space: 0 %
310
- rendered size: 0 Byte
311
- original size: 176 Bytes
312
- code reduction: 100 %
313
- dependents: 0
314
-