@graphql-box/connection-resolver 4.1.3 → 4.1.4

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 (79) hide show
  1. package/lib/module/__testUtils__/{generateCursorCache.js → generateCursorCache.mjs} +1 -1
  2. package/lib/module/__testUtils__/{generateCursorCache.js.map → generateCursorCache.mjs.map} +1 -1
  3. package/lib/module/__testUtils__/{generatePageResponse.js → generatePageResponse.mjs} +1 -1
  4. package/lib/module/__testUtils__/{generatePageResponse.js.map → generatePageResponse.mjs.map} +1 -1
  5. package/lib/module/__testUtils__/{generatePages.js → generatePages.mjs} +1 -1
  6. package/lib/module/__testUtils__/{generatePages.js.map → generatePages.mjs.map} +1 -1
  7. package/lib/module/defs/index.mjs +2 -0
  8. package/lib/module/defs/{index.js.map → index.mjs.map} +1 -1
  9. package/lib/module/helpers/{cacheCursors.js → cacheCursors.mjs} +1 -1
  10. package/lib/module/helpers/{cacheCursors.js.map → cacheCursors.mjs.map} +1 -1
  11. package/lib/module/helpers/{extractEdges.js → extractEdges.mjs} +1 -1
  12. package/lib/module/helpers/{extractEdges.js.map → extractEdges.mjs.map} +1 -1
  13. package/lib/module/helpers/{extractNodes.js → extractNodes.mjs} +1 -1
  14. package/lib/module/helpers/{extractNodes.js.map → extractNodes.mjs.map} +1 -1
  15. package/lib/module/helpers/{getCount.js → getCount.mjs} +1 -1
  16. package/lib/module/helpers/{getCount.js.map → getCount.mjs.map} +1 -1
  17. package/lib/module/helpers/{getCurrentPageStartAndEndIndexes.js → getCurrentPageStartAndEndIndexes.mjs} +1 -1
  18. package/lib/module/helpers/{getCurrentPageStartAndEndIndexes.js.map → getCurrentPageStartAndEndIndexes.mjs.map} +1 -1
  19. package/lib/module/helpers/{getCursor.js → getCursor.mjs} +1 -1
  20. package/lib/module/helpers/{getCursor.js.map → getCursor.mjs.map} +1 -1
  21. package/lib/module/helpers/{getDirection.js → getDirection.mjs} +1 -1
  22. package/lib/module/helpers/{getDirection.js.map → getDirection.mjs.map} +1 -1
  23. package/lib/module/helpers/{getInRangeCachedEdges.js → getInRangeCachedEdges.mjs} +1 -1
  24. package/lib/module/helpers/{getInRangeCachedEdges.js.map → getInRangeCachedEdges.mjs.map} +1 -1
  25. package/lib/module/helpers/{getIndexesOnCurrentPage.js → getIndexesOnCurrentPage.mjs} +1 -1
  26. package/lib/module/helpers/{getIndexesOnCurrentPage.js.map → getIndexesOnCurrentPage.mjs.map} +1 -1
  27. package/lib/module/helpers/{getIndexesOnLastPage.js → getIndexesOnLastPage.mjs} +1 -1
  28. package/lib/module/helpers/{getIndexesOnLastPage.js.map → getIndexesOnLastPage.mjs.map} +1 -1
  29. package/lib/module/helpers/{getPageNumbersToRequest.js → getPageNumbersToRequest.mjs} +1 -1
  30. package/lib/module/helpers/{getPageNumbersToRequest.js.map → getPageNumbersToRequest.mjs.map} +1 -1
  31. package/lib/module/helpers/{getPagesMissingFromCache.js → getPagesMissingFromCache.mjs} +1 -1
  32. package/lib/module/helpers/{getPagesMissingFromCache.js.map → getPagesMissingFromCache.mjs.map} +1 -1
  33. package/lib/module/helpers/{getResultsOnLastPage.js → getResultsOnLastPage.mjs} +1 -1
  34. package/lib/module/helpers/{getResultsOnLastPage.js.map → getResultsOnLastPage.mjs.map} +1 -1
  35. package/lib/module/helpers/{getStartAndEndCursors.js → getStartAndEndCursors.mjs} +1 -1
  36. package/lib/module/helpers/{getStartAndEndCursors.js.map → getStartAndEndCursors.mjs.map} +1 -1
  37. package/lib/module/helpers/{getStartAndEndIndexes.js → getStartAndEndIndexes.mjs} +1 -1
  38. package/lib/module/helpers/{getStartAndEndIndexes.js.map → getStartAndEndIndexes.mjs.map} +1 -1
  39. package/lib/module/helpers/{getStartAndEndPageNumbers.js → getStartAndEndPageNumbers.mjs} +1 -1
  40. package/lib/module/helpers/{getStartAndEndPageNumbers.js.map → getStartAndEndPageNumbers.mjs.map} +1 -1
  41. package/lib/module/helpers/{hasPreviousNextPage.js → hasPreviousNextPage.mjs} +1 -1
  42. package/lib/module/helpers/{hasPreviousNextPage.js.map → hasPreviousNextPage.mjs.map} +1 -1
  43. package/lib/module/helpers/{isCursorFirst.js → isCursorFirst.mjs} +1 -1
  44. package/lib/module/helpers/{isCursorFirst.js.map → isCursorFirst.mjs.map} +1 -1
  45. package/lib/module/helpers/{isCursorLast.js → isCursorLast.mjs} +1 -1
  46. package/lib/module/helpers/{isCursorLast.js.map → isCursorLast.mjs.map} +1 -1
  47. package/lib/module/helpers/{isCursorSupplied.js → isCursorSupplied.mjs} +1 -1
  48. package/lib/module/helpers/{isCursorSupplied.js.map → isCursorSupplied.mjs.map} +1 -1
  49. package/lib/module/helpers/isFirstPage.mjs +2 -0
  50. package/lib/module/helpers/{isFirstPage.js.map → isFirstPage.mjs.map} +1 -1
  51. package/lib/module/helpers/{isLastPage.js → isLastPage.mjs} +1 -1
  52. package/lib/module/helpers/{isLastPage.js.map → isLastPage.mjs.map} +1 -1
  53. package/lib/module/helpers/{makeEdges.js → makeEdges.mjs} +1 -1
  54. package/lib/module/helpers/{makeEdges.js.map → makeEdges.mjs.map} +1 -1
  55. package/lib/module/helpers/{makeEntry.js → makeEntry.mjs} +1 -1
  56. package/lib/module/helpers/{makeEntry.js.map → makeEntry.mjs.map} +1 -1
  57. package/lib/module/helpers/{mergeCachedEdges.js → mergeCachedEdges.mjs} +1 -1
  58. package/lib/module/helpers/{mergeCachedEdges.js.map → mergeCachedEdges.mjs.map} +1 -1
  59. package/lib/module/helpers/{removeConnectionInputOptions.js → removeConnectionInputOptions.mjs} +1 -1
  60. package/lib/module/helpers/{removeConnectionInputOptions.js.map → removeConnectionInputOptions.mjs.map} +1 -1
  61. package/lib/module/helpers/{requestAndCachePages.js → requestAndCachePages.mjs} +1 -1
  62. package/lib/module/helpers/{requestAndCachePages.js.map → requestAndCachePages.mjs.map} +1 -1
  63. package/lib/module/helpers/{requestOutstandingPages.js → requestOutstandingPages.mjs} +1 -1
  64. package/lib/module/helpers/{requestOutstandingPages.js.map → requestOutstandingPages.mjs.map} +1 -1
  65. package/lib/module/helpers/{resolveConnection.js → resolveConnection.mjs} +1 -1
  66. package/lib/module/helpers/{resolveConnection.js.map → resolveConnection.mjs.map} +1 -1
  67. package/lib/module/helpers/{retrieveCachedConnection.js → retrieveCachedConnection.mjs} +1 -1
  68. package/lib/module/helpers/{retrieveCachedConnection.js.map → retrieveCachedConnection.mjs.map} +1 -1
  69. package/lib/module/helpers/{retrieveCachedEdgesByPage.js → retrieveCachedEdgesByPage.mjs} +1 -1
  70. package/lib/module/helpers/{retrieveCachedEdgesByPage.js.map → retrieveCachedEdgesByPage.mjs.map} +1 -1
  71. package/lib/module/helpers/{validateCursor.js → validateCursor.mjs} +1 -1
  72. package/lib/module/helpers/{validateCursor.js.map → validateCursor.mjs.map} +1 -1
  73. package/lib/module/{index.js → index.mjs} +1 -1
  74. package/lib/module/{index.js.map → index.mjs.map} +1 -1
  75. package/lib/module/main/{index.js → index.mjs} +1 -1
  76. package/lib/module/main/{index.js.map → index.mjs.map} +1 -1
  77. package/package.json +3 -3
  78. package/lib/module/defs/index.js +0 -2
  79. package/lib/module/helpers/isFirstPage.js +0 -2
@@ -68,4 +68,4 @@ export default (async ({
68
68
 
69
69
  return cursorCache;
70
70
  });
71
- //# sourceMappingURL=generateCursorCache.js.map
71
+ //# sourceMappingURL=generateCursorCache.mjs.map
@@ -1 +1 @@
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.js"}
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"}
@@ -20,4 +20,4 @@ export default (({
20
20
  "Cache-Control": "max-age=60"
21
21
  })
22
22
  }));
23
- //# sourceMappingURL=generatePageResponse.js.map
23
+ //# sourceMappingURL=generatePageResponse.mjs.map
@@ -1 +1 @@
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.js"}
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"}
@@ -8,4 +8,4 @@ export default (pageRanges => pageRanges.reduce((pages, pageRange) => {
8
8
 
9
9
  return [...pages, ..._range(Number(start), Number(end)), Number(end)];
10
10
  }, []));
11
- //# sourceMappingURL=generatePages.js.map
11
+ //# sourceMappingURL=generatePages.mjs.map
@@ -1 +1 @@
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.js"}
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"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"index.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"index.mjs"}
@@ -27,4 +27,4 @@ export default (async (cursorCache, {
27
27
  totalResults
28
28
  }, opts);
29
29
  });
30
- //# sourceMappingURL=cacheCursors.js.map
30
+ //# sourceMappingURL=cacheCursors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/cacheCursors.ts"],"names":["cursorCache","edges","group","headers","page","totalPages","totalResults","cacheControl","get","opts","cacheHeaders","undefined","Promise","all","map","cursor","node","index","set"],"mappings":";AAYA,gBAAe,OAAOA,WAAP,EAA8B;AAAEC,EAAAA,KAAF;AAASC,EAAAA,KAAT;AAAgBC,EAAAA,OAAhB;AAAyBC,EAAAA,IAAzB;AAA+BC,EAAAA,UAA/B;AAA2CC,EAAAA;AAA3C,CAA9B,KAAoG;AACjH,QAAMC,YAAY,GAAGJ,OAAO,CAACK,GAAR,CAAY,eAAZ,CAArB;AACA,QAAMC,IAAI,GAAGF,YAAY,GAAG;AAAEG,IAAAA,YAAY,EAAE;AAAEH,MAAAA;AAAF;AAAhB,GAAH,GAAwCI,SAAjE;AAEA,QAAMC,OAAO,CAACC,GAAR,CACJZ,KAAK,CAACa,GAAN,CAAU,OAAO;AAAEC,IAAAA,MAAF;AAAUC,IAAAA;AAAV,GAAP,EAAyBC,KAAzB,KAAmCjB,WAAW,CAACkB,GAAZ,CAAgBH,MAAhB,EAAwB;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAef,IAAAA,KAAf;AAAsBE,IAAAA;AAAtB,GAAxB,EAAsDK,IAAtD,CAA7C,CADI,CAAN;AAIA,QAAMT,WAAW,CAACkB,GAAZ,CAAiB,GAAEhB,KAAM,WAAzB,EAAqC;AAAEG,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAArC,EAAmEG,IAAnE,CAAN;AACD,CATD","sourcesContent":["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"],"file":"cacheCursors.js"}
1
+ {"version":3,"sources":["../../../src/helpers/cacheCursors.ts"],"names":["cursorCache","edges","group","headers","page","totalPages","totalResults","cacheControl","get","opts","cacheHeaders","undefined","Promise","all","map","cursor","node","index","set"],"mappings":";AAYA,gBAAe,OAAOA,WAAP,EAA8B;AAAEC,EAAAA,KAAF;AAASC,EAAAA,KAAT;AAAgBC,EAAAA,OAAhB;AAAyBC,EAAAA,IAAzB;AAA+BC,EAAAA,UAA/B;AAA2CC,EAAAA;AAA3C,CAA9B,KAAoG;AACjH,QAAMC,YAAY,GAAGJ,OAAO,CAACK,GAAR,CAAY,eAAZ,CAArB;AACA,QAAMC,IAAI,GAAGF,YAAY,GAAG;AAAEG,IAAAA,YAAY,EAAE;AAAEH,MAAAA;AAAF;AAAhB,GAAH,GAAwCI,SAAjE;AAEA,QAAMC,OAAO,CAACC,GAAR,CACJZ,KAAK,CAACa,GAAN,CAAU,OAAO;AAAEC,IAAAA,MAAF;AAAUC,IAAAA;AAAV,GAAP,EAAyBC,KAAzB,KAAmCjB,WAAW,CAACkB,GAAZ,CAAgBH,MAAhB,EAAwB;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAef,IAAAA,KAAf;AAAsBE,IAAAA;AAAtB,GAAxB,EAAsDK,IAAtD,CAA7C,CADI,CAAN;AAIA,QAAMT,WAAW,CAACkB,GAAZ,CAAiB,GAAEhB,KAAM,WAAzB,EAAqC;AAAEG,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAArC,EAAmEG,IAAnE,CAAN;AACD,CATD","sourcesContent":["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"],"file":"cacheCursors.mjs"}
@@ -1,2 +1,2 @@
1
1
  export default (cachedEdges => cachedEdges.reduce((edges, cachedEdge) => [...edges, ...cachedEdge.edges], []));
2
- //# sourceMappingURL=extractEdges.js.map
2
+ //# sourceMappingURL=extractEdges.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/extractEdges.ts"],"names":["cachedEdges","reduce","edges","cachedEdge"],"mappings":"AAEA,gBAAgBA,WAAD,IACbA,WAAW,CAACC,MAAZ,CAAmB,CAACC,KAAD,EAAQC,UAAR,KAAuB,CAAC,GAAGD,KAAJ,EAAW,GAAGC,UAAU,CAACD,KAAzB,CAA1C,EAA2E,EAA3E,CADF","sourcesContent":["import { CachedEdges, Edge } from \"../defs\";\n\nexport default (cachedEdges: CachedEdges[]) =>\n cachedEdges.reduce((edges, cachedEdge) => [...edges, ...cachedEdge.edges], [] as Edge[]);\n"],"file":"extractEdges.js"}
1
+ {"version":3,"sources":["../../../src/helpers/extractEdges.ts"],"names":["cachedEdges","reduce","edges","cachedEdge"],"mappings":"AAEA,gBAAgBA,WAAD,IACbA,WAAW,CAACC,MAAZ,CAAmB,CAACC,KAAD,EAAQC,UAAR,KAAuB,CAAC,GAAGD,KAAJ,EAAW,GAAGC,UAAU,CAACD,KAAzB,CAA1C,EAA2E,EAA3E,CADF","sourcesContent":["import { CachedEdges, Edge } from \"../defs\";\n\nexport default (cachedEdges: CachedEdges[]) =>\n cachedEdges.reduce((edges, cachedEdge) => [...edges, ...cachedEdge.edges], [] as Edge[]);\n"],"file":"extractEdges.mjs"}
@@ -1,2 +1,2 @@
1
1
  export default (edges => edges.map(edge => edge.node));
