MCPcopy
hub / github.com/codeaashu/claude-code / processDispatchQueue

Function processDispatchQueue

src/ink/events/dispatcher.ts:87–114  ·  view source on GitHub ↗

* Execute collected listeners with propagation control. * * Before each handler, calls event._prepareForTarget(node) so event * subclasses can do per-node setup.

(
  listeners: DispatchListener[],
  event: TerminalEvent,
)

Source from the content-addressed store, hash-verified

85 * subclasses can do per-node setup.
86 */
87function processDispatchQueue(
88 listeners: DispatchListener[],
89 event: TerminalEvent,
90): void {
91 let previousNode: EventTarget | undefined
92
93 for (const { node, handler, phase } of listeners) {
94 if (event._isImmediatePropagationStopped()) {
95 break
96 }
97
98 if (event._isPropagationStopped() && node !== previousNode) {
99 break
100 }
101
102 event._setEventPhase(phase)
103 event._setCurrentTarget(node)
104 event._prepareForTarget(node)
105
106 try {
107 handler(event)
108 } catch (error) {
109 logError(error)
110 }
111
112 previousNode = node
113 }
114}
115
116// --
117

Callers 1

dispatchMethod · 0.85

Calls 7

_isPropagationStoppedMethod · 0.80
_setEventPhaseMethod · 0.80
_setCurrentTargetMethod · 0.80
_prepareForTargetMethod · 0.80
handlerFunction · 0.50
logErrorFunction · 0.50

Tested by

no test coverage detected