core-js 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/bower.json +1 -1
- package/build/config.js +7 -3
- package/client/core.js +1463 -1128
- package/client/core.min.js +4 -4
- package/client/core.min.js.map +1 -1
- package/client/library.js +1400 -1074
- package/client/library.min.js +4 -4
- package/client/library.min.js.map +1 -1
- package/client/shim.js +1406 -1071
- package/client/shim.min.js +4 -4
- package/client/shim.min.js.map +1 -1
- package/es7/asap.js +2 -0
- package/es7/index.js +4 -0
- package/es7/observable.js +7 -0
- package/es7/symbol.js +3 -0
- package/fn/asap.js +2 -0
- package/fn/observable.js +7 -0
- package/fn/symbol/async-iterator.js +2 -0
- package/fn/symbol/has-instance.js +2 -1
- package/fn/symbol/index.js +2 -0
- package/fn/symbol/is-concat-spreadable.js +1 -1
- package/fn/symbol/iterator.js +1 -1
- package/fn/symbol/match.js +1 -1
- package/fn/symbol/observable.js +2 -0
- package/fn/symbol/replace.js +1 -1
- package/fn/symbol/search.js +1 -1
- package/fn/symbol/species.js +1 -1
- package/fn/symbol/split.js +1 -1
- package/fn/symbol/to-primitive.js +1 -1
- package/fn/symbol/to-string-tag.js +1 -1
- package/fn/symbol/unscopables.js +1 -1
- package/library/es7/asap.js +2 -0
- package/library/es7/index.js +4 -0
- package/library/es7/observable.js +7 -0
- package/library/es7/symbol.js +3 -0
- package/library/fn/asap.js +2 -0
- package/library/fn/observable.js +7 -0
- package/library/fn/symbol/async-iterator.js +2 -0
- package/library/fn/symbol/has-instance.js +2 -1
- package/library/fn/symbol/index.js +2 -0
- package/library/fn/symbol/is-concat-spreadable.js +1 -1
- package/library/fn/symbol/iterator.js +1 -1
- package/library/fn/symbol/match.js +1 -1
- package/library/fn/symbol/observable.js +2 -0
- package/library/fn/symbol/replace.js +1 -1
- package/library/fn/symbol/search.js +1 -1
- package/library/fn/symbol/species.js +1 -1
- package/library/fn/symbol/split.js +1 -1
- package/library/fn/symbol/to-primitive.js +1 -1
- package/library/fn/symbol/to-string-tag.js +1 -1
- package/library/fn/symbol/unscopables.js +1 -1
- package/library/modules/_array-includes.js +1 -1
- package/library/modules/_array-species-constructor.js +16 -0
- package/library/modules/_array-species-create.js +3 -13
- package/library/modules/_core.js +1 -1
- package/library/modules/_create-property.js +8 -0
- package/library/modules/_for-of.js +12 -6
- package/library/modules/_iter-detect.js +1 -1
- package/library/modules/_math-expm1.js +8 -2
- package/library/modules/_microtask.js +58 -48
- package/library/modules/_object-gopn-ext.js +2 -2
- package/library/modules/_string-pad.js +1 -2
- package/library/modules/_wks-define.js +9 -0
- package/library/modules/_wks-ext.js +1 -0
- package/library/modules/_wks.js +5 -2
- package/library/modules/es6.array.filter.js +9 -9
- package/library/modules/es6.array.from.js +11 -9
- package/library/modules/es6.array.index-of.js +9 -4
- package/library/modules/es6.array.last-index-of.js +10 -6
- package/library/modules/es6.array.of.js +3 -2
- package/library/modules/es6.math.acosh.js +6 -2
- package/library/modules/es6.math.asinh.js +4 -2
- package/library/modules/es6.math.atanh.js +4 -2
- package/library/modules/es6.math.expm1.js +3 -2
- package/library/modules/es6.promise.js +1 -1
- package/library/modules/es6.reflect.apply.js +5 -3
- package/library/modules/es6.reflect.construct.js +2 -1
- package/library/modules/es6.symbol.js +59 -59
- package/library/modules/es7.asap.js +12 -0
- package/library/modules/es7.object.get-own-property-descriptors.js +7 -11
- package/library/modules/es7.observable.js +199 -0
- package/library/modules/es7.symbol.async-iterator.js +1 -0
- package/library/modules/es7.symbol.observable.js +1 -0
- package/library/shim.js +4 -0
- package/library/stage/0.js +1 -0
- package/library/stage/1.js +3 -2
- package/library/stage/2.js +3 -1
- package/library/stage/3.js +1 -3
- package/library/stage/4.js +3 -1
- package/modules/_array-includes.js +1 -1
- package/modules/_array-species-constructor.js +16 -0
- package/modules/_array-species-create.js +3 -13
- package/modules/_core.js +1 -1
- package/modules/_create-property.js +8 -0
- package/modules/_for-of.js +12 -6
- package/modules/_iter-detect.js +1 -1
- package/modules/_math-expm1.js +8 -2
- package/modules/_microtask.js +58 -48
- package/modules/_object-gopn-ext.js +2 -2
- package/modules/_string-pad.js +1 -2
- package/modules/_wks-define.js +9 -0
- package/modules/_wks-ext.js +1 -0
- package/modules/_wks.js +5 -2
- package/modules/es6.array.filter.js +9 -9
- package/modules/es6.array.from.js +11 -9
- package/modules/es6.array.index-of.js +9 -4
- package/modules/es6.array.last-index-of.js +10 -6
- package/modules/es6.array.of.js +3 -2
- package/modules/es6.function.name.js +13 -4
- package/modules/es6.math.acosh.js +6 -2
- package/modules/es6.math.asinh.js +4 -2
- package/modules/es6.math.atanh.js +4 -2
- package/modules/es6.math.expm1.js +3 -2
- package/modules/es6.promise.js +1 -1
- package/modules/es6.reflect.apply.js +5 -3
- package/modules/es6.reflect.construct.js +2 -1
- package/modules/es6.symbol.js +59 -59
- package/modules/es7.asap.js +12 -0
- package/modules/es7.object.get-own-property-descriptors.js +7 -11
- package/modules/es7.observable.js +199 -0
- package/modules/es7.symbol.async-iterator.js +1 -0
- package/modules/es7.symbol.observable.js +1 -0
- package/package.json +14 -12
- package/shim.js +4 -0
- package/stage/0.js +1 -0
- package/stage/1.js +3 -2
- package/stage/2.js +3 -1
- package/stage/3.js +1 -3
- package/stage/4.js +3 -1
- package/README.md +0 -1981
|
@@ -15,7 +15,7 @@ module.exports = function(IS_INCLUDES){
|
|
|
15
15
|
if(value != value)return true;
|
|
16
16
|
// Array#toIndex ignores holes, Array#includes - not
|
|
17
17
|
} else for(;length > index; index++)if(IS_INCLUDES || index in O){
|
|
18
|
-
if(O[index] === el)return IS_INCLUDES || index;
|
|
18
|
+
if(O[index] === el)return IS_INCLUDES || index || 0;
|
|
19
19
|
} return !IS_INCLUDES && -1;
|
|
20
20
|
};
|
|
21
21
|
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var isObject = require('./_is-object')
|
|
2
|
+
, isArray = require('./_is-array')
|
|
3
|
+
, SPECIES = require('./_wks')('species');
|
|
4
|
+
|
|
5
|
+
module.exports = function(original){
|
|
6
|
+
var C;
|
|
7
|
+
if(isArray(original)){
|
|
8
|
+
C = original.constructor;
|
|
9
|
+
// cross-realm fallback
|
|
10
|
+
if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;
|
|
11
|
+
if(isObject(C)){
|
|
12
|
+
C = C[SPECIES];
|
|
13
|
+
if(C === null)C = undefined;
|
|
14
|
+
}
|
|
15
|
+
} return C === undefined ? Array : C;
|
|
16
|
+
};
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
, SPECIES = require('./_wks')('species');
|
|
2
|
+
var speciesConstructor = require('./_array-species-constructor');
|
|
3
|
+
|
|
5
4
|
module.exports = function(original, length){
|
|
6
|
-
|
|
7
|
-
if(isArray(original)){
|
|
8
|
-
C = original.constructor;
|
|
9
|
-
// cross-realm fallback
|
|
10
|
-
if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;
|
|
11
|
-
if(isObject(C)){
|
|
12
|
-
C = C[SPECIES];
|
|
13
|
-
if(C === null)C = undefined;
|
|
14
|
-
}
|
|
15
|
-
} return new (C === undefined ? Array : C)(length);
|
|
5
|
+
return new (speciesConstructor(original))(length);
|
|
16
6
|
};
|
package/modules/_core.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var core = module.exports = {version: '2.
|
|
1
|
+
var core = module.exports = {version: '2.4.0'};
|
|
2
2
|
if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $defineProperty = require('./_object-dp')
|
|
3
|
+
, createDesc = require('./_property-desc');
|
|
4
|
+
|
|
5
|
+
module.exports = function(object, index, value){
|
|
6
|
+
if(index in object)$defineProperty.f(object, index, createDesc(0, value));
|
|
7
|
+
else object[index] = value;
|
|
8
|
+
};
|
package/modules/_for-of.js
CHANGED
|
@@ -3,17 +3,23 @@ var ctx = require('./_ctx')
|
|
|
3
3
|
, isArrayIter = require('./_is-array-iter')
|
|
4
4
|
, anObject = require('./_an-object')
|
|
5
5
|
, toLength = require('./_to-length')
|
|
6
|
-
, getIterFn = require('./core.get-iterator-method')
|
|
7
|
-
|
|
6
|
+
, getIterFn = require('./core.get-iterator-method')
|
|
7
|
+
, BREAK = {}
|
|
8
|
+
, RETURN = {};
|
|
9
|
+
var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){
|
|
8
10
|
var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)
|
|
9
11
|
, f = ctx(fn, that, entries ? 2 : 1)
|
|
10
12
|
, index = 0
|
|
11
|
-
, length, step, iterator;
|
|
13
|
+
, length, step, iterator, result;
|
|
12
14
|
if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');
|
|
13
15
|
// fast case for arrays with default iterator
|
|
14
16
|
if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){
|
|
15
|
-
entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
|
|
17
|
+
result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
|
|
18
|
+
if(result === BREAK || result === RETURN)return result;
|
|
16
19
|
} else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){
|
|
17
|
-
call(iterator, f, step.value, entries);
|
|
20
|
+
result = call(iterator, f, step.value, entries);
|
|
21
|
+
if(result === BREAK || result === RETURN)return result;
|
|
18
22
|
}
|
|
19
|
-
};
|
|
23
|
+
};
|
|
24
|
+
exports.BREAK = BREAK;
|
|
25
|
+
exports.RETURN = RETURN;
|
package/modules/_iter-detect.js
CHANGED
|
@@ -13,7 +13,7 @@ module.exports = function(exec, skipClosing){
|
|
|
13
13
|
try {
|
|
14
14
|
var arr = [7]
|
|
15
15
|
, iter = arr[ITERATOR]();
|
|
16
|
-
iter.next = function(){ safe = true; };
|
|
16
|
+
iter.next = function(){ return {done: safe = true}; };
|
|
17
17
|
arr[ITERATOR] = function(){ return iter; };
|
|
18
18
|
exec(arr);
|
|
19
19
|
} catch(e){ /* empty */ }
|
package/modules/_math-expm1.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
// 20.2.2.14 Math.expm1(x)
|
|
2
|
-
|
|
2
|
+
var $expm1 = Math.expm1;
|
|
3
|
+
module.exports = (!$expm1
|
|
4
|
+
// Old FF bug
|
|
5
|
+
|| $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
|
|
6
|
+
// Tor Browser bug
|
|
7
|
+
|| $expm1(-2e-17) != -2e-17
|
|
8
|
+
) ? function expm1(x){
|
|
3
9
|
return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
|
|
4
|
-
};
|
|
10
|
+
} : $expm1;
|
package/modules/_microtask.js
CHANGED
|
@@ -3,56 +3,66 @@ var global = require('./_global')
|
|
|
3
3
|
, Observer = global.MutationObserver || global.WebKitMutationObserver
|
|
4
4
|
, process = global.process
|
|
5
5
|
, Promise = global.Promise
|
|
6
|
-
, isNode = require('./_cof')(process) == 'process'
|
|
7
|
-
, head, last, notify;
|
|
6
|
+
, isNode = require('./_cof')(process) == 'process';
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
if(isNode && (parent = process.domain))parent.exit();
|
|
12
|
-
while(head){
|
|
13
|
-
fn = head.fn;
|
|
14
|
-
fn(); // <- currently we use it only for Promise - try / catch not required
|
|
15
|
-
head = head.next;
|
|
16
|
-
} last = undefined;
|
|
17
|
-
if(parent)parent.enter();
|
|
18
|
-
};
|
|
8
|
+
module.exports = function(){
|
|
9
|
+
var head, last, notify;
|
|
19
10
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
11
|
+
var flush = function(){
|
|
12
|
+
var parent, fn;
|
|
13
|
+
if(isNode && (parent = process.domain))parent.exit();
|
|
14
|
+
while(head){
|
|
15
|
+
fn = head.fn;
|
|
16
|
+
head = head.next;
|
|
17
|
+
try {
|
|
18
|
+
fn();
|
|
19
|
+
} catch(e){
|
|
20
|
+
if(head)notify();
|
|
21
|
+
else last = undefined;
|
|
22
|
+
throw e;
|
|
23
|
+
}
|
|
24
|
+
} last = undefined;
|
|
25
|
+
if(parent)parent.enter();
|
|
24
26
|
};
|
|
25
|
-
// browsers with MutationObserver
|
|
26
|
-
} else if(Observer){
|
|
27
|
-
var toggle = true
|
|
28
|
-
, node = document.createTextNode('');
|
|
29
|
-
new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new
|
|
30
|
-
notify = function(){
|
|
31
|
-
node.data = toggle = !toggle;
|
|
32
|
-
};
|
|
33
|
-
// environments with maybe non-completely correct, but existent Promise
|
|
34
|
-
} else if(Promise && Promise.resolve){
|
|
35
|
-
notify = function(){
|
|
36
|
-
Promise.resolve().then(flush);
|
|
37
|
-
};
|
|
38
|
-
// for other environments - macrotask based on:
|
|
39
|
-
// - setImmediate
|
|
40
|
-
// - MessageChannel
|
|
41
|
-
// - window.postMessag
|
|
42
|
-
// - onreadystatechange
|
|
43
|
-
// - setTimeout
|
|
44
|
-
} else {
|
|
45
|
-
notify = function(){
|
|
46
|
-
// strange IE + webpack dev server bug - use .call(global)
|
|
47
|
-
macrotask.call(global, flush);
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
27
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
28
|
+
// Node.js
|
|
29
|
+
if(isNode){
|
|
30
|
+
notify = function(){
|
|
31
|
+
process.nextTick(flush);
|
|
32
|
+
};
|
|
33
|
+
// browsers with MutationObserver
|
|
34
|
+
} else if(Observer){
|
|
35
|
+
var toggle = true
|
|
36
|
+
, node = document.createTextNode('');
|
|
37
|
+
new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new
|
|
38
|
+
notify = function(){
|
|
39
|
+
node.data = toggle = !toggle;
|
|
40
|
+
};
|
|
41
|
+
// environments with maybe non-completely correct, but existent Promise
|
|
42
|
+
} else if(Promise && Promise.resolve){
|
|
43
|
+
var promise = Promise.resolve();
|
|
44
|
+
notify = function(){
|
|
45
|
+
promise.then(flush);
|
|
46
|
+
};
|
|
47
|
+
// for other environments - macrotask based on:
|
|
48
|
+
// - setImmediate
|
|
49
|
+
// - MessageChannel
|
|
50
|
+
// - window.postMessag
|
|
51
|
+
// - onreadystatechange
|
|
52
|
+
// - setTimeout
|
|
53
|
+
} else {
|
|
54
|
+
notify = function(){
|
|
55
|
+
// strange IE + webpack dev server bug - use .call(global)
|
|
56
|
+
macrotask.call(global, flush);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return function(fn){
|
|
61
|
+
var task = {fn: fn, next: undefined};
|
|
62
|
+
if(last)last.next = task;
|
|
63
|
+
if(!head){
|
|
64
|
+
head = task;
|
|
65
|
+
notify();
|
|
66
|
+
} last = task;
|
|
67
|
+
};
|
|
58
68
|
};
|
|
@@ -8,7 +8,7 @@ var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNa
|
|
|
8
8
|
|
|
9
9
|
var getWindowNames = function(it){
|
|
10
10
|
try {
|
|
11
|
-
return gOPN
|
|
11
|
+
return gOPN(it);
|
|
12
12
|
} catch(e){
|
|
13
13
|
return windowNames.slice();
|
|
14
14
|
}
|
|
@@ -16,4 +16,4 @@ var getWindowNames = function(it){
|
|
|
16
16
|
|
|
17
17
|
module.exports.f = function getOwnPropertyNames(it){
|
|
18
18
|
return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
|
|
19
|
-
};
|
|
19
|
+
};
|
package/modules/_string-pad.js
CHANGED
|
@@ -8,8 +8,7 @@ module.exports = function(that, maxLength, fillString, left){
|
|
|
8
8
|
, stringLength = S.length
|
|
9
9
|
, fillStr = fillString === undefined ? ' ' : String(fillString)
|
|
10
10
|
, intMaxLength = toLength(maxLength);
|
|
11
|
-
if(intMaxLength <= stringLength)return S;
|
|
12
|
-
if(fillStr == '')fillStr = ' ';
|
|
11
|
+
if(intMaxLength <= stringLength || fillStr == '')return S;
|
|
13
12
|
var fillLen = intMaxLength - stringLength
|
|
14
13
|
, stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
|
|
15
14
|
if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var global = require('./_global')
|
|
2
|
+
, core = require('./_core')
|
|
3
|
+
, LIBRARY = require('./_library')
|
|
4
|
+
, wksExt = require('./_wks-ext')
|
|
5
|
+
, defineProperty = require('./_object-dp').f;
|
|
6
|
+
module.exports = function(name){
|
|
7
|
+
var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
|
|
8
|
+
if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.f = require('./_wks');
|
package/modules/_wks.js
CHANGED
|
@@ -2,7 +2,10 @@ var store = require('./_shared')('wks')
|
|
|
2
2
|
, uid = require('./_uid')
|
|
3
3
|
, Symbol = require('./_global').Symbol
|
|
4
4
|
, USE_SYMBOL = typeof Symbol == 'function';
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
var $exports = module.exports = function(name){
|
|
6
7
|
return store[name] || (store[name] =
|
|
7
8
|
USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
|
|
8
|
-
};
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
$exports.store = store;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
var $export = require('./_export')
|
|
3
|
-
, $filter = require('./_array-methods')(2);
|
|
4
|
-
|
|
5
|
-
$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {
|
|
6
|
-
// 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
|
|
7
|
-
filter: function filter(callbackfn /* , thisArg */){
|
|
8
|
-
return $filter(this, callbackfn, arguments[1]);
|
|
9
|
-
}
|
|
1
|
+
'use strict';
|
|
2
|
+
var $export = require('./_export')
|
|
3
|
+
, $filter = require('./_array-methods')(2);
|
|
4
|
+
|
|
5
|
+
$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {
|
|
6
|
+
// 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
|
|
7
|
+
filter: function filter(callbackfn /* , thisArg */){
|
|
8
|
+
return $filter(this, callbackfn, arguments[1]);
|
|
9
|
+
}
|
|
10
10
|
});
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var ctx
|
|
3
|
-
, $export
|
|
4
|
-
, toObject
|
|
5
|
-
, call
|
|
6
|
-
, isArrayIter
|
|
7
|
-
, toLength
|
|
8
|
-
,
|
|
2
|
+
var ctx = require('./_ctx')
|
|
3
|
+
, $export = require('./_export')
|
|
4
|
+
, toObject = require('./_to-object')
|
|
5
|
+
, call = require('./_iter-call')
|
|
6
|
+
, isArrayIter = require('./_is-array-iter')
|
|
7
|
+
, toLength = require('./_to-length')
|
|
8
|
+
, createProperty = require('./_create-property')
|
|
9
|
+
, getIterFn = require('./core.get-iterator-method');
|
|
10
|
+
|
|
9
11
|
$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {
|
|
10
12
|
// 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
|
|
11
13
|
from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){
|
|
@@ -21,12 +23,12 @@ $export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array
|
|
|
21
23
|
// if object isn't iterable or it's array with default iterator - use simple case
|
|
22
24
|
if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){
|
|
23
25
|
for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){
|
|
24
|
-
result
|
|
26
|
+
createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
|
|
25
27
|
}
|
|
26
28
|
} else {
|
|
27
29
|
length = toLength(O.length);
|
|
28
30
|
for(result = new C(length); length > index; index++){
|
|
29
|
-
result
|
|
31
|
+
createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
result.length = index;
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $export
|
|
3
|
-
, $indexOf
|
|
2
|
+
var $export = require('./_export')
|
|
3
|
+
, $indexOf = require('./_array-includes')(false)
|
|
4
|
+
, $native = [].indexOf
|
|
5
|
+
, NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
|
|
4
6
|
|
|
5
|
-
$export($export.P + $export.F * !require('./_strict-method')(
|
|
7
|
+
$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {
|
|
6
8
|
// 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
|
|
7
9
|
indexOf: function indexOf(searchElement /*, fromIndex = 0 */){
|
|
8
|
-
return
|
|
10
|
+
return NEGATIVE_ZERO
|
|
11
|
+
// convert -0 to +0
|
|
12
|
+
? $native.apply(this, arguments) || 0
|
|
13
|
+
: $indexOf(this, searchElement, arguments[1]);
|
|
9
14
|
}
|
|
10
15
|
});
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $export
|
|
3
|
-
, toIObject
|
|
4
|
-
, toInteger
|
|
5
|
-
, toLength
|
|
2
|
+
var $export = require('./_export')
|
|
3
|
+
, toIObject = require('./_to-iobject')
|
|
4
|
+
, toInteger = require('./_to-integer')
|
|
5
|
+
, toLength = require('./_to-length')
|
|
6
|
+
, $native = [].lastIndexOf
|
|
7
|
+
, NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;
|
|
6
8
|
|
|
7
|
-
$export($export.P + $export.F * !require('./_strict-method')(
|
|
9
|
+
$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {
|
|
8
10
|
// 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
|
|
9
11
|
lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){
|
|
12
|
+
// convert -0 to +0
|
|
13
|
+
if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;
|
|
10
14
|
var O = toIObject(this)
|
|
11
15
|
, length = toLength(O.length)
|
|
12
16
|
, index = length - 1;
|
|
13
17
|
if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));
|
|
14
18
|
if(index < 0)index = length + index;
|
|
15
|
-
for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index;
|
|
19
|
+
for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;
|
|
16
20
|
return -1;
|
|
17
21
|
}
|
|
18
22
|
});
|
package/modules/es6.array.of.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var $export
|
|
2
|
+
var $export = require('./_export')
|
|
3
|
+
, createProperty = require('./_create-property');
|
|
3
4
|
|
|
4
5
|
// WebKit Array.of isn't generic
|
|
5
6
|
$export($export.S + $export.F * require('./_fails')(function(){
|
|
@@ -11,7 +12,7 @@ $export($export.S + $export.F * require('./_fails')(function(){
|
|
|
11
12
|
var index = 0
|
|
12
13
|
, aLen = arguments.length
|
|
13
14
|
, result = new (typeof this == 'function' ? this : Array)(aLen);
|
|
14
|
-
while(aLen > index)result
|
|
15
|
+
while(aLen > index)createProperty(result, index, arguments[index++]);
|
|
15
16
|
result.length = aLen;
|
|
16
17
|
return result;
|
|
17
18
|
}
|
|
@@ -4,13 +4,22 @@ var dP = require('./_object-dp').f
|
|
|
4
4
|
, FProto = Function.prototype
|
|
5
5
|
, nameRE = /^\s*function ([^ (]*)/
|
|
6
6
|
, NAME = 'name';
|
|
7
|
+
|
|
8
|
+
var isExtensible = Object.isExtensible || function(){
|
|
9
|
+
return true;
|
|
10
|
+
};
|
|
11
|
+
|
|
7
12
|
// 19.2.4.2 name
|
|
8
13
|
NAME in FProto || require('./_descriptors') && dP(FProto, NAME, {
|
|
9
14
|
configurable: true,
|
|
10
15
|
get: function(){
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
try {
|
|
17
|
+
var that = this
|
|
18
|
+
, name = ('' + that).match(nameRE)[1];
|
|
19
|
+
has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));
|
|
20
|
+
return name;
|
|
21
|
+
} catch(e){
|
|
22
|
+
return '';
|
|
23
|
+
}
|
|
15
24
|
}
|
|
16
25
|
});
|
|
@@ -4,8 +4,12 @@ var $export = require('./_export')
|
|
|
4
4
|
, sqrt = Math.sqrt
|
|
5
5
|
, $acosh = Math.acosh;
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
$export($export.S + $export.F * !($acosh
|
|
8
|
+
// V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
|
|
9
|
+
&& Math.floor($acosh(Number.MAX_VALUE)) == 710
|
|
10
|
+
// Tor Browser bug: Math.acosh(Infinity) -> NaN
|
|
11
|
+
&& $acosh(Infinity) == Infinity
|
|
12
|
+
), 'Math', {
|
|
9
13
|
acosh: function acosh(x){
|
|
10
14
|
return (x = +x) < 1 ? NaN : x > 94906265.62425156
|
|
11
15
|
? Math.log(x) + Math.LN2
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
// 20.2.2.5 Math.asinh(x)
|
|
2
|
-
var $export = require('./_export')
|
|
2
|
+
var $export = require('./_export')
|
|
3
|
+
, $asinh = Math.asinh;
|
|
3
4
|
|
|
4
5
|
function asinh(x){
|
|
5
6
|
return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
|
|
6
7
|
}
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
// Tor Browser bug: Math.asinh(0) -> -0
|
|
10
|
+
$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// 20.2.2.7 Math.atanh(x)
|
|
2
|
-
var $export = require('./_export')
|
|
2
|
+
var $export = require('./_export')
|
|
3
|
+
, $atanh = Math.atanh;
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
// Tor Browser bug: Math.atanh(-0) -> 0
|
|
6
|
+
$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {
|
|
5
7
|
atanh: function atanh(x){
|
|
6
8
|
return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
|
|
7
9
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// 20.2.2.14 Math.expm1(x)
|
|
2
|
-
var $export = require('./_export')
|
|
2
|
+
var $export = require('./_export')
|
|
3
|
+
, $expm1 = require('./_math-expm1');
|
|
3
4
|
|
|
4
|
-
$export($export.S, 'Math', {expm1:
|
|
5
|
+
$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});
|
package/modules/es6.promise.js
CHANGED
|
@@ -12,7 +12,7 @@ var LIBRARY = require('./_library')
|
|
|
12
12
|
, setProto = require('./_set-proto').set
|
|
13
13
|
, speciesConstructor = require('./_species-constructor')
|
|
14
14
|
, task = require('./_task').set
|
|
15
|
-
, microtask = require('./_microtask')
|
|
15
|
+
, microtask = require('./_microtask')()
|
|
16
16
|
, PROMISE = 'Promise'
|
|
17
17
|
, TypeError = global.TypeError
|
|
18
18
|
, process = global.process
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
|
|
2
|
-
var $export
|
|
3
|
-
,
|
|
2
|
+
var $export = require('./_export')
|
|
3
|
+
, aFunction = require('./_a-function')
|
|
4
|
+
, anObject = require('./_an-object')
|
|
5
|
+
, _apply = Function.apply;
|
|
4
6
|
|
|
5
7
|
$export($export.S, 'Reflect', {
|
|
6
8
|
apply: function apply(target, thisArgument, argumentsList){
|
|
7
|
-
return _apply.call(target, thisArgument, argumentsList);
|
|
9
|
+
return _apply.call(aFunction(target), thisArgument, anObject(argumentsList));
|
|
8
10
|
}
|
|
9
11
|
});
|
|
@@ -14,10 +14,11 @@ $export($export.S + $export.F * require('./_fails')(function(){
|
|
|
14
14
|
}), 'Reflect', {
|
|
15
15
|
construct: function construct(Target, args /*, newTarget*/){
|
|
16
16
|
aFunction(Target);
|
|
17
|
+
anObject(args);
|
|
17
18
|
var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
|
|
18
19
|
if(Target == newTarget){
|
|
19
20
|
// w/o altered newTarget, optimization for 0-4 arguments
|
|
20
|
-
|
|
21
|
+
switch(args.length){
|
|
21
22
|
case 0: return new Target;
|
|
22
23
|
case 1: return new Target(args[0]);
|
|
23
24
|
case 2: return new Target(args[0], args[1]);
|