core-js 2.2.1 → 2.4.1

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.
Files changed (235) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/bower.json +1 -1
  3. package/build/config.js +13 -3
  4. package/client/core.js +1980 -1641
  5. package/client/core.min.js +4 -4
  6. package/client/core.min.js.map +1 -1
  7. package/client/library.js +1877 -1547
  8. package/client/library.min.js +4 -4
  9. package/client/library.min.js.map +1 -1
  10. package/client/shim.js +1907 -1582
  11. package/client/shim.min.js +4 -4
  12. package/client/shim.min.js.map +1 -1
  13. package/es7/asap.js +2 -0
  14. package/es7/index.js +4 -0
  15. package/es7/observable.js +7 -0
  16. package/es7/symbol.js +3 -0
  17. package/fn/asap.js +2 -0
  18. package/fn/date/to-string.js +2 -2
  19. package/fn/observable.js +7 -0
  20. package/fn/symbol/async-iterator.js +2 -0
  21. package/fn/symbol/has-instance.js +2 -1
  22. package/fn/symbol/index.js +2 -0
  23. package/fn/symbol/is-concat-spreadable.js +1 -1
  24. package/fn/symbol/iterator.js +1 -1
  25. package/fn/symbol/match.js +1 -1
  26. package/fn/symbol/observable.js +2 -0
  27. package/fn/symbol/replace.js +1 -1
  28. package/fn/symbol/search.js +1 -1
  29. package/fn/symbol/species.js +1 -1
  30. package/fn/symbol/split.js +1 -1
  31. package/fn/symbol/to-primitive.js +1 -1
  32. package/fn/symbol/to-string-tag.js +1 -1
  33. package/fn/symbol/unscopables.js +1 -1
  34. package/library/es7/asap.js +2 -0
  35. package/library/es7/index.js +4 -0
  36. package/library/es7/observable.js +7 -0
  37. package/library/es7/symbol.js +3 -0
  38. package/library/fn/asap.js +2 -0
  39. package/library/fn/date/to-string.js +2 -2
  40. package/library/fn/observable.js +7 -0
  41. package/library/fn/symbol/async-iterator.js +2 -0
  42. package/library/fn/symbol/has-instance.js +2 -1
  43. package/library/fn/symbol/index.js +2 -0
  44. package/library/fn/symbol/is-concat-spreadable.js +1 -1
  45. package/library/fn/symbol/iterator.js +1 -1
  46. package/library/fn/symbol/match.js +1 -1
  47. package/library/fn/symbol/observable.js +2 -0
  48. package/library/fn/symbol/replace.js +1 -1
  49. package/library/fn/symbol/search.js +1 -1
  50. package/library/fn/symbol/species.js +1 -1
  51. package/library/fn/symbol/split.js +1 -1
  52. package/library/fn/symbol/to-primitive.js +1 -1
  53. package/library/fn/symbol/to-string-tag.js +1 -1
  54. package/library/fn/symbol/unscopables.js +1 -1
  55. package/library/modules/_a-number-value.js +4 -4
  56. package/library/modules/_array-includes.js +1 -1
  57. package/library/modules/_array-reduce.js +27 -27
  58. package/library/modules/_array-species-constructor.js +16 -0
  59. package/library/modules/_array-species-create.js +3 -13
  60. package/library/modules/_collection-strong.js +0 -1
  61. package/library/modules/_core.js +1 -1
  62. package/library/modules/_create-property.js +8 -0
  63. package/library/modules/_date-to-primitive.js +8 -8
  64. package/library/modules/_enum-bug-keys.js +3 -3
  65. package/library/modules/_for-of.js +12 -6
  66. package/library/modules/_ie8-dom-define.js +2 -2
  67. package/library/modules/_inherit-if-required.js +7 -7
  68. package/library/modules/_iter-detect.js +1 -1
  69. package/library/modules/_math-expm1.js +8 -2
  70. package/library/modules/_microtask.js +58 -48
  71. package/library/modules/_object-create.js +41 -40
  72. package/library/modules/_object-dps.js +12 -12
  73. package/library/modules/_object-forced-pam.js +6 -6
  74. package/library/modules/_object-gopd.js +15 -15
  75. package/library/modules/_object-gopn.js +6 -6
  76. package/library/modules/_object-gpo.js +12 -12
  77. package/library/modules/_object-keys-internal.js +16 -16
  78. package/library/modules/_object-keys.js +6 -6
  79. package/library/modules/_shared-key.js +4 -4
  80. package/library/modules/_strict-method.js +6 -6
  81. package/library/modules/_string-pad.js +1 -2
  82. package/library/modules/_string-ws.js +1 -1
  83. package/library/modules/_typed-array.js +0 -2
  84. package/library/modules/_typed-buffer.js +0 -2
  85. package/library/modules/_wks-define.js +9 -0
  86. package/library/modules/_wks-ext.js +1 -0
  87. package/library/modules/_wks.js +5 -2
  88. package/library/modules/es6.array.every.js +9 -9
  89. package/library/modules/es6.array.filter.js +9 -9
  90. package/library/modules/es6.array.for-each.js +10 -10
  91. package/library/modules/es6.array.from.js +11 -9
  92. package/library/modules/es6.array.index-of.js +14 -9
  93. package/library/modules/es6.array.is-array.js +3 -3
  94. package/library/modules/es6.array.join.js +11 -11
  95. package/library/modules/es6.array.last-index-of.js +21 -17
  96. package/library/modules/es6.array.map.js +9 -9
  97. package/library/modules/es6.array.of.js +3 -2
  98. package/library/modules/es6.array.reduce-right.js +9 -9
  99. package/library/modules/es6.array.reduce.js +9 -9
  100. package/library/modules/es6.array.slice.js +27 -27
  101. package/library/modules/es6.array.some.js +9 -9
  102. package/library/modules/es6.array.sort.js +22 -22
  103. package/library/modules/es6.date.now.js +3 -3
  104. package/library/modules/es6.date.to-iso-string.js +27 -27
  105. package/library/modules/es6.function.bind.js +3 -3
  106. package/library/modules/es6.math.acosh.js +6 -2
  107. package/library/modules/es6.math.asinh.js +4 -2
  108. package/library/modules/es6.math.atanh.js +4 -2
  109. package/library/modules/es6.math.expm1.js +3 -2
  110. package/library/modules/es6.number.to-fixed.js +112 -113
  111. package/library/modules/es6.number.to-precision.js +17 -17
  112. package/library/modules/es6.object.create.js +2 -2
  113. package/library/modules/es6.object.define-properties.js +2 -2
  114. package/library/modules/es6.object.define-property.js +2 -2
  115. package/library/modules/es6.parse-float.js +3 -3
  116. package/library/modules/es6.parse-int.js +3 -3
  117. package/library/modules/es6.promise.js +1 -3
  118. package/library/modules/es6.reflect.apply.js +12 -5
  119. package/library/modules/es6.reflect.construct.js +20 -11
  120. package/library/modules/es6.symbol.js +59 -59
  121. package/library/modules/es6.typed.array-buffer.js +0 -1
  122. package/library/modules/es6.weak-map.js +0 -1
  123. package/library/modules/es7.asap.js +12 -0
  124. package/library/modules/es7.object.define-getter.js +11 -11
  125. package/library/modules/es7.object.define-setter.js +11 -11
  126. package/library/modules/es7.object.enumerable-entries.js +12 -0
  127. package/library/modules/es7.object.enumerable-keys.js +12 -0
  128. package/library/modules/es7.object.enumerable-values.js +12 -0
  129. package/library/modules/es7.object.get-own-property-descriptors.js +8 -12
  130. package/library/modules/es7.object.lookup-getter.js +17 -17
  131. package/library/modules/es7.object.lookup-setter.js +17 -17
  132. package/library/modules/es7.observable.js +199 -0
  133. package/library/modules/es7.string.match-all.js +29 -29
  134. package/library/modules/es7.symbol.async-iterator.js +1 -0
  135. package/library/modules/es7.symbol.observable.js +1 -0
  136. package/library/shim.js +4 -0
  137. package/library/stage/0.js +1 -0
  138. package/library/stage/1.js +3 -2
  139. package/library/stage/2.js +3 -1
  140. package/library/stage/3.js +1 -3
  141. package/library/stage/4.js +3 -1
  142. package/library/stage/pre.js +9 -9
  143. package/modules/_a-number-value.js +4 -4
  144. package/modules/_array-includes.js +1 -1
  145. package/modules/_array-reduce.js +27 -27
  146. package/modules/_array-species-constructor.js +16 -0
  147. package/modules/_array-species-create.js +3 -13
  148. package/modules/_collection-strong.js +0 -1
  149. package/modules/_core.js +1 -1
  150. package/modules/_create-property.js +8 -0
  151. package/modules/_date-to-primitive.js +8 -8
  152. package/modules/_enum-bug-keys.js +3 -3
  153. package/modules/_for-of.js +12 -6
  154. package/modules/_ie8-dom-define.js +2 -2
  155. package/modules/_inherit-if-required.js +7 -7
  156. package/modules/_iter-detect.js +1 -1
  157. package/modules/_math-expm1.js +8 -2
  158. package/modules/_microtask.js +58 -48
  159. package/modules/_object-create.js +41 -40
  160. package/modules/_object-dps.js +12 -12
  161. package/modules/_object-forced-pam.js +6 -6
  162. package/modules/_object-gopd.js +15 -15
  163. package/modules/_object-gopn.js +6 -6
  164. package/modules/_object-gpo.js +12 -12
  165. package/modules/_object-keys-internal.js +16 -16
  166. package/modules/_object-keys.js +6 -6
  167. package/modules/_shared-key.js +4 -4
  168. package/modules/_strict-method.js +6 -6
  169. package/modules/_string-pad.js +1 -2
  170. package/modules/_string-ws.js +1 -1
  171. package/modules/_typed-array.js +0 -2
  172. package/modules/_typed-buffer.js +0 -2
  173. package/modules/_wks-define.js +9 -0
  174. package/modules/_wks-ext.js +1 -0
  175. package/modules/_wks.js +5 -2
  176. package/modules/es6.array.every.js +9 -9
  177. package/modules/es6.array.filter.js +9 -9
  178. package/modules/es6.array.for-each.js +10 -10
  179. package/modules/es6.array.from.js +11 -9
  180. package/modules/es6.array.index-of.js +14 -9
  181. package/modules/es6.array.is-array.js +3 -3
  182. package/modules/es6.array.join.js +11 -11
  183. package/modules/es6.array.last-index-of.js +21 -17
  184. package/modules/es6.array.map.js +9 -9
  185. package/modules/es6.array.of.js +3 -2
  186. package/modules/es6.array.reduce-right.js +9 -9
  187. package/modules/es6.array.reduce.js +9 -9
  188. package/modules/es6.array.slice.js +27 -27
  189. package/modules/es6.array.some.js +9 -9
  190. package/modules/es6.array.sort.js +22 -22
  191. package/modules/es6.date.now.js +3 -3
  192. package/modules/es6.date.to-iso-string.js +27 -27
  193. package/modules/es6.date.to-primitive.js +3 -3
  194. package/modules/es6.function.bind.js +3 -3
  195. package/modules/es6.function.name.js +13 -4
  196. package/modules/es6.math.acosh.js +6 -2
  197. package/modules/es6.math.asinh.js +4 -2
  198. package/modules/es6.math.atanh.js +4 -2
  199. package/modules/es6.math.expm1.js +3 -2
  200. package/modules/es6.number.to-fixed.js +112 -113
  201. package/modules/es6.number.to-precision.js +17 -17
  202. package/modules/es6.object.create.js +2 -2
  203. package/modules/es6.object.define-properties.js +2 -2
  204. package/modules/es6.object.define-property.js +2 -2
  205. package/modules/es6.parse-float.js +3 -3
  206. package/modules/es6.parse-int.js +3 -3
  207. package/modules/es6.promise.js +1 -3
  208. package/modules/es6.reflect.apply.js +12 -5
  209. package/modules/es6.reflect.construct.js +20 -11
  210. package/modules/es6.regexp.to-string.js +24 -24
  211. package/modules/es6.symbol.js +59 -59
  212. package/modules/es6.typed.array-buffer.js +0 -1
  213. package/modules/es6.weak-map.js +0 -1
  214. package/modules/es7.asap.js +12 -0
  215. package/modules/es7.object.define-getter.js +11 -11
  216. package/modules/es7.object.define-setter.js +11 -11
  217. package/modules/es7.object.enumerable-entries.js +12 -0
  218. package/modules/es7.object.enumerable-keys.js +12 -0
  219. package/modules/es7.object.enumerable-values.js +12 -0
  220. package/modules/es7.object.get-own-property-descriptors.js +8 -12
  221. package/modules/es7.object.lookup-getter.js +17 -17
  222. package/modules/es7.object.lookup-setter.js +17 -17
  223. package/modules/es7.observable.js +199 -0
  224. package/modules/es7.string.match-all.js +29 -29
  225. package/modules/es7.symbol.async-iterator.js +1 -0
  226. package/modules/es7.symbol.observable.js +1 -0
  227. package/package.json +15 -13
  228. package/shim.js +4 -0
  229. package/stage/0.js +1 -0
  230. package/stage/1.js +3 -2
  231. package/stage/2.js +3 -1
  232. package/stage/3.js +1 -3
  233. package/stage/4.js +3 -1
  234. package/stage/pre.js +9 -9
  235. package/README.md +0 -1981
