first
This commit is contained in:
45
node_modules/core-js/modules/es.unescape.js
generated
vendored
Normal file
45
node_modules/core-js/modules/es.unescape.js
generated
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
'use strict';
|
||||
var $ = require('../internals/export');
|
||||
var uncurryThis = require('../internals/function-uncurry-this');
|
||||
var toString = require('../internals/to-string');
|
||||
|
||||
var fromCharCode = String.fromCharCode;
|
||||
var charAt = uncurryThis(''.charAt);
|
||||
var exec = uncurryThis(/./.exec);
|
||||
var stringSlice = uncurryThis(''.slice);
|
||||
|
||||
var hex2 = /^[\da-f]{2}$/i;
|
||||
var hex4 = /^[\da-f]{4}$/i;
|
||||
|
||||
// `unescape` method
|
||||
// https://tc39.es/ecma262/#sec-unescape-string
|
||||
$({ global: true }, {
|
||||
unescape: function unescape(string) {
|
||||
var str = toString(string);
|
||||
var result = '';
|
||||
var length = str.length;
|
||||
var index = 0;
|
||||
var chr, part;
|
||||
while (index < length) {
|
||||
chr = charAt(str, index++);
|
||||
if (chr === '%') {
|
||||
if (charAt(str, index) === 'u') {
|
||||
part = stringSlice(str, index + 1, index + 5);
|
||||
if (exec(hex4, part)) {
|
||||
result += fromCharCode(parseInt(part, 16));
|
||||
index += 5;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
part = stringSlice(str, index, index + 2);
|
||||
if (exec(hex2, part)) {
|
||||
result += fromCharCode(parseInt(part, 16));
|
||||
index += 2;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
result += chr;
|
||||
} return result;
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user