mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2024-11-14 07:06:17 +00:00
26 lines
653 B
JavaScript
26 lines
653 B
JavaScript
|
'use strict'
|
||
|
var parseJsonWithErrors = require('json-parse-better-errors')
|
||
|
var parseJSON = module.exports = function (content) {
|
||
|
return parseJsonWithErrors(stripBOM(content))
|
||
|
}
|
||
|
|
||
|
parseJSON.noExceptions = function (content) {
|
||
|
try {
|
||
|
return parseJSON(content)
|
||
|
} catch (ex) {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// from read-package-json
|
||
|
function stripBOM (content) {
|
||
|
content = content.toString()
|
||
|
// Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
|
||
|
// because the buffer-to-string conversion in `fs.readFileSync()`
|
||
|
// translates it to FEFF, the UTF-16 BOM.
|
||
|
if (content.charCodeAt(0) === 0xFEFF) {
|
||
|
content = content.slice(1)
|
||
|
}
|
||
|
return content
|
||
|
}
|