src/require.js
function _parseRequireParams([userResolver, moduleId, callback], useSyncResolve=false) {
  if(isString(userResolver) || Array.isArray(userResolver)) {
    return [settings.get('resolver'), userResolver, moduleId, useSyncResolve];
  }else {
    return [_getResolve(userResolver), moduleId, callback, useSyncResolve];
  }
}
function _parseRequireParams([userResolver, moduleId, callback], useSyncResolve=false) {
  if(isString(userResolver) || Array.isArray(userResolver)) {
    return [settings.get('resolver'), userResolver, moduleId, useSyncResolve];
  }else {
    return [_getResolve(userResolver), moduleId, callback, useSyncResolve];
  }
}
function _parseRequireParams ( [ userResolver , moduleId , callback ] , useSyncResolve = false ) { if ( isString ( userResolver ) || Array . isArray ( userResolver ) ) { return [ settings . get ( 'resolver' ) , userResolver , moduleId , useSyncResolve ] ; } else { return [ _getResolve ( userResolver ) , moduleId , callback , useSyncResolve ] ; } }
Take arguments supplied to the different require function and parse ready for internal use.

@private
@param {Resolver} [userResolver]                               Resolver to use.
@param {string} moduleId                                       The module to load.
@param {Function} [callback]                                   Node-style callback to fire if promise not wanted.
@param {boolean} [useSyncResolve=false]                        Use the native require to child requires?
@returns {[{Resolver}, {string}, {Function}, {boolean}]}       Parsed parameters, ready for use.
Take arguments supplied to the different require function and parse ready for internal use .