Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions contributors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,4 @@
- xavier-lc
- xcsnowcity
- yuleicul
- bennyk8y
6 changes: 3 additions & 3 deletions packages/router/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1047,15 +1047,15 @@ export interface TrackedPromise extends Promise<any> {

export class AbortedDeferredError extends Error {}

export class DeferredData {
export class DeferredData<Data = Record<string, unknown>> {
private pendingKeys: Set<string | number> = new Set<string | number>();
private controller: AbortController;
private abortPromise: Promise<void>;
private unlistenAbortSignal: () => void;
private subscriber?: (aborted: boolean) => void = undefined;
data: Record<string, unknown>;
data: Data;

constructor(data: Record<string, unknown>) {
constructor(data: Data) {
invariant(
data && typeof data === "object" && !Array.isArray(data),
"defer() only accepts plain objects"
Expand Down