diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-28 00:38:50 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-28 00:40:43 +0200 |
commit | 7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027 (patch) | |
tree | 6de9a1aebd150a23b7f8c273ec657a5d0a18fe3e /node_modules/hullabaloo-config-manager/lib/readSafe.js | |
parent | 963b7a41feb29cc4be090a2446bdfe0c1f1bcd81 (diff) |
add linting (and some initial fixes)
Diffstat (limited to 'node_modules/hullabaloo-config-manager/lib/readSafe.js')
-rw-r--r-- | node_modules/hullabaloo-config-manager/lib/readSafe.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/node_modules/hullabaloo-config-manager/lib/readSafe.js b/node_modules/hullabaloo-config-manager/lib/readSafe.js new file mode 100644 index 000000000..568258ac6 --- /dev/null +++ b/node_modules/hullabaloo-config-manager/lib/readSafe.js @@ -0,0 +1,29 @@ +'use strict' + +const gfs = require('graceful-fs') + +function readSafe (source, cache) { + if (cache && cache.files && cache.files.has(source)) { + return cache.files.get(source) + } + + const promise = new Promise((resolve, reject) => { + gfs.readFile(source, (err, contents) => { + if (err) { + if (err.code === 'ENOENT') { + resolve(null) + } else { + reject(err) + } + } else { + resolve(contents) + } + }) + }) + + if (cache && cache.files) { + cache.files.set(source, promise) + } + return promise +} +module.exports = readSafe |