@luvio/compiler 0.138.4 → 0.138.5
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.
|
@@ -293,17 +293,29 @@ const OPTIMIZE_PAGINATION = (0, deindent_1.default) `
|
|
|
293
293
|
afterArgName: string,
|
|
294
294
|
variables: any,
|
|
295
295
|
): void {
|
|
296
|
-
if (typeof metadata === 'object' && metadata !== null
|
|
296
|
+
if (typeof metadata === 'object' && metadata !== null) {
|
|
297
|
+
const requestedAfterCursor = variables[afterArgName];
|
|
298
|
+
const afterCursorOffset = offsetFromToken(metadata, requestedAfterCursor);
|
|
297
299
|
// optimize only if after cursor is unspecified in the request or it's already loaded in metadata
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
const
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
300
|
+
if(afterCursorOffset >= 0) {
|
|
301
|
+
const requestedItems = variables[firstArgName];
|
|
302
|
+
const atMostOffset = afterCursorOffset + requestedItems; // The largest offset we care about for this page.
|
|
303
|
+
const lastTokenAndOffset = tokenForAtMost(metadata, atMostOffset);
|
|
304
|
+
if (lastTokenAndOffset !== undefined) {
|
|
305
|
+
const [token, offset] = lastTokenAndOffset;
|
|
306
|
+
const isSubpage = atMostOffset === offset; // We already have all the cursors we seem to need
|
|
307
|
+
const isExactPagination = atMostOffset === offset + requestedItems; // Using the last cursor we have to paginate
|
|
308
|
+
|
|
309
|
+
if(!(isSubpage || isExactPagination)) { // If we're asking for more than we have, only request what we're missing.
|
|
310
|
+
const existingItems = afterCursorOffset === 0 ? offset + 1: offset - afterCursorOffset;
|
|
311
|
+
const itemsToRequest = requestedItems - existingItems;
|
|
312
|
+
variables[firstArgName + '${constants_2.PAGINATION_OPTIMIZATION_ORIGINAL_VARIABLE_SUFFIX}'] = requestedItems;
|
|
313
|
+
variables[firstArgName] = itemsToRequest;
|
|
314
|
+
variables[afterArgName + '${constants_2.PAGINATION_OPTIMIZATION_ORIGINAL_VARIABLE_SUFFIX}'] = requestedAfterCursor;
|
|
315
|
+
variables[afterArgName] = token;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
307
319
|
}
|
|
308
320
|
}
|
|
309
321
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-based.js","sourceRoot":"","sources":["../../../src/codegen/pagination-utils/cursor-based.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA4C;AAC5C,iDAAqD;AACrD,mDAAyE;AACzE,yDAOmC;AACnC,2CAiBqB;AAER,QAAA,8BAA8B,GAAG,eAAe,CAAC;AACjD,QAAA,6BAA6B,GAAG,cAAc,CAAC;AAE5D,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAA;kBACJ,+CAAmC;kBACnC,sCAA8B;kBAC9B,qCAA6B;;;UAGrC,mCAAuB;UACvB,iCAAqB;UACrB,oCAAwB;UACxB,wCAA4B;UAC5B,gCAAoB;;;mBAGX,yCAA6B;;mBAE7B,gDAAoC,KAAK,8CAAkC;;;;mBAI3E,yCAA6B;;;8CAGF,yCAA6B;uBACpD,kDAAsC;;;;;uBAKtC,oCAAwB;;;;;CAK9C,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAA;sBACZ,wCAA4B,IAAI,0CAA8B,KAAK,+CAAmC;;;;;yBAKnG,0CAA8B;;;CAGtD,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAA;sCACI,0CAA8B,KAAK,+CAAmC,+BAA+B,qCAA6B;qCACnI,0CAA8B;;;;kBAIjD,0CAA8B;6BACnB,+BAAmB;;;;;;CAM/C,CAAC;AAEF,MAAM,eAAe,GAAG,IAAA,kBAAQ,EAAA;;UAEtB,0CAA8B,KAAK,+CAAmC;;;;gCAIhD,0CAA8B,IAAI,+BAAmB;;;;;;;;CAQpF,CAAC;AAEF,MAAM,UAAU,GAAG,IAAA,kBAAQ,EAAA;;UAEjB,0CAA8B,KAAK,+CAAmC;;SAEvE,sCAA8B,MAAM,qCAA6B;gCAC1C,0CAA8B,IAAI,+BAAmB;;;qCAGhD,0CAA8B;;;;;CAKlE,CAAC;AAEF,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAA;;UAErB,0CAA8B,KAAK,+CAAmC;;;SAGvE,sCAA8B,MAAM,qCAA6B;;;;;;gCAM1C,0CAA8B,IAAI,+BAAmB;;;;;iCAKpD,0CAA8B;;CAE9D,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAAA;;UAExB,0CAA8B,KAAK,+CAAmC;;;qCAG3C,0CAA8B;;;;;;6BAMtC,0CAA8B;6BAC9B,+BAAmB;;;;;;;;;;;;;;;;CAgB/C,CAAC;AAEF,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAA;sBACT,qCAAyB;4BACnB,+CAAmC;4BACnC,+CAAmC;SACtD,+CAAmC;;;;;;;;;;CAU3C,CAAC;AAEF,MAAM,6BAA6B,GAAG,IAAA,kBAAQ,EAAA;sBACxB,oDAAwC;;;;;;;;;;;;CAY7D,CAAC;AAEF,MAAM,0BAA0B,GAAG,IAAA,kBAAQ,EAAA;;;;sBAIrB,iDAAqC,+CAA+C,+CAAmC;oCACzG,+CAAmC;;;;;;;;;CAStE,CAAC;AAEF,MAAM,yBAAyB,GAAG,IAAA,kBAAQ,EAAA;;UAEhC,0CAA8B,KAAK,+CAAmC;;;;iDAI/B,0CAA8B;;;;;;;8CAOjC,0CAA8B;;;;;;CAM3E,CAAC;AAEF,MAAM,eAAe,GAAG,IAAA,kBAAQ,EAAA;sBACV,sCAA0B;oBAC5B,+CAAmC;;;;sCAIjB,+BAAmB;;;;;kBAKvC,+BAAmB;;;;CAIpC,CAAC;AAEF,MAAM,gBAAgB,GAAG,IAAA,kBAAQ,EAAA;sBACX,uCAA2B;;;;;qBAK5B,+CAAmC;;;;;8CAKV,+BAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2BnD,gCAAoB;;;CAGjC,CAAC;AAEF,MAAM,UAAU,GAAG,IAAA,kBAAQ,EAAA;sBACL,iCAAqB;;;;;;;;;;;;;;;;CAgB1C,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAA,kBAAQ,EAAA;sBACd,0CAA8B;oBAChC,+CAAmC
|
|
1
|
+
{"version":3,"file":"cursor-based.js","sourceRoot":"","sources":["../../../src/codegen/pagination-utils/cursor-based.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luvio/compiler",
|
|
3
|
-
"version": "0.138.
|
|
3
|
+
"version": "0.138.5",
|
|
4
4
|
"description": "Luvio Compiler",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
"test:debug": "node --inspect-brk ../../../node_modules/jest/bin/jest.js --config ./jest.config.js --runInBand"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@luvio/graphql-parser": "^0.138.
|
|
26
|
+
"@luvio/graphql-parser": "^0.138.5",
|
|
27
27
|
"amf-client-js": "4.2.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@luvio/adapter-test-library": "^0.138.
|
|
31
|
-
"@luvio/engine": "^0.138.
|
|
30
|
+
"@luvio/adapter-test-library": "^0.138.5",
|
|
31
|
+
"@luvio/engine": "^0.138.5"
|
|
32
32
|
},
|
|
33
33
|
"volta": {
|
|
34
34
|
"extends": "../../../package.json"
|