angular2
Version:
Angular 2 - a web framework for modern web apps
292 lines • 8.37 kB
JavaScript
var lang_1 = require('angular2/src/facade/lang');
// HACK: workaround for Traceur behavior.
// It expects all transpiled modules to contain this marker.
// TODO: remove this when we no longer use traceur
exports.__esModule = true;
exports.List = lang_1.global.Array;
exports.Map = lang_1.global.Map;
exports.Set = lang_1.global.Set;
exports.StringMap = lang_1.global.Object;
var MapWrapper = (function () {
function MapWrapper() {
}
MapWrapper.create = function () {
return new exports.Map();
};
MapWrapper.clone = function (m) {
return new exports.Map(m);
};
MapWrapper.createFromStringMap = function (stringMap) {
var result = MapWrapper.create();
for (var prop in stringMap) {
MapWrapper.set(result, prop, stringMap[prop]);
}
return result;
};
MapWrapper.createFromPairs = function (pairs) {
return new exports.Map(pairs);
};
MapWrapper.get = function (m, k) {
return m.get(k);
};
MapWrapper.set = function (m, k, v) {
m.set(k, v);
};
MapWrapper.contains = function (m, k) {
return m.has(k);
};
MapWrapper.forEach = function (m, fn) {
m.forEach(fn);
};
MapWrapper.size = function (m) {
return m.size;
};
MapWrapper.delete = function (m, k) {
m.delete(k);
};
MapWrapper.clear = function (m) {
m.clear();
};
MapWrapper.clearValues = function (m) {
var keyIterator = m.keys();
var k;
while (!((k = keyIterator.next()).done)) {
m.set(k.value, null);
}
};
MapWrapper.iterable = function (m) {
return m;
};
MapWrapper.keys = function (m) {
return m.keys();
};
MapWrapper.values = function (m) {
return m.values();
};
return MapWrapper;
})();
exports.MapWrapper = MapWrapper;
/**
* Wraps Javascript Objects
*/
var StringMapWrapper = (function () {
function StringMapWrapper() {
}
StringMapWrapper.create = function () {
// Note: We are not using Object.create(null) here due to
// performance!
// http://jsperf.com/ng2-object-create-null
return {};
};
StringMapWrapper.contains = function (map, key) {
return map.hasOwnProperty(key);
};
StringMapWrapper.get = function (map, key) {
return map.hasOwnProperty(key) ? map[key] : undefined;
};
StringMapWrapper.set = function (map, key, value) {
map[key] = value;
};
StringMapWrapper.isEmpty = function (map) {
for (var prop in map) {
return false;
}
return true;
};
StringMapWrapper.delete = function (map, key) {
delete map[key];
};
StringMapWrapper.forEach = function (map, callback) {
for (var prop in map) {
if (map.hasOwnProperty(prop)) {
callback(map[prop], prop);
}
}
};
StringMapWrapper.merge = function (m1, m2) {
var m = {};
for (var attr in m1) {
if (m1.hasOwnProperty(attr)) {
m[attr] = m1[attr];
}
}
for (var attr in m2) {
if (m2.hasOwnProperty(attr)) {
m[attr] = m2[attr];
}
}
return m;
};
return StringMapWrapper;
})();
exports.StringMapWrapper = StringMapWrapper;
var ListWrapper = (function () {
function ListWrapper() {
}
ListWrapper.create = function () {
return new exports.List();
};
ListWrapper.createFixedSize = function (size) {
return new exports.List(size);
};
ListWrapper.get = function (m, k) {
return m[k];
};
ListWrapper.set = function (m, k, v) {
m[k] = v;
};
ListWrapper.clone = function (array) {
return array.slice(0);
};
ListWrapper.map = function (array, fn) {
return array.map(fn);
};
ListWrapper.forEach = function (array, fn) {
for (var i = 0; i < array.length; i++) {
fn(array[i]);
}
};
ListWrapper.push = function (array, el) {
array.push(el);
};
ListWrapper.first = function (array) {
if (!array)
return null;
return array[0];
};
ListWrapper.last = function (array) {
if (!array || array.length == 0)
return null;
return array[array.length - 1];
};
ListWrapper.find = function (list, pred) {
for (var i = 0; i < list.length; ++i) {
if (pred(list[i]))
return list[i];
}
return null;
};
ListWrapper.indexOf = function (array, value, startIndex) {
if (startIndex === void 0) { startIndex = -1; }
return array.indexOf(value, startIndex);
};
ListWrapper.reduce = function (list, fn, init) {
return list.reduce(fn, init);
};
ListWrapper.filter = function (array, pred) {
return array.filter(pred);
};
ListWrapper.any = function (list, pred) {
for (var i = 0; i < list.length; ++i) {
if (pred(list[i]))
return true;
}
return false;
};
ListWrapper.contains = function (list, el) {
return list.indexOf(el) !== -1;
};
ListWrapper.reversed = function (array) {
var a = ListWrapper.clone(array);
return a.reverse();
};
ListWrapper.concat = function (a, b) {
return a.concat(b);
};
ListWrapper.isList = function (list) {
return Array.isArray(list);
};
ListWrapper.insert = function (list, index, value) {
list.splice(index, 0, value);
};
ListWrapper.removeAt = function (list, index) {
var res = list[index];
list.splice(index, 1);
return res;
};
ListWrapper.removeAll = function (list, items) {
for (var i = 0; i < items.length; ++i) {
var index = list.indexOf(items[i]);
list.splice(index, 1);
}
};
ListWrapper.removeLast = function (list) {
return list.pop();
};
ListWrapper.remove = function (list, el) {
var index = list.indexOf(el);
if (index > -1) {
list.splice(index, 1);
return true;
}
return false;
};
ListWrapper.clear = function (list) {
list.splice(0, list.length);
};
ListWrapper.join = function (list, s) {
return list.join(s);
};
ListWrapper.isEmpty = function (list) {
return list.length == 0;
};
ListWrapper.fill = function (list, value, start, end) {
if (start === void 0) { start = 0; }
if (end === void 0) { end = null; }
list.fill(value, start, end === null ? undefined : end);
};
ListWrapper.equals = function (a, b) {
if (a.length != b.length)
return false;
for (var i = 0; i < a.length; ++i) {
if (a[i] !== b[i])
return false;
}
return true;
};
ListWrapper.slice = function (l, from, to) {
return l.slice(from, to);
};
ListWrapper.splice = function (l, from, length) {
return l.splice(from, length);
};
ListWrapper.sort = function (l, compareFn) {
l.sort(compareFn);
};
return ListWrapper;
})();
exports.ListWrapper = ListWrapper;
function isListLikeIterable(obj) {
if (!lang_1.isJsObject(obj))
return false;
return ListWrapper.isList(obj) || (!(obj instanceof exports.Map) && Symbol.iterator in obj); // JS Iterable have a Symbol.iterator prop
}
exports.isListLikeIterable = isListLikeIterable;
function iterateListLike(obj, fn) {
if (ListWrapper.isList(obj)) {
for (var i = 0; i < obj.length; i++) {
fn(obj[i]);
}
}
else {
var iterator = obj[Symbol.iterator]();
var item;
while (!((item = iterator.next()).done)) {
fn(item.value);
}
}
}
exports.iterateListLike = iterateListLike;
var SetWrapper = (function () {
function SetWrapper() {
}
SetWrapper.createFromList = function (lst) {
return new exports.Set(lst);
};
SetWrapper.has = function (s, key) {
return s.has(key);
};
return SetWrapper;
})();
exports.SetWrapper = SetWrapper;
//# sourceMappingURL=collection.js.map