2
- //# sourceMappingURL=extractNodes.js.map
2
+ //# sourceMappingURL=extractNodes.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/extractNodes.ts"],"names":["edges","map","edge","node"],"mappings":"AAEA,gBAAgBA,KAAD,IAAmBA,KAAK,CAACC,GAAN,CAAUC,IAAI,IAAIA,IAAI,CAACC,IAAvB,CAAlC","sourcesContent":["import { Edge } from \"../defs\";\n\nexport default (edges: Edge[]) => edges.map(edge => edge.node);\n"],"file":"extractNodes.js"}
1
+ {"version":3,"sources":["../../../src/helpers/extractNodes.ts"],"names":["edges","map","edge","node"],"mappings":"AAEA,gBAAgBA,KAAD,IAAmBA,KAAK,CAACC,GAAN,CAAUC,IAAI,IAAIA,IAAI,CAACC,IAAvB,CAAlC","sourcesContent":["import { Edge } from \"../defs\";\n\nexport default (edges: Edge[]) => edges.map(edge => edge.node);\n"],"file":"extractNodes.mjs"}
@@ -2,4 +2,4 @@ export default (({
2
2
  first,
3
3
  last
4
4
  }) => first || last);
5
- //# sourceMappingURL=getCount.js.map
5
+ //# sourceMappingURL=getCount.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getCount.ts"],"names":["first","last"],"mappings":"AAEA,gBAAe,CAAC;AAAEA,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAA8CD,KAAK,IAAIC,IAAtE","sourcesContent":["import { ConnectionInputOptions } from \"../defs\";\n\nexport default ({ first, last }: ConnectionInputOptions) => (first || last) as number;\n"],"file":"getCount.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getCount.ts"],"names":["first","last"],"mappings":"AAEA,gBAAe,CAAC;AAAEA,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAA8CD,KAAK,IAAIC,IAAtE","sourcesContent":["import { ConnectionInputOptions } from \"../defs\";\n\nexport default ({ first, last }: ConnectionInputOptions) => (first || last) as number;\n"],"file":"getCount.mjs"}
@@ -8,4 +8,4 @@ export const getCurrentPageEndIndex = ({
8
8
  resultsPerPage,
9
9
  totalCachedPages
10
10
  }) => pageIndex === totalCachedPages - 1 ? endIndex.relative : resultsPerPage - 1;
11
- //# sourceMappingURL=getCurrentPageStartAndEndIndexes.js.map
11
+ //# sourceMappingURL=getCurrentPageStartAndEndIndexes.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getCurrentPageStartAndEndIndexes.ts"],"names":["getCurrentPageStartIndex","pageIndex","startIndex","relative","getCurrentPageEndIndex","endIndex","resultsPerPage","totalCachedPages"],"mappings":"AAOA,OAAO,MAAMA,wBAAwB,GAAG,CAAC;AAAEC,EAAAA,SAAF;AAAaC,EAAAA;AAAb,CAAD,KACtCD,SAAS,KAAK,CAAd,GAAkBC,UAAU,CAACC,QAA7B,GAAwC,CADnC;AAUP,OAAO,MAAMC,sBAAsB,GAAG,CAAC;AAAEC,EAAAA,QAAF;AAAYJ,EAAAA,SAAZ;AAAuBK,EAAAA,cAAvB;AAAuCC,EAAAA;AAAvC,CAAD,KACpCN,SAAS,KAAKM,gBAAgB,GAAG,CAAjC,GAAqCF,QAAQ,CAACF,QAA9C,GAAyDG,cAAc,GAAG,CADrE","sourcesContent":["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"],"file":"getCurrentPageStartAndEndIndexes.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getCurrentPageStartAndEndIndexes.ts"],"names":["getCurrentPageStartIndex","pageIndex","startIndex","relative","getCurrentPageEndIndex","endIndex","resultsPerPage","totalCachedPages"],"mappings":"AAOA,OAAO,MAAMA,wBAAwB,GAAG,CAAC;AAAEC,EAAAA,SAAF;AAAaC,EAAAA;AAAb,CAAD,KACtCD,SAAS,KAAK,CAAd,GAAkBC,UAAU,CAACC,QAA7B,GAAwC,CADnC;AAUP,OAAO,MAAMC,sBAAsB,GAAG,CAAC;AAAEC,EAAAA,QAAF;AAAYJ,EAAAA,SAAZ;AAAuBK,EAAAA,cAAvB;AAAuCC,EAAAA;AAAvC,CAAD,KACpCN,SAAS,KAAKM,gBAAgB,GAAG,CAAjC,GAAqCF,QAAQ,CAACF,QAA9C,GAAyDG,cAAc,GAAG,CADrE","sourcesContent":["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"],"file":"getCurrentPageStartAndEndIndexes.mjs"}
@@ -2,4 +2,4 @@ export default (({
2
2
  after,
3
3
  before
4
4
  }) => before || after);
5
- //# sourceMappingURL=getCursor.js.map
5
+ //# sourceMappingURL=getCursor.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getCursor.ts"],"names":["after","before"],"mappings":"AAEA,gBAAe,CAAC;AAAEA,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAA+CA,MAAM,IAAID,KAAxE","sourcesContent":["import { ConnectionInputOptions } from \"../defs\";\n\nexport default ({ after, before }: ConnectionInputOptions) => before || after;\n"],"file":"getCursor.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getCursor.ts"],"names":["after","before"],"mappings":"AAEA,gBAAe,CAAC;AAAEA,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAA+CA,MAAM,IAAID,KAAxE","sourcesContent":["import { ConnectionInputOptions } from \"../defs\";\n\nexport default ({ after, before }: ConnectionInputOptions) => before || after;\n"],"file":"getCursor.mjs"}
@@ -1,2 +1,2 @@
1
1
  export default (last => last ? "backward" : "forward");
2
- //# sourceMappingURL=getDirection.js.map
2
+ //# sourceMappingURL=getDirection.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getDirection.ts"],"names":["last"],"mappings":"AAAA,gBAAgBA,IAAD,IAA+BA,IAAI,GAAG,UAAH,GAAgB,SAAlE","sourcesContent":["export default (last: number | undefined) => (last ? \"backward\" : \"forward\");\n"],"file":"getDirection.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getDirection.ts"],"names":["last"],"mappings":"AAAA,gBAAgBA,IAAD,IAA+BA,IAAI,GAAG,UAAH,GAAgB,SAAlE","sourcesContent":["export default (last: number | undefined) => (last ? \"backward\" : \"forward\");\n"],"file":"getDirection.mjs"}
@@ -23,4 +23,4 @@ export default ((cachedEdgesByPage, {
23
23
  return inRange;
24
24
  }, []);
25
25
  });
26
- //# sourceMappingURL=getInRangeCachedEdges.js.map
26
+ //# sourceMappingURL=getInRangeCachedEdges.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getInRangeCachedEdges.ts"],"names":["getCurrentPageEndIndex","getCurrentPageStartIndex","cachedEdgesByPage","endIndex","resultsPerPage","startIndex","reduce","inRange","cachedEdgesPage","i","currentPageStartIndex","pageIndex","currentPageEndIndex","totalCachedPages","length","cachedEdges","edges","slice","push","pageNumber"],"mappings":"AACA,SAASA,sBAAT,EAAiCC,wBAAjC,QAAiE,oCAAjE;AAQA,gBAAe,CAACC,iBAAD,EAAmC;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,cAAZ;AAA4BC,EAAAA;AAA5B,CAAnC,KAAyF;AACtG,SAAOH,iBAAiB,CAACI,MAAlB,CAAyB,CAACC,OAAD,EAAUC,eAAV,EAA2BC,CAA3B,KAAiC;AAC/D,UAAMC,qBAAqB,GAAGT,wBAAwB,CAAC;AAAEI,MAAAA,UAAF;AAAcM,MAAAA,SAAS,EAAEF;AAAzB,KAAD,CAAtD;AAEA,UAAMG,mBAAmB,GAAGZ,sBAAsB,CAAC;AACjDG,MAAAA,QADiD;AAEjDQ,MAAAA,SAAS,EAAEF,CAFsC;AAGjDL,MAAAA,cAHiD;AAIjDS,MAAAA,gBAAgB,EAAEX,iBAAiB,CAACY;AAJa,KAAD,CAAlD;AAOA,UAAMC,WAAW,GAAGP,eAAe,CAACQ,KAAhB,CAAsBC,KAAtB,CAA4BP,qBAA5B,EAAmDE,mBAAmB,GAAG,CAAzE,CAApB;AACAL,IAAAA,OAAO,CAACW,IAAR,CAAa;AAAEF,MAAAA,KAAK,EAAED,WAAT;AAAsBI,MAAAA,UAAU,EAAEX,eAAe,CAACW;AAAlD,KAAb;AACA,WAAOZ,OAAP;AACD,GAbM,EAaJ,EAbI,CAAP;AAcD,CAfD","sourcesContent":["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"],"file":"getInRangeCachedEdges.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getInRangeCachedEdges.ts"],"names":["getCurrentPageEndIndex","getCurrentPageStartIndex","cachedEdgesByPage","endIndex","resultsPerPage","startIndex","reduce","inRange","cachedEdgesPage","i","currentPageStartIndex","pageIndex","currentPageEndIndex","totalCachedPages","length","cachedEdges","edges","slice","push","pageNumber"],"mappings":"AACA,SAASA,sBAAT,EAAiCC,wBAAjC,QAAiE,oCAAjE;AAQA,gBAAe,CAACC,iBAAD,EAAmC;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,cAAZ;AAA4BC,EAAAA;AAA5B,CAAnC,KAAyF;AACtG,SAAOH,iBAAiB,CAACI,MAAlB,CAAyB,CAACC,OAAD,EAAUC,eAAV,EAA2BC,CAA3B,KAAiC;AAC/D,UAAMC,qBAAqB,GAAGT,wBAAwB,CAAC;AAAEI,MAAAA,UAAF;AAAcM,MAAAA,SAAS,EAAEF;AAAzB,KAAD,CAAtD;AAEA,UAAMG,mBAAmB,GAAGZ,sBAAsB,CAAC;AACjDG,MAAAA,QADiD;AAEjDQ,MAAAA,SAAS,EAAEF,CAFsC;AAGjDL,MAAAA,cAHiD;AAIjDS,MAAAA,gBAAgB,EAAEX,iBAAiB,CAACY;AAJa,KAAD,CAAlD;AAOA,UAAMC,WAAW,GAAGP,eAAe,CAACQ,KAAhB,CAAsBC,KAAtB,CAA4BP,qBAA5B,EAAmDE,mBAAmB,GAAG,CAAzE,CAApB;AACAL,IAAAA,OAAO,CAACW,IAAR,CAAa;AAAEF,MAAAA,KAAK,EAAED,WAAT;AAAsBI,MAAAA,UAAU,EAAEX,eAAe,CAACW;AAAlD,KAAb;AACA,WAAOZ,OAAP;AACD,GAbM,EAaJ,EAbI,CAAP;AAcD,CAfD","sourcesContent":["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"],"file":"getInRangeCachedEdges.mjs"}
@@ -14,4 +14,4 @@ export default (({
14
14
  resultsPerPage,
15
15
  totalResults
16
16
  }) : resultsPerPage) - 1);
17
- //# sourceMappingURL=getIndexesOnCurrentPage.js.map
17
+ //# sourceMappingURL=getIndexesOnCurrentPage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getIndexesOnCurrentPage.ts"],"names":["getResultsOnLastPage","isLastPage","page","metadata","totalPages","totalResults","resultsPerPage"],"mappings":"AACA,OAAOA,oBAAP,MAAiC,wBAAjC;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAMA,gBAAe,CAAC;AACdC,EAAAA,IADc;AAEdC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAFI;AAGdC,EAAAA;AAHc,CAAD,KAKb,CAACL,UAAU,CAAC;AAAEC,EAAAA,IAAF;AAAQE,EAAAA;AAAR,CAAD,CAAV,GAAmCJ,oBAAoB,CAAC;AAAEM,EAAAA,cAAF;AAAkBD,EAAAA;AAAlB,CAAD,CAAvD,GAA4FC,cAA7F,IAA+G,CALjH","sourcesContent":["import { Context } from \"../defs\";\nimport getResultsOnLastPage from \"./getResultsOnLastPage\";\nimport isLastPage from \"./isLastPage\";\n\nexport type IndexesOnCurrentPageContext = {\n page: number;\n};\n\nexport default ({\n page,\n metadata: { totalPages, totalResults },\n resultsPerPage,\n}: IndexesOnCurrentPageContext & Omit<Context, \"entry\">) =>\n (isLastPage({ page, totalPages }) ? getResultsOnLastPage({ resultsPerPage, totalResults }) : resultsPerPage) - 1;\n"],"file":"getIndexesOnCurrentPage.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getIndexesOnCurrentPage.ts"],"names":["getResultsOnLastPage","isLastPage","page","metadata","totalPages","totalResults","resultsPerPage"],"mappings":"AACA,OAAOA,oBAAP,MAAiC,wBAAjC;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAMA,gBAAe,CAAC;AACdC,EAAAA,IADc;AAEdC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAFI;AAGdC,EAAAA;AAHc,CAAD,KAKb,CAACL,UAAU,CAAC;AAAEC,EAAAA,IAAF;AAAQE,EAAAA;AAAR,CAAD,CAAV,GAAmCJ,oBAAoB,CAAC;AAAEM,EAAAA,cAAF;AAAkBD,EAAAA;AAAlB,CAAD,CAAvD,GAA4FC,cAA7F,IAA+G,CALjH","sourcesContent":["import { Context } from \"../defs\";\nimport getResultsOnLastPage from \"./getResultsOnLastPage\";\nimport isLastPage from \"./isLastPage\";\n\nexport type IndexesOnCurrentPageContext = {\n page: number;\n};\n\nexport default ({\n page,\n metadata: { totalPages, totalResults },\n resultsPerPage,\n}: IndexesOnCurrentPageContext & Omit<Context, \"entry\">) =>\n (isLastPage({ page, totalPages }) ? getResultsOnLastPage({ resultsPerPage, totalResults }) : resultsPerPage) - 1;\n"],"file":"getIndexesOnCurrentPage.mjs"}
@@ -6,4 +6,4 @@ export default (({
6
6
  resultsPerPage,
7
7
  totalResults
8
8
  }) - 1);
