lib: refactor to use more primordials in internal/encoding.js

PR-URL: https://github.com/nodejs/node/pull/36480
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Pooja D P <Pooja.D.P@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit is contained in:
raisinten
2020-12-11 20:04:02 +05:30
committed by Node.js GitHub Bot
parent 9df3b762d7
commit c4cbdfa540

View File

@@ -4,10 +4,11 @@
// https://encoding.spec.whatwg.org
const {
Map,
ObjectCreate,
ObjectDefineProperties,
ObjectGetOwnPropertyDescriptors,
SafeMap,
StringPrototypeSlice,
Symbol,
SymbolToStringTag,
Uint32Array,
@@ -73,7 +74,7 @@ const CONVERTER_FLAGS_IGNORE_BOM = 0x4;
const empty = new Uint8Array(0);
const encodings = new Map([
const encodings = new SafeMap([
['unicode-1-1-utf-8', 'utf-8'],
['utf8', 'utf-8'],
['utf-8', 'utf-8'],
@@ -308,7 +309,7 @@ function trimAsciiWhitespace(label) {
label[e - 1] === '\u0020')) {
e--;
}
return label.slice(s, e);
return StringPrototypeSlice(label, s, e);
}
function getEncodingFromLabel(label) {
@@ -503,7 +504,7 @@ function makeTextDecoderJS() {
// If the very first result in the stream is a BOM, and we are not
// explicitly told to ignore it, then we discard it.
if (result[0] === '\ufeff') {
result = result.slice(1);
result = StringPrototypeSlice(result, 1);
}
this[kBOMSeen] = true;
}