@distilled.cloud/core 1.0.0-rc.5 → 1.0.0-rc.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
package/lib/pagination.js CHANGED
@@ -219,9 +219,16 @@ export const paginateRelay = (operation, input, pagination) => {
219
219
  // `hasNextPage` claims — re-requesting the same cursor would loop.
220
220
  const emptyPage = pagination.items !== undefined &&
221
221
  getItems(response, pagination.items).length === 0;
222
+ // A connection that keeps returning the same `endCursor` with
223
+ // `hasNextPage: true` (Railway `projects` has done this) would
224
+ // otherwise paginate forever.
225
+ const stuckCursor = state.cursor !== undefined &&
226
+ nextCursor !== undefined &&
227
+ nextCursor !== null &&
228
+ nextCursor === state.cursor;
222
229
  const nextState = {
223
230
  cursor: nextCursor ?? undefined,
224
- done: !hasNext || isTerminalToken(nextCursor) || emptyPage,
231
+ done: !hasNext || isTerminalToken(nextCursor) || emptyPage || stuckCursor,
225
232
  };
226
233
  return [response, nextState];
227
234
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@distilled.cloud/core",
3
- "version": "1.0.0-rc.5",
3
+ "version": "1.0.0-rc.7",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/alchemy-run/distilled",
@@ -28,13 +28,13 @@
28
28
  }
29
29
  },
30
30
  "devDependencies": {
31
- "@effect/platform-bun": ">=4.0.0-rc.110 || >=4.0.0",
31
+ "@effect/platform-bun": ">=4.0.0-rc.111 || >=4.0.0",
32
32
  "@types/bun": "latest",
33
33
  "@types/node": "latest",
34
- "effect": ">=4.0.0-rc.110 || >=4.0.0"
34
+ "effect": ">=4.0.0-rc.111 || >=4.0.0"
35
35
  },
36
36
  "peerDependencies": {
37
- "effect": ">=4.0.0-rc.110 || >=4.0.0"
37
+ "effect": ">=4.0.0-rc.111 || >=4.0.0"
38
38
  },
39
39
  "scripts": {
40
40
  "build": "tsc -b"
package/src/pagination.ts CHANGED
@@ -366,10 +366,19 @@ export const paginateRelay = <
366
366
  const emptyPage =
367
367
  pagination.items !== undefined &&
368
368
  getItems(response, pagination.items).length === 0;
369
+ // A connection that keeps returning the same `endCursor` with
370
+ // `hasNextPage: true` (Railway `projects` has done this) would
371
+ // otherwise paginate forever.
372
+ const stuckCursor =
373
+ state.cursor !== undefined &&
374
+ nextCursor !== undefined &&
375
+ nextCursor !== null &&
376
+ nextCursor === state.cursor;
369
377
 
370
378
  const nextState: State = {
371
379
  cursor: nextCursor ?? undefined,
372
- done: !hasNext || isTerminalToken(nextCursor) || emptyPage,
380
+ done:
381
+ !hasNext || isTerminalToken(nextCursor) || emptyPage || stuckCursor,
373
382
  };
374
383
 
375
384
  return [response, nextState] as const;