'use strict' const Q = require('q') module.exports = presetResolver function presetResolver (presetPackage) { // start the chain as a Q.Promise return Q.resolve().then(() => { // handle traditional node-style callbacks if (typeof presetPackage === 'function') { return Q.nfcall(presetPackage) } // handle object literal or Promise instance if (typeof presetPackage === 'object') { return Q(presetPackage) } throw new Error('preset package must be a promise, function, or object') }) }