UNPKG

640 BJavaScriptView Raw
1'use strict'
2var iconv
3var iconvLite
4
5function getIconvAdapter () {
6 var Iconv = require('iconv').Iconv
7 return {
8 decode: function (bufferOrString, encoding) {
9 var iconv = new Iconv(encoding, 'utf8')
10 return iconv.convert(bufferOrString)
11 },
12 encode: function (bufferOrString, encoding) {
13 var iconv = new Iconv('utf8', encoding)
14 return iconv.convert(bufferOrString)
15 }
16 }
17}
18
19module.exports = function getIconv (useIconv) {
20 if (useIconv) {
21 if (!iconv) {
22 iconv = getIconvAdapter()
23 }
24 return iconv
25 }
26 if (!iconvLite) {
27 iconvLite = require('iconv-lite')
28 }
29 return iconvLite
30}