diff options
Diffstat (limited to 'node_modules/cacache/lib/util/disposer.js')
-rw-r--r-- | node_modules/cacache/lib/util/disposer.js | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/node_modules/cacache/lib/util/disposer.js b/node_modules/cacache/lib/util/disposer.js deleted file mode 100644 index 8a24ad2..0000000 --- a/node_modules/cacache/lib/util/disposer.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict' - -module.exports.disposer = disposer - -function disposer (creatorFn, disposerFn, fn) { - const runDisposer = (resource, result, shouldThrow = false) => { - return disposerFn(resource) - .then( - // disposer resolved, do something with original fn's promise - () => { - if (shouldThrow) { - throw result - } - return result - }, - // Disposer fn failed, crash process - (err) => { - throw err - // Or process.exit? - }) - } - - return creatorFn - .then((resource) => { - // fn(resource) can throw, so wrap in a promise here - return Promise.resolve().then(() => fn(resource)) - .then((result) => runDisposer(resource, result)) - .catch((err) => runDisposer(resource, err, true)) - }) -} |