refactor(ListWrapper): get ride of ListWrapper.map

This commit is contained in:
Victor Berchet
2015-10-06 18:00:42 -07:00
parent b6537ad609
commit aaa215514b
24 changed files with 79 additions and 104 deletions

View File

@ -5,12 +5,11 @@ import {Promise, PromiseWrapper} from 'angular2/src/core/facade/async';
import {Metric} from '../metric';
export class MultiMetric extends Metric {
static createBindings(childTokens): Binding[] {
static createBindings(childTokens: any[]): Binding[] {
return [
bind(_CHILDREN)
.toFactory(
(injector: Injector) => ListWrapper.map(childTokens, (token) => injector.get(token)),
[Injector]),
.toFactory((injector: Injector) => childTokens.map(token => injector.get(token)),
[Injector]),
bind(MultiMetric).toFactory(children => new MultiMetric(children), [_CHILDREN])
];
}
@ -21,7 +20,7 @@ export class MultiMetric extends Metric {
* Starts measuring
*/
beginMeasure(): Promise<any> {
return PromiseWrapper.all(ListWrapper.map(this._metrics, (metric) => metric.beginMeasure()));
return PromiseWrapper.all(this._metrics.map(metric => metric.beginMeasure()));
}
/**
@ -30,9 +29,8 @@ export class MultiMetric extends Metric {
* @param restart: Whether to restart right after this.
*/
endMeasure(restart: boolean): Promise<{[key: string]: any}> {
return PromiseWrapper.all(
ListWrapper.map(this._metrics, (metric) => metric.endMeasure(restart)))
.then((values) => { return mergeStringMaps(values); });
return PromiseWrapper.all(this._metrics.map(metric => metric.endMeasure(restart)))
.then(values => mergeStringMaps(values));
}
/**

View File

@ -61,7 +61,7 @@ export class ConsoleReporter extends Reporter {
}
reportMeasureValues(measureValues: MeasureValues): Promise<any> {
var formattedValues = ListWrapper.map(this._metricNames, (metricName) => {
var formattedValues = this._metricNames.map(metricName => {
var value = measureValues.values[metricName];
return ConsoleReporter._formatNum(value);
});
@ -69,13 +69,12 @@ export class ConsoleReporter extends Reporter {
return PromiseWrapper.resolve(null);
}
reportSample(completeSample: MeasureValues[], validSample: MeasureValues[]): Promise<any> {
reportSample(completeSample: MeasureValues[], validSamples: MeasureValues[]): Promise<any> {
this._printStringRow(this._metricNames.map((_) => ''), '=');
this._printStringRow(ListWrapper.map(this._metricNames, (metricName) => {
var sample =
ListWrapper.map(validSample, (measureValues) => measureValues.values[metricName]);
var mean = Statistic.calculateMean(sample);
var cv = Statistic.calculateCoefficientOfVariation(sample, mean);
this._printStringRow(this._metricNames.map(metricName => {
var samples = validSamples.map(measureValues => measureValues.values[metricName]);
var mean = Statistic.calculateMean(samples);
var cv = Statistic.calculateCoefficientOfVariation(samples, mean);
var formattedMean = ConsoleReporter._formatNum(mean)
// Note: Don't use the unicode character for +- as it might cause
// hickups for consoles...
@ -87,10 +86,8 @@ export class ConsoleReporter extends Reporter {
}
_printStringRow(parts, fill = ' ') {
this._print(ListWrapper.map(parts, (part) => {
var w = this._columnWidth;
return ConsoleReporter._lpad(part, w, fill);
}).join(' | '));
this._print(
parts.map(part => ConsoleReporter._lpad(part, this._columnWidth, fill)).join(' | '));
}
}

View File

@ -9,9 +9,8 @@ export class MultiReporter extends Reporter {
static createBindings(childTokens: any[]): Binding[] {
return [
bind(_CHILDREN)
.toFactory(
(injector: Injector) => ListWrapper.map(childTokens, (token) => injector.get(token)),
[Injector]),
.toFactory((injector: Injector) => childTokens.map(token => injector.get(token)),
[Injector]),
bind(MultiReporter).toFactory(children => new MultiReporter(children), [_CHILDREN])
];
}
@ -25,12 +24,12 @@ export class MultiReporter extends Reporter {
reportMeasureValues(values: MeasureValues): Promise<any[]> {
return PromiseWrapper.all(
ListWrapper.map(this._reporters, (reporter) => reporter.reportMeasureValues(values)));
this._reporters.map(reporter => reporter.reportMeasureValues(values)));
}
reportSample(completeSample: MeasureValues[], validSample: MeasureValues[]): Promise<any[]> {
return PromiseWrapper.all(ListWrapper.map(
this._reporters, (reporter) => reporter.reportSample(completeSample, validSample)));
return PromiseWrapper.all(
this._reporters.map(reporter => reporter.reportSample(completeSample, validSample)));
}
}

View File

@ -13,12 +13,11 @@ import {Options} from './common_options';
* Needs one implementation for every supported Browser.
*/
export abstract class WebDriverExtension {
static bindTo(childTokens): Binding[] {
static bindTo(childTokens: any[]): Binding[] {
var res = [
bind(_CHILDREN)
.toFactory(
(injector: Injector) => ListWrapper.map(childTokens, (token) => injector.get(token)),
[Injector]),
.toFactory((injector: Injector) => childTokens.map(token => injector.get(token)),
[Injector]),
bind(WebDriverExtension)
.toFactory(
(children, capabilities) => {

View File

@ -19,7 +19,7 @@ import {Metric, MultiMetric, bind, Injector} from 'benchpress/common';
export function main() {
function createMetric(ids) {
var m = Injector.resolveAndCreate([
ListWrapper.map(ids, (id) => bind(id).toValue(new MockMetric(id))),
ids.map(id => bind(id).toValue(new MockMetric(id))),
MultiMetric.createBindings(ids)
])
.get(MultiMetric);

View File

@ -20,7 +20,7 @@ import {Reporter, MultiReporter, bind, Injector, MeasureValues} from 'benchpress
export function main() {
function createReporters(ids) {
var r = Injector.resolveAndCreate([
ListWrapper.map(ids, (id) => bind(id).toValue(new MockReporter(id))),
ids.map(id => bind(id).toValue(new MockReporter(id))),
MultiReporter.createBindings(ids)
])
.get(MultiReporter);

View File

@ -21,7 +21,7 @@ export function main() {
function createExtension(ids, caps) {
return PromiseWrapper.wrap(() => {
return Injector.resolveAndCreate([
ListWrapper.map(ids, (id) => bind(id).toValue(new MockExtension(id))),
ids.map(id => bind(id).toValue(new MockExtension(id))),
bind(Options.CAPABILITIES).toValue(caps),
WebDriverExtension.bindTo(ids)
])