ngx-testing-tools
Version:
Makes Angular testing easier
44 lines • 8.02 kB
JavaScript
import { inject, Injectable } from '@angular/core';
import { TestBed } from '@angular/core/testing';
import { GUARD_INFO } from './guard-info.token';
import * as i0 from "@angular/core";
export class GuardProxy {
constructor() {
this.info = inject(GUARD_INFO);
this.isRootCtor = this.info.isRootCtor;
this.instance = (this.isRootCtor)
? inject(this.info.rootGuard)
: this.info.rootGuard;
}
canActivate(route, state) {
return (this.isRootCtor)
? this.instance.canActivate(route, state)
: TestBed.runInInjectionContext(() => this.instance(route, state));
}
canActivateChild(childRoute, state) {
return (this.isRootCtor)
? this.instance.canActivateChild(childRoute, state)
: TestBed.runInInjectionContext(() => this.instance(childRoute, state));
}
canDeactivate(component, currentRoute, currentState, nextState) {
return (this.isRootCtor)
? this.instance.canDeactivate(component, currentRoute, currentState, nextState)
: TestBed.runInInjectionContext(() => this.instance(component, currentRoute, currentState, nextState));
}
canLoad(route, segments) {
return (this.isRootCtor)
? this.instance.canLoad(route, segments)
: TestBed.runInInjectionContext(() => this.instance(route, segments));
}
canMatch(route, segments) {
return (this.isRootCtor)
? this.instance.canMatch(route, segments)
: TestBed.runInInjectionContext(() => this.instance(route, segments));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: GuardProxy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: GuardProxy }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: GuardProxy, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmQtcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVzdGluZy10b29scy9zcmMvbGliL2d1YXJkLXRlc3QtYmVkL3Byb3h5L2d1YXJkLXByb3h5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdoRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sb0JBQW9CLENBQUM7O0FBRzNELE1BQU0sT0FBTyxVQUFVO0lBRHZCO1FBR1UsU0FBSSxHQUFjLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyQyxlQUFVLEdBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFNUMsYUFBUSxHQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztLQStCekI7SUE3QlEsV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDMUUsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDdEIsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUF3QixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQzFELENBQUMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLFFBQTBCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFVBQWtDLEVBQUUsS0FBMEI7UUFDcEYsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDdEIsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUE2QixDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUM7WUFDekUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBRSxJQUFJLENBQUMsUUFBK0IsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRU0sYUFBYSxDQUFDLFNBQWtCLEVBQUUsWUFBb0MsRUFBRSxZQUFpQyxFQUFFLFNBQThCO1FBQzlJLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3RCLENBQUMsQ0FBRSxJQUFJLENBQUMsUUFBbUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDO1lBQzNHLENBQUMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLFFBQXFDLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN6SSxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQVksRUFBRSxRQUFzQjtRQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN0QixDQUFDLENBQUUsSUFBSSxDQUFDLFFBQW9CLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7WUFDckQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBRSxJQUFJLENBQUMsUUFBc0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQVksRUFBRSxRQUFzQjtRQUNsRCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN0QixDQUFDLENBQUUsSUFBSSxDQUFDLFFBQXFCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7WUFDdkQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBRSxJQUFJLENBQUMsUUFBdUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDOzhHQXRDVSxVQUFVO2tIQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlc3RCZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGQsIENhbkFjdGl2YXRlQ2hpbGRGbiwgQ2FuQWN0aXZhdGVGbiwgQ2FuRGVhY3RpdmF0ZSwgQ2FuRGVhY3RpdmF0ZUZuLCBDYW5Mb2FkLCBDYW5Mb2FkRm4sIENhbk1hdGNoLCBDYW5NYXRjaEZuLCBSb3V0ZSwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsU2VnbWVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXliZUFzeW5jIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9tYXliZS1hc3luYy5tb2RlbCc7XG5pbXBvcnQgeyBHVUFSRF9JTkZPLCBHdWFyZEluZm8gfSBmcm9tICcuL2d1YXJkLWluZm8udG9rZW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR3VhcmRQcm94eSBpbXBsZW1lbnRzIENhbkFjdGl2YXRlLCBDYW5BY3RpdmF0ZUNoaWxkLCBDYW5EZWFjdGl2YXRlPHVua25vd24+LCBDYW5Mb2FkLCBDYW5NYXRjaCB7XG5cbiAgcHJpdmF0ZSBpbmZvOiBHdWFyZEluZm8gPSBpbmplY3QoR1VBUkRfSU5GTyk7XG5cbiAgcHJpdmF0ZSBpc1Jvb3RDdG9yOiBib29sZWFuID0gdGhpcy5pbmZvLmlzUm9vdEN0b3I7XG5cbiAgcHVibGljIGluc3RhbmNlOiBhbnkgPSAodGhpcy5pc1Jvb3RDdG9yKVxuICAgID8gaW5qZWN0KHRoaXMuaW5mby5yb290R3VhcmQpXG4gICAgOiB0aGlzLmluZm8ucm9vdEd1YXJkO1xuXG4gIHB1YmxpYyBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBNYXliZUFzeW5jPGFueT4ge1xuICAgIHJldHVybiAodGhpcy5pc1Jvb3RDdG9yKVxuICAgICAgPyAodGhpcy5pbnN0YW5jZSBhcyBDYW5BY3RpdmF0ZSkuY2FuQWN0aXZhdGUocm91dGUsIHN0YXRlKVxuICAgICAgOiBUZXN0QmVkLnJ1bkluSW5qZWN0aW9uQ29udGV4dCgoKSA9PiAodGhpcy5pbnN0YW5jZSBhcyBDYW5BY3RpdmF0ZUZuKShyb3V0ZSwgc3RhdGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5BY3RpdmF0ZUNoaWxkKGNoaWxkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogTWF5YmVBc3luYzxhbnk+IHtcbiAgICByZXR1cm4gKHRoaXMuaXNSb290Q3RvcilcbiAgICAgID8gKHRoaXMuaW5zdGFuY2UgYXMgQ2FuQWN0aXZhdGVDaGlsZCkuY2FuQWN0aXZhdGVDaGlsZChjaGlsZFJvdXRlLCBzdGF0ZSlcbiAgICAgIDogVGVzdEJlZC5ydW5JbkluamVjdGlvbkNvbnRleHQoKCkgPT4gKHRoaXMuaW5zdGFuY2UgYXMgQ2FuQWN0aXZhdGVDaGlsZEZuKShjaGlsZFJvdXRlLCBzdGF0ZSkpO1xuICB9XG5cbiAgcHVibGljIGNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiB1bmtub3duLCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogTWF5YmVBc3luYzxhbnk+IHtcbiAgICByZXR1cm4gKHRoaXMuaXNSb290Q3RvcilcbiAgICAgID8gKHRoaXMuaW5zdGFuY2UgYXMgQ2FuRGVhY3RpdmF0ZTx1bmtub3duPikuY2FuRGVhY3RpdmF0ZShjb21wb25lbnQsIGN1cnJlbnRSb3V0ZSwgY3VycmVudFN0YXRlLCBuZXh0U3RhdGUpXG4gICAgICA6IFRlc3RCZWQucnVuSW5JbmplY3Rpb25Db250ZXh0KCgpID0+ICh0aGlzLmluc3RhbmNlIGFzIENhbkRlYWN0aXZhdGVGbjx1bmtub3duPikoY29tcG9uZW50LCBjdXJyZW50Um91dGUsIGN1cnJlbnRTdGF0ZSwgbmV4dFN0YXRlKSk7XG4gIH1cblxuICBwdWJsaWMgY2FuTG9hZChyb3V0ZTogUm91dGUsIHNlZ21lbnRzOiBVcmxTZWdtZW50W10pOiBNYXliZUFzeW5jPGFueT4ge1xuICAgIHJldHVybiAodGhpcy5pc1Jvb3RDdG9yKVxuICAgICAgPyAodGhpcy5pbnN0YW5jZSBhcyBDYW5Mb2FkKS5jYW5Mb2FkKHJvdXRlLCBzZWdtZW50cylcbiAgICAgIDogVGVzdEJlZC5ydW5JbkluamVjdGlvbkNvbnRleHQoKCkgPT4gKHRoaXMuaW5zdGFuY2UgYXMgQ2FuTG9hZEZuKShyb3V0ZSwgc2VnbWVudHMpKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5NYXRjaChyb3V0ZTogUm91dGUsIHNlZ21lbnRzOiBVcmxTZWdtZW50W10pOiBNYXliZUFzeW5jPGFueT4ge1xuICAgIHJldHVybiAodGhpcy5pc1Jvb3RDdG9yKVxuICAgICAgPyAodGhpcy5pbnN0YW5jZSBhcyBDYW5NYXRjaCkuY2FuTWF0Y2gocm91dGUsIHNlZ21lbnRzKVxuICAgICAgOiBUZXN0QmVkLnJ1bkluSW5qZWN0aW9uQ29udGV4dCgoKSA9PiAodGhpcy5pbnN0YW5jZSBhcyBDYW5NYXRjaEZuKShyb3V0ZSwgc2VnbWVudHMpKTtcbiAgfVxufVxuIl19