UNPKG

@angular/benchpress

Version:

Benchpress - a framework for e2e performance tests

37 lines 4.68 kB
/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { InjectionToken, Injector } from '@angular/core'; import { Reporter } from '../reporter'; export class MultiReporter extends Reporter { constructor(_reporters) { super(); this._reporters = _reporters; } static provideWith(childTokens) { return [ { provide: _CHILDREN, useFactory: (injector) => childTokens.map(token => injector.get(token)), deps: [Injector], }, { provide: MultiReporter, useFactory: (children) => new MultiReporter(children), deps: [_CHILDREN] } ]; } reportMeasureValues(values) { return Promise.all(this._reporters.map(reporter => reporter.reportMeasureValues(values))); } reportSample(completeSample, validSample) { return Promise.all(this._reporters.map(reporter => reporter.reportSample(completeSample, validSample))); } } const _CHILDREN = new InjectionToken('MultiReporter.children'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlfcmVwb3J0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iZW5jaHByZXNzL3NyYy9yZXBvcnRlci9tdWx0aV9yZXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsY0FBYyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd2RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxhQUFjLFNBQVEsUUFBUTtJQWdCekMsWUFBb0IsVUFBc0I7UUFDeEMsS0FBSyxFQUFFLENBQUM7UUFEVSxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRTFDLENBQUM7SUFqQkQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFrQjtRQUNuQyxPQUFPO1lBQ0w7Z0JBQ0UsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLFVBQVUsRUFBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqRixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDakI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsVUFBVSxFQUFFLENBQUMsUUFBb0IsRUFBRSxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDO2dCQUNqRSxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDbEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQU1RLG1CQUFtQixDQUFDLE1BQXFCO1FBQ2hELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVRLFlBQVksQ0FBQyxjQUErQixFQUFFLFdBQTRCO1FBRWpGLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FDZCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0NBQ0Y7QUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIEluamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtNZWFzdXJlVmFsdWVzfSBmcm9tICcuLi9tZWFzdXJlX3ZhbHVlcyc7XG5pbXBvcnQge1JlcG9ydGVyfSBmcm9tICcuLi9yZXBvcnRlcic7XG5cbmV4cG9ydCBjbGFzcyBNdWx0aVJlcG9ydGVyIGV4dGVuZHMgUmVwb3J0ZXIge1xuICBzdGF0aWMgcHJvdmlkZVdpdGgoY2hpbGRUb2tlbnM6IGFueVtdKTogYW55W10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IF9DSElMRFJFTixcbiAgICAgICAgdXNlRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gY2hpbGRUb2tlbnMubWFwKHRva2VuID0+IGluamVjdG9yLmdldCh0b2tlbikpLFxuICAgICAgICBkZXBzOiBbSW5qZWN0b3JdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTXVsdGlSZXBvcnRlcixcbiAgICAgICAgdXNlRmFjdG9yeTogKGNoaWxkcmVuOiBSZXBvcnRlcltdKSA9PiBuZXcgTXVsdGlSZXBvcnRlcihjaGlsZHJlbiksXG4gICAgICAgIGRlcHM6IFtfQ0hJTERSRU5dXG4gICAgICB9XG4gICAgXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JlcG9ydGVyczogUmVwb3J0ZXJbXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBvdmVycmlkZSByZXBvcnRNZWFzdXJlVmFsdWVzKHZhbHVlczogTWVhc3VyZVZhbHVlcyk6IFByb21pc2U8YW55W10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwodGhpcy5fcmVwb3J0ZXJzLm1hcChyZXBvcnRlciA9PiByZXBvcnRlci5yZXBvcnRNZWFzdXJlVmFsdWVzKHZhbHVlcykpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlcG9ydFNhbXBsZShjb21wbGV0ZVNhbXBsZTogTWVhc3VyZVZhbHVlc1tdLCB2YWxpZFNhbXBsZTogTWVhc3VyZVZhbHVlc1tdKTpcbiAgICAgIFByb21pc2U8YW55W10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICAgIHRoaXMuX3JlcG9ydGVycy5tYXAocmVwb3J0ZXIgPT4gcmVwb3J0ZXIucmVwb3J0U2FtcGxlKGNvbXBsZXRlU2FtcGxlLCB2YWxpZFNhbXBsZSkpKTtcbiAgfVxufVxuXG5jb25zdCBfQ0hJTERSRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ011bHRpUmVwb3J0ZXIuY2hpbGRyZW4nKTtcbiJdfQ==