diff --git a/lib/instrumenter/src/instrumenter.ts b/lib/instrumenter/src/instrumenter.ts index 71170dcfc278..3fd338f3db21 100644 --- a/lib/instrumenter/src/instrumenter.ts +++ b/lib/instrumenter/src/instrumenter.ts @@ -10,7 +10,16 @@ import { } from '@storybook/core-events'; import global from 'global'; -import { Call, CallRef, CallStates, ControlStates, LogItem, Options, State } from './types'; +import { + Call, + CallRef, + CallStates, + ControlStates, + LogItem, + Options, + State, + SyncPayload, +} from './types'; export const EVENTS = { CALL: 'instrumenter/call', @@ -251,7 +260,8 @@ export class Instrumenter { acc[storyId] = Object.assign(getInitialState(), retainedState); return acc; }, {} as Record); - this.channel.emit(EVENTS.SYNC, { controlStates: controlsDisabled, logItems: [] }); + const payload: SyncPayload = { controlStates: controlsDisabled, logItems: [] }; + this.channel.emit(EVENTS.SYNC, payload); global.window.parent.__STORYBOOK_ADDON_INTERACTIONS_INSTRUMENTER_STATE__ = this.state; } @@ -558,7 +568,8 @@ export class Instrumenter { const hasActive = logItems.some((item) => item.status === CallStates.ACTIVE); if (debuggerDisabled || isLocked || hasActive || logItems.length === 0) { - this.channel.emit(EVENTS.SYNC, { controlStates: controlsDisabled, logItems }); + const payload: SyncPayload = { controlStates: controlsDisabled, logItems }; + this.channel.emit(EVENTS.SYNC, payload); return; } @@ -574,7 +585,8 @@ export class Instrumenter { end: isPlaying, }; - this.channel.emit(EVENTS.SYNC, { controlStates, logItems, pausedAt }); + const payload: SyncPayload = { controlStates, logItems, pausedAt }; + this.channel.emit(EVENTS.SYNC, payload); } } diff --git a/lib/instrumenter/src/types.ts b/lib/instrumenter/src/types.ts index e9cca7003547..d7ca5665d109 100644 --- a/lib/instrumenter/src/types.ts +++ b/lib/instrumenter/src/types.ts @@ -55,9 +55,10 @@ export interface LogItem { parentId?: Call['id']; } -export interface Payload { +export interface SyncPayload { controlStates: ControlStates; logItems: LogItem[]; + pausedAt?: Call['id']; } export interface State {