@@ -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
- var flush = function(){
10
- var parent, fn;
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
- // Node.js
21
- if(isNode){
22
- notify = function(){
23
- process.nextTick(flush);
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
- module.exports = function(fn){
52
- var task = {fn: fn, next: undefined};
53
- if(last)last.next = task;
54
- if(!head){
55
- head = task;
56
- notify();
57
- } last = task;
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
  };
@@ -1,40 +1,41 @@
1
- // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
2
- var anObject = require('./_an-object')
3
- , dPs = require('./_object-dps')
4
- , enumBugKeys = require('./_enum-bug-keys')
5
- , IE_PROTO = require('./_shared-key')('IE_PROTO')
6
- , Empty = function(){ /* empty */ }
7
- , PROTOTYPE = 'prototype';
8
-
9
- // Create object with fake `null` prototype: use iframe Object with cleared prototype
10
- var createDict = function(){
11
- // Thrash, waste and sodomy: IE GC bug
12
- var iframe = require('./_dom-create')('iframe')
13
- , i = enumBugKeys.length
14
- , gt = '>'
15
- , iframeDocument;
16
- iframe.style.display = 'none';
17
- require('./_html').appendChild(iframe);
18
- iframe.src = 'javascript:'; // eslint-disable-line no-script-url
19
- // createDict = iframe.contentWindow.Object;
20
- // html.removeChild(iframe);
21
- iframeDocument = iframe.contentWindow.document;
22
- iframeDocument.open();
23
- iframeDocument.write('<script>document.F=Object</script' + gt);
24
- iframeDocument.close();
25
- createDict = iframeDocument.F;
26
- while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];
27
- return createDict();
28
- };
29
-
30
- module.exports = Object.create || function create(O, Properties){
31
- var result;
32
- if(O !== null){
33
- Empty[PROTOTYPE] = anObject(O);
34
- result = new Empty;
35
- Empty[PROTOTYPE] = null;
36
- // add "__proto__" for Object.getPrototypeOf polyfill
37
- result[IE_PROTO] = O;
38
- } else result = createDict();
39
- return Properties === undefined ? result : dPs(result, Properties);
40
- };
1
+ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
2
+ var anObject = require('./_an-object')
3
+ , dPs = require('./_object-dps')
4
+ , enumBugKeys = require('./_enum-bug-keys')
5
+ , IE_PROTO = require('./_shared-key')('IE_PROTO')
6
+ , Empty = function(){ /* empty */ }
7
+ , PROTOTYPE = 'prototype';
8
+
9
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
10
+ var createDict = function(){
11
+ // Thrash, waste and sodomy: IE GC bug
12
+ var iframe = require('./_dom-create')('iframe')
13
+ , i = enumBugKeys.length
14
+ , lt = '<'
15
+ , gt = '>'
16
+ , iframeDocument;
17
+ iframe.style.display = 'none';
18
+ require('./_html').appendChild(iframe);
19
+ iframe.src = 'javascript:'; // eslint-disable-line no-script-url
20
+ // createDict = iframe.contentWindow.Object;
21
+ // html.removeChild(iframe);
22
+ iframeDocument = iframe.contentWindow.document;
23
+ iframeDocument.open();
24
+ iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
25
+ iframeDocument.close();
26
+ createDict = iframeDocument.F;
27
+ while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];
28
+ return createDict();
29
+ };
30
+
31
+ module.exports = Object.create || function create(O, Properties){
32
+ var result;
33
+ if(O !== null){
34
+ Empty[PROTOTYPE] = anObject(O);
35
+ result = new Empty;
36
+ Empty[PROTOTYPE] = null;
37
+ // add "__proto__" for Object.getPrototypeOf polyfill
38
+ result[IE_PROTO] = O;
39
+ } else result = createDict();
40
+ return Properties === undefined ? result : dPs(result, Properties);
41
+ };
@@ -1,13 +1,13 @@
1
- var dP = require('./_object-dp')
2
- , anObject = require('./_an-object')
3
- , getKeys = require('./_object-keys');
4
-
5
- module.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){
6
- anObject(O);
7
- var keys = getKeys(Properties)
8
- , length = keys.length
9
- , i = 0
10
- , P;
11
- while(length > i)dP.f(O, P = keys[i++], Properties[P]);
12
- return O;
1
+ var dP = require('./_object-dp')
2
+ , anObject = require('./_an-object')
3
+ , getKeys = require('./_object-keys');
4
+
5
+ module.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){
6
+ anObject(O);
7
+ var keys = getKeys(Properties)
8
+ , length = keys.length
9
+ , i = 0
10
+ , P;
11
+ while(length > i)dP.f(O, P = keys[i++], Properties[P]);
12
+ return O;
13
13
  };
