@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,54 +0,0 @@
|
|
1
|
-
import "core-js/modules/es.promise.js";
|
2
|
-
import cacheCursors from "./cacheCursors";
|
3
|
-
import makeEdges from "./makeEdges";
|
4
|
-
|
5
|
-
const requestAndCachePages = async (pages, {
|
6
|
-
cursorCache,
|
7
|
-
getters,
|
8
|
-
groupCursor,
|
9
|
-
makeIDCursor,
|
10
|
-
resourceResolver
|
11
|
-
}) => {
|
12
|
-
const errors = [];
|
13
|
-
const cachedEdges = await Promise.all(pages.map(async page => {
|
14
|
-
const {
|
15
|
-
data: pageResultData,
|
16
|
-
errors: pageResultErrors,
|
17
|
-
headers: pageResultHeaders
|
18
|
-
} = await resourceResolver({
|
19
|
-
page
|
20
|
-
});
|
21
|
-
|
22
|
-
if (pageResultData && !(pageResultErrors !== null && pageResultErrors !== void 0 && pageResultErrors.length)) {
|
23
|
-
const edges = makeEdges(getters.nodes(pageResultData), node => makeIDCursor(node.id));
|
24
|
-
await cacheCursors(cursorCache, {
|
25
|
-
edges,
|
26
|
-
group: groupCursor,
|
27
|
-
headers: pageResultHeaders,
|
28
|
-
page,
|
29
|
-
totalPages: getters.totalPages(pageResultData),
|
30
|
-
totalResults: getters.totalResults(pageResultData)
|
31
|
-
});
|
32
|
-
return {
|
33
|
-
edges,
|
34
|
-
pageNumber: page
|
35
|
-
};
|
36
|
-
}
|
37
|
-
|
38
|
-
if (pageResultErrors !== null && pageResultErrors !== void 0 && pageResultErrors.length) {
|
39
|
-
errors.push(...pageResultErrors);
|
40
|
-
}
|
41
|
-
|
42
|
-
return {
|
43
|
-
edges: [],
|
44
|
-
pageNumber: page
|
45
|
-
};
|
46
|
-
}));
|
47
|
-
return {
|
48
|
-
cachedEdges,
|
49
|
-
errors
|
50
|
-
};
|
51
|
-
};
|
52
|
-
|
53
|
-
export default requestAndCachePages;
|
54
|
-
//# sourceMappingURL=requestAndCachePages.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/requestAndCachePages.ts"],"names":["cacheCursors","makeEdges","requestAndCachePages","pages","cursorCache","getters","groupCursor","makeIDCursor","resourceResolver","errors","cachedEdges","Promise","all","map","page","data","pageResultData","pageResultErrors","headers","pageResultHeaders","length","edges","nodes","node","id","group","totalPages","totalResults","pageNumber","push"],"mappings":";AAEA,OAAOA,YAAP,MAAyB,gBAAzB;AACA,OAAOC,SAAP,MAAsB,aAAtB;;AAUA,MAAMC,oBAAoB,GAAG,OAC3BC,KAD2B,EAE3B;AAAEC,EAAAA,WAAF;AAAeC,EAAAA,OAAf;AAAwBC,EAAAA,WAAxB;AAAqCC,EAAAA,YAArC;AAAmDC,EAAAA;AAAnD,CAF2B,KAGxB;AACH,QAAMC,MAAe,GAAG,EAAxB;AAEA,QAAMC,WAAW,GAAG,MAAMC,OAAO,CAACC,GAAR,CACxBT,KAAK,CAACU,GAAN,CAAU,MAAMC,IAAN,IAAc;AACtB,UAAM;AAAEC,MAAAA,IAAI,EAAEC,cAAR;AAAwBP,MAAAA,MAAM,EAAEQ,gBAAhC;AAAkDC,MAAAA,OAAO,EAAEC;AAA3D,QAAiF,MAAMX,gBAAgB,CAAC;AAC5GM,MAAAA;AAD4G,KAAD,CAA7G;;AAIA,QAAIE,cAAc,IAAI,EAACC,gBAAD,aAACA,gBAAD,eAACA,gBAAgB,CAAEG,MAAnB,CAAtB,EAAiD;AAC/C,YAAMC,KAAK,GAAGpB,SAAS,CAACI,OAAO,CAACiB,KAAR,CAAcN,cAAd,CAAD,EAAgCO,IAAI,IAAIhB,YAAY,CAACgB,IAAI,CAACC,EAAN,CAApD,CAAvB;AAEA,YAAMxB,YAAY,CAACI,WAAD,EAAc;AAC9BiB,QAAAA,KAD8B;AAE9BI,QAAAA,KAAK,EAAEnB,WAFuB;AAG9BY,QAAAA,OAAO,EAAEC,iBAHqB;AAI9BL,QAAAA,IAJ8B;AAK9BY,QAAAA,UAAU,EAAErB,OAAO,CAACqB,UAAR,CAAmBV,cAAnB,CALkB;AAM9BW,QAAAA,YAAY,EAAEtB,OAAO,CAACsB,YAAR,CAAqBX,cAArB;AANgB,OAAd,CAAlB;AASA,aAAO;AAAEK,QAAAA,KAAF;AAASO,QAAAA,UAAU,EAAEd;AAArB,OAAP;AACD;;AAED,QAAIG,gBAAJ,aAAIA,gBAAJ,eAAIA,gBAAgB,CAAEG,MAAtB,EAA8B;AAC5BX,MAAAA,MAAM,CAACoB,IAAP,CAAY,GAAGZ,gBAAf;AACD;;AAED,WAAO;AAAEI,MAAAA,KAAK,EAAE,EAAT;AAAaO,MAAAA,UAAU,EAAEd;AAAzB,KAAP;AACD,GAzBD,CADwB,CAA1B;AA6BA,SAAO;AAAEJ,IAAAA,WAAF;AAAeD,IAAAA;AAAf,GAAP;AACD,CApCD;;AAsCA,eAAeP,oBAAf","sourcesContent":["import Cachemap from \"@cachemap/core\";\nimport { Getters, Node, PlainObject, ResourceResolver } from \"../defs\";\nimport cacheCursors from \"./cacheCursors\";\nimport makeEdges from \"./makeEdges\";\n\nexport type Context<Resource extends PlainObject, ResourceNode extends Node> = {\n cursorCache: Cachemap;\n getters: Getters<Resource, ResourceNode>;\n groupCursor: string;\n makeIDCursor: (id: string | number) => string;\n resourceResolver: ResourceResolver<Resource>;\n};\n\nconst requestAndCachePages = async <Resource extends PlainObject, ResourceNode extends Node>(\n pages: number[],\n { cursorCache, getters, groupCursor, makeIDCursor, resourceResolver }: Context<Resource, ResourceNode>,\n) => {\n const errors: Error[] = [];\n\n const cachedEdges = await Promise.all(\n pages.map(async page => {\n const { data: pageResultData, errors: pageResultErrors, headers: pageResultHeaders } = await resourceResolver({\n page,\n });\n\n if (pageResultData && !pageResultErrors?.length) {\n const edges = makeEdges(getters.nodes(pageResultData), node => makeIDCursor(node.id));\n\n await cacheCursors(cursorCache, {\n edges,\n group: groupCursor,\n headers: pageResultHeaders,\n page,\n totalPages: getters.totalPages(pageResultData),\n totalResults: getters.totalResults(pageResultData),\n });\n\n return { edges, pageNumber: page };\n }\n\n if (pageResultErrors?.length) {\n errors.push(...pageResultErrors);\n }\n\n return { edges: [], pageNumber: page };\n }),\n );\n\n return { cachedEdges, errors };\n};\n\nexport default requestAndCachePages;\n"],"file":"requestAndCachePages.js"}
|
@@ -1,57 +0,0 @@
|
|
1
|
-
import "core-js/modules/es.promise.js";
|
2
|
-
export default (async ({
|
3
|
-
count,
|
4
|
-
direction,
|
5
|
-
page,
|
6
|
-
results,
|
7
|
-
resultsPerPage,
|
8
|
-
totalPages,
|
9
|
-
totalResults
|
10
|
-
}, requestCallback) => {
|
11
|
-
const resultsOnLastPage = totalResults % totalPages;
|
12
|
-
const outstanding = count - results;
|
13
|
-
let toRequest;
|
14
|
-
|
15
|
-
if (direction === "forward") {
|
16
|
-
toRequest = Math.ceil(outstanding / resultsPerPage);
|
17
|
-
} else {
|
18
|
-
if (page === totalPages) {
|
19
|
-
if (count <= resultsOnLastPage) {
|
20
|
-
toRequest = 1;
|
21
|
-
} else {
|
22
|
-
toRequest = Math.ceil(count - resultsOnLastPage / resultsPerPage) + 1;
|
23
|
-
}
|
24
|
-
} else {
|
25
|
-
toRequest = Math.ceil(outstanding / resultsPerPage);
|
26
|
-
}
|
27
|
-
}
|
28
|
-
|
29
|
-
const promises = [];
|
30
|
-
|
31
|
-
for (let i = 0; i < toRequest; i += 1) {
|
32
|
-
promises.push(requestCallback({
|
33
|
-
nextPage: direction === "forward" ? page + i : page - i
|
34
|
-
}));
|
35
|
-
}
|
36
|
-
|
37
|
-
const missingPages = [];
|
38
|
-
const pageResults = (await Promise.allSettled(promises)).reduce((pages, {
|
39
|
-
status,
|
40
|
-
...rest
|
41
|
-
}, i) => {
|
42
|
-
if (status === "fulfilled") {
|
43
|
-
pages.push(rest.value);
|
44
|
-
}
|
45
|
-
|
46
|
-
if (status === "rejected") {
|
47
|
-
missingPages.push(direction === "forward" ? page + i : page - i);
|
48
|
-
}
|
49
|
-
|
50
|
-
return pages;
|
51
|
-
}, []);
|
52
|
-
return {
|
53
|
-
missingPages,
|
54
|
-
pageResults
|
55
|
-
};
|
56
|
-
});
|
57
|
-
//# 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":";AAYA,gBAAe,OACb;AAAEA,EAAAA,KAAF;AAASC,EAAAA,SAAT;AAAoBC,EAAAA,IAApB;AAA0BC,EAAAA,OAA1B;AAAmCC,EAAAA,cAAnC;AAAmDC,EAAAA,UAAnD;AAA+DC,EAAAA;AAA/D,CADa,EAEbC,eAFa,KAGV;AACH,QAAMC,iBAAiB,GAAGF,YAAY,GAAGD,UAAzC;AACA,QAAMI,WAAW,GAAGT,KAAK,GAAGG,OAA5B;AACA,MAAIO,SAAJ;;AAEA,MAAIT,SAAS,KAAK,SAAlB,EAA6B;AAC3BS,IAAAA,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUH,WAAW,GAAGL,cAAxB,CAAZ;AACD,GAFD,MAEO;AACL,QAAIF,IAAI,KAAKG,UAAb,EAAyB;AACvB,UAAIL,KAAK,IAAIQ,iBAAb,EAAgC;AAC9BE,QAAAA,SAAS,GAAG,CAAZ;AACD,OAFD,MAEO;AACLA,QAAAA,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUZ,KAAK,GAAGQ,iBAAiB,GAAGJ,cAAtC,IAAwD,CAApE;AACD;AACF,KAND,MAMO;AACLM,MAAAA,SAAS,GAAGC,IAAI,CAACC,IAAL,CAAUH,WAAW,GAAGL,cAAxB,CAAZ;AACD;AACF;;AAED,QAAMS,QAAQ,GAAG,EAAjB;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,SAApB,EAA+BI,CAAC,IAAI,CAApC,EAAuC;AACrCD,IAAAA,QAAQ,CAACE,IAAT,CAAcR,eAAe,CAAC;AAAES,MAAAA,QAAQ,EAAEf,SAAS,KAAK,SAAd,GAA0BC,IAAI,GAAGY,CAAjC,GAAqCZ,IAAI,GAAGY;AAAxD,KAAD,CAA7B;AACD;;AAED,QAAMG,YAAsB,GAAG,EAA/B;AAEA,QAAMC,WAAW,GAAG,CAAC,MAAMC,OAAO,CAACC,UAAR,CAAmBP,QAAnB,CAAP,EAAqCQ,MAArC,CAA4C,CAACC,KAAD,EAAQ;AAAEC,IAAAA,MAAF;AAAU,OAAGC;AAAb,GAAR,EAA6BV,CAA7B,KAAmC;AACjG,QAAIS,MAAM,KAAK,WAAf,EAA4B;AAC1BD,MAAAA,KAAK,CAACP,IAAN,CAAYS,IAAD,CAAyBC,KAApC;AACD;;AAED,QAAIF,MAAM,KAAK,UAAf,EAA2B;AACzBN,MAAAA,YAAY,CAACF,IAAb,CAAkBd,SAAS,KAAK,SAAd,GAA0BC,IAAI,GAAGY,CAAjC,GAAqCZ,IAAI,GAAGY,CAA9D;AACD;;AAED,WAAOQ,KAAP;AACD,GAVmB,EAUjB,EAViB,CAApB;AAYA,SAAO;AACLL,IAAAA,YADK;AAELC,IAAAA;AAFK,GAAP;AAID,CA9CD","sourcesContent":["export type RequestMissingPagesParams = {\n count: number;\n direction: \"forward\" | \"backward\";\n page: number;\n results: number;\n resultsPerPage: number;\n totalPages: number;\n totalResults: number;\n};\n\nexport type RequestMissingPagesCallback = (params: { nextPage: number }) => Promise<any>;\n\nexport default async (\n { count, direction, page, results, resultsPerPage, totalPages, totalResults }: RequestMissingPagesParams,\n requestCallback: RequestMissingPagesCallback,\n) => {\n const resultsOnLastPage = totalResults % totalPages;\n const outstanding = count - results;\n let toRequest: number;\n\n if (direction === \"forward\") {\n toRequest = Math.ceil(outstanding / resultsPerPage);\n } else {\n if (page === totalPages) {\n if (count <= resultsOnLastPage) {\n toRequest = 1;\n } else {\n toRequest = Math.ceil(count - resultsOnLastPage / resultsPerPage) + 1;\n }\n } else {\n toRequest = Math.ceil(outstanding / resultsPerPage);\n }\n }\n\n const promises = [];\n\n for (let i = 0; i < toRequest; i += 1) {\n promises.push(requestCallback({ nextPage: direction === \"forward\" ? page + i : page - i }));\n }\n\n const missingPages: number[] = [];\n\n const pageResults = (await Promise.allSettled(promises)).reduce((pages, { status, ...rest }, i) => {\n if (status === \"fulfilled\") {\n pages.push((rest as { value: any }).value);\n }\n\n if (status === \"rejected\") {\n missingPages.push(direction === \"forward\" ? page + i : page - i);\n }\n\n return pages;\n }, [] as any[]);\n\n return {\n missingPages,\n pageResults,\n };\n};\n"],"file":"requestOutstandingPages.js"}
|
@@ -1,78 +0,0 @@
|
|
1
|
-
import "core-js/modules/es.promise.js";
|
2
|
-
import extractEdges from "./extractEdges";
|
3
|
-
import extractNodes from "./extractNodes";
|
4
|
-
import getInRangeCachedEdges from "./getInRangeCachedEdges";
|
5
|
-
import { getEndCursor, getStartCursor } from "./getStartAndEndCursors";
|
6
|
-
import mergeCachedEdges from "./mergeCachedEdges";
|
7
|
-
import requestAndCachePages from "./requestAndCachePages";
|
8
|
-
import retrieveCachedConnection from "./retrieveCachedConnection";
|
9
|
-
|
10
|
-
const resolveConnection = async (args, {
|
11
|
-
cursorCache,
|
12
|
-
getters,
|
13
|
-
groupCursor,
|
14
|
-
makeIDCursor,
|
15
|
-
resourceResolver,
|
16
|
-
resultsPerPage
|
17
|
-
}) => {
|
18
|
-
const {
|
19
|
-
cachedEdges,
|
20
|
-
hasNextPage,
|
21
|
-
hasPreviousPage,
|
22
|
-
indexes,
|
23
|
-
missingPages,
|
24
|
-
totalResults
|
25
|
-
} = await retrieveCachedConnection(args, {
|
26
|
-
cursorCache,
|
27
|
-
groupCursor,
|
28
|
-
resultsPerPage
|
29
|
-
});
|
30
|
-
|
31
|
-
if (!missingPages.length) {
|
32
|
-
const edges = extractEdges(cachedEdges);
|
33
|
-
return {
|
34
|
-
edges,
|
35
|
-
errors: [],
|
36
|
-
nodes: extractNodes(edges),
|
37
|
-
pageInfo: {
|
38
|
-
endCursor: getEndCursor(edges),
|
39
|
-
hasNextPage,
|
40
|
-
hasPreviousPage,
|
41
|
-
startCursor: getStartCursor(edges)
|
42
|
-
},
|
43
|
-
totalCount: totalResults
|
44
|
-
};
|
45
|
-
}
|
46
|
-
|
47
|
-
const {
|
48
|
-
cachedEdges: missingCachedEdges,
|
49
|
-
errors
|
50
|
-
} = await requestAndCachePages(missingPages, {
|
51
|
-
cursorCache,
|
52
|
-
getters,
|
53
|
-
groupCursor,
|
54
|
-
makeIDCursor,
|
55
|
-
resourceResolver
|
56
|
-
});
|
57
|
-
const mergedCachedEdges = getInRangeCachedEdges(mergeCachedEdges(cachedEdges, missingCachedEdges), {
|
58
|
-
endIndex: indexes.end,
|
59
|
-
resultsPerPage,
|
60
|
-
startIndex: indexes.start
|
61
|
-
});
|
62
|
-
const edges = extractEdges(mergedCachedEdges);
|
63
|
-
return {
|
64
|
-
edges,
|
65
|
-
errors,
|
66
|
-
nodes: extractNodes(edges),
|
67
|
-
pageInfo: {
|
68
|
-
endCursor: getEndCursor(edges),
|
69
|
-
hasNextPage,
|
70
|
-
hasPreviousPage,
|
71
|
-
startCursor: getStartCursor(edges)
|
72
|
-
},
|
73
|
-
totalCount: totalResults
|
74
|
-
};
|
75
|
-
};
|
76
|
-
|
77
|
-
export default resolveConnection;
|
78
|
-
//# sourceMappingURL=resolveConnection.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/resolveConnection.ts"],"names":["extractEdges","extractNodes","getInRangeCachedEdges","getEndCursor","getStartCursor","mergeCachedEdges","requestAndCachePages","retrieveCachedConnection","resolveConnection","args","cursorCache","getters","groupCursor","makeIDCursor","resourceResolver","resultsPerPage","cachedEdges","hasNextPage","hasPreviousPage","indexes","missingPages","totalResults","length","edges","errors","nodes","pageInfo","endCursor","startCursor","totalCount","missingCachedEdges","mergedCachedEdges","endIndex","end","startIndex","start"],"mappings":";AAEA,OAAOA,YAAP,MAAyB,gBAAzB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,qBAAP,MAAkC,yBAAlC;AACA,SAASC,YAAT,EAAuBC,cAAvB,QAA6C,yBAA7C;AACA,OAAOC,gBAAP,MAA6B,oBAA7B;AACA,OAAOC,oBAAP,MAAiC,wBAAjC;AACA,OAAOC,wBAAP,MAAqC,4BAArC;;AAWA,MAAMC,iBAAiB,GAAG,OACxBC,IADwB,EAExB;AACEC,EAAAA,WADF;AAEEC,EAAAA,OAFF;AAGEC,EAAAA,WAHF;AAIEC,EAAAA,YAJF;AAKEC,EAAAA,gBALF;AAMEC,EAAAA;AANF,CAFwB,KAUrB;AACH,QAAM;AACJC,IAAAA,WADI;AAEJC,IAAAA,WAFI;AAGJC,IAAAA,eAHI;AAIJC,IAAAA,OAJI;AAKJC,IAAAA,YALI;AAMJC,IAAAA;AANI,MAOF,MAAMd,wBAAwB,CAACE,IAAD,EAAO;AACvCC,IAAAA,WADuC;AAEvCE,IAAAA,WAFuC;AAGvCG,IAAAA;AAHuC,GAAP,CAPlC;;AAaA,MAAI,CAACK,YAAY,CAACE,MAAlB,EAA0B;AACxB,UAAMC,KAAK,GAAGvB,YAAY,CAACgB,WAAD,CAA1B;AAEA,WAAO;AACLO,MAAAA,KADK;AAELC,MAAAA,MAAM,EAAE,EAFH;AAGLC,MAAAA,KAAK,EAAExB,YAAY,CAACsB,KAAD,CAHd;AAILG,MAAAA,QAAQ,EAAE;AACRC,QAAAA,SAAS,EAAExB,YAAY,CAACoB,KAAD,CADf;AAERN,QAAAA,WAFQ;AAGRC,QAAAA,eAHQ;AAIRU,QAAAA,WAAW,EAAExB,cAAc,CAACmB,KAAD;AAJnB,OAJL;AAULM,MAAAA,UAAU,EAAER;AAVP,KAAP;AAYD;;AAED,QAAM;AAAEL,IAAAA,WAAW,EAAEc,kBAAf;AAAmCN,IAAAA;AAAnC,MAA8C,MAAMlB,oBAAoB,CAAyBc,YAAzB,EAAuC;AACnHV,IAAAA,WADmH;AAEnHC,IAAAA,OAFmH;AAGnHC,IAAAA,WAHmH;AAInHC,IAAAA,YAJmH;AAKnHC,IAAAA;AALmH,GAAvC,CAA9E;AAQA,QAAMiB,iBAAiB,GAAG7B,qBAAqB,CAACG,gBAAgB,CAACW,WAAD,EAAcc,kBAAd,CAAjB,EAAoD;AACjGE,IAAAA,QAAQ,EAAEb,OAAO,CAACc,GAD+E;AAEjGlB,IAAAA,cAFiG;AAGjGmB,IAAAA,UAAU,EAAEf,OAAO,CAACgB;AAH6E,GAApD,CAA/C;AAMA,QAAMZ,KAAK,GAAGvB,YAAY,CAAC+B,iBAAD,CAA1B;AAEA,SAAO;AACLR,IAAAA,KADK;AAELC,IAAAA,MAFK;AAGLC,IAAAA,KAAK,EAAExB,YAAY,CAACsB,KAAD,CAHd;AAILG,IAAAA,QAAQ,EAAE;AACRC,MAAAA,SAAS,EAAExB,YAAY,CAACoB,KAAD,CADf;AAERN,MAAAA,WAFQ;AAGRC,MAAAA,eAHQ;AAIRU,MAAAA,WAAW,EAAExB,cAAc,CAACmB,KAAD;AAJnB,KAJL;AAULM,IAAAA,UAAU,EAAER;AAVP,GAAP;AAYD,CArED;;AAuEA,eAAeb,iBAAf","sourcesContent":["import Cachemap from \"@cachemap/core\";\nimport { ConnectionInputOptions, Getters, Node, PlainObject, ResourceResolver } from \"../defs\";\nimport extractEdges from \"./extractEdges\";\nimport extractNodes from \"./extractNodes\";\nimport getInRangeCachedEdges from \"./getInRangeCachedEdges\";\nimport { getEndCursor, getStartCursor } from \"./getStartAndEndCursors\";\nimport mergeCachedEdges from \"./mergeCachedEdges\";\nimport requestAndCachePages from \"./requestAndCachePages\";\nimport retrieveCachedConnection from \"./retrieveCachedConnection\";\n\nexport type Context<Resource extends PlainObject, ResourceNode extends Node> = {\n cursorCache: Cachemap;\n getters: Getters<Resource, ResourceNode>;\n groupCursor: string;\n makeIDCursor: (id: string | number) => string;\n resourceResolver: ResourceResolver<Resource>;\n resultsPerPage: number;\n};\n\nconst resolveConnection = async <Resource extends PlainObject, ResourceNode extends Node>(\n args: PlainObject & ConnectionInputOptions,\n {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n resultsPerPage,\n }: Context<Resource, ResourceNode>,\n) => {\n const {\n cachedEdges,\n hasNextPage,\n hasPreviousPage,\n indexes,\n missingPages,\n totalResults,\n } = await retrieveCachedConnection(args, {\n cursorCache,\n groupCursor,\n resultsPerPage,\n });\n\n if (!missingPages.length) {\n const edges = extractEdges(cachedEdges);\n\n return {\n edges,\n errors: [],\n nodes: extractNodes(edges),\n pageInfo: {\n endCursor: getEndCursor(edges),\n hasNextPage,\n hasPreviousPage,\n startCursor: getStartCursor(edges),\n },\n totalCount: totalResults,\n };\n }\n\n const { cachedEdges: missingCachedEdges, errors } = await requestAndCachePages<Resource, ResourceNode>(missingPages, {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n });\n\n const mergedCachedEdges = getInRangeCachedEdges(mergeCachedEdges(cachedEdges, missingCachedEdges), {\n endIndex: indexes.end,\n resultsPerPage,\n startIndex: indexes.start,\n });\n\n const edges = extractEdges(mergedCachedEdges);\n\n return {\n edges,\n errors,\n nodes: extractNodes(edges),\n pageInfo: {\n endCursor: getEndCursor(edges),\n hasNextPage,\n hasPreviousPage,\n startCursor: getStartCursor(edges),\n },\n totalCount: totalResults,\n };\n};\n\nexport default resolveConnection;\n"],"file":"resolveConnection.js"}
|
@@ -1,70 +0,0 @@
|
|
1
|
-
import "core-js/modules/es.promise.js";
|
2
|
-
import getCursor from "./getCursor";
|
3
|
-
import getInRangeCachedEdges from "./getInRangeCachedEdges";
|
4
|
-
import getPageNumbersToRequest from "./getPageNumbersToRequest";
|
5
|
-
import getPagesMissingFromCache from "./getPagesMissingFromCache";
|
6
|
-
import { getEndIndex, getStartIndex } from "./getStartAndEndIndexes";
|
7
|
-
import { hasNextPage, hasPreviousPage } from "./hasPreviousNextPage";
|
8
|
-
import makeEntry from "./makeEntry";
|
9
|
-
import retrieveCachedEdgesByPage from "./retrieveCachedEdgesByPage";
|
10
|
-
export default (async (args, {
|
11
|
-
cursorCache,
|
12
|
-
groupCursor,
|
13
|
-
resultsPerPage
|
14
|
-
}) => {
|
15
|
-
const metadata = await cursorCache.get(`${groupCursor}-metadata`);
|
16
|
-
const cursor = getCursor(args);
|
17
|
-
const entry = cursor ? await cursorCache.get(cursor) : makeEntry(args, {
|
18
|
-
metadata,
|
19
|
-
resultsPerPage
|
20
|
-
});
|
21
|
-
const startIndex = getStartIndex(args, {
|
22
|
-
entry,
|
23
|
-
resultsPerPage
|
24
|
-
});
|
25
|
-
const endIndex = getEndIndex(args, {
|
26
|
-
entry,
|
27
|
-
metadata,
|
28
|
-
resultsPerPage
|
29
|
-
});
|
30
|
-
const promises = [];
|
31
|
-
const pageNumbersToRequest = getPageNumbersToRequest(args, {
|
32
|
-
endIndex,
|
33
|
-
entry,
|
34
|
-
metadata,
|
35
|
-
resultsPerPage,
|
36
|
-
startIndex
|
37
|
-
});
|
38
|
-
pageNumbersToRequest.forEach(pageNumber => {
|
39
|
-
promises.push(retrieveCachedEdgesByPage(cursorCache, {
|
40
|
-
groupCursor,
|
41
|
-
pageNumber
|
42
|
-
}));
|
43
|
-
});
|
44
|
-
const cachedEdgesByPage = await Promise.all(promises);
|
45
|
-
const missingPages = getPagesMissingFromCache(cachedEdgesByPage);
|
46
|
-
return {
|
47
|
-
cachedEdges: !missingPages.length ? getInRangeCachedEdges(cachedEdgesByPage, {
|
48
|
-
endIndex,
|
49
|
-
resultsPerPage,
|
50
|
-
startIndex
|
51
|
-
}) : cachedEdgesByPage,
|
52
|
-
hasNextPage: hasNextPage({
|
53
|
-
cachedEdgesByPage,
|
54
|
-
endIndex,
|
55
|
-
metadata,
|
56
|
-
resultsPerPage
|
57
|
-
}),
|
58
|
-
hasPreviousPage: hasPreviousPage({
|
59
|
-
cachedEdgesByPage,
|
60
|
-
startIndex
|
61
|
-
}),
|
62
|
-
indexes: {
|
63
|
-
end: endIndex,
|
64
|
-
start: startIndex
|
65
|
-
},
|
66
|
-
missingPages,
|
67
|
-
totalResults: metadata.totalResults
|
68
|
-
};
|
69
|
-
});
|
70
|
-
//# sourceMappingURL=retrieveCachedConnection.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/retrieveCachedConnection.ts"],"names":["getCursor","getInRangeCachedEdges","getPageNumbersToRequest","getPagesMissingFromCache","getEndIndex","getStartIndex","hasNextPage","hasPreviousPage","makeEntry","retrieveCachedEdgesByPage","args","cursorCache","groupCursor","resultsPerPage","metadata","get","cursor","entry","startIndex","endIndex","promises","pageNumbersToRequest","forEach","pageNumber","push","cachedEdgesByPage","Promise","all","missingPages","cachedEdges","length","indexes","end","start","totalResults"],"mappings":";AAEA,OAAOA,SAAP,MAAsB,aAAtB;AACA,OAAOC,qBAAP,MAAkC,yBAAlC;AACA,OAAOC,uBAAP,MAAoC,2BAApC;AACA,OAAOC,wBAAP,MAAqC,4BAArC;AACA,SAASC,WAAT,EAAsBC,aAAtB,QAA2C,yBAA3C;AACA,SAASC,WAAT,EAAsBC,eAAtB,QAA6C,uBAA7C;AACA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,yBAAP,MAAsC,6BAAtC;AAQA,gBAAe,OAAOC,IAAP,EAAqC;AAAEC,EAAAA,WAAF;AAAeC,EAAAA,WAAf;AAA4BC,EAAAA;AAA5B,CAArC,KAA+F;AAC5G,QAAMC,QAAQ,GAAI,MAAMH,WAAW,CAACI,GAAZ,CAAiB,GAAEH,WAAY,WAA/B,CAAxB;AACA,QAAMI,MAAM,GAAGhB,SAAS,CAACU,IAAD,CAAxB;AACA,QAAMO,KAAK,GAAGD,MAAM,GAAG,MAAML,WAAW,CAACI,GAAZ,CAAgBC,MAAhB,CAAT,GAAmCR,SAAS,CAACE,IAAD,EAAO;AAAEI,IAAAA,QAAF;AAAYD,IAAAA;AAAZ,GAAP,CAAhE;AACA,QAAMK,UAAU,GAAGb,aAAa,CAACK,IAAD,EAAO;AAAEO,IAAAA,KAAF;AAASJ,IAAAA;AAAT,GAAP,CAAhC;AACA,QAAMM,QAAQ,GAAGf,WAAW,CAACM,IAAD,EAAO;AAAEO,IAAAA,KAAF;AAASH,IAAAA,QAAT;AAAmBD,IAAAA;AAAnB,GAAP,CAA5B;AACA,QAAMO,QAAgC,GAAG,EAAzC;AACA,QAAMC,oBAAoB,GAAGnB,uBAAuB,CAACQ,IAAD,EAAO;AAAES,IAAAA,QAAF;AAAYF,IAAAA,KAAZ;AAAmBH,IAAAA,QAAnB;AAA6BD,IAAAA,cAA7B;AAA6CK,IAAAA;AAA7C,GAAP,CAApD;AAEAG,EAAAA,oBAAoB,CAACC,OAArB,CAA6BC,UAAU,IAAI;AACzCH,IAAAA,QAAQ,CAACI,IAAT,CAAcf,yBAAyB,CAACE,WAAD,EAAc;AAAEC,MAAAA,WAAF;AAAeW,MAAAA;AAAf,KAAd,CAAvC;AACD,GAFD;AAIA,QAAME,iBAAiB,GAAG,MAAMC,OAAO,CAACC,GAAR,CAAYP,QAAZ,CAAhC;AACA,QAAMQ,YAAY,GAAGzB,wBAAwB,CAACsB,iBAAD,CAA7C;AAEA,SAAO;AACLI,IAAAA,WAAW,EAAE,CAACD,YAAY,CAACE,MAAd,GACT7B,qBAAqB,CAACwB,iBAAD,EAAoB;AAAEN,MAAAA,QAAF;AAAYN,MAAAA,cAAZ;AAA4BK,MAAAA;AAA5B,KAApB,CADZ,GAETO,iBAHC;AAILnB,IAAAA,WAAW,EAAEA,WAAW,CAAC;AACvBmB,MAAAA,iBADuB;AAEvBN,MAAAA,QAFuB;AAGvBL,MAAAA,QAHuB;AAIvBD,MAAAA;AAJuB,KAAD,CAJnB;AAULN,IAAAA,eAAe,EAAEA,eAAe,CAAC;AAAEkB,MAAAA,iBAAF;AAAqBP,MAAAA;AAArB,KAAD,CAV3B;AAWLa,IAAAA,OAAO,EAAE;AAAEC,MAAAA,GAAG,EAAEb,QAAP;AAAiBc,MAAAA,KAAK,EAAEf;AAAxB,KAXJ;AAYLU,IAAAA,YAZK;AAaLM,IAAAA,YAAY,EAAEpB,QAAQ,CAACoB;AAblB,GAAP;AAeD,CA/BD","sourcesContent":["import Cachemap from \"@cachemap/core\";\nimport { CachedEdges, ConnectionInputOptions, CursorGroupMetadata } from \"../defs\";\nimport getCursor from \"./getCursor\";\nimport getInRangeCachedEdges from \"./getInRangeCachedEdges\";\nimport getPageNumbersToRequest from \"./getPageNumbersToRequest\";\nimport getPagesMissingFromCache from \"./getPagesMissingFromCache\";\nimport { getEndIndex, getStartIndex } from \"./getStartAndEndIndexes\";\nimport { hasNextPage, hasPreviousPage } from \"./hasPreviousNextPage\";\nimport makeEntry from \"./makeEntry\";\nimport retrieveCachedEdgesByPage from \"./retrieveCachedEdgesByPage\";\n\nexport type Context = {\n cursorCache: Cachemap;\n groupCursor: string;\n resultsPerPage: number;\n};\n\nexport default async (args: ConnectionInputOptions, { cursorCache, groupCursor, resultsPerPage }: Context) => {\n const metadata = (await cursorCache.get(`${groupCursor}-metadata`)) as CursorGroupMetadata;\n const cursor = getCursor(args);\n const entry = cursor ? await cursorCache.get(cursor) : makeEntry(args, { metadata, resultsPerPage });\n const startIndex = getStartIndex(args, { entry, resultsPerPage });\n const endIndex = getEndIndex(args, { entry, metadata, resultsPerPage });\n const promises: Promise<CachedEdges>[] = [];\n const pageNumbersToRequest = getPageNumbersToRequest(args, { endIndex, entry, metadata, resultsPerPage, startIndex });\n\n pageNumbersToRequest.forEach(pageNumber => {\n promises.push(retrieveCachedEdgesByPage(cursorCache, { groupCursor, pageNumber }));\n });\n\n const cachedEdgesByPage = await Promise.all(promises);\n const missingPages = getPagesMissingFromCache(cachedEdgesByPage);\n\n return {\n cachedEdges: !missingPages.length\n ? getInRangeCachedEdges(cachedEdgesByPage, { endIndex, resultsPerPage, startIndex })\n : cachedEdgesByPage,\n hasNextPage: hasNextPage({\n cachedEdgesByPage,\n endIndex,\n metadata,\n resultsPerPage,\n }),\n hasPreviousPage: hasPreviousPage({ cachedEdgesByPage, startIndex }),\n indexes: { end: endIndex, start: startIndex },\n missingPages,\n totalResults: metadata.totalResults,\n };\n};\n"],"file":"retrieveCachedConnection.js"}
|
@@ -1,35 +0,0 @@
|
|
1
|
-
import "core-js/modules/es.promise.js";
|
2
|
-
export default (async (cursorCache, {
|
3
|
-
groupCursor,
|
4
|
-
pageNumber
|
5
|
-
}) => {
|
6
|
-
const {
|
7
|
-
entries,
|
8
|
-
metadata
|
9
|
-
} = await cursorCache.export({
|
10
|
-
filterByValue: [{
|
11
|
-
keyChain: "page",
|
12
|
-
comparator: pageNumber
|
13
|
-
}, {
|
14
|
-
keyChain: "group",
|
15
|
-
comparator: groupCursor
|
16
|
-
}]
|
17
|
-
});
|
18
|
-
return {
|
19
|
-
edges: entries.reduce((cached, [key, {
|
20
|
-
index,
|
21
|
-
node
|
22
|
-
}]) => {
|
23
|
-
if (metadata[index].cacheability.checkTTL()) {
|
24
|
-
cached[index] = {
|
25
|
-
cursor: key,
|
26
|
-
node
|
27
|
-
};
|
28
|
-
}
|
29
|
-
|
30
|
-
return cached;
|
31
|
-
}, []),
|
32
|
-
pageNumber
|
33
|
-
};
|
34
|
-
});
|
35
|
-
//# sourceMappingURL=retrieveCachedEdgesByPage.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/retrieveCachedEdgesByPage.ts"],"names":["cursorCache","groupCursor","pageNumber","entries","metadata","export","filterByValue","keyChain","comparator","edges","reduce","cached","key","index","node","cacheability","checkTTL","cursor"],"mappings":";AAQA,gBAAe,OAAOA,WAAP,EAA8B;AAAEC,EAAAA,WAAF;AAAeC,EAAAA;AAAf,CAA9B,KAAuE;AACpF,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAyB,MAAMJ,WAAW,CAACK,MAAZ,CAAmB;AACtDC,IAAAA,aAAa,EAAE,CACb;AAAEC,MAAAA,QAAQ,EAAE,MAAZ;AAAoBC,MAAAA,UAAU,EAAEN;AAAhC,KADa,EAEb;AAAEK,MAAAA,QAAQ,EAAE,OAAZ;AAAqBC,MAAAA,UAAU,EAAEP;AAAjC,KAFa;AADuC,GAAnB,CAArC;AAOA,SAAO;AACLQ,IAAAA,KAAK,EAAEN,OAAO,CAACO,MAAR,CAAe,CAACC,MAAD,EAAS,CAACC,GAAD,EAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAN,CAAT,KAAoC;AACxD,UAAIV,QAAQ,CAACS,KAAD,CAAR,CAAgBE,YAAhB,CAA6BC,QAA7B,EAAJ,EAA6C;AAC3CL,QAAAA,MAAM,CAACE,KAAD,CAAN,GAAgB;AAAEI,UAAAA,MAAM,EAAEL,GAAV;AAAeE,UAAAA;AAAf,SAAhB;AACD;;AAED,aAAOH,MAAP;AACD,KANM,EAMJ,EANI,CADF;AAQLT,IAAAA;AARK,GAAP;AAUD,CAlBD","sourcesContent":["import Cachemap, { ExportResult } from \"@cachemap/core\";\nimport { Edge } from \"../defs\";\n\nexport type Context = {\n groupCursor: string;\n pageNumber: number;\n};\n\nexport default async (cursorCache: Cachemap, { groupCursor, pageNumber }: Context) => {\n const { entries, metadata } = (await cursorCache.export({\n filterByValue: [\n { keyChain: \"page\", comparator: pageNumber },\n { keyChain: \"group\", comparator: groupCursor },\n ],\n })) as ExportResult;\n\n return {\n edges: entries.reduce((cached, [key, { index, node }]) => {\n if (metadata[index].cacheability.checkTTL()) {\n cached[index] = { cursor: key, node };\n }\n\n return cached;\n }, [] as Edge[]),\n pageNumber,\n };\n};\n"],"file":"retrieveCachedEdgesByPage.js"}
|
@@ -1,71 +0,0 @@
|
|
1
|
-
import "core-js/modules/es.promise.js";
|
2
|
-
import { GraphQLError } from "graphql";
|
3
|
-
import getCursor from "./getCursor";
|
4
|
-
import getDirection from "./getDirection";
|
5
|
-
import isCursorFirst from "./isCursorFirst";
|
6
|
-
import isCursorLast from "./isCursorLast";
|
7
|
-
export default (async ({
|
8
|
-
after,
|
9
|
-
before,
|
10
|
-
first,
|
11
|
-
last
|
12
|
-
}, {
|
13
|
-
fieldNodes
|
14
|
-
}, {
|
15
|
-
cursorCache,
|
16
|
-
groupCursor,
|
17
|
-
resultsPerPage
|
18
|
-
}) => {
|
19
|
-
if (after && !first && !last) {
|
20
|
-
return new GraphQLError("Invalid connection argument combination. `after` must be used in combination with `first`.", fieldNodes);
|
21
|
-
}
|
22
|
-
|
23
|
-
if (after && last) {
|
24
|
-
return new GraphQLError("Invalid connection argument combination. `after` cannot be used in combination with `last`.", fieldNodes);
|
25
|
-
}
|
26
|
-
|
27
|
-
if (before && !last && !first) {
|
28
|
-
return new GraphQLError("Invalid connection argument combination. `before` must be used in combination with `last`.", fieldNodes);
|
29
|
-
}
|
30
|
-
|
31
|
-
if (before && first) {
|
32
|
-
return new GraphQLError("Invalid connection argument combination. `before` cannot be used in combination with `first`.", fieldNodes);
|
33
|
-
}
|
34
|
-
|
35
|
-
const metadata = await cursorCache.get(`${groupCursor}-metadata`);
|
36
|
-
|
37
|
-
if (!metadata) {
|
38
|
-
return new GraphQLError("Curser cannot be supplied without previously being provided.", fieldNodes);
|
39
|
-
}
|
40
|
-
|
41
|
-
const cursor = getCursor({
|
42
|
-
after,
|
43
|
-
before
|
44
|
-
});
|
45
|
-
const entry = await cursorCache.get(cursor);
|
46
|
-
|
47
|
-
if (!entry) {
|
48
|
-
return new GraphQLError(`The cursor ${cursor} could not be found.`, fieldNodes);
|
49
|
-
}
|
50
|
-
|
51
|
-
const direction = getDirection(last);
|
52
|
-
|
53
|
-
if (isCursorLast({
|
54
|
-
direction,
|
55
|
-
entry,
|
56
|
-
resultsPerPage,
|
57
|
-
...metadata
|
58
|
-
})) {
|
59
|
-
return new GraphQLError(`The cursor ${cursor} is the last, you cannot go forward any further.`, fieldNodes);
|
60
|
-
}
|
61
|
-
|
62
|
-
if (isCursorFirst({
|
63
|
-
direction,
|
64
|
-
entry
|
65
|
-
})) {
|
66
|
-
return new GraphQLError(`The cursor ${cursor} is the first, you cannot go backward any further.`, fieldNodes);
|
67
|
-
}
|
68
|
-
|
69
|
-
return undefined;
|
70
|
-
});
|
71
|
-
//# sourceMappingURL=validateCursor.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/validateCursor.ts"],"names":["GraphQLError","getCursor","getDirection","isCursorFirst","isCursorLast","after","before","first","last","fieldNodes","cursorCache","groupCursor","resultsPerPage","metadata","get","cursor","entry","direction","undefined"],"mappings":";AACA,SAASA,YAAT,QAAiD,SAAjD;AAEA,OAAOC,SAAP,MAAsB,aAAtB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AAQA,gBAAe,OACb;AAAEC,EAAAA,KAAF;AAASC,EAAAA,MAAT;AAAiBC,EAAAA,KAAjB;AAAwBC,EAAAA;AAAxB,CADa,EAEb;AAAEC,EAAAA;AAAF,CAFa,EAGb;AAAEC,EAAAA,WAAF;AAAeC,EAAAA,WAAf;AAA4BC,EAAAA;AAA5B,CAHa,KAIV;AACH,MAAIP,KAAK,IAAI,CAACE,KAAV,IAAmB,CAACC,IAAxB,EAA8B;AAC5B,WAAO,IAAIR,YAAJ,CACL,4FADK,EAELS,UAFK,CAAP;AAID;;AAED,MAAIJ,KAAK,IAAIG,IAAb,EAAmB;AACjB,WAAO,IAAIR,YAAJ,CACL,6FADK,EAELS,UAFK,CAAP;AAID;;AAED,MAAIH,MAAM,IAAI,CAACE,IAAX,IAAmB,CAACD,KAAxB,EAA+B;AAC7B,WAAO,IAAIP,YAAJ,CACL,4FADK,EAELS,UAFK,CAAP;AAID;;AAED,MAAIH,MAAM,IAAIC,KAAd,EAAqB;AACnB,WAAO,IAAIP,YAAJ,CACL,+FADK,EAELS,UAFK,CAAP;AAID;;AAED,QAAMI,QAAQ,GAAI,MAAMH,WAAW,CAACI,GAAZ,CAAiB,GAAEH,WAAY,WAA/B,CAAxB;;AAEA,MAAI,CAACE,QAAL,EAAe;AACb,WAAO,IAAIb,YAAJ,CAAiB,8DAAjB,EAAiFS,UAAjF,CAAP;AACD;;AAED,QAAMM,MAAM,GAAGd,SAAS,CAAC;AAAEI,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAD,CAAxB;AACA,QAAMU,KAAK,GAAI,MAAMN,WAAW,CAACI,GAAZ,CAAgBC,MAAhB,CAArB;;AAEA,MAAI,CAACC,KAAL,EAAY;AACV,WAAO,IAAIhB,YAAJ,CAAkB,cAAae,MAAO,sBAAtC,EAA6DN,UAA7D,CAAP;AACD;;AAED,QAAMQ,SAAS,GAAGf,YAAY,CAACM,IAAD,CAA9B;;AAEA,MAAIJ,YAAY,CAAC;AAAEa,IAAAA,SAAF;AAAaD,IAAAA,KAAb;AAAoBJ,IAAAA,cAApB;AAAoC,OAAGC;AAAvC,GAAD,CAAhB,EAAqE;AACnE,WAAO,IAAIb,YAAJ,CAAkB,cAAae,MAAO,kDAAtC,EAAyFN,UAAzF,CAAP;AACD;;AAED,MAAIN,aAAa,CAAC;AAAEc,IAAAA,SAAF;AAAaD,IAAAA;AAAb,GAAD,CAAjB,EAAyC;AACvC,WAAO,IAAIhB,YAAJ,CAAkB,cAAae,MAAO,oDAAtC,EAA2FN,UAA3F,CAAP;AACD;;AAED,SAAOS,SAAP;AACD,CAzDD","sourcesContent":["import Cachemap from \"@cachemap/core\";\nimport { GraphQLError, GraphQLResolveInfo } from \"graphql\";\nimport { ConnectionInputOptions, CursorCacheEntry, CursorGroupMetadata } from \"../defs\";\nimport getCursor from \"./getCursor\";\nimport getDirection from \"./getDirection\";\nimport isCursorFirst from \"./isCursorFirst\";\nimport isCursorLast from \"./isCursorLast\";\n\nexport type Context = {\n cursorCache: Cachemap;\n groupCursor: string;\n resultsPerPage: number;\n};\n\nexport default async (\n { after, before, first, last }: ConnectionInputOptions,\n { fieldNodes }: GraphQLResolveInfo,\n { cursorCache, groupCursor, resultsPerPage }: Context,\n) => {\n if (after && !first && !last) {\n return new GraphQLError(\n \"Invalid connection argument combination. `after` must be used in combination with `first`.\",\n fieldNodes,\n );\n }\n\n if (after && last) {\n return new GraphQLError(\n \"Invalid connection argument combination. `after` cannot be used in combination with `last`.\",\n fieldNodes,\n );\n }\n\n if (before && !last && !first) {\n return new GraphQLError(\n \"Invalid connection argument combination. `before` must be used in combination with `last`.\",\n fieldNodes,\n );\n }\n\n if (before && first) {\n return new GraphQLError(\n \"Invalid connection argument combination. `before` cannot be used in combination with `first`.\",\n fieldNodes,\n );\n }\n\n const metadata = (await cursorCache.get(`${groupCursor}-metadata`)) as CursorGroupMetadata | undefined;\n\n if (!metadata) {\n return new GraphQLError(\"Curser cannot be supplied without previously being provided.\", fieldNodes);\n }\n\n const cursor = getCursor({ after, before }) as string;\n const entry = (await cursorCache.get(cursor)) as CursorCacheEntry | undefined;\n\n if (!entry) {\n return new GraphQLError(`The cursor ${cursor} could not be found.`, fieldNodes);\n }\n\n const direction = getDirection(last);\n\n if (isCursorLast({ direction, entry, resultsPerPage, ...metadata })) {\n return new GraphQLError(`The cursor ${cursor} is the last, you cannot go forward any further.`, fieldNodes);\n }\n\n if (isCursorFirst({ direction, entry })) {\n return new GraphQLError(`The cursor ${cursor} is the first, you cannot go backward any further.`, fieldNodes);\n }\n\n return undefined;\n};\n"],"file":"validateCursor.js"}
|
package/lib/module/index.js
DELETED
package/lib/module/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":["default","removeConnectionInputOptions","connectionResolver"],"mappings":"AAAA,cAAc,QAAd;AACA,SAASA,OAAO,IAAIC,4BAApB,QAAwD,wCAAxD;AACA,SAASD,OAAT,EAAkBE,kBAAlB,QAA4C,QAA5C","sourcesContent":["export * from \"./defs\";\nexport { default as removeConnectionInputOptions } from \"./helpers/removeConnectionInputOptions\";\nexport { default, connectionResolver } from \"./main\";\n"],"file":"index.js"}
|
package/lib/module/main/index.js
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
import "core-js/modules/es.promise.js";
|
2
|
-
import isCursorSupplied from "../helpers/isCursorSupplied";
|
3
|
-
import requestAndCachePages from "../helpers/requestAndCachePages";
|
4
|
-
import resolveConnection from "../helpers/resolveConnection";
|
5
|
-
import validateCursor from "../helpers/validateCursor";
|
6
|
-
export const connectionResolver = ({
|
7
|
-
cursorCache,
|
8
|
-
createMakeCursors,
|
9
|
-
createResourceResolver,
|
10
|
-
getters,
|
11
|
-
resolver = result => result,
|
12
|
-
resultsPerPage
|
13
|
-
}) => async (source, args, context, info) => {
|
14
|
-
try {
|
15
|
-
const {
|
16
|
-
makeGroupCursor,
|
17
|
-
makeIDCursor
|
18
|
-
} = createMakeCursors(source, args, context, info);
|
19
|
-
const resourceResolver = createResourceResolver(source, args, context, info);
|
20
|
-
const groupCursor = makeGroupCursor();
|
21
|
-
|
22
|
-
if (isCursorSupplied(args)) {
|
23
|
-
const cursorError = await validateCursor(args, info, {
|
24
|
-
cursorCache,
|
25
|
-
groupCursor,
|
26
|
-
resultsPerPage
|
27
|
-
});
|
28
|
-
|
29
|
-
if (cursorError) {
|
30
|
-
return resolver({
|
31
|
-
edges: [],
|
32
|
-
errors: [cursorError],
|
33
|
-
nodes: [],
|
34
|
-
pageInfo: {
|
35
|
-
hasNextPage: false,
|
36
|
-
hasPreviousPage: false
|
37
|
-
},
|
38
|
-
totalCount: 0
|
39
|
-
});
|
40
|
-
}
|
41
|
-
|
42
|
-
return resolver(await resolveConnection(args, {
|
43
|
-
cursorCache,
|
44
|
-
getters,
|
45
|
-
groupCursor,
|
46
|
-
makeIDCursor,
|
47
|
-
resourceResolver,
|
48
|
-
resultsPerPage
|
49
|
-
}));
|
50
|
-
}
|
51
|
-
|
52
|
-
if (await cursorCache.has(`${groupCursor}-metadata`)) {
|
53
|
-
return resolver(await resolveConnection(args, {
|
54
|
-
cursorCache,
|
55
|
-
getters,
|
56
|
-
groupCursor,
|
57
|
-
makeIDCursor,
|
58
|
-
resourceResolver,
|
59
|
-
resultsPerPage
|
60
|
-
}));
|
61
|
-
}
|
62
|
-
|
63
|
-
await requestAndCachePages([1], {
|
64
|
-
cursorCache,
|
65
|
-
getters,
|
66
|
-
groupCursor,
|
67
|
-
makeIDCursor,
|
68
|
-
resourceResolver
|
69
|
-
});
|
70
|
-
return resolver(await resolveConnection(args, {
|
71
|
-
cursorCache,
|
72
|
-
getters,
|
73
|
-
groupCursor,
|
74
|
-
makeIDCursor,
|
75
|
-
resourceResolver,
|
76
|
-
resultsPerPage
|
77
|
-
}));
|
78
|
-
} catch (e) {
|
79
|
-
throw e;
|
80
|
-
}
|
81
|
-
};
|
82
|
-
export default connectionResolver;
|
83
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/main/index.ts"],"names":["isCursorSupplied","requestAndCachePages","resolveConnection","validateCursor","connectionResolver","cursorCache","createMakeCursors","createResourceResolver","getters","resolver","result","resultsPerPage","source","args","context","info","makeGroupCursor","makeIDCursor","resourceResolver","groupCursor","cursorError","edges","errors","nodes","pageInfo","hasNextPage","hasPreviousPage","totalCount","has","e"],"mappings":";AAEA,OAAOA,gBAAP,MAA6B,6BAA7B;AACA,OAAOC,oBAAP,MAAiC,iCAAjC;AACA,OAAOC,iBAAP,MAA8B,8BAA9B;AACA,OAAOC,cAAP,MAA2B,2BAA3B;AAEA,OAAO,MAAMC,kBAAkB,GAAG,CAMhC;AACAC,EAAAA,WADA;AAEAC,EAAAA,iBAFA;AAGAC,EAAAA,sBAHA;AAIAC,EAAAA,OAJA;AAKAC,EAAAA,QAAQ,GAAGC,MAAM,IAAIA,MALrB;AAMAC,EAAAA;AANA,CANgC,KAa8C,OAC9EC,MAD8E,EAE9EC,IAF8E,EAG9EC,OAH8E,EAI9EC,IAJ8E,KAKtD;AACxB,MAAI;AACF,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAoCX,iBAAiB,CAACM,MAAD,EAASC,IAAT,EAAeC,OAAf,EAAwBC,IAAxB,CAA3D;AACA,UAAMG,gBAAgB,GAAGX,sBAAsB,CAACK,MAAD,EAASC,IAAT,EAAeC,OAAf,EAAwBC,IAAxB,CAA/C;AACA,UAAMI,WAAW,GAAGH,eAAe,EAAnC;;AAEA,QAAIhB,gBAAgB,CAACa,IAAD,CAApB,EAA4B;AAC1B,YAAMO,WAAW,GAAG,MAAMjB,cAAc,CAACU,IAAD,EAAOE,IAAP,EAAa;AACnDV,QAAAA,WADmD;AAEnDc,QAAAA,WAFmD;AAGnDR,QAAAA;AAHmD,OAAb,CAAxC;;AAMA,UAAIS,WAAJ,EAAiB;AACf,eAAOX,QAAQ,CAAC;AACdY,UAAAA,KAAK,EAAE,EADO;AAEdC,UAAAA,MAAM,EAAE,CAACF,WAAD,CAFM;AAGdG,UAAAA,KAAK,EAAE,EAHO;AAIdC,UAAAA,QAAQ,EAAE;AACRC,YAAAA,WAAW,EAAE,KADL;AAERC,YAAAA,eAAe,EAAE;AAFT,WAJI;AAQdC,UAAAA,UAAU,EAAE;AARE,SAAD,CAAf;AAUD;;AAED,aAAOlB,QAAQ,CACb,MAAMP,iBAAiB,CAACW,IAAD,EAAO;AAC5BR,QAAAA,WAD4B;AAE5BG,QAAAA,OAF4B;AAG5BW,QAAAA,WAH4B;AAI5BF,QAAAA,YAJ4B;AAK5BC,QAAAA,gBAL4B;AAM5BP,QAAAA;AAN4B,OAAP,CADV,CAAf;AAUD;;AAED,QAAI,MAAMN,WAAW,CAACuB,GAAZ,CAAiB,GAAET,WAAY,WAA/B,CAAV,EAAsD;AACpD,aAAOV,QAAQ,CACb,MAAMP,iBAAiB,CAACW,IAAD,EAAO;AAC5BR,QAAAA,WAD4B;AAE5BG,QAAAA,OAF4B;AAG5BW,QAAAA,WAH4B;AAI5BF,QAAAA,YAJ4B;AAK5BC,QAAAA,gBAL4B;AAM5BP,QAAAA;AAN4B,OAAP,CADV,CAAf;AAUD;;AAED,UAAMV,oBAAoB,CAAyB,CAAC,CAAD,CAAzB,EAA8B;AACtDI,MAAAA,WADsD;AAEtDG,MAAAA,OAFsD;AAGtDW,MAAAA,WAHsD;AAItDF,MAAAA,YAJsD;AAKtDC,MAAAA;AALsD,KAA9B,CAA1B;AAQA,WAAOT,QAAQ,CACb,MAAMP,iBAAiB,CAACW,IAAD,EAAO;AAC5BR,MAAAA,WAD4B;AAE5BG,MAAAA,OAF4B;AAG5BW,MAAAA,WAH4B;AAI5BF,MAAAA,YAJ4B;AAK5BC,MAAAA,gBAL4B;AAM5BP,MAAAA;AAN4B,KAAP,CADV,CAAf;AAUD,GApED,CAoEE,OAAOkB,CAAP,EAAU;AACV,UAAMA,CAAN;AACD;AACF,CA1FM;AA4FP,eAAezB,kBAAf","sourcesContent":["import { GraphQLResolveInfo } from \"graphql\";\nimport { Connection, ConnectionInputOptions, ConnectionResolverUserOptions, Node, PlainObject } from \"../defs\";\nimport isCursorSupplied from \"../helpers/isCursorSupplied\";\nimport requestAndCachePages from \"../helpers/requestAndCachePages\";\nimport resolveConnection from \"../helpers/resolveConnection\";\nimport validateCursor from \"../helpers/validateCursor\";\n\nexport const connectionResolver = <\n Source extends PlainObject | undefined,\n Args extends PlainObject,\n Ctx extends PlainObject,\n Resource extends PlainObject,\n ResourceNode extends Node\n>({\n cursorCache,\n createMakeCursors,\n createResourceResolver,\n getters,\n resolver = result => result,\n resultsPerPage,\n}: ConnectionResolverUserOptions<Source, Args, Ctx, Resource, ResourceNode>) => async (\n source: Source,\n args: Args & ConnectionInputOptions,\n context: Ctx,\n info: GraphQLResolveInfo,\n): Promise<Connection> => {\n try {\n const { makeGroupCursor, makeIDCursor } = createMakeCursors(source, args, context, info);\n const resourceResolver = createResourceResolver(source, args, context, info);\n const groupCursor = makeGroupCursor();\n\n if (isCursorSupplied(args)) {\n const cursorError = await validateCursor(args, info, {\n cursorCache,\n groupCursor,\n resultsPerPage,\n });\n\n if (cursorError) {\n return resolver({\n edges: [],\n errors: [cursorError],\n nodes: [],\n pageInfo: {\n hasNextPage: false,\n hasPreviousPage: false,\n },\n totalCount: 0,\n });\n }\n\n return resolver(\n await resolveConnection(args, {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n resultsPerPage,\n }),\n );\n }\n\n if (await cursorCache.has(`${groupCursor}-metadata`)) {\n return resolver(\n await resolveConnection(args, {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n resultsPerPage,\n }),\n );\n }\n\n await requestAndCachePages<Resource, ResourceNode>([1], {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n });\n\n return resolver(\n await resolveConnection(args, {\n cursorCache,\n getters,\n groupCursor,\n makeIDCursor,\n resourceResolver,\n resultsPerPage,\n }),\n );\n } catch (e) {\n throw e;\n }\n};\n\nexport default connectionResolver;\n"],"file":"index.js"}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import Cachemap from "@cachemap/core";
|
2
|
-
export declare type Params = {
|
3
|
-
group: string;
|
4
|
-
pageRanges?: string[];
|
5
|
-
resultsPerPage?: number;
|
6
|
-
totalPages: number;
|
7
|
-
totalResults: number;
|
8
|
-
};
|
9
|
-
declare const _default: ({ group, pageRanges, resultsPerPage, totalPages, totalResults }: Params) => Promise<Cachemap>;
|
10
|
-
export default _default;
|
11
|
-
//# sourceMappingURL=generateCursorCache.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"generateCursorCache.d.ts","sourceRoot":"","sources":["../../../src/__testUtils__/generateCursorCache.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAMtC,oBAAY,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;0FAE0F,MAAM;AAAlG,wBAyCE"}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
export declare type Params = {
|
2
|
-
resultsPerPage: number;
|
3
|
-
totalPages: number;
|
4
|
-
totalResults: number;
|
5
|
-
};
|
6
|
-
declare const _default: ({ resultsPerPage, totalPages, totalResults }: Params) => (page: number) => {
|
7
|
-
data: {
|
8
|
-
page: number;
|
9
|
-
results: {
|
10
|
-
id: string;
|
11
|
-
}[];
|
12
|
-
totalPages: number;
|
13
|
-
totalResults: number;
|
14
|
-
};
|
15
|
-
headers: Headers;
|
16
|
-
};
|
17
|
-
export default _default;
|
18
|
-
//# sourceMappingURL=generatePageResponse.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"generatePageResponse.d.ts","sourceRoot":"","sources":["../../../src/__testUtils__/generatePageResponse.ts"],"names":[],"mappings":"AAEA,oBAAY,MAAM,GAAG;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;uEAE4D,MAAM,YAAY,MAAM;;;;;;;;;;;AAAtF,wBAUG"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"generatePages.d.ts","sourceRoot":"","sources":["../../../src/__testUtils__/generatePages.ts"],"names":[],"mappings":"qCAE4B,MAAM,EAAE;AAApC,wBASqB"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/defs/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,oBAAY,WAAW,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,oBAAY,IAAI,GAAG,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEzD,oBAAY,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/C,oBAAY,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oBAAY,IAAI,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,gBAAgB,CAAC,QAAQ,SAAS,WAAW,CAAE,SAAQ,QAAQ;IAC9E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;CAClB;AAED,oBAAY,gBAAgB,CAAC,QAAQ,SAAS,WAAW,IAAI,CAAC,IAAI,EAAE;IAClE,IAAI,EAAE,MAAM,CAAC;CACd,KAAK,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE1C,oBAAY,sBAAsB,CAChC,MAAM,SAAS,WAAW,GAAG,SAAS,EACtC,IAAI,SAAS,WAAW,EACxB,GAAG,SAAS,WAAW,EACvB,QAAQ,SAAS,WAAW,IAC1B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAEvG,MAAM,WAAW,OAAO,CAAC,QAAQ,SAAS,WAAW,EAAE,YAAY,SAAS,IAAI;IAC9E,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,YAAY,EAAE,CAAC;IACzC,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,MAAM,CAAC;IAChC,UAAU,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,MAAM,CAAC;IACtC,YAAY,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,6BAA6B,CAC5C,MAAM,SAAS,WAAW,GAAG,SAAS,EACtC,IAAI,SAAS,WAAW,EACxB,GAAG,SAAS,WAAW,EACvB,QAAQ,SAAS,WAAW,EAC5B,YAAY,SAAS,IAAI;IAEzB,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,kBAAkB,KACrB;QACH,eAAe,EAAE,MAAM,MAAM,CAAC;QAC9B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;KAC/C,CAAC;IACF,sBAAsB,EAAE,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5E,WAAW,EAAE,QAAQ,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC;IAC5C,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,kBAAkB,GAAG,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,WAAW,GAAG,sBAAsB,EAC1C,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,kBAAkB,KACrB,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,oBAAY,sBAAsB,GAAG;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC"}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
import Cachemap from "@cachemap/core";
|
2
|
-
import { Edge } from "../defs";
|
3
|
-
export declare type Params = {
|
4
|
-
edges: Edge[];
|
5
|
-
group: string;
|
6
|
-
headers: Headers;
|
7
|
-
page: number;
|
8
|
-
totalPages: number;
|
9
|
-
totalResults: number;
|
10
|
-
};
|
11
|
-
declare const _default: (cursorCache: Cachemap, { edges, group, headers, page, totalPages, totalResults }: Params) => Promise<void>;
|
12
|
-
export default _default;
|
13
|
-
//# sourceMappingURL=cacheCursors.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"cacheCursors.d.ts","sourceRoot":"","sources":["../../../src/helpers/cacheCursors.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,oBAAY,MAAM,GAAG;IACnB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;sCAEiC,QAAQ,6DAA6D,MAAM;AAA9G,wBASE"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"extractEdges.d.ts","sourceRoot":"","sources":["../../../src/helpers/extractEdges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;sCAEf,WAAW,EAAE;AAA1C,wBAC2F"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"extractNodes.d.ts","sourceRoot":"","sources":["../../../src/helpers/extractNodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;gCAER,IAAI,EAAE;AAA7B,wBAA+D"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"getCount.d.ts","sourceRoot":"","sources":["../../../src/helpers/getCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;0CAEhB,sBAAsB;AAAvD,wBAAsF"}
|