UNPKG

ngx-testing-tools

Version:
20 lines 4 kB
import { signal } from '@angular/core'; import { NavigationEnd } from '@angular/router'; import { filter } from 'rxjs'; import { buildBaseTools } from '../../common/tools/base/base-tools'; export function buildRouterTools(factory) { const router = factory['instance']; const routes = factory['_routes']; const harness = factory['_harness']; const { injected, injector, rx } = buildBaseTools(factory); const urlSignal = signal(router.url); rx.remind = router.events .pipe(filter((event) => (event instanceof NavigationEnd))) .subscribe({ next: (event) => urlSignal.set(event.url), }); const $url = urlSignal.asReadonly(); const navigateByUrl = harness.navigateByUrl.bind(harness); return { $url, harness, injected, injector, navigateByUrl, routes, rx }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlc3RpbmctdG9vbHMvc3JjL2xpYi9yb3V0ZXItdGVzdC1iZWQvdG9vbHMvcm91dGVyLXRvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBUyxhQUFhLEVBQWtCLE1BQU0saUJBQWlCLENBQUM7QUFFdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJcEUsTUFBTSxVQUFVLGdCQUFnQixDQUFtQixPQUFnQztJQUNqRixNQUFNLE1BQU0sR0FBVyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsTUFBTSxNQUFNLEdBQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sT0FBTyxHQUF5QixPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFMUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTNELE1BQU0sU0FBUyxHQUEyQixNQUFNLENBQVMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXJFLEVBQUUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU07U0FDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUMsQ0FBQztTQUNoRSxTQUFTLENBQUM7UUFDVCxJQUFJLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUUsS0FBdUIsQ0FBQyxHQUFHLENBQUM7S0FDcEUsQ0FBQyxDQUFDO0lBRUwsTUFBTSxJQUFJLEdBQW1CLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnQsIE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvdXRlclRlc3RpbmdIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyL3Rlc3RpbmcnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBidWlsZEJhc2VUb29scyB9IGZyb20gJy4uLy4uL2NvbW1vbi90b29scy9iYXNlL2Jhc2UtdG9vbHMnO1xuaW1wb3J0IHsgUm91dGVyVGVzdEJlZEZhY3RvcnkgfSBmcm9tICcuLi9yb3V0ZXItdGVzdC1iZWQtZmFjdG9yeSc7XG5pbXBvcnQgeyBSb3V0ZXJUb29scyB9IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUm91dGVyVG9vbHM8VCBleHRlbmRzIFJvdXRlcz4oZmFjdG9yeTogUm91dGVyVGVzdEJlZEZhY3Rvcnk8VD4pOiBSb3V0ZXJUb29sczxUPiB7XG4gIGNvbnN0IHJvdXRlcjogUm91dGVyID0gZmFjdG9yeVsnaW5zdGFuY2UnXTtcbiAgY29uc3Qgcm91dGVzOiBUID0gZmFjdG9yeVsnX3JvdXRlcyddO1xuICBjb25zdCBoYXJuZXNzOiBSb3V0ZXJUZXN0aW5nSGFybmVzcyA9IGZhY3RvcnlbJ19oYXJuZXNzJ107XG5cbiAgY29uc3QgeyBpbmplY3RlZCwgaW5qZWN0b3IsIHJ4IH0gPSBidWlsZEJhc2VUb29scyhmYWN0b3J5KTtcblxuICBjb25zdCB1cmxTaWduYWw6IFdyaXRhYmxlU2lnbmFsPHN0cmluZz4gPSBzaWduYWw8c3RyaW5nPihyb3V0ZXIudXJsKTtcblxuICByeC5yZW1pbmQgPSByb3V0ZXIuZXZlbnRzXG4gICAgLnBpcGUoZmlsdGVyKChldmVudDogRXZlbnQpID0+IChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKSlcbiAgICAuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChldmVudDogRXZlbnQpID0+IHVybFNpZ25hbC5zZXQoKGV2ZW50IGFzIE5hdmlnYXRpb25FbmQpLnVybCksXG4gICAgfSk7XG5cbiAgY29uc3QgJHVybDogU2lnbmFsPHN0cmluZz4gPSB1cmxTaWduYWwuYXNSZWFkb25seSgpO1xuICBjb25zdCBuYXZpZ2F0ZUJ5VXJsID0gaGFybmVzcy5uYXZpZ2F0ZUJ5VXJsLmJpbmQoaGFybmVzcyk7XG5cbiAgcmV0dXJuIHsgJHVybCwgaGFybmVzcywgaW5qZWN0ZWQsIGluamVjdG9yLCBuYXZpZ2F0ZUJ5VXJsLCByb3V0ZXMsIHJ4IH07XG59XG4iXX0=