@bespunky/angular-zen
Version:
The Angular tools you always wished were there.
16 lines • 2.27 kB
JavaScript
import { filter } from 'rxjs';
import { inject } from '@angular/core';
import { Router } from '@angular/router';
/**
* Creates an observable which emits only the specified routing event.
*
* @export
* @template T The type of router event to observe.
* @param {Type<T>} eventType The type of router event to observe.
* @return {Observable<T>} An observable which emits only the specified routing event.
*/
export function useRouterEvent(eventType) {
const router = inject(Router);
return router.events.pipe(filter((event) => event instanceof eventType));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLXJvdXRlci1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci16ZW4vcm91dGVyLXgvdXRpbHMvc3JjL2xpYi91c2Utcm91dGVyLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFlLE1BQU0saUJBQWlCLENBQUM7QUFFdEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQXdCLFNBQWtCO0lBRXBFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNyQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQWMsRUFBRSxDQUFDLEtBQUssWUFBWSxTQUFTLENBQUMsQ0FDNUQsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGluamVjdCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXJFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBvYnNlcnZhYmxlIHdoaWNoIGVtaXRzIG9ubHkgdGhlIHNwZWNpZmllZCByb3V0aW5nIGV2ZW50LlxuICpcbiAqIEBleHBvcnRcbiAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIG9mIHJvdXRlciBldmVudCB0byBvYnNlcnZlLlxuICogQHBhcmFtIHtUeXBlPFQ+fSBldmVudFR5cGUgVGhlIHR5cGUgb2Ygcm91dGVyIGV2ZW50IHRvIG9ic2VydmUuXG4gKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFQ+fSBBbiBvYnNlcnZhYmxlIHdoaWNoIGVtaXRzIG9ubHkgdGhlIHNwZWNpZmllZCByb3V0aW5nIGV2ZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlUm91dGVyRXZlbnQ8VCBleHRlbmRzIFJvdXRlckV2ZW50PihldmVudFR5cGU6IFR5cGU8VD4pOiBPYnNlcnZhYmxlPFQ+XG57XG4gICAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgICByZXR1cm4gcm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KTogZXZlbnQgaXMgVCA9PiBldmVudCBpbnN0YW5jZW9mIGV2ZW50VHlwZSksXG4gICAgKTtcbn1cbiJdfQ==