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
@@ -0,0 +1,199 @@
1
+ 'use strict';
2
+ // https://github.com/zenparsing/es-observable
3
+ var $export = require('./_export')
4
+ , global = require('./_global')
5
+ , core = require('./_core')
6
+ , microtask = require('./_microtask')()
7
+ , OBSERVABLE = require('./_wks')('observable')
8
+ , aFunction = require('./_a-function')
9
+ , anObject = require('./_an-object')
10
+ , anInstance = require('./_an-instance')
11
+ , redefineAll = require('./_redefine-all')
12
+ , hide = require('./_hide')
13
+ , forOf = require('./_for-of')
14
+ , RETURN = forOf.RETURN;
15
+
16
+ var getMethod = function(fn){
17
+ return fn == null ? undefined : aFunction(fn);
18
+ };
19
+
20
+ var cleanupSubscription = function(subscription){
21
+ var cleanup = subscription._c;
22
+ if(cleanup){
23
+ subscription._c = undefined;
24
+ cleanup();
25
+ }
26
+ };
27
+
28
+ var subscriptionClosed = function(subscription){
29
+ return subscription._o === undefined;
30
+ };
31
+
32
+ var closeSubscription = function(subscription){
33
+ if(!subscriptionClosed(subscription)){
34
+ subscription._o = undefined;
35
+ cleanupSubscription(subscription);
36
+ }
37
+ };
38
+
39
+ var Subscription = function(observer, subscriber){
40
+ anObject(observer);
41
+ this._c = undefined;
42
+ this._o = observer;
43
+ observer = new SubscriptionObserver(this);
44
+ try {
45
+ var cleanup = subscriber(observer)
46
+ , subscription = cleanup;
47
+ if(cleanup != null){
48
+ if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); };
49
+ else aFunction(cleanup);
50
+ this._c = cleanup;
51
+ }
52
+ } catch(e){
53
+ observer.error(e);
54
+ return;
55
+ } if(subscriptionClosed(this))cleanupSubscription(this);
56
+ };
57
+
58
+ Subscription.prototype = redefineAll({}, {
59
+ unsubscribe: function unsubscribe(){ closeSubscription(this); }
60
+ });
61
+
62
+ var SubscriptionObserver = function(subscription){
63
+ this._s = subscription;
64
+ };
65
+
66
+ SubscriptionObserver.prototype = redefineAll({}, {
67
+ next: function next(value){
68
+ var subscription = this._s;
69
+ if(!subscriptionClosed(subscription)){
70
+ var observer = subscription._o;
71
+ try {
72
+ var m = getMethod(observer.next);
73
+ if(m)return m.call(observer, value);
74
+ } catch(e){
75
+ try {
76
+ closeSubscription(subscription);
77
+ } finally {
78
+ throw e;
79
+ }
80
+ }
81
+ }
82
+ },
83
+ error: function error(value){
84
+ var subscription = this._s;
85
+ if(subscriptionClosed(subscription))throw value;
86
+ var observer = subscription._o;
87
+ subscription._o = undefined;
88
+ try {
89
+ var m = getMethod(observer.error);
90
+ if(!m)throw value;
91
+ value = m.call(observer, value);
92
+ } catch(e){
93
+ try {
94
+ cleanupSubscription(subscription);
95
+ } finally {
96
+ throw e;
97
+ }
98
+ } cleanupSubscription(subscription);
99
+ return value;
100
+ },
101
+ complete: function complete(value){
102
+ var subscription = this._s;
103
+ if(!subscriptionClosed(subscription)){
104
+ var observer = subscription._o;
105
+ subscription._o = undefined;
106
+ try {
107
+ var m = getMethod(observer.complete);
108
+ value = m ? m.call(observer, value) : undefined;
109
+ } catch(e){
110
+ try {
111
+ cleanupSubscription(subscription);
112
+ } finally {
113
+ throw e;
114
+ }
115
+ } cleanupSubscription(subscription);
116
+ return value;
117
+ }
118
+ }
119
+ });
120
+
121
+ var $Observable = function Observable(subscriber){
122
+ anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);
123
+ };
124
+
125
+ redefineAll($Observable.prototype, {
126
+ subscribe: function subscribe(observer){
127
+ return new Subscription(observer, this._f);
128
+ },
129
+ forEach: function forEach(fn){
130
+ var that = this;
131
+ return new (core.Promise || global.Promise)(function(resolve, reject){
132
+ aFunction(fn);
133
+ var subscription = that.subscribe({
134
+ next : function(value){
135
+ try {
136
+ return fn(value);
137
+ } catch(e){
138
+ reject(e);
139
+ subscription.unsubscribe();
140
+ }
141
+ },
142
+ error: reject,
143
+ complete: resolve
144
+ });
145
+ });
146
+ }
147
+ });
148
+
149
+ redefineAll($Observable, {
150
+ from: function from(x){
151
+ var C = typeof this === 'function' ? this : $Observable;
152
+ var method = getMethod(anObject(x)[OBSERVABLE]);
153
+ if(method){
154
+ var observable = anObject(method.call(x));
155
+ return observable.constructor === C ? observable : new C(function(observer){
156
+ return observable.subscribe(observer);
157
+ });
158
+ }
159
+ return new C(function(observer){
160
+ var done = false;
161
+ microtask(function(){
162
+ if(!done){
163
+ try {
164
+ if(forOf(x, false, function(it){
165
+ observer.next(it);
166
+ if(done)return RETURN;
167
+ }) === RETURN)return;
168
+ } catch(e){
169
+ if(done)throw e;
170
+ observer.error(e);
171
+ return;
172
+ } observer.complete();
173
+ }
174
+ });
175
+ return function(){ done = true; };
176
+ });
177
+ },
178
+ of: function of(){
179
+ for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++];
180
+ return new (typeof this === 'function' ? this : $Observable)(function(observer){
181
+ var done = false;
182
+ microtask(function(){
183
+ if(!done){
184
+ for(var i = 0; i < items.length; ++i){
185
+ observer.next(items[i]);
186
+ if(done)return;
187
+ } observer.complete();
188
+ }
189
+ });
190
+ return function(){ done = true; };
191
+ });
192
+ }
193
+ });
194
+
195
+ hide($Observable.prototype, OBSERVABLE, function(){ return this; });
196
+
197
+ $export($export.G, {Observable: $Observable});
198
+
199
+ require('./_set-species')('Observable');
@@ -1,30 +1,30 @@
1
- 'use strict';
2
- // https://tc39.github.io/String.prototype.matchAll/
3
- var $export = require('./_export')
4
- , defined = require('./_defined')
5
- , toLength = require('./_to-length')
6
- , isRegExp = require('./_is-regexp')
7
- , getFlags = require('./_flags')
8
- , RegExpProto = RegExp.prototype;
9
-
10
- var $RegExpStringIterator = function(regexp, string){
11
- this._r = regexp;
12
- this._s = string;
13
- };
14
-
15
- require('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){
16
- var match = this._r.exec(this._s);
17
- return {value: match, done: match === null};
18
- });
19
-
20
- $export($export.P, 'String', {
21
- matchAll: function matchAll(regexp){
22
- defined(this);
23
- if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!');
24
- var S = String(this)
25
- , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp)
26
- , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);
27
- rx.lastIndex = toLength(regexp.lastIndex);
28
- return new $RegExpStringIterator(rx, S);
29
- }
1
+ 'use strict';
2
+ // https://tc39.github.io/String.prototype.matchAll/
3
+ var $export = require('./_export')
4
+ , defined = require('./_defined')
5
+ , toLength = require('./_to-length')
6
+ , isRegExp = require('./_is-regexp')
7
+ , getFlags = require('./_flags')
8
+ , RegExpProto = RegExp.prototype;
9
+
10
+ var $RegExpStringIterator = function(regexp, string){
11
+ this._r = regexp;
12
+ this._s = string;
13
+ };
14
+
15
+ require('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){
16
+ var match = this._r.exec(this._s);
17
+ return {value: match, done: match === null};
18
+ });
19
+
20
+ $export($export.P, 'String', {
21
+ matchAll: function matchAll(regexp){
22
+ defined(this);
23
+ if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!');
24
+ var S = String(this)
25
+ , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp)
26
+ , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);
27
+ rx.lastIndex = toLength(regexp.lastIndex);
28
+ return new $RegExpStringIterator(rx, S);
29
+ }
30
30
  });
