forked from actions/setup-maven
21 lines
560 B
JavaScript
21 lines
560 B
JavaScript
|
var isObject = require('./isObject.js');
|
||
|
var _setup = require('./_setup.js');
|
||
|
|
||
|
// Create a naked function reference for surrogate-prototype-swapping.
|
||
|
function ctor() {
|
||
|
return function(){};
|
||
|
}
|
||
|
|
||
|
// An internal function for creating a new object that inherits from another.
|
||
|
function baseCreate(prototype) {
|
||
|
if (!isObject(prototype)) return {};
|
||
|
if (_setup.nativeCreate) return _setup.nativeCreate(prototype);
|
||
|
var Ctor = ctor();
|
||
|
Ctor.prototype = prototype;
|
||
|
var result = new Ctor;
|
||
|
Ctor.prototype = null;
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
module.exports = baseCreate;
|