| Server IP : 146.190.157.162 / Your IP : 216.73.216.102 Web Server : Apache System : Linux ubuntu-s-2vcpu-4gb-amd-sfo3-01-KIT-DIGITAL 6.5.0-44-generic #44-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 7 15:10:09 UTC 2024 x86_64 User : businessweek ( 639) PHP Version : 8.2.10-2ubuntu2.2 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_signal,pcntl_signal_dispatch,pcntl_getpriority,pcntl_setpriority,dl,putenv,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/node_modules/bind-obj-methods/ |
Upload File : |
'use strict'
module.exports = (obj, proto, bound) => {
bound = bound || Object.create(null)
if (Array.isArray(bound))
bound = bound.reduce((s, k) => (s[k] = true, s), Object.create(null))
// don't try to bind constructors, it's weird
bound.constructor = true
proto = proto || obj
for (const k of Object.getOwnPropertyNames(proto)) {
if (bound[k]) {
continue
}
const descriptor = {...Object.getOwnPropertyDescriptor(proto, k)};
if ('value' in descriptor) {
if (typeof descriptor.value !== 'function') {
continue
}
descriptor.value = descriptor.value.bind(obj);
if (!descriptor.configurable) {
if (!descriptor.writable) {
continue;
}
obj[k] = descriptor.value;
bound[k] = true;
continue;
}
bound[k] = true;
Object.defineProperty(obj, k, descriptor)
}
}
}