@graphql-box/connection-resolver 4.1.3 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -5
- package/dist/cjs/index.cjs +703 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/esm/index.mjs +700 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/types/cjs/__testUtils__/generateCursorCache.d.cts +10 -0
- package/dist/types/cjs/__testUtils__/generateCursorCache.d.cts.map +1 -0
- package/dist/types/cjs/__testUtils__/generatePageResponse.d.cts +9 -0
- package/dist/types/cjs/__testUtils__/generatePageResponse.d.cts.map +1 -0
- package/dist/types/cjs/__testUtils__/generatePages.d.cts +2 -0
- package/dist/types/cjs/__testUtils__/generatePages.d.cts.map +1 -0
- package/dist/types/cjs/helpers/cacheCursors.d.cts +12 -0
- package/dist/types/cjs/helpers/cacheCursors.d.cts.map +1 -0
- package/dist/types/cjs/helpers/extractEdges.d.cts +3 -0
- package/dist/types/cjs/helpers/extractEdges.d.cts.map +1 -0
- package/dist/types/cjs/helpers/extractNodes.d.cts +3 -0
- package/dist/types/cjs/helpers/extractNodes.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getCount.d.cts +3 -0
- package/dist/types/cjs/helpers/getCount.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getCurrentPageStartAndEndIndexes.d.cts +14 -0
- package/dist/types/cjs/helpers/getCurrentPageStartAndEndIndexes.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getCursor.d.cts +3 -0
- package/dist/types/cjs/helpers/getCursor.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getDirection.d.cts +3 -0
- package/dist/types/cjs/helpers/getDirection.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getInRangeCachedEdges.d.cts +8 -0
- package/dist/types/cjs/helpers/getInRangeCachedEdges.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getIndexesOnCurrentPage.d.cts +10 -0
- package/dist/types/cjs/helpers/getIndexesOnCurrentPage.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getIndexesOnLastPage.d.cts +3 -0
- package/dist/types/cjs/helpers/getIndexesOnLastPage.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getPageNumbersToRequest.d.cts +12 -0
- package/dist/types/cjs/helpers/getPageNumbersToRequest.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getPagesMissingFromCache.d.cts +3 -0
- package/dist/types/cjs/helpers/getPagesMissingFromCache.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getResultsOnLastPage.d.cts +6 -0
- package/dist/types/cjs/helpers/getResultsOnLastPage.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getStartAndEndCursors.d.cts +4 -0
- package/dist/types/cjs/helpers/getStartAndEndCursors.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getStartAndEndIndexes.d.cts +15 -0
- package/dist/types/cjs/helpers/getStartAndEndIndexes.d.cts.map +1 -0
- package/dist/types/cjs/helpers/getStartAndEndPageNumbers.d.cts +13 -0
- package/dist/types/cjs/helpers/getStartAndEndPageNumbers.d.cts.map +1 -0
- package/dist/types/cjs/helpers/hasPreviousNextPage.d.cts +14 -0
- package/dist/types/cjs/helpers/hasPreviousNextPage.d.cts.map +1 -0
- package/dist/types/cjs/helpers/isCursorFirst.d.cts +7 -0
- package/dist/types/cjs/helpers/isCursorFirst.d.cts.map +1 -0
- package/dist/types/cjs/helpers/isCursorLast.d.cts +10 -0
- package/dist/types/cjs/helpers/isCursorLast.d.cts.map +1 -0
- package/dist/types/cjs/helpers/isCursorSupplied.d.cts +4 -0
- package/dist/types/cjs/helpers/isCursorSupplied.d.cts.map +1 -0
- package/dist/types/cjs/helpers/isFirstPage.d.cts +2 -0
- package/dist/types/cjs/helpers/isFirstPage.d.cts.map +1 -0
- package/dist/types/cjs/helpers/isLastPage.d.cts +6 -0
- package/dist/types/cjs/helpers/isLastPage.d.cts.map +1 -0
- package/dist/types/cjs/helpers/makeEdges.d.cts +6 -0
- package/dist/types/cjs/helpers/makeEdges.d.cts.map +1 -0
- package/dist/types/cjs/helpers/makeEntry.d.cts +10 -0
- package/dist/types/cjs/helpers/makeEntry.d.cts.map +1 -0
- package/dist/types/cjs/helpers/mergeCachedEdges.d.cts +3 -0
- package/dist/types/cjs/helpers/mergeCachedEdges.d.cts.map +1 -0
- package/dist/types/cjs/helpers/removeConnectionInputOptions.d.cts +2 -0
- package/dist/types/cjs/helpers/removeConnectionInputOptions.d.cts.map +1 -0
- package/dist/types/cjs/helpers/requestAndCachePages.d.cts +21 -0
- package/dist/types/cjs/helpers/requestAndCachePages.d.cts.map +1 -0
- package/dist/types/cjs/helpers/requestOutstandingPages.d.cts +18 -0
- package/dist/types/cjs/helpers/requestOutstandingPages.d.cts.map +1 -0
- package/dist/types/cjs/helpers/resolveConnection.d.cts +24 -0
- package/dist/types/cjs/helpers/resolveConnection.d.cts.map +1 -0
- package/dist/types/cjs/helpers/retrieveCachedConnection.d.cts +25 -0
- package/dist/types/cjs/helpers/retrieveCachedConnection.d.cts.map +1 -0
- package/dist/types/cjs/helpers/retrieveCachedEdgesByPage.d.cts +11 -0
- package/dist/types/cjs/helpers/retrieveCachedEdgesByPage.d.cts.map +1 -0
- package/dist/types/cjs/helpers/retrieveEntry.d.cts +8 -0
- package/dist/types/cjs/helpers/retrieveEntry.d.cts.map +1 -0
- package/dist/types/cjs/helpers/validateCursor.d.cts +10 -0
- package/dist/types/cjs/helpers/validateCursor.d.cts.map +1 -0
- package/dist/types/cjs/index.d.cts +4 -0
- package/dist/types/cjs/index.d.cts.map +1 -0
- package/dist/types/cjs/main/index.d.cts +5 -0
- package/dist/types/cjs/main/index.d.cts.map +1 -0
- package/{lib/types/defs/index.d.ts → dist/types/cjs/types.d.cts} +22 -27
- package/dist/types/cjs/types.d.cts.map +1 -0
- package/dist/types/esm/__testUtils__/generateCursorCache.d.ts +10 -0
- package/dist/types/esm/__testUtils__/generateCursorCache.d.ts.map +1 -0
- package/dist/types/esm/__testUtils__/generatePageResponse.d.ts +9 -0
- package/dist/types/esm/__testUtils__/generatePageResponse.d.ts.map +1 -0
- package/dist/types/esm/__testUtils__/generatePages.d.ts +2 -0
- package/dist/types/esm/__testUtils__/generatePages.d.ts.map +1 -0
- package/dist/types/esm/helpers/cacheCursors.d.ts +12 -0
- package/dist/types/esm/helpers/cacheCursors.d.ts.map +1 -0
- package/dist/types/esm/helpers/extractEdges.d.ts +3 -0
- package/dist/types/esm/helpers/extractEdges.d.ts.map +1 -0
- package/dist/types/esm/helpers/extractNodes.d.ts +3 -0
- package/dist/types/esm/helpers/extractNodes.d.ts.map +1 -0
- package/dist/types/esm/helpers/getCount.d.ts +3 -0
- package/dist/types/esm/helpers/getCount.d.ts.map +1 -0
- package/{lib/types → dist/types/esm}/helpers/getCurrentPageStartAndEndIndexes.d.ts +3 -3
- package/dist/types/esm/helpers/getCurrentPageStartAndEndIndexes.d.ts.map +1 -0
- package/dist/types/esm/helpers/getCursor.d.ts +3 -0
- package/dist/types/esm/helpers/getCursor.d.ts.map +1 -0
- package/dist/types/esm/helpers/getDirection.d.ts +3 -0
- package/dist/types/esm/helpers/getDirection.d.ts.map +1 -0
- package/dist/types/esm/helpers/getInRangeCachedEdges.d.ts +8 -0
- package/dist/types/esm/helpers/getInRangeCachedEdges.d.ts.map +1 -0
- package/dist/types/esm/helpers/getIndexesOnCurrentPage.d.ts +10 -0
- package/dist/types/esm/helpers/getIndexesOnCurrentPage.d.ts.map +1 -0
- package/dist/types/esm/helpers/getIndexesOnLastPage.d.ts +3 -0
- package/dist/types/esm/helpers/getIndexesOnLastPage.d.ts.map +1 -0
- package/dist/types/esm/helpers/getPageNumbersToRequest.d.ts +12 -0
- package/dist/types/esm/helpers/getPageNumbersToRequest.d.ts.map +1 -0
- package/dist/types/esm/helpers/getPagesMissingFromCache.d.ts +3 -0
- package/dist/types/esm/helpers/getPagesMissingFromCache.d.ts.map +1 -0
- package/dist/types/esm/helpers/getResultsOnLastPage.d.ts +6 -0
- package/dist/types/esm/helpers/getResultsOnLastPage.d.ts.map +1 -0
- package/dist/types/esm/helpers/getStartAndEndCursors.d.ts +4 -0
- package/dist/types/esm/helpers/getStartAndEndCursors.d.ts.map +1 -0
- package/dist/types/esm/helpers/getStartAndEndIndexes.d.ts +15 -0
- package/dist/types/esm/helpers/getStartAndEndIndexes.d.ts.map +1 -0
- package/dist/types/esm/helpers/getStartAndEndPageNumbers.d.ts +13 -0
- package/dist/types/esm/helpers/getStartAndEndPageNumbers.d.ts.map +1 -0
- package/{lib/types → dist/types/esm}/helpers/hasPreviousNextPage.d.ts +3 -3
- package/dist/types/esm/helpers/hasPreviousNextPage.d.ts.map +1 -0
- package/dist/types/esm/helpers/isCursorFirst.d.ts +7 -0
- package/dist/types/esm/helpers/isCursorFirst.d.ts.map +1 -0
- package/dist/types/esm/helpers/isCursorLast.d.ts +10 -0
- package/dist/types/esm/helpers/isCursorLast.d.ts.map +1 -0
- package/dist/types/esm/helpers/isCursorSupplied.d.ts +4 -0
- package/dist/types/esm/helpers/isCursorSupplied.d.ts.map +1 -0
- package/dist/types/esm/helpers/isFirstPage.d.ts +2 -0
- package/dist/types/esm/helpers/isFirstPage.d.ts.map +1 -0
- package/dist/types/esm/helpers/isLastPage.d.ts +6 -0
- package/dist/types/esm/helpers/isLastPage.d.ts.map +1 -0
- package/dist/types/esm/helpers/makeEdges.d.ts +6 -0
- package/dist/types/esm/helpers/makeEdges.d.ts.map +1 -0
- package/dist/types/esm/helpers/makeEntry.d.ts +10 -0
- package/dist/types/esm/helpers/makeEntry.d.ts.map +1 -0
- package/dist/types/esm/helpers/mergeCachedEdges.d.ts +3 -0
- package/dist/types/esm/helpers/mergeCachedEdges.d.ts.map +1 -0
- package/dist/types/esm/helpers/removeConnectionInputOptions.d.ts +2 -0
- package/dist/types/esm/helpers/removeConnectionInputOptions.d.ts.map +1 -0
- package/dist/types/esm/helpers/requestAndCachePages.d.ts +21 -0
- package/dist/types/esm/helpers/requestAndCachePages.d.ts.map +1 -0
- package/dist/types/esm/helpers/requestOutstandingPages.d.ts +18 -0
- package/dist/types/esm/helpers/requestOutstandingPages.d.ts.map +1 -0
- package/dist/types/esm/helpers/resolveConnection.d.ts +24 -0
- package/dist/types/esm/helpers/resolveConnection.d.ts.map +1 -0
- package/{lib/types → dist/types/esm}/helpers/retrieveCachedConnection.d.ts +5 -6
- package/dist/types/esm/helpers/retrieveCachedConnection.d.ts.map +1 -0
- package/dist/types/esm/helpers/retrieveCachedEdgesByPage.d.ts +11 -0
- package/dist/types/esm/helpers/retrieveCachedEdgesByPage.d.ts.map +1 -0
- package/dist/types/esm/helpers/retrieveEntry.d.ts +8 -0
- package/dist/types/esm/helpers/retrieveEntry.d.ts.map +1 -0
- package/dist/types/esm/helpers/validateCursor.d.ts +10 -0
- package/dist/types/esm/helpers/validateCursor.d.ts.map +1 -0
- package/dist/types/esm/index.d.ts +4 -0
- package/dist/types/esm/index.d.ts.map +1 -0
- package/dist/types/esm/main/index.d.ts +5 -0
- package/dist/types/esm/main/index.d.ts.map +1 -0
- package/dist/types/esm/types.d.ts +77 -0
- package/dist/types/esm/types.d.ts.map +1 -0
- package/dist/types/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +54 -38
- package/src/__testUtils__/generateCursorCache.ts +20 -14
- package/src/__testUtils__/generatePageResponse.ts +17 -12
- package/src/__testUtils__/generatePages.ts +5 -5
- package/src/helpers/cacheCursors.ts +10 -7
- package/src/helpers/extractEdges.ts +3 -3
- package/src/helpers/extractNodes.ts +2 -2
- package/src/helpers/getCount.test.ts +10 -6
- package/src/helpers/getCount.ts +2 -2
- package/src/helpers/getCurrentPageStartAndEndIndexes.ts +1 -1
- package/src/helpers/getCursor.test.ts +10 -6
- package/src/helpers/getCursor.ts +2 -2
- package/src/helpers/getDirection.test.ts +10 -6
- package/src/helpers/getDirection.ts +3 -1
- package/src/helpers/getInRangeCachedEdges.ts +10 -7
- package/src/helpers/getIndexesOnCurrentPage.test.ts +14 -10
- package/src/helpers/getIndexesOnCurrentPage.ts +11 -6
- package/src/helpers/getIndexesOnLastPage.test.ts +10 -6
- package/src/helpers/getIndexesOnLastPage.ts +3 -2
- package/src/helpers/getPageNumbersToRequest.test.ts +15 -11
- package/src/helpers/getPageNumbersToRequest.ts +17 -6
- package/src/helpers/getPagesMissingFromCache.ts +5 -5
- package/src/helpers/getResultsOnLastPage.test.ts +10 -6
- package/src/helpers/getResultsOnLastPage.ts +1 -1
- package/src/helpers/getStartAndEndCursors.ts +1 -1
- package/src/helpers/getStartAndEndIndexes.test.ts +77 -57
- package/src/helpers/getStartAndEndIndexes.ts +28 -22
- package/src/helpers/getStartAndEndPageNumbers.test.ts +46 -28
- package/src/helpers/getStartAndEndPageNumbers.ts +12 -12
- package/src/helpers/hasPreviousNextPage.test.ts +17 -8
- package/src/helpers/hasPreviousNextPage.ts +6 -4
- package/src/helpers/isCursorFirst.test.ts +13 -7
- package/src/helpers/isCursorFirst.ts +3 -2
- package/src/helpers/isCursorLast.test.ts +27 -23
- package/src/helpers/isCursorLast.ts +4 -4
- package/src/helpers/isCursorSupplied.test.ts +18 -10
- package/src/helpers/isCursorSupplied.ts +3 -2
- package/src/helpers/isFirstPage.test.ts +10 -6
- package/src/helpers/isFirstPage.ts +1 -1
- package/src/helpers/isLastPage.test.ts +10 -6
- package/src/helpers/isLastPage.ts +1 -1
- package/src/helpers/makeEdges.ts +3 -3
- package/src/helpers/makeEntry.ts +8 -5
- package/src/helpers/mergeCachedEdges.ts +5 -5
- package/src/helpers/removeConnectionInputOptions.test.ts +10 -8
- package/src/helpers/removeConnectionInputOptions.ts +4 -3
- package/src/helpers/requestAndCachePages.ts +14 -11
- package/src/helpers/requestOutstandingPages.ts +18 -19
- package/src/helpers/resolveConnection.ts +20 -34
- package/src/helpers/retrieveCachedConnection.test.ts +703 -338
- package/src/helpers/retrieveCachedConnection.ts +28 -20
- package/src/helpers/retrieveCachedEdgesByPage.ts +10 -10
- package/src/helpers/retrieveEntry.ts +32 -0
- package/src/helpers/validateCursor.test.ts +88 -61
- package/src/helpers/validateCursor.ts +30 -26
- package/src/index.ts +3 -3
- package/src/main/__snapshots__/index.test.ts.snap +258 -258
- package/src/main/index.test.ts +405 -287
- package/src/main/index.ts +37 -35
- package/src/{defs/index.ts → types.ts} +12 -18
- package/tsconfig.build.json +10 -0
- package/tsconfig.json +11 -0
- package/lib/browser/index.js +0 -2
- package/lib/browser/index.js.map +0 -1
- package/lib/browser/production.analysis.txt +0 -314
- package/lib/main/__testUtils__/generateCursorCache.js +0 -88
- package/lib/main/__testUtils__/generateCursorCache.js.map +0 -1
- package/lib/main/__testUtils__/generatePageResponse.js +0 -33
- package/lib/main/__testUtils__/generatePageResponse.js.map +0 -1
- package/lib/main/__testUtils__/generatePages.js +0 -23
- package/lib/main/__testUtils__/generatePages.js.map +0 -1
- package/lib/main/defs/index.js +0 -2
- package/lib/main/defs/index.js.map +0 -1
- package/lib/main/helpers/cacheCursors.js +0 -40
- package/lib/main/helpers/cacheCursors.js.map +0 -1
- package/lib/main/helpers/extractEdges.js +0 -11
- package/lib/main/helpers/extractEdges.js.map +0 -1
- package/lib/main/helpers/extractNodes.js +0 -11
- package/lib/main/helpers/extractNodes.js.map +0 -1
- package/lib/main/helpers/getCount.js +0 -14
- package/lib/main/helpers/getCount.js.map +0 -1
- package/lib/main/helpers/getCurrentPageStartAndEndIndexes.js +0 -23
- package/lib/main/helpers/getCurrentPageStartAndEndIndexes.js.map +0 -1
- package/lib/main/helpers/getCursor.js +0 -14
- package/lib/main/helpers/getCursor.js.map +0 -1
- package/lib/main/helpers/getDirection.js +0 -11
- package/lib/main/helpers/getDirection.js.map +0 -1
- package/lib/main/helpers/getInRangeCachedEdges.js +0 -36
- package/lib/main/helpers/getInRangeCachedEdges.js.map +0 -1
- package/lib/main/helpers/getIndexesOnCurrentPage.js +0 -30
- package/lib/main/helpers/getIndexesOnCurrentPage.js.map +0 -1
- package/lib/main/helpers/getIndexesOnLastPage.js +0 -21
- package/lib/main/helpers/getIndexesOnLastPage.js.map +0 -1
- package/lib/main/helpers/getPageNumbersToRequest.js +0 -43
- package/lib/main/helpers/getPageNumbersToRequest.js.map +0 -1
- package/lib/main/helpers/getPagesMissingFromCache.js +0 -19
- package/lib/main/helpers/getPagesMissingFromCache.js.map +0 -1
- package/lib/main/helpers/getResultsOnLastPage.js +0 -17
- package/lib/main/helpers/getResultsOnLastPage.js.map +0 -1
- package/lib/main/helpers/getStartAndEndCursors.js +0 -22
- package/lib/main/helpers/getStartAndEndCursors.js.map +0 -1
- package/lib/main/helpers/getStartAndEndIndexes.js +0 -105
- package/lib/main/helpers/getStartAndEndIndexes.js.map +0 -1
- package/lib/main/helpers/getStartAndEndPageNumbers.js +0 -51
- package/lib/main/helpers/getStartAndEndPageNumbers.js.map +0 -1
- package/lib/main/helpers/hasPreviousNextPage.js +0 -33
- package/lib/main/helpers/hasPreviousNextPage.js.map +0 -1
- package/lib/main/helpers/isCursorFirst.js +0 -17
- package/lib/main/helpers/isCursorFirst.js.map +0 -1
- package/lib/main/helpers/isCursorLast.js +0 -27
- package/lib/main/helpers/isCursorLast.js.map +0 -1
- package/lib/main/helpers/isCursorSupplied.js +0 -14
- package/lib/main/helpers/isCursorSupplied.js.map +0 -1
- package/lib/main/helpers/isFirstPage.js +0 -11
- package/lib/main/helpers/isFirstPage.js.map +0 -1
- package/lib/main/helpers/isLastPage.js +0 -14
- package/lib/main/helpers/isLastPage.js.map +0 -1
- package/lib/main/helpers/makeEdges.js +0 -14
- package/lib/main/helpers/makeEdges.js.map +0 -1
- package/lib/main/helpers/makeEntry.js +0 -38
- package/lib/main/helpers/makeEntry.js.map +0 -1
- package/lib/main/helpers/mergeCachedEdges.js +0 -21
- package/lib/main/helpers/mergeCachedEdges.js.map +0 -1
- package/lib/main/helpers/removeConnectionInputOptions.js +0 -17
- package/lib/main/helpers/removeConnectionInputOptions.js.map +0 -1
- package/lib/main/helpers/requestAndCachePages.js +0 -66
- package/lib/main/helpers/requestAndCachePages.js.map +0 -1
- package/lib/main/helpers/requestOutstandingPages.js +0 -67
- package/lib/main/helpers/requestOutstandingPages.js.map +0 -1
- package/lib/main/helpers/resolveConnection.js +0 -95
- package/lib/main/helpers/resolveConnection.js.map +0 -1
- package/lib/main/helpers/retrieveCachedConnection.js +0 -90
- package/lib/main/helpers/retrieveCachedConnection.js.map +0 -1
- package/lib/main/helpers/retrieveCachedEdgesByPage.js +0 -45
- package/lib/main/helpers/retrieveCachedEdgesByPage.js.map +0 -1
- package/lib/main/helpers/validateCursor.js +0 -88
- package/lib/main/helpers/validateCursor.js.map +0 -1
- package/lib/main/index.js +0 -52
- package/lib/main/index.js.map +0 -1
- package/lib/main/main/index.js +0 -100
- package/lib/main/main/index.js.map +0 -1
- package/lib/module/__testUtils__/generateCursorCache.js +0 -71
- package/lib/module/__testUtils__/generateCursorCache.js.map +0 -1
- package/lib/module/__testUtils__/generatePageResponse.js +0 -23
- package/lib/module/__testUtils__/generatePageResponse.js.map +0 -1
- package/lib/module/__testUtils__/generatePages.js +0 -11
- package/lib/module/__testUtils__/generatePages.js.map +0 -1
- package/lib/module/defs/index.js +0 -2
- package/lib/module/defs/index.js.map +0 -1
- package/lib/module/helpers/cacheCursors.js +0 -30
- package/lib/module/helpers/cacheCursors.js.map +0 -1
- package/lib/module/helpers/extractEdges.js +0 -2
- package/lib/module/helpers/extractEdges.js.map +0 -1
- package/lib/module/helpers/extractNodes.js +0 -2
- package/lib/module/helpers/extractNodes.js.map +0 -1
- package/lib/module/helpers/getCount.js +0 -5
- package/lib/module/helpers/getCount.js.map +0 -1
- package/lib/module/helpers/getCurrentPageStartAndEndIndexes.js +0 -11
- package/lib/module/helpers/getCurrentPageStartAndEndIndexes.js.map +0 -1
- package/lib/module/helpers/getCursor.js +0 -5
- package/lib/module/helpers/getCursor.js.map +0 -1
- package/lib/module/helpers/getDirection.js +0 -2
- package/lib/module/helpers/getDirection.js.map +0 -1
- package/lib/module/helpers/getInRangeCachedEdges.js +0 -26
- package/lib/module/helpers/getInRangeCachedEdges.js.map +0 -1
- package/lib/module/helpers/getIndexesOnCurrentPage.js +0 -17
- package/lib/module/helpers/getIndexesOnCurrentPage.js.map +0 -1
- package/lib/module/helpers/getIndexesOnLastPage.js +0 -9
- package/lib/module/helpers/getIndexesOnLastPage.js.map +0 -1
- package/lib/module/helpers/getPageNumbersToRequest.js +0 -30
- package/lib/module/helpers/getPageNumbersToRequest.js.map +0 -1
- package/lib/module/helpers/getPagesMissingFromCache.js +0 -10
- package/lib/module/helpers/getPagesMissingFromCache.js.map +0 -1
- package/lib/module/helpers/getResultsOnLastPage.js +0 -8
- package/lib/module/helpers/getResultsOnLastPage.js.map +0 -1
- package/lib/module/helpers/getStartAndEndCursors.js +0 -10
- package/lib/module/helpers/getStartAndEndCursors.js.map +0 -1
- package/lib/module/helpers/getStartAndEndIndexes.js +0 -86
- package/lib/module/helpers/getStartAndEndIndexes.js.map +0 -1
- package/lib/module/helpers/getStartAndEndPageNumbers.js +0 -35
- package/lib/module/helpers/getStartAndEndPageNumbers.js.map +0 -1
- package/lib/module/helpers/hasPreviousNextPage.js +0 -18
- package/lib/module/helpers/hasPreviousNextPage.js.map +0 -1
- package/lib/module/helpers/isCursorFirst.js +0 -8
- package/lib/module/helpers/isCursorFirst.js.map +0 -1
- package/lib/module/helpers/isCursorLast.js +0 -15
- package/lib/module/helpers/isCursorLast.js.map +0 -1
- package/lib/module/helpers/isCursorSupplied.js +0 -5
- package/lib/module/helpers/isCursorSupplied.js.map +0 -1
- package/lib/module/helpers/isFirstPage.js +0 -2
- package/lib/module/helpers/isFirstPage.js.map +0 -1
- package/lib/module/helpers/isLastPage.js +0 -5
- package/lib/module/helpers/isLastPage.js.map +0 -1
- package/lib/module/helpers/makeEdges.js +0 -5
- package/lib/module/helpers/makeEdges.js.map +0 -1
- package/lib/module/helpers/makeEntry.js +0 -25
- package/lib/module/helpers/makeEntry.js.map +0 -1
- package/lib/module/helpers/mergeCachedEdges.js +0 -12
- package/lib/module/helpers/mergeCachedEdges.js.map +0 -1
- package/lib/module/helpers/removeConnectionInputOptions.js +0 -4
- package/lib/module/helpers/removeConnectionInputOptions.js.map +0 -1
- package/lib/module/helpers/requestAndCachePages.js +0 -54
- package/lib/module/helpers/requestAndCachePages.js.map +0 -1
- package/lib/module/helpers/requestOutstandingPages.js +0 -57
- package/lib/module/helpers/requestOutstandingPages.js.map +0 -1
- package/lib/module/helpers/resolveConnection.js +0 -78
- package/lib/module/helpers/resolveConnection.js.map +0 -1
- package/lib/module/helpers/retrieveCachedConnection.js +0 -70
- package/lib/module/helpers/retrieveCachedConnection.js.map +0 -1
- package/lib/module/helpers/retrieveCachedEdgesByPage.js +0 -35
- package/lib/module/helpers/retrieveCachedEdgesByPage.js.map +0 -1
- package/lib/module/helpers/validateCursor.js +0 -71
- package/lib/module/helpers/validateCursor.js.map +0 -1
- package/lib/module/index.js +0 -4
- package/lib/module/index.js.map +0 -1
- package/lib/module/main/index.js +0 -83
- package/lib/module/main/index.js.map +0 -1
- package/lib/types/__testUtils__/generateCursorCache.d.ts +0 -11
- package/lib/types/__testUtils__/generateCursorCache.d.ts.map +0 -1
- package/lib/types/__testUtils__/generatePageResponse.d.ts +0 -18
- package/lib/types/__testUtils__/generatePageResponse.d.ts.map +0 -1
- package/lib/types/__testUtils__/generatePages.d.ts +0 -3
- package/lib/types/__testUtils__/generatePages.d.ts.map +0 -1
- package/lib/types/defs/index.d.ts.map +0 -1
- package/lib/types/helpers/cacheCursors.d.ts +0 -13
- package/lib/types/helpers/cacheCursors.d.ts.map +0 -1
- package/lib/types/helpers/extractEdges.d.ts +0 -4
- package/lib/types/helpers/extractEdges.d.ts.map +0 -1
- package/lib/types/helpers/extractNodes.d.ts +0 -4
- package/lib/types/helpers/extractNodes.d.ts.map +0 -1
- package/lib/types/helpers/getCount.d.ts +0 -4
- package/lib/types/helpers/getCount.d.ts.map +0 -1
- package/lib/types/helpers/getCount.test.d.ts +0 -2
- package/lib/types/helpers/getCount.test.d.ts.map +0 -1
- package/lib/types/helpers/getCurrentPageStartAndEndIndexes.d.ts.map +0 -1
- package/lib/types/helpers/getCursor.d.ts +0 -4
- package/lib/types/helpers/getCursor.d.ts.map +0 -1
- package/lib/types/helpers/getCursor.test.d.ts +0 -2
- package/lib/types/helpers/getCursor.test.d.ts.map +0 -1
- package/lib/types/helpers/getDirection.d.ts +0 -3
- package/lib/types/helpers/getDirection.d.ts.map +0 -1
- package/lib/types/helpers/getDirection.test.d.ts +0 -2
- package/lib/types/helpers/getDirection.test.d.ts.map +0 -1
- package/lib/types/helpers/getInRangeCachedEdges.d.ts +0 -9
- package/lib/types/helpers/getInRangeCachedEdges.d.ts.map +0 -1
- package/lib/types/helpers/getIndexesOnCurrentPage.d.ts +0 -7
- package/lib/types/helpers/getIndexesOnCurrentPage.d.ts.map +0 -1
- package/lib/types/helpers/getIndexesOnCurrentPage.test.d.ts +0 -2
- package/lib/types/helpers/getIndexesOnCurrentPage.test.d.ts.map +0 -1
- package/lib/types/helpers/getIndexesOnLastPage.d.ts +0 -4
- package/lib/types/helpers/getIndexesOnLastPage.d.ts.map +0 -1
- package/lib/types/helpers/getIndexesOnLastPage.test.d.ts +0 -2
- package/lib/types/helpers/getIndexesOnLastPage.test.d.ts.map +0 -1
- package/lib/types/helpers/getPageNumbersToRequest.d.ts +0 -8
- package/lib/types/helpers/getPageNumbersToRequest.d.ts.map +0 -1
- package/lib/types/helpers/getPageNumbersToRequest.test.d.ts +0 -2
- package/lib/types/helpers/getPageNumbersToRequest.test.d.ts.map +0 -1
- package/lib/types/helpers/getPagesMissingFromCache.d.ts +0 -4
- package/lib/types/helpers/getPagesMissingFromCache.d.ts.map +0 -1
- package/lib/types/helpers/getResultsOnLastPage.d.ts +0 -7
- package/lib/types/helpers/getResultsOnLastPage.d.ts.map +0 -1
- package/lib/types/helpers/getResultsOnLastPage.test.d.ts +0 -2
- package/lib/types/helpers/getResultsOnLastPage.test.d.ts.map +0 -1
- package/lib/types/helpers/getStartAndEndCursors.d.ts +0 -4
- package/lib/types/helpers/getStartAndEndCursors.d.ts.map +0 -1
- package/lib/types/helpers/getStartAndEndIndexes.d.ts +0 -10
- package/lib/types/helpers/getStartAndEndIndexes.d.ts.map +0 -1
- package/lib/types/helpers/getStartAndEndIndexes.test.d.ts +0 -2
- package/lib/types/helpers/getStartAndEndIndexes.test.d.ts.map +0 -1
- package/lib/types/helpers/getStartAndEndPageNumbers.d.ts +0 -9
- package/lib/types/helpers/getStartAndEndPageNumbers.d.ts.map +0 -1
- package/lib/types/helpers/getStartAndEndPageNumbers.test.d.ts +0 -2
- package/lib/types/helpers/getStartAndEndPageNumbers.test.d.ts.map +0 -1
- package/lib/types/helpers/hasPreviousNextPage.d.ts.map +0 -1
- package/lib/types/helpers/hasPreviousNextPage.test.d.ts +0 -2
- package/lib/types/helpers/hasPreviousNextPage.test.d.ts.map +0 -1
- package/lib/types/helpers/isCursorFirst.d.ts +0 -8
- package/lib/types/helpers/isCursorFirst.d.ts.map +0 -1
- package/lib/types/helpers/isCursorFirst.test.d.ts +0 -2
- package/lib/types/helpers/isCursorFirst.test.d.ts.map +0 -1
- package/lib/types/helpers/isCursorLast.d.ts +0 -11
- package/lib/types/helpers/isCursorLast.d.ts.map +0 -1
- package/lib/types/helpers/isCursorLast.test.d.ts +0 -2
- package/lib/types/helpers/isCursorLast.test.d.ts.map +0 -1
- package/lib/types/helpers/isCursorSupplied.d.ts +0 -4
- package/lib/types/helpers/isCursorSupplied.d.ts.map +0 -1
- package/lib/types/helpers/isCursorSupplied.test.d.ts +0 -2
- package/lib/types/helpers/isCursorSupplied.test.d.ts.map +0 -1
- package/lib/types/helpers/isFirstPage.d.ts +0 -3
- package/lib/types/helpers/isFirstPage.d.ts.map +0 -1
- package/lib/types/helpers/isFirstPage.test.d.ts +0 -2
- package/lib/types/helpers/isFirstPage.test.d.ts.map +0 -1
- package/lib/types/helpers/isLastPage.d.ts +0 -7
- package/lib/types/helpers/isLastPage.d.ts.map +0 -1
- package/lib/types/helpers/isLastPage.test.d.ts +0 -2
- package/lib/types/helpers/isLastPage.test.d.ts.map +0 -1
- package/lib/types/helpers/makeEdges.d.ts +0 -7
- package/lib/types/helpers/makeEdges.d.ts.map +0 -1
- package/lib/types/helpers/makeEntry.d.ts +0 -11
- package/lib/types/helpers/makeEntry.d.ts.map +0 -1
- package/lib/types/helpers/mergeCachedEdges.d.ts +0 -4
- package/lib/types/helpers/mergeCachedEdges.d.ts.map +0 -1
- package/lib/types/helpers/removeConnectionInputOptions.d.ts +0 -3
- package/lib/types/helpers/removeConnectionInputOptions.d.ts.map +0 -1
- package/lib/types/helpers/removeConnectionInputOptions.test.d.ts +0 -2
- package/lib/types/helpers/removeConnectionInputOptions.test.d.ts.map +0 -1
- package/lib/types/helpers/requestAndCachePages.d.ts +0 -21
- package/lib/types/helpers/requestAndCachePages.d.ts.map +0 -1
- package/lib/types/helpers/requestOutstandingPages.d.ts +0 -18
- package/lib/types/helpers/requestOutstandingPages.d.ts.map +0 -1
- package/lib/types/helpers/resolveConnection.d.ts +0 -24
- package/lib/types/helpers/resolveConnection.d.ts.map +0 -1
- package/lib/types/helpers/retrieveCachedConnection.d.ts.map +0 -1
- package/lib/types/helpers/retrieveCachedConnection.test.d.ts +0 -2
- package/lib/types/helpers/retrieveCachedConnection.test.d.ts.map +0 -1
- package/lib/types/helpers/retrieveCachedEdgesByPage.d.ts +0 -12
- package/lib/types/helpers/retrieveCachedEdgesByPage.d.ts.map +0 -1
- package/lib/types/helpers/validateCursor.d.ts +0 -11
- package/lib/types/helpers/validateCursor.d.ts.map +0 -1
- package/lib/types/helpers/validateCursor.test.d.ts +0 -2
- package/lib/types/helpers/validateCursor.test.d.ts.map +0 -1
- package/lib/types/index.d.ts +0 -4
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/main/index.d.ts +0 -5
- package/lib/types/main/index.d.ts.map +0 -1
- package/lib/types/main/index.test.d.ts +0 -2
- package/lib/types/main/index.test.d.ts.map +0 -1
- package/package-lock.json +0 -18
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"index.js"}
|
@@ -1,30 +0,0 @@
|
|
1
|
-
import "core-js/modules/es.promise.js";
|
2
|
-
export default (async (cursorCache, {
|
3
|
-
edges,
|
4
|
-
group,
|
5
|
-
headers,
|
6
|
-
page,
|
7
|
-
totalPages,
|
8
|
-
totalResults
|
9
|
-
}) => {
|
10
|
-
const cacheControl = headers.get("cache-control");
|
11
|
-
const opts = cacheControl ? {
|
12
|
-
cacheHeaders: {
|
13
|
-
cacheControl
|
14
|
-
}
|
15
|
-
} : undefined;
|
16
|
-
await Promise.all(edges.map(async ({
|
17
|
-
cursor,
|
18
|
-
node
|
19
|
-
}, index) => cursorCache.set(cursor, {
|
20
|
-
node,
|
21
|
-
index,
|
22
|
-
group,
|
23
|
-
page
|
24
|
-
}, opts)));
|
25
|
-
await cursorCache.set(`${group}-metadata`, {
|
26
|
-
totalPages,
|
27
|
-
totalResults
|
28
|
-
}, opts);
|
29
|
-
});
|
30
|
-
//# sourceMappingURL=cacheCursors.js.map
|
@@ -1 +0,0 @@
|
|
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 +0,0 @@
|
|
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 +0,0 @@
|
|
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 +0,0 @@
|
|
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,11 +0,0 @@
|
|
1
|
-
export const getCurrentPageStartIndex = ({
|
2
|
-
pageIndex,
|
3
|
-
startIndex
|
4
|
-
}) => pageIndex === 0 ? startIndex.relative : 0;
|
5
|
-
export const getCurrentPageEndIndex = ({
|
6
|
-
endIndex,
|
7
|
-
pageIndex,
|
8
|
-
resultsPerPage,
|
9
|
-
totalCachedPages
|
10
|
-
}) => pageIndex === totalCachedPages - 1 ? endIndex.relative : resultsPerPage - 1;
|
11
|
-
//# sourceMappingURL=getCurrentPageStartAndEndIndexes.js.map
|
@@ -1 +0,0 @@
|
|
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 +0,0 @@
|
|
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 +0,0 @@
|
|
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,26 +0,0 @@
|
|
1
|
-
import { getCurrentPageEndIndex, getCurrentPageStartIndex } from "./getCurrentPageStartAndEndIndexes";
|
2
|
-
export default ((cachedEdgesByPage, {
|
3
|
-
endIndex,
|
4
|
-
resultsPerPage,
|
5
|
-
startIndex
|
6
|
-
}) => {
|
7
|
-
return cachedEdgesByPage.reduce((inRange, cachedEdgesPage, i) => {
|
8
|
-
const currentPageStartIndex = getCurrentPageStartIndex({
|
9
|
-
startIndex,
|
10
|
-
pageIndex: i
|
11
|
-
});
|
12
|
-
const currentPageEndIndex = getCurrentPageEndIndex({
|
13
|
-
endIndex,
|
14
|
-
pageIndex: i,
|
15
|
-
resultsPerPage,
|
16
|
-
totalCachedPages: cachedEdgesByPage.length
|
17
|
-
});
|
18
|
-
const cachedEdges = cachedEdgesPage.edges.slice(currentPageStartIndex, currentPageEndIndex + 1);
|
19
|
-
inRange.push({
|
20
|
-
edges: cachedEdges,
|
21
|
-
pageNumber: cachedEdgesPage.pageNumber
|
22
|
-
});
|
23
|
-
return inRange;
|
24
|
-
}, []);
|
25
|
-
});
|
26
|
-
//# sourceMappingURL=getInRangeCachedEdges.js.map
|
@@ -1 +0,0 @@
|
|
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,17 +0,0 @@
|
|
1
|
-
import getResultsOnLastPage from "./getResultsOnLastPage";
|
2
|
-
import isLastPage from "./isLastPage";
|
3
|
-
export default (({
|
4
|
-
page,
|
5
|
-
metadata: {
|
6
|
-
totalPages,
|
7
|
-
totalResults
|
8
|
-
},
|
9
|
-
resultsPerPage
|
10
|
-
}) => (isLastPage({
|
11
|
-
page,
|
12
|
-
totalPages
|
13
|
-
}) ? getResultsOnLastPage({
|
14
|
-
resultsPerPage,
|
15
|
-
totalResults
|
16
|
-
}) : resultsPerPage) - 1);
|
17
|
-
//# sourceMappingURL=getIndexesOnCurrentPage.js.map
|
@@ -1 +0,0 @@
|
|
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 +0,0 @@
|
|
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,30 +0,0 @@
|
|
1
|
-
import _range from "lodash/range";
|
2
|
-
import { getEndPageNumber, getStartPageNumber } from "./getStartAndEndPageNumbers";
|
3
|
-
export default ((args, {
|
4
|
-
endIndex,
|
5
|
-
entry: {
|
6
|
-
page
|
7
|
-
},
|
8
|
-
metadata,
|
9
|
-
resultsPerPage,
|
10
|
-
startIndex
|
11
|
-
}) => {
|
12
|
-
const startPageNumber = getStartPageNumber(args, {
|
13
|
-
page,
|
14
|
-
startIndex,
|
15
|
-
resultsPerPage
|
16
|
-
});
|
17
|
-
const endPageNumber = getEndPageNumber(args, {
|
18
|
-
endIndex,
|
19
|
-
metadata,
|
20
|
-
page,
|
21
|
-
resultsPerPage
|
22
|
-
});
|
23
|
-
|
24
|
-
if (startPageNumber === endPageNumber) {
|
25
|
-
return [page];
|
26
|
-
}
|
27
|
-
|
28
|
-
return [..._range(startPageNumber, endPageNumber), endPageNumber];
|
29
|
-
});
|
30
|
-
//# sourceMappingURL=getPageNumbersToRequest.js.map
|
@@ -1 +0,0 @@
|
|
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,10 +0,0 @@
|
|
1
|
-
export default (cachedEdgesByPage => {
|
2
|
-
return cachedEdgesByPage.reduce((missing, cachedEdgesPage) => {
|
3
|
-
if (!cachedEdgesPage.edges.length) {
|
4
|
-
missing.push(cachedEdgesPage.pageNumber);
|
5
|
-
}
|
6
|
-
|
7
|
-
return missing;
|
8
|
-
}, []);
|
9
|
-
});
|
10
|
-
//# sourceMappingURL=getPagesMissingFromCache.js.map
|
@@ -1 +0,0 @@
|
|
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 +0,0 @@
|
|
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,10 +0,0 @@
|
|
1
|
-
export const getStartCursor = edges => {
|
2
|
-
var _edges$;
|
3
|
-
|
4
|
-
return (_edges$ = edges[0]) === null || _edges$ === void 0 ? void 0 : _edges$.cursor;
|
5
|
-
};
|
6
|
-
export const getEndCursor = edges => {
|
7
|
-
const lastEdge = edges[edges.length - 1];
|
8
|
-
return lastEdge === null || lastEdge === void 0 ? void 0 : lastEdge.cursor;
|
9
|
-
};
|
10
|
-
//# sourceMappingURL=getStartAndEndCursors.js.map
|
@@ -1 +0,0 @@
|
|
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,86 +0,0 @@
|
|
1
|
-
import getCount from "./getCount";
|
2
|
-
import getDirection from "./getDirection";
|
3
|
-
import getIndexesOnLastPage from "./getIndexesOnLastPage";
|
4
|
-
import isFirstPage from "./isFirstPage";
|
5
|
-
import isLastPage from "./isLastPage";
|
6
|
-
export const getStartIndex = (args, {
|
7
|
-
entry: {
|
8
|
-
index,
|
9
|
-
page
|
10
|
-
},
|
11
|
-
resultsPerPage
|
12
|
-
}) => {
|
13
|
-
const count = getCount(args);
|
14
|
-
return getDirection(args.last) === "forward" ? {
|
15
|
-
absolute: index + 1,
|
16
|
-
relative: index + 1
|
17
|
-
} : isFirstPage(page) && index - count < 0 ? {
|
18
|
-
absolute: 0,
|
19
|
-
relative: 0
|
20
|
-
} : (() => {
|
21
|
-
const absStartIndex = index - count;
|
22
|
-
|
23
|
-
if (absStartIndex >= 0) {
|
24
|
-
return {
|
25
|
-
absolute: absStartIndex,
|
26
|
-
relative: absStartIndex
|
27
|
-
};
|
28
|
-
}
|
29
|
-
|
30
|
-
const indexesRemainingAfterLastPage = Math.abs(absStartIndex);
|
31
|
-
const pagesRemaining = indexesRemainingAfterLastPage / resultsPerPage + 1;
|
32
|
-
const remainder = indexesRemainingAfterLastPage % resultsPerPage;
|
33
|
-
const relStartIndex = remainder === 0 ? 0 : page - pagesRemaining < 0 ? 0 : resultsPerPage - remainder;
|
34
|
-
return {
|
35
|
-
absolute: absStartIndex,
|
36
|
-
relative: relStartIndex
|
37
|
-
};
|
38
|
-
})();
|
39
|
-
};
|
40
|
-
export const getEndIndex = (args, {
|
41
|
-
entry: {
|
42
|
-
index,
|
43
|
-
page
|
44
|
-
},
|
45
|
-
metadata: {
|
46
|
-
totalPages,
|
47
|
-
totalResults
|
48
|
-
},
|
49
|
-
resultsPerPage
|
50
|
-
}) => {
|
51
|
-
const count = getCount(args);
|
52
|
-
const indexesOnLastPage = getIndexesOnLastPage({
|
53
|
-
resultsPerPage,
|
54
|
-
totalResults
|
55
|
-
});
|
56
|
-
return getDirection(args.last) === "backward" ? {
|
57
|
-
absolute: index - 1,
|
58
|
-
relative: index - 1
|
59
|
-
} : isLastPage({
|
60
|
-
page,
|
61
|
-
totalPages
|
62
|
-
}) && index + count > indexesOnLastPage ? {
|
63
|
-
absolute: indexesOnLastPage,
|
64
|
-
relative: indexesOnLastPage
|
65
|
-
} : (() => {
|
66
|
-
const absEndIndex = index + count;
|
67
|
-
const indexesPerPage = resultsPerPage - 1;
|
68
|
-
|
69
|
-
if (absEndIndex <= indexesPerPage) {
|
70
|
-
return {
|
71
|
-
absolute: absEndIndex,
|
72
|
-
relative: absEndIndex
|
73
|
-
};
|
74
|
-
}
|
75
|
-
|
76
|
-
const indexesRemainingAfterFirstPage = absEndIndex - indexesPerPage;
|
77
|
-
const pagesRemaining = indexesRemainingAfterFirstPage / resultsPerPage;
|
78
|
-
const remainder = indexesRemainingAfterFirstPage % resultsPerPage;
|
79
|
-
const relEndIndex = remainder === 0 ? indexesPerPage : page + pagesRemaining > totalPages ? indexesOnLastPage : remainder - 1;
|
80
|
-
return {
|
81
|
-
absolute: absEndIndex,
|
82
|
-
relative: relEndIndex
|
83
|
-
};
|
84
|
-
})();
|
85
|
-
};
|
86
|
-
//# sourceMappingURL=getStartAndEndIndexes.js.map
|
@@ -1 +0,0 @@
|
|
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,35 +0,0 @@
|
|
1
|
-
import getDirection from "./getDirection";
|
2
|
-
import isLastPage from "./isLastPage";
|
3
|
-
export const getStartPageNumber = (args, {
|
4
|
-
page,
|
5
|
-
startIndex,
|
6
|
-
resultsPerPage
|
7
|
-
}) => {
|
8
|
-
if (getDirection(args.last) === "forward" || startIndex.absolute >= 0) {
|
9
|
-
return page;
|
10
|
-
}
|
11
|
-
|
12
|
-
const startPageNumber = page - Math.ceil(Math.abs(startIndex.absolute) / resultsPerPage);
|
13
|
-
return startPageNumber <= 1 ? 1 : startPageNumber;
|
14
|
-
};
|
15
|
-
export const getEndPageNumber = (args, {
|
16
|
-
endIndex,
|
17
|
-
metadata: {
|
18
|
-
totalPages
|
19
|
-
},
|
20
|
-
page,
|
21
|
-
resultsPerPage
|
22
|
-
}) => {
|
23
|
-
const indexesPerPage = resultsPerPage - 1;
|
24
|
-
|
25
|
-
if (getDirection(args.last) === "backward" || isLastPage({
|
26
|
-
page,
|
27
|
-
totalPages
|
28
|
-
}) || endIndex.absolute <= indexesPerPage) {
|
29
|
-
return page;
|
30
|
-
}
|
31
|
-
|
32
|
-
const endPageNumber = page + Math.ceil((endIndex.absolute - indexesPerPage) / resultsPerPage);
|
33
|
-
return endPageNumber >= totalPages ? totalPages : endPageNumber;
|
34
|
-
};
|
35
|
-
//# sourceMappingURL=getStartAndEndPageNumbers.js.map
|
@@ -1 +0,0 @@
|
|
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,18 +0,0 @@
|
|
1
|
-
import getIndexesOnLastPage from "./getIndexesOnLastPage";
|
2
|
-
export const hasPreviousPage = ({
|
3
|
-
cachedEdgesByPage,
|
4
|
-
startIndex
|
5
|
-
}) => cachedEdgesByPage[0].pageNumber !== 1 || startIndex.relative > 0;
|
6
|
-
export const hasNextPage = ({
|
7
|
-
cachedEdgesByPage,
|
8
|
-
endIndex,
|
9
|
-
metadata: {
|
10
|
-
totalPages,
|
11
|
-
totalResults
|
12
|
-
},
|
13
|
-
resultsPerPage
|
14
|
-
}) => cachedEdgesByPage[cachedEdgesByPage.length - 1].pageNumber !== totalPages || endIndex.relative < getIndexesOnLastPage({
|
15
|
-
resultsPerPage,
|
16
|
-
totalResults
|
17
|
-
});
|
18
|
-
//# sourceMappingURL=hasPreviousNextPage.js.map
|
@@ -1 +0,0 @@
|
|
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 +0,0 @@
|
|
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,15 +0,0 @@
|
|
1
|
-
import getIndexesOnLastPage from "./getIndexesOnLastPage";
|
2
|
-
export default (({
|
3
|
-
direction,
|
4
|
-
entry: {
|
5
|
-
index,
|
6
|
-
page
|
7
|
-
},
|
8
|
-
resultsPerPage,
|
9
|
-
totalPages,
|
10
|
-
totalResults
|
11
|
-
}) => direction === "forward" && page === totalPages && index === getIndexesOnLastPage({
|
12
|
-
resultsPerPage,
|
13
|
-
totalResults
|
14
|
-
}));
|
15
|
-
//# sourceMappingURL=isCursorLast.js.map
|
@@ -1 +0,0 @@
|
|
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 +0,0 @@
|
|
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 +0,0 @@
|
|
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 +0,0 @@
|
|
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 +0,0 @@
|
|
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,25 +0,0 @@
|
|
1
|
-
import getDirection from "./getDirection";
|
2
|
-
import getIndexesOnLastPage from "./getIndexesOnLastPage";
|
3
|
-
export default ((args, {
|
4
|
-
metadata: {
|
5
|
-
totalPages,
|
6
|
-
totalResults
|
7
|
-
},
|
8
|
-
resultsPerPage
|
9
|
-
}) => {
|
10
|
-
if (getDirection(args.last) === "backward") {
|
11
|
-
return {
|
12
|
-
index: getIndexesOnLastPage({
|
13
|
-
resultsPerPage,
|
14
|
-
totalResults
|
15
|
-
}) + 1,
|
16
|
-
page: totalPages
|
17
|
-
};
|
18
|
-
}
|
19
|
-
|
20
|
-
return {
|
21
|
-
index: -1,
|
22
|
-
page: 1
|
23
|
-
};
|
24
|
-
});
|
25
|
-
//# sourceMappingURL=makeEntry.js.map
|
@@ -1 +0,0 @@
|
|
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,12 +0,0 @@
|
|
1
|
-
export default ((cachedEdges, missingCachedEdges) => cachedEdges.reduce((mergedCachedEdges, cachedEdge) => {
|
2
|
-
if (!cachedEdge.edges.length) {
|
3
|
-
const missingCachedEdge = missingCachedEdges.find(missing => missing.pageNumber === cachedEdge.pageNumber);
|
4
|
-
|
5
|
-
if (missingCachedEdge) {
|
6
|
-
return [...mergedCachedEdges, missingCachedEdge];
|
7
|
-
}
|
8
|
-
}
|
9
|
-
|
10
|
-
return [...mergedCachedEdges, cachedEdge];
|
11
|
-
}, []));
|
12
|
-
//# sourceMappingURL=mergeCachedEdges.js.map
|
@@ -1 +0,0 @@
|
|
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 +0,0 @@
|
|
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"}
|