UNPKG

matssocket

Version:
58 lines (53 loc) 2.02 kB
export { ErrorEvent } /** * The Event object supplied to listeners added via {@link MatsSocket#addErrorEventListener()}. * * @param type {string} * @param message {string} * @param object {Object} * @class */ function ErrorEvent(type, message, object) { /** * Type of error - describes the situation where the error occurred. Currently has no event-type enum. * * @type {string} */ this.type = type; /** * The error message * * @type {string} */ this.message = message; /** * Some errors supply a relevant object: Event for WebSocket errors, The attempted processed MatsSocket Envelope * when envelope processing fails, or the caught Error in a try-catch (typically when invoking event listeners). * <b>For submitting errors back to the home server, check out {@link ErrorEvent#referenceAsString}.</b> * * @type {Object} */ this.reference = object; /** * Makes a string (<b>chopped the specified max number of characters, default 1024 chars</b>) out of the * {@link ErrorEvent#reference} Object, which might be useful if you want to send this back over HTTP - consider * <code>encodeURIComponent(referenceAsString)</code> if you want to send it over the URL. First tries to use * <code>JSON.stringify(reference)</code>, failing that, it uses <code>""+reference</code>. Then chops to max * 1024, using "..." to denote the chop. * * @param {number} maxLength the max number of characters that will be returned, with any chop denoted by "...". * @returns {string} */ this.referenceAsString = function (maxLength = 1024) { let result; try { result = JSON.stringify(this.reference); } catch (err) { /* no-op */ } if (typeof result !== 'string') { result = "" + this.reference; } return (result.length > maxLength ? result.substring(0, maxLength - 3) + "..." : result); }; }