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__SCLang__SCOperatorExecutor.js
/*** module: node_modules/absol/src/SCLang/SCOperatorExecutor.js ***/
"use strict";

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

function OperatorExecutor() {
  this.oFXYs = {};
  this.oFXs = {};
}
/***
 *
 * @param {string} operator
 * @param {function(x, y, next: function):void} fxy
 */


OperatorExecutor.prototype.addBinaryOperator = function (operator, fxy) {
  if (!this.oFXYs[operator]) this.oFXYs[operator] = [];
  this.oFXYs[operator].unshift(fxy);
};
/***
 *
 * @param {string} operator
 * @param {function(x,  next: function):void} fx
 */


OperatorExecutor.prototype.addUnaryOperator = function (operator, fx) {
  if (!this.oFXs[operator]) this.oFXs[operator] = [];
  this.oFXs[operator].unshift(fx);
};

OperatorExecutor.prototype.executeBinaryOperator = function (operator, x, y) {
  var fXYs = this.oFXYs[operator];
  var i, next;

  if (fXYs) {
    i = -1;

    next = () => {
      ++i;
      if (i >= fXYs.length) throw {
        message: 'Could not match any function for operator' + operator,
        x: x,
        y: y
      };
      return fXYs[i](x, y, next);
    };

    return next();
  } else {
    throw {
      message: 'Could not find operate: ' + operator
    };
  }
};

OperatorExecutor.prototype.executeUnaryOperator = function (operator, x) {
  var fXs = this.oFXs[operator];
  var i, next;

  if (fXs) {
    i = -1;

    next = () => {
      ++i;
      if (i >= fXs.length) throw {
        message: 'Could not match any function for operator' + operator,
        x: x
      };
      return fXs[i](x, next);
    };

    return next();
  } else {
    throw {
      message: 'Could not find operate: ' + operator
    };
  }
};
/***
 * @type {OperatorExecutor}
 */


var SCOperatorExecutor = new OperatorExecutor();
var _default = SCOperatorExecutor;
exports.default = _default;

VaKeR 2022