@flemo/core 1.12.0 → 1.12.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/dist/core/TaskManger.d.ts +7 -0
- package/dist/core/createRouterScope.d.ts +7 -0
- package/dist/history/__tests__/seedRouterEntry.test.d.ts +1 -0
- package/dist/history/createHistorySync.d.ts +17 -0
- package/dist/history/seedRouterEntry.d.ts +11 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +480 -346
- package/dist/transition/__tests__/registerTransitionDefinitions.test.d.ts +0 -5
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ interface Control {
|
|
|
12
12
|
delay?: number;
|
|
13
13
|
condition?: () => Promise<boolean>;
|
|
14
14
|
signal?: string;
|
|
15
|
+
maxLifetimeMs?: number;
|
|
15
16
|
}
|
|
16
17
|
interface Task<T> {
|
|
17
18
|
id: string;
|
|
@@ -25,12 +26,14 @@ interface Task<T> {
|
|
|
25
26
|
dependencies: string[];
|
|
26
27
|
instanceId: string;
|
|
27
28
|
abortController?: AbortController;
|
|
29
|
+
backstopTimer?: ReturnType<typeof setTimeout>;
|
|
28
30
|
manualResolver?: {
|
|
29
31
|
resolve: (value: TaskResult<T>) => void;
|
|
30
32
|
reject: (error: Error) => void;
|
|
31
33
|
result: T;
|
|
32
34
|
};
|
|
33
35
|
}
|
|
36
|
+
export declare const TRANSITION_GATE_BACKSTOP_MS = 1200;
|
|
34
37
|
declare class TaskManager {
|
|
35
38
|
private tasks;
|
|
36
39
|
private readonly instanceId;
|
|
@@ -39,12 +42,15 @@ declare class TaskManager {
|
|
|
39
42
|
private taskQueue;
|
|
40
43
|
private signalListeners;
|
|
41
44
|
private pendingTaskQueue;
|
|
45
|
+
get pendingTaskIds(): string[];
|
|
42
46
|
private isProcessingPending;
|
|
43
47
|
private acquireLock;
|
|
44
48
|
private releaseLock;
|
|
45
49
|
generateTaskId(): string;
|
|
46
50
|
emitSignal(signalName: string): void;
|
|
47
51
|
private processPendingTasks;
|
|
52
|
+
private pendingWaiters;
|
|
53
|
+
private notifyPendingWaiters;
|
|
48
54
|
private waitForPendingTasks;
|
|
49
55
|
private onTaskStatusChange;
|
|
50
56
|
addTask<T>(execute: Task<T>["execute"], options?: {
|
|
@@ -55,6 +61,7 @@ declare class TaskManager {
|
|
|
55
61
|
dependencies?: string[];
|
|
56
62
|
control?: Control;
|
|
57
63
|
}): Promise<TaskResult<T>>;
|
|
64
|
+
private armBackstop;
|
|
58
65
|
resolveTask(taskId: string): Promise<boolean>;
|
|
59
66
|
resolveAllPending(): Promise<void>;
|
|
60
67
|
}
|
|
@@ -13,6 +13,10 @@ export interface FlemoStores {
|
|
|
13
13
|
driver: HistoryDriver;
|
|
14
14
|
markSelfInduced: () => void;
|
|
15
15
|
consume: () => boolean;
|
|
16
|
+
routerKey?: string;
|
|
17
|
+
zoneEntryId?: string;
|
|
18
|
+
ownsPathname?: (pathname: string) => boolean;
|
|
19
|
+
persistent?: boolean;
|
|
16
20
|
life: {
|
|
17
21
|
alive: boolean;
|
|
18
22
|
};
|
|
@@ -25,5 +29,8 @@ export interface CreateRouterScopeInput {
|
|
|
25
29
|
memory: boolean;
|
|
26
30
|
browserDriver: HistoryDriver | null;
|
|
27
31
|
hostedScope: FlemoStores | null;
|
|
32
|
+
persistKey?: string;
|
|
33
|
+
routerKey?: string;
|
|
34
|
+
zoneEntryId?: string;
|
|
28
35
|
}
|
|
29
36
|
export default function createRouterScope(input: CreateRouterScopeInput): FlemoStores;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -8,5 +8,22 @@ export interface HistorySyncDeps {
|
|
|
8
8
|
};
|
|
9
9
|
driver?: HistoryDriver;
|
|
10
10
|
consume?: () => boolean;
|
|
11
|
+
routerKey?: string;
|
|
12
|
+
zoneEntryId?: string;
|
|
13
|
+
ownsPathname?: (pathname: string) => boolean;
|
|
11
14
|
}
|
|
12
15
|
export default function createHistorySync(deps: HistorySyncDeps): () => void;
|
|
16
|
+
export declare function readRecordedFrame(routerKey: string, pathname: string): unknown;
|
|
17
|
+
interface SyncScope {
|
|
18
|
+
history: HistoryStoreApi;
|
|
19
|
+
navigate: NavigateStoreApi;
|
|
20
|
+
driver: HistoryDriver;
|
|
21
|
+
consume: () => boolean;
|
|
22
|
+
persistent?: boolean;
|
|
23
|
+
routerKey?: string;
|
|
24
|
+
zoneEntryId?: string;
|
|
25
|
+
ownsPathname?: (pathname: string) => boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function ensureScopeHistorySync(scope: SyncScope): void;
|
|
28
|
+
export declare function releaseScopeHistorySync(scope: SyncScope): void;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HistoryDriver } from './historyDriver';
|
|
2
|
+
import { TransitionName } from '../transition/typing';
|
|
3
|
+
export interface SeedRouterEntryInput {
|
|
4
|
+
driver: HistoryDriver;
|
|
5
|
+
routerKey: string | null;
|
|
6
|
+
nested: boolean;
|
|
7
|
+
seedPathname: string;
|
|
8
|
+
defaultTransitionName: TransitionName;
|
|
9
|
+
rootParams: object;
|
|
10
|
+
}
|
|
11
|
+
export default function seedRouterEntry(input: SeedRouterEntryInput): void;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ export { default as TaskManger } from './core/TaskManger';
|
|
|
2
2
|
export { default as createHistoryStore, type History, type HistoryStore, type HistoryStoreApi } from './history/store';
|
|
3
3
|
export { default as seedInitialHistory } from './history/seedInitialHistory';
|
|
4
4
|
export { default as ensureWindowHistoryState } from './history/ensureWindowHistoryState';
|
|
5
|
-
export { default as
|
|
5
|
+
export { default as seedRouterEntry, type SeedRouterEntryInput } from './history/seedRouterEntry';
|
|
6
|
+
export { default as createHistorySync, ensureScopeHistorySync, releaseScopeHistorySync, type HistorySyncDeps } from './history/createHistorySync';
|
|
6
7
|
export { default as createBrowserHistoryDriver, type HistoryDriver, type HistoryNavEvent } from './history/historyDriver';
|
|
7
8
|
export { default as createMemoryHistoryDriver } from './history/memoryHistoryDriver';
|
|
8
9
|
export { default as createNavigateStore, type NavigateStatus, type NavigateStore, type NavigateStoreApi } from './navigate/store';
|