function getInputArguments(args) {
      var out = {};
      out.localServices = {};
      if (args.length > 0) {
         out.source = args[0];
         out.target = args[0];
         if (_.isPlainObject(args[0])) {
            var opts = args[0];
            out.target = opts.target;
            out.source = opts.source;
            out.instance = opts.instance;
         }
         // call(func, callback)
         if (args.length > 1) {
            var argsDefined = _.isString(args[0]) || _.isArray(args[0]);
            if (argsDefined) {
               if (_.isArray(args[0])) {
                  out.source = args[0];
               } else {
                  out.source = _.isString(args[0]) ? [args[0]] : args[0];
               }
               if (_.isFunction(args[1])) {
                  out.target = args[1];
               }
               if (_.isFunction(args[2])) {
                  out.target = args[2];
               }
            } else {

               if (_.isFunction(args[1])) {
                  out.callReady = args[1];
               }
               if (_.isPlainObject(args[1])) {
                  out.localServices = args[1];
               }
            }
         }
         if (args.length === 3) {
            if (_.isPlainObject(args[1])) {
               out.localServices = args[1];
            }
            if (_.isFunction(args[2])) {
               out.callReady = args[2];
            }
         }
      }
      out.target = out.target || function() {};
      out.source = out.source ? out.source : out.target;
      out.callReady = out.callReady || function() {};
      return out;
   }
function getInputArguments(args) {
      var out = {};
      out.localServices = {};
      if (args.length > 0) {
         out.source = args[0];
         out.target = args[0];
         if (_.isPlainObject(args[0])) {
            var opts = args[0];
            out.target = opts.target;
            out.source = opts.source;
            out.instance = opts.instance;
         }
         
         if (args.length > 1) {
            var argsDefined = _.isString(args[0]) || _.isArray(args[0]);
            if (argsDefined) {
               if (_.isArray(args[0])) {
                  out.source = args[0];
               } else {
                  out.source = _.isString(args[0]) ? [args[0]] : args[0];
               }
               if (_.isFunction(args[1])) {
                  out.target = args[1];
               }
               if (_.isFunction(args[2])) {
                  out.target = args[2];
               }
            } else {

               if (_.isFunction(args[1])) {
                  out.callReady = args[1];
               }
               if (_.isPlainObject(args[1])) {
                  out.localServices = args[1];
               }
            }
         }
         if (args.length === 3) {
            if (_.isPlainObject(args[1])) {
               out.localServices = args[1];
            }
            if (_.isFunction(args[2])) {
               out.callReady = args[2];
            }
         }
      }
      out.target = out.target || function() {};
      out.source = out.source ? out.source : out.target;
      out.callReady = out.callReady || function() {};
      return out;
   }
function getInputArguments ( args ) { var out = { } ; out . localServices = { } ; if ( args . length > 0 ) { out . source = args [ 0 ] ; out . target = args [ 0 ] ; if ( _ . isPlainObject ( args [ 0 ] ) ) { var opts = args [ 0 ] ; out . target = opts . target ; out . source = opts . source ; out . instance = opts . instance ; } // call(func, callback) if ( args . length > 1 ) { var argsDefined = _ . isString ( args [ 0 ] ) || _ . isArray ( args [ 0 ] ) ; if ( argsDefined ) { if ( _ . isArray ( args [ 0 ] ) ) { out . source = args [ 0 ] ; } else { out . source = _ . isString ( args [ 0 ] ) ? [ args [ 0 ] ] : args [ 0 ] ; } if ( _ . isFunction ( args [ 1 ] ) ) { out . target = args [ 1 ] ; } if ( _ . isFunction ( args [ 2 ] ) ) { out . target = args [ 2 ] ; } } else { if ( _ . isFunction ( args [ 1 ] ) ) { out . callReady = args [ 1 ] ; } if ( _ . isPlainObject ( args [ 1 ] ) ) { out . localServices = args [ 1 ] ; } } } if ( args . length === 3 ) { if ( _ . isPlainObject ( args [ 1 ] ) ) { out . localServices = args [ 1 ] ; } if ( _ . isFunction ( args [ 2 ] ) ) { out . callReady = args [ 2 ] ; } } } out . target = out . target || function ( ) { } ; out . source = out . source ? out . source : out . target ; out . callReady = out . callReady || function ( ) { } ; return out ; }
Extracts arguments and defined target for the require function
Extracts arguments and defined target for the require function