33 lines
816 B
JavaScript
33 lines
816 B
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = inherits;
|
|
|
|
var _constants = require("../constants");
|
|
|
|
var _inheritsComments = _interopRequireDefault(require("../comments/inheritsComments"));
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
function inherits(child, parent) {
|
|
if (!child || !parent) return child;
|
|
|
|
for (const key of _constants.INHERIT_KEYS.optional) {
|
|
if (child[key] == null) {
|
|
child[key] = parent[key];
|
|
}
|
|
}
|
|
|
|
for (const key of Object.keys(parent)) {
|
|
if (key[0] === "_" && key !== "__clone") child[key] = parent[key];
|
|
}
|
|
|
|
for (const key of _constants.INHERIT_KEYS.force) {
|
|
child[key] = parent[key];
|
|
}
|
|
|
|
(0, _inheritsComments.default)(child, parent);
|
|
return child;
|
|
} |