UNPKG

@bespunky/angular-zen

Version:

The Angular tools you always wished were there.

15 lines 2.57 kB
import { filter } from 'rxjs'; import { inject } from '@angular/core'; import { Router } from '@angular/router'; /** * Creates an observable which emits only the specified router events. * * @export * @param {readonly [...Events]} eventTypes * @template Events The types of events to observe. * @returns {Observable<TypeInstance<Events[number]>>} An observable which emits only the specified router events. */ export function useRouterEvents(...eventTypes) { return inject(Router).events.pipe(filter((event) => eventTypes.some(eventType => event instanceof eventType))); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJvdXRlci1ldmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItemVuL3JvdXRlci14L3V0aWxzL3NyYy9saWIvdXNlLXJvdXRlci1ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQUl0RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBOEMsR0FBRyxVQUFnQztJQUU1RyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM3QixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQXlDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLFNBQVMsQ0FBQyxDQUFDLENBQ3JILENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3QsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyRXZlbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG50eXBlIFR5cGVJbnN0YW5jZTxUIGV4dGVuZHMgVHlwZTxhbnk+PiA9IFQgZXh0ZW5kcyBUeXBlPGluZmVyIEluc3RhbmNlPiA/IEluc3RhbmNlIDogbmV2ZXI7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBvYnNlcnZhYmxlIHdoaWNoIGVtaXRzIG9ubHkgdGhlIHNwZWNpZmllZCByb3V0ZXIgZXZlbnRzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7cmVhZG9ubHkgWy4uLkV2ZW50c119IGV2ZW50VHlwZXMgXG4gKiBAdGVtcGxhdGUgRXZlbnRzIFRoZSB0eXBlcyBvZiBldmVudHMgdG8gb2JzZXJ2ZS5cbiAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFR5cGVJbnN0YW5jZTxFdmVudHNbbnVtYmVyXT4+fSBBbiBvYnNlcnZhYmxlIHdoaWNoIGVtaXRzIG9ubHkgdGhlIHNwZWNpZmllZCByb3V0ZXIgZXZlbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlUm91dGVyRXZlbnRzPEV2ZW50cyBleHRlbmRzIHJlYWRvbmx5IFR5cGU8Um91dGVyRXZlbnQ+W10+KC4uLmV2ZW50VHlwZXM6IHJlYWRvbmx5IFsuLi5FdmVudHNdKTogT2JzZXJ2YWJsZTxUeXBlSW5zdGFuY2U8RXZlbnRzW251bWJlcl0+Plxue1xuICAgIHJldHVybiBpbmplY3QoUm91dGVyKS5ldmVudHMucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIFR5cGVJbnN0YW5jZTxFdmVudHNbbnVtYmVyXT4gPT4gZXZlbnRUeXBlcy5zb21lKGV2ZW50VHlwZSA9PiBldmVudCBpbnN0YW5jZW9mIGV2ZW50VHlwZSkpXG4gICAgKTtcbn0iXX0=