core-js 3.0.0 → 3.1.2
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/README.md +7 -5
- package/es/index.js +2 -0
- package/es/instance/match-all.js +8 -0
- package/es/number/max-safe-integer.js +1 -1
- package/es/number/min-safe-integer.js +1 -1
- package/es/string/index.js +1 -0
- package/es/string/match-all.js +3 -0
- package/es/string/virtual/index.js +1 -0
- package/es/string/virtual/match-all.js +3 -0
- package/es/symbol/index.js +1 -0
- package/es/symbol/match-all.js +4 -0
- package/features/array/flat-map.js +1 -1
- package/features/array/flat.js +1 -1
- package/features/index.js +1 -1
- package/features/instance/match-all.js +1 -8
- package/features/object/index.js +1 -1
- package/features/string/index.js +1 -0
- package/features/string/match-all.js +2 -1
- package/features/string/virtual/index.js +1 -0
- package/features/string/virtual/match-all.js +2 -1
- package/features/symbol/index.js +1 -0
- package/features/symbol/match-all.js +1 -0
- package/features/symbol/replace-all.js +3 -0
- package/internals/array-buffer-view-core.js +1 -1
- package/internals/array-buffer.js +3 -3
- package/internals/call-with-safe-iteration-closing.js +2 -2
- package/internals/check-correctness-of-iteration.js +2 -2
- package/internals/classof.js +1 -1
- package/internals/fails.js +1 -1
- package/internals/flatten-into-array.js +1 -1
- package/internals/forced-object-prototype-accessors-methods.js +6 -2
- package/internals/forced-string-trim-method.js +1 -1
- package/internals/global.js +12 -3
- package/internals/hide.js +2 -1
- package/internals/ie8-dom-define.js +6 -2
- package/internals/internal-metadata.js +2 -1
- package/internals/microtask.js +3 -3
- package/internals/native-symbol.js +5 -3
- package/internals/native-url.js +2 -1
- package/internals/object-assign.js +7 -2
- package/internals/object-create.js +2 -1
- package/internals/object-define-property.js +1 -1
- package/internals/object-get-own-property-descriptor.js +1 -1
- package/internals/object-get-own-property-names-external.js +1 -1
- package/internals/object-set-prototype-of.js +2 -2
- package/internals/object-to-array.js +8 -3
- package/internals/parse-int.js +1 -1
- package/internals/perform.js +3 -3
- package/internals/punycode-to-ascii.js +3 -3
- package/internals/redefine.js +2 -1
- package/internals/set-global.js +1 -1
- package/internals/shared.js +3 -2
- package/internals/sloppy-array-method.js +2 -2
- package/internals/string-at.js +3 -3
- package/internals/task.js +21 -11
- package/internals/to-length.js +1 -1
- package/internals/typed-array-constructor.js +1 -1
- package/internals/webkit-string-pad-bug.js +5 -0
- package/internals/whitespaces.js +1 -1
- package/modules/es.array.concat.js +1 -1
- package/modules/es.array.splice.js +1 -1
- package/modules/es.function.name.js +1 -1
- package/modules/es.math.imul.js +2 -2
- package/modules/es.number.is-safe-integer.js +1 -1
- package/modules/es.number.max-safe-integer.js +1 -1
- package/modules/es.number.min-safe-integer.js +1 -1
- package/modules/es.object.get-own-property-names.js +1 -1
- package/modules/es.promise.js +15 -13
- package/modules/es.reflect.define-property.js +1 -1
- package/modules/es.reflect.prevent-extensions.js +1 -1
- package/modules/es.reflect.set-prototype-of.js +1 -1
- package/modules/es.regexp.to-string.js +5 -3
- package/modules/es.string.from-code-point.js +2 -2
- package/modules/es.string.match-all.js +91 -0
- package/modules/es.string.pad-end.js +1 -4
- package/modules/es.string.pad-start.js +1 -4
- package/modules/es.string.replace.js +2 -2
- package/modules/es.string.split.js +1 -1
- package/modules/es.symbol.js +11 -1
- package/modules/es.symbol.match-all.js +2 -0
- package/modules/esnext.math.imulh.js +1 -1
- package/modules/esnext.math.umulh.js +1 -1
- package/modules/esnext.number.from-string.js +1 -1
- package/modules/esnext.observable.js +12 -12
- package/modules/esnext.promise.all-settled.js +4 -2
- package/modules/esnext.promise.any.js +4 -2
- package/modules/esnext.promise.try.js +8 -6
- package/modules/esnext.string.match-all.js +3 -87
- package/modules/esnext.string.replace-all.js +37 -8
- package/modules/esnext.symbol.replace-all.js +3 -0
- package/modules/web.dom-collections.for-each.js +1 -1
- package/modules/web.dom-collections.iterator.js +2 -2
- package/modules/web.url-search-params.js +19 -1
- package/modules/web.url.js +32 -36
- package/package.json +5 -2
- package/proposals/string-match-all.js +3 -0
- package/proposals/string-replace-all.js +1 -0
- package/scripts/postinstall.js +12 -0
- package/stable/array/flat-map.js +1 -1
- package/stable/array/flat.js +1 -1
- package/stable/instance/match-all.js +1 -0
- package/stable/object/index.js +1 -1
- package/stable/string/match-all.js +1 -0
- package/stable/string/virtual/match-all.js +1 -0
- package/stable/symbol/match-all.js +1 -0
- package/stage/0.js +0 -1
- package/stage/1.js +1 -1
- package/stage/2.js +1 -1
- package/stage/3.js +1 -1
- package/stage/4.js +2 -0
|
@@ -27,8 +27,8 @@ var cleanupSubscription = function (subscriptionState) {
|
|
|
27
27
|
subscriptionState.cleanup = undefined;
|
|
28
28
|
try {
|
|
29
29
|
cleanup();
|
|
30
|
-
} catch (
|
|
31
|
-
hostReportErrors(
|
|
30
|
+
} catch (error) {
|
|
31
|
+
hostReportErrors(error);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
};
|
|
@@ -55,8 +55,8 @@ var Subscription = function (observer, subscriber) {
|
|
|
55
55
|
if (!DESCRIPTORS) this.closed = false;
|
|
56
56
|
try {
|
|
57
57
|
if (start = getMethod(observer.start)) start.call(observer, this);
|
|
58
|
-
} catch (
|
|
59
|
-
hostReportErrors(
|
|
58
|
+
} catch (error) {
|
|
59
|
+
hostReportErrors(error);
|
|
60
60
|
}
|
|
61
61
|
if (subscriptionClosed(subscriptionState)) return;
|
|
62
62
|
var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(this);
|
|
@@ -66,8 +66,8 @@ var Subscription = function (observer, subscriber) {
|
|
|
66
66
|
if (cleanup != null) subscriptionState.cleanup = typeof cleanup.unsubscribe === 'function'
|
|
67
67
|
? function () { subscription.unsubscribe(); }
|
|
68
68
|
: aFunction(cleanup);
|
|
69
|
-
} catch (
|
|
70
|
-
subscriptionObserver.error(
|
|
69
|
+
} catch (error) {
|
|
70
|
+
subscriptionObserver.error(error);
|
|
71
71
|
return;
|
|
72
72
|
} if (subscriptionClosed(subscriptionState)) cleanupSubscription(subscriptionState);
|
|
73
73
|
};
|
|
@@ -102,8 +102,8 @@ SubscriptionObserver.prototype = redefineAll({}, {
|
|
|
102
102
|
try {
|
|
103
103
|
var m = getMethod(observer.next);
|
|
104
104
|
if (m) m.call(observer, value);
|
|
105
|
-
} catch (
|
|
106
|
-
hostReportErrors(
|
|
105
|
+
} catch (error) {
|
|
106
|
+
hostReportErrors(error);
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
},
|
|
@@ -117,8 +117,8 @@ SubscriptionObserver.prototype = redefineAll({}, {
|
|
|
117
117
|
var m = getMethod(observer.error);
|
|
118
118
|
if (m) m.call(observer, value);
|
|
119
119
|
else hostReportErrors(value);
|
|
120
|
-
} catch (
|
|
121
|
-
hostReportErrors(
|
|
120
|
+
} catch (err) {
|
|
121
|
+
hostReportErrors(err);
|
|
122
122
|
} cleanupSubscription(subscriptionState);
|
|
123
123
|
}
|
|
124
124
|
},
|
|
@@ -131,8 +131,8 @@ SubscriptionObserver.prototype = redefineAll({}, {
|
|
|
131
131
|
try {
|
|
132
132
|
var m = getMethod(observer.complete);
|
|
133
133
|
if (m) m.call(observer);
|
|
134
|
-
} catch (
|
|
135
|
-
hostReportErrors(
|
|
134
|
+
} catch (error) {
|
|
135
|
+
hostReportErrors(error);
|
|
136
136
|
} cleanupSubscription(subscriptionState);
|
|
137
137
|
}
|
|
138
138
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// `Promise.allSettled` method
|
|
3
3
|
// https://github.com/tc39/proposal-promise-allSettled
|
|
4
|
+
var aFunction = require('../internals/a-function');
|
|
4
5
|
var newPromiseCapabilityModule = require('../internals/new-promise-capability');
|
|
5
6
|
var perform = require('../internals/perform');
|
|
6
7
|
var iterate = require('../internals/iterate');
|
|
@@ -12,6 +13,7 @@ require('../internals/export')({ target: 'Promise', stat: true }, {
|
|
|
12
13
|
var resolve = capability.resolve;
|
|
13
14
|
var reject = capability.reject;
|
|
14
15
|
var result = perform(function () {
|
|
16
|
+
var promiseResolve = aFunction(C.resolve);
|
|
15
17
|
var values = [];
|
|
16
18
|
var counter = 0;
|
|
17
19
|
var remaining = 1;
|
|
@@ -20,7 +22,7 @@ require('../internals/export')({ target: 'Promise', stat: true }, {
|
|
|
20
22
|
var alreadyCalled = false;
|
|
21
23
|
values.push(undefined);
|
|
22
24
|
remaining++;
|
|
23
|
-
|
|
25
|
+
promiseResolve.call(C, promise).then(function (value) {
|
|
24
26
|
if (alreadyCalled) return;
|
|
25
27
|
alreadyCalled = true;
|
|
26
28
|
values[index] = { status: 'fulfilled', value: value };
|
|
@@ -34,7 +36,7 @@ require('../internals/export')({ target: 'Promise', stat: true }, {
|
|
|
34
36
|
});
|
|
35
37
|
--remaining || resolve(values);
|
|
36
38
|
});
|
|
37
|
-
if (result.
|
|
39
|
+
if (result.error) reject(result.value);
|
|
38
40
|
return capability.promise;
|
|
39
41
|
}
|
|
40
42
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// `Promise.any` method
|
|
3
3
|
// https://github.com/tc39/proposal-promise-any
|
|
4
|
+
var aFunction = require('../internals/a-function');
|
|
4
5
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
6
|
var newPromiseCapabilityModule = require('../internals/new-promise-capability');
|
|
6
7
|
var perform = require('../internals/perform');
|
|
@@ -14,6 +15,7 @@ require('../internals/export')({ target: 'Promise', stat: true }, {
|
|
|
14
15
|
var resolve = capability.resolve;
|
|
15
16
|
var reject = capability.reject;
|
|
16
17
|
var result = perform(function () {
|
|
18
|
+
var promiseResolve = aFunction(C.resolve);
|
|
17
19
|
var errors = [];
|
|
18
20
|
var counter = 0;
|
|
19
21
|
var remaining = 1;
|
|
@@ -23,7 +25,7 @@ require('../internals/export')({ target: 'Promise', stat: true }, {
|
|
|
23
25
|
var alreadyRejected = false;
|
|
24
26
|
errors.push(undefined);
|
|
25
27
|
remaining++;
|
|
26
|
-
|
|
28
|
+
promiseResolve.call(C, promise).then(function (value) {
|
|
27
29
|
if (alreadyRejected || alreadyResolved) return;
|
|
28
30
|
alreadyResolved = true;
|
|
29
31
|
resolve(value);
|
|
@@ -36,7 +38,7 @@ require('../internals/export')({ target: 'Promise', stat: true }, {
|
|
|
36
38
|
});
|
|
37
39
|
--remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));
|
|
38
40
|
});
|
|
39
|
-
if (result.
|
|
41
|
+
if (result.error) reject(result.value);
|
|
40
42
|
return capability.promise;
|
|
41
43
|
}
|
|
42
44
|
});
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
var newPromiseCapabilityModule = require('../internals/new-promise-capability');
|
|
5
5
|
var perform = require('../internals/perform');
|
|
6
6
|
|
|
7
|
-
require('../internals/export')({ target: 'Promise', stat: true }, {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
require('../internals/export')({ target: 'Promise', stat: true }, {
|
|
8
|
+
'try': function (callbackfn) {
|
|
9
|
+
var promiseCapability = newPromiseCapabilityModule.f(this);
|
|
10
|
+
var result = perform(callbackfn);
|
|
11
|
+
(result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);
|
|
12
|
+
return promiseCapability.promise;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
@@ -1,87 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var toLength = require('../internals/to-length');
|
|
5
|
-
var aFunction = require('../internals/a-function');
|
|
6
|
-
var anObject = require('../internals/an-object');
|
|
7
|
-
var classof = require('../internals/classof');
|
|
8
|
-
var getFlags = require('../internals/regexp-flags');
|
|
9
|
-
var hide = require('../internals/hide');
|
|
10
|
-
var speciesConstructor = require('../internals/species-constructor');
|
|
11
|
-
var advanceStringIndex = require('../internals/advance-string-index');
|
|
12
|
-
var MATCH_ALL = require('../internals/well-known-symbol')('matchAll');
|
|
13
|
-
var IS_PURE = require('../internals/is-pure');
|
|
14
|
-
var REGEXP_STRING = 'RegExp String';
|
|
15
|
-
var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator';
|
|
16
|
-
var InternalStateModule = require('../internals/internal-state');
|
|
17
|
-
var setInternalState = InternalStateModule.set;
|
|
18
|
-
var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR);
|
|
19
|
-
var RegExpPrototype = RegExp.prototype;
|
|
20
|
-
var regExpBuiltinExec = RegExpPrototype.exec;
|
|
21
|
-
|
|
22
|
-
var regExpExec = function (R, S) {
|
|
23
|
-
var exec = R.exec;
|
|
24
|
-
var result;
|
|
25
|
-
if (typeof exec == 'function') {
|
|
26
|
-
result = exec.call(R, S);
|
|
27
|
-
if (typeof result != 'object') throw TypeError('Incorrect exec result');
|
|
28
|
-
return result;
|
|
29
|
-
} return regExpBuiltinExec.call(R, S);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
// eslint-disable-next-line max-len
|
|
33
|
-
var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) {
|
|
34
|
-
setInternalState(this, {
|
|
35
|
-
type: REGEXP_STRING_ITERATOR,
|
|
36
|
-
regexp: regexp,
|
|
37
|
-
string: string,
|
|
38
|
-
global: global,
|
|
39
|
-
unicode: fullUnicode,
|
|
40
|
-
done: false
|
|
41
|
-
});
|
|
42
|
-
}, REGEXP_STRING, function next() {
|
|
43
|
-
var state = getInternalState(this);
|
|
44
|
-
if (state.done) return { value: undefined, done: true };
|
|
45
|
-
var R = state.regexp;
|
|
46
|
-
var S = state.string;
|
|
47
|
-
var match = regExpExec(R, S);
|
|
48
|
-
if (match === null) return { value: undefined, done: state.done = true };
|
|
49
|
-
if (state.global) {
|
|
50
|
-
if (String(match[0]) == '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode);
|
|
51
|
-
return { value: match, done: false };
|
|
52
|
-
}
|
|
53
|
-
state.done = true;
|
|
54
|
-
return { value: match, done: false };
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
var $matchAll = function (string) {
|
|
58
|
-
var R = anObject(this);
|
|
59
|
-
var S = String(string);
|
|
60
|
-
var C, flags, matcher, global, fullUnicode;
|
|
61
|
-
C = speciesConstructor(R, RegExp);
|
|
62
|
-
flags = 'flags' in RegExpPrototype ? String(R.flags) : getFlags.call(R);
|
|
63
|
-
matcher = new C(C === RegExp ? R.source : R, flags);
|
|
64
|
-
global = !!~flags.indexOf('g');
|
|
65
|
-
fullUnicode = !!~flags.indexOf('u');
|
|
66
|
-
matcher.lastIndex = toLength(R.lastIndex);
|
|
67
|
-
return new $RegExpStringIterator(matcher, S, global, fullUnicode);
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
// `String.prototype.matchAll` method
|
|
71
|
-
// https://github.com/tc39/proposal-string-matchall
|
|
72
|
-
require('../internals/export')({ target: 'String', proto: true }, {
|
|
73
|
-
matchAll: function matchAll(regexp) {
|
|
74
|
-
var O = requireObjectCoercible(this);
|
|
75
|
-
var S, matcher, rx;
|
|
76
|
-
if (regexp != null) {
|
|
77
|
-
matcher = regexp[MATCH_ALL];
|
|
78
|
-
if (matcher === undefined && IS_PURE && classof(regexp) == 'RegExp') matcher = $matchAll;
|
|
79
|
-
if (matcher != null) return aFunction(matcher).call(regexp, O);
|
|
80
|
-
}
|
|
81
|
-
S = String(O);
|
|
82
|
-
rx = new RegExp(regexp, 'g');
|
|
83
|
-
return IS_PURE ? $matchAll.call(rx, S) : rx[MATCH_ALL](S);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
IS_PURE || MATCH_ALL in RegExpPrototype || hide(RegExpPrototype, MATCH_ALL, $matchAll);
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
2
|
+
require('./es.symbol.match-all');
|
|
3
|
+
require('./es.string.match-all');
|
|
@@ -1,21 +1,50 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var hide = require('../internals/hide');
|
|
2
3
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
4
|
+
var anObject = require('../internals/an-object');
|
|
3
5
|
var isRegExp = require('../internals/is-regexp');
|
|
4
6
|
var getRegExpFlags = require('../internals/regexp-flags');
|
|
5
|
-
var
|
|
7
|
+
var speciesConstructor = require('../internals/species-constructor');
|
|
8
|
+
var REPLACE_ALL = require('../internals/well-known-symbol')('replaceAll');
|
|
9
|
+
var IS_PURE = require('../internals/is-pure');
|
|
10
|
+
var RegExpPrototype = RegExp.prototype;
|
|
11
|
+
|
|
12
|
+
var $replaceAll = function (string, replaceValue) {
|
|
13
|
+
var rx = anObject(this);
|
|
14
|
+
var flags = String('flags' in RegExpPrototype ? rx.flags : getRegExpFlags.call(rx));
|
|
15
|
+
if (!~flags.indexOf('g')) {
|
|
16
|
+
rx = new (speciesConstructor(rx, RegExp))(rx.source, flags + 'g');
|
|
17
|
+
}
|
|
18
|
+
return String(string).replace(rx, replaceValue);
|
|
19
|
+
};
|
|
6
20
|
|
|
7
21
|
// `String.prototype.replaceAll` method
|
|
8
22
|
// https://github.com/tc39/proposal-string-replace-all
|
|
9
23
|
require('../internals/export')({ target: 'String', proto: true }, {
|
|
10
24
|
replaceAll: function replaceAll(searchValue, replaceValue) {
|
|
11
25
|
var O = requireObjectCoercible(this);
|
|
12
|
-
var
|
|
13
|
-
if (
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
26
|
+
var replacer, string, searchString, template, result, i;
|
|
27
|
+
if (searchValue != null) {
|
|
28
|
+
replacer = searchValue[REPLACE_ALL];
|
|
29
|
+
if (replacer !== undefined) {
|
|
30
|
+
return replacer.call(searchValue, O, replaceValue);
|
|
31
|
+
} else if (IS_PURE && isRegExp(searchValue)) {
|
|
32
|
+
return $replaceAll.call(searchValue, O, replaceValue);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
string = String(O);
|
|
36
|
+
searchString = String(searchValue);
|
|
37
|
+
template = string.split(searchString);
|
|
38
|
+
if (typeof replaceValue !== 'function') {
|
|
39
|
+
return template.join(String(replaceValue));
|
|
18
40
|
}
|
|
19
|
-
|
|
41
|
+
result = template[0];
|
|
42
|
+
for (i = 1; i < template.length; i++) {
|
|
43
|
+
result += String(replaceValue(searchString, i - 1, string));
|
|
44
|
+
result += template[i];
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
20
47
|
}
|
|
21
48
|
});
|
|
49
|
+
|
|
50
|
+
IS_PURE || REPLACE_ALL in RegExpPrototype || hide(RegExpPrototype, REPLACE_ALL, $replaceAll);
|
|
@@ -9,7 +9,7 @@ for (var COLLECTION_NAME in DOMIterables) {
|
|
|
9
9
|
// some Chrome versions have non-configurable methods on DOMTokenList
|
|
10
10
|
if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
|
|
11
11
|
hide(CollectionPrototype, 'forEach', forEach);
|
|
12
|
-
} catch (
|
|
12
|
+
} catch (error) {
|
|
13
13
|
CollectionPrototype.forEach = forEach;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -14,7 +14,7 @@ for (var COLLECTION_NAME in DOMIterables) {
|
|
|
14
14
|
// some Chrome versions have non-configurable methods on DOMTokenList
|
|
15
15
|
if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
|
|
16
16
|
hide(CollectionPrototype, ITERATOR, ArrayValues);
|
|
17
|
-
} catch (
|
|
17
|
+
} catch (error) {
|
|
18
18
|
CollectionPrototype[ITERATOR] = ArrayValues;
|
|
19
19
|
}
|
|
20
20
|
if (!CollectionPrototype[TO_STRING_TAG]) hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
|
|
@@ -22,7 +22,7 @@ for (var COLLECTION_NAME in DOMIterables) {
|
|
|
22
22
|
// some Chrome versions have non-configurable methods on DOMTokenList
|
|
23
23
|
if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
|
|
24
24
|
hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
|
|
25
|
-
} catch (
|
|
25
|
+
} catch (error) {
|
|
26
26
|
CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -20,9 +20,27 @@ var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
|
|
|
20
20
|
var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
|
|
21
21
|
|
|
22
22
|
var plus = /\+/g;
|
|
23
|
+
var sequences = Array(4);
|
|
24
|
+
|
|
25
|
+
var percentSequence = function (bytes) {
|
|
26
|
+
return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
var percentDecode = function (sequence) {
|
|
30
|
+
try {
|
|
31
|
+
return decodeURIComponent(sequence);
|
|
32
|
+
} catch (error) {
|
|
33
|
+
return sequence;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
23
36
|
|
|
24
37
|
var deserialize = function (it) {
|
|
25
|
-
|
|
38
|
+
var result = it.replace(plus, ' ');
|
|
39
|
+
var bytes = 4;
|
|
40
|
+
while (bytes) {
|
|
41
|
+
result = result.replace(percentSequence(bytes--), percentDecode);
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
26
44
|
};
|
|
27
45
|
|
|
28
46
|
var find = /[!'()~]|%20/g;
|
package/modules/web.url.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
require('../modules/es.string.iterator');
|
|
3
|
-
// var DEBUG = true;
|
|
4
3
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
5
4
|
var USE_NATIVE_URL = require('../internals/native-url');
|
|
6
5
|
var NativeURL = require('../internals/global').URL;
|
|
@@ -25,21 +24,21 @@ var INVALID_SCHEME = 'Invalid scheme';
|
|
|
25
24
|
var INVALID_HOST = 'Invalid host';
|
|
26
25
|
var INVALID_PORT = 'Invalid port';
|
|
27
26
|
|
|
28
|
-
var ALPHA = /[
|
|
29
|
-
var ALPHANUMERIC = /[
|
|
30
|
-
var DIGIT =
|
|
27
|
+
var ALPHA = /[A-Za-z]/;
|
|
28
|
+
var ALPHANUMERIC = /[\d+\-.A-Za-z]/;
|
|
29
|
+
var DIGIT = /\d/;
|
|
31
30
|
var HEX_START = /^(0x|0X)/;
|
|
32
31
|
var OCT = /^[0-7]+$/;
|
|
33
|
-
var DEC =
|
|
34
|
-
var HEX = /^[
|
|
32
|
+
var DEC = /^\d+$/;
|
|
33
|
+
var HEX = /^[\dA-Fa-f]+$/;
|
|
35
34
|
// eslint-disable-next-line no-control-regex
|
|
36
|
-
var FORBIDDEN_HOST_CODE_POINT =
|
|
35
|
+
var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
|
|
37
36
|
// eslint-disable-next-line no-control-regex
|
|
38
|
-
var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT =
|
|
37
|
+
var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
|
|
39
38
|
// eslint-disable-next-line no-control-regex
|
|
40
|
-
var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F
|
|
39
|
+
var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
|
|
41
40
|
// eslint-disable-next-line no-control-regex
|
|
42
|
-
var TAB_AND_NEW_LINE =
|
|
41
|
+
var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
|
|
43
42
|
var EOF;
|
|
44
43
|
|
|
45
44
|
var parseHost = function (url, input) {
|
|
@@ -304,27 +303,27 @@ var isDoubleDot = function (segment) {
|
|
|
304
303
|
};
|
|
305
304
|
|
|
306
305
|
// States:
|
|
307
|
-
var SCHEME_START = {};
|
|
308
|
-
var SCHEME = {};
|
|
309
|
-
var NO_SCHEME = {};
|
|
310
|
-
var SPECIAL_RELATIVE_OR_AUTHORITY = {};
|
|
311
|
-
var PATH_OR_AUTHORITY = {};
|
|
312
|
-
var RELATIVE = {};
|
|
313
|
-
var RELATIVE_SLASH = {};
|
|
314
|
-
var SPECIAL_AUTHORITY_SLASHES = {};
|
|
315
|
-
var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
|
|
316
|
-
var AUTHORITY = {};
|
|
317
|
-
var HOST = {};
|
|
318
|
-
var HOSTNAME = {};
|
|
319
|
-
var PORT = {};
|
|
320
|
-
var FILE = {};
|
|
321
|
-
var FILE_SLASH = {};
|
|
322
|
-
var FILE_HOST = {};
|
|
323
|
-
var PATH_START = {};
|
|
324
|
-
var PATH = {};
|
|
325
|
-
var CANNOT_BE_A_BASE_URL_PATH = {};
|
|
326
|
-
var QUERY = {};
|
|
327
|
-
var FRAGMENT = {};
|
|
306
|
+
var SCHEME_START = {};
|
|
307
|
+
var SCHEME = {};
|
|
308
|
+
var NO_SCHEME = {};
|
|
309
|
+
var SPECIAL_RELATIVE_OR_AUTHORITY = {};
|
|
310
|
+
var PATH_OR_AUTHORITY = {};
|
|
311
|
+
var RELATIVE = {};
|
|
312
|
+
var RELATIVE_SLASH = {};
|
|
313
|
+
var SPECIAL_AUTHORITY_SLASHES = {};
|
|
314
|
+
var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
|
|
315
|
+
var AUTHORITY = {};
|
|
316
|
+
var HOST = {};
|
|
317
|
+
var HOSTNAME = {};
|
|
318
|
+
var PORT = {};
|
|
319
|
+
var FILE = {};
|
|
320
|
+
var FILE_SLASH = {};
|
|
321
|
+
var FILE_HOST = {};
|
|
322
|
+
var PATH_START = {};
|
|
323
|
+
var PATH = {};
|
|
324
|
+
var CANNOT_BE_A_BASE_URL_PATH = {};
|
|
325
|
+
var QUERY = {};
|
|
326
|
+
var FRAGMENT = {};
|
|
328
327
|
|
|
329
328
|
// eslint-disable-next-line max-statements
|
|
330
329
|
var parseURL = function (url, input, stateOverride, base) {
|
|
@@ -355,8 +354,6 @@ var parseURL = function (url, input, stateOverride, base) {
|
|
|
355
354
|
|
|
356
355
|
while (pointer <= codePoints.length) {
|
|
357
356
|
char = codePoints[pointer];
|
|
358
|
-
// eslint-disable-next-line
|
|
359
|
-
// if (DEBUG) console.log(pointer, char, state, buffer);
|
|
360
357
|
switch (state) {
|
|
361
358
|
case SCHEME_START:
|
|
362
359
|
if (char && ALPHA.test(char)) {
|
|
@@ -571,7 +568,7 @@ var parseURL = function (url, input, stateOverride, base) {
|
|
|
571
568
|
) {
|
|
572
569
|
if (buffer != '') {
|
|
573
570
|
var port = parseInt(buffer, 10);
|
|
574
|
-
if (port >
|
|
571
|
+
if (port > 0xFFFF) return INVALID_PORT;
|
|
575
572
|
url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;
|
|
576
573
|
buffer = '';
|
|
577
574
|
}
|
|
@@ -737,7 +734,6 @@ var URLConstructor = function URL(url /* , base */) {
|
|
|
737
734
|
var urlString = String(url);
|
|
738
735
|
var state = setInternalState(that, { type: 'URL' });
|
|
739
736
|
var baseState, failure;
|
|
740
|
-
// if (DEBUG) this.state = state;
|
|
741
737
|
if (base !== undefined) {
|
|
742
738
|
if (base instanceof URLConstructor) baseState = getInternalURLState(base);
|
|
743
739
|
else {
|
|
@@ -802,7 +798,7 @@ var getOrigin = function () {
|
|
|
802
798
|
var port = url.port;
|
|
803
799
|
if (scheme == 'blob') try {
|
|
804
800
|
return new URL(scheme.path[0]).origin;
|
|
805
|
-
} catch (
|
|
801
|
+
} catch (error) {
|
|
806
802
|
return 'null';
|
|
807
803
|
}
|
|
808
804
|
if (scheme == 'file' || !isSpecial(url)) return 'null';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "core-js",
|
|
3
3
|
"description": "Standard library",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.1.2",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/zloirock/core-js.git"
|
|
@@ -44,5 +44,8 @@
|
|
|
44
44
|
"polyfill",
|
|
45
45
|
"ponyfill",
|
|
46
46
|
"shim"
|
|
47
|
-
]
|
|
47
|
+
],
|
|
48
|
+
"scripts": {
|
|
49
|
+
"postinstall": "node -e \"try { require('./scripts/postinstall'); } catch (e) { /* empty */ }\""
|
|
50
|
+
}
|
|
48
51
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* eslint-disable no-console,max-len */
|
|
2
|
+
var env = process.env;
|
|
3
|
+
var CI = !!env.CI && env.CI !== '0' && env.CI !== 'false';
|
|
4
|
+
var SILENT = !!~['silent', 'error', 'warn'].indexOf(env.npm_config_loglevel);
|
|
5
|
+
|
|
6
|
+
if (!CI && !SILENT) {
|
|
7
|
+
console.log('\u001B[96mThank you for using core-js (\u001B[94m https://github.com/zloirock/core-js \u001B[96m)!\u001B[0m\n');
|
|
8
|
+
console.log('\u001B[96mPlease consider supporting of core-js on Open Collective or Patreon: \u001B[0m');
|
|
9
|
+
console.log('\u001B[96m>\u001B[94m https://opencollective.com/core-js \u001B[0m');
|
|
10
|
+
console.log('\u001B[96m>\u001B[94m https://www.patreon.com/zloirock \u001B[0m\n');
|
|
11
|
+
console.log('\u001B[96mAlso, the author of core-js (\u001B[94m https://github.com/zloirock \u001B[96m) is looking for a good job -)\u001B[0m\n');
|
|
12
|
+
}
|
package/stable/array/flat-map.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports =
|
|
1
|
+
module.exports = require('../../es/array/flat-map');
|
package/stable/array/flat.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports =
|
|
1
|
+
module.exports = require('../../es/array/flat');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../es/instance/match-all');
|
package/stable/object/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports =
|
|
1
|
+
module.exports = require('../../es/object');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../es/string/match-all');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../../es/string/virtual/match-all');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../es/symbol/match-all');
|
package/stage/0.js
CHANGED
package/stage/1.js
CHANGED
|
@@ -10,7 +10,7 @@ require('../proposals/promise-try');
|
|
|
10
10
|
require('../proposals/keys-composition');
|
|
11
11
|
require('../proposals/seeded-random');
|
|
12
12
|
require('../proposals/string-code-points');
|
|
13
|
-
require('../proposals/string-replace-all');
|
|
14
13
|
require('../proposals/using-statement');
|
|
14
|
+
require('../proposals/promise-any');
|
|
15
15
|
|
|
16
16
|
module.exports = require('./2');
|
package/stage/2.js
CHANGED
package/stage/3.js
CHANGED
package/stage/4.js
CHANGED