deno.land / x / xstate@xstate@4.33.6 / src / devTools.ts

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import { IS_PRODUCTION } from './environment';import { AnyInterpreter } from './types';
type ServiceListener = (service: AnyInterpreter) => void;
export interface XStateDevInterface { register: (service: AnyInterpreter) => void; unregister: (service: AnyInterpreter) => void; onRegister: ( listener: ServiceListener ) => { unsubscribe: () => void; }; services: Set<AnyInterpreter>;}
// From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThisexport function getGlobal(): typeof globalThis | undefined { if (typeof globalThis !== 'undefined') { return globalThis; } if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } if (!IS_PRODUCTION) { console.warn( 'XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues' ); }}
function getDevTools(): XStateDevInterface | undefined { const global = getGlobal(); if (global && '__xstate__' in global) { return (global as any).__xstate__; }
return undefined;}
export function registerService(service: AnyInterpreter) { if (!getGlobal()) { return; }
const devTools = getDevTools();
if (devTools) { devTools.register(service); }}
xstate

Version Info

Tagged at
2 years ago