9
- //# sourceMappingURL=getIndexesOnLastPage.js.map
9
+ //# sourceMappingURL=getIndexesOnLastPage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getIndexesOnLastPage.ts"],"names":["getResultsOnLastPage","resultsPerPage","totalResults"],"mappings":"AAAA,OAAOA,oBAAP,MAA6C,wBAA7C;AAEA,gBAAe,CAAC;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA;AAAlB,CAAD,KAA8CF,oBAAoB,CAAC;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA;AAAlB,CAAD,CAApB,GAAyD,CAAtH","sourcesContent":["import getResultsOnLastPage, { Params } from \"./getResultsOnLastPage\";\n\nexport default ({ resultsPerPage, totalResults }: Params) => getResultsOnLastPage({ resultsPerPage, totalResults }) - 1;\n"],"file":"getIndexesOnLastPage.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getIndexesOnLastPage.ts"],"names":["getResultsOnLastPage","resultsPerPage","totalResults"],"mappings":"AAAA,OAAOA,oBAAP,MAA6C,wBAA7C;AAEA,gBAAe,CAAC;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA;AAAlB,CAAD,KAA8CF,oBAAoB,CAAC;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA;AAAlB,CAAD,CAApB,GAAyD,CAAtH","sourcesContent":["import getResultsOnLastPage, { Params } from \"./getResultsOnLastPage\";\n\nexport default ({ resultsPerPage, totalResults }: Params) => getResultsOnLastPage({ resultsPerPage, totalResults }) - 1;\n"],"file":"getIndexesOnLastPage.mjs"}
@@ -27,4 +27,4 @@ export default ((args, {
27
27
 
28
28
  return [..._range(startPageNumber, endPageNumber), endPageNumber];
29
29
  });
30
- //# sourceMappingURL=getPageNumbersToRequest.js.map
30
+ //# sourceMappingURL=getPageNumbersToRequest.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getPageNumbersToRequest.ts"],"names":["getEndPageNumber","getStartPageNumber","args","endIndex","entry","page","metadata","resultsPerPage","startIndex","startPageNumber","endPageNumber"],"mappings":";AAEA,SAASA,gBAAT,EAA2BC,kBAA3B,QAAqD,6BAArD;AAOA,gBAAe,CACbC,IADa,EAEb;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,KAAK,EAAE;AAAEC,IAAAA;AAAF,GAAnB;AAA6BC,EAAAA,QAA7B;AAAuCC,EAAAA,cAAvC;AAAuDC,EAAAA;AAAvD,CAFa,KAGV;AACH,QAAMC,eAAe,GAAGR,kBAAkB,CAACC,IAAD,EAAO;AAAEG,IAAAA,IAAF;AAAQG,IAAAA,UAAR;AAAoBD,IAAAA;AAApB,GAAP,CAA1C;AACA,QAAMG,aAAa,GAAGV,gBAAgB,CAACE,IAAD,EAAO;AAAEC,IAAAA,QAAF;AAAYG,IAAAA,QAAZ;AAAsBD,IAAAA,IAAtB;AAA4BE,IAAAA;AAA5B,GAAP,CAAtC;;AAEA,MAAIE,eAAe,KAAKC,aAAxB,EAAuC;AACrC,WAAO,CAACL,IAAD,CAAP;AACD;;AAED,SAAO,CAAC,GAAG,OAAMI,eAAN,EAAuBC,aAAvB,CAAJ,EAA2CA,aAA3C,CAAP;AACD,CAZD","sourcesContent":["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"],"file":"getPageNumbersToRequest.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getPageNumbersToRequest.ts"],"names":["getEndPageNumber","getStartPageNumber","args","endIndex","entry","page","metadata","resultsPerPage","startIndex","startPageNumber","endPageNumber"],"mappings":";AAEA,SAASA,gBAAT,EAA2BC,kBAA3B,QAAqD,6BAArD;AAOA,gBAAe,CACbC,IADa,EAEb;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,KAAK,EAAE;AAAEC,IAAAA;AAAF,GAAnB;AAA6BC,EAAAA,QAA7B;AAAuCC,EAAAA,cAAvC;AAAuDC,EAAAA;AAAvD,CAFa,KAGV;AACH,QAAMC,eAAe,GAAGR,kBAAkB,CAACC,IAAD,EAAO;AAAEG,IAAAA,IAAF;AAAQG,IAAAA,UAAR;AAAoBD,IAAAA;AAApB,GAAP,CAA1C;AACA,QAAMG,aAAa,GAAGV,gBAAgB,CAACE,IAAD,EAAO;AAAEC,IAAAA,QAAF;AAAYG,IAAAA,QAAZ;AAAsBD,IAAAA,IAAtB;AAA4BE,IAAAA;AAA5B,GAAP,CAAtC;;AAEA,MAAIE,eAAe,KAAKC,aAAxB,EAAuC;AACrC,WAAO,CAACL,IAAD,CAAP;AACD;;AAED,SAAO,CAAC,GAAG,OAAMI,eAAN,EAAuBC,aAAvB,CAAJ,EAA2CA,aAA3C,CAAP;AACD,CAZD","sourcesContent":["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"],"file":"getPageNumbersToRequest.mjs"}
@@ -7,4 +7,4 @@ export default (cachedEdgesByPage => {
7
7
  return missing;
8
8
  }, []);
9
9
  });
10
- //# sourceMappingURL=getPagesMissingFromCache.js.map
10
+ //# sourceMappingURL=getPagesMissingFromCache.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getPagesMissingFromCache.ts"],"names":["cachedEdgesByPage","reduce","missing","cachedEdgesPage","edges","length","push","pageNumber"],"mappings":"AAEA,gBAAgBA,iBAAD,IAAsC;AACnD,SAAOA,iBAAiB,CAACC,MAAlB,CAAyB,CAACC,OAAD,EAAUC,eAAV,KAA8B;AAC5D,QAAI,CAACA,eAAe,CAACC,KAAhB,CAAsBC,MAA3B,EAAmC;AACjCH,MAAAA,OAAO,CAACI,IAAR,CAAaH,eAAe,CAACI,UAA7B;AACD;;AAED,WAAOL,OAAP;AACD,GANM,EAMJ,EANI,CAAP;AAOD,CARD","sourcesContent":["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"],"file":"getPagesMissingFromCache.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getPagesMissingFromCache.ts"],"names":["cachedEdgesByPage","reduce","missing","cachedEdgesPage","edges","length","push","pageNumber"],"mappings":"AAEA,gBAAgBA,iBAAD,IAAsC;AACnD,SAAOA,iBAAiB,CAACC,MAAlB,CAAyB,CAACC,OAAD,EAAUC,eAAV,KAA8B;AAC5D,QAAI,CAACA,eAAe,CAACC,KAAhB,CAAsBC,MAA3B,EAAmC;AACjCH,MAAAA,OAAO,CAACI,IAAR,CAAaH,eAAe,CAACI,UAA7B;AACD;;AAED,WAAOL,OAAP;AACD,GANM,EAMJ,EANI,CAAP;AAOD,CARD","sourcesContent":["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"],"file":"getPagesMissingFromCache.mjs"}
@@ -5,4 +5,4 @@ export default (({
5
5
  const remainder = totalResults % resultsPerPage;
6
6
  return remainder === 0 ? resultsPerPage : remainder;
7
7
  });
8
- //# sourceMappingURL=getResultsOnLastPage.js.map
8
+ //# sourceMappingURL=getResultsOnLastPage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getResultsOnLastPage.ts"],"names":["resultsPerPage","totalResults","remainder"],"mappings":"AAKA,gBAAe,CAAC;AAAEA,EAAAA,cAAF;AAAkBC,EAAAA;AAAlB,CAAD,KAA8C;AAC3D,QAAMC,SAAS,GAAGD,YAAY,GAAGD,cAAjC;AACA,SAAOE,SAAS,KAAK,CAAd,GAAkBF,cAAlB,GAAmCE,SAA1C;AACD,CAHD","sourcesContent":["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"],"file":"getResultsOnLastPage.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getResultsOnLastPage.ts"],"names":["resultsPerPage","totalResults","remainder"],"mappings":"AAKA,gBAAe,CAAC;AAAEA,EAAAA,cAAF;AAAkBC,EAAAA;AAAlB,CAAD,KAA8C;AAC3D,QAAMC,SAAS,GAAGD,YAAY,GAAGD,cAAjC;AACA,SAAOE,SAAS,KAAK,CAAd,GAAkBF,cAAlB,GAAmCE,SAA1C;AACD,CAHD","sourcesContent":["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"],"file":"getResultsOnLastPage.mjs"}
@@ -7,4 +7,4 @@ export const getEndCursor = edges => {
7
7
  const lastEdge = edges[edges.length - 1];
8
8
  return lastEdge === null || lastEdge === void 0 ? void 0 : lastEdge.cursor;
9
9
  };
10
- //# sourceMappingURL=getStartAndEndCursors.js.map
10
+ //# sourceMappingURL=getStartAndEndCursors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getStartAndEndCursors.ts"],"names":["getStartCursor","edges","cursor","getEndCursor","lastEdge","length"],"mappings":"AAEA,OAAO,MAAMA,cAAc,GAAIC,KAAD;AAAA;;AAAA,oBAAmBA,KAAK,CAAC,CAAD,CAAxB,4CAAmB,QAAUC,MAA7B;AAAA,CAAvB;AAEP,OAAO,MAAMC,YAAY,GAAIF,KAAD,IAAmB;AAC7C,QAAMG,QAAQ,GAAGH,KAAK,CAACA,KAAK,CAACI,MAAN,GAAe,CAAhB,CAAtB;AACA,SAAOD,QAAP,aAAOA,QAAP,uBAAOA,QAAQ,CAAEF,MAAjB;AACD,CAHM","sourcesContent":["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"],"file":"getStartAndEndCursors.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getStartAndEndCursors.ts"],"names":["getStartCursor","edges","cursor","getEndCursor","lastEdge","length"],"mappings":"AAEA,OAAO,MAAMA,cAAc,GAAIC,KAAD;AAAA;;AAAA,oBAAmBA,KAAK,CAAC,CAAD,CAAxB,4CAAmB,QAAUC,MAA7B;AAAA,CAAvB;AAEP,OAAO,MAAMC,YAAY,GAAIF,KAAD,IAAmB;AAC7C,QAAMG,QAAQ,GAAGH,KAAK,CAACA,KAAK,CAACI,MAAN,GAAe,CAAhB,CAAtB;AACA,SAAOD,QAAP,aAAOA,QAAP,uBAAOA,QAAQ,CAAEF,MAAjB;AACD,CAHM","sourcesContent":["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"],"file":"getStartAndEndCursors.mjs"}
@@ -83,4 +83,4 @@ export const getEndIndex = (args, {
83
83
  };
84
84
  })();
85
85
  };
