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