UNPKG

podchat

Version:
69 lines (68 loc) 2.16 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 _errorHandler = require("../errorHandler"); var TypeCodes = /*#__PURE__*/function () { function TypeCodes(_ref) { var app = _ref.app, _ref$current = _ref.current, current = _ref$current === void 0 ? { typeCode: 'default', ownerId: undefined } : _ref$current, _ref$whiteList = _ref.whiteList, whiteList = _ref$whiteList === void 0 ? null : _ref$whiteList; (0, _classCallCheck2["default"])(this, TypeCodes); this._list = whiteList || []; this._current = current; this._app = app; } (0, _createClass2["default"])(TypeCodes, [{ key: "hasWhiteList", value: function hasWhiteList() { return this._list.length; } }, { key: "getActiveTypeCode", value: function getActiveTypeCode() { return this._current; } }, { key: "setActiveTypeCode", value: function setActiveTypeCode(typeCode) { if (this.hasWhiteList()) { var existObject = this._list.find(function (it) { return it.typeCode == typeCode; }); if (existObject) { this._current = existObject; } else { this._app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CONTACT_TYPE, null, true, {}); } } else { this._current = { typeCode: typeCode, ownerId: undefined }; } } }, { key: "isAllowed", value: function isAllowed(typeCode) { if (this._current.typeCode == typeCode) return true; var existObject = this._list.find(function (it) { return it.typeCode == typeCode; }); if (this.hasWhiteList() && !!existObject) return true; return false; } }]); return TypeCodes; }(); var _default = TypeCodes; exports["default"] = _default;