86
- //# sourceMappingURL=getStartAndEndIndexes.js.map
86
+ //# sourceMappingURL=getStartAndEndIndexes.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getStartAndEndIndexes.ts"],"names":["getCount","getDirection","getIndexesOnLastPage","isFirstPage","isLastPage","getStartIndex","args","entry","index","page","resultsPerPage","count","last","absolute","relative","absStartIndex","indexesRemainingAfterLastPage","Math","abs","pagesRemaining","remainder","relStartIndex","getEndIndex","metadata","totalPages","totalResults","indexesOnLastPage","absEndIndex","indexesPerPage","indexesRemainingAfterFirstPage","relEndIndex"],"mappings":"AACA,OAAOA,QAAP,MAAqB,YAArB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,oBAAP,MAAiC,wBAAjC;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,OAAO,MAAMC,aAAa,GAAG,CAC3BC,IAD2B,EAE3B;AAAEC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAT;AAA0BC,EAAAA;AAA1B,CAF2B,KAGxB;AACH,QAAMC,KAAK,GAAGX,QAAQ,CAACM,IAAD,CAAtB;AAEA,SAAOL,YAAY,CAACK,IAAI,CAACM,IAAN,CAAZ,KAA4B,SAA5B,GACH;AAAEC,IAAAA,QAAQ,EAAEL,KAAK,GAAG,CAApB;AAAuBM,IAAAA,QAAQ,EAAEN,KAAK,GAAG;AAAzC,GADG,GAEHL,WAAW,CAACM,IAAD,CAAX,IAAqBD,KAAK,GAAGG,KAAR,GAAgB,CAArC,GACA;AAAEE,IAAAA,QAAQ,EAAE,CAAZ;AAAeC,IAAAA,QAAQ,EAAE;AAAzB,GADA,GAEA,CAAC,MAAM;AACL,UAAMC,aAAa,GAAGP,KAAK,GAAGG,KAA9B;;AAEA,QAAII,aAAa,IAAI,CAArB,EAAwB;AACtB,aAAO;AAAEF,QAAAA,QAAQ,EAAEE,aAAZ;AAA2BD,QAAAA,QAAQ,EAAEC;AAArC,OAAP;AACD;;AAED,UAAMC,6BAA6B,GAAGC,IAAI,CAACC,GAAL,CAASH,aAAT,CAAtC;AACA,UAAMI,cAAc,GAAGH,6BAA6B,GAAGN,cAAhC,GAAiD,CAAxE;AACA,UAAMU,SAAS,GAAGJ,6BAA6B,GAAGN,cAAlD;AACA,UAAMW,aAAa,GAAGD,SAAS,KAAK,CAAd,GAAkB,CAAlB,GAAsBX,IAAI,GAAGU,cAAP,GAAwB,CAAxB,GAA4B,CAA5B,GAAgCT,cAAc,GAAGU,SAA7F;AACA,WAAO;AAAEP,MAAAA,QAAQ,EAAEE,aAAZ;AAA2BD,MAAAA,QAAQ,EAAEO;AAArC,KAAP;AACD,GAZD,GAJJ;AAiBD,CAvBM;AAyBP,OAAO,MAAMC,WAAW,GAAG,CACzBhB,IADyB,EAEzB;AAAEC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAT;AAA0Bc,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAApC;AAAkEf,EAAAA;AAAlE,CAFyB,KAGtB;AACH,QAAMC,KAAK,GAAGX,QAAQ,CAACM,IAAD,CAAtB;AACA,QAAMoB,iBAAiB,GAAGxB,oBAAoB,CAAC;AAAEQ,IAAAA,cAAF;AAAkBe,IAAAA;AAAlB,GAAD,CAA9C;AAEA,SAAOxB,YAAY,CAACK,IAAI,CAACM,IAAN,CAAZ,KAA4B,UAA5B,GACH;AAAEC,IAAAA,QAAQ,EAAEL,KAAK,GAAG,CAApB;AAAuBM,IAAAA,QAAQ,EAAEN,KAAK,GAAG;AAAzC,GADG,GAEHJ,UAAU,CAAC;AAAEK,IAAAA,IAAF;AAAQe,IAAAA;AAAR,GAAD,CAAV,IAAoChB,KAAK,GAAGG,KAAR,GAAgBe,iBAApD,GACA;AAAEb,IAAAA,QAAQ,EAAEa,iBAAZ;AAA+BZ,IAAAA,QAAQ,EAAEY;AAAzC,GADA,GAEA,CAAC,MAAM;AACL,UAAMC,WAAW,GAAGnB,KAAK,GAAGG,KAA5B;AACA,UAAMiB,cAAc,GAAGlB,cAAc,GAAG,CAAxC;;AAEA,QAAIiB,WAAW,IAAIC,cAAnB,EAAmC;AACjC,aAAO;AAAEf,QAAAA,QAAQ,EAAEc,WAAZ;AAAyBb,QAAAA,QAAQ,EAAEa;AAAnC,OAAP;AACD;;AAED,UAAME,8BAA8B,GAAGF,WAAW,GAAGC,cAArD;AACA,UAAMT,cAAc,GAAGU,8BAA8B,GAAGnB,cAAxD;AACA,UAAMU,SAAS,GAAGS,8BAA8B,GAAGnB,cAAnD;AAEA,UAAMoB,WAAW,GACfV,SAAS,KAAK,CAAd,GAAkBQ,cAAlB,GAAmCnB,IAAI,GAAGU,cAAP,GAAwBK,UAAxB,GAAqCE,iBAArC,GAAyDN,SAAS,GAAG,CAD1G;AAGA,WAAO;AAAEP,MAAAA,QAAQ,EAAEc,WAAZ;AAAyBb,MAAAA,QAAQ,EAAEgB;AAAnC,KAAP;AACD,GAhBD,GAJJ;AAqBD,CA5BM","sourcesContent":["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"],"file":"getStartAndEndIndexes.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getStartAndEndIndexes.ts"],"names":["getCount","getDirection","getIndexesOnLastPage","isFirstPage","isLastPage","getStartIndex","args","entry","index","page","resultsPerPage","count","last","absolute","relative","absStartIndex","indexesRemainingAfterLastPage","Math","abs","pagesRemaining","remainder","relStartIndex","getEndIndex","metadata","totalPages","totalResults","indexesOnLastPage","absEndIndex","indexesPerPage","indexesRemainingAfterFirstPage","relEndIndex"],"mappings":"AACA,OAAOA,QAAP,MAAqB,YAArB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,oBAAP,MAAiC,wBAAjC;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,OAAO,MAAMC,aAAa,GAAG,CAC3BC,IAD2B,EAE3B;AAAEC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAT;AAA0BC,EAAAA;AAA1B,CAF2B,KAGxB;AACH,QAAMC,KAAK,GAAGX,QAAQ,CAACM,IAAD,CAAtB;AAEA,SAAOL,YAAY,CAACK,IAAI,CAACM,IAAN,CAAZ,KAA4B,SAA5B,GACH;AAAEC,IAAAA,QAAQ,EAAEL,KAAK,GAAG,CAApB;AAAuBM,IAAAA,QAAQ,EAAEN,KAAK,GAAG;AAAzC,GADG,GAEHL,WAAW,CAACM,IAAD,CAAX,IAAqBD,KAAK,GAAGG,KAAR,GAAgB,CAArC,GACA;AAAEE,IAAAA,QAAQ,EAAE,CAAZ;AAAeC,IAAAA,QAAQ,EAAE;AAAzB,GADA,GAEA,CAAC,MAAM;AACL,UAAMC,aAAa,GAAGP,KAAK,GAAGG,KAA9B;;AAEA,QAAII,aAAa,IAAI,CAArB,EAAwB;AACtB,aAAO;AAAEF,QAAAA,QAAQ,EAAEE,aAAZ;AAA2BD,QAAAA,QAAQ,EAAEC;AAArC,OAAP;AACD;;AAED,UAAMC,6BAA6B,GAAGC,IAAI,CAACC,GAAL,CAASH,aAAT,CAAtC;AACA,UAAMI,cAAc,GAAGH,6BAA6B,GAAGN,cAAhC,GAAiD,CAAxE;AACA,UAAMU,SAAS,GAAGJ,6BAA6B,GAAGN,cAAlD;AACA,UAAMW,aAAa,GAAGD,SAAS,KAAK,CAAd,GAAkB,CAAlB,GAAsBX,IAAI,GAAGU,cAAP,GAAwB,CAAxB,GAA4B,CAA5B,GAAgCT,cAAc,GAAGU,SAA7F;AACA,WAAO;AAAEP,MAAAA,QAAQ,EAAEE,aAAZ;AAA2BD,MAAAA,QAAQ,EAAEO;AAArC,KAAP;AACD,GAZD,GAJJ;AAiBD,CAvBM;AAyBP,OAAO,MAAMC,WAAW,GAAG,CACzBhB,IADyB,EAEzB;AAAEC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAT;AAA0Bc,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAApC;AAAkEf,EAAAA;AAAlE,CAFyB,KAGtB;AACH,QAAMC,KAAK,GAAGX,QAAQ,CAACM,IAAD,CAAtB;AACA,QAAMoB,iBAAiB,GAAGxB,oBAAoB,CAAC;AAAEQ,IAAAA,cAAF;AAAkBe,IAAAA;AAAlB,GAAD,CAA9C;AAEA,SAAOxB,YAAY,CAACK,IAAI,CAACM,IAAN,CAAZ,KAA4B,UAA5B,GACH;AAAEC,IAAAA,QAAQ,EAAEL,KAAK,GAAG,CAApB;AAAuBM,IAAAA,QAAQ,EAAEN,KAAK,GAAG;AAAzC,GADG,GAEHJ,UAAU,CAAC;AAAEK,IAAAA,IAAF;AAAQe,IAAAA;AAAR,GAAD,CAAV,IAAoChB,KAAK,GAAGG,KAAR,GAAgBe,iBAApD,GACA;AAAEb,IAAAA,QAAQ,EAAEa,iBAAZ;AAA+BZ,IAAAA,QAAQ,EAAEY;AAAzC,GADA,GAEA,CAAC,MAAM;AACL,UAAMC,WAAW,GAAGnB,KAAK,GAAGG,KAA5B;AACA,UAAMiB,cAAc,GAAGlB,cAAc,GAAG,CAAxC;;AAEA,QAAIiB,WAAW,IAAIC,cAAnB,EAAmC;AACjC,aAAO;AAAEf,QAAAA,QAAQ,EAAEc,WAAZ;AAAyBb,QAAAA,QAAQ,EAAEa;AAAnC,OAAP;AACD;;AAED,UAAME,8BAA8B,GAAGF,WAAW,GAAGC,cAArD;AACA,UAAMT,cAAc,GAAGU,8BAA8B,GAAGnB,cAAxD;AACA,UAAMU,SAAS,GAAGS,8BAA8B,GAAGnB,cAAnD;AAEA,UAAMoB,WAAW,GACfV,SAAS,KAAK,CAAd,GAAkBQ,cAAlB,GAAmCnB,IAAI,GAAGU,cAAP,GAAwBK,UAAxB,GAAqCE,iBAArC,GAAyDN,SAAS,GAAG,CAD1G;AAGA,WAAO;AAAEP,MAAAA,QAAQ,EAAEc,WAAZ;AAAyBb,MAAAA,QAAQ,EAAEgB;AAAnC,KAAP;AACD,GAhBD,GAJJ;AAqBD,CA5BM","sourcesContent":["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"],"file":"getStartAndEndIndexes.mjs"}
@@ -32,4 +32,4 @@ export const getEndPageNumber = (args, {
32
32
  const endPageNumber = page + Math.ceil((endIndex.absolute - indexesPerPage) / resultsPerPage);
33
33
  return endPageNumber >= totalPages ? totalPages : endPageNumber;
34
34
  };
35
- //# sourceMappingURL=getStartAndEndPageNumbers.js.map
35
+ //# sourceMappingURL=getStartAndEndPageNumbers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/getStartAndEndPageNumbers.ts"],"names":["getDirection","isLastPage","getStartPageNumber","args","page","startIndex","resultsPerPage","last","absolute","startPageNumber","Math","ceil","abs","getEndPageNumber","endIndex","metadata","totalPages","indexesPerPage","endPageNumber"],"mappings":"AACA,OAAOA,YAAP,MAAyB,gBAAzB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAQA,OAAO,MAAMC,kBAAkB,GAAG,CAChCC,IADgC,EAEhC;AAAEC,EAAAA,IAAF;AAAQC,EAAAA,UAAR;AAAoBC,EAAAA;AAApB,CAFgC,KAG7B;AACH,MAAIN,YAAY,CAACG,IAAI,CAACI,IAAN,CAAZ,KAA4B,SAA5B,IAAyCF,UAAU,CAACG,QAAX,IAAuB,CAApE,EAAuE;AACrE,WAAOJ,IAAP;AACD;;AAED,QAAMK,eAAe,GAAGL,IAAI,GAAGM,IAAI,CAACC,IAAL,CAAUD,IAAI,CAACE,GAAL,CAASP,UAAU,CAACG,QAApB,IAAgCF,cAA1C,CAA/B;AACA,SAAOG,eAAe,IAAI,CAAnB,GAAuB,CAAvB,GAA2BA,eAAlC;AACD,CAVM;AAYP,OAAO,MAAMI,gBAAgB,GAAG,CAC9BV,IAD8B,EAE9B;AACEW,EAAAA,QADF;AAEEC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA;AAAF,GAFZ;AAGEZ,EAAAA,IAHF;AAIEE,EAAAA;AAJF,CAF8B,KAQ3B;AACH,QAAMW,cAAc,GAAGX,cAAc,GAAG,CAAxC;;AAEA,MACEN,YAAY,CAACG,IAAI,CAACI,IAAN,CAAZ,KAA4B,UAA5B,IACAN,UAAU,CAAC;AAAEG,IAAAA,IAAF;AAAQY,IAAAA;AAAR,GAAD,CADV,IAEAF,QAAQ,CAACN,QAAT,IAAqBS,cAHvB,EAIE;AACA,WAAOb,IAAP;AACD;;AAED,QAAMc,aAAa,GAAGd,IAAI,GAAGM,IAAI,CAACC,IAAL,CAAU,CAACG,QAAQ,CAACN,QAAT,GAAoBS,cAArB,IAAuCX,cAAjD,CAA7B;AACA,SAAOY,aAAa,IAAIF,UAAjB,GAA8BA,UAA9B,GAA2CE,aAAlD;AACD,CArBM","sourcesContent":["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"],"file":"getStartAndEndPageNumbers.js"}
1
+ {"version":3,"sources":["../../../src/helpers/getStartAndEndPageNumbers.ts"],"names":["getDirection","isLastPage","getStartPageNumber","args","page","startIndex","resultsPerPage","last","absolute","startPageNumber","Math","ceil","abs","getEndPageNumber","endIndex","metadata","totalPages","indexesPerPage","endPageNumber"],"mappings":"AACA,OAAOA,YAAP,MAAyB,gBAAzB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAQA,OAAO,MAAMC,kBAAkB,GAAG,CAChCC,IADgC,EAEhC;AAAEC,EAAAA,IAAF;AAAQC,EAAAA,UAAR;AAAoBC,EAAAA;AAApB,CAFgC,KAG7B;AACH,MAAIN,YAAY,CAACG,IAAI,CAACI,IAAN,CAAZ,KAA4B,SAA5B,IAAyCF,UAAU,CAACG,QAAX,IAAuB,CAApE,EAAuE;AACrE,WAAOJ,IAAP;AACD;;AAED,QAAMK,eAAe,GAAGL,IAAI,GAAGM,IAAI,CAACC,IAAL,CAAUD,IAAI,CAACE,GAAL,CAASP,UAAU,CAACG,QAApB,IAAgCF,cAA1C,CAA/B;AACA,SAAOG,eAAe,IAAI,CAAnB,GAAuB,CAAvB,GAA2BA,eAAlC;AACD,CAVM;AAYP,OAAO,MAAMI,gBAAgB,GAAG,CAC9BV,IAD8B,EAE9B;AACEW,EAAAA,QADF;AAEEC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA;AAAF,GAFZ;AAGEZ,EAAAA,IAHF;AAIEE,EAAAA;AAJF,CAF8B,KAQ3B;AACH,QAAMW,cAAc,GAAGX,cAAc,GAAG,CAAxC;;AAEA,MACEN,YAAY,CAACG,IAAI,CAACI,IAAN,CAAZ,KAA4B,UAA5B,IACAN,UAAU,CAAC;AAAEG,IAAAA,IAAF;AAAQY,IAAAA;AAAR,GAAD,CADV,IAEAF,QAAQ,CAACN,QAAT,IAAqBS,cAHvB,EAIE;AACA,WAAOb,IAAP;AACD;;AAED,QAAMc,aAAa,GAAGd,IAAI,GAAGM,IAAI,CAACC,IAAL,CAAU,CAACG,QAAQ,CAACN,QAAT,GAAoBS,cAArB,IAAuCX,cAAjD,CAA7B;AACA,SAAOY,aAAa,IAAIF,UAAjB,GAA8BA,UAA9B,GAA2CE,aAAlD;AACD,CArBM","sourcesContent":["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"],"file":"getStartAndEndPageNumbers.mjs"}
@@ -15,4 +15,4 @@ export const hasNextPage = ({
15
15
  resultsPerPage,
16
16
  totalResults
17
17
  });
18
- //# sourceMappingURL=hasPreviousNextPage.js.map
18
+ //# sourceMappingURL=hasPreviousNextPage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/hasPreviousNextPage.ts"],"names":["getIndexesOnLastPage","hasPreviousPage","cachedEdgesByPage","startIndex","pageNumber","relative","hasNextPage","endIndex","metadata","totalPages","totalResults","resultsPerPage","length"],"mappings":"AACA,OAAOA,oBAAP,MAAiC,wBAAjC;AAcA,OAAO,MAAMC,eAAe,GAAG,CAAC;AAAEC,EAAAA,iBAAF;AAAqBC,EAAAA;AAArB,CAAD,KAC7BD,iBAAiB,CAAC,CAAD,CAAjB,CAAqBE,UAArB,KAAoC,CAApC,IAAyCD,UAAU,CAACE,QAAX,GAAsB,CAD1D;AAGP,OAAO,MAAMC,WAAW,GAAG,CAAC;AAC1BJ,EAAAA,iBAD0B;AAE1BK,EAAAA,QAF0B;AAG1BC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAHgB;AAI1BC,EAAAA;AAJ0B,CAAD,KAMzBT,iBAAiB,CAACA,iBAAiB,CAACU,MAAlB,GAA2B,CAA5B,CAAjB,CAAgDR,UAAhD,KAA+DK,UAA/D,IACAF,QAAQ,CAACF,QAAT,GAAoBL,oBAAoB,CAAC;AAAEW,EAAAA,cAAF;AAAkBD,EAAAA;AAAlB,CAAD,CAPnC","sourcesContent":["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"],"file":"hasPreviousNextPage.js"}
1
+ {"version":3,"sources":["../../../src/helpers/hasPreviousNextPage.ts"],"names":["getIndexesOnLastPage","hasPreviousPage","cachedEdgesByPage","startIndex","pageNumber","relative","hasNextPage","endIndex","metadata","totalPages","totalResults","resultsPerPage","length"],"mappings":"AACA,OAAOA,oBAAP,MAAiC,wBAAjC;AAcA,OAAO,MAAMC,eAAe,GAAG,CAAC;AAAEC,EAAAA,iBAAF;AAAqBC,EAAAA;AAArB,CAAD,KAC7BD,iBAAiB,CAAC,CAAD,CAAjB,CAAqBE,UAArB,KAAoC,CAApC,IAAyCD,UAAU,CAACE,QAAX,GAAsB,CAD1D;AAGP,OAAO,MAAMC,WAAW,GAAG,CAAC;AAC1BJ,EAAAA,iBAD0B;AAE1BK,EAAAA,QAF0B;AAG1BC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAHgB;AAI1BC,EAAAA;AAJ0B,CAAD,KAMzBT,iBAAiB,CAACA,iBAAiB,CAACU,MAAlB,GAA2B,CAA5B,CAAjB,CAAgDR,UAAhD,KAA+DK,UAA/D,IACAF,QAAQ,CAACF,QAAT,GAAoBL,oBAAoB,CAAC;AAAEW,EAAAA,cAAF;AAAkBD,EAAAA;AAAlB,CAAD,CAPnC","sourcesContent":["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"],"file":"hasPreviousNextPage.mjs"}
@@ -5,4 +5,4 @@ export default (({
5
5
  page
6
6
  }
7
7
  }) => direction === "backward" && page === 1 && index === 0);
8
- //# sourceMappingURL=isCursorFirst.js.map
8
+ //# sourceMappingURL=isCursorFirst.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/isCursorFirst.ts"],"names":["direction","entry","index","page"],"mappings":"AAOA,gBAAe,CAAC;AAAEA,EAAAA,SAAF;AAAaC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT;AAApB,CAAD,KAAmDH,SAAS,KAAK,UAAd,IAA4BG,IAAI,KAAK,CAArC,IAA0CD,KAAK,KAAK,CAAtH","sourcesContent":["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"],"file":"isCursorFirst.js"}
1
+ {"version":3,"sources":["../../../src/helpers/isCursorFirst.ts"],"names":["direction","entry","index","page"],"mappings":"AAOA,gBAAe,CAAC;AAAEA,EAAAA,SAAF;AAAaC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT;AAApB,CAAD,KAAmDH,SAAS,KAAK,UAAd,IAA4BG,IAAI,KAAK,CAArC,IAA0CD,KAAK,KAAK,CAAtH","sourcesContent":["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"],"file":"isCursorFirst.mjs"}
@@ -12,4 +12,4 @@ export default (({
12
12
  resultsPerPage,
13
13
  totalResults
14
14
  }));
