import { IEventHandle, ISubscribeCompleteEvent, EventType } from "../types"; import { Processor } from "../Processor"; import { isComplete } from "../execute/isComplete"; export const SubscribeCompleteEvent: IEventHandle = (processor: Processor, event: ISubscribeCompleteEvent) => { const state = processor.getElementStateById(event.elementId); const subscription = state.subscriptions.find((s) => s.elementId === event.elementId); if (subscription) { subscription.isCompleted = true; // if element completed if (isComplete(state)) { processor.locator.eventsManager.triggerEvent({ elementId: event.elementId, params: {}, type: EventType.Complete, value: undefined, }); return false; } return false; } return false; };