UNPKG

@oat-sa/tao-core-sdk

Version:
55 lines (49 loc) 2.17 kB
define(['core/error/types'], function (errorTypes) { 'use strict'; errorTypes = errorTypes && Object.prototype.hasOwnProperty.call(errorTypes, 'default') ? errorTypes['default'] : errorTypes; /** * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; under version 2 * of the License (non-upgradable). * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * Copyright (c) 2020 (original work) Open Assessment Technologies SA ; */ /** * Error when an action times out */ //eslint-disable-next-line class TimeoutError extends Error { /** * Instantiate an error * @param {string} message - the error message * @param {number} timeout - the timeout value * @param {boolean} [recoverable=true] - can the user recover after having such error ? * @param {...} params - additional error parameters (line, etc.) */ constructor(message, timeout) { let recoverable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; for (var _len = arguments.length, params = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { params[_key - 3] = arguments[_key]; } super(message, ...params); if (Error.captureStackTrace) { Error.captureStackTrace(this, TimeoutError); } this.name = 'TimeoutError'; this.message = message; this.timeout = timeout; this.recoverable = !!recoverable; this.type = errorTypes.timeout; } } return TimeoutError; });