ngx-testing-tools
Version:
Makes Angular testing easier
24 lines • 3.68 kB
JavaScript
import { inject, Injectable } from '@angular/core';
import { TestBed } from '@angular/core/testing';
import { RESOLVER_INFO } from './resolver-info.token';
import * as i0 from "@angular/core";
export class ResolverProxy {
constructor() {
this.info = inject(RESOLVER_INFO);
this.isRootCtor = this.info.isRootCtor;
this.instance = (this.isRootCtor)
? inject(this.info.rootResolver)
: this.info.rootResolver;
}
resolve(route, state) {
return (this.isRootCtor)
? this.instance.resolve(route, state)
: TestBed.runInInjectionContext(() => this.instance(route, state));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ResolverProxy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ResolverProxy }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ResolverProxy, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXItcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVzdGluZy10b29scy9zcmMvbGliL3Jlc29sdmVyLXRlc3QtYmVkL3Byb3h5L3Jlc29sdmVyLXByb3h5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdoRCxPQUFPLEVBQUUsYUFBYSxFQUFnQixNQUFNLHVCQUF1QixDQUFDOztBQUdwRSxNQUFNLE9BQU8sYUFBYTtJQUQxQjtRQUdVLFNBQUksR0FBaUIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTNDLGVBQVUsR0FBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUU1QyxhQUFRLEdBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0tBTzVCO0lBTFEsT0FBTyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDdEUsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDdEIsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUE2QixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQzNELENBQUMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUUsSUFBSSxDQUFDLFFBQStCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQzs4R0FkVSxhQUFhO2tIQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlc3RCZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUmVzb2x2ZSwgUmVzb2x2ZUZuLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1heWJlQXN5bmMgfSBmcm9tICcuLi8uLi9jb21tb24vbW9kZWxzL21heWJlLWFzeW5jLm1vZGVsJztcbmltcG9ydCB7IFJFU09MVkVSX0lORk8sIFJlc29sdmVySW5mbyB9IGZyb20gJy4vcmVzb2x2ZXItaW5mby50b2tlbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZXNvbHZlclByb3h5IGltcGxlbWVudHMgUmVzb2x2ZTx1bmtub3duPiB7XG5cbiAgcHJpdmF0ZSBpbmZvOiBSZXNvbHZlckluZm8gPSBpbmplY3QoUkVTT0xWRVJfSU5GTyk7XG5cbiAgcHJpdmF0ZSBpc1Jvb3RDdG9yOiBib29sZWFuID0gdGhpcy5pbmZvLmlzUm9vdEN0b3I7XG5cbiAgcHVibGljIGluc3RhbmNlOiBhbnkgPSAodGhpcy5pc1Jvb3RDdG9yKVxuICAgID8gaW5qZWN0KHRoaXMuaW5mby5yb290UmVzb2x2ZXIpXG4gICAgOiB0aGlzLmluZm8ucm9vdFJlc29sdmVyO1xuXG4gIHB1YmxpYyByZXNvbHZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE1heWJlQXN5bmM8dW5rbm93bj4ge1xuICAgIHJldHVybiAodGhpcy5pc1Jvb3RDdG9yKVxuICAgICAgPyAodGhpcy5pbnN0YW5jZSBhcyBSZXNvbHZlPHVua25vd24+KS5yZXNvbHZlKHJvdXRlLCBzdGF0ZSlcbiAgICAgIDogVGVzdEJlZC5ydW5JbkluamVjdGlvbkNvbnRleHQoKCkgPT4gKHRoaXMuaW5zdGFuY2UgYXMgUmVzb2x2ZUZuPHVua25vd24+KShyb3V0ZSwgc3RhdGUpKTtcbiAgfVxufVxuIl19