@@ -1,7 +1,7 @@
1
- // Forced replacement prototype accessors methods
2
- module.exports = require('./_library')|| !require('./_fails')(function(){
3
- var K = Math.random();
4
- // In FF throws only define methods
5
- __defineSetter__.call(null, K, function(){ /* empty */});
6
- delete require('./_global')[K];
1
+ // Forced replacement prototype accessors methods
2
+ module.exports = require('./_library')|| !require('./_fails')(function(){
3
+ var K = Math.random();
4
+ // In FF throws only define methods
5
+ __defineSetter__.call(null, K, function(){ /* empty */});
6
+ delete require('./_global')[K];
7
7
  });
@@ -1,16 +1,16 @@
1
- var pIE = require('./_object-pie')
2
- , createDesc = require('./_property-desc')
3
- , toIObject = require('./_to-iobject')
4
- , toPrimitive = require('./_to-primitive')
5
- , has = require('./_has')
6
- , IE8_DOM_DEFINE = require('./_ie8-dom-define')
7
- , gOPD = Object.getOwnPropertyDescriptor;
8
-
9
- exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){
10
- O = toIObject(O);
11
- P = toPrimitive(P, true);
12
- if(IE8_DOM_DEFINE)try {
13
- return gOPD(O, P);
14
- } catch(e){ /* empty */ }
15
- if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);
1
+ var pIE = require('./_object-pie')
2
+ , createDesc = require('./_property-desc')
3
+ , toIObject = require('./_to-iobject')
4
+ , toPrimitive = require('./_to-primitive')
5
+ , has = require('./_has')
6
+ , IE8_DOM_DEFINE = require('./_ie8-dom-define')
7
+ , gOPD = Object.getOwnPropertyDescriptor;
8
+
9
+ exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){
10
+ O = toIObject(O);
11
+ P = toPrimitive(P, true);
12
+ if(IE8_DOM_DEFINE)try {
13
+ return gOPD(O, P);
14
+ } catch(e){ /* empty */ }
15
+ if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);
16
16
  };
