@syncular/client-plugin-offline-auth-react 0.0.0 → 0.0.6-171
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/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +231 -0
- package/dist/index.js.map +1 -0
- package/package.json +2 -2
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type LoadOfflineAuthStateOptions, type OfflineAuthState, type OfflineLockEvent, type OfflineLockPolicyOptions, type OfflineLockState, type OfflineSubjectIdentity, type OfflineUnlockResult } from '@syncular/client-plugin-offline-auth';
|
|
2
|
+
export interface UseOfflineAuthStateOptions<TSession, TIdentity extends OfflineSubjectIdentity> extends LoadOfflineAuthStateOptions<TSession, TIdentity> {
|
|
3
|
+
initialState?: OfflineAuthState<TSession, TIdentity>;
|
|
4
|
+
}
|
|
5
|
+
export interface UseOfflineAuthStateResult<TSession, TIdentity extends OfflineSubjectIdentity> {
|
|
6
|
+
state: OfflineAuthState<TSession, TIdentity>;
|
|
7
|
+
isLoaded: boolean;
|
|
8
|
+
error: Error | null;
|
|
9
|
+
reload: () => Promise<void>;
|
|
10
|
+
save: (nextState: OfflineAuthState<TSession, TIdentity>) => Promise<void>;
|
|
11
|
+
update: (updater: (previousState: OfflineAuthState<TSession, TIdentity>) => OfflineAuthState<TSession, TIdentity>) => Promise<OfflineAuthState<TSession, TIdentity>>;
|
|
12
|
+
clear: (options?: {
|
|
13
|
+
preserveLastActorId?: boolean;
|
|
14
|
+
}) => Promise<OfflineAuthState<TSession, TIdentity>>;
|
|
15
|
+
}
|
|
16
|
+
export interface UseOfflineLockPolicyOptions extends OfflineLockPolicyOptions {
|
|
17
|
+
enabled?: boolean;
|
|
18
|
+
lockOnMount?: boolean;
|
|
19
|
+
trackWindowActivity?: boolean;
|
|
20
|
+
lockOnDocumentHidden?: boolean;
|
|
21
|
+
activityEvents?: readonly (keyof WindowEventMap)[];
|
|
22
|
+
}
|
|
23
|
+
export interface UseOfflineLockPolicyResult {
|
|
24
|
+
state: OfflineLockState;
|
|
25
|
+
isBlocked: boolean;
|
|
26
|
+
cooldownRemainingMs: number;
|
|
27
|
+
dispatch: (event: OfflineLockEvent) => OfflineLockState;
|
|
28
|
+
lock: () => OfflineLockState;
|
|
29
|
+
forceUnlock: () => OfflineUnlockResult;
|
|
30
|
+
recordActivity: () => OfflineLockState;
|
|
31
|
+
recordFailedUnlock: () => OfflineLockState;
|
|
32
|
+
resetFailures: () => OfflineLockState;
|
|
33
|
+
evaluateIdleTimeout: () => OfflineLockState;
|
|
34
|
+
attemptUnlock: (verify: () => boolean) => OfflineUnlockResult;
|
|
35
|
+
attemptUnlockAsync: (verify: () => boolean | Promise<boolean>) => Promise<OfflineUnlockResult>;
|
|
36
|
+
}
|
|
37
|
+
export declare function useOfflineAuthState<TSession, TIdentity extends OfflineSubjectIdentity>(options: UseOfflineAuthStateOptions<TSession, TIdentity>): UseOfflineAuthStateResult<TSession, TIdentity>;
|
|
38
|
+
export declare function useOfflineLockPolicy(options?: UseOfflineLockPolicyOptions): UseOfflineLockPolicyResult;
|
|
39
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,2BAA2B,EAEhC,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EAEzB,MAAM,sCAAsC,CAAC;AAG9C,MAAM,WAAW,0BAA0B,CACzC,QAAQ,EACR,SAAS,SAAS,sBAAsB,CACxC,SAAQ,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC;IACxD,YAAY,CAAC,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,yBAAyB,CACxC,QAAQ,EACR,SAAS,SAAS,sBAAsB;IAExC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,EAAE,CACN,OAAO,EAAE,CACP,aAAa,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,KACjD,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,KACvC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IACpD,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE;QAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,KAAK,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,cAAc,CAAC,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,gBAAgB,CAAC;IACxD,IAAI,EAAE,MAAM,gBAAgB,CAAC;IAC7B,WAAW,EAAE,MAAM,mBAAmB,CAAC;IACvC,cAAc,EAAE,MAAM,gBAAgB,CAAC;IACvC,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;IAC3C,aAAa,EAAE,MAAM,gBAAgB,CAAC;IACtC,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;IAC5C,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,OAAO,KAAK,mBAAmB,CAAC;IAC9D,kBAAkB,EAAE,CAClB,MAAM,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KACrC,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnC;AAeD,wBAAgB,mBAAmB,CACjC,QAAQ,EACR,SAAS,SAAS,sBAAsB,EAExC,OAAO,EAAE,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,GACvD,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CA4FhD;AAED,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,2BAAgC,GACxC,0BAA0B,CAyL5B"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { applyOfflineLockEvent, attemptOfflineUnlock, attemptOfflineUnlockAsync, clearOfflineAuthState, createEmptyOfflineAuthState, createOfflineLockState, isOfflineLockBlocked, loadOfflineAuthState, saveOfflineAuthState, } from '@syncular/client-plugin-offline-auth';
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
+
const DEFAULT_ACTIVITY_EVENTS = [
|
|
4
|
+
'pointerdown',
|
|
5
|
+
'keydown',
|
|
6
|
+
'mousedown',
|
|
7
|
+
'touchstart',
|
|
8
|
+
'focus',
|
|
9
|
+
];
|
|
10
|
+
function toError(error) {
|
|
11
|
+
if (error instanceof Error)
|
|
12
|
+
return error;
|
|
13
|
+
return new Error('Unknown error');
|
|
14
|
+
}
|
|
15
|
+
export function useOfflineAuthState(options) {
|
|
16
|
+
const [state, setState] = useState(options.initialState ?? createEmptyOfflineAuthState());
|
|
17
|
+
const [isLoaded, setIsLoaded] = useState(Boolean(options.initialState));
|
|
18
|
+
const [error, setError] = useState(null);
|
|
19
|
+
const stateRef = useRef(state);
|
|
20
|
+
const isMountedRef = useRef(true);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
stateRef.current = state;
|
|
23
|
+
}, [state]);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
return () => {
|
|
26
|
+
isMountedRef.current = false;
|
|
27
|
+
};
|
|
28
|
+
}, []);
|
|
29
|
+
const applyState = useCallback((nextState) => {
|
|
30
|
+
stateRef.current = nextState;
|
|
31
|
+
if (isMountedRef.current) {
|
|
32
|
+
setState(nextState);
|
|
33
|
+
}
|
|
34
|
+
}, []);
|
|
35
|
+
const save = useCallback(async (nextState) => {
|
|
36
|
+
applyState(nextState);
|
|
37
|
+
await saveOfflineAuthState(nextState, {
|
|
38
|
+
storage: options.storage,
|
|
39
|
+
storageKey: options.storageKey,
|
|
40
|
+
});
|
|
41
|
+
}, [applyState, options.storage, options.storageKey]);
|
|
42
|
+
const update = useCallback(async (updater) => {
|
|
43
|
+
const nextState = updater(stateRef.current);
|
|
44
|
+
await save(nextState);
|
|
45
|
+
return nextState;
|
|
46
|
+
}, [save]);
|
|
47
|
+
const clear = useCallback(async (clearOptions) => {
|
|
48
|
+
const nextState = clearOfflineAuthState(stateRef.current, clearOptions);
|
|
49
|
+
await save(nextState);
|
|
50
|
+
return nextState;
|
|
51
|
+
}, [save]);
|
|
52
|
+
const reload = useCallback(async () => {
|
|
53
|
+
try {
|
|
54
|
+
const loadedState = await loadOfflineAuthState({
|
|
55
|
+
storage: options.storage,
|
|
56
|
+
codec: options.codec,
|
|
57
|
+
storageKey: options.storageKey,
|
|
58
|
+
});
|
|
59
|
+
applyState(loadedState);
|
|
60
|
+
setError(null);
|
|
61
|
+
}
|
|
62
|
+
catch (loadError) {
|
|
63
|
+
setError(toError(loadError));
|
|
64
|
+
}
|
|
65
|
+
finally {
|
|
66
|
+
setIsLoaded(true);
|
|
67
|
+
}
|
|
68
|
+
}, [applyState, options.codec, options.storage, options.storageKey]);
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
void reload();
|
|
71
|
+
}, [reload]);
|
|
72
|
+
return {
|
|
73
|
+
state,
|
|
74
|
+
isLoaded,
|
|
75
|
+
error,
|
|
76
|
+
reload,
|
|
77
|
+
save,
|
|
78
|
+
update,
|
|
79
|
+
clear,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export function useOfflineLockPolicy(options = {}) {
|
|
83
|
+
const [state, setState] = useState(() => createOfflineLockState(options));
|
|
84
|
+
const stateRef = useRef(state);
|
|
85
|
+
useEffect(() => {
|
|
86
|
+
stateRef.current = state;
|
|
87
|
+
}, [state]);
|
|
88
|
+
const dispatch = useCallback((event) => {
|
|
89
|
+
const nextState = applyOfflineLockEvent(stateRef.current, event, options);
|
|
90
|
+
stateRef.current = nextState;
|
|
91
|
+
setState(nextState);
|
|
92
|
+
return nextState;
|
|
93
|
+
}, [options]);
|
|
94
|
+
const lock = useCallback(() => {
|
|
95
|
+
return dispatch({ type: 'lock' });
|
|
96
|
+
}, [dispatch]);
|
|
97
|
+
const forceUnlock = useCallback(() => {
|
|
98
|
+
const nextState = dispatch({ type: 'unlock' });
|
|
99
|
+
if (nextState.isLocked) {
|
|
100
|
+
return {
|
|
101
|
+
ok: false,
|
|
102
|
+
reason: 'blocked',
|
|
103
|
+
state: nextState,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
ok: true,
|
|
108
|
+
reason: null,
|
|
109
|
+
state: nextState,
|
|
110
|
+
};
|
|
111
|
+
}, [dispatch]);
|
|
112
|
+
const recordActivity = useCallback(() => {
|
|
113
|
+
return dispatch({ type: 'activity' });
|
|
114
|
+
}, [dispatch]);
|
|
115
|
+
const recordFailedUnlock = useCallback(() => {
|
|
116
|
+
return dispatch({ type: 'failed-unlock' });
|
|
117
|
+
}, [dispatch]);
|
|
118
|
+
const resetFailures = useCallback(() => {
|
|
119
|
+
return dispatch({ type: 'reset-failures' });
|
|
120
|
+
}, [dispatch]);
|
|
121
|
+
const evaluateIdleTimeout = useCallback(() => {
|
|
122
|
+
return dispatch({ type: 'tick' });
|
|
123
|
+
}, [dispatch]);
|
|
124
|
+
const attemptUnlock = useCallback((verify) => {
|
|
125
|
+
const result = attemptOfflineUnlock({
|
|
126
|
+
state: stateRef.current,
|
|
127
|
+
verify,
|
|
128
|
+
options,
|
|
129
|
+
});
|
|
130
|
+
stateRef.current = result.state;
|
|
131
|
+
setState(result.state);
|
|
132
|
+
return result;
|
|
133
|
+
}, [options]);
|
|
134
|
+
const attemptUnlockAsync = useCallback(async (verify) => {
|
|
135
|
+
const result = await attemptOfflineUnlockAsync({
|
|
136
|
+
state: stateRef.current,
|
|
137
|
+
verify,
|
|
138
|
+
options,
|
|
139
|
+
});
|
|
140
|
+
stateRef.current = result.state;
|
|
141
|
+
setState(result.state);
|
|
142
|
+
return result;
|
|
143
|
+
}, [options]);
|
|
144
|
+
const enabled = options.enabled ?? true;
|
|
145
|
+
const lockOnMount = options.lockOnMount ?? false;
|
|
146
|
+
useEffect(() => {
|
|
147
|
+
if (!enabled || !lockOnMount)
|
|
148
|
+
return;
|
|
149
|
+
dispatch({ type: 'lock' });
|
|
150
|
+
}, [dispatch, enabled, lockOnMount]);
|
|
151
|
+
const idleTimeoutMs = Math.max(0, options.idleTimeoutMs ?? 0);
|
|
152
|
+
useEffect(() => {
|
|
153
|
+
if (!enabled)
|
|
154
|
+
return;
|
|
155
|
+
if (idleTimeoutMs <= 0)
|
|
156
|
+
return;
|
|
157
|
+
if (state.isLocked)
|
|
158
|
+
return;
|
|
159
|
+
const nowMs = options.now ? options.now() : Date.now();
|
|
160
|
+
const idleAtMs = state.lastActivityAtMs + idleTimeoutMs;
|
|
161
|
+
const delayMs = Math.max(0, idleAtMs - nowMs);
|
|
162
|
+
const timeout = setTimeout(() => {
|
|
163
|
+
dispatch({ type: 'tick' });
|
|
164
|
+
}, delayMs);
|
|
165
|
+
return () => {
|
|
166
|
+
clearTimeout(timeout);
|
|
167
|
+
};
|
|
168
|
+
}, [
|
|
169
|
+
dispatch,
|
|
170
|
+
enabled,
|
|
171
|
+
idleTimeoutMs,
|
|
172
|
+
options,
|
|
173
|
+
state.isLocked,
|
|
174
|
+
state.lastActivityAtMs,
|
|
175
|
+
]);
|
|
176
|
+
const trackWindowActivity = options.trackWindowActivity ?? false;
|
|
177
|
+
const lockOnDocumentHidden = options.lockOnDocumentHidden ?? true;
|
|
178
|
+
useEffect(() => {
|
|
179
|
+
if (!enabled || !trackWindowActivity)
|
|
180
|
+
return;
|
|
181
|
+
if (typeof window === 'undefined')
|
|
182
|
+
return;
|
|
183
|
+
const events = options.activityEvents ?? DEFAULT_ACTIVITY_EVENTS;
|
|
184
|
+
const onActivity = () => {
|
|
185
|
+
dispatch({ type: 'activity' });
|
|
186
|
+
};
|
|
187
|
+
const onVisibilityChange = () => {
|
|
188
|
+
if (lockOnDocumentHidden && document.visibilityState === 'hidden') {
|
|
189
|
+
dispatch({ type: 'lock' });
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
dispatch({ type: 'activity' });
|
|
193
|
+
};
|
|
194
|
+
for (const eventName of events) {
|
|
195
|
+
window.addEventListener(eventName, onActivity);
|
|
196
|
+
}
|
|
197
|
+
document.addEventListener('visibilitychange', onVisibilityChange);
|
|
198
|
+
return () => {
|
|
199
|
+
for (const eventName of events) {
|
|
200
|
+
window.removeEventListener(eventName, onActivity);
|
|
201
|
+
}
|
|
202
|
+
document.removeEventListener('visibilitychange', onVisibilityChange);
|
|
203
|
+
};
|
|
204
|
+
}, [
|
|
205
|
+
dispatch,
|
|
206
|
+
enabled,
|
|
207
|
+
lockOnDocumentHidden,
|
|
208
|
+
options.activityEvents,
|
|
209
|
+
trackWindowActivity,
|
|
210
|
+
]);
|
|
211
|
+
const nowMs = options.now ? options.now() : Date.now();
|
|
212
|
+
const isBlocked = isOfflineLockBlocked(state, nowMs);
|
|
213
|
+
const cooldownRemainingMs = state.blockedUntilMs === null
|
|
214
|
+
? 0
|
|
215
|
+
: Math.max(0, state.blockedUntilMs - nowMs);
|
|
216
|
+
return {
|
|
217
|
+
state,
|
|
218
|
+
isBlocked,
|
|
219
|
+
cooldownRemainingMs,
|
|
220
|
+
dispatch,
|
|
221
|
+
lock,
|
|
222
|
+
forceUnlock,
|
|
223
|
+
recordActivity,
|
|
224
|
+
recordFailedUnlock,
|
|
225
|
+
resetFailures,
|
|
226
|
+
evaluateIdleTimeout,
|
|
227
|
+
attemptUnlock,
|
|
228
|
+
attemptUnlockAsync,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@syncular/client-plugin-offline-auth-react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6-171",
|
|
4
4
|
"description": "React hooks for Syncular offline auth client primitives",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Benjamin Kniffler",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"release": "bunx syncular-publish"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@syncular/client-plugin-offline-auth": "0.0.
|
|
48
|
+
"@syncular/client-plugin-offline-auth": "0.0.6-171"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"react": "^18.0.0 || ^19.0.0"
|