1 var baseCreate = require(
'./_baseCreate'),
2 isObject = require(
'./isObject');
12 function createCtor(Ctor) {
18 switch (args.length) {
19 case 0:
return new Ctor;
20 case 1:
return new Ctor(args[0]);
21 case 2:
return new Ctor(args[0], args[1]);
22 case 3:
return new Ctor(args[0], args[1], args[2]);
23 case 4:
return new Ctor(args[0], args[1], args[2], args[3]);
24 case 5:
return new Ctor(args[0], args[1], args[2], args[3], args[4]);
25 case 6:
return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
26 case 7:
return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
28 var thisBinding = baseCreate(Ctor.prototype),
29 result = Ctor.apply(thisBinding, args);
33 return isObject(result) ? result : thisBinding;
37 module.exports = createCtor;