codingame-connector
Version:
An interface for Codingame website
135 lines (100 loc) • 4.08 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _create = require("babel-runtime/core-js/object/create");
var _create2 = _interopRequireDefault(_create);
var _setPrototypeOf = require("babel-runtime/core-js/object/set-prototype-of");
var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
var _from = require("babel-runtime/core-js/array/from");
var _from2 = _interopRequireDefault(_from);
var _construct = require("babel-runtime/core-js/reflect/construct");
var _construct2 = _interopRequireDefault(_construct);
var _assign = require("babel-runtime/core-js/object/assign");
var _assign2 = _interopRequireDefault(_assign);
var _getPrototypeOf = require("babel-runtime/core-js/object/get-prototype-of");
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require("babel-runtime/helpers/createClass");
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn");
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require("babel-runtime/helpers/inherits");
var _inherits3 = _interopRequireDefault(_inherits2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extendableBuiltin(cls) {
function ExtendableBuiltin() {
var instance = (0, _construct2.default)(cls, (0, _from2.default)(arguments));
(0, _setPrototypeOf2.default)(instance, (0, _getPrototypeOf2.default)(this));
return instance;
}
ExtendableBuiltin.prototype = (0, _create2.default)(cls.prototype, {
constructor: {
value: cls,
enumerable: false,
writable: true,
configurable: true
}
});
if (_setPrototypeOf2.default) {
(0, _setPrototypeOf2.default)(ExtendableBuiltin, cls);
} else {
ExtendableBuiltin.__proto__ = cls;
}
return ExtendableBuiltin;
}
/**
* @file Module 'codingame/error'
* @author woshilapin <woshilapin@tuziwo.info>
*/
/**
* Error for Codingame API
* @module codingame/error
* @see {@link CodingameError}
*/
var CodingameError = function (_extendableBuiltin2) {
(0, _inherits3.default)(CodingameError, _extendableBuiltin2);
/**
* Create an error for reporting Codingame test fails.
* Represents errors in a Codingame test which is not a technical error:
* - the test didn't pass
* - the bundle didn't compile
* - the objective of the problem has not been reached
* - etc.
* @extends Error
* @constructs CodingameError
* @param {string|Error} error - The message or the parent Error
*/
function CodingameError(error) {
(0, _classCallCheck3.default)(this, CodingameError);
if (typeof error === "string") {
var _this = (0, _possibleConstructorReturn3.default)(this, (CodingameError.__proto__ || (0, _getPrototypeOf2.default)(CodingameError)).call(this, error));
} else if (error instanceof Error) {
var _this = (0, _possibleConstructorReturn3.default)(this, (CodingameError.__proto__ || (0, _getPrototypeOf2.default)(CodingameError)).call(this, error.message));
_this.stacktrace = error.stacktrace;
} else {
var _this = (0, _possibleConstructorReturn3.default)(this, (CodingameError.__proto__ || (0, _getPrototypeOf2.default)(CodingameError)).call(this));
}
_this.name = "CodingameError";
return (0, _possibleConstructorReturn3.default)(_this);
}
(0, _createClass3.default)(CodingameError, [{
key: "attach",
/**
* Attach some random metadata to the error, preserving `name` and `message` properties
* @method attach
* @param {Object} metadata - Some random object
* @memberof CodingameError
* @instance
*/
value: function attach(metadata) {
var copy = metadata;
delete copy.name;
delete copy.message;
(0, _assign2.default)(this, copy);
}
}]);
return CodingameError;
}(_extendableBuiltin(Error));
exports.default = CodingameError;
;