diff --git a/modules/angular2/src/core/change_detection/parser/ast.ts b/modules/angular2/src/core/change_detection/parser/ast.ts index 27b5fcab05..ad61b9a749 100644 --- a/modules/angular2/src/core/change_detection/parser/ast.ts +++ b/modules/angular2/src/core/change_detection/parser/ast.ts @@ -221,7 +221,7 @@ export class RecursiveAstVisitor implements AstVisitor { return this.visitAll(ast.args); } visitAll(asts: AST[]): any { - ListWrapper.forEach(asts, (ast) => { ast.visit(this); }); + asts.forEach(ast => ast.visit(this)); return null; } } diff --git a/modules/angular2/src/core/compiler/selector.ts b/modules/angular2/src/core/compiler/selector.ts index 4f1f73bb54..e07ad94b79 100644 --- a/modules/angular2/src/core/compiler/selector.ts +++ b/modules/angular2/src/core/compiler/selector.ts @@ -139,8 +139,7 @@ export class CssSelector { res += ']'; } } - ListWrapper.forEach(this.notSelectors, - (notSelector) => { res += ":not(" + notSelector.toString() + ")"; }); + this.notSelectors.forEach(notSelector => res += `:not(${notSelector})`); return res; } } diff --git a/modules/angular2/src/core/compiler/url_resolver.ts b/modules/angular2/src/core/compiler/url_resolver.ts index 45a69d2489..b8e70be928 100644 --- a/modules/angular2/src/core/compiler/url_resolver.ts +++ b/modules/angular2/src/core/compiler/url_resolver.ts @@ -213,7 +213,7 @@ function _removeDotSegments(path: string): string { var trailingSlash = path[path.length - 1] === '/' ? '/' : ''; var segments = path.split('/'); - var out = []; + var out: string[] = []; var up = 0; for (var pos = 0; pos < segments.length; pos++) { var segment = segments[pos]; @@ -223,7 +223,7 @@ function _removeDotSegments(path: string): string { break; case '..': if (out.length > 0) { - ListWrapper.removeAt(out, out.length - 1); + out.pop(); } else { up++; } @@ -235,7 +235,7 @@ function _removeDotSegments(path: string): string { if (leadingSlash == '') { while (up-- > 0) { - ListWrapper.insert(out, 0, '..'); + out.unshift('..'); } if (out.length === 0) out.push('.'); diff --git a/modules/angular2/src/core/compiler/xhr_mock.ts b/modules/angular2/src/core/compiler/xhr_mock.ts index dd67bc19a8..ce8619c696 100644 --- a/modules/angular2/src/core/compiler/xhr_mock.ts +++ b/modules/angular2/src/core/compiler/xhr_mock.ts @@ -28,8 +28,7 @@ export class MockXHR extends XHR { } do { - var request = ListWrapper.removeAt(this._requests, 0); - this._processRequest(request); + this._processRequest(this._requests.shift()); } while (this._requests.length > 0); this.verifyNoOustandingExpectations(); diff --git a/modules/angular2/src/core/debug/debug_element.ts b/modules/angular2/src/core/debug/debug_element.ts index 5dda721521..849d47a9a2 100644 --- a/modules/angular2/src/core/debug/debug_element.ts +++ b/modules/angular2/src/core/debug/debug_element.ts @@ -126,9 +126,8 @@ export class DebugElement { var views = view.viewContainers[view.elementOffset + i]; if (isPresent(views)) { - ListWrapper.forEach(views.views, (nextView) => { - els = els.concat(this._getChildElements(nextView, null)); - }); + views.views.forEach( + (nextView) => { els = els.concat(this._getChildElements(nextView, null)); }); } } } @@ -155,17 +154,15 @@ export class Scope { var scope = []; scope.push(debugElement); - ListWrapper.forEach(debugElement.children, - (child) => { scope = scope.concat(Scope.all(child)); }); + debugElement.children.forEach(child => scope = scope.concat(Scope.all(child))); - ListWrapper.forEach(debugElement.componentViewChildren, - (child) => { scope = scope.concat(Scope.all(child)); }); + debugElement.componentViewChildren.forEach(child => scope = scope.concat(Scope.all(child))); return scope; } static light(debugElement: DebugElement): DebugElement[] { var scope = []; - ListWrapper.forEach(debugElement.children, (child) => { + debugElement.children.forEach(child => { scope.push(child); scope = scope.concat(Scope.light(child)); }); @@ -175,7 +172,7 @@ export class Scope { static view(debugElement: DebugElement): DebugElement[] { var scope = []; - ListWrapper.forEach(debugElement.componentViewChildren, (child) => { + debugElement.componentViewChildren.forEach(child => { scope.push(child); scope = scope.concat(Scope.light(child)); }); diff --git a/modules/angular2/src/core/di/binding.ts b/modules/angular2/src/core/di/binding.ts index 9ac2ba10c0..c799724ed3 100644 --- a/modules/angular2/src/core/di/binding.ts +++ b/modules/angular2/src/core/di/binding.ts @@ -498,10 +498,10 @@ function _createListOfBindings(flattenedBindings: Map): any[] { return MapWrapper.values(flattenedBindings); } -function _normalizeBindings(bindings: Array, +function _normalizeBindings(bindings: Array, res: Map): Map { - ListWrapper.forEach(bindings, (b) => { + bindings.forEach(b => { if (b instanceof Type) { _normalizeBinding(bind(b).toClass(b), res); diff --git a/modules/angular2/src/core/directives/ng_class.ts b/modules/angular2/src/core/directives/ng_class.ts index 7078fa34fb..1276ac47f7 100644 --- a/modules/angular2/src/core/directives/ng_class.ts +++ b/modules/angular2/src/core/directives/ng_class.ts @@ -9,11 +9,7 @@ import { KeyValueDiffers } from 'angular2/src/core/change_detection'; import {Renderer} from 'angular2/src/core/render'; -import { - ListWrapper, - StringMapWrapper, - isListLikeIterable -} from 'angular2/src/core/facade/collection'; +import {StringMapWrapper, isListLikeIterable} from 'angular2/src/core/facade/collection'; /** * Adds and removes CSS classes based on an {expression} value. @@ -109,14 +105,13 @@ export class NgClass implements DoCheck, OnDestroy { } private _applyInitialClasses(isCleanup: boolean) { - ListWrapper.forEach(this._initialClasses, - (className) => { this._toggleClass(className, !isCleanup); }); + this._initialClasses.forEach(className => this._toggleClass(className, !isCleanup)); } private _applyClasses(rawClassVal, isCleanup: boolean) { if (isPresent(rawClassVal)) { if (isListLikeIterable(rawClassVal)) { - ListWrapper.forEach(rawClassVal, (className) => this._toggleClass(className, !isCleanup)); + (rawClassVal).forEach(className => this._toggleClass(className, !isCleanup)); } else { StringMapWrapper.forEach(rawClassVal, (expVal, className) => { if (expVal) this._toggleClass(className, !isCleanup); diff --git a/modules/angular2/src/core/dom/browser_adapter.ts b/modules/angular2/src/core/dom/browser_adapter.ts index 7e17aac1c5..f893d306e0 100644 --- a/modules/angular2/src/core/dom/browser_adapter.ts +++ b/modules/angular2/src/core/dom/browser_adapter.ts @@ -165,9 +165,7 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter { return node; } insertBefore(el, node) { el.parentNode.insertBefore(node, el); } - insertAllBefore(el, nodes) { - ListWrapper.forEach(nodes, (n) => { el.parentNode.insertBefore(n, el); }); - } + insertAllBefore(el, nodes) { nodes.forEach(n => el.parentNode.insertBefore(n, el)); } insertAfter(el, node) { el.parentNode.insertBefore(node, el.nextSibling); } setInnerHTML(el, value) { el.innerHTML = value; } getText(el): string { return el.textContent; } diff --git a/modules/angular2/src/core/dom/parse5_adapter.ts b/modules/angular2/src/core/dom/parse5_adapter.ts index 57e1e2e5c0..133ff7183e 100644 --- a/modules/angular2/src/core/dom/parse5_adapter.ts +++ b/modules/angular2/src/core/dom/parse5_adapter.ts @@ -222,9 +222,7 @@ export class Parse5DomAdapter extends DomAdapter { this.remove(node); treeAdapter.insertBefore(el.parent, node, el); } - insertAllBefore(el, nodes) { - ListWrapper.forEach(nodes, (n) => { this.insertBefore(el, n); }); - } + insertAllBefore(el, nodes) { nodes.forEach(n => this.insertBefore(el, n)); } insertAfter(el, node) { if (el.nextSibling) { this.insertBefore(el.nextSibling, node); diff --git a/modules/angular2/src/core/facade/collection.dart b/modules/angular2/src/core/facade/collection.dart index 123071547a..a097345b6b 100644 --- a/modules/angular2/src/core/facade/collection.dart +++ b/modules/angular2/src/core/facade/collection.dart @@ -125,9 +125,6 @@ class ListWrapper { static find(List list, bool fn(item)) => list.firstWhere(fn, orElse: () => null); static bool any(List list, bool fn(item)) => list.any(fn); - static void forEach(Iterable list, fn(item)) { - list.forEach(fn); - } static void forEachWithIndex(List list, fn(item, index)) { for (var i = 0; i < list.length; ++i) { @@ -160,7 +157,6 @@ class ListWrapper { } } - static removeLast(List list) => list.removeLast(); static bool remove(List list, item) => list.remove(item); static void clear(List l) { l.clear(); diff --git a/modules/angular2/src/core/facade/collection.ts b/modules/angular2/src/core/facade/collection.ts index 5b3f4038c8..c59d1355f0 100644 --- a/modules/angular2/src/core/facade/collection.ts +++ b/modules/angular2/src/core/facade/collection.ts @@ -177,11 +177,6 @@ export class ListWrapper { static createFixedSize(size: number): any[] { return new Array(size); } static createGrowableSize(size: number): any[] { return new Array(size); } static clone(array: T[]): T[] { return array.slice(0); } - static forEach(array: T[], fn: (T) => void) { - for (var i = 0; i < array.length; i++) { - fn(array[i]); - } - } static forEachWithIndex(array: T[], fn: (T, number) => void) { for (var i = 0; i < array.length; i++) { fn(array[i], i); @@ -234,7 +229,6 @@ export class ListWrapper { list.splice(index, 1); } } - static removeLast(list: T[]): T { return list.pop(); } static remove(list: T[], el: T): boolean { var index = list.indexOf(el); if (index > -1) { diff --git a/modules/angular2/src/core/forms/directives/ng_form.ts b/modules/angular2/src/core/forms/directives/ng_form.ts index 8113f078d1..54a459e77d 100644 --- a/modules/angular2/src/core/forms/directives/ng_form.ts +++ b/modules/angular2/src/core/forms/directives/ng_form.ts @@ -158,7 +158,7 @@ export class NgForm extends ControlContainer implements Form { } _findContainer(path: string[]): ControlGroup { - ListWrapper.removeLast(path); + path.pop(); return ListWrapper.isEmpty(path) ? this.form : this.form.find(path); } diff --git a/modules/angular2/src/core/forms/directives/ng_form_model.ts b/modules/angular2/src/core/forms/directives/ng_form_model.ts index 633ebbff5a..2478ec71a1 100644 --- a/modules/angular2/src/core/forms/directives/ng_form_model.ts +++ b/modules/angular2/src/core/forms/directives/ng_form_model.ts @@ -141,7 +141,7 @@ export class NgFormModel extends ControlContainer implements Form, } _updateDomValue() { - ListWrapper.forEach(this.directives, dir => { + this.directives.forEach(dir => { var ctrl: any = this.form.find(dir.path); dir.valueAccessor.writeValue(ctrl.value); }); diff --git a/modules/angular2/src/core/linker/view_pool.ts b/modules/angular2/src/core/linker/view_pool.ts index 23d5013029..36f430aef7 100644 --- a/modules/angular2/src/core/linker/view_pool.ts +++ b/modules/angular2/src/core/linker/view_pool.ts @@ -1,6 +1,6 @@ import {Inject, Injectable, OpaqueToken} from 'angular2/src/core/di'; -import {ListWrapper, MapWrapper, Map} from 'angular2/src/core/facade/collection'; +import {MapWrapper, Map} from 'angular2/src/core/facade/collection'; import {isPresent, isBlank, CONST_EXPR} from 'angular2/src/core/facade/lang'; import * as viewModule from './view'; @@ -19,7 +19,7 @@ export class AppViewPool { getView(protoView: viewModule.AppProtoView): viewModule.AppView { var pooledViews = this._pooledViewsPerProtoView.get(protoView); if (isPresent(pooledViews) && pooledViews.length > 0) { - return ListWrapper.removeLast(pooledViews); + return pooledViews.pop(); } return null; } diff --git a/modules/angular2/src/core/render/dom/events/key_events.ts b/modules/angular2/src/core/render/dom/events/key_events.ts index 4c3b55b8b1..56656d25fd 100644 --- a/modules/angular2/src/core/render/dom/events/key_events.ts +++ b/modules/angular2/src/core/render/dom/events/key_events.ts @@ -39,19 +39,19 @@ export class KeyEventsPlugin extends EventManagerPlugin { } static parseEventName(eventName: string): {[key: string]: string} { - var parts = eventName.toLowerCase().split('.'); + var parts: string[] = eventName.toLowerCase().split('.'); - var domEventName = ListWrapper.removeAt(parts, 0); + var domEventName = parts.shift(); if ((parts.length === 0) || !(StringWrapper.equals(domEventName, 'keydown') || StringWrapper.equals(domEventName, 'keyup'))) { return null; } - var key = KeyEventsPlugin._normalizeKey(ListWrapper.removeLast(parts)); + var key = KeyEventsPlugin._normalizeKey(parts.pop()); var fullKey = ''; - ListWrapper.forEach(modifierKeys, (modifierName) => { + modifierKeys.forEach(modifierName => { if (ListWrapper.contains(parts, modifierName)) { ListWrapper.remove(parts, modifierName); fullKey += modifierName + '.'; @@ -78,7 +78,7 @@ export class KeyEventsPlugin extends EventManagerPlugin { } else if (StringWrapper.equals(key, '.')) { key = 'dot'; // because '.' is used as a separator in event names } - ListWrapper.forEach(modifierKeys, (modifierName) => { + modifierKeys.forEach(modifierName => { if (modifierName != key) { var modifierGetter = StringMapWrapper.get(modifierKeyGetters, modifierName); if (modifierGetter(event)) { diff --git a/modules/angular2/src/http/url_search_params.ts b/modules/angular2/src/http/url_search_params.ts index e020fb8bc2..6fe45116f0 100644 --- a/modules/angular2/src/http/url_search_params.ts +++ b/modules/angular2/src/http/url_search_params.ts @@ -10,7 +10,7 @@ function paramParser(rawParams: string = ''): Map { var map = new Map(); if (rawParams.length > 0) { var params: string[] = StringWrapper.split(rawParams, new RegExp('&')); - ListWrapper.forEach(params, (param: string) => { + params.forEach((param: string) => { var split: string[] = StringWrapper.split(param, new RegExp('=')); var key = split[0]; var val = split[1]; @@ -127,9 +127,8 @@ export class URLSearchParams { toString(): string { var paramsList = []; - MapWrapper.forEach(this.paramsMap, (values, k) => { - ListWrapper.forEach(values, v => { paramsList.push(k + '=' + v); }); - }); + MapWrapper.forEach(this.paramsMap, + (values, k) => { values.forEach(v => paramsList.push(k + '=' + v)); }); return paramsList.join('&'); } diff --git a/modules/angular2/src/router/path_recognizer.ts b/modules/angular2/src/router/path_recognizer.ts index 10dd66429d..14f5004bc7 100644 --- a/modules/angular2/src/router/path_recognizer.ts +++ b/modules/angular2/src/router/path_recognizer.ts @@ -8,7 +8,7 @@ import { } from 'angular2/src/core/facade/lang'; import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; -import {Map, MapWrapper, StringMapWrapper, ListWrapper} from 'angular2/src/core/facade/collection'; +import {Map, MapWrapper, StringMapWrapper} from 'angular2/src/core/facade/collection'; import {RouteHandler} from './route_handler'; import {Url, RootUrl, serializeParams} from './url_parser'; @@ -35,7 +35,7 @@ class TouchMap { getUnused(): {[key: string]: any} { var unused: {[key: string]: any} = StringMapWrapper.create(); var keys = StringMapWrapper.keys(this.keys); - ListWrapper.forEach(keys, (key) => { unused[key] = StringMapWrapper.get(this.map, key); }); + keys.forEach(key => unused[key] = StringMapWrapper.get(this.map, key)); return unused; } } diff --git a/modules/angular2/src/router/route_registry.ts b/modules/angular2/src/router/route_registry.ts index fb6141e72a..8811f3a563 100644 --- a/modules/angular2/src/router/route_registry.ts +++ b/modules/angular2/src/router/route_registry.ts @@ -89,7 +89,8 @@ export class RouteRegistry { var annotation = annotations[i]; if (annotation instanceof RouteConfig) { - ListWrapper.forEach(annotation.configs, (config) => this.config(component, config)); + let routeCfgs: RouteDefinition[] = annotation.configs; + routeCfgs.forEach(config => this.config(component, config)); } } } diff --git a/modules/angular2/src/router/router.ts b/modules/angular2/src/router/router.ts index 4ac58ea85c..f6d66096ea 100644 --- a/modules/angular2/src/router/router.ts +++ b/modules/angular2/src/router/router.ts @@ -427,7 +427,7 @@ export class Router { } if (rest[rest.length - 1] == '') { - ListWrapper.removeLast(rest); + rest.pop(); } if (rest.length < 1) { diff --git a/modules/angular2/src/web_workers/shared/client_message_broker.ts b/modules/angular2/src/web_workers/shared/client_message_broker.ts index ec8e66e918..1c0debd849 100644 --- a/modules/angular2/src/web_workers/shared/client_message_broker.ts +++ b/modules/angular2/src/web_workers/shared/client_message_broker.ts @@ -8,7 +8,7 @@ import { ObservableWrapper, EventEmitter } from "angular2/src/core/facade/async"; -import {ListWrapper, StringMapWrapper, MapWrapper} from "angular2/src/core/facade/collection"; +import {StringMapWrapper, MapWrapper} from "angular2/src/core/facade/collection"; import {Serializer} from "angular2/src/web_workers/shared/serializer"; import {Injectable} from "angular2/src/core/di"; import {Type, StringWrapper} from "angular2/src/core/facade/lang"; @@ -58,7 +58,7 @@ export class ClientMessageBroker { runOnService(args: UiArguments, returnType: Type): Promise { var fnArgs = []; if (isPresent(args.args)) { - ListWrapper.forEach(args.args, (argument) => { + args.args.forEach(argument => { if (argument.type != null) { fnArgs.push(this._serializer.serialize(argument.value, argument.type)); } else { diff --git a/modules/angular2/src/web_workers/shared/render_view_with_fragments_store.ts b/modules/angular2/src/web_workers/shared/render_view_with_fragments_store.ts index 74da2b69aa..092272b7e4 100644 --- a/modules/angular2/src/web_workers/shared/render_view_with_fragments_store.ts +++ b/modules/angular2/src/web_workers/shared/render_view_with_fragments_store.ts @@ -41,7 +41,7 @@ export class RenderViewWithFragmentsStore { this._lookupByView.set(view.viewRef, startIndex); startIndex++; - ListWrapper.forEach(view.fragmentRefs, (ref) => { + view.fragmentRefs.forEach(ref => { this._lookupByIndex.set(startIndex, ref); this._lookupByView.set(ref, startIndex); startIndex++; diff --git a/modules/angular2/src/web_workers/shared/serializer.ts b/modules/angular2/src/web_workers/shared/serializer.ts index 544ed74d5f..bd8f9bfad6 100644 --- a/modules/angular2/src/web_workers/shared/serializer.ts +++ b/modules/angular2/src/web_workers/shared/serializer.ts @@ -7,7 +7,7 @@ import { } from "angular2/src/core/facade/lang"; import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; -import {ListWrapper, Map, StringMapWrapper, MapWrapper} from "angular2/src/core/facade/collection"; +import {Map, StringMapWrapper, MapWrapper} from "angular2/src/core/facade/collection"; import { RenderProtoViewRef, RenderViewRef, @@ -52,9 +52,7 @@ export class Serializer { return null; } if (isArray(obj)) { - var serializedObj = []; - ListWrapper.forEach(obj, (val) => { serializedObj.push(this.serialize(val, type)); }); - return serializedObj; + return (obj).map(v => this.serialize(v, type)); } if (type == PRIMITIVE) { return obj; @@ -80,7 +78,7 @@ export class Serializer { } if (isArray(map)) { var obj: any[] = []; - ListWrapper.forEach(map, (val) => { obj.push(this.deserialize(val, type, data)); }); + (map).forEach(val => obj.push(this.deserialize(val, type, data))); return obj; } if (type == PRIMITIVE) { diff --git a/modules/angular2/test/core/change_detection/change_detector_spec.ts b/modules/angular2/test/core/change_detection/change_detector_spec.ts index 495296ab7b..e1c69aea97 100644 --- a/modules/angular2/test/core/change_detection/change_detector_spec.ts +++ b/modules/angular2/test/core/change_detection/change_detector_spec.ts @@ -22,7 +22,7 @@ import { normalizeBool } from 'angular2/src/core/facade/lang'; import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; -import {ListWrapper, MapWrapper, StringMapWrapper} from 'angular2/src/core/facade/collection'; +import {MapWrapper, StringMapWrapper} from 'angular2/src/core/facade/collection'; import { ChangeDispatcher, @@ -67,7 +67,7 @@ const _DEFAULT_CONTEXT = CONST_EXPR(new Object()); * can be found in the generated/change_detector_classes library. */ export function main() { - ListWrapper.forEach(['dynamic', 'JIT', 'Pregen'], (cdType) => { + ['dynamic', 'JIT', 'Pregen'].forEach(cdType => { if (cdType == "JIT" && IS_DART) return; if (cdType == "Pregen" && !IS_DART) return; diff --git a/modules/angular2/test/core/facade/async_spec.ts b/modules/angular2/test/core/facade/async_spec.ts index acaef2ba59..3ca0bf4bf5 100644 --- a/modules/angular2/test/core/facade/async_spec.ts +++ b/modules/angular2/test/core/facade/async_spec.ts @@ -13,7 +13,6 @@ import { } from 'angular2/test_lib'; import {ObservableWrapper, EventEmitter, PromiseWrapper} from 'angular2/src/core/facade/async'; -import {ListWrapper} from 'angular2/src/core/facade/collection'; export function main() { describe('EventEmitter', () => { @@ -88,7 +87,7 @@ export function main() { one.resolve('one'); })); - ListWrapper.forEach([null, true, false, 10, 'thing', {}, []], (abruptCompletion) => { + [null, true, false, 10, 'thing', {}, []].forEach(abruptCompletion => { it(`should treat "${abruptCompletion}" as an "abrupt completion"`, inject([AsyncTestCompleter], (async) => { var one = PromiseWrapper.completer(); diff --git a/modules/angular2/test/web_workers/shared/mock_event_emitter.ts b/modules/angular2/test/web_workers/shared/mock_event_emitter.ts index cb8db04c42..ed5d43f026 100644 --- a/modules/angular2/test/web_workers/shared/mock_event_emitter.ts +++ b/modules/angular2/test/web_workers/shared/mock_event_emitter.ts @@ -1,5 +1,4 @@ import {EventEmitter} from 'angular2/src/core/facade/async'; -import {ListWrapper} from 'angular2/src/core/facade/collection'; export class MockEventEmitter extends EventEmitter { private _nextFns: Function[] = []; @@ -11,9 +10,7 @@ export class MockEventEmitter extends EventEmitter { return new MockDisposable(); } - next(value: any) { - ListWrapper.forEach(this._nextFns, (fn) => { fn(value); }); - } + next(value: any) { this._nextFns.forEach(fn => fn(value)); } } class MockDisposable { diff --git a/modules/angular2_material/src/components/radio/radio_button.ts b/modules/angular2_material/src/components/radio/radio_button.ts index 9ff287c5f0..2d852cb2a8 100644 --- a/modules/angular2_material/src/components/radio/radio_button.ts +++ b/modules/angular2_material/src/components/radio/radio_button.ts @@ -12,7 +12,6 @@ import { import {isPresent, StringWrapper, NumberWrapper} from 'angular2/src/core/facade/lang'; import {ObservableWrapper, EventEmitter} from 'angular2/src/core/facade/async'; -import {ListWrapper} from 'angular2/src/core/facade/collection'; import {Event, KeyboardEvent} from 'angular2/src/core/facade/browser'; import {MdRadioDispatcher} from 'angular2_material/src/components/radio/radio_dispatcher'; @@ -111,7 +110,7 @@ export class MdRadioGroup implements OnChanges { // child radio buttons and select the one that has a corresponding value (if any). if (isPresent(this.value) && this.value != '') { this.radioDispatcher.notify(this.name_); - ListWrapper.forEach(this.radios_, (radio) => { + this.radios_.forEach(radio => { if (radio.value == this.value) { radio.checked = true; this.selectedRadioId = radio.id; diff --git a/modules/benchmarks/src/compiler/compiler_benchmark.ts b/modules/benchmarks/src/compiler/compiler_benchmark.ts index 98e9e4f25e..fd0595038e 100644 --- a/modules/benchmarks/src/compiler/compiler_benchmark.ts +++ b/modules/benchmarks/src/compiler/compiler_benchmark.ts @@ -69,7 +69,7 @@ class MultiplyViewResolver extends ViewResolver { constructor(multiple: number, components: Type[]) { super(); this._multiplyBy = multiple; - ListWrapper.forEach(components, (c) => this._fillCache(c)); + components.forEach(c => this._fillCache(c)); } _fillCache(component: Type) { diff --git a/modules/benchpress/src/metric/multi_metric.ts b/modules/benchpress/src/metric/multi_metric.ts index 1a1345796c..0986afe0e1 100644 --- a/modules/benchpress/src/metric/multi_metric.ts +++ b/modules/benchpress/src/metric/multi_metric.ts @@ -1,5 +1,5 @@ import {bind, Binding, Injector, OpaqueToken} from 'angular2/src/core/di'; -import {ListWrapper, StringMapWrapper} from 'angular2/src/core/facade/collection'; +import {StringMapWrapper} from 'angular2/src/core/facade/collection'; import {Promise, PromiseWrapper} from 'angular2/src/core/facade/async'; import {Metric} from '../metric'; @@ -42,11 +42,10 @@ export class MultiMetric extends Metric { } } -function mergeStringMaps(maps): Object { +function mergeStringMaps(maps: any[]): Object { var result = {}; - ListWrapper.forEach(maps, (map) => { - StringMapWrapper.forEach(map, (value, prop) => { result[prop] = value; }); - }); + maps.forEach( + map => { StringMapWrapper.forEach(map, (value, prop) => { result[prop] = value; }); }); return result; } diff --git a/modules/benchpress/src/metric/perflog_metric.ts b/modules/benchpress/src/metric/perflog_metric.ts index b183b36eca..45fe407aea 100644 --- a/modules/benchpress/src/metric/perflog_metric.ts +++ b/modules/benchpress/src/metric/perflog_metric.ts @@ -142,9 +142,9 @@ export class PerflogMetric extends Metric { }); } - _addEvents(events) { + _addEvents(events: any[]) { var needSort = false; - ListWrapper.forEach(events, (event) => { + events.forEach(event => { if (StringWrapper.equals(event['ph'], 'X')) { needSort = true; var startEvent = {}; diff --git a/modules/benchpress/src/sample_description.ts b/modules/benchpress/src/sample_description.ts index ada4417dc8..4b19e6db64 100644 --- a/modules/benchpress/src/sample_description.ts +++ b/modules/benchpress/src/sample_description.ts @@ -1,4 +1,4 @@ -import {StringMapWrapper, ListWrapper} from 'angular2/src/core/facade/collection'; +import {StringMapWrapper} from 'angular2/src/core/facade/collection'; import {bind, Binding, OpaqueToken} from 'angular2/src/core/di'; import {Validator} from './validator'; import {Metric} from './metric'; @@ -15,7 +15,7 @@ export class SampleDescription { constructor(public id: string, descriptions: Array<{[key: string]: any}>, public metrics: {[key: string]: any}) { this.description = {}; - ListWrapper.forEach(descriptions, (description) => { + descriptions.forEach(description => { StringMapWrapper.forEach(description, (value, prop) => this.description[prop] = value); }); } diff --git a/modules/benchpress/src/statistic.ts b/modules/benchpress/src/statistic.ts index 166a1cfc92..f9f79dc53c 100644 --- a/modules/benchpress/src/statistic.ts +++ b/modules/benchpress/src/statistic.ts @@ -1,21 +1,22 @@ import {Math} from 'angular2/src/core/facade/math'; -import {ListWrapper} from 'angular2/src/core/facade/collection'; export class Statistic { static calculateCoefficientOfVariation(sample, mean) { return Statistic.calculateStandardDeviation(sample, mean) / mean * 100; } - static calculateMean(sample) { + static calculateMean(samples: any[]) { var total = 0; - ListWrapper.forEach(sample, (x) => {total += x}); - return total / sample.length; + // TODO: use reduce + samples.forEach(x => total += x); + return total / samples.length; } - static calculateStandardDeviation(sample, mean) { + static calculateStandardDeviation(samples: any[], mean) { var deviation = 0; - ListWrapper.forEach(sample, (x) => { deviation += Math.pow(x - mean, 2); }); - deviation = deviation / (sample.length); + // TODO: use reduce + samples.forEach(x => deviation += Math.pow(x - mean, 2)); + deviation = deviation / (samples.length); deviation = Math.sqrt(deviation); return deviation; } diff --git a/modules/benchpress/src/web_driver_extension.ts b/modules/benchpress/src/web_driver_extension.ts index e60bb88f27..5fc4772150 100644 --- a/modules/benchpress/src/web_driver_extension.ts +++ b/modules/benchpress/src/web_driver_extension.ts @@ -3,7 +3,6 @@ import {bind, Binding, Injector, OpaqueToken} from 'angular2/src/core/di'; import {isBlank, isPresent} from 'angular2/src/core/facade/lang'; import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions'; import {Promise, PromiseWrapper} from 'angular2/src/core/facade/async'; -import {ListWrapper} from 'angular2/src/core/facade/collection'; import {Options} from './common_options'; @@ -20,9 +19,9 @@ export abstract class WebDriverExtension { [Injector]), bind(WebDriverExtension) .toFactory( - (children, capabilities) => { + (children: WebDriverExtension[], capabilities) => { var delegate; - ListWrapper.forEach(children, (extension) => { + children.forEach(extension => { if (extension.supports(capabilities)) { delegate = extension; } diff --git a/modules/benchpress/src/webdriver/chrome_driver_extension.ts b/modules/benchpress/src/webdriver/chrome_driver_extension.ts index 0bf1153504..b0229e01dc 100644 --- a/modules/benchpress/src/webdriver/chrome_driver_extension.ts +++ b/modules/benchpress/src/webdriver/chrome_driver_extension.ts @@ -71,7 +71,7 @@ export class ChromeDriverExtension extends WebDriverExtension { .then((_) => this._driver.logs('performance')) .then((entries) => { var events = []; - ListWrapper.forEach(entries, function(entry) { + entries.forEach(entry => { var message = Json.parse(entry['message'])['message']; if (StringWrapper.equals(message['method'], 'Tracing.dataCollected')) { events.push(message['params']); diff --git a/modules/benchpress/src/webdriver/ios_driver_extension.ts b/modules/benchpress/src/webdriver/ios_driver_extension.ts index 916071ddba..14261aba57 100644 --- a/modules/benchpress/src/webdriver/ios_driver_extension.ts +++ b/modules/benchpress/src/webdriver/ios_driver_extension.ts @@ -1,5 +1,4 @@ import {bind, Binding} from 'angular2/src/core/di'; -import {ListWrapper} from 'angular2/src/core/facade/collection'; import { Json, isPresent, @@ -41,7 +40,7 @@ export class IOsDriverExtension extends WebDriverExtension { .then((_) => this._driver.logs('performance')) .then((entries) => { var records = []; - ListWrapper.forEach(entries, function(entry) { + entries.forEach(entry => { var message = Json.parse(entry['message'])['message']; if (StringWrapper.equals(message['method'], 'Timeline.eventRecorded')) { records.push(message['params']['record']); diff --git a/modules/benchpress/test/metric/perflog_metric_spec.ts b/modules/benchpress/test/metric/perflog_metric_spec.ts index 619bb2b727..1c45c371a2 100644 --- a/modules/benchpress/test/metric/perflog_metric_spec.ts +++ b/modules/benchpress/test/metric/perflog_metric_spec.ts @@ -11,7 +11,7 @@ import { xit, } from 'angular2/test_lib'; -import {ListWrapper, StringMapWrapper} from 'angular2/src/core/facade/collection'; +import {StringMapWrapper} from 'angular2/src/core/facade/collection'; import {PromiseWrapper, Promise} from 'angular2/src/core/facade/async'; import {isPresent, isBlank} from 'angular2/src/core/facade/lang'; @@ -325,7 +325,7 @@ export function main() { describe('aggregation', () => { function aggregate(events: any[], microMetrics = null, captureFrames = null) { - ListWrapper.insert(events, 0, eventFactory.markStart('benchpress0', 0)); + events.unshift(eventFactory.markStart('benchpress0', 0)); events.push(eventFactory.markEnd('benchpress0', 10)); var metric = createMetric([events], microMetrics, null, null, captureFrames); return metric.beginMeasure().then((_) => metric.endMeasure(false)); @@ -662,7 +662,7 @@ class MockDriverExtension extends WebDriverExtension { this._commandLog.push('readPerfLog'); if (this._perfLogs.length > 0) { var next = this._perfLogs[0]; - ListWrapper.removeAt(this._perfLogs, 0); + this._perfLogs.shift(); return PromiseWrapper.resolve(next); } else { return PromiseWrapper.resolve([]);