15
- //# sourceMappingURL=isCursorLast.js.map
15
+ //# sourceMappingURL=isCursorLast.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/isCursorLast.ts"],"names":["getIndexesOnLastPage","direction","entry","index","page","resultsPerPage","totalPages","totalResults"],"mappings":"AACA,OAAOA,oBAAP,MAAiC,wBAAjC;AAUA,gBAAe,CAAC;AAAEC,EAAAA,SAAF;AAAaC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAApB;AAAqCC,EAAAA,cAArC;AAAqDC,EAAAA,UAArD;AAAiEC,EAAAA;AAAjE,CAAD,KACbN,SAAS,KAAK,SAAd,IAA2BG,IAAI,KAAKE,UAApC,IAAkDH,KAAK,KAAKH,oBAAoB,CAAC;AAAEK,EAAAA,cAAF;AAAkBE,EAAAA;AAAlB,CAAD,CADlF","sourcesContent":["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"],"file":"isCursorLast.js"}
1
+ {"version":3,"sources":["../../../src/helpers/isCursorLast.ts"],"names":["getIndexesOnLastPage","direction","entry","index","page","resultsPerPage","totalPages","totalResults"],"mappings":"AACA,OAAOA,oBAAP,MAAiC,wBAAjC;AAUA,gBAAe,CAAC;AAAEC,EAAAA,SAAF;AAAaC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAApB;AAAqCC,EAAAA,cAArC;AAAqDC,EAAAA,UAArD;AAAiEC,EAAAA;AAAjE,CAAD,KACbN,SAAS,KAAK,SAAd,IAA2BG,IAAI,KAAKE,UAApC,IAAkDH,KAAK,KAAKH,oBAAoB,CAAC;AAAEK,EAAAA,cAAF;AAAkBE,EAAAA;AAAlB,CAAD,CADlF","sourcesContent":["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"],"file":"isCursorLast.mjs"}
@@ -2,4 +2,4 @@ export default (({
2
2
  after,
3
3
  before
4
4
  }) => !!(after || before));
5
- //# sourceMappingURL=isCursorSupplied.js.map
5
+ //# sourceMappingURL=isCursorSupplied.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/isCursorSupplied.ts"],"names":["after","before"],"mappings":"AAEA,gBAAe,CAAC;AAAEA,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAA6D,CAAC,EAAED,KAAK,IAAIC,MAAX,CAA7E","sourcesContent":["import { ConnectionInputOptions, PlainObject } from \"../defs\";\n\nexport default ({ after, before }: PlainObject & ConnectionInputOptions) => !!(after || before);\n"],"file":"isCursorSupplied.js"}
1
+ {"version":3,"sources":["../../../src/helpers/isCursorSupplied.ts"],"names":["after","before"],"mappings":"AAEA,gBAAe,CAAC;AAAEA,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAA6D,CAAC,EAAED,KAAK,IAAIC,MAAX,CAA7E","sourcesContent":["import { ConnectionInputOptions, PlainObject } from \"../defs\";\n\nexport default ({ after, before }: PlainObject & ConnectionInputOptions) => !!(after || before);\n"],"file":"isCursorSupplied.mjs"}
@@ -0,0 +1,2 @@
1
+ export default (page => page === 1);
2
+ //# sourceMappingURL=isFirstPage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/isFirstPage.ts"],"names":["page"],"mappings":"AAAA,gBAAgBA,IAAD,IAAkBA,IAAI,KAAK,CAA1C","sourcesContent":["export default (page: number) => page === 1;\n"],"file":"isFirstPage.js"}
1
+ {"version":3,"sources":["../../../src/helpers/isFirstPage.ts"],"names":["page"],"mappings":"AAAA,gBAAgBA,IAAD,IAAkBA,IAAI,KAAK,CAA1C","sourcesContent":["export default (page: number) => page === 1;\n"],"file":"isFirstPage.mjs"}
@@ -2,4 +2,4 @@ export default (({
2
2
  page,
3
3
  totalPages
4
4
  }) => page === totalPages);
5
- //# sourceMappingURL=isLastPage.js.map
5
+ //# sourceMappingURL=isLastPage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/isLastPage.ts"],"names":["page","totalPages"],"mappings":"AAKA,gBAAe,CAAC;AAAEA,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAAD,KAAkCD,IAAI,KAAKC,UAA1D","sourcesContent":["export type Params = {\n page: number;\n totalPages: number;\n};\n\nexport default ({ page, totalPages }: Params) => page === totalPages;\n"],"file":"isLastPage.js"}
1
+ {"version":3,"sources":["../../../src/helpers/isLastPage.ts"],"names":["page","totalPages"],"mappings":"AAKA,gBAAe,CAAC;AAAEA,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAAD,KAAkCD,IAAI,KAAKC,UAA1D","sourcesContent":["export type Params = {\n page: number;\n totalPages: number;\n};\n\nexport default ({ page, totalPages }: Params) => page === totalPages;\n"],"file":"isLastPage.mjs"}
@@ -2,4 +2,4 @@ export default ((nodes, makeCursor) => nodes.map(node => ({
2
2
  node,
3
3
  cursor: makeCursor(node)
4
4
  })));
5
- //# sourceMappingURL=makeEdges.js.map
5
+ //# sourceMappingURL=makeEdges.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/makeEdges.ts"],"names":["nodes","makeCursor","map","node","cursor"],"mappings":"AAEA,gBAAe,CAACA,KAAD,EAAgBC,UAAhB,KACbD,KAAK,CAACE,GAAN,CAAUC,IAAI,KAAK;AAAEA,EAAAA,IAAF;AAAQC,EAAAA,MAAM,EAAEH,UAAU,CAACE,IAAD;AAA1B,CAAL,CAAd,CADF","sourcesContent":["import { Node } from \"../defs\";\n\nexport default (nodes: Node[], makeCursor: (node: Node) => string) =>\n nodes.map(node => ({ node, cursor: makeCursor(node) }));\n"],"file":"makeEdges.js"}
1
+ {"version":3,"sources":["../../../src/helpers/makeEdges.ts"],"names":["nodes","makeCursor","map","node","cursor"],"mappings":"AAEA,gBAAe,CAACA,KAAD,EAAgBC,UAAhB,KACbD,KAAK,CAACE,GAAN,CAAUC,IAAI,KAAK;AAAEA,EAAAA,IAAF;AAAQC,EAAAA,MAAM,EAAEH,UAAU,CAACE,IAAD;AAA1B,CAAL,CAAd,CADF","sourcesContent":["import { Node } from \"../defs\";\n\nexport default (nodes: Node[], makeCursor: (node: Node) => string) =>\n nodes.map(node => ({ node, cursor: makeCursor(node) }));\n"],"file":"makeEdges.mjs"}
@@ -22,4 +22,4 @@ export default ((args, {
22
22
  page: 1
23
23
  };
24
24
  });
25
- //# sourceMappingURL=makeEntry.js.map
25
+ //# sourceMappingURL=makeEntry.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/makeEntry.ts"],"names":["getDirection","getIndexesOnLastPage","args","metadata","totalPages","totalResults","resultsPerPage","last","index","page"],"mappings":"AACA,OAAOA,YAAP,MAAyB,gBAAzB;AACA,OAAOC,oBAAP,MAAiC,wBAAjC;AAOA,gBAAe,CAACC,IAAD,EAA+B;AAAEC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAZ;AAA0CC,EAAAA;AAA1C,CAA/B,KAAuG;AACpH,MAAIN,YAAY,CAACE,IAAI,CAACK,IAAN,CAAZ,KAA4B,UAAhC,EAA4C;AAC1C,WAAO;AAAEC,MAAAA,KAAK,EAAEP,oBAAoB,CAAC;AAAEK,QAAAA,cAAF;AAAkBD,QAAAA;AAAlB,OAAD,CAApB,GAAyD,CAAlE;AAAqEI,MAAAA,IAAI,EAAEL;AAA3E,KAAP;AACD;;AAED,SAAO;AAAEI,IAAAA,KAAK,EAAE,CAAC,CAAV;AAAaC,IAAAA,IAAI,EAAE;AAAnB,GAAP;AACD,CAND","sourcesContent":["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"],"file":"makeEntry.js"}
1
+ {"version":3,"sources":["../../../src/helpers/makeEntry.ts"],"names":["getDirection","getIndexesOnLastPage","args","metadata","totalPages","totalResults","resultsPerPage","last","index","page"],"mappings":"AACA,OAAOA,YAAP,MAAyB,gBAAzB;AACA,OAAOC,oBAAP,MAAiC,wBAAjC;AAOA,gBAAe,CAACC,IAAD,EAA+B;AAAEC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAZ;AAA0CC,EAAAA;AAA1C,CAA/B,KAAuG;AACpH,MAAIN,YAAY,CAACE,IAAI,CAACK,IAAN,CAAZ,KAA4B,UAAhC,EAA4C;AAC1C,WAAO;AAAEC,MAAAA,KAAK,EAAEP,oBAAoB,CAAC;AAAEK,QAAAA,cAAF;AAAkBD,QAAAA;AAAlB,OAAD,CAApB,GAAyD,CAAlE;AAAqEI,MAAAA,IAAI,EAAEL;AAA3E,KAAP;AACD;;AAED,SAAO;AAAEI,IAAAA,KAAK,EAAE,CAAC,CAAV;AAAaC,IAAAA,IAAI,EAAE;AAAnB,GAAP;AACD,CAND","sourcesContent":["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"],"file":"makeEntry.mjs"}
@@ -9,4 +9,4 @@ export default ((cachedEdges, missingCachedEdges) => cachedEdges.reduce((mergedC
9
9
 
10
10
  return [...mergedCachedEdges, cachedEdge];
11
11
  }, []));
12
- //# sourceMappingURL=mergeCachedEdges.js.map
12
+ //# sourceMappingURL=mergeCachedEdges.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/mergeCachedEdges.ts"],"names":["cachedEdges","missingCachedEdges","reduce","mergedCachedEdges","cachedEdge","edges","length","missingCachedEdge","find","missing","pageNumber"],"mappings":"AAEA,gBAAe,CAACA,WAAD,EAA6BC,kBAA7B,KACbD,WAAW,CAACE,MAAZ,CAAmB,CAACC,iBAAD,EAAoBC,UAApB,KAAmC;AACpD,MAAI,CAACA,UAAU,CAACC,KAAX,CAAiBC,MAAtB,EAA8B;AAC5B,UAAMC,iBAAiB,GAAGN,kBAAkB,CAACO,IAAnB,CAAwBC,OAAO,IAAIA,OAAO,CAACC,UAAR,KAAuBN,UAAU,CAACM,UAArE,CAA1B;;AAEA,QAAIH,iBAAJ,EAAuB;AACrB,aAAO,CAAC,GAAGJ,iBAAJ,EAAuBI,iBAAvB,CAAP;AACD;AACF;;AAED,SAAO,CAAC,GAAGJ,iBAAJ,EAAuBC,UAAvB,CAAP;AACD,CAVD,EAUG,EAVH,CADF","sourcesContent":["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"],"file":"mergeCachedEdges.js"}
1
+ {"version":3,"sources":["../../../src/helpers/mergeCachedEdges.ts"],"names":["cachedEdges","missingCachedEdges","reduce","mergedCachedEdges","cachedEdge","edges","length","missingCachedEdge","find","missing","pageNumber"],"mappings":"AAEA,gBAAe,CAACA,WAAD,EAA6BC,kBAA7B,KACbD,WAAW,CAACE,MAAZ,CAAmB,CAACC,iBAAD,EAAoBC,UAApB,KAAmC;AACpD,MAAI,CAACA,UAAU,CAACC,KAAX,CAAiBC,MAAtB,EAA8B;AAC5B,UAAMC,iBAAiB,GAAGN,kBAAkB,CAACO,IAAnB,CAAwBC,OAAO,IAAIA,OAAO,CAACC,UAAR,KAAuBN,UAAU,CAACM,UAArE,CAA1B;;AAEA,QAAIH,iBAAJ,EAAuB;AACrB,aAAO,CAAC,GAAGJ,iBAAJ,EAAuBI,iBAAvB,CAAP;AACD;AACF;;AAED,SAAO,CAAC,GAAGJ,iBAAJ,EAAuBC,UAAvB,CAAP;AACD,CAVD,EAUG,EAVH,CADF","sourcesContent":["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"],"file":"mergeCachedEdges.mjs"}
@@ -1,4 +1,4 @@
1
1
  import _pickBy from "lodash/pickBy";
2
2
  const connectionInputOptions = ["after", "before", "first", "last"];
3
3
  export default (args => _pickBy(args, (_value, key) => !connectionInputOptions.includes(key)));
