@angular/benchpress
Version:
Benchpress - a framework for e2e performance tests
37 lines • 4.68 kB
JavaScript
/**
* @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==