@@ -0,0 +1 @@
1
+ require('./_wks-define')('asyncIterator');
@@ -0,0 +1 @@
1
+ require('./_wks-define')('observable');
package/library/shim.js CHANGED
@@ -142,6 +142,8 @@ require('./modules/es7.string.pad-end');
142
142
  require('./modules/es7.string.trim-left');
143
143
  require('./modules/es7.string.trim-right');
144
144
  require('./modules/es7.string.match-all');
145
+ require('./modules/es7.symbol.async-iterator');
146
+ require('./modules/es7.symbol.observable');
145
147
  require('./modules/es7.object.get-own-property-descriptors');
146
148
  require('./modules/es7.object.values');
147
149
  require('./modules/es7.object.entries');
@@ -166,6 +168,8 @@ require('./modules/es7.reflect.get-own-metadata-keys');
166
168
  require('./modules/es7.reflect.has-metadata');
167
169
  require('./modules/es7.reflect.has-own-metadata');
168
170
  require('./modules/es7.reflect.metadata');
171
+ require('./modules/es7.asap');
172
+ require('./modules/es7.observable');
169
173
  require('./modules/web.timers');
170
174
  require('./modules/web.immediate');
171
175
  require('./modules/web.dom.iterable');
@@ -6,4 +6,5 @@ require('../modules/es7.math.iaddh');
6
6
  require('../modules/es7.math.isubh');
