Defines new (or modifies existing) properties (using Object.defineProperty, setting `configurable: true` by default
npm install define-configurable



--
Simple
``javascript`
const define = require('define-configurable')
const subject = {}
const props = [
{ one: true },
{ two () {
console.log('do nothing')
}
}
]
define.apply(subject, props)
Extend
`javascript
const define = require('define-configurable')
const subject = {
search (arg) {}
}
define.apply(subject, {
extend: {
// optmized method for extending up till 7 arguments
search (method, arg) {
return method.call(this, arg)
}
}
})
``