@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,105 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.getEndIndex = exports.getStartIndex = void 0;
|
9
|
-
|
10
|
-
var _getCount = _interopRequireDefault(require("./getCount"));
|
11
|
-
|
12
|
-
var _getDirection = _interopRequireDefault(require("./getDirection"));
|
13
|
-
|
14
|
-
var _getIndexesOnLastPage = _interopRequireDefault(require("./getIndexesOnLastPage"));
|
15
|
-
|
16
|
-
var _isFirstPage = _interopRequireDefault(require("./isFirstPage"));
|
17
|
-
|
18
|
-
var _isLastPage = _interopRequireDefault(require("./isLastPage"));
|
19
|
-
|
20
|
-
const getStartIndex = (args, {
|
21
|
-
entry: {
|
22
|
-
index,
|
23
|
-
page
|
24
|
-
},
|
25
|
-
resultsPerPage
|
26
|
-
}) => {
|
27
|
-
const count = (0, _getCount.default)(args);
|
28
|
-
return (0, _getDirection.default)(args.last) === "forward" ? {
|
29
|
-
absolute: index + 1,
|
30
|
-
relative: index + 1
|
31
|
-
} : (0, _isFirstPage.default)(page) && index - count < 0 ? {
|
32
|
-
absolute: 0,
|
33
|
-
relative: 0
|
34
|
-
} : (() => {
|
35
|
-
const absStartIndex = index - count;
|
36
|
-
|
37
|
-
if (absStartIndex >= 0) {
|
38
|
-
return {
|
39
|
-
absolute: absStartIndex,
|
40
|
-
relative: absStartIndex
|
41
|
-
};
|
42
|
-
}
|
43
|
-
|
44
|
-
const indexesRemainingAfterLastPage = Math.abs(absStartIndex);
|
45
|
-
const pagesRemaining = indexesRemainingAfterLastPage / resultsPerPage + 1;
|
46
|
-
const remainder = indexesRemainingAfterLastPage % resultsPerPage;
|
47
|
-
const relStartIndex = remainder === 0 ? 0 : page - pagesRemaining < 0 ? 0 : resultsPerPage - remainder;
|
48
|
-
return {
|
49
|
-
absolute: absStartIndex,
|
50
|
-
relative: relStartIndex
|
51
|
-
};
|
52
|
-
})();
|
53
|
-
};
|
54
|
-
|
55
|
-
exports.getStartIndex = getStartIndex;
|
56
|
-
|
57
|
-
const getEndIndex = (args, {
|
58
|
-
entry: {
|
59
|
-
index,
|
60
|
-
page
|
61
|
-
},
|
62
|
-
metadata: {
|
63
|
-
totalPages,
|
64
|
-
totalResults
|
65
|
-
},
|
66
|
-
resultsPerPage
|
67
|
-
}) => {
|
68
|
-
const count = (0, _getCount.default)(args);
|
69
|
-
const indexesOnLastPage = (0, _getIndexesOnLastPage.default)({
|
70
|
-
resultsPerPage,
|
71
|
-
totalResults
|
72
|
-
});
|
73
|
-
return (0, _getDirection.default)(args.last) === "backward" ? {
|
74
|
-
absolute: index - 1,
|
75
|
-
relative: index - 1
|
76
|
-
} : (0, _isLastPage.default)({
|
77
|
-
page,
|
78
|
-
totalPages
|
79
|
-
}) && index + count > indexesOnLastPage ? {
|
80
|
-
absolute: indexesOnLastPage,
|
81
|
-
relative: indexesOnLastPage
|
82
|
-
} : (() => {
|
83
|
-
const absEndIndex = index + count;
|
84
|
-
const indexesPerPage = resultsPerPage - 1;
|
85
|
-
|
86
|
-
if (absEndIndex <= indexesPerPage) {
|
87
|
-
return {
|
88
|
-
absolute: absEndIndex,
|
89
|
-
relative: absEndIndex
|
90
|
-
};
|
91
|
-
}
|
92
|
-
|
93
|
-
const indexesRemainingAfterFirstPage = absEndIndex - indexesPerPage;
|
94
|
-
const pagesRemaining = indexesRemainingAfterFirstPage / resultsPerPage;
|
95
|
-
const remainder = indexesRemainingAfterFirstPage % resultsPerPage;
|
96
|
-
const relEndIndex = remainder === 0 ? indexesPerPage : page + pagesRemaining > totalPages ? indexesOnLastPage : remainder - 1;
|
97
|
-
return {
|
98
|
-
absolute: absEndIndex,
|
99
|
-
relative: relEndIndex
|
100
|
-
};
|
101
|
-
})();
|
102
|
-
};
|
103
|
-
|
104
|
-
exports.getEndIndex = getEndIndex;
|
105
|
-
//# sourceMappingURL=getStartAndEndIndexes.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/getStartAndEndIndexes.ts"],"names":["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;;AACA;;AACA;;AACA;;AACA;;AAEO,MAAMA,aAAa,GAAG,CAC3BC,IAD2B,EAE3B;AAAEC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAT;AAA0BC,EAAAA;AAA1B,CAF2B,KAGxB;AACH,QAAMC,KAAK,GAAG,uBAASL,IAAT,CAAd;AAEA,SAAO,2BAAaA,IAAI,CAACM,IAAlB,MAA4B,SAA5B,GACH;AAAEC,IAAAA,QAAQ,EAAEL,KAAK,GAAG,CAApB;AAAuBM,IAAAA,QAAQ,EAAEN,KAAK,GAAG;AAAzC,GADG,GAEH,0BAAYC,IAAZ,KAAqBD,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;;;;AAyBA,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,GAAG,uBAASL,IAAT,CAAd;AACA,QAAMoB,iBAAiB,GAAG,mCAAqB;AAAEhB,IAAAA,cAAF;AAAkBe,IAAAA;AAAlB,GAArB,CAA1B;AAEA,SAAO,2BAAanB,IAAI,CAACM,IAAlB,MAA4B,UAA5B,GACH;AAAEC,IAAAA,QAAQ,EAAEL,KAAK,GAAG,CAApB;AAAuBM,IAAAA,QAAQ,EAAEN,KAAK,GAAG;AAAzC,GADG,GAEH,yBAAW;AAAEC,IAAAA,IAAF;AAAQe,IAAAA;AAAR,GAAX,KAAoChB,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,51 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.getEndPageNumber = exports.getStartPageNumber = void 0;
|
9
|
-
|
10
|
-
var _getDirection = _interopRequireDefault(require("./getDirection"));
|
11
|
-
|
12
|
-
var _isLastPage = _interopRequireDefault(require("./isLastPage"));
|
13
|
-
|
14
|
-
const getStartPageNumber = (args, {
|
15
|
-
page,
|
16
|
-
startIndex,
|
17
|
-
resultsPerPage
|
18
|
-
}) => {
|
19
|
-
if ((0, _getDirection.default)(args.last) === "forward" || startIndex.absolute >= 0) {
|
20
|
-
return page;
|
21
|
-
}
|
22
|
-
|
23
|
-
const startPageNumber = page - Math.ceil(Math.abs(startIndex.absolute) / resultsPerPage);
|
24
|
-
return startPageNumber <= 1 ? 1 : startPageNumber;
|
25
|
-
};
|
26
|
-
|
27
|
-
exports.getStartPageNumber = getStartPageNumber;
|
28
|
-
|
29
|
-
const getEndPageNumber = (args, {
|
30
|
-
endIndex,
|
31
|
-
metadata: {
|
32
|
-
totalPages
|
33
|
-
},
|
34
|
-
page,
|
35
|
-
resultsPerPage
|
36
|
-
}) => {
|
37
|
-
const indexesPerPage = resultsPerPage - 1;
|
38
|
-
|
39
|
-
if ((0, _getDirection.default)(args.last) === "backward" || (0, _isLastPage.default)({
|
40
|
-
page,
|
41
|
-
totalPages
|
42
|
-
}) || endIndex.absolute <= indexesPerPage) {
|
43
|
-
return page;
|
44
|
-
}
|
45
|
-
|
46
|
-
const endPageNumber = page + Math.ceil((endIndex.absolute - indexesPerPage) / resultsPerPage);
|
47
|
-
return endPageNumber >= totalPages ? totalPages : endPageNumber;
|
48
|
-
};
|
49
|
-
|
50
|
-
exports.getEndPageNumber = getEndPageNumber;
|
51
|
-
//# sourceMappingURL=getStartAndEndPageNumbers.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/getStartAndEndPageNumbers.ts"],"names":["getStartPageNumber","args","page","startIndex","resultsPerPage","last","absolute","startPageNumber","Math","ceil","abs","getEndPageNumber","endIndex","metadata","totalPages","indexesPerPage","endPageNumber"],"mappings":";;;;;;;;;AACA;;AACA;;AAQO,MAAMA,kBAAkB,GAAG,CAChCC,IADgC,EAEhC;AAAEC,EAAAA,IAAF;AAAQC,EAAAA,UAAR;AAAoBC,EAAAA;AAApB,CAFgC,KAG7B;AACH,MAAI,2BAAaH,IAAI,CAACI,IAAlB,MAA4B,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;;;;AAYA,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,MACE,2BAAaH,IAAI,CAACI,IAAlB,MAA4B,UAA5B,IACA,yBAAW;AAAEH,IAAAA,IAAF;AAAQY,IAAAA;AAAR,GAAX,CADA,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,33 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.hasNextPage = exports.hasPreviousPage = void 0;
|
9
|
-
|
10
|
-
var _getIndexesOnLastPage = _interopRequireDefault(require("./getIndexesOnLastPage"));
|
11
|
-
|
12
|
-
const hasPreviousPage = ({
|
13
|
-
cachedEdgesByPage,
|
14
|
-
startIndex
|
15
|
-
}) => cachedEdgesByPage[0].pageNumber !== 1 || startIndex.relative > 0;
|
16
|
-
|
17
|
-
exports.hasPreviousPage = hasPreviousPage;
|
18
|
-
|
19
|
-
const hasNextPage = ({
|
20
|
-
cachedEdgesByPage,
|
21
|
-
endIndex,
|
22
|
-
metadata: {
|
23
|
-
totalPages,
|
24
|
-
totalResults
|
25
|
-
},
|
26
|
-
resultsPerPage
|
27
|
-
}) => cachedEdgesByPage[cachedEdgesByPage.length - 1].pageNumber !== totalPages || endIndex.relative < (0, _getIndexesOnLastPage.default)({
|
28
|
-
resultsPerPage,
|
29
|
-
totalResults
|
30
|
-
});
|
31
|
-
|
32
|
-
exports.hasNextPage = hasNextPage;
|
33
|
-
//# sourceMappingURL=hasPreviousNextPage.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/hasPreviousNextPage.ts"],"names":["hasPreviousPage","cachedEdgesByPage","startIndex","pageNumber","relative","hasNextPage","endIndex","metadata","totalPages","totalResults","resultsPerPage","length"],"mappings":";;;;;;;;;AACA;;AAcO,MAAMA,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;;;;AAGA,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,GAAoB,mCAAqB;AAAEM,EAAAA,cAAF;AAAkBD,EAAAA;AAAlB,CAArB,CAPf","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,17 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
|
8
|
-
var _default = ({
|
9
|
-
direction,
|
10
|
-
entry: {
|
11
|
-
index,
|
12
|
-
page
|
13
|
-
}
|
14
|
-
}) => direction === "backward" && page === 1 && index === 0;
|
15
|
-
|
16
|
-
exports.default = _default;
|
17
|
-
//# sourceMappingURL=isCursorFirst.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/isCursorFirst.ts"],"names":["direction","entry","index","page"],"mappings":";;;;;;;eAOe,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,C","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,27 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.default = void 0;
|
9
|
-
|
10
|
-
var _getIndexesOnLastPage = _interopRequireDefault(require("./getIndexesOnLastPage"));
|
11
|
-
|
12
|
-
var _default = ({
|
13
|
-
direction,
|
14
|
-
entry: {
|
15
|
-
index,
|
16
|
-
page
|
17
|
-
},
|
18
|
-
resultsPerPage,
|
19
|
-
totalPages,
|
20
|
-
totalResults
|
21
|
-
}) => direction === "forward" && page === totalPages && index === (0, _getIndexesOnLastPage.default)({
|
22
|
-
resultsPerPage,
|
23
|
-
totalResults
|
24
|
-
});
|
25
|
-
|
26
|
-
exports.default = _default;
|
27
|
-
//# sourceMappingURL=isCursorLast.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/isCursorLast.ts"],"names":["direction","entry","index","page","resultsPerPage","totalPages","totalResults"],"mappings":";;;;;;;;;AACA;;eAUe,CAAC;AAAEA,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,KAAK,mCAAqB;AAAEE,EAAAA,cAAF;AAAkBE,EAAAA;AAAlB,CAArB,C","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,14 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
|
8
|
-
var _default = ({
|
9
|
-
after,
|
10
|
-
before
|
11
|
-
}) => !!(after || before);
|
12
|
-
|
13
|
-
exports.default = _default;
|
14
|
-
//# sourceMappingURL=isCursorSupplied.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/isCursorSupplied.ts"],"names":["after","before"],"mappings":";;;;;;;eAEe,CAAC;AAAEA,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAA6D,CAAC,EAAED,KAAK,IAAIC,MAAX,C","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":";;;;;;;eAAgBA,IAAD,IAAkBA,IAAI,KAAK,C","sourcesContent":["export default (page: number) => page === 1;\n"],"file":"isFirstPage.js"}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
|
8
|
-
var _default = ({
|
9
|
-
page,
|
10
|
-
totalPages
|
11
|
-
}) => page === totalPages;
|
12
|
-
|
13
|
-
exports.default = _default;
|
14
|
-
//# sourceMappingURL=isLastPage.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/isLastPage.ts"],"names":["page","totalPages"],"mappings":";;;;;;;eAKe,CAAC;AAAEA,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAAD,KAAkCD,IAAI,KAAKC,U","sourcesContent":["export type Params = {\n page: number;\n totalPages: number;\n};\n\nexport default ({ page, totalPages }: Params) => page === totalPages;\n"],"file":"isLastPage.js"}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
|
8
|
-
var _default = (nodes, makeCursor) => nodes.map(node => ({
|
9
|
-
node,
|
10
|
-
cursor: makeCursor(node)
|
11
|
-
}));
|
12
|
-
|
13
|
-
exports.default = _default;
|
14
|
-
//# sourceMappingURL=makeEdges.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/makeEdges.ts"],"names":["nodes","makeCursor","map","node","cursor"],"mappings":";;;;;;;eAEe,CAACA,KAAD,EAAgBC,UAAhB,KACbD,KAAK,CAACE,GAAN,CAAUC,IAAI,KAAK;AAAEA,EAAAA,IAAF;AAAQC,EAAAA,MAAM,EAAEH,UAAU,CAACE,IAAD;AAA1B,CAAL,CAAd,C","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,38 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.default = void 0;
|
9
|
-
|
10
|
-
var _getDirection = _interopRequireDefault(require("./getDirection"));
|
11
|
-
|
12
|
-
var _getIndexesOnLastPage = _interopRequireDefault(require("./getIndexesOnLastPage"));
|
13
|
-
|
14
|
-
var _default = (args, {
|
15
|
-
metadata: {
|
16
|
-
totalPages,
|
17
|
-
totalResults
|
18
|
-
},
|
19
|
-
resultsPerPage
|
20
|
-
}) => {
|
21
|
-
if ((0, _getDirection.default)(args.last) === "backward") {
|
22
|
-
return {
|
23
|
-
index: (0, _getIndexesOnLastPage.default)({
|
24
|
-
resultsPerPage,
|
25
|
-
totalResults
|
26
|
-
}) + 1,
|
27
|
-
page: totalPages
|
28
|
-
};
|
29
|
-
}
|
30
|
-
|
31
|
-
return {
|
32
|
-
index: -1,
|
33
|
-
page: 1
|
34
|
-
};
|
35
|
-
};
|
36
|
-
|
37
|
-
exports.default = _default;
|
38
|
-
//# sourceMappingURL=makeEntry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/makeEntry.ts"],"names":["args","metadata","totalPages","totalResults","resultsPerPage","last","index","page"],"mappings":";;;;;;;;;AACA;;AACA;;eAOe,CAACA,IAAD,EAA+B;AAAEC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAZ;AAA0CC,EAAAA;AAA1C,CAA/B,KAAuG;AACpH,MAAI,2BAAaJ,IAAI,CAACK,IAAlB,MAA4B,UAAhC,EAA4C;AAC1C,WAAO;AAAEC,MAAAA,KAAK,EAAE,mCAAqB;AAAEF,QAAAA,cAAF;AAAkBD,QAAAA;AAAlB,OAArB,IAAyD,CAAlE;AAAqEI,MAAAA,IAAI,EAAEL;AAA3E,KAAP;AACD;;AAED,SAAO;AAAEI,IAAAA,KAAK,EAAE,CAAC,CAAV;AAAaC,IAAAA,IAAI,EAAE;AAAnB,GAAP;AACD,C","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,21 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
|
8
|
-
var _default = (cachedEdges, missingCachedEdges) => cachedEdges.reduce((mergedCachedEdges, cachedEdge) => {
|
9
|
-
if (!cachedEdge.edges.length) {
|
10
|
-
const missingCachedEdge = missingCachedEdges.find(missing => missing.pageNumber === cachedEdge.pageNumber);
|
11
|
-
|
12
|
-
if (missingCachedEdge) {
|
13
|
-
return [...mergedCachedEdges, missingCachedEdge];
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
return [...mergedCachedEdges, cachedEdge];
|
18
|
-
}, []);
|
19
|
-
|
20
|
-
exports.default = _default;
|
21
|
-
//# 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":";;;;;;;eAEe,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,C","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,17 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.default = void 0;
|
9
|
-
|
10
|
-
var _pickBy2 = _interopRequireDefault(require("lodash/pickBy"));
|
11
|
-
|
12
|
-
const connectionInputOptions = ["after", "before", "first", "last"];
|
13
|
-
|
14
|
-
var _default = args => (0, _pickBy2.default)(args, (_value, key) => !connectionInputOptions.includes(key));
|
15
|
-
|
16
|
-
exports.default = _default;
|
17
|
-
//# sourceMappingURL=removeConnectionInputOptions.js.map
|
@@ -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;;eAEkCC,IAAnB,IAA+B,sBAAOA,IAAP,EAAa,CAACC,MAAD,EAASC,GAAT,KAAiB,CAACH,sBAAsB,CAACI,QAAvB,CAAgCD,GAAhC,CAA/B,C","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,66 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
6
|
-
value: true
|
7
|
-
});
|
8
|
-
exports.default = void 0;
|
9
|
-
|
10
|
-
require("core-js/modules/es.promise.js");
|
11
|
-
|
12
|
-
var _cacheCursors = _interopRequireDefault(require("./cacheCursors"));
|
13
|
-
|
14
|
-
var _makeEdges = _interopRequireDefault(require("./makeEdges"));
|
15
|
-
|
16
|
-
const requestAndCachePages = async (pages, {
|
17
|
-
cursorCache,
|
18
|
-
getters,
|
19
|
-
groupCursor,
|
20
|
-
makeIDCursor,
|
21
|
-
resourceResolver
|
22
|
-
}) => {
|
23
|
-
const errors = [];
|
24
|
-
const cachedEdges = await Promise.all(pages.map(async page => {
|
25
|
-
const {
|
26
|
-
data: pageResultData,
|
27
|
-
errors: pageResultErrors,
|
28
|
-
headers: pageResultHeaders
|
29
|
-
} = await resourceResolver({
|
30
|
-
page
|
31
|
-
});
|
32
|
-
|
33
|
-
if (pageResultData && !(pageResultErrors !== null && pageResultErrors !== void 0 && pageResultErrors.length)) {
|
34
|
-
const edges = (0, _makeEdges.default)(getters.nodes(pageResultData), node => makeIDCursor(node.id));
|
35
|
-
await (0, _cacheCursors.default)(cursorCache, {
|
36
|
-
edges,
|
37
|
-
group: groupCursor,
|
38
|
-
headers: pageResultHeaders,
|
39
|
-
page,
|
40
|
-
totalPages: getters.totalPages(pageResultData),
|
41
|
-
totalResults: getters.totalResults(pageResultData)
|
42
|
-
});
|
43
|
-
return {
|
44
|
-
edges,
|
45
|
-
pageNumber: page
|
46
|
-
};
|
47
|
-
}
|
48
|
-
|
49
|
-
if (pageResultErrors !== null && pageResultErrors !== void 0 && pageResultErrors.length) {
|
50
|
-
errors.push(...pageResultErrors);
|
51
|
-
}
|
52
|
-
|
53
|
-
return {
|
54
|
-
edges: [],
|
55
|
-
pageNumber: page
|
56
|
-
};
|
57
|
-
}));
|
58
|
-
return {
|
59
|
-
cachedEdges,
|
60
|
-
errors
|
61
|
-
};
|
62
|
-
};
|
63
|
-
|
64
|
-
var _default = requestAndCachePages;
|
65
|
-
exports.default = _default;
|
66
|
-
//# sourceMappingURL=requestAndCachePages.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/requestAndCachePages.ts"],"names":["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;;AACA;;AAUA,MAAMA,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,GAAG,wBAAUhB,OAAO,CAACiB,KAAR,CAAcN,cAAd,CAAV,EAAyCO,IAAI,IAAIhB,YAAY,CAACgB,IAAI,CAACC,EAAN,CAA7D,CAAd;AAEA,YAAM,2BAAapB,WAAb,EAA0B;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,OAA1B,CAAN;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;;eAsCeP,oB","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,67 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
|
8
|
-
require("core-js/modules/es.promise.js");
|
9
|
-
|
10
|
-
var _default = async ({
|
11
|
-
count,
|
12
|
-
direction,
|
13
|
-
page,
|
14
|
-
results,
|
15
|
-
resultsPerPage,
|
16
|
-
totalPages,
|
17
|
-
totalResults
|
18
|
-
}, requestCallback) => {
|
19
|
-
const resultsOnLastPage = totalResults % totalPages;
|
20
|
-
const outstanding = count - results;
|
21
|
-
let toRequest;
|
22
|
-
|
23
|
-
if (direction === "forward") {
|
24
|
-
toRequest = Math.ceil(outstanding / resultsPerPage);
|
25
|
-
} else {
|
26
|
-
if (page === totalPages) {
|
27
|
-
if (count <= resultsOnLastPage) {
|
28
|
-
toRequest = 1;
|
29
|
-
} else {
|
30
|
-
toRequest = Math.ceil(count - resultsOnLastPage / resultsPerPage) + 1;
|
31
|
-
}
|
32
|
-
} else {
|
33
|
-
toRequest = Math.ceil(outstanding / resultsPerPage);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
|
-
const promises = [];
|
38
|
-
|
39
|
-
for (let i = 0; i < toRequest; i += 1) {
|
40
|
-
promises.push(requestCallback({
|
41
|
-
nextPage: direction === "forward" ? page + i : page - i
|
42
|
-
}));
|
43
|
-
}
|
44
|
-
|
45
|
-
const missingPages = [];
|
46
|
-
const pageResults = (await Promise.allSettled(promises)).reduce((pages, {
|
47
|
-
status,
|
48
|
-
...rest
|
49
|
-
}, i) => {
|
50
|
-
if (status === "fulfilled") {
|
51
|
-
pages.push(rest.value);
|
52
|
-
}
|
53
|
-
|
54
|
-
if (status === "rejected") {
|
55
|
-
missingPages.push(direction === "forward" ? page + i : page - i);
|
56
|
-
}
|
57
|
-
|
58
|
-
return pages;
|
59
|
-
}, []);
|
60
|
-
return {
|
61
|
-
missingPages,
|
62
|
-
pageResults
|
63
|
-
};
|
64
|
-
};
|
65
|
-
|
66
|
-
exports.default = _default;
|
67
|
-
//# sourceMappingURL=requestOutstandingPages.js.map
|
@@ -1 +0,0 @@
|
|
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":";;;;;;;;;eAYe,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,C","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"}
|