@@ -1,7 +1,7 @@
1
- // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
2
- var $keys = require('./_object-keys-internal')
3
- , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');
4
-
5
- exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){
6
- return $keys(O, hiddenKeys);
1
+ // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
2
+ var $keys = require('./_object-keys-internal')
3
+ , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');
4
+
5
+ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){
6
+ return $keys(O, hiddenKeys);
7
7
  };
@@ -1,13 +1,13 @@
1
- // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
2
- var has = require('./_has')
3
- , toObject = require('./_to-object')
4
- , IE_PROTO = require('./_shared-key')('IE_PROTO')
5
- , ObjectProto = Object.prototype;
6
-
7
- module.exports = Object.getPrototypeOf || function(O){
8
- O = toObject(O);
9
- if(has(O, IE_PROTO))return O[IE_PROTO];
10
- if(typeof O.constructor == 'function' && O instanceof O.constructor){
11
- return O.constructor.prototype;
12
- } return O instanceof Object ? ObjectProto : null;
1
+ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
2
+ var has = require('./_has')
3
+ , toObject = require('./_to-object')
4
+ , IE_PROTO = require('./_shared-key')('IE_PROTO')
5
+ , ObjectProto = Object.prototype;
6
+
7
+ module.exports = Object.getPrototypeOf || function(O){
8
+ O = toObject(O);
9
+ if(has(O, IE_PROTO))return O[IE_PROTO];
10
+ if(typeof O.constructor == 'function' && O instanceof O.constructor){
11
+ return O.constructor.prototype;
12
+ } return O instanceof Object ? ObjectProto : null;
13
13
  };
@@ -1,17 +1,17 @@
1
- var has = require('./_has')
2
- , toIObject = require('./_to-iobject')
3
- , arrayIndexOf = require('./_array-includes')(false)
4
- , IE_PROTO = require('./_shared-key')('IE_PROTO');
5
-
6
- module.exports = function(object, names){
7
- var O = toIObject(object)
8
- , i = 0
9
- , result = []
10
- , key;
11
- for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);
12
- // Don't enum bug & hidden keys
13
- while(names.length > i)if(has(O, key = names[i++])){
14
- ~arrayIndexOf(result, key) || result.push(key);
15
- }
16
- return result;
1
+ var has = require('./_has')
2
+ , toIObject = require('./_to-iobject')
3
+ , arrayIndexOf = require('./_array-includes')(false)
4
+ , IE_PROTO = require('./_shared-key')('IE_PROTO');
5
+
6
+ module.exports = function(object, names){
7
+ var O = toIObject(object)
8
+ , i = 0
9
+ , result = []
10
+ , key;
11
+ for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);
12
+ // Don't enum bug & hidden keys
13
+ while(names.length > i)if(has(O, key = names[i++])){
14
+ ~arrayIndexOf(result, key) || result.push(key);
15
+ }
16
+ return result;
17
17
  };