4
- //# sourceMappingURL=removeConnectionInputOptions.js.map
4
+ //# sourceMappingURL=removeConnectionInputOptions.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/removeConnectionInputOptions.ts"],"names":["connectionInputOptions","args","_value","key","includes"],"mappings":";AAEA,MAAMA,sBAAsB,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,EAA6B,MAA7B,CAA/B;AAEA,gBAAkCC,IAAnB,IAA+B,QAAOA,IAAP,EAAa,CAACC,MAAD,EAASC,GAAT,KAAiB,CAACH,sBAAsB,CAACI,QAAvB,CAAgCD,GAAhC,CAA/B,CAA9C","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"],"file":"removeConnectionInputOptions.js"}
1
+ {"version":3,"sources":["../../../src/helpers/removeConnectionInputOptions.ts"],"names":["connectionInputOptions","args","_value","key","includes"],"mappings":";AAEA,MAAMA,sBAAsB,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,OAApB,EAA6B,MAA7B,CAA/B;AAEA,gBAAkCC,IAAnB,IAA+B,QAAOA,IAAP,EAAa,CAACC,MAAD,EAASC,GAAT,KAAiB,CAACH,sBAAsB,CAACI,QAAvB,CAAgCD,GAAhC,CAA/B,CAA9C","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"],"file":"removeConnectionInputOptions.mjs"}
@@ -51,4 +51,4 @@ const requestAndCachePages = async (pages, {
51
51
  };
52
52
 
53
53
  export default requestAndCachePages;
54
- //# sourceMappingURL=requestAndCachePages.js.map
54
+ //# sourceMappingURL=requestAndCachePages.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/requestAndCachePages.ts"],"names":["cacheCursors","makeEdges","requestAndCachePages","pages","cursorCache","getters","groupCursor","makeIDCursor","resourceResolver","errors","cachedEdges","Promise","all","map","page","data","pageResultData","pageResultErrors","headers","pageResultHeaders","length","edges","nodes","node","id","group","totalPages","totalResults","pageNumber","push"],"mappings":";AAEA,OAAOA,YAAP,MAAyB,gBAAzB;AACA,OAAOC,SAAP,MAAsB,aAAtB;;AAUA,MAAMC,oBAAoB,GAAG,OAC3BC,KAD2B,EAE3B;AAAEC,EAAAA,WAAF;AAAeC,EAAAA,OAAf;AAAwBC,EAAAA,WAAxB;AAAqCC,EAAAA,YAArC;AAAmDC,EAAAA;AAAnD,CAF2B,KAGxB;AACH,QAAMC,MAAe,GAAG,EAAxB;AAEA,QAAMC,WAAW,GAAG,MAAMC,OAAO,CAACC,GAAR,CACxBT,KAAK,CAACU,GAAN,CAAU,MAAMC,IAAN,IAAc;AACtB,UAAM;AAAEC,MAAAA,IAAI,EAAEC,cAAR;AAAwBP,MAAAA,MAAM,EAAEQ,gBAAhC;AAAkDC,MAAAA,OAAO,EAAEC;AAA3D,QAAiF,MAAMX,gBAAgB,CAAC;AAC5GM,MAAAA;AAD4G,KAAD,CAA7G;;AAIA,QAAIE,cAAc,IAAI,EAACC,gBAAD,aAACA,gBAAD,eAACA,gBAAgB,CAAEG,MAAnB,CAAtB,EAAiD;AAC/C,YAAMC,KAAK,GAAGpB,SAAS,CAACI,OAAO,CAACiB,KAAR,CAAcN,cAAd,CAAD,EAAgCO,IAAI,IAAIhB,YAAY,CAACgB,IAAI,CAACC,EAAN,CAApD,CAAvB;AAEA,YAAMxB,YAAY,CAACI,WAAD,EAAc;AAC9BiB,QAAAA,KAD8B;AAE9BI,QAAAA,KAAK,EAAEnB,WAFuB;AAG9BY,QAAAA,OAAO,EAAEC,iBAHqB;AAI9BL,QAAAA,IAJ8B;AAK9BY,QAAAA,UAAU,EAAErB,OAAO,CAACqB,UAAR,CAAmBV,cAAnB,CALkB;AAM9BW,QAAAA,YAAY,EAAEtB,OAAO,CAACsB,YAAR,CAAqBX,cAArB;AANgB,OAAd,CAAlB;AASA,aAAO;AAAEK,QAAAA,KAAF;AAASO,QAAAA,UAAU,EAAEd;AAArB,OAAP;AACD;;AAED,QAAIG,gBAAJ,aAAIA,gBAAJ,eAAIA,gBAAgB,CAAEG,MAAtB,EAA8B;AAC5BX,MAAAA,MAAM,CAACoB,IAAP,CAAY,GAAGZ,gBAAf;AACD;;AAED,WAAO;AAAEI,MAAAA,KAAK,EAAE,EAAT;AAAaO,MAAAA,UAAU,EAAEd;AAAzB,KAAP;AACD,GAzBD,CADwB,CAA1B;AA6BA,SAAO;AAAEJ,IAAAA,WAAF;AAAeD,IAAAA;AAAf,GAAP;AACD,CApCD;;AAsCA,eAAeP,oBAAf","sourcesContent":["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"],"file":"requestAndCachePages.js"}
1
+ {"version":3,"sources":["../../../src/helpers/requestAndCachePages.ts"],"names":["cacheCursors","makeEdges","requestAndCachePages","pages","cursorCache","getters","groupCursor","makeIDCursor","resourceResolver","errors","cachedEdges","Promise","all","map","page","data","pageResultData","pageResultErrors","headers","pageResultHeaders","length","edges","nodes","node","id","group","totalPages","totalResults","pageNumber","push"],"mappings":";AAEA,OAAOA,YAAP,MAAyB,gBAAzB;AACA,OAAOC,SAAP,MAAsB,aAAtB;;AAUA,MAAMC,oBAAoB,GAAG,OAC3BC,KAD2B,EAE3B;AAAEC,EAAAA,WAAF;AAAeC,EAAAA,OAAf;AAAwBC,EAAAA,WAAxB;AAAqCC,EAAAA,YAArC;AAAmDC,EAAAA;AAAnD,CAF2B,KAGxB;AACH,QAAMC,MAAe,GAAG,EAAxB;AAEA,QAAMC,WAAW,GAAG,MAAMC,OAAO,CAACC,GAAR,CACxBT,KAAK,CAACU,GAAN,CAAU,MAAMC,IAAN,IAAc;AACtB,UAAM;AAAEC,MAAAA,IAAI,EAAEC,cAAR;AAAwBP,MAAAA,MAAM,EAAEQ,gBAAhC;AAAkDC,MAAAA,OAAO,EAAEC;AAA3D,QAAiF,MAAMX,gBAAgB,CAAC;AAC5GM,MAAAA;AAD4G,KAAD,CAA7G;;AAIA,QAAIE,cAAc,IAAI,EAACC,gBAAD,aAACA,gBAAD,eAACA,gBAAgB,CAAEG,MAAnB,CAAtB,EAAiD;AAC/C,YAAMC,KAAK,GAAGpB,SAAS,CAACI,OAAO,CAACiB,KAAR,CAAcN,cAAd,CAAD,EAAgCO,IAAI,IAAIhB,YAAY,CAACgB,IAAI,CAACC,EAAN,CAApD,CAAvB;AAEA,YAAMxB,YAAY,CAACI,WAAD,EAAc;AAC9BiB,QAAAA,KAD8B;AAE9BI,QAAAA,KAAK,EAAEnB,WAFuB;AAG9BY,QAAAA,OAAO,EAAEC,iBAHqB;AAI9BL,QAAAA,IAJ8B;AAK9BY,QAAAA,UAAU,EAAErB,OAAO,CAACqB,UAAR,CAAmBV,cAAnB,CALkB;AAM9BW,QAAAA,YAAY,EAAEtB,OAAO,CAACsB,YAAR,CAAqBX,cAArB;AANgB,OAAd,CAAlB;AASA,aAAO;AAAEK,QAAAA,KAAF;AAASO,QAAAA,UAAU,EAAEd;AAArB,OAAP;AACD;;AAED,QAAIG,gBAAJ,aAAIA,gBAAJ,eAAIA,gBAAgB,CAAEG,MAAtB,EAA8B;AAC5BX,MAAAA,MAAM,CAACoB,IAAP,CAAY,GAAGZ,gBAAf;AACD;;AAED,WAAO;AAAEI,MAAAA,KAAK,EAAE,EAAT;AAAaO,MAAAA,UAAU,EAAEd;AAAzB,KAAP;AACD,GAzBD,CADwB,CAA1B;AA6BA,SAAO;AAAEJ,IAAAA,WAAF;AAAeD,IAAAA;AAAf,GAAP;AACD,CApCD;;AAsCA,eAAeP,oBAAf","sourcesContent":["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"],"file":"requestAndCachePages.mjs"}
@@ -54,4 +54,4 @@ export default (async ({
54
54
  pageResults
55
55
  };
56
56
  });
57
- //# sourceMappingURL=requestOutstandingPages.js.map
57
+ //# sourceMappingURL=requestOutstandingPages.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/requestOutstandingPages.ts"],"names":["count","direction","page","results","resultsPerPage","totalPages","totalResults","requestCallback","resultsOnLastPage","outstanding","toRequest","Math","ceil","promises","i","push","nextPage","missingPages","pageResults","Promise","allSettled","reduce","pages","status","rest","value"],"mappings":";AAYA,gBAAe,OACb;AAAEA,EAAAA,KAAF;AAASC,EAAAA,SAAT;AAAoBC,EAAAA,IAApB;AAA0BC,EAAAA,OAA1B;AAAmCC,EAAAA,cAAnC;AAAmDC,EAAAA,UAAnD;AAA+DC,EAAAA;AAA/D,CADa,EAEbC,eAFa,KAGV;AACH,QAAMC,iBAAiB,GAAGF,YAAY,GAAGD,UAAzC;AACA,QAAMI,WAAW,GAAGT,KAAK,GAAGG,OAA5B;AACA,MAAIO,SAAJ;;AAEA,MAAIT,SAAS,KAAK,SAAlB,EAA6B;AAC3BS,IAAAA,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUH,WAAW,GAAGL,cAAxB,CAAZ;AACD,GAFD,MAEO;AACL,QAAIF,IAAI,KAAKG,UAAb,EAAyB;AACvB,UAAIL,KAAK,IAAIQ,iBAAb,EAAgC;AAC9BE,QAAAA,SAAS,GAAG,CAAZ;AACD,OAFD,MAEO;AACLA,QAAAA,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUZ,KAAK,GAAGQ,iBAAiB,GAAGJ,cAAtC,IAAwD,CAApE;AACD;AACF,KAND,MAMO;AACLM,MAAAA,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUH,WAAW,GAAGL,cAAxB,CAAZ;AACD;AACF;;AAED,QAAMS,QAAQ,GAAG,EAAjB;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,SAApB,EAA+BI,CAAC,IAAI,CAApC,EAAuC;AACrCD,IAAAA,QAAQ,CAACE,IAAT,CAAcR,eAAe,CAAC;AAAES,MAAAA,QAAQ,EAAEf,SAAS,KAAK,SAAd,GAA0BC,IAAI,GAAGY,CAAjC,GAAqCZ,IAAI,GAAGY;AAAxD,KAAD,CAA7B;AACD;;AAED,QAAMG,YAAsB,GAAG,EAA/B;AAEA,QAAMC,WAAW,GAAG,CAAC,MAAMC,OAAO,CAACC,UAAR,CAAmBP,QAAnB,CAAP,EAAqCQ,MAArC,CAA4C,CAACC,KAAD,EAAQ;AAAEC,IAAAA,MAAF;AAAU,OAAGC;AAAb,GAAR,EAA6BV,CAA7B,KAAmC;AACjG,QAAIS,MAAM,KAAK,WAAf,EAA4B;AAC1BD,MAAAA,KAAK,CAACP,IAAN,CAAYS,IAAD,CAAyBC,KAApC;AACD;;AAED,QAAIF,MAAM,KAAK,UAAf,EAA2B;AACzBN,MAAAA,YAAY,CAACF,IAAb,CAAkBd,SAAS,KAAK,SAAd,GAA0BC,IAAI,GAAGY,CAAjC,GAAqCZ,IAAI,GAAGY,CAA9D;AACD;;AAED,WAAOQ,KAAP;AACD,GAVmB,EAUjB,EAViB,CAApB;AAYA,SAAO;AACLL,IAAAA,YADK;AAELC,IAAAA;AAFK,GAAP;AAID,CA9CD","sourcesContent":["export type RequestMissingPagesParams = {\n count: number;\n direction: \"forward\" | \"backward\";\n page: number;\n results: number;\n resultsPerPage: number;\n totalPages: number;\n totalResults: number;\n};\n\nexport type RequestMissingPagesCallback = (params: { nextPage: number }) => Promise<any>;\n\nexport default async (\n { count, direction, page, results, resultsPerPage, totalPages, totalResults }: RequestMissingPagesParams,\n requestCallback: RequestMissingPagesCallback,\n) => {\n const resultsOnLastPage = totalResults % totalPages;\n const outstanding = count - results;\n let toRequest: number;\n\n if (direction === \"forward\") {\n toRequest = Math.ceil(outstanding / resultsPerPage);\n } else {\n if (page === totalPages) {\n if (count <= resultsOnLastPage) {\n toRequest = 1;\n } else {\n toRequest = Math.ceil(count - resultsOnLastPage / resultsPerPage) + 1;\n }\n } else {\n toRequest = Math.ceil(outstanding / resultsPerPage);\n }\n }\n\n const promises = [];\n\n for (let i = 0; i < toRequest; i += 1) {\n promises.push(requestCallback({ nextPage: direction === \"forward\" ? page + i : page - i }));\n }\n\n const missingPages: number[] = [];\n\n const pageResults = (await Promise.allSettled(promises)).reduce((pages, { status, ...rest }, i) => {\n if (status === \"fulfilled\") {\n pages.push((rest as { value: any }).value);\n }\n\n if (status === \"rejected\") {\n missingPages.push(direction === \"forward\" ? page + i : page - i);\n }\n\n return pages;\n }, [] as any[]);\n\n return {\n missingPages,\n pageResults,\n };\n};\n"],"file":"requestOutstandingPages.js"}
1
+ {"version":3,"sources":["../../../src/helpers/requestOutstandingPages.ts"],"names":["count","direction","page","results","resultsPerPage","totalPages","totalResults","requestCallback","resultsOnLastPage","outstanding","toRequest","Math","ceil","promises","i","push","nextPage","missingPages","pageResults","Promise","allSettled","reduce","pages","status","rest","value"],"mappings":";AAYA,gBAAe,OACb;AAAEA,EAAAA,KAAF;AAASC,EAAAA,SAAT;AAAoBC,EAAAA,IAApB;AAA0BC,EAAAA,OAA1B;AAAmCC,EAAAA,cAAnC;AAAmDC,EAAAA,UAAnD;AAA+DC,EAAAA;AAA/D,CADa,EAEbC,eAFa,KAGV;AACH,QAAMC,iBAAiB,GAAGF,YAAY,GAAGD,UAAzC;AACA,QAAMI,WAAW,GAAGT,KAAK,GAAGG,OAA5B;AACA,MAAIO,SAAJ;;AAEA,MAAIT,SAAS,KAAK,SAAlB,EAA6B;AAC3BS,IAAAA,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUH,WAAW,GAAGL,cAAxB,CAAZ;AACD,GAFD,MAEO;AACL,QAAIF,IAAI,KAAKG,UAAb,EAAyB;AACvB,UAAIL,KAAK,IAAIQ,iBAAb,EAAgC;AAC9BE,QAAAA,SAAS,GAAG,CAAZ;AACD,OAFD,MAEO;AACLA,QAAAA,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUZ,KAAK,GAAGQ,iBAAiB,GAAGJ,cAAtC,IAAwD,CAApE;AACD;AACF,KAND,MAMO;AACLM,MAAAA,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUH,WAAW,GAAGL,cAAxB,CAAZ;AACD;AACF;;AAED,QAAMS,QAAQ,GAAG,EAAjB;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,SAApB,EAA+BI,CAAC,IAAI,CAApC,EAAuC;AACrCD,IAAAA,QAAQ,CAACE,IAAT,CAAcR,eAAe,CAAC;AAAES,MAAAA,QAAQ,EAAEf,SAAS,KAAK,SAAd,GAA0BC,IAAI,GAAGY,CAAjC,GAAqCZ,IAAI,GAAGY;AAAxD,KAAD,CAA7B;AACD;;AAED,QAAMG,YAAsB,GAAG,EAA/B;AAEA,QAAMC,WAAW,GAAG,CAAC,MAAMC,OAAO,CAACC,UAAR,CAAmBP,QAAnB,CAAP,EAAqCQ,MAArC,CAA4C,CAACC,KAAD,EAAQ;AAAEC,IAAAA,MAAF;AAAU,OAAGC;AAAb,GAAR,EAA6BV,CAA7B,KAAmC;AACjG,QAAIS,MAAM,KAAK,WAAf,EAA4B;AAC1BD,MAAAA,KAAK,CAACP,IAAN,CAAYS,IAAD,CAAyBC,KAApC;AACD;;AAED,QAAIF,MAAM,KAAK,UAAf,EAA2B;AACzBN,MAAAA,YAAY,CAACF,IAAb,CAAkBd,SAAS,KAAK,SAAd,GAA0BC,IAAI,GAAGY,CAAjC,GAAqCZ,IAAI,GAAGY,CAA9D;AACD;;AAED,WAAOQ,KAAP;AACD,GAVmB,EAUjB,EAViB,CAApB;AAYA,SAAO;AACLL,IAAAA,YADK;AAELC,IAAAA;AAFK,GAAP;AAID,CA9CD","sourcesContent":["export type RequestMissingPagesParams = {\n count: number;\n direction: \"forward\" | \"backward\";\n page: number;\n results: number;\n resultsPerPage: number;\n totalPages: number;\n totalResults: number;\n};\n\nexport type RequestMissingPagesCallback = (params: { nextPage: number }) => Promise<any>;\n\nexport default async (\n { count, direction, page, results, resultsPerPage, totalPages, totalResults }: RequestMissingPagesParams,\n requestCallback: RequestMissingPagesCallback,\n) => {\n const resultsOnLastPage = totalResults % totalPages;\n const outstanding = count - results;\n let toRequest: number;\n\n if (direction === \"forward\") {\n toRequest = Math.ceil(outstanding / resultsPerPage);\n } else {\n if (page === totalPages) {\n if (count <= resultsOnLastPage) {\n toRequest = 1;\n } else {\n toRequest = Math.ceil(count - resultsOnLastPage / resultsPerPage) + 1;\n }\n } else {\n toRequest = Math.ceil(outstanding / resultsPerPage);\n }\n }\n\n const promises = [];\n\n for (let i = 0; i < toRequest; i += 1) {\n promises.push(requestCallback({ nextPage: direction === \"forward\" ? page + i : page - i }));\n }\n\n const missingPages: number[] = [];\n\n const pageResults = (await Promise.allSettled(promises)).reduce((pages, { status, ...rest }, i) => {\n if (status === \"fulfilled\") {\n pages.push((rest as { value: any }).value);\n }\n\n if (status === \"rejected\") {\n missingPages.push(direction === \"forward\" ? page + i : page - i);\n }\n\n return pages;\n }, [] as any[]);\n\n return {\n missingPages,\n pageResults,\n };\n};\n"],"file":"requestOutstandingPages.mjs"}
@@ -75,4 +75,4 @@ const resolveConnection = async (args, {
75
75
  };
76
76
 
77
77
  export default resolveConnection;
78
- //# sourceMappingURL=resolveConnection.js.map
78
+ //# sourceMappingURL=resolveConnection.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/resolveConnection.ts"],"names":["extractEdges","extractNodes","getInRangeCachedEdges","getEndCursor","getStartCursor","mergeCachedEdges","requestAndCachePages","retrieveCachedConnection","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,OAAOA,YAAP,MAAyB,gBAAzB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,qBAAP,MAAkC,yBAAlC;AACA,SAASC,YAAT,EAAuBC,cAAvB,QAA6C,yBAA7C;AACA,OAAOC,gBAAP,MAA6B,oBAA7B;AACA,OAAOC,oBAAP,MAAiC,wBAAjC;AACA,OAAOC,wBAAP,MAAqC,4BAArC;;AAWA,MAAMC,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,MAAMd,wBAAwB,CAACE,IAAD,EAAO;AACvCC,IAAAA,WADuC;AAEvCE,IAAAA,WAFuC;AAGvCG,IAAAA;AAHuC,GAAP,CAPlC;;AAaA,MAAI,CAACK,YAAY,CAACE,MAAlB,EAA0B;AACxB,UAAMC,KAAK,GAAGvB,YAAY,CAACgB,WAAD,CAA1B;AAEA,WAAO;AACLO,MAAAA,KADK;AAELC,MAAAA,MAAM,EAAE,EAFH;AAGLC,MAAAA,KAAK,EAAExB,YAAY,CAACsB,KAAD,CAHd;AAILG,MAAAA,QAAQ,EAAE;AACRC,QAAAA,SAAS,EAAExB,YAAY,CAACoB,KAAD,CADf;AAERN,QAAAA,WAFQ;AAGRC,QAAAA,eAHQ;AAIRU,QAAAA,WAAW,EAAExB,cAAc,CAACmB,KAAD;AAJnB,OAJL;AAULM,MAAAA,UAAU,EAAER;AAVP,KAAP;AAYD;;AAED,QAAM;AAAEL,IAAAA,WAAW,EAAEc,kBAAf;AAAmCN,IAAAA;AAAnC,MAA8C,MAAMlB,oBAAoB,CAAyBc,YAAzB,EAAuC;AACnHV,IAAAA,WADmH;AAEnHC,IAAAA,OAFmH;AAGnHC,IAAAA,WAHmH;AAInHC,IAAAA,YAJmH;AAKnHC,IAAAA;AALmH,GAAvC,CAA9E;AAQA,QAAMiB,iBAAiB,GAAG7B,qBAAqB,CAACG,gBAAgB,CAACW,WAAD,EAAcc,kBAAd,CAAjB,EAAoD;AACjGE,IAAAA,QAAQ,EAAEb,OAAO,CAACc,GAD+E;AAEjGlB,IAAAA,cAFiG;AAGjGmB,IAAAA,UAAU,EAAEf,OAAO,CAACgB;AAH6E,GAApD,CAA/C;AAMA,QAAMZ,KAAK,GAAGvB,YAAY,CAAC+B,iBAAD,CAA1B;AAEA,SAAO;AACLR,IAAAA,KADK;AAELC,IAAAA,MAFK;AAGLC,IAAAA,KAAK,EAAExB,YAAY,CAACsB,KAAD,CAHd;AAILG,IAAAA,QAAQ,EAAE;AACRC,MAAAA,SAAS,EAAExB,YAAY,CAACoB,KAAD,CADf;AAERN,MAAAA,WAFQ;AAGRC,MAAAA,eAHQ;AAIRU,MAAAA,WAAW,EAAExB,cAAc,CAACmB,KAAD;AAJnB,KAJL;AAULM,IAAAA,UAAU,EAAER;AAVP,GAAP;AAYD,CArED;;AAuEA,eAAeb,iBAAf","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
+ {"version":3,"sources":["../../../src/helpers/resolveConnection.ts"],"names":["extractEdges","extractNodes","getInRangeCachedEdges","getEndCursor","getStartCursor","mergeCachedEdges","requestAndCachePages","retrieveCachedConnection","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,OAAOA,YAAP,MAAyB,gBAAzB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,qBAAP,MAAkC,yBAAlC;AACA,SAASC,YAAT,EAAuBC,cAAvB,QAA6C,yBAA7C;AACA,OAAOC,gBAAP,MAA6B,oBAA7B;AACA,OAAOC,oBAAP,MAAiC,wBAAjC;AACA,OAAOC,wBAAP,MAAqC,4BAArC;;AAWA,MAAMC,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,MAAMd,wBAAwB,CAACE,IAAD,EAAO;AACvCC,IAAAA,WADuC;AAEvCE,IAAAA,WAFuC;AAGvCG,IAAAA;AAHuC,GAAP,CAPlC;;AAaA,MAAI,CAACK,YAAY,CAACE,MAAlB,EAA0B;AACxB,UAAMC,KAAK,GAAGvB,YAAY,CAACgB,WAAD,CAA1B;AAEA,WAAO;AACLO,MAAAA,KADK;AAELC,MAAAA,MAAM,EAAE,EAFH;AAGLC,MAAAA,KAAK,EAAExB,YAAY,CAACsB,KAAD,CAHd;AAILG,MAAAA,QAAQ,EAAE;AACRC,QAAAA,SAAS,EAAExB,YAAY,CAACoB,KAAD,CADf;AAERN,QAAAA,WAFQ;AAGRC,QAAAA,eAHQ;AAIRU,QAAAA,WAAW,EAAExB,cAAc,CAACmB,KAAD;AAJnB,OAJL;AAULM,MAAAA,UAAU,EAAER;AAVP,KAAP;AAYD;;AAED,QAAM;AAAEL,IAAAA,WAAW,EAAEc,kBAAf;AAAmCN,IAAAA;AAAnC,MAA8C,MAAMlB,oBAAoB,CAAyBc,YAAzB,EAAuC;AACnHV,IAAAA,WADmH;AAEnHC,IAAAA,OAFmH;AAGnHC,IAAAA,WAHmH;AAInHC,IAAAA,YAJmH;AAKnHC,IAAAA;AALmH,GAAvC,CAA9E;AAQA,QAAMiB,iBAAiB,GAAG7B,qBAAqB,CAACG,gBAAgB,CAACW,WAAD,EAAcc,kBAAd,CAAjB,EAAoD;AACjGE,IAAAA,QAAQ,EAAEb,OAAO,CAACc,GAD+E;AAEjGlB,IAAAA,cAFiG;AAGjGmB,IAAAA,UAAU,EAAEf,OAAO,CAACgB;AAH6E,GAApD,CAA/C;AAMA,QAAMZ,KAAK,GAAGvB,YAAY,CAAC+B,iBAAD,CAA1B;AAEA,SAAO;AACLR,IAAAA,KADK;AAELC,IAAAA,MAFK;AAGLC,IAAAA,KAAK,EAAExB,YAAY,CAACsB,KAAD,CAHd;AAILG,IAAAA,QAAQ,EAAE;AACRC,MAAAA,SAAS,EAAExB,YAAY,CAACoB,KAAD,CADf;AAERN,MAAAA,WAFQ;AAGRC,MAAAA,eAHQ;AAIRU,MAAAA,WAAW,EAAExB,cAAc,CAACmB,KAAD;AAJnB,KAJL;AAULM,IAAAA,UAAU,EAAER;AAVP,GAAP;AAYD,CArED;;AAuEA,eAAeb,iBAAf","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.mjs"}
@@ -67,4 +67,4 @@ export default (async (args, {
67
67
  totalResults: metadata.totalResults
68
68
  };
69
69
  });
70
- //# sourceMappingURL=retrieveCachedConnection.js.map
70
+ //# sourceMappingURL=retrieveCachedConnection.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/retrieveCachedConnection.ts"],"names":["getCursor","getInRangeCachedEdges","getPageNumbersToRequest","getPagesMissingFromCache","getEndIndex","getStartIndex","hasNextPage","hasPreviousPage","makeEntry","retrieveCachedEdgesByPage","args","cursorCache","groupCursor","resultsPerPage","metadata","get","cursor","entry","startIndex","endIndex","promises","pageNumbersToRequest","forEach","pageNumber","push","cachedEdgesByPage","Promise","all","missingPages","cachedEdges","length","indexes","end","start","totalResults"],"mappings":";AAEA,OAAOA,SAAP,MAAsB,aAAtB;AACA,OAAOC,qBAAP,MAAkC,yBAAlC;AACA,OAAOC,uBAAP,MAAoC,2BAApC;AACA,OAAOC,wBAAP,MAAqC,4BAArC;AACA,SAASC,WAAT,EAAsBC,aAAtB,QAA2C,yBAA3C;AACA,SAASC,WAAT,EAAsBC,eAAtB,QAA6C,uBAA7C;AACA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,yBAAP,MAAsC,6BAAtC;AAQA,gBAAe,OAAOC,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,GAAGhB,SAAS,CAACU,IAAD,CAAxB;AACA,QAAMO,KAAK,GAAGD,MAAM,GAAG,MAAML,WAAW,CAACI,GAAZ,CAAgBC,MAAhB,CAAT,GAAmCR,SAAS,CAACE,IAAD,EAAO;AAAEI,IAAAA,QAAF;AAAYD,IAAAA;AAAZ,GAAP,CAAhE;AACA,QAAMK,UAAU,GAAGb,aAAa,CAACK,IAAD,EAAO;AAAEO,IAAAA,KAAF;AAASJ,IAAAA;AAAT,GAAP,CAAhC;AACA,QAAMM,QAAQ,GAAGf,WAAW,CAACM,IAAD,EAAO;AAAEO,IAAAA,KAAF;AAASH,IAAAA,QAAT;AAAmBD,IAAAA;AAAnB,GAAP,CAA5B;AACA,QAAMO,QAAgC,GAAG,EAAzC;AACA,QAAMC,oBAAoB,GAAGnB,uBAAuB,CAACQ,IAAD,EAAO;AAAES,IAAAA,QAAF;AAAYF,IAAAA,KAAZ;AAAmBH,IAAAA,QAAnB;AAA6BD,IAAAA,cAA7B;AAA6CK,IAAAA;AAA7C,GAAP,CAApD;AAEAG,EAAAA,oBAAoB,CAACC,OAArB,CAA6BC,UAAU,IAAI;AACzCH,IAAAA,QAAQ,CAACI,IAAT,CAAcf,yBAAyB,CAACE,WAAD,EAAc;AAAEC,MAAAA,WAAF;AAAeW,MAAAA;AAAf,KAAd,CAAvC;AACD,GAFD;AAIA,QAAME,iBAAiB,GAAG,MAAMC,OAAO,CAACC,GAAR,CAAYP,QAAZ,CAAhC;AACA,QAAMQ,YAAY,GAAGzB,wBAAwB,CAACsB,iBAAD,CAA7C;AAEA,SAAO;AACLI,IAAAA,WAAW,EAAE,CAACD,YAAY,CAACE,MAAd,GACT7B,qBAAqB,CAACwB,iBAAD,EAAoB;AAAEN,MAAAA,QAAF;AAAYN,MAAAA,cAAZ;AAA4BK,MAAAA;AAA5B,KAApB,CADZ,GAETO,iBAHC;AAILnB,IAAAA,WAAW,EAAEA,WAAW,CAAC;AACvBmB,MAAAA,iBADuB;AAEvBN,MAAAA,QAFuB;AAGvBL,MAAAA,QAHuB;AAIvBD,MAAAA;AAJuB,KAAD,CAJnB;AAULN,IAAAA,eAAe,EAAEA,eAAe,CAAC;AAAEkB,MAAAA,iBAAF;AAAqBP,MAAAA;AAArB,KAAD,CAV3B;AAWLa,IAAAA,OAAO,EAAE;AAAEC,MAAAA,GAAG,EAAEb,QAAP;AAAiBc,MAAAA,KAAK,EAAEf;AAAxB,KAXJ;AAYLU,IAAAA,YAZK;AAaLM,IAAAA,YAAY,EAAEpB,QAAQ,CAACoB;AAblB,GAAP;AAeD,CA/BD","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
+ {"version":3,"sources":["../../../src/helpers/retrieveCachedConnection.ts"],"names":["getCursor","getInRangeCachedEdges","getPageNumbersToRequest","getPagesMissingFromCache","getEndIndex","getStartIndex","hasNextPage","hasPreviousPage","makeEntry","retrieveCachedEdgesByPage","args","cursorCache","groupCursor","resultsPerPage","metadata","get","cursor","entry","startIndex","endIndex","promises","pageNumbersToRequest","forEach","pageNumber","push","cachedEdgesByPage","Promise","all","missingPages","cachedEdges","length","indexes","end","start","totalResults"],"mappings":";AAEA,OAAOA,SAAP,MAAsB,aAAtB;AACA,OAAOC,qBAAP,MAAkC,yBAAlC;AACA,OAAOC,uBAAP,MAAoC,2BAApC;AACA,OAAOC,wBAAP,MAAqC,4BAArC;AACA,SAASC,WAAT,EAAsBC,aAAtB,QAA2C,yBAA3C;AACA,SAASC,WAAT,EAAsBC,eAAtB,QAA6C,uBAA7C;AACA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,yBAAP,MAAsC,6BAAtC;AAQA,gBAAe,OAAOC,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,GAAGhB,SAAS,CAACU,IAAD,CAAxB;AACA,QAAMO,KAAK,GAAGD,MAAM,GAAG,MAAML,WAAW,CAACI,GAAZ,CAAgBC,MAAhB,CAAT,GAAmCR,SAAS,CAACE,IAAD,EAAO;AAAEI,IAAAA,QAAF;AAAYD,IAAAA;AAAZ,GAAP,CAAhE;AACA,QAAMK,UAAU,GAAGb,aAAa,CAACK,IAAD,EAAO;AAAEO,IAAAA,KAAF;AAASJ,IAAAA;AAAT,GAAP,CAAhC;AACA,QAAMM,QAAQ,GAAGf,WAAW,CAACM,IAAD,EAAO;AAAEO,IAAAA,KAAF;AAASH,IAAAA,QAAT;AAAmBD,IAAAA;AAAnB,GAAP,CAA5B;AACA,QAAMO,QAAgC,GAAG,EAAzC;AACA,QAAMC,oBAAoB,GAAGnB,uBAAuB,CAACQ,IAAD,EAAO;AAAES,IAAAA,QAAF;AAAYF,IAAAA,KAAZ;AAAmBH,IAAAA,QAAnB;AAA6BD,IAAAA,cAA7B;AAA6CK,IAAAA;AAA7C,GAAP,CAApD;AAEAG,EAAAA,oBAAoB,CAACC,OAArB,CAA6BC,UAAU,IAAI;AACzCH,IAAAA,QAAQ,CAACI,IAAT,CAAcf,yBAAyB,CAACE,WAAD,EAAc;AAAEC,MAAAA,WAAF;AAAeW,MAAAA;AAAf,KAAd,CAAvC;AACD,GAFD;AAIA,QAAME,iBAAiB,GAAG,MAAMC,OAAO,CAACC,GAAR,CAAYP,QAAZ,CAAhC;AACA,QAAMQ,YAAY,GAAGzB,wBAAwB,CAACsB,iBAAD,CAA7C;AAEA,SAAO;AACLI,IAAAA,WAAW,EAAE,CAACD,YAAY,CAACE,MAAd,GACT7B,qBAAqB,CAACwB,iBAAD,EAAoB;AAAEN,MAAAA,QAAF;AAAYN,MAAAA,cAAZ;AAA4BK,MAAAA;AAA5B,KAApB,CADZ,GAETO,iBAHC;AAILnB,IAAAA,WAAW,EAAEA,WAAW,CAAC;AACvBmB,MAAAA,iBADuB;AAEvBN,MAAAA,QAFuB;AAGvBL,MAAAA,QAHuB;AAIvBD,MAAAA;AAJuB,KAAD,CAJnB;AAULN,IAAAA,eAAe,EAAEA,eAAe,CAAC;AAAEkB,MAAAA,iBAAF;AAAqBP,MAAAA;AAArB,KAAD,CAV3B;AAWLa,IAAAA,OAAO,EAAE;AAAEC,MAAAA,GAAG,EAAEb,QAAP;AAAiBc,MAAAA,KAAK,EAAEf;AAAxB,KAXJ;AAYLU,IAAAA,YAZK;AAaLM,IAAAA,YAAY,EAAEpB,QAAQ,CAACoB;AAblB,GAAP;AAeD,CA/BD","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.mjs"}
@@ -32,4 +32,4 @@ export default (async (cursorCache, {
32
32
  pageNumber
33
33
  };
34
34
  });
35
- //# sourceMappingURL=retrieveCachedEdgesByPage.js.map
35
+ //# sourceMappingURL=retrieveCachedEdgesByPage.mjs.map
@@ -1 +1 @@
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":";AAQA,gBAAe,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,CAlBD","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
+ {"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":";AAQA,gBAAe,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,CAlBD","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.mjs"}
@@ -68,4 +68,4 @@ export default (async ({
68
68
 
69
69
  return undefined;
70
70
  });
71
- //# sourceMappingURL=validateCursor.js.map
71
+ //# sourceMappingURL=validateCursor.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/validateCursor.ts"],"names":["GraphQLError","getCursor","getDirection","isCursorFirst","isCursorLast","after","before","first","last","fieldNodes","cursorCache","groupCursor","resultsPerPage","metadata","get","cursor","entry","direction","undefined"],"mappings":";AACA,SAASA,YAAT,QAAiD,SAAjD;AAEA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AAQA,gBAAe,OACb;AAAEC,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,IAAIR,YAAJ,CACL,4FADK,EAELS,UAFK,CAAP;AAID;;AAED,MAAIJ,KAAK,IAAIG,IAAb,EAAmB;AACjB,WAAO,IAAIR,YAAJ,CACL,6FADK,EAELS,UAFK,CAAP;AAID;;AAED,MAAIH,MAAM,IAAI,CAACE,IAAX,IAAmB,CAACD,KAAxB,EAA+B;AAC7B,WAAO,IAAIP,YAAJ,CACL,4FADK,EAELS,UAFK,CAAP;AAID;;AAED,MAAIH,MAAM,IAAIC,KAAd,EAAqB;AACnB,WAAO,IAAIP,YAAJ,CACL,+FADK,EAELS,UAFK,CAAP;AAID;;AAED,QAAMI,QAAQ,GAAI,MAAMH,WAAW,CAACI,GAAZ,CAAiB,GAAEH,WAAY,WAA/B,CAAxB;;AAEA,MAAI,CAACE,QAAL,EAAe;AACb,WAAO,IAAIb,YAAJ,CAAiB,8DAAjB,EAAiFS,UAAjF,CAAP;AACD;;AAED,QAAMM,MAAM,GAAGd,SAAS,CAAC;AAAEI,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,CAAxB;AACA,QAAMU,KAAK,GAAI,MAAMN,WAAW,CAACI,GAAZ,CAAgBC,MAAhB,CAArB;;AAEA,MAAI,CAACC,KAAL,EAAY;AACV,WAAO,IAAIhB,YAAJ,CAAkB,cAAae,MAAO,sBAAtC,EAA6DN,UAA7D,CAAP;AACD;;AAED,QAAMQ,SAAS,GAAGf,YAAY,CAACM,IAAD,CAA9B;;AAEA,MAAIJ,YAAY,CAAC;AAAEa,IAAAA,SAAF;AAAaD,IAAAA,KAAb;AAAoBJ,IAAAA,cAApB;AAAoC,OAAGC;AAAvC,GAAD,CAAhB,EAAqE;AACnE,WAAO,IAAIb,YAAJ,CAAkB,cAAae,MAAO,kDAAtC,EAAyFN,UAAzF,CAAP;AACD;;AAED,MAAIN,aAAa,CAAC;AAAEc,IAAAA,SAAF;AAAaD,IAAAA;AAAb,GAAD,CAAjB,EAAyC;AACvC,WAAO,IAAIhB,YAAJ,CAAkB,cAAae,MAAO,oDAAtC,EAA2FN,UAA3F,CAAP;AACD;;AAED,SAAOS,SAAP;AACD,CAzDD","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"}
1
+ {"version":3,"sources":["../../../src/helpers/validateCursor.ts"],"names":["GraphQLError","getCursor","getDirection","isCursorFirst","isCursorLast","after","before","first","last","fieldNodes","cursorCache","groupCursor","resultsPerPage","metadata","get","cursor","entry","direction","undefined"],"mappings":";AACA,SAASA,YAAT,QAAiD,SAAjD;AAEA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AAQA,gBAAe,OACb;AAAEC,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,IAAIR,YAAJ,CACL,4FADK,EAELS,UAFK,CAAP;AAID;;AAED,MAAIJ,KAAK,IAAIG,IAAb,EAAmB;AACjB,WAAO,IAAIR,YAAJ,CACL,6FADK,EAELS,UAFK,CAAP;AAID;;AAED,MAAIH,MAAM,IAAI,CAACE,IAAX,IAAmB,CAACD,KAAxB,EAA+B;AAC7B,WAAO,IAAIP,YAAJ,CACL,4FADK,EAELS,UAFK,CAAP;AAID;;AAED,MAAIH,MAAM,IAAIC,KAAd,EAAqB;AACnB,WAAO,IAAIP,YAAJ,CACL,+FADK,EAELS,UAFK,CAAP;AAID;;AAED,QAAMI,QAAQ,GAAI,MAAMH,WAAW,CAACI,GAAZ,CAAiB,GAAEH,WAAY,WAA/B,CAAxB;;AAEA,MAAI,CAACE,QAAL,EAAe;AACb,WAAO,IAAIb,YAAJ,CAAiB,8DAAjB,EAAiFS,UAAjF,CAAP;AACD;;AAED,QAAMM,MAAM,GAAGd,SAAS,CAAC;AAAEI,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,CAAxB;AACA,QAAMU,KAAK,GAAI,MAAMN,WAAW,CAACI,GAAZ,CAAgBC,MAAhB,CAArB;;AAEA,MAAI,CAACC,KAAL,EAAY;AACV,WAAO,IAAIhB,YAAJ,CAAkB,cAAae,MAAO,sBAAtC,EAA6DN,UAA7D,CAAP;AACD;;AAED,QAAMQ,SAAS,GAAGf,YAAY,CAACM,IAAD,CAA9B;;AAEA,MAAIJ,YAAY,CAAC;AAAEa,IAAAA,SAAF;AAAaD,IAAAA,KAAb;AAAoBJ,IAAAA,cAApB;AAAoC,OAAGC;AAAvC,GAAD,CAAhB,EAAqE;AACnE,WAAO,IAAIb,YAAJ,CAAkB,cAAae,MAAO,kDAAtC,EAAyFN,UAAzF,CAAP;AACD;;AAED,MAAIN,aAAa,CAAC;AAAEc,IAAAA,SAAF;AAAaD,IAAAA;AAAb,GAAD,CAAjB,EAAyC;AACvC,WAAO,IAAIhB,YAAJ,CAAkB,cAAae,MAAO,oDAAtC,EAA2FN,UAA3F,CAAP;AACD;;AAED,SAAOS,SAAP;AACD,CAzDD","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.mjs"}
@@ -1,4 +1,4 @@
1
1
  export * from "./defs";
2
2
  export { default as removeConnectionInputOptions } from "./helpers/removeConnectionInputOptions";
3
3
  export { default, connectionResolver } from "./main";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["default","removeConnectionInputOptions","connectionResolver"],"mappings":"AAAA,cAAc,QAAd;AACA,SAASA,OAAO,IAAIC,4BAApB,QAAwD,wCAAxD;AACA,SAASD,OAAT,EAAkBE,kBAAlB,QAA4C,QAA5C","sourcesContent":["export * from \"./defs\";\nexport { default as removeConnectionInputOptions } from \"./helpers/removeConnectionInputOptions\";\nexport { default, connectionResolver } from \"./main\";\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":["default","removeConnectionInputOptions","connectionResolver"],"mappings":"AAAA,cAAc,QAAd;AACA,SAASA,OAAO,IAAIC,4BAApB,QAAwD,wCAAxD;AACA,SAASD,OAAT,EAAkBE,kBAAlB,QAA4C,QAA5C","sourcesContent":["export * from \"./defs\";\nexport { default as removeConnectionInputOptions } from \"./helpers/removeConnectionInputOptions\";\nexport { default, connectionResolver } from \"./main\";\n"],"file":"index.mjs"}
@@ -80,4 +80,4 @@ export const connectionResolver = ({
80
80
  }
81
81
  };
82
82
  export default connectionResolver;
83
- //# sourceMappingURL=index.js.map
83
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/main/index.ts"],"names":["isCursorSupplied","requestAndCachePages","resolveConnection","validateCursor","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,OAAOA,gBAAP,MAA6B,6BAA7B;AACA,OAAOC,oBAAP,MAAiC,iCAAjC;AACA,OAAOC,iBAAP,MAA8B,8BAA9B;AACA,OAAOC,cAAP,MAA2B,2BAA3B;AAEA,OAAO,MAAMC,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,QAAIhB,gBAAgB,CAACa,IAAD,CAApB,EAA4B;AAC1B,YAAMO,WAAW,GAAG,MAAMjB,cAAc,CAACU,IAAD,EAAOE,IAAP,EAAa;AACnDV,QAAAA,WADmD;AAEnDc,QAAAA,WAFmD;AAGnDR,QAAAA;AAHmD,OAAb,CAAxC;;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,MAAMP,iBAAiB,CAACW,IAAD,EAAO;AAC5BR,QAAAA,WAD4B;AAE5BG,QAAAA,OAF4B;AAG5BW,QAAAA,WAH4B;AAI5BF,QAAAA,YAJ4B;AAK5BC,QAAAA,gBAL4B;AAM5BP,QAAAA;AAN4B,OAAP,CADV,CAAf;AAUD;;AAED,QAAI,MAAMN,WAAW,CAACuB,GAAZ,CAAiB,GAAET,WAAY,WAA/B,CAAV,EAAsD;AACpD,aAAOV,QAAQ,CACb,MAAMP,iBAAiB,CAACW,IAAD,EAAO;AAC5BR,QAAAA,WAD4B;AAE5BG,QAAAA,OAF4B;AAG5BW,QAAAA,WAH4B;AAI5BF,QAAAA,YAJ4B;AAK5BC,QAAAA,gBAL4B;AAM5BP,QAAAA;AAN4B,OAAP,CADV,CAAf;AAUD;;AAED,UAAMV,oBAAoB,CAAyB,CAAC,CAAD,CAAzB,EAA8B;AACtDI,MAAAA,WADsD;AAEtDG,MAAAA,OAFsD;AAGtDW,MAAAA,WAHsD;AAItDF,MAAAA,YAJsD;AAKtDC,MAAAA;AALsD,KAA9B,CAA1B;AAQA,WAAOT,QAAQ,CACb,MAAMP,iBAAiB,CAACW,IAAD,EAAO;AAC5BR,MAAAA,WAD4B;AAE5BG,MAAAA,OAF4B;AAG5BW,MAAAA,WAH4B;AAI5BF,MAAAA,YAJ4B;AAK5BC,MAAAA,gBAL4B;AAM5BP,MAAAA;AAN4B,KAAP,CADV,CAAf;AAUD,GApED,CAoEE,OAAOkB,CAAP,EAAU;AACV,UAAMA,CAAN;AACD;AACF,CA1FM;AA4FP,eAAezB,kBAAf","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
+ {"version":3,"sources":["../../../src/main/index.ts"],"names":["isCursorSupplied","requestAndCachePages","resolveConnection","validateCursor","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,OAAOA,gBAAP,MAA6B,6BAA7B;AACA,OAAOC,oBAAP,MAAiC,iCAAjC;AACA,OAAOC,iBAAP,MAA8B,8BAA9B;AACA,OAAOC,cAAP,MAA2B,2BAA3B;AAEA,OAAO,MAAMC,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,QAAIhB,gBAAgB,CAACa,IAAD,CAApB,EAA4B;AAC1B,YAAMO,WAAW,GAAG,MAAMjB,cAAc,CAACU,IAAD,EAAOE,IAAP,EAAa;AACnDV,QAAAA,WADmD;AAEnDc,QAAAA,WAFmD;AAGnDR,QAAAA;AAHmD,OAAb,CAAxC;;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,MAAMP,iBAAiB,CAACW,IAAD,EAAO;AAC5BR,QAAAA,WAD4B;AAE5BG,QAAAA,OAF4B;AAG5BW,QAAAA,WAH4B;AAI5BF,QAAAA,YAJ4B;AAK5BC,QAAAA,gBAL4B;AAM5BP,QAAAA;AAN4B,OAAP,CADV,CAAf;AAUD;;AAED,QAAI,MAAMN,WAAW,CAACuB,GAAZ,CAAiB,GAAET,WAAY,WAA/B,CAAV,EAAsD;AACpD,aAAOV,QAAQ,CACb,MAAMP,iBAAiB,CAACW,IAAD,EAAO;AAC5BR,QAAAA,WAD4B;AAE5BG,QAAAA,OAF4B;AAG5BW,QAAAA,WAH4B;AAI5BF,QAAAA,YAJ4B;AAK5BC,QAAAA,gBAL4B;AAM5BP,QAAAA;AAN4B,OAAP,CADV,CAAf;AAUD;;AAED,UAAMV,oBAAoB,CAAyB,CAAC,CAAD,CAAzB,EAA8B;AACtDI,MAAAA,WADsD;AAEtDG,MAAAA,OAFsD;AAGtDW,MAAAA,WAHsD;AAItDF,MAAAA,YAJsD;AAKtDC,MAAAA;AALsD,KAA9B,CAA1B;AAQA,WAAOT,QAAQ,CACb,MAAMP,iBAAiB,CAACW,IAAD,EAAO;AAC5BR,MAAAA,WAD4B;AAE5BG,MAAAA,OAF4B;AAG5BW,MAAAA,WAH4B;AAI5BF,MAAAA,YAJ4B;AAK5BC,MAAAA,gBAL4B;AAM5BP,MAAAA;AAN4B,KAAP,CADV,CAAf;AAUD,GApED,CAoEE,OAAOkB,CAAP,EAAU;AACV,UAAMA,CAAN;AACD;AACF,CA1FM;AA4FP,eAAezB,kBAAf","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.mjs"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphql-box/connection-resolver",
3
- "version": "4.1.3",
3
+ "version": "4.1.4",
4
4
  "description": "The GraphQL Box connection manager module.",
5
5
  "keywords": [
6
6
  "graphql-box",
@@ -24,7 +24,7 @@
24
24
  "license": "MIT",
25
25
  "author": "Dylan Aubrey <dylanaubrey@gmail.com>",
26
26
  "main": "lib/main/index.js",
27
- "module": "lib/module/index.js",
27
+ "module": "lib/module/index.mjs",
28
28
  "browser": "lib/browser/index.js",
29
29
  "types": "lib/types/index.d.ts",
30
30
  "scripts": {
@@ -34,7 +34,7 @@
34
34
  "compile-watch:types": "yarn run compile:types --watch",
35
35
  "compile:browser": "cross-env BABEL_ENV=browser rollup -c ../../rollup.config.js",
36
36
  "compile:main": "cross-env BABEL_ENV=main babel ./src --out-dir ./lib/main --extensions \".ts\" --source-maps --config-file ../../babel.config.js",
37
- "compile:module": "cross-env BABEL_ENV=module babel ./src --out-dir ./lib/module --extensions \".ts\" --source-maps --config-file ../../babel.config.js",
37
+ "compile:module": "cross-env BABEL_ENV=module babel ./src --out-dir ./lib/module --extensions \".ts\" --out-file-extension \".mjs\" --source-maps --config-file ../../babel.config.js",
38
38
  "compile:types": "tsc --build",
39
39
  "docs": "typedoc --includes ./src/main --out ./docs --options ../../typedoc.js"
40
40
  },
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=index.js.map
@@ -1,2 +0,0 @@
1
- export default (page => page === 1);
2
- //# sourceMappingURL=isFirstPage.js.map