@kortix/sdk 0.13.19 → 0.13.20
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/dist/core/client/kortix.d.ts +5 -0
- package/dist/core/client/kortix.d.ts.map +1 -1
- package/dist/core/client/kortix.js +5 -0
- package/dist/core/client/kortix.js.map +1 -1
- package/dist/core/http/api-client.d.ts +7 -0
- package/dist/core/http/api-client.d.ts.map +1 -1
- package/dist/core/http/api-client.js +1 -0
- package/dist/core/http/api-client.js.map +1 -1
- package/dist/core/rest/projects-client/sessions.d.ts +52 -4
- package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
- package/dist/core/rest/projects-client/sessions.js +55 -5
- package/dist/core/rest/projects-client/sessions.js.map +1 -1
- package/dist/kortix.esm.min.js +18 -18
- package/dist/kortix.global.js +18 -18
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/query-keys.d.ts +17 -0
- package/dist/react/query-keys.d.ts.map +1 -1
- package/dist/react/query-keys.js +17 -0
- package/dist/react/query-keys.js.map +1 -1
- package/dist/react/session-cache-write.d.ts +57 -0
- package/dist/react/session-cache-write.d.ts.map +1 -0
- package/dist/react/session-cache-write.js +118 -0
- package/dist/react/session-cache-write.js.map +1 -0
- package/dist/react/use-project-sessions.d.ts +315 -0
- package/dist/react/use-project-sessions.d.ts.map +1 -0
- package/dist/react/use-project-sessions.js +94 -0
- package/dist/react/use-project-sessions.js.map +1 -0
- package/package.json +2 -2
package/dist/react/index.d.ts
CHANGED
|
@@ -32,6 +32,8 @@ export * from './query-keys.js';
|
|
|
32
32
|
export * from './query-contracts.js';
|
|
33
33
|
export * from './use-project-name.js';
|
|
34
34
|
export * from './use-project-session.js';
|
|
35
|
+
export * from './use-project-sessions.js';
|
|
36
|
+
export * from './session-cache-write.js';
|
|
35
37
|
export * from './invalidate-project.js';
|
|
36
38
|
export * from './use-feature-flag.js';
|
|
37
39
|
export { useKortixViewer, fetchKortixViewer, SignInWithKortix, kortixSignInHref, kortixSignOutHref, KORTIX_AUTH_DEFAULT_BASE_PATH, type KortixViewerInfo, type KortixViewerState, type SignInWithKortixProps, } from './sign-in-with-kortix.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAI3B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,sBAAsB,GAC5B,MAAM,6BAA6B,CAAC;AAOrC,cAAc,qBAAqB,CAAC;AAMpC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAOtF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAYlC,OAAO,EACL,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AAEnB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AAInC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,6BAA6B,EAC7B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
|
package/dist/react/index.js
CHANGED
|
@@ -80,6 +80,8 @@ export * from './query-keys.js';
|
|
|
80
80
|
export * from './query-contracts.js';
|
|
81
81
|
export * from './use-project-name.js';
|
|
82
82
|
export * from './use-project-session.js';
|
|
83
|
+
export * from './use-project-sessions.js';
|
|
84
|
+
export * from './session-cache-write.js';
|
|
83
85
|
export * from './invalidate-project.js';
|
|
84
86
|
export * from './use-feature-flag.js';
|
|
85
87
|
// "Sign in with Kortix" — the browser half of `createKortixAuth`
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -224,6 +224,23 @@ export declare const qk: {
|
|
|
224
224
|
* staying strict.
|
|
225
225
|
*/
|
|
226
226
|
readonly sessions: (id: string, scope?: "visible" | "project") => readonly ["kx", "project", string, "sessions", "list", "project" | "visible"];
|
|
227
|
+
/**
|
|
228
|
+
* The PAGED session list — `useInfiniteQuery` over
|
|
229
|
+
* `listProjectSessionsPage`. A separate slot from `sessions(...)` because
|
|
230
|
+
* the two hold different SHAPES: this one caches
|
|
231
|
+
* `{ pages: ProjectSessionPage[], pageParams }`, that one caches a bare
|
|
232
|
+
* `ProjectSession[]`. react-query does not tag a cache entry with the hook
|
|
233
|
+
* that wrote it, so sharing one key between `useQuery` and
|
|
234
|
+
* `useInfiniteQuery` hands each hook the other's shape and both render
|
|
235
|
+
* garbage.
|
|
236
|
+
*
|
|
237
|
+
* It still nests under `sessionsScope(id)`, so the existing prefix
|
|
238
|
+
* invalidation every mutation already performs
|
|
239
|
+
* (`invalidateQueries({ queryKey: qk.project.sessionsScope(id) })`)
|
|
240
|
+
* reaches the paged list too. That is the point of the shared prefix — a
|
|
241
|
+
* new slot must not need a second invalidation nobody remembers to add.
|
|
242
|
+
*/
|
|
243
|
+
readonly sessionsPaged: (id: string, scope?: "visible" | "project") => readonly ["kx", "project", string, "sessions", "list-paged", "project" | "visible"];
|
|
227
244
|
/**
|
|
228
245
|
* One session, by id. Nests directly under the scope-LESS
|
|
229
246
|
* `sessionsScope` prefix, not under a specific `sessions(id, scope)`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../../src/react/query-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,EAAE;IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;;QAED;;;;;;;;;;WAUG;;QAGH;;;;;;;;;;;;;;;;WAgBG;gCACY,MAAM,GAAG,IAAI,GAAG,SAAS;;;QAKxC;;;;iEAIyD;;QAGzD,+EAA+E;oCAC5D,MAAM;;;QAIzB,4DAA4D;6BAChD,MAAM;QAElB;;;;;;;;;;;;;WAaG;+BACW,MAAM;8BAEP,MAAM;QACnB;;;;;;;;;;;WAWG;8BACU,MAAM;QACnB;;;;;;;;;;;;;;;WAeG;mCACe,MAAM;QAExB,iFAAiF;0CACxD,MAAM;QAE/B;;;;;;;;;WASG;qCACiB,MAAM;QAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA+BG;gCACY,MAAM,UAAS,SAAS,GAAG,SAAS;QAGnD;;;;;;WAMG;+BACW,MAAM,aAAa,MAAM;gCAExB,MAAM,aAAa,MAAM;QAExC;;;;;;;;;;;WAWG;sCACkB,MAAM,aAAa,MAAM;QAE9C,qEAAqE;sCAChD,MAAM,aAAa,MAAM;QAE9C,yEAAyE;mCACvD,MAAM,aAAa,MAAM;kCAG1B,MAAM;QACvB,+DAA+D;uCACzC,MAAM,QAAQ,MAAM;QAE1C;;;2DAGmD;gDACpB,MAAM,QAAQ,MAAM;8BAGtC,MAAM;sCACE,MAAM;sCACN,MAAM;QAC3B,yFAAyF;mCACvE,MAAM;QACxB;iFACyE;sCACpD,MAAM;+BAEb,MAAM;QAEpB,yDAAyD;4BAC9C,MAAM;QACjB,iEAAiE;iCACjD,MAAM,SAAS,MAAM;QACrC,oDAAoD;wCAC7B,MAAM,SAAS,MAAM;QAE5C,gDAAgD;sCAC3B,MAAM,SAAS,MAAM;QAG1C;;;;;4CAKoC;gCACrB,MAAM;QAErB;;;;;;;WAOG;6BACS,MAAM;kCACD,MAAM,QAAQ,MAAM;gCAEtB,MAAM;QAErB;;wEAEgE;gCACjD,MAAM;QACrB;;;;;;;;;;WAUG;wCACoB,MAAM;iCAEb,MAAM;wCACC,MAAM;iCACb,MAAM;QAEtB,6EAA6E;+BAC/D,MAAM;uCACE,MAAM,QAAQ,MAAM;qCAEtB,MAAM,QAAQ,MAAM;wCAEjB,MAAM,QAAQ,MAAM;uCAErB,MAAM,QAAQ,MAAM;qCAEtB,MAAM,QAAQ,MAAM;QAExC,wFAAwF;mCACtE,MAAM,MAAM,OAAO,GAAG,IAAI;kCAE3B,MAAM,SAAS,MAAM,GAAG,IAAI;sCAExB,MAAM;mCACT,MAAM;;CAElB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../../src/react/query-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,EAAE;IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;;QAED;;;;;;;;;;WAUG;;QAGH;;;;;;;;;;;;;;;;WAgBG;gCACY,MAAM,GAAG,IAAI,GAAG,SAAS;;;QAKxC;;;;iEAIyD;;QAGzD,+EAA+E;oCAC5D,MAAM;;;QAIzB,4DAA4D;6BAChD,MAAM;QAElB;;;;;;;;;;;;;WAaG;+BACW,MAAM;8BAEP,MAAM;QACnB;;;;;;;;;;;WAWG;8BACU,MAAM;QACnB;;;;;;;;;;;;;;;WAeG;mCACe,MAAM;QAExB,iFAAiF;0CACxD,MAAM;QAE/B;;;;;;;;;WASG;qCACiB,MAAM;QAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA+BG;gCACY,MAAM,UAAS,SAAS,GAAG,SAAS;QAGnD;;;;;;;;;;;;;;;WAeG;qCACiB,MAAM,UAAS,SAAS,GAAG,SAAS;QAGxD;;;;;;WAMG;+BACW,MAAM,aAAa,MAAM;gCAExB,MAAM,aAAa,MAAM;QAExC;;;;;;;;;;;WAWG;sCACkB,MAAM,aAAa,MAAM;QAE9C,qEAAqE;sCAChD,MAAM,aAAa,MAAM;QAE9C,yEAAyE;mCACvD,MAAM,aAAa,MAAM;kCAG1B,MAAM;QACvB,+DAA+D;uCACzC,MAAM,QAAQ,MAAM;QAE1C;;;2DAGmD;gDACpB,MAAM,QAAQ,MAAM;8BAGtC,MAAM;sCACE,MAAM;sCACN,MAAM;QAC3B,yFAAyF;mCACvE,MAAM;QACxB;iFACyE;sCACpD,MAAM;+BAEb,MAAM;QAEpB,yDAAyD;4BAC9C,MAAM;QACjB,iEAAiE;iCACjD,MAAM,SAAS,MAAM;QACrC,oDAAoD;wCAC7B,MAAM,SAAS,MAAM;QAE5C,gDAAgD;sCAC3B,MAAM,SAAS,MAAM;QAG1C;;;;;4CAKoC;gCACrB,MAAM;QAErB;;;;;;;WAOG;6BACS,MAAM;kCACD,MAAM,QAAQ,MAAM;gCAEtB,MAAM;QAErB;;wEAEgE;gCACjD,MAAM;QACrB;;;;;;;;;;WAUG;wCACoB,MAAM;iCAEb,MAAM;wCACC,MAAM;iCACb,MAAM;QAEtB,6EAA6E;+BAC/D,MAAM;uCACE,MAAM,QAAQ,MAAM;qCAEtB,MAAM,QAAQ,MAAM;wCAEjB,MAAM,QAAQ,MAAM;uCAErB,MAAM,QAAQ,MAAM;qCAEtB,MAAM,QAAQ,MAAM;QAExC,wFAAwF;mCACtE,MAAM,MAAM,OAAO,GAAG,IAAI;kCAE3B,MAAM,SAAS,MAAM,GAAG,IAAI;sCAExB,MAAM;mCACT,MAAM;;CAElB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/react/query-keys.js
CHANGED
|
@@ -224,6 +224,23 @@ export const qk = {
|
|
|
224
224
|
* staying strict.
|
|
225
225
|
*/
|
|
226
226
|
sessions: (id, scope = 'visible') => [...qk.project.sessionsScope(id), 'list', scope],
|
|
227
|
+
/**
|
|
228
|
+
* The PAGED session list — `useInfiniteQuery` over
|
|
229
|
+
* `listProjectSessionsPage`. A separate slot from `sessions(...)` because
|
|
230
|
+
* the two hold different SHAPES: this one caches
|
|
231
|
+
* `{ pages: ProjectSessionPage[], pageParams }`, that one caches a bare
|
|
232
|
+
* `ProjectSession[]`. react-query does not tag a cache entry with the hook
|
|
233
|
+
* that wrote it, so sharing one key between `useQuery` and
|
|
234
|
+
* `useInfiniteQuery` hands each hook the other's shape and both render
|
|
235
|
+
* garbage.
|
|
236
|
+
*
|
|
237
|
+
* It still nests under `sessionsScope(id)`, so the existing prefix
|
|
238
|
+
* invalidation every mutation already performs
|
|
239
|
+
* (`invalidateQueries({ queryKey: qk.project.sessionsScope(id) })`)
|
|
240
|
+
* reaches the paged list too. That is the point of the shared prefix — a
|
|
241
|
+
* new slot must not need a second invalidation nobody remembers to add.
|
|
242
|
+
*/
|
|
243
|
+
sessionsPaged: (id, scope = 'visible') => [...qk.project.sessionsScope(id), 'list-paged', scope],
|
|
227
244
|
/**
|
|
228
245
|
* One session, by id. Nests directly under the scope-LESS
|
|
229
246
|
* `sessionsScope` prefix, not under a specific `sessions(id, scope)`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-keys.js","sourceRoot":"","sources":["../../src/react/query-keys.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-keys.js","sourceRoot":"","sources":["../../src/react/query-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Writing to the project-session caches, whatever shape they are in.
|
|
3
|
+
*
|
|
4
|
+
* One project's sessions are cached under three different shapes at once:
|
|
5
|
+
*
|
|
6
|
+
* qk.project.sessions(id, scope) → ProjectSession[]
|
|
7
|
+
* qk.project.sessionsPaged(id, scope) → { pages: ProjectSessionPage[], pageParams }
|
|
8
|
+
* qk.project.session(id, sessionId) → ProjectSession
|
|
9
|
+
*
|
|
10
|
+
* A mutation's optimistic write used to know only the first one, because it was
|
|
11
|
+
* the only one: the sidebar held the project's entire session list in a single
|
|
12
|
+
* flat array. Once that list became a bounded `useInfiniteQuery`
|
|
13
|
+
* (`useProjectSessions`), a write aimed at the flat key stopped reaching the
|
|
14
|
+
* surface the user was looking at — the rename appeared only when the
|
|
15
|
+
* post-mutation refetch landed, which is exactly the delay the optimistic write
|
|
16
|
+
* exists to hide.
|
|
17
|
+
*
|
|
18
|
+
* `updateCachedProjectSessions` writes through all three, so a caller states
|
|
19
|
+
* the change once, in terms of sessions, and never names a cache shape.
|
|
20
|
+
*/
|
|
21
|
+
import type { QueryClient } from '@tanstack/react-query';
|
|
22
|
+
import type { ProjectSession } from '../core/rest/projects-client/sessions.js';
|
|
23
|
+
export type ProjectSessionsUpdater = (sessions: ProjectSession[]) => ProjectSession[];
|
|
24
|
+
/**
|
|
25
|
+
* Apply a sessions updater to ONE cache entry, whatever shape it holds.
|
|
26
|
+
*
|
|
27
|
+
* An unrecognized entry is returned BY REFERENCE, not rebuilt: every entry
|
|
28
|
+
* under the sessions prefix passes through here, and handing react-query a new
|
|
29
|
+
* object for one it did not need to change re-renders that entry's observers
|
|
30
|
+
* for nothing.
|
|
31
|
+
*/
|
|
32
|
+
export declare function applyToCachedSessionShape(cached: unknown, update: ProjectSessionsUpdater): unknown;
|
|
33
|
+
/**
|
|
34
|
+
* Apply `update` to every cached session list for this project — flat, paged,
|
|
35
|
+
* single-row, and every scope — in one call.
|
|
36
|
+
*
|
|
37
|
+
* Prefixed on `qk.project.sessionsScope(projectId)`, the same prefix every
|
|
38
|
+
* mutation already invalidates, so a cache shape added later is covered without
|
|
39
|
+
* finding each writer again.
|
|
40
|
+
*/
|
|
41
|
+
export declare function updateCachedProjectSessions(queryClient: QueryClient, projectId: string, update: ProjectSessionsUpdater): void;
|
|
42
|
+
/**
|
|
43
|
+
* Insert a session at the top of the cached lists, or replace it where it is
|
|
44
|
+
* already cached.
|
|
45
|
+
*
|
|
46
|
+
* Separate from `updateCachedProjectSessions` because an INSERT is not a map:
|
|
47
|
+
* running a prepending updater over a paged cache would add the row to every
|
|
48
|
+
* loaded page. The list is ordered by most recent activity, so a just-created
|
|
49
|
+
* session belongs at the top of the FIRST page and nowhere else.
|
|
50
|
+
*/
|
|
51
|
+
export declare function upsertIntoCachedSessionShape(cached: unknown, session: ProjectSession): unknown;
|
|
52
|
+
/**
|
|
53
|
+
* Insert a session into every cached list for this project, or replace it
|
|
54
|
+
* wherever it is already cached. The optimistic counterpart of a create.
|
|
55
|
+
*/
|
|
56
|
+
export declare function upsertCachedProjectSession(queryClient: QueryClient, projectId: string, session: ProjectSession): void;
|
|
57
|
+
//# sourceMappingURL=session-cache-write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-cache-write.d.ts","sourceRoot":"","sources":["../../src/react/session-cache-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAG5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,CAAC;AAuBtF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAuBlG;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CAKN;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAkC9F;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,GACtB,IAAI,CAKN"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Writing to the project-session caches, whatever shape they are in.
|
|
3
|
+
*
|
|
4
|
+
* One project's sessions are cached under three different shapes at once:
|
|
5
|
+
*
|
|
6
|
+
* qk.project.sessions(id, scope) → ProjectSession[]
|
|
7
|
+
* qk.project.sessionsPaged(id, scope) → { pages: ProjectSessionPage[], pageParams }
|
|
8
|
+
* qk.project.session(id, sessionId) → ProjectSession
|
|
9
|
+
*
|
|
10
|
+
* A mutation's optimistic write used to know only the first one, because it was
|
|
11
|
+
* the only one: the sidebar held the project's entire session list in a single
|
|
12
|
+
* flat array. Once that list became a bounded `useInfiniteQuery`
|
|
13
|
+
* (`useProjectSessions`), a write aimed at the flat key stopped reaching the
|
|
14
|
+
* surface the user was looking at — the rename appeared only when the
|
|
15
|
+
* post-mutation refetch landed, which is exactly the delay the optimistic write
|
|
16
|
+
* exists to hide.
|
|
17
|
+
*
|
|
18
|
+
* `updateCachedProjectSessions` writes through all three, so a caller states
|
|
19
|
+
* the change once, in terms of sessions, and never names a cache shape.
|
|
20
|
+
*/
|
|
21
|
+
import { qk } from './query-keys.js';
|
|
22
|
+
function isPagedSessionCache(value) {
|
|
23
|
+
return (typeof value === 'object' &&
|
|
24
|
+
value !== null &&
|
|
25
|
+
Array.isArray(value.pages));
|
|
26
|
+
}
|
|
27
|
+
function isSessionRow(value) {
|
|
28
|
+
return (typeof value === 'object' &&
|
|
29
|
+
value !== null &&
|
|
30
|
+
typeof value.session_id === 'string');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Apply a sessions updater to ONE cache entry, whatever shape it holds.
|
|
34
|
+
*
|
|
35
|
+
* An unrecognized entry is returned BY REFERENCE, not rebuilt: every entry
|
|
36
|
+
* under the sessions prefix passes through here, and handing react-query a new
|
|
37
|
+
* object for one it did not need to change re-renders that entry's observers
|
|
38
|
+
* for nothing.
|
|
39
|
+
*/
|
|
40
|
+
export function applyToCachedSessionShape(cached, update) {
|
|
41
|
+
if (Array.isArray(cached))
|
|
42
|
+
return update(cached);
|
|
43
|
+
if (isPagedSessionCache(cached)) {
|
|
44
|
+
return {
|
|
45
|
+
...cached,
|
|
46
|
+
pages: cached.pages.map((page) => ({ ...page, items: update(page.items) })),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (isSessionRow(cached)) {
|
|
50
|
+
// A single row is a one-element list as far as the updater is concerned.
|
|
51
|
+
// Matched back BY ID, not by position: an updater that prepends (a session
|
|
52
|
+
// being seeded) would otherwise replace this entry with the new session's
|
|
53
|
+
// row, so `session(projectId, sessionId)` would start answering with a
|
|
54
|
+
// DIFFERENT session. An updater that drops the row (a delete) leaves the
|
|
55
|
+
// entry untouched rather than caching `undefined`, which react-query reads
|
|
56
|
+
// as "never fetched".
|
|
57
|
+
const updated = update([cached]);
|
|
58
|
+
return updated.find((row) => row.session_id === cached.session_id) ?? cached;
|
|
59
|
+
}
|
|
60
|
+
return cached;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Apply `update` to every cached session list for this project — flat, paged,
|
|
64
|
+
* single-row, and every scope — in one call.
|
|
65
|
+
*
|
|
66
|
+
* Prefixed on `qk.project.sessionsScope(projectId)`, the same prefix every
|
|
67
|
+
* mutation already invalidates, so a cache shape added later is covered without
|
|
68
|
+
* finding each writer again.
|
|
69
|
+
*/
|
|
70
|
+
export function updateCachedProjectSessions(queryClient, projectId, update) {
|
|
71
|
+
queryClient.setQueriesData({ queryKey: qk.project.sessionsScope(projectId) }, (cached) => applyToCachedSessionShape(cached, update));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Insert a session at the top of the cached lists, or replace it where it is
|
|
75
|
+
* already cached.
|
|
76
|
+
*
|
|
77
|
+
* Separate from `updateCachedProjectSessions` because an INSERT is not a map:
|
|
78
|
+
* running a prepending updater over a paged cache would add the row to every
|
|
79
|
+
* loaded page. The list is ordered by most recent activity, so a just-created
|
|
80
|
+
* session belongs at the top of the FIRST page and nowhere else.
|
|
81
|
+
*/
|
|
82
|
+
export function upsertIntoCachedSessionShape(cached, session) {
|
|
83
|
+
const upsert = (items) => {
|
|
84
|
+
const index = items.findIndex((row) => row.session_id === session.session_id);
|
|
85
|
+
if (index === -1)
|
|
86
|
+
return [session, ...items];
|
|
87
|
+
const next = items.slice();
|
|
88
|
+
next[index] = session;
|
|
89
|
+
return next;
|
|
90
|
+
};
|
|
91
|
+
if (Array.isArray(cached))
|
|
92
|
+
return upsert(cached);
|
|
93
|
+
if (isPagedSessionCache(cached)) {
|
|
94
|
+
const index = cached.pages.findIndex((page) => page.items.some((row) => row.session_id === session.session_id));
|
|
95
|
+
// Already loaded on some page: replace it there, in place. Only a session
|
|
96
|
+
// the cache has never seen is prepended, and only to page one.
|
|
97
|
+
const target = index === -1 ? 0 : index;
|
|
98
|
+
return {
|
|
99
|
+
...cached,
|
|
100
|
+
pages: cached.pages.map((page, i) => i === target ? { ...page, items: upsert(page.items) } : page),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
// The single-row entry only ever holds ONE session. It is replaced when it is
|
|
104
|
+
// this session, and left alone otherwise — a different session's row is not a
|
|
105
|
+
// list to insert into.
|
|
106
|
+
if (isSessionRow(cached)) {
|
|
107
|
+
return cached.session_id === session.session_id ? session : cached;
|
|
108
|
+
}
|
|
109
|
+
return cached;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Insert a session into every cached list for this project, or replace it
|
|
113
|
+
* wherever it is already cached. The optimistic counterpart of a create.
|
|
114
|
+
*/
|
|
115
|
+
export function upsertCachedProjectSession(queryClient, projectId, session) {
|
|
116
|
+
queryClient.setQueriesData({ queryKey: qk.project.sessionsScope(projectId) }, (cached) => upsertIntoCachedSessionShape(cached, session));
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=session-cache-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-cache-write.js","sourceRoot":"","sources":["../../src/react/session-cache-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The project session list, paged.
|
|
3
|
+
*
|
|
4
|
+
* `GET /projects/:id/sessions` used to answer with every session row the viewer
|
|
5
|
+
* could see. On a project that had accumulated 12,617 sessions that is a
|
|
6
|
+
* multi-megabyte body — and the sidebar re-fetches this list every 5 seconds
|
|
7
|
+
* for as long as ANY one row sits in `queued`/`branching`/`provisioning`, which
|
|
8
|
+
* over twelve thousand rows is effectively always. The browser paid three times
|
|
9
|
+
* per tick: parsing the body, letting react-query structurally share 12k
|
|
10
|
+
* objects, then re-sorting and re-grouping them into sections.
|
|
11
|
+
*
|
|
12
|
+
* The list is now a bounded keyset page (`listProjectSessionsPage`). This module
|
|
13
|
+
* holds the two pure pieces of the `useInfiniteQuery` wiring so they can be
|
|
14
|
+
* tested without mounting react-query, plus the hook itself.
|
|
15
|
+
*/
|
|
16
|
+
import { type ListProjectSessionsOptions, type ProjectSession, type ProjectSessionPage } from '../core/rest/projects-client/sessions.js';
|
|
17
|
+
/**
|
|
18
|
+
* `getNextPageParam`. Returns `undefined` — not `null` — at the end of the
|
|
19
|
+
* list: `undefined` is what react-query reads as "no more pages", and it is
|
|
20
|
+
* what makes `hasNextPage` go false. Handing back `null` leaves `hasNextPage`
|
|
21
|
+
* true and a Load-more button that re-fetches page one forever.
|
|
22
|
+
*/
|
|
23
|
+
export declare function projectSessionsPageParam(page: ProjectSessionPage): string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Flatten the fetched pages into the flat array every consumer of this list
|
|
26
|
+
* already renders.
|
|
27
|
+
*
|
|
28
|
+
* De-duplicates by `session_id`, keeping first occurrence. A session prompted
|
|
29
|
+
* between two page fetches moves to the top of the `updated_at DESC` order, so
|
|
30
|
+
* a row already served on page 1 legitimately reappears on page 2 — keyset
|
|
31
|
+
* paging makes that a shifted window, not a bug to fix server-side. Rendering
|
|
32
|
+
* it twice would hand React two children with the same key.
|
|
33
|
+
*/
|
|
34
|
+
export declare function flattenProjectSessionPages(data: {
|
|
35
|
+
pages: ProjectSessionPage[];
|
|
36
|
+
pageParams: unknown[];
|
|
37
|
+
} | undefined): ProjectSession[];
|
|
38
|
+
export interface UseProjectSessionsOptions extends Pick<ListProjectSessionsOptions, 'scope' | 'limit'> {
|
|
39
|
+
enabled?: boolean;
|
|
40
|
+
/** Milliseconds, or false. Evaluated against the sessions loaded SO FAR. */
|
|
41
|
+
refetchInterval?: number | false | ((sessions: ProjectSession[]) => number | false);
|
|
42
|
+
refetchOnWindowFocus?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* One project's sessions, newest activity first, fetched a page at a time.
|
|
46
|
+
*
|
|
47
|
+
* Returns the flat `sessions` array plus the paging controls, so a list that
|
|
48
|
+
* previously read `data ?? []` changes only where the array comes from.
|
|
49
|
+
*/
|
|
50
|
+
export declare function useProjectSessions(projectId: string, options?: UseProjectSessionsOptions): {
|
|
51
|
+
/**
|
|
52
|
+
* Every page loaded so far, flattened and de-duplicated.
|
|
53
|
+
*
|
|
54
|
+
* A poll refetches EVERY loaded page, so a viewer who has pressed
|
|
55
|
+
* "Load more" several times pays for each of them on every tick. That is
|
|
56
|
+
* the intended trade — it is bounded by what the viewer actually asked to
|
|
57
|
+
* see, where the old behavior was bounded by nothing.
|
|
58
|
+
*/
|
|
59
|
+
sessions: ProjectSession[];
|
|
60
|
+
data: import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>;
|
|
61
|
+
error: Error;
|
|
62
|
+
isError: true;
|
|
63
|
+
isPending: false;
|
|
64
|
+
isLoading: false;
|
|
65
|
+
isLoadingError: false;
|
|
66
|
+
isRefetchError: true;
|
|
67
|
+
isSuccess: false;
|
|
68
|
+
isPlaceholderData: false;
|
|
69
|
+
status: "error";
|
|
70
|
+
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
71
|
+
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
72
|
+
hasNextPage: boolean;
|
|
73
|
+
hasPreviousPage: boolean;
|
|
74
|
+
isFetchNextPageError: boolean;
|
|
75
|
+
isFetchingNextPage: boolean;
|
|
76
|
+
isFetchPreviousPageError: boolean;
|
|
77
|
+
isFetchingPreviousPage: boolean;
|
|
78
|
+
dataUpdatedAt: number;
|
|
79
|
+
errorUpdatedAt: number;
|
|
80
|
+
failureCount: number;
|
|
81
|
+
failureReason: Error | null;
|
|
82
|
+
errorUpdateCount: number;
|
|
83
|
+
isFetched: boolean;
|
|
84
|
+
isFetchedAfterMount: boolean;
|
|
85
|
+
isFetching: boolean;
|
|
86
|
+
isInitialLoading: boolean;
|
|
87
|
+
isPaused: boolean;
|
|
88
|
+
isRefetching: boolean;
|
|
89
|
+
isStale: boolean;
|
|
90
|
+
isEnabled: boolean;
|
|
91
|
+
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
92
|
+
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
93
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>>;
|
|
94
|
+
} | {
|
|
95
|
+
/**
|
|
96
|
+
* Every page loaded so far, flattened and de-duplicated.
|
|
97
|
+
*
|
|
98
|
+
* A poll refetches EVERY loaded page, so a viewer who has pressed
|
|
99
|
+
* "Load more" several times pays for each of them on every tick. That is
|
|
100
|
+
* the intended trade — it is bounded by what the viewer actually asked to
|
|
101
|
+
* see, where the old behavior was bounded by nothing.
|
|
102
|
+
*/
|
|
103
|
+
sessions: ProjectSession[];
|
|
104
|
+
data: import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>;
|
|
105
|
+
error: null;
|
|
106
|
+
isError: false;
|
|
107
|
+
isPending: false;
|
|
108
|
+
isLoading: false;
|
|
109
|
+
isLoadingError: false;
|
|
110
|
+
isRefetchError: false;
|
|
111
|
+
isFetchNextPageError: false;
|
|
112
|
+
isFetchPreviousPageError: false;
|
|
113
|
+
isSuccess: true;
|
|
114
|
+
isPlaceholderData: false;
|
|
115
|
+
status: "success";
|
|
116
|
+
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
117
|
+
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
118
|
+
hasNextPage: boolean;
|
|
119
|
+
hasPreviousPage: boolean;
|
|
120
|
+
isFetchingNextPage: boolean;
|
|
121
|
+
isFetchingPreviousPage: boolean;
|
|
122
|
+
dataUpdatedAt: number;
|
|
123
|
+
errorUpdatedAt: number;
|
|
124
|
+
failureCount: number;
|
|
125
|
+
failureReason: Error | null;
|
|
126
|
+
errorUpdateCount: number;
|
|
127
|
+
isFetched: boolean;
|
|
128
|
+
isFetchedAfterMount: boolean;
|
|
129
|
+
isFetching: boolean;
|
|
130
|
+
isInitialLoading: boolean;
|
|
131
|
+
isPaused: boolean;
|
|
132
|
+
isRefetching: boolean;
|
|
133
|
+
isStale: boolean;
|
|
134
|
+
isEnabled: boolean;
|
|
135
|
+
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
136
|
+
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
137
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>>;
|
|
138
|
+
} | {
|
|
139
|
+
/**
|
|
140
|
+
* Every page loaded so far, flattened and de-duplicated.
|
|
141
|
+
*
|
|
142
|
+
* A poll refetches EVERY loaded page, so a viewer who has pressed
|
|
143
|
+
* "Load more" several times pays for each of them on every tick. That is
|
|
144
|
+
* the intended trade — it is bounded by what the viewer actually asked to
|
|
145
|
+
* see, where the old behavior was bounded by nothing.
|
|
146
|
+
*/
|
|
147
|
+
sessions: ProjectSession[];
|
|
148
|
+
data: undefined;
|
|
149
|
+
error: Error;
|
|
150
|
+
isError: true;
|
|
151
|
+
isPending: false;
|
|
152
|
+
isLoading: false;
|
|
153
|
+
isLoadingError: true;
|
|
154
|
+
isRefetchError: false;
|
|
155
|
+
isFetchNextPageError: false;
|
|
156
|
+
isFetchPreviousPageError: false;
|
|
157
|
+
isSuccess: false;
|
|
158
|
+
isPlaceholderData: false;
|
|
159
|
+
status: "error";
|
|
160
|
+
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
161
|
+
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
162
|
+
hasNextPage: boolean;
|
|
163
|
+
hasPreviousPage: boolean;
|
|
164
|
+
isFetchingNextPage: boolean;
|
|
165
|
+
isFetchingPreviousPage: boolean;
|
|
166
|
+
dataUpdatedAt: number;
|
|
167
|
+
errorUpdatedAt: number;
|
|
168
|
+
failureCount: number;
|
|
169
|
+
failureReason: Error | null;
|
|
170
|
+
errorUpdateCount: number;
|
|
171
|
+
isFetched: boolean;
|
|
172
|
+
isFetchedAfterMount: boolean;
|
|
173
|
+
isFetching: boolean;
|
|
174
|
+
isInitialLoading: boolean;
|
|
175
|
+
isPaused: boolean;
|
|
176
|
+
isRefetching: boolean;
|
|
177
|
+
isStale: boolean;
|
|
178
|
+
isEnabled: boolean;
|
|
179
|
+
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
180
|
+
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
181
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>>;
|
|
182
|
+
} | {
|
|
183
|
+
/**
|
|
184
|
+
* Every page loaded so far, flattened and de-duplicated.
|
|
185
|
+
*
|
|
186
|
+
* A poll refetches EVERY loaded page, so a viewer who has pressed
|
|
187
|
+
* "Load more" several times pays for each of them on every tick. That is
|
|
188
|
+
* the intended trade — it is bounded by what the viewer actually asked to
|
|
189
|
+
* see, where the old behavior was bounded by nothing.
|
|
190
|
+
*/
|
|
191
|
+
sessions: ProjectSession[];
|
|
192
|
+
data: undefined;
|
|
193
|
+
error: null;
|
|
194
|
+
isError: false;
|
|
195
|
+
isPending: true;
|
|
196
|
+
isLoading: true;
|
|
197
|
+
isLoadingError: false;
|
|
198
|
+
isRefetchError: false;
|
|
199
|
+
isFetchNextPageError: false;
|
|
200
|
+
isFetchPreviousPageError: false;
|
|
201
|
+
isSuccess: false;
|
|
202
|
+
isPlaceholderData: false;
|
|
203
|
+
status: "pending";
|
|
204
|
+
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
205
|
+
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
206
|
+
hasNextPage: boolean;
|
|
207
|
+
hasPreviousPage: boolean;
|
|
208
|
+
isFetchingNextPage: boolean;
|
|
209
|
+
isFetchingPreviousPage: boolean;
|
|
210
|
+
dataUpdatedAt: number;
|
|
211
|
+
errorUpdatedAt: number;
|
|
212
|
+
failureCount: number;
|
|
213
|
+
failureReason: Error | null;
|
|
214
|
+
errorUpdateCount: number;
|
|
215
|
+
isFetched: boolean;
|
|
216
|
+
isFetchedAfterMount: boolean;
|
|
217
|
+
isFetching: boolean;
|
|
218
|
+
isInitialLoading: boolean;
|
|
219
|
+
isPaused: boolean;
|
|
220
|
+
isRefetching: boolean;
|
|
221
|
+
isStale: boolean;
|
|
222
|
+
isEnabled: boolean;
|
|
223
|
+
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
224
|
+
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
225
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>>;
|
|
226
|
+
} | {
|
|
227
|
+
/**
|
|
228
|
+
* Every page loaded so far, flattened and de-duplicated.
|
|
229
|
+
*
|
|
230
|
+
* A poll refetches EVERY loaded page, so a viewer who has pressed
|
|
231
|
+
* "Load more" several times pays for each of them on every tick. That is
|
|
232
|
+
* the intended trade — it is bounded by what the viewer actually asked to
|
|
233
|
+
* see, where the old behavior was bounded by nothing.
|
|
234
|
+
*/
|
|
235
|
+
sessions: ProjectSession[];
|
|
236
|
+
data: undefined;
|
|
237
|
+
error: null;
|
|
238
|
+
isError: false;
|
|
239
|
+
isPending: true;
|
|
240
|
+
isLoadingError: false;
|
|
241
|
+
isRefetchError: false;
|
|
242
|
+
isFetchNextPageError: false;
|
|
243
|
+
isFetchPreviousPageError: false;
|
|
244
|
+
isSuccess: false;
|
|
245
|
+
isPlaceholderData: false;
|
|
246
|
+
status: "pending";
|
|
247
|
+
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
248
|
+
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
249
|
+
hasNextPage: boolean;
|
|
250
|
+
hasPreviousPage: boolean;
|
|
251
|
+
isFetchingNextPage: boolean;
|
|
252
|
+
isFetchingPreviousPage: boolean;
|
|
253
|
+
dataUpdatedAt: number;
|
|
254
|
+
errorUpdatedAt: number;
|
|
255
|
+
failureCount: number;
|
|
256
|
+
failureReason: Error | null;
|
|
257
|
+
errorUpdateCount: number;
|
|
258
|
+
isFetched: boolean;
|
|
259
|
+
isFetchedAfterMount: boolean;
|
|
260
|
+
isFetching: boolean;
|
|
261
|
+
isLoading: boolean;
|
|
262
|
+
isInitialLoading: boolean;
|
|
263
|
+
isPaused: boolean;
|
|
264
|
+
isRefetching: boolean;
|
|
265
|
+
isStale: boolean;
|
|
266
|
+
isEnabled: boolean;
|
|
267
|
+
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
268
|
+
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
269
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>>;
|
|
270
|
+
} | {
|
|
271
|
+
/**
|
|
272
|
+
* Every page loaded so far, flattened and de-duplicated.
|
|
273
|
+
*
|
|
274
|
+
* A poll refetches EVERY loaded page, so a viewer who has pressed
|
|
275
|
+
* "Load more" several times pays for each of them on every tick. That is
|
|
276
|
+
* the intended trade — it is bounded by what the viewer actually asked to
|
|
277
|
+
* see, where the old behavior was bounded by nothing.
|
|
278
|
+
*/
|
|
279
|
+
sessions: ProjectSession[];
|
|
280
|
+
data: import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>;
|
|
281
|
+
isError: false;
|
|
282
|
+
error: null;
|
|
283
|
+
isPending: false;
|
|
284
|
+
isLoading: false;
|
|
285
|
+
isLoadingError: false;
|
|
286
|
+
isRefetchError: false;
|
|
287
|
+
isSuccess: true;
|
|
288
|
+
isPlaceholderData: true;
|
|
289
|
+
isFetchNextPageError: false;
|
|
290
|
+
isFetchPreviousPageError: false;
|
|
291
|
+
status: "success";
|
|
292
|
+
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
293
|
+
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
294
|
+
hasNextPage: boolean;
|
|
295
|
+
hasPreviousPage: boolean;
|
|
296
|
+
isFetchingNextPage: boolean;
|
|
297
|
+
isFetchingPreviousPage: boolean;
|
|
298
|
+
dataUpdatedAt: number;
|
|
299
|
+
errorUpdatedAt: number;
|
|
300
|
+
failureCount: number;
|
|
301
|
+
failureReason: Error | null;
|
|
302
|
+
errorUpdateCount: number;
|
|
303
|
+
isFetched: boolean;
|
|
304
|
+
isFetchedAfterMount: boolean;
|
|
305
|
+
isFetching: boolean;
|
|
306
|
+
isInitialLoading: boolean;
|
|
307
|
+
isPaused: boolean;
|
|
308
|
+
isRefetching: boolean;
|
|
309
|
+
isStale: boolean;
|
|
310
|
+
isEnabled: boolean;
|
|
311
|
+
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>, Error>>;
|
|
312
|
+
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
313
|
+
promise: Promise<import("@tanstack/react-query").InfiniteData<ProjectSessionPage, unknown>>;
|
|
314
|
+
};
|
|
315
|
+
//# sourceMappingURL=use-project-sessions.d.ts.map
|