VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
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/html/libs/absol-full/dist/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-full/dist/js/mdls__absol__src__AppPattern__Attributes.js
/*** module: node_modules/absol/src/AppPattern/Attributes.js ***/
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var _Ref = _interopRequireDefault(require("./Ref"));


/***
 *
 * @param {Object} node
 * @constructor
 */

/***
 * @typedef {{defined?:function,revoked?:function,get?:function, set?: function, descriptor?: Object|function, export?: function}} AttributeHandler
 */

/***
 *
 * @param {Object} node
 * @constructor
 */
function Attributes(node) {
  Object.defineProperty(this, '$$node', {
    enumerable: false,
    configurable: true,
    writable: false,
    value: node
  });
  Object.defineProperty(this, '_definedProperties', {
    enumerable: false,
    writable: false,
    value: {}
  });
  Object.defineProperty(this, '_definedComputedHandlers', {
    enumerable: false,
    writable: false,
    value: {}
  });
}

Object.defineProperty(Attributes.prototype, 'loadAttributeHandlers', {
  enumerable: false,
  configurable: true,
  writable: false,
  value: function (newHandlers) {
    var self = this;
    var definedHandlers = this._definedProperties;
    var definedComputedHandlers = this._definedComputedHandlers;
    Object.keys(this._definedProperties).forEach(function (key) {
      if (!newHandlers[key]) {
        delete definedHandlers[key];
        delete definedComputedHandlers[key];
        delete self[key];
      }
    });
    Object.keys(newHandlers).forEach(function (key) {
      if (definedHandlers[key] !== newHandlers[key]) {
        self.defineProperty(key, newHandlers[key]);
      }
    });
  }
});
Object.defineProperty(Attributes.prototype, 'unloadAttributeHandlers', {
  enumerable: false,
  configurable: true,
  writable: false,
  value: function (oldHandlers) {
    var self = this;
    Object.keys(oldHandlers).forEach(function (key) {
      self.revokeProperty(key, oldHandlers[key]);
    });
  }
});
Object.defineProperty(Attributes.prototype, 'revokeProperty', {
  enumerable: false,
  configurable: true,
  writable: false,
  value: function (name, handler) {
    if (!this._definedProperties[name]) return;
    if (handler && this._definedProperties[name] !== handler) return; //verify

    if (handler.revoked) {
      handler.revoked.call(this, this._definedComputedHandlers[name].ref);
    }

    var value = this[name];
    delete this[name];
    this[name] = value;
    delete this._definedProperties[name];
  }
});
Object.defineProperty(Attributes.prototype, 'defineProperty', {
  enumerable: false,
  configurable: true,
  writable: false,
  value: function (name, handler) {
    var self = this;
    this._definedProperties[name] = handler;
    var hadValue = !!(name in this);
    var privateValueRef = new _Ref.default(this[name]);
    var objectDescriptor = {
      enumerable: true,
      configurable: true,
      set: function (value) {
        if (handler.set) privateValueRef.set(handler.set.apply(self.$$node, Array.prototype.slice.call(arguments).concat([privateValueRef])));else privateValueRef.set(value);
      },
      get: function () {
        if (handler.get) return handler.get.apply(self.$$node, Array.prototype.slice.call(arguments).concat([privateValueRef]));else return privateValueRef.get();
      }
    };
    Object.defineProperty(this, name, objectDescriptor);
    this._definedComputedHandlers[name] = objectDescriptor;
    objectDescriptor.ref = privateValueRef;

    if (handler.defined) {
      handler.defined.call(this, privateValueRef);
    }

    if (hadValue) this[name] = privateValueRef.get();
  }
});
Object.defineProperty(Attributes.prototype, 'getProperty', {
  enumerable: false,
  configurable: true,
  writable: false,
  value: function (name) {
    var args = Array.prototype.slice.call(arguments, 1);
    var handler = this._definedComputedHandlers[name];

    if (handler) {
      return handler.get.apply(this, args);
    } else return this[name];
  }
});
Object.defineProperty(Attributes.prototype, 'setProperty', {
  enumerable: false,
  configurable: true,
  writable: false,
  value: function (name, value) {
    var args = Array.prototype.slice.call(arguments, 1);
    var handler = this._definedComputedHandlers[name];

    if (handler) {
      return handler.set.apply(this, args);
    } else this[name] = value;
  }
});
Object.defineProperty(Attributes.prototype, 'export', {
  enumerable: false,
  configurable: true,
  value: function () {
    var self = this;
    return Object.keys(this).reduce(function (ac, key) {
      var value;
      var handler = self._definedProperties[key];
      var computedHandler = self._definedComputedHandlers[key];
      var exporter = handler && handler.export;

      if (exporter) {
        value = exporter.call(self.$$node, computedHandler.ref);
      } else {
        value = self[key];
      }

      if (value !== undefined) ac[key] = value;
      return ac;
    }, {});
  }
});
Object.defineProperty(Attributes.prototype, 'getPropertyDescriptor', {
  enumerable: false,
  configurable: true,
  writable: false,
  value: function (name) {
    var handler = this._definedProperties[name];
    if (handler && typeof handler.descriptor === 'function') return handler.descriptor.call(this.$$node);
    var value = this[name];
    return handler && handler.descriptor || {
      type: typeof value
    };
  }
});
var _default = Attributes;
exports.default = _default;

VaKeR 2022