MCPcopy
hub / github.com/statelyai/xstate / createDevTools

Function createDevTools

packages/xstate-inspect/src/server.ts:12–43  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

10const serviceListeners = new Set<any>();
11
12function createDevTools() {
13 const unregister: XStateDevInterface['unregister'] = (service) => {
14 services.delete(service);
15 serviceMap.delete(service.sessionId);
16 };
17 const devTools: XStateDevInterface = {
18 services,
19 register: (service) => {
20 services.add(service);
21 serviceMap.set(service.sessionId, service);
22 serviceListeners.forEach((listener) => listener(service));
23
24 service.subscribe({
25 complete: () => unregister(service),
26 error: () => unregister(service)
27 });
28 },
29 unregister,
30 onRegister: (listener) => {
31 serviceListeners.add(listener);
32 services.forEach((service) => listener(service));
33
34 return {
35 unsubscribe: () => {
36 serviceListeners.delete(listener);
37 }
38 };
39 }
40 };
41 (globalThis as any).__xstate__ = devTools;
42 return devTools;
43}
44
45interface ServerInspectorOptions {
46 server: WebSocketServer;

Callers 2

inspect.test.tsFile · 0.90
inspectFunction · 0.70

Calls 4

unregisterFunction · 0.70
setMethod · 0.65
subscribeMethod · 0.65
listenerFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…