HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/.pm2/modules/pm2-logrotate/node_modules/pmx/lib/utils/proxy.js
var debug = require('debug')('axm:proxy');

// var cls     = require('continuation-local-storage');
// var ns      = cls.createNamespace('namespace');

var Proxy = module.exports = {
  wrap : function(object, methods, hook) {
    var self = this;

    if (!Array.isArray(methods)) methods = [methods];

    for (var i = 0; i < methods.length; ++i) {
      debug('Wrapping method:', methods[i]);
      var original = object[methods[i]];
      if (!original) return debug('Method %s unknown', methods[i]);
      if (original.__axm_original) {
        debug('Already wrapped', methods[i]);
        if (methods[i] != '_load')
          return;
      }
      var hooked = hook(original);

      if (original.__axm_original) {
        hooked.__axm_original = original.__axm_original;
      }
      else {
        hooked.__axm_original = original;
      }
      object[methods[i]] = hooked;
      //debug('Method proxified');
    }
  }
};