7
7
  require('../modules/es7.math.imulh');
8
8
  require('../modules/es7.math.umulh');
9
+ require('../modules/es7.asap');
9
10
  module.exports = require('./1');
@@ -1,5 +1,6 @@
1
1
  require('../modules/es7.string.trim-left');
2
2
  require('../modules/es7.string.trim-right');
3
3
  require('../modules/es7.string.match-all');
4
- require('../modules/es7.system.global');
5
- module.exports = require('./2');
4
+ require('../modules/es7.symbol.observable');
5
+ require('../modules/es7.observable');
6
+ module.exports = require('./2');
@@ -1 +1,3 @@
1
- module.exports = require('./3');
1
+ require('../modules/es7.system.global');
2
+ require('../modules/es7.symbol.async-iterator');
3
+ module.exports = require('./3');
@@ -1,6 +1,4 @@
1
1
  require('../modules/es7.object.get-own-property-descriptors');
2
- require('../modules/es7.object.values');
3
- require('../modules/es7.object.entries');
4
2
  require('../modules/es7.string.pad-start');
5
3
  require('../modules/es7.string.pad-end');
6
- module.exports = require('./4');
4
+ module.exports = require('./4');
@@ -2,5 +2,7 @@ require('../modules/es7.object.define-getter');
2
2
  require('../modules/es7.object.define-setter');
3
3
  require('../modules/es7.object.lookup-getter');
4
4
  require('../modules/es7.object.lookup-setter');
5
+ require('../modules/es7.object.values');
6
+ require('../modules/es7.object.entries');
5
7
  require('../modules/es7.array.includes');
6
- module.exports = require('../modules/_core');
8
+ module.exports = require('../modules/_core');
@@ -1,10 +1,10 @@
1
- require('../modules/es7.reflect.define-metadata');
2
- require('../modules/es7.reflect.delete-metadata');
3
- require('../modules/es7.reflect.get-metadata');
4
- require('../modules/es7.reflect.get-metadata-keys');
5
- require('../modules/es7.reflect.get-own-metadata');
6
- require('../modules/es7.reflect.get-own-metadata-keys');
7
- require('../modules/es7.reflect.has-metadata');
8
- require('../modules/es7.reflect.has-own-metadata');
9
- require('../modules/es7.reflect.metadata');
1
+ require('../modules/es7.reflect.define-metadata');
2
+ require('../modules/es7.reflect.delete-metadata');
3
+ require('../modules/es7.reflect.get-metadata');
4
+ require('../modules/es7.reflect.get-metadata-keys');
5
+ require('../modules/es7.reflect.get-own-metadata');
6
+ require('../modules/es7.reflect.get-own-metadata-keys');
7
+ require('../modules/es7.reflect.has-metadata');
8
+ require('../modules/es7.reflect.has-own-metadata');
9
+ require('../modules/es7.reflect.metadata');
10
10
  module.exports = require('./0');
@@ -1,5 +1,5 @@
1
- var cof = require('./_cof');
2
- module.exports = function(it, msg){
3
- if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);
4
- return +it;
1
+ var cof = require('./_cof');
2
+ module.exports = function(it, msg){
3
+ if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);
4
+ return +it;
5
5
  };
@@ -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
  };
