You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
916 B
42 lines
916 B
// |
|
'use strict'; |
|
|
|
const fs = require('fs'); |
|
|
|
|
|
|
|
|
|
|
|
function readFile(filepath , options ) { |
|
options = options || {}; |
|
const throwNotFound = options.throwNotFound || false; |
|
|
|
return new Promise((resolve, reject) => { |
|
fs.readFile(filepath, 'utf8', (err, content) => { |
|
if (err && err.code === 'ENOENT' && !throwNotFound) { |
|
return resolve(null); |
|
} |
|
if (err) return reject(err); |
|
resolve(content); |
|
}); |
|
}); |
|
} |
|
|
|
readFile.sync = function readFileSync( |
|
filepath , |
|
options |
|
) { |
|
options = options || {}; |
|
const throwNotFound = options.throwNotFound || false; |
|
|
|
try { |
|
return fs.readFileSync(filepath, 'utf8'); |
|
} catch (err) { |
|
if (err.code === 'ENOENT' && !throwNotFound) { |
|
return null; |
|
} |
|
throw err; |
|
} |
|
}; |
|
|
|
module.exports = readFile;
|
|
|