{"version":3,"sources":["collection.es6"],"names":[],"mappings":"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","file":"angular2/src/facade/collection.js","sourcesContent":["import {int, isJsObject, global} from 'angular2/src/facade/lang';\n\nexport var List = global.Array;\nexport var Map = global.Map;\nexport var Set = global.Set;\nexport var StringMap = global.Object;\n\nexport class MapWrapper {\n  static create():Map { return new Map(); }\n  static clone(m:Map):Map { return new Map(m); }\n  static createFromStringMap(stringMap):Map {\n    var result = MapWrapper.create();\n    for (var prop in stringMap) {\n      MapWrapper.set(result, prop, stringMap[prop]);\n    }\n    return result;\n  }\n  static createFromPairs(pairs:List):Map {return new Map(pairs);}\n  static get(m, k) { return m.get(k); }\n  static set(m, k, v) { m.set(k,v); }\n  static contains(m, k) { return  m.has(k); }\n  static forEach(m, fn) {\n    m.forEach(fn);\n  }\n  static size(m) {return m.size;}\n  static delete(m, k) { m.delete(k); }\n  static clear(m) { m.clear(); }\n  static clearValues(m) {\n    var keyIterator = m.keys();\n    var k;\n    while (!((k = keyIterator.next()).done)) {\n      m.set(k.value, null);\n    }\n  }\n  static iterable(m) { return m; }\n  static keys(m) { return m.keys(); }\n  static values(m) { return m.values(); }\n}\n\n/**\n * Wraps Javascript Objects\n */\nexport class StringMapWrapper {\n  static create():Object {\n    // Note: We are not using Object.create(null) here due to\n    // performance!\n    // http://jsperf.com/ng2-object-create-null\n    return { };\n  }\n  static contains(map, key) {\n    return map.hasOwnProperty(key);\n  }\n  static get(map, key) {\n    return map.hasOwnProperty(key) ? map[key] : undefined;\n  }\n  static set(map, key, value) {\n    map[key] = value;\n  }\n  static isEmpty(map) {\n    for (var prop in map) {\n      return false;\n    }\n    return true;\n  }\n  static delete(map, key) { delete map[key]; }\n  static forEach(map, callback) {\n    for (var prop in map) {\n      if (map.hasOwnProperty(prop)) {\n        callback(map[prop], prop);\n      }\n    }\n  }\n\n  static merge(m1, m2) {\n    var m = {};\n\n    for (var attr in m1) {\n      if (m1.hasOwnProperty(attr)){\n        m[attr] = m1[attr];\n      }\n    }\n\n    for (var attr in m2) {\n      if (m2.hasOwnProperty(attr)){\n        m[attr] = m2[attr];\n      }\n    }\n\n    return m;\n  }\n}\n\nexport class ListWrapper {\n  static create():List { return new List(); }\n  static createFixedSize(size):List { return new List(size); }\n  static get(m, k) { return m[k]; }\n  static set(m, k, v) { m[k] = v; }\n  static clone(array:List) {\n    return array.slice(0);\n  }\n  static map(array, fn) {\n    return array.map(fn);\n  }\n  static forEach(array:List, fn:Function) {\n    for (var i = 0; i < array.length; i++) {\n      fn(array[i]);\n    }\n  }\n  static push(array, el) {\n    array.push(el);\n  }\n  static first(array) {\n    if (!array) return null;\n    return array[0];\n  }\n  static last(array) {\n    if (!array || array.length == 0) return null;\n    return array[array.length - 1];\n  }\n  static find(list:List, pred:Function) {\n    for (var i = 0 ; i < list.length; ++i) {\n      if (pred(list[i])) return list[i];\n    }\n    return null;\n  }\n  static reduce(list:List, fn:Function, init) {\n    return list.reduce(fn, init);\n  }\n  static filter(array, pred:Function) {\n    return array.filter(pred);\n  }\n  static indexOf(array, value, startIndex = -1) {\n    return array.indexOf(value, startIndex);\n  }\n  static any(list:List, pred:Function) {\n    for (var i = 0 ; i < list.length; ++i) {\n      if (pred(list[i])) return true;\n    }\n    return false;\n  }\n  static contains(list:List, el) {\n    return list.indexOf(el) !== -1;\n  }\n  static reversed(array) {\n    var a = ListWrapper.clone(array);\n    return a.reverse();\n  }\n  static concat(a, b) {return a.concat(b);}\n  static isList(list) {\n    return Array.isArray(list);\n  }\n  static insert(list, index:int, value) {\n    list.splice(index, 0, value);\n  }\n  static removeAt(list, index:int) {\n    var res = list[index];\n    list.splice(index, 1);\n    return res;\n  }\n  static removeAll(list, items) {\n    for (var i = 0; i < items.length; ++i) {\n      var index = list.indexOf(items[i]);\n      list.splice(index, 1);\n    }\n  }\n  static removeLast(list:List) {\n    return list.pop();\n  }\n  static remove(list, el): boolean {\n    var index = list.indexOf(el);\n    if (index > -1) {\n      list.splice(index, 1);\n      return true;\n    }\n    return false;\n  }\n  static clear(list) {\n    list.splice(0, list.length);\n  }\n  static join(list, s) {\n    return list.join(s);\n  }\n  static isEmpty(list) {\n    return list.length == 0;\n  }\n  static fill(list:List, value, start:int = 0, end:int = null) {\n    list.fill(value, start, end === null ? undefined: end);\n  }\n  static equals(a:List, b:List):boolean {\n    if(a.length != b.length) return false;\n    for (var i = 0; i < a.length; ++i) {\n      if (a[i] !== b[i]) return false;\n    }\n    return true;\n  }\n  static slice(l:List, from:int, to:int):List {\n    return l.slice(from, to);\n  }\n  static splice(l:List, from:int, length:int):List {\n    return l.splice(from, length);\n  }\n  static sort(l:List, compareFn:Function) {\n    l.sort(compareFn);\n  }\n}\n\nexport function isListLikeIterable(obj):boolean {\n  if (!isJsObject(obj)) return false;\n  return ListWrapper.isList(obj) ||\n         (!(obj instanceof Map) &&  // JS Map are iterables but return entries as [k, v]\n         Symbol.iterator in obj);   // JS Iterable have a Symbol.iterator prop\n}\n\nexport function iterateListLike(obj, fn:Function) {\n  if (ListWrapper.isList(obj)) {\n    for (var i = 0; i < obj.length; i++) {\n      fn(obj[i]);\n    }\n  } else {\n    var iterator = obj[Symbol.iterator]();\n    var item;\n    while (!((item = iterator.next()).done)) {\n      fn(item.value);\n    }\n  }\n}\n\nexport class SetWrapper {\n  static createFromList(lst:List) { return new Set(lst); }\n  static has(s:Set, key):boolean { return s.has(key); }\n}\n"]}