15 lines
317 B
JavaScript
15 lines
317 B
JavaScript
|
'use strict';
|
||
|
module.exports = x => {
|
||
|
if (typeof x !== 'string') {
|
||
|
throw new TypeError('Expected a string, got ' + typeof x);
|
||
|
}
|
||
|
|
||
|
// Catches EFBBBF (UTF-8 BOM) because the buffer-to-string
|
||
|
// conversion translates it to FEFF (UTF-16 BOM)
|
||
|
if (x.charCodeAt(0) === 0xFEFF) {
|
||
|
return x.slice(1);
|
||
|
}
|
||
|
|
||
|
return x;
|
||
|
};
|