![]() 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 : |
/*** 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;