diff options
Diffstat (limited to 'deps/npm/node_modules/encoding/lib/encoding.js')
-rw-r--r-- | deps/npm/node_modules/encoding/lib/encoding.js | 56 |
1 files changed, 13 insertions, 43 deletions
diff --git a/deps/npm/node_modules/encoding/lib/encoding.js b/deps/npm/node_modules/encoding/lib/encoding.js index cbea3ced28..865c24bce2 100644 --- a/deps/npm/node_modules/encoding/lib/encoding.js +++ b/deps/npm/node_modules/encoding/lib/encoding.js @@ -1,9 +1,6 @@ 'use strict'; var iconvLite = require('iconv-lite'); -// Load Iconv from an external file to be able to disable Iconv for webpack -// Add /\/iconv-loader$/ to webpack.IgnorePlugin to ignore it -var Iconv = require('./iconv-loader'); // Expose to the world module.exports.convert = convert; @@ -14,10 +11,9 @@ module.exports.convert = convert; * @param {String|Buffer} str String to be converted * @param {String} to Encoding to be converted to * @param {String} [from='UTF-8'] Encoding to be converted from - * @param {Boolean} useLite If set to ture, force to use iconvLite * @return {Buffer} Encoded string */ -function convert(str, to, from, useLite) { +function convert(str, to, from) { from = checkEncoding(from || 'UTF-8'); to = checkEncoding(to || 'UTF-8'); str = str || ''; @@ -25,27 +21,15 @@ function convert(str, to, from, useLite) { var result; if (from !== 'UTF-8' && typeof str === 'string') { - str = new Buffer(str, 'binary'); + str = Buffer.from(str, 'binary'); } if (from === to) { if (typeof str === 'string') { - result = new Buffer(str); + result = Buffer.from(str); } else { result = str; } - } else if (Iconv && !useLite) { - try { - result = convertIconv(str, to, from); - } catch (E) { - console.error(E); - try { - result = convertIconvLite(str, to, from); - } catch (E) { - console.error(E); - result = str; - } - } } else { try { result = convertIconvLite(str, to, from); @@ -55,30 +39,14 @@ function convert(str, to, from, useLite) { } } - if (typeof result === 'string') { - result = new Buffer(result, 'utf-8'); + result = Buffer.from(result, 'utf-8'); } return result; } /** - * Convert encoding of a string with node-iconv (if available) - * - * @param {String|Buffer} str String to be converted - * @param {String} to Encoding to be converted to - * @param {String} [from='UTF-8'] Encoding to be converted from - * @return {Buffer} Encoded string - */ -function convertIconv(str, to, from) { - var response, iconv; - iconv = new Iconv(from, to + '//TRANSLIT//IGNORE'); - response = iconv.convert(str); - return response.slice(0, response.length); -} - -/** * Convert encoding of astring with iconv-lite * * @param {String|Buffer} str String to be converted @@ -103,11 +71,13 @@ function convertIconvLite(str, to, from) { * @return {String} Character set name */ function checkEncoding(name) { - return (name || '').toString().trim(). - replace(/^latin[\-_]?(\d+)$/i, 'ISO-8859-$1'). - replace(/^win(?:dows)?[\-_]?(\d+)$/i, 'WINDOWS-$1'). - replace(/^utf[\-_]?(\d+)$/i, 'UTF-$1'). - replace(/^ks_c_5601\-1987$/i, 'CP949'). - replace(/^us[\-_]?ascii$/i, 'ASCII'). - toUpperCase(); + return (name || '') + .toString() + .trim() + .replace(/^latin[\-_]?(\d+)$/i, 'ISO-8859-$1') + .replace(/^win(?:dows)?[\-_]?(\d+)$/i, 'WINDOWS-$1') + .replace(/^utf[\-_]?(\d+)$/i, 'UTF-$1') + .replace(/^ks_c_5601\-1987$/i, 'CP949') + .replace(/^us[\-_]?ascii$/i, 'ASCII') + .toUpperCase(); } |