summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2015-04-21 10:42:57 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2015-04-21 10:42:57 +0200
commit83f96399b82a7932a1f7d851af7975fd86e785d4 (patch)
tree4b1b725a85b8c4f79852e795ff8879bb3aae18de /js
parent982554058e1d2b7ddeaf22a6019dbfc5835cc0ff (diff)
update js deps
Diffstat (limited to 'js')
-rw-r--r--js/package.json6
-rw-r--r--js/vendor/angular/.bower.json2
-rw-r--r--js/vendor/es6-shim/.bower.json8
-rw-r--r--js/vendor/es6-shim/CHANGELOG.md3
-rw-r--r--js/vendor/es6-shim/bower.json2
-rw-r--r--js/vendor/es6-shim/component.json2
-rw-r--r--js/vendor/es6-shim/es6-shim.js32
-rw-r--r--js/vendor/es6-shim/es6-shim.map2
-rw-r--r--js/vendor/es6-shim/es6-shim.min.js5
-rw-r--r--js/vendor/es6-shim/package.json4
10 files changed, 35 insertions, 31 deletions
diff --git a/js/package.json b/js/package.json
index 0a30c954c..46f72df2e 100644
--- a/js/package.json
+++ b/js/package.json
@@ -29,7 +29,7 @@
"grunt-contrib-concat": "^0.5.1",
"grunt-contrib-connect": "^0.10.1",
"grunt-contrib-cssmin": "^0.12.2",
- "grunt-contrib-jshint": "^0.11.1",
+ "grunt-contrib-jshint": "^0.11.2",
"grunt-contrib-uglify": "^0.9.1",
"grunt-contrib-watch": "^0.6.1",
"grunt-karma": "^0.10.1",
@@ -40,8 +40,8 @@
"grunt-protractor-webdriver": "^0.2.0",
"grunt-wrap": "^0.3.0",
"karma": "^0.12.31",
- "karma-chrome-launcher": "^0.1.7",
- "karma-coverage": "^0.2.7",
+ "karma-chrome-launcher": "^0.1.8",
+ "karma-coverage": "^0.3.1",
"karma-firefox-launcher": "^0.1.4",
"karma-jasmine": "^0.3.5"
},
diff --git a/js/vendor/angular/.bower.json b/js/vendor/angular/.bower.json
index 5842c0a11..2478b1633 100644
--- a/js/vendor/angular/.bower.json
+++ b/js/vendor/angular/.bower.json
@@ -12,6 +12,6 @@
"commit": "c339b32bb688fbbc66837c1b39925c457e24d3b5"
},
"_source": "git://github.com/angular/bower-angular.git",
- "_target": "1.4.0-rc.0",
+ "_target": "~1.4.*",
"_originalSource": "angular"
} \ No newline at end of file
diff --git a/js/vendor/es6-shim/.bower.json b/js/vendor/es6-shim/.bower.json
index 397da17fe..ab5d66177 100644
--- a/js/vendor/es6-shim/.bower.json
+++ b/js/vendor/es6-shim/.bower.json
@@ -1,6 +1,6 @@
{
"name": "es6-shim",
- "version": "0.28.1",
+ "version": "0.28.2",
"repo": "paulmillr/es6-shim",
"description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines",
"keywords": [
@@ -28,11 +28,11 @@
"test"
],
"homepage": "https://github.com/paulmillr/es6-shim",
- "_release": "0.28.1",
+ "_release": "0.28.2",
"_resolution": {
"type": "version",
- "tag": "0.28.1",
- "commit": "c80f6037540026de9b8a0495310e2d37310942ee"
+ "tag": "0.28.2",
+ "commit": "f5a6b47afa92d81e38fe1e6e40854f07dcbe1ef8"
},
"_source": "git://github.com/paulmillr/es6-shim.git",
"_target": "~0.*",
diff --git a/js/vendor/es6-shim/CHANGELOG.md b/js/vendor/es6-shim/CHANGELOG.md
index 830b85dc7..7e71f6732 100644
--- a/js/vendor/es6-shim/CHANGELOG.md
+++ b/js/vendor/es6-shim/CHANGELOG.md
@@ -1,5 +1,8 @@
# es6-shim x.x.x (not yet released)
+# es6-shim 0.28.2 (13 Apr 2015)
+* `Map` and `Set` should have an arity of 0.
+
# es6-shim 0.28.1 (12 Apr 2015)
* Ensure `Object.assign` only includes enumerable Symbols.
diff --git a/js/vendor/es6-shim/bower.json b/js/vendor/es6-shim/bower.json
index 9721755a9..2f5415ca4 100644
--- a/js/vendor/es6-shim/bower.json
+++ b/js/vendor/es6-shim/bower.json
@@ -1,6 +1,6 @@
{
"name": "es6-shim",
- "version": "0.28.1",
+ "version": "0.28.2",
"repo": "paulmillr/es6-shim",
"description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines",
"keywords": [
diff --git a/js/vendor/es6-shim/component.json b/js/vendor/es6-shim/component.json
index b4e0ea75b..d74d3ace0 100644
--- a/js/vendor/es6-shim/component.json
+++ b/js/vendor/es6-shim/component.json
@@ -1,6 +1,6 @@
{
"name": "es6-shim",
- "version": "0.28.1",
+ "version": "0.28.2",
"repo": "paulmillr/es6-shim",
"description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines",
"keywords": [
diff --git a/js/vendor/es6-shim/es6-shim.js b/js/vendor/es6-shim/es6-shim.js
index f9bf1991c..6cde64919 100644
--- a/js/vendor/es6-shim/es6-shim.js
+++ b/js/vendor/es6-shim/es6-shim.js
@@ -100,9 +100,7 @@
string: function (x) { return _toString(x) === '[object String]'; },
regex: function (x) { return _toString(x) === '[object RegExp]'; },
symbol: function (x) {
- /*jshint notypeof: true */
return typeof globals.Symbol === 'function' && typeof x === 'symbol';
- /*jshint notypeof: false */
}
};
@@ -1937,7 +1935,7 @@
};
addIterator(MapIterator.prototype);
- function Map(iterable) {
+ function Map() {
var map = this;
if (!ES.TypeIsObject(map)) {
throw new TypeError("Constructor Map requires 'new'");
@@ -1958,8 +1956,8 @@
});
// Optionally initialize map from iterable
- if (typeof iterable !== 'undefined' && iterable !== null) {
- var it = ES.GetIterator(iterable);
+ if (arguments.length > 0 && typeof arguments[0] !== 'undefined' && arguments[0] !== null) {
+ var it = ES.GetIterator(arguments[0]);
var adder = map.set;
if (!ES.IsCallable(adder)) { throw new TypeError('bad map'); }
while (true) {
@@ -2127,7 +2125,7 @@
// Sets containing only string or numeric keys, we use an object
// as backing storage and lazily create a full Map only when
// required.
- var SetShim = function Set(iterable) {
+ var SetShim = function Set() {
var set = this;
if (!ES.TypeIsObject(set)) {
throw new TypeError("Constructor Set requires 'new'");
@@ -2143,8 +2141,8 @@
});
// Optionally initialize map from iterable
- if (typeof iterable !== 'undefined' && iterable !== null) {
- var it = ES.GetIterator(iterable);
+ if (arguments.length > 0 && typeof arguments[0] !== 'undefined' && arguments[0] !== null) {
+ var it = ES.GetIterator(arguments[0]);
var adder = set.add;
if (!ES.IsCallable(adder)) { throw new TypeError('bad set'); }
while (true) {
@@ -2268,11 +2266,15 @@
var mapAcceptsArguments = valueOrFalseIfThrows(function () { return new Map([[1, 2]]).get(1) === 2; });
if (!mapAcceptsArguments) {
var OrigMapNoArgs = globals.Map;
- globals.Map = function Map(iterable) {
+ globals.Map = function Map() {
if (!(this instanceof Map)) {
throw new TypeError('Constructor Map requires "new"');
}
var m = new OrigMapNoArgs();
+ var iterable;
+ if (arguments.length > 0) {
+ iterable = arguments[0];
+ }
if (Array.isArray(iterable) || Type.string(iterable)) {
Array.prototype.forEach.call(iterable, function (entry) {
m.set(entry[0], entry[1]);
@@ -2362,13 +2364,13 @@
return e instanceof TypeError;
}
}());
- if (globals.Map.length !== 1 || mapFailsToSupportSubclassing || !mapRequiresNew) {
+ if (globals.Map.length !== 0 || mapFailsToSupportSubclassing || !mapRequiresNew) {
var OrigMap = globals.Map;
- globals.Map = function Map(iterable) {
+ globals.Map = function Map() {
if (!(this instanceof Map)) {
throw new TypeError('Constructor Map requires "new"');
}
- var m = new OrigMap(iterable);
+ var m = arguments.length > 0 ? new OrigMap(arguments[0]) : new OrigMap();
Object.setPrototypeOf(m, Map.prototype);
defineProperty(m, 'constructor', Map, true);
return m;
@@ -2389,13 +2391,13 @@
return e instanceof TypeError;
}
}());
- if (globals.Set.length !== 1 || setFailsToSupportSubclassing || !setRequiresNew) {
+ if (globals.Set.length !== 0 || setFailsToSupportSubclassing || !setRequiresNew) {
var OrigSet = globals.Set;
- globals.Set = function Set(iterable) {
+ globals.Set = function Set() {
if (!(this instanceof Set)) {
throw new TypeError('Constructor Set requires "new"');
}
- var s = new OrigSet(iterable);
+ var s = arguments.length > 0 ? new OrigSet(arguments[0]) : new OrigSet();
Object.setPrototypeOf(s, Set.prototype);
defineProperty(s, 'constructor', Set, true);
return s;
diff --git a/js/vendor/es6-shim/es6-shim.map b/js/vendor/es6-shim/es6-shim.map
index 5884e8008..b3d13c6ae 100644
--- a/js/vendor/es6-shim/es6-shim.map
+++ b/js/vendor/es6-shim/es6-shim.map
@@ -1 +1 @@
-{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","not","notThunker","func","notThunk","apply","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","supportsSubclassing","C","f","Object","setPrototypeOf","Sub","Subclass","arg","o","prototype","create","constructor","value","arePropertyDescriptorsSupported","defineProperty","startsWithRejectsRegex","String","startsWith","startsWithHandlesInfinity","Infinity","getGlobal","Function","globals","globalIsFinite","isFinite","supportsDescriptors","hasStrictMode","call","startsWithIsCompliant","_indexOf","bind","indexOf","_toString","toString","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","Symbol","symbolSpecies","species","Type","object","x","string","regex","symbol","numberIsNaN","Number","isNaN","numberIsFinite","name","force","configurable","enumerable","writable","Value","getter","TypeError","get","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","preserveToString","target","source","defineProperties","map","keys","forEach","method","properties","Prototype","$iterator$","iterator","Set","addIterator","impl","isArguments","str","result","length","callee","safeApply","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","ToInt32","ToNumber","ToUint32","ToInteger","number","Math","floor","abs","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","it","IteratorNext","next","Construct","obj","_es6construct","CreateHTML","tag","attribute","S","p1","escapedV","replace","p2","p3","emulateES6construct","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","push","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub",1,"origStringRaw","stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","searchStr","startArg","start","max","slice","endsWith","thisLen","posArg","pos","end","min","includes","searchString","position","codePointAt","first","charCodeAt","isEnd","second","origIncludes","hasStringTrimBug","trim","ws","trimRegexp","RegExp","StringIterator","_s","_i","done","substr","ArrayShims","from","iterable","mapFn","list","hasThisArg","thisArg","usingIterator","iterationValue","Array","of","iteratorResult","array","kind","retval","ObjectIterator","getAllKeys","shift","arrayOfSupportsSubclassing","Foo","fooArr","origArrayOf","ArrayPrototypeShims","copyWithin","to","fin","count","direction","fill","O","relativeStart","relativeEnd","find","predicate","findIndex","values","entries","unscopables","originalArrayPrototypeValues","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","origArrayFrom","maxSafeInteger","pow","MIN_SAFE_INTEGER","EPSILON","parseInt","parseFloat","isInteger","isSafeInteger","item","idx","is","isEnumerableOn","propertyIsEnumerable","assignReducer","symbols","getOwnPropertySymbols","filter","concat","reduce","ObjectShims","assign","magic","checkArgs","proto","polyfill","assignHasPendingExceptions","preventExtensions","thrower","origAssign","FAKENULL","gpo","spo","p","objectKeysAcceptsPrimitives","originalObjectKeys","getOwnPropertyNames","objectGOPNAcceptsPrimitives","originalObjectGetOwnPropertyNames","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","flags","regExpFlagsGetter","global","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","OrigRegExp","RegExpShim","pattern","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","prop","square","n","add","inverseEpsilon","roundTiesToEven","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","MathShims","acosh","NaN","log","E","sqrt","asinh","atanh","cbrt","negate","clz32","LOG2E","cosh","exp","expm1","t","sum","hypot","y","anyNaN","allZero","anyInfinity","numbers","every","num","largest","divided","log2","log10","LOG10E","log1p","sign","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","MAX_VALUE","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","ceil","origImul","PromiseShim","Promise","Promise$prototype","IsPromise","promise","_promiseConstructor","_status","PromiseCapability","capability","resolver","resolve","reject","setTimeout","makeZeroTimeout","window","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","P","task","then","enqueue","setImmediate","process","nextTick","updatePromiseFromPotentialThenable","triggerPromiseReactions","reactions","reaction","handler","updateResult","promiseResolutionHandler","onFulfilled","onRejected","_resolveReactions","_rejectReactions","resolution","_result","reason","_promiseAllResolver","index","remaining","all","nextPromise","resolveElement","race","rejectPromise","resolvePromise","catch","resolutionHandler","resolveReaction","rejectReaction","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","testOrder","k","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","type","emptyObject","collectionShims","Map","empty","MapEntry","prev","isRemoved","MapIterator","head","_head","_es6map","_storage","_size","adder","nextItem","Map$prototype","fkey","entry","has","delete","clear","callback","context","SetShim","_es6set","[[SetData]]","Set$prototype","ensureMap","m","charAt","size","hasFKey","entireSet","mapAcceptsArguments","OrigMapNoArgs","isArray","mapUsesSameValueZero","mapSupportsChaining","origMapSet","origMapGet","origMapHas","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","OrigMap","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","mapIterationThrowsStopIterator","Reflect","throwUnlessTargetIsObject","construct","deleteProperty","desc","enumerate","ownKeys","callAndCatchException","internalGet","receiver","parent","undefined","internalSet","existingDesc","ConvertExceptionToBoolean","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","Date","dateToString","shimmedDateToString","valueOf","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","match","toLowerCase"],"mappings":"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