@@ -1,28 +1,28 @@
1
- var aFunction = require('./_a-function')
2
- , toObject = require('./_to-object')
3
- , IObject = require('./_iobject')
4
- , toLength = require('./_to-length');
5
-
6
- module.exports = function(that, callbackfn, aLen, memo, isRight){
7
- aFunction(callbackfn);
8
- var O = toObject(that)
9
- , self = IObject(O)
10
- , length = toLength(O.length)
11
- , index = isRight ? length - 1 : 0
12
- , i = isRight ? -1 : 1;
13
- if(aLen < 2)for(;;){
14
- if(index in self){
15
- memo = self[index];
16
- index += i;
17
- break;
18
- }
19
- index += i;
20
- if(isRight ? index < 0 : length <= index){
21
- throw TypeError('Reduce of empty array with no initial value');
22
- }
23
- }
24
- for(;isRight ? index >= 0 : length > index; index += i)if(index in self){
25
- memo = callbackfn(memo, self[index], index, O);
26
- }
27
- return memo;
1
+ var aFunction = require('./_a-function')
2
+ , toObject = require('./_to-object')
3
+ , IObject = require('./_iobject')
4
+ , toLength = require('./_to-length');
5
+
6
+ module.exports = function(that, callbackfn, aLen, memo, isRight){
7
+ aFunction(callbackfn);
8
+ var O = toObject(that)
9
+ , self = IObject(O)
10
+ , length = toLength(O.length)
11
+ , index = isRight ? length - 1 : 0
12
+ , i = isRight ? -1 : 1;
13
+ if(aLen < 2)for(;;){
14
+ if(index in self){
15
+ memo = self[index];
16
+ index += i;
17
+ break;
18
+ }
19
+ index += i;
20
+ if(isRight ? index < 0 : length <= index){
21
+ throw TypeError('Reduce of empty array with no initial value');
22
+ }
23
+ }
24
+ for(;isRight ? index >= 0 : length > index; index += i)if(index in self){
25
+ memo = callbackfn(memo, self[index], index, O);
26
+ }
27
+ return memo;
28
28
  };
@@ -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 isObject = require('./_is-object')
3
- , isArray = require('./_is-array')
4
- , SPECIES = require('./_wks')('species');
2
+ var speciesConstructor = require('./_array-species-constructor');
3
+
5
4
  module.exports = function(original, length){
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 new (C === undefined ? Array : C)(length);
5
+ return new (speciesConstructor(original))(length);
16
6
  };
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
  var dP = require('./_object-dp').f
3
3
  , create = require('./_object-create')
4
- , hide = require('./_hide')
5
4
  , redefineAll = require('./_redefine-all')
6
5
  , ctx = require('./_ctx')
7
6
  , anInstance = require('./_an-instance')
package/modules/_core.js CHANGED
@@ -1,2 +1,2 @@
1
- var core = module.exports = {version: '2.2.1'};
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
+ };
@@ -1,9 +1,9 @@
1
- 'use strict';
2
- var anObject = require('./_an-object')
3
- , toPrimitive = require('./_to-primitive')
4
- , NUMBER = 'number';
5
-
6
- module.exports = function(hint){
7
- if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');
8
- return toPrimitive(anObject(this), hint != NUMBER);
1
+ 'use strict';
2
+ var anObject = require('./_an-object')
3
+ , toPrimitive = require('./_to-primitive')
4
+ , NUMBER = 'number';
5
+
6
+ module.exports = function(hint){
7
+ if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');
8
+ return toPrimitive(anObject(this), hint != NUMBER);
9
9
  };
@@ -1,4 +1,4 @@
1
- // IE 8- don't enum bug keys
2
- module.exports = (
3
- 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
1
+ // IE 8- don't enum bug keys
2
+ module.exports = (
3
+ 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
4
4
  ).split(',');
@@ -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
- module.exports = function(iterable, entries, fn, that, ITERATOR){
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;
@@ -1,3 +1,3 @@
1
- module.exports = !require('./_descriptors') && !require('./_fails')(function(){
2
- return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;
1
+ module.exports = !require('./_descriptors') && !require('./_fails')(function(){
2
+ return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;
3
3
  });
@@ -1,8 +1,8 @@
1
- var isObject = require('./_is-object')
2
- , setPrototypeOf = require('./_set-proto').set;
3
- module.exports = function(that, target, C){
4
- var P, S = target.constructor;
5
- if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){
6
- setPrototypeOf(that, P);
7
- } return that;
1
+ var isObject = require('./_is-object')
2
+ , setPrototypeOf = require('./_set-proto').set;
3
+ module.exports = function(that, target, C){
4
+ var P, S = target.constructor;
5
+ if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){
6
+ setPrototypeOf(that, P);
7
+ } return that;
8
8
  };
@@ -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 */ }
@@ -1,4 +1,10 @@
1
1
  // 20.2.2.14 Math.expm1(x)
2
- module.exports = Math.expm1 || function expm1(x){
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;