Current Dev State

This commit is contained in:
Tim Lorsbach
2025-06-23 20:13:54 +02:00
parent b4f9bb277d
commit ded50edaa2
22617 changed files with 4345095 additions and 174 deletions

View File

@ -0,0 +1,33 @@
module.exports = bindObj
function bindObj (obj, proto, bound) {
bound = bound || Object.create(null)
if (Array.isArray(bound))
bound = bound.reduce(function (set, k) {
set[k] = true
return set
}, Object.create(null))
// don't try to bind constructors, it's weird
bound.constructor = true
proto = proto || obj
Object.keys(proto).forEach(function (k) {
if (typeof obj[k] === 'function' && !bound[k]) {
bound[k] = true
obj[k] = proto[k].bind(obj)
}
})
Object.getOwnPropertyNames(proto).forEach(function (k) {
if (typeof obj[k] === 'function' && !bound[k]) {
bound[k] = true
Object.defineProperty(obj, k, {
value: obj[k].bind(obj),
enumerable: false,
configurable: true,
writable: true
})
}
})
}