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. *