| "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; |
| } |