UNPKG

fill-keys

Version:

Fill keys in a destination that are defined on the source

23 lines (18 loc) 610 B
'use strict' const mergeDescriptors = require('merge-descriptors') const isObject = require('is-object') function fill (destination, source, merge) { if (destination && (isObject(source) || isFunction(source))) { merge(destination, source, false) if (isFunction(destination) && isFunction(source) && source.prototype) { merge(destination.prototype, source.prototype, false) } } return destination } module.exports = function fillKeys (destination, source) { return fill(destination, source, mergeDescriptors) } function isFunction (value) { return typeof value === 'function' }