diff options
Diffstat (limited to 'desktop/node_modules/electron-packager/src/hooks.js')
-rw-r--r-- | desktop/node_modules/electron-packager/src/hooks.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/desktop/node_modules/electron-packager/src/hooks.js b/desktop/node_modules/electron-packager/src/hooks.js new file mode 100644 index 0000000..a16426a --- /dev/null +++ b/desktop/node_modules/electron-packager/src/hooks.js @@ -0,0 +1,24 @@ +'use strict' + +const { promisify } = require('util') + +module.exports = { + promisifyHooks: async function promisifyHooks (hooks, args) { + if (!hooks || !Array.isArray(hooks)) { + return Promise.resolve() + } + + await Promise.all(hooks.map(hookFn => promisify(hookFn).apply(this, args))) + }, + serialHooks: function serialHooks (hooks) { + return async function () { + const args = Array.prototype.splice.call(arguments, 0, arguments.length - 1) + const done = arguments[arguments.length - 1] + for (const hook of hooks) { + await hook.apply(this, args) + } + + return done() // eslint-disable-line promise/no-callback-in-promise + } + } +} |