Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/ecommerce/node_modules/copy-descriptor/ |
/*!
* copy-descriptor <https://github.com/jonschlinkert/copy-descriptor>
*
* Copyright (c) 2015, Jon Schlinkert.
* Licensed under the MIT License.
*/
'use strict';
/**
* Copy a descriptor from one object to another.
*
* ```js
* function App() {
* this.cache = {};
* }
* App.prototype.set = function(key, val) {
* this.cache[key] = val;
* return this;
* };
* Object.defineProperty(App.prototype, 'count', {
* get: function() {
* return Object.keys(this.cache).length;
* }
* });
*
* copy(App.prototype, 'count', 'len');
*
* // create an instance
* var app = new App();
*
* app.set('a', true);
* app.set('b', true);
* app.set('c', true);
*
* console.log(app.count);
* //=> 3
* console.log(app.len);
* //=> 3
* ```
* @name copy
* @param {Object} `receiver` The target object
* @param {Object} `provider` The provider object
* @param {String} `from` The key to copy on provider.
* @param {String} `to` Optionally specify a new key name to use.
* @return {Object}
* @api public
*/
module.exports = function copyDescriptor(receiver, provider, from, to) {
if (!isObject(provider) && typeof provider !== 'function') {
to = from;
from = provider;
provider = receiver;
}
if (!isObject(receiver) && typeof receiver !== 'function') {
throw new TypeError('expected the first argument to be an object');
}
if (!isObject(provider) && typeof provider !== 'function') {
throw new TypeError('expected provider to be an object');
}
if (typeof to !== 'string') {
to = from;
}
if (typeof from !== 'string') {
throw new TypeError('expected key to be a string');
}
if (!(from in provider)) {
throw new Error('property "' + from + '" does not exist');
}
var val = Object.getOwnPropertyDescriptor(provider, from);
if (val) Object.defineProperty(receiver, to, val);
};
function isObject(val) {
return {}.toString.call(val) === '[object Object]';
}