@@ -1,7 +1,7 @@
1
- // 19.1.2.14 / 15.2.3.14 Object.keys(O)
2
- var $keys = require('./_object-keys-internal')
3
- , enumBugKeys = require('./_enum-bug-keys');
4
-
5
- module.exports = Object.keys || function keys(O){
6
- return $keys(O, enumBugKeys);
1
+ // 19.1.2.14 / 15.2.3.14 Object.keys(O)
2
+ var $keys = require('./_object-keys-internal')
3
+ , enumBugKeys = require('./_enum-bug-keys');
4
+
5
+ module.exports = Object.keys || function keys(O){
6
+ return $keys(O, enumBugKeys);
7
7
  };
@@ -1,5 +1,5 @@
1
- var shared = require('./_shared')('keys')
2
- , uid = require('./_uid');
3
- module.exports = function(key){
4
- return shared[key] || (shared[key] = uid(key));
1
+ var shared = require('./_shared')('keys')
2
+ , uid = require('./_uid');
3
+ module.exports = function(key){
4
+ return shared[key] || (shared[key] = uid(key));
5
5
  };
@@ -1,7 +1,7 @@
1
- var fails = require('./_fails');
2
-
3
- module.exports = function(method, arg){
4
- return !!method && fails(function(){
5
- arg ? method.call(null, function(){}, 1) : method.call(null);
6
- });
1
+ var fails = require('./_fails');
2
+
3
+ module.exports = function(method, arg){
4
+ return !!method && fails(function(){
5
+ arg ? method.call(null, function(){}, 1) : method.call(null);
6
+ });
7
7
  };
@@ -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);
@@ -1,2 +1,2 @@
1
- module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
1
+ module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
2
2
  '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
@@ -11,7 +11,6 @@ if(require('./_descriptors')){
11
11
  , propertyDesc = require('./_property-desc')
12
12
  , hide = require('./_hide')
13
13
  , redefineAll = require('./_redefine-all')
14
- , isInteger = require('./_is-integer')
15
14
  , toInteger = require('./_to-integer')
16
15
  , toLength = require('./_to-length')
17
16
  , toIndex = require('./_to-index')
@@ -25,7 +24,6 @@ if(require('./_descriptors')){
25
24
  , create = require('./_object-create')
26
25
  , getPrototypeOf = require('./_object-gpo')
27
26
  , gOPN = require('./_object-gopn').f
28
- , isIterable = require('./core.is-iterable')
29
27
  , getIterFn = require('./core.get-iterator-method')
30
28
  , uid = require('./_uid')
31
29
  , wks = require('./_wks')
@@ -21,13 +21,11 @@ var global = require('./_global')
21
21
  , $ArrayBuffer = global[ARRAY_BUFFER]
22
22
  , $DataView = global[DATA_VIEW]
23
23
  , Math = global.Math
24
- , parseInt = global.parseInt
25
24
  , RangeError = global.RangeError
26
25
  , Infinity = global.Infinity
27
26
  , BaseBuffer = $ArrayBuffer
28
27
  , abs = Math.abs
29
28
  , pow = Math.pow
30
- , min = Math.min
31
29
  , floor = Math.floor
32
30
  , log = Math.log
33
31
  , LN2 = Math.LN2
@@ -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
- module.exports = function(name){
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
- , $every = require('./_array-methods')(4);
4
-
5
- $export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {
6
- // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
7
- every: function every(callbackfn /* , thisArg */){
8
- return $every(this, callbackfn, arguments[1]);
9
- }
1
+ 'use strict';
2
+ var $export = require('./_export')
3
+ , $every = require('./_array-methods')(4);
4
+
5
+ $export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {
6
+ // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
7
+ every: function every(callbackfn /* , thisArg */){
8
+ return $every(this, callbackfn, arguments[1]);
9
+ }
10
10
  });
@@ -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,11 @@
1
- 'use strict';
2
- var $export = require('./_export')
3
- , $forEach = require('./_array-methods')(0)
4
- , STRICT = require('./_strict-method')([].forEach, true);
5
-
6
- $export($export.P + $export.F * !STRICT, 'Array', {
7
- // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
8
- forEach: function forEach(callbackfn /* , thisArg */){
9
- return $forEach(this, callbackfn, arguments[1]);
10
- }
1
+ 'use strict';
2
+ var $export = require('./_export')
3
+ , $forEach = require('./_array-methods')(0)
4
+ , STRICT = require('./_strict-method')([].forEach, true);
5
+
6
+ $export($export.P + $export.F * !STRICT, 'Array', {
7
+ // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
8
+ forEach: function forEach(callbackfn /* , thisArg */){
9
+ return $forEach(this, callbackfn, arguments[1]);
10
+ }
11
11
  });
@@ -1,11 +1,13 @@
1
1
  'use strict';
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
- , getIterFn = require('./core.get-iterator-method');
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[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value;
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[index] = mapping ? mapfn(O[index], index) : O[index];
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
- 'use strict';
2
- var $export = require('./_export')
3
- , $indexOf = require('./_array-includes')(false);
4
-
5
- $export($export.P + $export.F * !require('./_strict-method')([].indexOf), 'Array', {
6
- // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
7
- indexOf: function indexOf(searchElement /*, fromIndex = 0 */){
8
- return $indexOf(this, searchElement, arguments[1]);
9
- }
1
+ 'use strict';
2
+ var $export = require('./_export')
3
+ , $indexOf = require('./_array-includes')(false)
4
+ , $native = [].indexOf
5
+ , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
6
+
7
+ $export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {
8
+ // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
9
+ indexOf: function indexOf(searchElement /*, fromIndex = 0 */){
10
+ return NEGATIVE_ZERO
11
+ // convert -0 to +0
12
+ ? $native.apply(this, arguments) || 0
13
+ : $indexOf(this, searchElement, arguments[1]);
14
+ }
10
15
  });
@@ -1,4 +1,4 @@
1
- // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
2
- var $export = require('./_export');
3
-
1
+ // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
2
+ var $export = require('./_export');
3
+
4
4
  $export($export.S, 'Array', {isArray: require('./_is-array')});
@@ -1,12 +1,12 @@
1
- 'use strict';
2
- // 22.1.3.13 Array.prototype.join(separator)
3
- var $export = require('./_export')
4
- , toIObject = require('./_to-iobject')
5
- , arrayJoin = [].join;
6
-
7
- // fallback for not array-like strings
8
- $export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {
9
- join: function join(separator){
10
- return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
11
- }
1
+ 'use strict';
2
+ // 22.1.3.13 Array.prototype.join(separator)
3
+ var $export = require('./_export')
4
+ , toIObject = require('./_to-iobject')
5
+ , arrayJoin = [].join;
6
+
7
+ // fallback for not array-like strings
8
+ $export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {
9
+ join: function join(separator){
10
+ return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
11
+ }
12
12
  });