UNPKG

@zoranwong/acc-engine.js

Version:

A javascript framework to accelerate your applicatin developement

78 lines (59 loc) 2.46 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey")); var _Thread = _interopRequireDefault(require("./Thread")); var _app = (0, _classPrivateFieldLooseKey2["default"])("app"); var _workers = (0, _classPrivateFieldLooseKey2["default"])("workers"); var WorkerManager = /*#__PURE__*/function () { function WorkerManager(app) { (0, _classCallCheck2["default"])(this, WorkerManager); Object.defineProperty(this, _app, { writable: true, value: null }); Object.defineProperty(this, _workers, { writable: true, value: {} }); (0, _classPrivateFieldLooseBase2["default"])(this, _app)[_app] = app; } (0, _createClass2["default"])(WorkerManager, [{ key: "thread", value: function thread() { var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var _thread = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; if (typeof eval !== 'undefined') { var workerPool = require('workerpool'); if (!(0, _classPrivateFieldLooseBase2["default"])(this, _workers)[_workers][name]) { var pool = null; if (_thread) { pool = workerPool.pool("".concat(_thread)); } else if (name) { pool = workerPool.pool(); } else { return new _Thread["default"](Date.now(), workerPool.pool()); } (0, _classPrivateFieldLooseBase2["default"])(this, _workers)[_workers][name] = new _Thread["default"](name, pool); } } return (0, _classPrivateFieldLooseBase2["default"])(this, _workers)[_workers][name]; } /** * @return {Application} * */ }, { key: "app", get: function get() { return (0, _classPrivateFieldLooseBase2["default"])(this, _app)[_app]; } }]); return WorkerManager; }(); exports["default"] = WorkerManager;