From 460a1370d72ce93e6971457415423a6a0238deaa Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Sun, 14 Jul 2024 08:47:59 -0700 Subject: [PATCH] Add forward to Event --- src/vs/base/common/event.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/vs/base/common/event.ts b/src/vs/base/common/event.ts index d563a2c7..5900c7d9 100644 --- a/src/vs/base/common/event.ts +++ b/src/vs/base/common/event.ts @@ -615,6 +615,22 @@ export namespace Event { return result.event; } + /** + * A convenience function for forwarding an event to another emitter which + * improves readability.allows Event.forward(event, emitter) instead of `event(e => emitter.fire(e))`. + * @param from The event to forward. + * @param to The emitter to forward the event to. + * @example + * Event.forward(event, emitter); + * // equivalent to + * event(e => emitter.fire(e)); + * // equivalent to + * event(emitter.fire, emitter); + */ + export function forward(from: Event, to: Emitter): IDisposable { + return from(e => to.fire(e)); + } + /** * Adds a listener to an event and calls the listener immediately with undefined as the event object. *