src: remove function hasTextDecoder in encoding.js

also... return TextDecoder directly from factories

PR-URL: https://github.com/nodejs/node/pull/23625
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
This commit is contained in:
Chi-chi Wang 2018-10-12 13:32:55 -05:00 committed by James M Snell
parent deaddd212c
commit 25dc25b111
No known key found for this signature in database
GPG Key ID: 7341B15C070877AC

View File

@ -341,21 +341,15 @@ Object.defineProperties(
value: 'TextEncoder'
} });
const { hasConverter, TextDecoder } =
const TextDecoder =
process.binding('config').hasIntl ?
makeTextDecoderICU() :
makeTextDecoderJS();
function hasTextDecoder(encoding = 'utf-8') {
validateArgument(encoding, 'string', 'encoding', 'string');
return hasConverter(getEncodingFromLabel(encoding));
}
function makeTextDecoderICU() {
const {
decode: _decode,
getConverter,
hasConverter
} = internalBinding('icu');
class TextDecoder {
@ -409,7 +403,7 @@ function makeTextDecoderICU() {
}
}
return { hasConverter, TextDecoder };
return TextDecoder;
}
function makeTextDecoderJS() {
@ -497,7 +491,7 @@ function makeTextDecoderJS() {
}
}
return { hasConverter, TextDecoder };
return TextDecoder;
}
// Mix in some shared properties.
@ -552,7 +546,6 @@ function makeTextDecoderJS() {
module.exports = {
getEncodingFromLabel,
hasTextDecoder,
TextDecoder,
TextEncoder
};