@graphql-box/connection-resolver 4.1.4 → 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.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
@@ -1,95 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- require("core-js/modules/es.promise.js");
11
-
12
- var _extractEdges = _interopRequireDefault(require("./extractEdges"));
13
-
14
- var _extractNodes = _interopRequireDefault(require("./extractNodes"));
15
-
16
- var _getInRangeCachedEdges = _interopRequireDefault(require("./getInRangeCachedEdges"));
17
-
18
- var _getStartAndEndCursors = require("./getStartAndEndCursors");
19
-
20
- var _mergeCachedEdges = _interopRequireDefault(require("./mergeCachedEdges"));
21
-
22
- var _requestAndCachePages = _interopRequireDefault(require("./requestAndCachePages"));
23
-
24
- var _retrieveCachedConnection = _interopRequireDefault(require("./retrieveCachedConnection"));
25
-
26
- const resolveConnection = async (args, {
27
- cursorCache,
28
- getters,
29
- groupCursor,
30
- makeIDCursor,
31
- resourceResolver,
32
- resultsPerPage
33
- }) => {
34
- const {
35
- cachedEdges,
36
- hasNextPage,
37
- hasPreviousPage,
38
- indexes,
39
- missingPages,
40
- totalResults
41
- } = await (0, _retrieveCachedConnection.default)(args, {
42
- cursorCache,
43
- groupCursor,
44
- resultsPerPage
45
- });
46
-
47
- if (!missingPages.length) {
48
- const edges = (0, _extractEdges.default)(cachedEdges);
49
- return {
50
- edges,
51
- errors: [],
52
- nodes: (0, _extractNodes.default)(edges),
53
- pageInfo: {
54
- endCursor: (0, _getStartAndEndCursors.getEndCursor)(edges),
55
- hasNextPage,
56
- hasPreviousPage,
57
- startCursor: (0, _getStartAndEndCursors.getStartCursor)(edges)
58
- },
59
- totalCount: totalResults
60
- };
61
- }
62
-
63
- const {
64
- cachedEdges: missingCachedEdges,
65
- errors
66
- } = await (0, _requestAndCachePages.default)(missingPages, {
67
- cursorCache,
68
- getters,
69
- groupCursor,
70
- makeIDCursor,
71
- resourceResolver
72
- });
73
- const mergedCachedEdges = (0, _getInRangeCachedEdges.default)((0, _mergeCachedEdges.default)(cachedEdges, missingCachedEdges), {
74
- endIndex: indexes.end,
75
- resultsPerPage,
76
- startIndex: indexes.start
77
- });
78
- const edges = (0, _extractEdges.default)(mergedCachedEdges);
79
- return {
80
- edges,
81
- errors,
82
- nodes: (0, _extractNodes.default)(edges),
83
- pageInfo: {
84
- endCursor: (0, _getStartAndEndCursors.getEndCursor)(edges),
85
- hasNextPage,
86
- hasPreviousPage,
87
- startCursor: (0, _getStartAndEndCursors.getStartCursor)(edges)
88
- },
89
- totalCount: totalResults
90
- };
91
- };
92
-
93
- var _default = resolveConnection;
94
- exports.default = _default;
95
- //# sourceMappingURL=resolveConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/helpers/resolveConnection.ts"],"names":["resolveConnection","args","cursorCache","getters","groupCursor","makeIDCursor","resourceResolver","resultsPerPage","cachedEdges","hasNextPage","hasPreviousPage","indexes","missingPages","totalResults","length","edges","errors","nodes","pageInfo","endCursor","startCursor","totalCount","missingCachedEdges","mergedCachedEdges","endIndex","end","startIndex","start"],"mappings":";;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAWA,MAAMA,iBAAiB,GAAG,OACxBC,IADwB,EAExB;AACEC,EAAAA,WADF;AAEEC,EAAAA,OAFF;AAGEC,EAAAA,WAHF;AAIEC,EAAAA,YAJF;AAKEC,EAAAA,gBALF;AAMEC,EAAAA;AANF,CAFwB,KAUrB;AACH,QAAM;AACJC,IAAAA,WADI;AAEJC,IAAAA,WAFI;AAGJC,IAAAA,eAHI;AAIJC,IAAAA,OAJI;AAKJC,IAAAA,YALI;AAMJC,IAAAA;AANI,MAOF,MAAM,uCAAyBZ,IAAzB,EAA+B;AACvCC,IAAAA,WADuC;AAEvCE,IAAAA,WAFuC;AAGvCG,IAAAA;AAHuC,GAA/B,CAPV;;AAaA,MAAI,CAACK,YAAY,CAACE,MAAlB,EAA0B;AACxB,UAAMC,KAAK,GAAG,2BAAaP,WAAb,CAAd;AAEA,WAAO;AACLO,MAAAA,KADK;AAELC,MAAAA,MAAM,EAAE,EAFH;AAGLC,MAAAA,KAAK,EAAE,2BAAaF,KAAb,CAHF;AAILG,MAAAA,QAAQ,EAAE;AACRC,QAAAA,SAAS,EAAE,yCAAaJ,KAAb,CADH;AAERN,QAAAA,WAFQ;AAGRC,QAAAA,eAHQ;AAIRU,QAAAA,WAAW,EAAE,2CAAeL,KAAf;AAJL,OAJL;AAULM,MAAAA,UAAU,EAAER;AAVP,KAAP;AAYD;;AAED,QAAM;AAAEL,IAAAA,WAAW,EAAEc,kBAAf;AAAmCN,IAAAA;AAAnC,MAA8C,MAAM,mCAA6CJ,YAA7C,EAA2D;AACnHV,IAAAA,WADmH;AAEnHC,IAAAA,OAFmH;AAGnHC,IAAAA,WAHmH;AAInHC,IAAAA,YAJmH;AAKnHC,IAAAA;AALmH,GAA3D,CAA1D;AAQA,QAAMiB,iBAAiB,GAAG,oCAAsB,+BAAiBf,WAAjB,EAA8Bc,kBAA9B,CAAtB,EAAyE;AACjGE,IAAAA,QAAQ,EAAEb,OAAO,CAACc,GAD+E;AAEjGlB,IAAAA,cAFiG;AAGjGmB,IAAAA,UAAU,EAAEf,OAAO,CAACgB;AAH6E,GAAzE,CAA1B;AAMA,QAAMZ,KAAK,GAAG,2BAAaQ,iBAAb,CAAd;AAEA,SAAO;AACLR,IAAAA,KADK;AAELC,IAAAA,MAFK;AAGLC,IAAAA,KAAK,EAAE,2BAAaF,KAAb,CAHF;AAILG,IAAAA,QAAQ,EAAE;AACRC,MAAAA,SAAS,EAAE,yCAAaJ,KAAb,CADH;AAERN,MAAAA,WAFQ;AAGRC,MAAAA,eAHQ;AAIRU,MAAAA,WAAW,EAAE,2CAAeL,KAAf;AAJL,KAJL;AAULM,IAAAA,UAAU,EAAER;AAVP,GAAP;AAYD,CArED;;eAuEeb,iB","sourcesContent":["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"],"file":"resolveConnection.js"}
@@ -1,90 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- require("core-js/modules/es.promise.js");
11
-
12
- var _getCursor = _interopRequireDefault(require("./getCursor"));
13
-
14
- var _getInRangeCachedEdges = _interopRequireDefault(require("./getInRangeCachedEdges"));
15
-
16
- var _getPageNumbersToRequest = _interopRequireDefault(require("./getPageNumbersToRequest"));
17
-
18
- var _getPagesMissingFromCache = _interopRequireDefault(require("./getPagesMissingFromCache"));
19
-
20
- var _getStartAndEndIndexes = require("./getStartAndEndIndexes");
21
-
22
- var _hasPreviousNextPage = require("./hasPreviousNextPage");
23
-
24
- var _makeEntry = _interopRequireDefault(require("./makeEntry"));
25
-
26
- var _retrieveCachedEdgesByPage = _interopRequireDefault(require("./retrieveCachedEdgesByPage"));
27
-
28
- var _default = async (args, {
29
- cursorCache,
30
- groupCursor,
31
- resultsPerPage
32
- }) => {
33
- const metadata = await cursorCache.get(`${groupCursor}-metadata`);
34
- const cursor = (0, _getCursor.default)(args);
35
- const entry = cursor ? await cursorCache.get(cursor) : (0, _makeEntry.default)(args, {
36
- metadata,
37
- resultsPerPage
38
- });
39
- const startIndex = (0, _getStartAndEndIndexes.getStartIndex)(args, {
40
- entry,
41
- resultsPerPage
42
- });
43
- const endIndex = (0, _getStartAndEndIndexes.getEndIndex)(args, {
44
- entry,
45
- metadata,
46
- resultsPerPage
47
- });
48
- const promises = [];
49
- const pageNumbersToRequest = (0, _getPageNumbersToRequest.default)(args, {
50
- endIndex,
51
- entry,
52
- metadata,
53
- resultsPerPage,
54
- startIndex
55
- });
56
- pageNumbersToRequest.forEach(pageNumber => {
57
- promises.push((0, _retrieveCachedEdgesByPage.default)(cursorCache, {
58
- groupCursor,
59
- pageNumber
60
- }));
61
- });
62
- const cachedEdgesByPage = await Promise.all(promises);
63
- const missingPages = (0, _getPagesMissingFromCache.default)(cachedEdgesByPage);
64
- return {
65
- cachedEdges: !missingPages.length ? (0, _getInRangeCachedEdges.default)(cachedEdgesByPage, {
66
- endIndex,
67
- resultsPerPage,
68
- startIndex
69
- }) : cachedEdgesByPage,
70
- hasNextPage: (0, _hasPreviousNextPage.hasNextPage)({
71
- cachedEdgesByPage,
72
- endIndex,
73
- metadata,
74
- resultsPerPage
75
- }),
76
- hasPreviousPage: (0, _hasPreviousNextPage.hasPreviousPage)({
77
- cachedEdgesByPage,
78
- startIndex
79
- }),
80
- indexes: {
81
- end: endIndex,
82
- start: startIndex
83
- },
84
- missingPages,
85
- totalResults: metadata.totalResults
86
- };
87
- };
88
-
89
- exports.default = _default;
90
- //# sourceMappingURL=retrieveCachedConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/helpers/retrieveCachedConnection.ts"],"names":["args","cursorCache","groupCursor","resultsPerPage","metadata","get","cursor","entry","startIndex","endIndex","promises","pageNumbersToRequest","forEach","pageNumber","push","cachedEdgesByPage","Promise","all","missingPages","cachedEdges","length","hasNextPage","hasPreviousPage","indexes","end","start","totalResults"],"mappings":";;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAQe,OAAOA,IAAP,EAAqC;AAAEC,EAAAA,WAAF;AAAeC,EAAAA,WAAf;AAA4BC,EAAAA;AAA5B,CAArC,KAA+F;AAC5G,QAAMC,QAAQ,GAAI,MAAMH,WAAW,CAACI,GAAZ,CAAiB,GAAEH,WAAY,WAA/B,CAAxB;AACA,QAAMI,MAAM,GAAG,wBAAUN,IAAV,CAAf;AACA,QAAMO,KAAK,GAAGD,MAAM,GAAG,MAAML,WAAW,CAACI,GAAZ,CAAgBC,MAAhB,CAAT,GAAmC,wBAAUN,IAAV,EAAgB;AAAEI,IAAAA,QAAF;AAAYD,IAAAA;AAAZ,GAAhB,CAAvD;AACA,QAAMK,UAAU,GAAG,0CAAcR,IAAd,EAAoB;AAAEO,IAAAA,KAAF;AAASJ,IAAAA;AAAT,GAApB,CAAnB;AACA,QAAMM,QAAQ,GAAG,wCAAYT,IAAZ,EAAkB;AAAEO,IAAAA,KAAF;AAASH,IAAAA,QAAT;AAAmBD,IAAAA;AAAnB,GAAlB,CAAjB;AACA,QAAMO,QAAgC,GAAG,EAAzC;AACA,QAAMC,oBAAoB,GAAG,sCAAwBX,IAAxB,EAA8B;AAAES,IAAAA,QAAF;AAAYF,IAAAA,KAAZ;AAAmBH,IAAAA,QAAnB;AAA6BD,IAAAA,cAA7B;AAA6CK,IAAAA;AAA7C,GAA9B,CAA7B;AAEAG,EAAAA,oBAAoB,CAACC,OAArB,CAA6BC,UAAU,IAAI;AACzCH,IAAAA,QAAQ,CAACI,IAAT,CAAc,wCAA0Bb,WAA1B,EAAuC;AAAEC,MAAAA,WAAF;AAAeW,MAAAA;AAAf,KAAvC,CAAd;AACD,GAFD;AAIA,QAAME,iBAAiB,GAAG,MAAMC,OAAO,CAACC,GAAR,CAAYP,QAAZ,CAAhC;AACA,QAAMQ,YAAY,GAAG,uCAAyBH,iBAAzB,CAArB;AAEA,SAAO;AACLI,IAAAA,WAAW,EAAE,CAACD,YAAY,CAACE,MAAd,GACT,oCAAsBL,iBAAtB,EAAyC;AAAEN,MAAAA,QAAF;AAAYN,MAAAA,cAAZ;AAA4BK,MAAAA;AAA5B,KAAzC,CADS,GAETO,iBAHC;AAILM,IAAAA,WAAW,EAAE,sCAAY;AACvBN,MAAAA,iBADuB;AAEvBN,MAAAA,QAFuB;AAGvBL,MAAAA,QAHuB;AAIvBD,MAAAA;AAJuB,KAAZ,CAJR;AAULmB,IAAAA,eAAe,EAAE,0CAAgB;AAAEP,MAAAA,iBAAF;AAAqBP,MAAAA;AAArB,KAAhB,CAVZ;AAWLe,IAAAA,OAAO,EAAE;AAAEC,MAAAA,GAAG,EAAEf,QAAP;AAAiBgB,MAAAA,KAAK,EAAEjB;AAAxB,KAXJ;AAYLU,IAAAA,YAZK;AAaLQ,IAAAA,YAAY,EAAEtB,QAAQ,CAACsB;AAblB,GAAP;AAeD,C","sourcesContent":["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"],"file":"retrieveCachedConnection.js"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- require("core-js/modules/es.promise.js");
9
-
10
- var _default = async (cursorCache, {
11
- groupCursor,
12
- pageNumber
13
- }) => {
14
- const {
15
- entries,
16
- metadata
17
- } = await cursorCache.export({
18
- filterByValue: [{
19
- keyChain: "page",
20
- comparator: pageNumber
21
- }, {
22
- keyChain: "group",
23
- comparator: groupCursor
24
- }]
25
- });
26
- return {
27
- edges: entries.reduce((cached, [key, {
28
- index,
29
- node
30
- }]) => {
31
- if (metadata[index].cacheability.checkTTL()) {
32
- cached[index] = {
33
- cursor: key,
34
- node
35
- };
36
- }
37
-
38
- return cached;
39
- }, []),
40
- pageNumber
41
- };
42
- };
43
-
44
- exports.default = _default;
45
- //# sourceMappingURL=retrieveCachedEdgesByPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/helpers/retrieveCachedEdgesByPage.ts"],"names":["cursorCache","groupCursor","pageNumber","entries","metadata","export","filterByValue","keyChain","comparator","edges","reduce","cached","key","index","node","cacheability","checkTTL","cursor"],"mappings":";;;;;;;;;eAQe,OAAOA,WAAP,EAA8B;AAAEC,EAAAA,WAAF;AAAeC,EAAAA;AAAf,CAA9B,KAAuE;AACpF,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAyB,MAAMJ,WAAW,CAACK,MAAZ,CAAmB;AACtDC,IAAAA,aAAa,EAAE,CACb;AAAEC,MAAAA,QAAQ,EAAE,MAAZ;AAAoBC,MAAAA,UAAU,EAAEN;AAAhC,KADa,EAEb;AAAEK,MAAAA,QAAQ,EAAE,OAAZ;AAAqBC,MAAAA,UAAU,EAAEP;AAAjC,KAFa;AADuC,GAAnB,CAArC;AAOA,SAAO;AACLQ,IAAAA,KAAK,EAAEN,OAAO,CAACO,MAAR,CAAe,CAACC,MAAD,EAAS,CAACC,GAAD,EAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAN,CAAT,KAAoC;AACxD,UAAIV,QAAQ,CAACS,KAAD,CAAR,CAAgBE,YAAhB,CAA6BC,QAA7B,EAAJ,EAA6C;AAC3CL,QAAAA,MAAM,CAACE,KAAD,CAAN,GAAgB;AAAEI,UAAAA,MAAM,EAAEL,GAAV;AAAeE,UAAAA;AAAf,SAAhB;AACD;;AAED,aAAOH,MAAP;AACD,KANM,EAMJ,EANI,CADF;AAQLT,IAAAA;AARK,GAAP;AAUD,C","sourcesContent":["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"],"file":"retrieveCachedEdgesByPage.js"}
@@ -1,88 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- require("core-js/modules/es.promise.js");
11
-
12
- var _graphql = require("graphql");
13
-
14
- var _getCursor = _interopRequireDefault(require("./getCursor"));
15
-
16
- var _getDirection = _interopRequireDefault(require("./getDirection"));
17
-
18
- var _isCursorFirst = _interopRequireDefault(require("./isCursorFirst"));
19
-
20
- var _isCursorLast = _interopRequireDefault(require("./isCursorLast"));
21
-
22
- var _default = async ({
23
- after,
24
- before,
25
- first,
26
- last
27
- }, {
28
- fieldNodes
29
- }, {
30
- cursorCache,
31
- groupCursor,
32
- resultsPerPage
33
- }) => {
34
- if (after && !first && !last) {
35
- return new _graphql.GraphQLError("Invalid connection argument combination. `after` must be used in combination with `first`.", fieldNodes);
36
- }
37
-
38
- if (after && last) {
39
- return new _graphql.GraphQLError("Invalid connection argument combination. `after` cannot be used in combination with `last`.", fieldNodes);
40
- }
41
-
42
- if (before && !last && !first) {
43
- return new _graphql.GraphQLError("Invalid connection argument combination. `before` must be used in combination with `last`.", fieldNodes);
44
- }
45
-
46
- if (before && first) {
47
- return new _graphql.GraphQLError("Invalid connection argument combination. `before` cannot be used in combination with `first`.", fieldNodes);
48
- }
49
-
50
- const metadata = await cursorCache.get(`${groupCursor}-metadata`);
51
-
52
- if (!metadata) {
53
- return new _graphql.GraphQLError("Curser cannot be supplied without previously being provided.", fieldNodes);
54
- }
55
-
56
- const cursor = (0, _getCursor.default)({
57
- after,
58
- before
59
- });
60
- const entry = await cursorCache.get(cursor);
61
-
62
- if (!entry) {
63
- return new _graphql.GraphQLError(`The cursor ${cursor} could not be found.`, fieldNodes);
64
- }
65
-
66
- const direction = (0, _getDirection.default)(last);
67
-
68
- if ((0, _isCursorLast.default)({
69
- direction,
70
- entry,
71
- resultsPerPage,
72
- ...metadata
73
- })) {
74
- return new _graphql.GraphQLError(`The cursor ${cursor} is the last, you cannot go forward any further.`, fieldNodes);
75
- }
76
-
77
- if ((0, _isCursorFirst.default)({
78
- direction,
79
- entry
80
- })) {
81
- return new _graphql.GraphQLError(`The cursor ${cursor} is the first, you cannot go backward any further.`, fieldNodes);
82
- }
83
-
84
- return undefined;
85
- };
86
-
87
- exports.default = _default;
88
- //# sourceMappingURL=validateCursor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/helpers/validateCursor.ts"],"names":["after","before","first","last","fieldNodes","cursorCache","groupCursor","resultsPerPage","GraphQLError","metadata","get","cursor","entry","direction","undefined"],"mappings":";;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;eAQe,OACb;AAAEA,EAAAA,KAAF;AAASC,EAAAA,MAAT;AAAiBC,EAAAA,KAAjB;AAAwBC,EAAAA;AAAxB,CADa,EAEb;AAAEC,EAAAA;AAAF,CAFa,EAGb;AAAEC,EAAAA,WAAF;AAAeC,EAAAA,WAAf;AAA4BC,EAAAA;AAA5B,CAHa,KAIV;AACH,MAAIP,KAAK,IAAI,CAACE,KAAV,IAAmB,CAACC,IAAxB,EAA8B;AAC5B,WAAO,IAAIK,qBAAJ,CACL,4FADK,EAELJ,UAFK,CAAP;AAID;;AAED,MAAIJ,KAAK,IAAIG,IAAb,EAAmB;AACjB,WAAO,IAAIK,qBAAJ,CACL,6FADK,EAELJ,UAFK,CAAP;AAID;;AAED,MAAIH,MAAM,IAAI,CAACE,IAAX,IAAmB,CAACD,KAAxB,EAA+B;AAC7B,WAAO,IAAIM,qBAAJ,CACL,4FADK,EAELJ,UAFK,CAAP;AAID;;AAED,MAAIH,MAAM,IAAIC,KAAd,EAAqB;AACnB,WAAO,IAAIM,qBAAJ,CACL,+FADK,EAELJ,UAFK,CAAP;AAID;;AAED,QAAMK,QAAQ,GAAI,MAAMJ,WAAW,CAACK,GAAZ,CAAiB,GAAEJ,WAAY,WAA/B,CAAxB;;AAEA,MAAI,CAACG,QAAL,EAAe;AACb,WAAO,IAAID,qBAAJ,CAAiB,8DAAjB,EAAiFJ,UAAjF,CAAP;AACD;;AAED,QAAMO,MAAM,GAAG,wBAAU;AAAEX,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAV,CAAf;AACA,QAAMW,KAAK,GAAI,MAAMP,WAAW,CAACK,GAAZ,CAAgBC,MAAhB,CAArB;;AAEA,MAAI,CAACC,KAAL,EAAY;AACV,WAAO,IAAIJ,qBAAJ,CAAkB,cAAaG,MAAO,sBAAtC,EAA6DP,UAA7D,CAAP;AACD;;AAED,QAAMS,SAAS,GAAG,2BAAaV,IAAb,CAAlB;;AAEA,MAAI,2BAAa;AAAEU,IAAAA,SAAF;AAAaD,IAAAA,KAAb;AAAoBL,IAAAA,cAApB;AAAoC,OAAGE;AAAvC,GAAb,CAAJ,EAAqE;AACnE,WAAO,IAAID,qBAAJ,CAAkB,cAAaG,MAAO,kDAAtC,EAAyFP,UAAzF,CAAP;AACD;;AAED,MAAI,4BAAc;AAAES,IAAAA,SAAF;AAAaD,IAAAA;AAAb,GAAd,CAAJ,EAAyC;AACvC,WAAO,IAAIJ,qBAAJ,CAAkB,cAAaG,MAAO,oDAAtC,EAA2FP,UAA3F,CAAP;AACD;;AAED,SAAOU,SAAP;AACD,C","sourcesContent":["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"],"file":"validateCursor.js"}
package/lib/main/index.js DELETED
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- var _exportNames = {
9
- removeConnectionInputOptions: true,
10
- connectionResolver: true
11
- };
12
- Object.defineProperty(exports, "removeConnectionInputOptions", {
13
- enumerable: true,
14
- get: function () {
15
- return _removeConnectionInputOptions.default;
16
- }
17
- });
18
- Object.defineProperty(exports, "default", {
19
- enumerable: true,
20
- get: function () {
21
- return _main.default;
22
- }
23
- });
24
- Object.defineProperty(exports, "connectionResolver", {
25
- enumerable: true,
26
- get: function () {
27
- return _main.connectionResolver;
28
- }
29
- });
30
-
31
- var _defs = require("./defs");
32
-
33
- Object.keys(_defs).forEach(function (key) {
34
- if (key === "default" || key === "__esModule") return;
35
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
36
- if (key in exports && exports[key] === _defs[key]) return;
37
- Object.defineProperty(exports, key, {
38
- enumerable: true,
39
- get: function () {
40
- return _defs[key];
41
- }
42
- });
43
- });
44
-
45
- var _removeConnectionInputOptions = _interopRequireDefault(require("./helpers/removeConnectionInputOptions"));
46
-
47
- var _main = _interopRequireWildcard(require("./main"));
48
-
49
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
50
-
51
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
52
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA","sourcesContent":["export * from \"./defs\";\nexport { default as removeConnectionInputOptions } from \"./helpers/removeConnectionInputOptions\";\nexport { default, connectionResolver } from \"./main\";\n"],"file":"index.js"}
@@ -1,100 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = exports.connectionResolver = void 0;
9
-
10
- require("core-js/modules/es.promise.js");
11
-
12
- var _isCursorSupplied = _interopRequireDefault(require("../helpers/isCursorSupplied"));
13
-
14
- var _requestAndCachePages = _interopRequireDefault(require("../helpers/requestAndCachePages"));
15
-
16
- var _resolveConnection = _interopRequireDefault(require("../helpers/resolveConnection"));
17
-
18
- var _validateCursor = _interopRequireDefault(require("../helpers/validateCursor"));
19
-
20
- const connectionResolver = ({
21
- cursorCache,
22
- createMakeCursors,
23
- createResourceResolver,
24
- getters,
25
- resolver = result => result,
26
- resultsPerPage
27
- }) => async (source, args, context, info) => {
28
- try {
29
- const {
30
- makeGroupCursor,
31
- makeIDCursor
32
- } = createMakeCursors(source, args, context, info);
33
- const resourceResolver = createResourceResolver(source, args, context, info);
34
- const groupCursor = makeGroupCursor();
35
-
36
- if ((0, _isCursorSupplied.default)(args)) {
37
- const cursorError = await (0, _validateCursor.default)(args, info, {
38
- cursorCache,
39
- groupCursor,
40
- resultsPerPage
41
- });
42
-
43
- if (cursorError) {
44
- return resolver({
45
- edges: [],
46
- errors: [cursorError],
47
- nodes: [],
48
- pageInfo: {
49
- hasNextPage: false,
50
- hasPreviousPage: false
51
- },
52
- totalCount: 0
53
- });
54
- }
55
-
56
- return resolver(await (0, _resolveConnection.default)(args, {
57
- cursorCache,
58
- getters,
59
- groupCursor,
60
- makeIDCursor,
61
- resourceResolver,
62
- resultsPerPage
63
- }));
64
- }
65
-
66
- if (await cursorCache.has(`${groupCursor}-metadata`)) {
67
- return resolver(await (0, _resolveConnection.default)(args, {
68
- cursorCache,
69
- getters,
70
- groupCursor,
71
- makeIDCursor,
72
- resourceResolver,
73
- resultsPerPage
74
- }));
75
- }
76
-
77
- await (0, _requestAndCachePages.default)([1], {
78
- cursorCache,
79
- getters,
80
- groupCursor,
81
- makeIDCursor,
82
- resourceResolver
83
- });
84
- return resolver(await (0, _resolveConnection.default)(args, {
85
- cursorCache,
86
- getters,
87
- groupCursor,
88
- makeIDCursor,
89
- resourceResolver,
90
- resultsPerPage
91
- }));
92
- } catch (e) {
93
- throw e;
94
- }
95
- };
96
-
97
- exports.connectionResolver = connectionResolver;
98
- var _default = connectionResolver;
99
- exports.default = _default;
100
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/main/index.ts"],"names":["connectionResolver","cursorCache","createMakeCursors","createResourceResolver","getters","resolver","result","resultsPerPage","source","args","context","info","makeGroupCursor","makeIDCursor","resourceResolver","groupCursor","cursorError","edges","errors","nodes","pageInfo","hasNextPage","hasPreviousPage","totalCount","has","e"],"mappings":";;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AAEO,MAAMA,kBAAkB,GAAG,CAMhC;AACAC,EAAAA,WADA;AAEAC,EAAAA,iBAFA;AAGAC,EAAAA,sBAHA;AAIAC,EAAAA,OAJA;AAKAC,EAAAA,QAAQ,GAAGC,MAAM,IAAIA,MALrB;AAMAC,EAAAA;AANA,CANgC,KAa8C,OAC9EC,MAD8E,EAE9EC,IAF8E,EAG9EC,OAH8E,EAI9EC,IAJ8E,KAKtD;AACxB,MAAI;AACF,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAoCX,iBAAiB,CAACM,MAAD,EAASC,IAAT,EAAeC,OAAf,EAAwBC,IAAxB,CAA3D;AACA,UAAMG,gBAAgB,GAAGX,sBAAsB,CAACK,MAAD,EAASC,IAAT,EAAeC,OAAf,EAAwBC,IAAxB,CAA/C;AACA,UAAMI,WAAW,GAAGH,eAAe,EAAnC;;AAEA,QAAI,+BAAiBH,IAAjB,CAAJ,EAA4B;AAC1B,YAAMO,WAAW,GAAG,MAAM,6BAAeP,IAAf,EAAqBE,IAArB,EAA2B;AACnDV,QAAAA,WADmD;AAEnDc,QAAAA,WAFmD;AAGnDR,QAAAA;AAHmD,OAA3B,CAA1B;;AAMA,UAAIS,WAAJ,EAAiB;AACf,eAAOX,QAAQ,CAAC;AACdY,UAAAA,KAAK,EAAE,EADO;AAEdC,UAAAA,MAAM,EAAE,CAACF,WAAD,CAFM;AAGdG,UAAAA,KAAK,EAAE,EAHO;AAIdC,UAAAA,QAAQ,EAAE;AACRC,YAAAA,WAAW,EAAE,KADL;AAERC,YAAAA,eAAe,EAAE;AAFT,WAJI;AAQdC,UAAAA,UAAU,EAAE;AARE,SAAD,CAAf;AAUD;;AAED,aAAOlB,QAAQ,CACb,MAAM,gCAAkBI,IAAlB,EAAwB;AAC5BR,QAAAA,WAD4B;AAE5BG,QAAAA,OAF4B;AAG5BW,QAAAA,WAH4B;AAI5BF,QAAAA,YAJ4B;AAK5BC,QAAAA,gBAL4B;AAM5BP,QAAAA;AAN4B,OAAxB,CADO,CAAf;AAUD;;AAED,QAAI,MAAMN,WAAW,CAACuB,GAAZ,CAAiB,GAAET,WAAY,WAA/B,CAAV,EAAsD;AACpD,aAAOV,QAAQ,CACb,MAAM,gCAAkBI,IAAlB,EAAwB;AAC5BR,QAAAA,WAD4B;AAE5BG,QAAAA,OAF4B;AAG5BW,QAAAA,WAH4B;AAI5BF,QAAAA,YAJ4B;AAK5BC,QAAAA,gBAL4B;AAM5BP,QAAAA;AAN4B,OAAxB,CADO,CAAf;AAUD;;AAED,UAAM,mCAA6C,CAAC,CAAD,CAA7C,EAAkD;AACtDN,MAAAA,WADsD;AAEtDG,MAAAA,OAFsD;AAGtDW,MAAAA,WAHsD;AAItDF,MAAAA,YAJsD;AAKtDC,MAAAA;AALsD,KAAlD,CAAN;AAQA,WAAOT,QAAQ,CACb,MAAM,gCAAkBI,IAAlB,EAAwB;AAC5BR,MAAAA,WAD4B;AAE5BG,MAAAA,OAF4B;AAG5BW,MAAAA,WAH4B;AAI5BF,MAAAA,YAJ4B;AAK5BC,MAAAA,gBAL4B;AAM5BP,MAAAA;AAN4B,KAAxB,CADO,CAAf;AAUD,GApED,CAoEE,OAAOkB,CAAP,EAAU;AACV,UAAMA,CAAN;AACD;AACF,CA1FM;;;eA4FQzB,kB","sourcesContent":["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"],"file":"index.js"}
@@ -1,71 +0,0 @@
1
- import "core-js/modules/es.promise.js";
2
- import Cachemap from "@cachemap/core";
3
- import map from "@cachemap/map";
4
- import { encode } from "js-base64";
5
- import cacheCursors from "../helpers/cacheCursors";
6
- import generatePages from "./generatePages";
7
- export default (async ({
8
- group,
9
- pageRanges = [],
10
- resultsPerPage,
11
- totalPages,
12
- totalResults
13
- }) => {
14
- const cursorCache = new Cachemap({
15
- name: "cursorCache",
16
- store: map(),
17
- type: "someType"
18
- });
19
- const headers = new Headers({
20
- "Cache-Control": "max-age=60"
21
- });
22
-
23
- if (pageRanges.length && resultsPerPage) {
24
- const pages = generatePages(pageRanges);
25
- await Promise.all(pages.map(async page => {
26
- const isLastPage = page === pages[pages.length - 1];
27
- let resultsOnCurrentPage;
28
-
29
- if (isLastPage) {
30
- const remainder = totalResults % resultsPerPage;
31
- resultsOnCurrentPage = remainder === 0 ? resultsPerPage : remainder;
32
- } else {
33
- resultsOnCurrentPage = resultsPerPage;
34
- }
35
-
36
- const edges = Array.from({
37
- length: resultsOnCurrentPage
38
- }, (_v, i) => i).map(index => {
39
- const id = encode(`${index}::${page}`);
40
- return {
41
- cursor: `${id}::${group}`,
42
- node: {
43
- id
44
- }
45
- };
46
- });
47
- await cacheCursors(cursorCache, {
48
- edges,
49
- group,
50
- headers,
51
- page,
52
- totalPages,
53
- totalResults
54
- });
55
- }));
56
- } else {
57
- var _headers$get;
58
-
59
- await cursorCache.set(`${group}-metadata`, {
60
- totalPages,
61
- totalResults
62
- }, {
63
- cacheHeaders: {
64
- cacheControl: (_headers$get = headers.get("cache-control")) !== null && _headers$get !== void 0 ? _headers$get : undefined
65
- }
66
- });
67
- }
68
-
69
- return cursorCache;
70
- });
71
- //# sourceMappingURL=generateCursorCache.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/__testUtils__/generateCursorCache.ts"],"names":["Cachemap","map","encode","cacheCursors","generatePages","group","pageRanges","resultsPerPage","totalPages","totalResults","cursorCache","name","store","type","headers","Headers","length","pages","Promise","all","page","isLastPage","resultsOnCurrentPage","remainder","edges","Array","from","_v","i","index","id","cursor","node","set","cacheHeaders","cacheControl","get","undefined"],"mappings":";AAAA,OAAOA,QAAP,MAAqB,gBAArB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,OAAOC,YAAP,MAAyB,yBAAzB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AAUA,gBAAe,OAAO;AAAEC,EAAAA,KAAF;AAASC,EAAAA,UAAU,GAAG,EAAtB;AAA0BC,EAAAA,cAA1B;AAA0CC,EAAAA,UAA1C;AAAsDC,EAAAA;AAAtD,CAAP,KAAwF;AACrG,QAAMC,WAAW,GAAG,IAAIV,QAAJ,CAAa;AAC/BW,IAAAA,IAAI,EAAE,aADyB;AAE/BC,IAAAA,KAAK,EAAEX,GAAG,EAFqB;AAG/BY,IAAAA,IAAI,EAAE;AAHyB,GAAb,CAApB;AAMA,QAAMC,OAAO,GAAG,IAAIC,OAAJ,CAAY;AAAE,qBAAiB;AAAnB,GAAZ,CAAhB;;AAEA,MAAIT,UAAU,CAACU,MAAX,IAAqBT,cAAzB,EAAyC;AACvC,UAAMU,KAAK,GAAGb,aAAa,CAACE,UAAD,CAA3B;AAEA,UAAMY,OAAO,CAACC,GAAR,CACJF,KAAK,CAAChB,GAAN,CAAU,MAAMmB,IAAN,IAAc;AACtB,YAAMC,UAAU,GAAGD,IAAI,KAAKH,KAAK,CAACA,KAAK,CAACD,MAAN,GAAe,CAAhB,CAAjC;AACA,UAAIM,oBAAJ;;AAEA,UAAID,UAAJ,EAAgB;AACd,cAAME,SAAS,GAAGd,YAAY,GAAGF,cAAjC;AACAe,QAAAA,oBAAoB,GAAGC,SAAS,KAAK,CAAd,GAAkBhB,cAAlB,GAAmCgB,SAA1D;AACD,OAHD,MAGO;AACLD,QAAAA,oBAAoB,GAAGf,cAAvB;AACD;;AAED,YAAMiB,KAAK,GAAGC,KAAK,CAACC,IAAN,CAAW;AAAEV,QAAAA,MAAM,EAAEM;AAAV,OAAX,EAA6C,CAACK,EAAD,EAAKC,CAAL,KAAWA,CAAxD,EAA2D3B,GAA3D,CAA+D4B,KAAK,IAAI;AACpF,cAAMC,EAAE,GAAG5B,MAAM,CAAE,GAAE2B,KAAM,KAAIT,IAAK,EAAnB,CAAjB;AACA,eAAO;AAAEW,UAAAA,MAAM,EAAG,GAAED,EAAG,KAAIzB,KAAM,EAA1B;AAA6B2B,UAAAA,IAAI,EAAE;AAAEF,YAAAA;AAAF;AAAnC,SAAP;AACD,OAHa,CAAd;AAKA,YAAM3B,YAAY,CAACO,WAAD,EAAc;AAAEc,QAAAA,KAAF;AAASnB,QAAAA,KAAT;AAAgBS,QAAAA,OAAhB;AAAyBM,QAAAA,IAAzB;AAA+BZ,QAAAA,UAA/B;AAA2CC,QAAAA;AAA3C,OAAd,CAAlB;AACD,KAjBD,CADI,CAAN;AAoBD,GAvBD,MAuBO;AAAA;;AACL,UAAMC,WAAW,CAACuB,GAAZ,CACH,GAAE5B,KAAM,WADL,EAEJ;AAAEG,MAAAA,UAAF;AAAcC,MAAAA;AAAd,KAFI,EAGJ;AAAEyB,MAAAA,YAAY,EAAE;AAAEC,QAAAA,YAAY,kBAAErB,OAAO,CAACsB,GAAR,CAAY,eAAZ,CAAF,uDAAkCC;AAAhD;AAAhB,KAHI,CAAN;AAKD;;AAED,SAAO3B,WAAP;AACD,CAzCD","sourcesContent":["import Cachemap from \"@cachemap/core\";\nimport map from \"@cachemap/map\";\nimport { encode } from \"js-base64\";\nimport cacheCursors from \"../helpers/cacheCursors\";\nimport generatePages from \"./generatePages\";\n\nexport type Params = {\n group: string;\n pageRanges?: string[];\n resultsPerPage?: number;\n totalPages: number;\n totalResults: number;\n};\n\nexport default async ({ group, pageRanges = [], resultsPerPage, totalPages, totalResults }: Params) => {\n const cursorCache = new Cachemap({\n name: \"cursorCache\",\n store: map(),\n type: \"someType\",\n });\n\n const headers = new Headers({ \"Cache-Control\": \"max-age=60\" });\n\n if (pageRanges.length && resultsPerPage) {\n const pages = generatePages(pageRanges);\n\n await Promise.all(\n pages.map(async page => {\n const isLastPage = page === pages[pages.length - 1];\n let resultsOnCurrentPage: number;\n\n if (isLastPage) {\n const remainder = totalResults % resultsPerPage;\n resultsOnCurrentPage = remainder === 0 ? resultsPerPage : remainder;\n } else {\n resultsOnCurrentPage = resultsPerPage;\n }\n\n const edges = Array.from({ length: resultsOnCurrentPage }, (_v, i) => i).map(index => {\n const id = encode(`${index}::${page}`);\n return { cursor: `${id}::${group}`, node: { id } };\n });\n\n await cacheCursors(cursorCache, { edges, group, headers, page, totalPages, totalResults });\n }),\n );\n } else {\n await cursorCache.set(\n `${group}-metadata`,\n { totalPages, totalResults },\n { cacheHeaders: { cacheControl: headers.get(\"cache-control\") ?? undefined } },\n );\n }\n\n return cursorCache;\n};\n"],"file":"generateCursorCache.mjs"}
@@ -1,23 +0,0 @@
1
- import { encode } from "js-base64";
2
- export default (({
3
- resultsPerPage,
4
- totalPages,
5
- totalResults
6
- }) => page => ({
7
- data: {
8
- page,
9
- results: Array.from({
10
- length: resultsPerPage
11
- }, (_v, i) => i).map(index => {
12
- return {
13
- id: encode(`${index}::${page}`)
14
- };
15
- }),
16
- totalPages,
17
- totalResults
18
- },
19
- headers: new Headers({
20
- "Cache-Control": "max-age=60"
21
- })
22
- }));
23
- //# sourceMappingURL=generatePageResponse.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/__testUtils__/generatePageResponse.ts"],"names":["encode","resultsPerPage","totalPages","totalResults","page","data","results","Array","from","length","_v","i","map","index","id","headers","Headers"],"mappings":"AAAA,SAASA,MAAT,QAAuB,WAAvB;AAQA,gBAAe,CAAC;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA,UAAlB;AAA8BC,EAAAA;AAA9B,CAAD,KAA2DC,IAAD,KAAmB;AAC1FC,EAAAA,IAAI,EAAE;AACJD,IAAAA,IADI;AAEJE,IAAAA,OAAO,EAAEC,KAAK,CAACC,IAAN,CAAW;AAAEC,MAAAA,MAAM,EAAER;AAAV,KAAX,EAAuC,CAACS,EAAD,EAAKC,CAAL,KAAWA,CAAlD,EAAqDC,GAArD,CAAyDC,KAAK,IAAI;AACzE,aAAO;AAAEC,QAAAA,EAAE,EAAEd,MAAM,CAAE,GAAEa,KAAM,KAAIT,IAAK,EAAnB;AAAZ,OAAP;AACD,KAFQ,CAFL;AAKJF,IAAAA,UALI;AAMJC,IAAAA;AANI,GADoF;AAS1FY,EAAAA,OAAO,EAAE,IAAIC,OAAJ,CAAY;AAAE,qBAAiB;AAAnB,GAAZ;AATiF,CAAnB,CAAzE","sourcesContent":["import { encode } from \"js-base64\";\n\nexport type Params = {\n resultsPerPage: number;\n totalPages: number;\n totalResults: number;\n};\n\nexport default ({ resultsPerPage, totalPages, totalResults }: Params) => (page: number) => ({\n data: {\n page,\n results: Array.from({ length: resultsPerPage }, (_v, i) => i).map(index => {\n return { id: encode(`${index}::${page}`) };\n }),\n totalPages,\n totalResults,\n },\n headers: new Headers({ \"Cache-Control\": \"max-age=60\" }),\n});\n"],"file":"generatePageResponse.mjs"}
@@ -1,11 +0,0 @@
1
- import _range from "lodash/range";
2
- export default (pageRanges => pageRanges.reduce((pages, pageRange) => {
3
- const [start, end] = pageRange.split("-");
4
-
5
- if (!end) {
6
- return [...pages, Number(start)];
7
- }
8
-
9
- return [...pages, ..._range(Number(start), Number(end)), Number(end)];
10
- }, []));
11
- //# sourceMappingURL=generatePages.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/__testUtils__/generatePages.ts"],"names":["pageRanges","reduce","pages","pageRange","start","end","split","Number"],"mappings":";AAEA,gBAAgBA,UAAD,IACbA,UAAU,CAACC,MAAX,CAAkB,CAACC,KAAD,EAAQC,SAAR,KAAsB;AACtC,QAAM,CAACC,KAAD,EAAQC,GAAR,IAAeF,SAAS,CAACG,KAAV,CAAgB,GAAhB,CAArB;;AAEA,MAAI,CAACD,GAAL,EAAU;AACR,WAAO,CAAC,GAAGH,KAAJ,EAAWK,MAAM,CAACH,KAAD,CAAjB,CAAP;AACD;;AAED,SAAO,CAAC,GAAGF,KAAJ,EAAW,GAAG,OAAMK,MAAM,CAACH,KAAD,CAAZ,EAAqBG,MAAM,CAACF,GAAD,CAA3B,CAAd,EAAiDE,MAAM,CAACF,GAAD,CAAvD,CAAP;AACD,CARD,EAQG,EARH,CADF","sourcesContent":["import { range } from \"lodash\";\n\nexport default (pageRanges: string[]) =>\n pageRanges.reduce((pages, pageRange) => {\n const [start, end] = pageRange.split(\"-\");\n\n if (!end) {\n return [...pages, Number(start)];\n }\n\n return [...pages, ...range(Number(start), Number(end)), Number(end)];\n }, [] as number[]);\n"],"file":"generatePages.mjs"}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=index.mjs.map