Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

jsonify-error

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsonify-error - npm Package Compare versions

Comparing version 1.4.5 to 2.0.0

lib/strip-colors-if-string.js

35

CHANGELOG.md

@@ -9,2 +9,8 @@ # Changelog

## [2.0.0] - 2019-07-27
### Changed
- Strip color control characters from strings ([#8](https://github.com/papb/jsonify-error/issues/8))
_**Note:** This was marked as a breaking change just to be safe. Someone might be doing tests comparing the output of jsonifyError directly, and something could break. But I guess 99.999% of the users can just upgrade._
## [1.4.5] - 2019-04-28

@@ -95,15 +101,16 @@ ### Fixed

[Unreleased]: https://github.com/papb/jsonify-error/compare/v1.4.5...HEAD
[1.4.5]: https://github.com/papb/jsonify-error/compare/v1.4.4...v1.4.5
[1.4.4]: https://github.com/papb/jsonify-error/compare/v1.4.3...v1.4.4
[1.4.3]: https://github.com/papb/jsonify-error/compare/v1.4.2...v1.4.3
[1.4.2]: https://github.com/papb/jsonify-error/compare/v1.4.1...v1.4.2
[1.4.1]: https://github.com/papb/jsonify-error/compare/v1.4.0...v1.4.1
[1.4.0]: https://github.com/papb/jsonify-error/compare/v1.3.1...v1.4.0
[1.3.1]: https://github.com/papb/jsonify-error/compare/v1.3.0...v1.3.1
[1.3.0]: https://github.com/papb/jsonify-error/compare/v1.2.2...v1.3.0
[1.2.2]: https://github.com/papb/jsonify-error/compare/v1.2.1...v1.2.2
[1.2.1]: https://github.com/papb/jsonify-error/compare/v1.2.0...v1.2.1
[1.2.0]: https://github.com/papb/jsonify-error/compare/v1.1.2...v1.2.0
[1.1.2]: https://github.com/papb/jsonify-error/compare/v1.1.1...v1.1.2
[1.1.1]: https://github.com/papb/jsonify-error/compare/v1.0.0...v1.1.1
[Unreleased]: https://github.com/papb/jsonify-error/compare/2.0.0...HEAD
[2.0.0]: https://github.com/papb/jsonify-error/compare/1.4.5...2.0.0
[1.4.5]: https://github.com/papb/jsonify-error/compare/1.4.4...1.4.5
[1.4.4]: https://github.com/papb/jsonify-error/compare/1.4.3...1.4.4
[1.4.3]: https://github.com/papb/jsonify-error/compare/1.4.2...1.4.3
[1.4.2]: https://github.com/papb/jsonify-error/compare/1.4.1...1.4.2
[1.4.1]: https://github.com/papb/jsonify-error/compare/1.4.0...1.4.1
[1.4.0]: https://github.com/papb/jsonify-error/compare/1.3.1...1.4.0
[1.3.1]: https://github.com/papb/jsonify-error/compare/1.3.0...1.3.1
[1.3.0]: https://github.com/papb/jsonify-error/compare/1.2.2...1.3.0
[1.2.2]: https://github.com/papb/jsonify-error/compare/1.2.1...1.2.2
[1.2.1]: https://github.com/papb/jsonify-error/compare/1.2.0...1.2.1
[1.2.0]: https://github.com/papb/jsonify-error/compare/1.1.2...1.2.0
[1.1.2]: https://github.com/papb/jsonify-error/compare/1.1.1...1.1.2
[1.1.1]: https://github.com/papb/jsonify-error/compare/1.0.0...1.1.1

31

dist/jsonify-error.es5.js

@@ -21,3 +21,3 @@ (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){

},{"./lib/jsonify-error":6,"./lib/log":3,"./lib/override-console":7,"./lib/override-error-methods":8,"./lib/to-string":9}],3:[function(require,module,exports){
},{"./lib/jsonify-error":6,"./lib/log":3,"./lib/override-console":7,"./lib/override-error-methods":8,"./lib/to-string":10}],3:[function(require,module,exports){
"use strict";

@@ -62,2 +62,4 @@

var stripColorsIfString = require("./strip-colors-if-string");
module.exports = function jsonifyError(error) {

@@ -68,3 +70,3 @@ if (!(error instanceof Error)) return error;

wrappedError.className = error.constructor.name || "<no class name available>";
wrappedError.message = error.message || "<no message available>";
wrappedError.message = stripColorsIfString(error.message) || "<no message available>";
wrappedError.superclasses = getSuperclasses(error);

@@ -74,3 +76,3 @@ wrappedError.enumerableFields = {};

if (typeof error[x] === "function") continue;
wrappedError.enumerableFields[x] = error[x];
wrappedError.enumerableFields[x] = stripColorsIfString(error[x]);
}

@@ -82,5 +84,5 @@ if (typeof error.stack === "string" && error.stack.length > 0) {

return x;
});
}).map(stripColorsIfString);
} else {
wrappedError.stack = error.stack || "<no stack trace available>";
wrappedError.stack = stripColorsIfString(error.stack) || "<no stack trace available>";
}

@@ -90,3 +92,3 @@ return wrappedError;

},{"./get-superclasses":5}],7:[function(require,module,exports){
},{"./get-superclasses":5,"./strip-colors-if-string":9}],7:[function(require,module,exports){
"use strict";

@@ -181,5 +183,16 @@

},{"./jsonify-error":6,"./to-string":9}],9:[function(require,module,exports){
},{"./jsonify-error":6,"./to-string":10}],9:[function(require,module,exports){
"use strict";
function stripColorsIfString(arg) {
if (typeof arg !== "string") return arg;
/* eslint-disable-next-line no-control-regex */
return arg.replace(/\u001b\[\d{1,2}m/g, "").replace(/\\u001b\[\d{1,2}m/g, "");
}
module.exports = stripColorsIfString;
},{}],10:[function(require,module,exports){
"use strict";
var stringify = require("json-stringify-safe");

@@ -207,3 +220,3 @@ var jsonifyError = require("./jsonify-error");

},{"./jsonify-error":6,"json-stringify-safe":10}],10:[function(require,module,exports){
},{"./jsonify-error":6,"json-stringify-safe":11}],11:[function(require,module,exports){
exports = module.exports = stringify

@@ -238,2 +251,2 @@ exports.getSerialize = serializer

},{}]},{},[1])
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJicm93c2VyLWVudHJ5cG9pbnQuanMiLCJpbmRleC5qcyIsImxpYi9icm93c2VyLXNwZWNpZmljL2xvZy5qcyIsImxpYi9icm93c2VyLXNwZWNpZmljL21hcC1hcmcuanMiLCJsaWIvZ2V0LXN1cGVyY2xhc3Nlcy5qcyIsImxpYi9qc29uaWZ5LWVycm9yLmpzIiwibGliL292ZXJyaWRlLWNvbnNvbGUuanMiLCJsaWIvb3ZlcnJpZGUtZXJyb3ItbWV0aG9kcy5qcyIsImxpYi90by1zdHJpbmcuanMiLCJub2RlX21vZHVsZXMvanNvbi1zdHJpbmdpZnktc2FmZS9zdHJpbmdpZnkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTs7QUFDQSxPQUFPLFlBQVAsR0FBc0IsUUFBUSxZQUFSLENBQXRCOzs7QUNEQTs7QUFFQSxJQUFNLGVBQWUsUUFBUSxxQkFBUixDQUFyQjtBQUNBLElBQU0sa0JBQWtCLFFBQVEsd0JBQVIsQ0FBeEI7QUFDQSxJQUFNLHVCQUF1QixRQUFRLDhCQUFSLENBQTdCO0FBQ0EsSUFBTSxNQUFNLFFBQVEsV0FBUixDQUFaO0FBQ0EsSUFBTSxXQUFXLFFBQVEsaUJBQVIsQ0FBakI7O0FBRUEsT0FBTyxPQUFQLEdBQWlCLFlBQWpCO0FBQ0EsT0FBTyxPQUFQLENBQWUsZUFBZixHQUFpQyxlQUFqQztBQUNBLE9BQU8sT0FBUCxDQUFlLG9CQUFmLEdBQXNDLG9CQUF0QztBQUNBLE9BQU8sT0FBUCxDQUFlLEdBQWYsR0FBcUIsR0FBckI7QUFDQSxPQUFPLE9BQVAsQ0FBZSxRQUFmLEdBQTBCLFFBQTFCOzs7QUNaQTs7QUFFQSxJQUFNLFNBQVMsUUFBUSxjQUFSLENBQWY7O0FBRUEsT0FBTyxPQUFQLEdBQWlCLFNBQVMsR0FBVCxDQUFhLEtBQWIsRUFBb0I7QUFDakM7QUFDQSxZQUFRLEtBQVIsQ0FBYyxPQUFPLEtBQVAsQ0FBZDtBQUNILENBSEQ7OztBQ0pB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Y0FBeEIsQ0FBakQ7QUFDSCxDQUpEOzs7QUNoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSxuLHQpe2Z1bmN0aW9uIG8oaSxmKXtpZighbltpXSl7aWYoIWVbaV0pe3ZhciBjPVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWYmJmMpcmV0dXJuIGMoaSwhMCk7aWYodSlyZXR1cm4gdShpLCEwKTt2YXIgYT1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK2krXCInXCIpO3Rocm93IGEuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixhfXZhciBwPW5baV09e2V4cG9ydHM6e319O2VbaV1bMF0uY2FsbChwLmV4cG9ydHMsZnVuY3Rpb24ocil7dmFyIG49ZVtpXVsxXVtyXTtyZXR1cm4gbyhufHxyKX0scCxwLmV4cG9ydHMscixlLG4sdCl9cmV0dXJuIG5baV0uZXhwb3J0c31mb3IodmFyIHU9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxpPTA7aTx0Lmxlbmd0aDtpKyspbyh0W2ldKTtyZXR1cm4gb31yZXR1cm4gcn0pKCkiLCJcInVzZSBzdHJpY3RcIjtcbndpbmRvdy5qc29uaWZ5RXJyb3IgPSByZXF1aXJlKCcuL2luZGV4LmpzJyk7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGpzb25pZnlFcnJvciA9IHJlcXVpcmUoXCIuL2xpYi9qc29uaWZ5LWVycm9yXCIpO1xuY29uc3Qgb3ZlcnJpZGVDb25zb2xlID0gcmVxdWlyZShcIi4vbGliL292ZXJyaWRlLWNvbnNvbGVcIik7XG5jb25zdCBvdmVycmlkZUVycm9yTWV0aG9kcyA9IHJlcXVpcmUoXCIuL2xpYi9vdmVycmlkZS1lcnJvci1tZXRob2RzXCIpO1xuY29uc3QgbG9nID0gcmVxdWlyZShcIi4vbGliL2xvZ1wiKTtcbmNvbnN0IHRvU3RyaW5nID0gcmVxdWlyZShcIi4vbGliL3RvLXN0cmluZ1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBqc29uaWZ5RXJyb3I7XG5tb2R1bGUuZXhwb3J0cy5vdmVycmlkZUNvbnNvbGUgPSBvdmVycmlkZUNvbnNvbGU7XG5tb2R1bGUuZXhwb3J0cy5vdmVycmlkZUVycm9yTWV0aG9kcyA9IG92ZXJyaWRlRXJyb3JNZXRob2RzO1xubW9kdWxlLmV4cG9ydHMubG9nID0gbG9nO1xubW9kdWxlLmV4cG9ydHMuYXNTdHJpbmcgPSB0b1N0cmluZzsiLCJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgbWFwQXJnID0gcmVxdWlyZShcIi4vLi4vbWFwLWFyZ1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBsb2coZXJyb3IpIHtcbiAgICAvLyBJbiBicm93c2Vycywgd2UgZG8gbm90IGNvbG9yaXplIHRoZSBlcnJvciB3aXRoIGNoYWxrLlxuICAgIGNvbnNvbGUuZXJyb3IobWFwQXJnKGVycm9yKSk7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBqc29uaWZ5RXJyb3IgPSByZXF1aXJlKFwiLi8uLi9qc29uaWZ5LWVycm9yXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIG1hcEFyZyhhcmcpIHtcbiAgICAvLyBJbiBicm93c2Vycywgd2UgY29udmVydCB0aGUgZXJyb3IgdG8gSlNPTiBidXQgbm90IHRvIHN0cmluZywgc2luY2UgdGhlIGJyb3dzZXInc1xuICAgIC8vIGNvbnNvbGUgaXMgaW50ZXJhY3RpdmUgYW5kIGFsbG93cyBpbnNwZWN0aW5nIHRoZSBwbGFpbiBvYmplY3QgZWFzaWx5LlxuICAgIHJldHVybiBhcmcgaW5zdGFuY2VvZiBFcnJvciA/IGpzb25pZnlFcnJvcihhcmcpIDogYXJnO1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZXRTdXBlcmNsYXNzZXMob2JqKSB7XG4gICAgY29uc3Qgc3VwZXJjbGFzc2VzID0gW107XG4gICAgbGV0IHRlbXAgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTtcbiAgICBpZiAodGVtcCAhPT0gbnVsbCkgdGVtcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0ZW1wKTtcbiAgICB3aGlsZSAodGVtcCAhPT0gbnVsbCkge1xuICAgICAgICBzdXBlcmNsYXNzZXMucHVzaCh0ZW1wLmNvbnN0cnVjdG9yLm5hbWUpO1xuICAgICAgICB0ZW1wID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRlbXApO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXJjbGFzc2VzO1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgZ2V0U3VwZXJjbGFzc2VzID0gcmVxdWlyZShcIi4vZ2V0LXN1cGVyY2xhc3Nlc1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBqc29uaWZ5RXJyb3IoZXJyb3IpIHtcbiAgICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkgcmV0dXJuIGVycm9yO1xuICAgIGNvbnN0IHdyYXBwZWRFcnJvciA9IHt9O1xuICAgIHdyYXBwZWRFcnJvci5uYW1lID0gZXJyb3IubmFtZSB8fCBcIjxubyBuYW1lIGF2YWlsYWJsZT5cIjtcbiAgICB3cmFwcGVkRXJyb3IuY2xhc3NOYW1lID0gZXJyb3IuY29uc3RydWN0b3IubmFtZSB8fCBcIjxubyBjbGFzcyBuYW1lIGF2YWlsYWJsZT5cIjtcbiAgICB3cmFwcGVkRXJyb3IubWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UgfHwgXCI8bm8gbWVzc2FnZSBhdmFpbGFibGU+XCI7XG4gICAgd3JhcHBlZEVycm9yLnN1cGVyY2xhc3NlcyA9IGdldFN1cGVyY2xhc3NlcyhlcnJvcik7XG4gICAgd3JhcHBlZEVycm9yLmVudW1lcmFibGVGaWVsZHMgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHggaW4gZXJyb3IpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBlcnJvclt4XSA9PT0gXCJmdW5jdGlvblwiKSBjb250aW51ZTtcbiAgICAgICAgd3JhcHBlZEVycm9yLmVudW1lcmFibGVGaWVsZHNbeF0gPSBlcnJvclt4XTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlcnJvci5zdGFjayA9PT0gXCJzdHJpbmdcIiAmJiBlcnJvci5zdGFjay5sZW5ndGggPiAwKSB7XG4gICAgICAgIHdyYXBwZWRFcnJvci5zdGFjayA9IGVycm9yLnN0YWNrLnNwbGl0KCdcXG4nKS5tYXAoeCA9PiB4LnJlcGxhY2UoL15cXHMrLywgXCJcIikpLmZpbHRlcih4ID0+IHgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHdyYXBwZWRFcnJvci5zdGFjayA9IGVycm9yLnN0YWNrIHx8IFwiPG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZT5cIjtcbiAgICB9XG4gICAgcmV0dXJuIHdyYXBwZWRFcnJvcjtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IG1hcEFyZyA9IHJlcXVpcmUoXCIuL21hcC1hcmdcIik7XG5cbmNvbnN0IG1ldGhvZE5hbWVzID0gW1wibG9nXCIsIFwiZGVidWdcIiwgXCJpbmZvXCIsIFwid2FyblwiLCBcImVycm9yXCJdO1xuXG5sZXQgYWxyZWFkeU92ZXJyaWRkZW4gPSBmYWxzZTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBvdmVycmlkZUNvbnNvbGUoKSB7XG4gICAgaWYgKGFscmVhZHlPdmVycmlkZGVuKSByZXR1cm47XG4gICAgYWxyZWFkeU92ZXJyaWRkZW4gPSB0cnVlO1xuXG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2RzID0ge307XG5cbiAgICBmb3IgKGNvbnN0IG1ldGhvZE5hbWUgb2YgbWV0aG9kTmFtZXMpIHtcbiAgICAgICAgaWYgKCFjb25zb2xlW21ldGhvZE5hbWVdKSBjb250aW51ZTtcbiAgICAgICAgb3JpZ2luYWxNZXRob2RzW21ldGhvZE5hbWVdID0gY29uc29sZVttZXRob2ROYW1lXS5iaW5kKGNvbnNvbGUpO1xuICAgICAgICBjb25zb2xlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgICAgICAgb3JpZ2luYWxNZXRob2RzW21ldGhvZE5hbWVdKC4uLmFyZ3MubWFwKG1hcEFyZykpO1xuICAgICAgICB9O1xuICAgIH1cbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGpzb25pZnlFcnJvciA9IHJlcXVpcmUoXCIuL2pzb25pZnktZXJyb3JcIik7XG5jb25zdCB0b1N0cmluZyA9IHJlcXVpcmUoXCIuL3RvLXN0cmluZ1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoaXMgRXJyb3IgaW5zdGFuY2UgdG8gYSBKU09OIHJlcHJlc2VudGF0aW9uLlxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge29iamVjdH1cbiAgICAgKi9cbiAgICBFcnJvci5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBqc29uaWZ5RXJyb3IodGhpcyk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoaXMgRXJyb3IgaW5zdGFuY2UgdG8gdGhlIGZ1bGwgc3RyaW5naWZpY2F0aW9uXG4gICAgICogb2YgaXRzIEpTT04gcmVwcmVzZW50YXRpb24uXG4gICAgICogXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthbW91bnRPZlNwYWNlcz00XSBUaGUgYW1vdW50IG9mIHNwYWNlcyB0byB1c2VcbiAgICAgKiBmb3IgaW5kZW50YXRpb24gaW4gdGhlIG91dHB1dCBzdHJpbmcuXG4gICAgICogXG4gICAgICogQHJldHVybiB7c3RyaW5nfVxuICAgICAqL1xuICAgIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKGFtb3VudE9mU3BhY2VzID0gNCkge1xuICAgICAgICByZXR1cm4gdG9TdHJpbmcodGhpcywgYW1vdW50T2ZTcGFjZXMpO1xuICAgIH07XG5cbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IHN0cmluZ2lmeSA9IHJlcXVpcmUoXCJqc29uLXN0cmluZ2lmeS1zYWZlXCIpO1xuY29uc3QganNvbmlmeUVycm9yID0gcmVxdWlyZShcIi4vanNvbmlmeS1lcnJvclwiKTtcblxuLyoqXG4gKiBDb252ZXJ0cyB0aGUgZ2l2ZW4gZXJyb3IgdG8gYSBiaWcgc3RyaW5nIHJlcHJlc2VudGF0aW9uLCBjb250YWluaW5nXG4gKiB0aGUgd2hvbGUgZGF0YSBmcm9tIGl0cyBKU09OIHJlcHJlc2VudGF0aW9uLlxuICogXG4gKiBAcGFyYW0ge2Vycm9yfSBlcnJvciBUaGUgZXJyb3IgdG8gYmUgY29udmVydGVkLlxuICogQHBhcmFtIHtudW1iZXJ9IFthbW91bnRPZlNwYWNlcz00XSBUaGUgYW1vdW50IG9mIHNwYWNlcyB0byB1c2VcbiAqIGZvciBpbmRlbnRhdGlvbiBpbiB0aGUgb3V0cHV0IHN0cmluZy5cbiAqIFxuICogQHJldHVybiB7c3RyaW5nfVxuICogQHRocm93cyB7VHlwZUVycm9yfSBJZiB0aGUgZ2l2ZW4gZXJyb3IgaXMgbm90IGFuIGluc3RhbmNlIG9mIEVycm9yXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gdG9TdHJpbmcoZXJyb3IsIGFtb3VudE9mU3BhY2VzID0gNCkge1xuICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwianNvbmlmeUVycm9yLnRvU3RyaW5nKCkgZXJyb3I6IEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgaW5zdGFuY2Ugb2YgRXJyb3IuXCIpO1xuICAgIGNvbnN0IGFzSlNPTiA9IGpzb25pZnlFcnJvcihlcnJvcik7XG4gICAgcmV0dXJuIGAke2FzSlNPTi5jbGFzc05hbWV9OiAke2FzSlNPTi5tZXNzYWdlfSAke3N0cmluZ2lmeShhc0pTT04sIG51bGwsIGFtb3VudE9mU3BhY2VzKX1gO1xufTtcbiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHN0cmluZ2lmeVxuZXhwb3J0cy5nZXRTZXJpYWxpemUgPSBzZXJpYWxpemVyXG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShvYmosIHJlcGxhY2VyLCBzcGFjZXMsIGN5Y2xlUmVwbGFjZXIpIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaiwgc2VyaWFsaXplcihyZXBsYWNlciwgY3ljbGVSZXBsYWNlciksIHNwYWNlcylcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplcihyZXBsYWNlciwgY3ljbGVSZXBsYWNlcikge1xuICB2YXIgc3RhY2sgPSBbXSwga2V5cyA9IFtdXG5cbiAgaWYgKGN5Y2xlUmVwbGFjZXIgPT0gbnVsbCkgY3ljbGVSZXBsYWNlciA9IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHtcbiAgICBpZiAoc3RhY2tbMF0gPT09IHZhbHVlKSByZXR1cm4gXCJbQ2lyY3VsYXIgfl1cIlxuICAgIHJldHVybiBcIltDaXJjdWxhciB+LlwiICsga2V5cy5zbGljZSgwLCBzdGFjay5pbmRleE9mKHZhbHVlKSkuam9pbihcIi5cIikgKyBcIl1cIlxuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKGtleSwgdmFsdWUpIHtcbiAgICBpZiAoc3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgdmFyIHRoaXNQb3MgPSBzdGFjay5pbmRleE9mKHRoaXMpXG4gICAgICB+dGhpc1BvcyA/IHN0YWNrLnNwbGljZSh0aGlzUG9zICsgMSkgOiBzdGFjay5wdXNoKHRoaXMpXG4gICAgICB+dGhpc1BvcyA/IGtleXMuc3BsaWNlKHRoaXNQb3MsIEluZmluaXR5LCBrZXkpIDoga2V5cy5wdXNoKGtleSlcbiAgICAgIGlmICh+c3RhY2suaW5kZXhPZih2YWx1ZSkpIHZhbHVlID0gY3ljbGVSZXBsYWNlci5jYWxsKHRoaXMsIGtleSwgdmFsdWUpXG4gICAgfVxuICAgIGVsc2Ugc3RhY2sucHVzaCh2YWx1ZSlcblxuICAgIHJldHVybiByZXBsYWNlciA9PSBudWxsID8gdmFsdWUgOiByZXBsYWNlci5jYWxsKHRoaXMsIGtleSwgdmFsdWUpXG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJicm93c2VyLWVudHJ5cG9pbnQuanMiLCJpbmRleC5qcyIsImxpYi9icm93c2VyLXNwZWNpZmljL2xvZy5qcyIsImxpYi9icm93c2VyLXNwZWNpZmljL21hcC1hcmcuanMiLCJsaWIvZ2V0LXN1cGVyY2xhc3Nlcy5qcyIsImxpYi9qc29uaWZ5LWVycm9yLmpzIiwibGliL292ZXJyaWRlLWNvbnNvbGUuanMiLCJsaWIvb3ZlcnJpZGUtZXJyb3ItbWV0aG9kcy5qcyIsImxpYi9zdHJpcC1jb2xvcnMtaWYtc3RyaW5nLmpzIiwibGliL3RvLXN0cmluZy5qcyIsIm5vZGVfbW9kdWxlcy9qc29uLXN0cmluZ2lmeS1zYWZlL3N0cmluZ2lmeS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBOztBQUNBLE9BQU8sWUFBUCxHQUFzQixRQUFRLFlBQVIsQ0FBdEI7OztBQ0RBOztBQUVBLElBQU0sZUFBZSxRQUFRLHFCQUFSLENBQXJCO0FBQ0EsSUFBTSxrQkFBa0IsUUFBUSx3QkFBUixDQUF4QjtBQUNBLElBQU0sdUJBQXVCLFFBQVEsOEJBQVIsQ0FBN0I7QUFDQSxJQUFNLE1BQU0sUUFBUSxXQUFSLENBQVo7QUFDQSxJQUFNLFdBQVcsUUFBUSxpQkFBUixDQUFqQjs7QUFFQSxPQUFPLE9BQVAsR0FBaUIsWUFBakI7QUFDQSxPQUFPLE9BQVAsQ0FBZSxlQUFmLEdBQWlDLGVBQWpDO0FBQ0EsT0FBTyxPQUFQLENBQWUsb0JBQWYsR0FBc0Msb0JBQXRDO0FBQ0EsT0FBTyxPQUFQLENBQWUsR0FBZixHQUFxQixHQUFyQjtBQUNBLE9BQU8sT0FBUCxDQUFlLFFBQWYsR0FBMEIsUUFBMUI7OztBQ1pBOztBQUVBLElBQU0sU0FBUyxRQUFRLGNBQVIsQ0FBZjs7QUFFQSxPQUFPLE9BQVAsR0FBaUIsU0FBUyxHQUFULENBQWEsS0FBYixFQUFvQjtBQUNqQztBQUNBLFlBQVEsS0FBUixDQUFj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Q1JBOztBQUVBLElBQU0sWUFBWSxRQUFRLHFCQUFSLENBQWxCO0FBQ0EsSUFBTSxlQUFlLFFBQVEsaUJBQVIsQ0FBckI7O0FBRUE7Ozs7Ozs7Ozs7O0FBV0EsT0FBTyxPQUFQLEdBQWlCLFNBQVMsUUFBVCxDQUFrQixLQUFsQixFQUE2QztBQUFBLE1BQXBCLGNBQW9CLHVFQUFILENBQUc7O0FBQzFELE1BQUksRUFBRSxpQkFBaUIsS0FBbkIsQ0FBSixFQUErQixNQUFNLElBQUksU0FBSixDQUFjLDBFQUFkLENBQU47QUFDL0IsTUFBTSxTQUFTLGFBQWEsS0FBYixDQUFmO0FBQ0EsU0FBVSxPQUFPLFNBQWpCLFVBQStCLE9BQU8sT0FBdEMsU0FBaUQsVUFBVSxNQUFWLEVBQWtCLElBQWxCLEVBQXdCLGNBQXhCLENBQWpEO0FBQ0gsQ0FKRDs7O0FDaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpIiwiXCJ1c2Ugc3RyaWN0XCI7XG53aW5kb3cuanNvbmlmeUVycm9yID0gcmVxdWlyZSgnLi9pbmRleC5qcycpOyIsIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBqc29uaWZ5RXJyb3IgPSByZXF1aXJlKFwiLi9saWIvanNvbmlmeS1lcnJvclwiKTtcbmNvbnN0IG92ZXJyaWRlQ29uc29sZSA9IHJlcXVpcmUoXCIuL2xpYi9vdmVycmlkZS1jb25zb2xlXCIpO1xuY29uc3Qgb3ZlcnJpZGVFcnJvck1ldGhvZHMgPSByZXF1aXJlKFwiLi9saWIvb3ZlcnJpZGUtZXJyb3ItbWV0aG9kc1wiKTtcbmNvbnN0IGxvZyA9IHJlcXVpcmUoXCIuL2xpYi9sb2dcIik7XG5jb25zdCB0b1N0cmluZyA9IHJlcXVpcmUoXCIuL2xpYi90by1zdHJpbmdcIik7XG5cbm1vZHVsZS5leHBvcnRzID0ganNvbmlmeUVycm9yO1xubW9kdWxlLmV4cG9ydHMub3ZlcnJpZGVDb25zb2xlID0gb3ZlcnJpZGVDb25zb2xlO1xubW9kdWxlLmV4cG9ydHMub3ZlcnJpZGVFcnJvck1ldGhvZHMgPSBvdmVycmlkZUVycm9yTWV0aG9kcztcbm1vZHVsZS5leHBvcnRzLmxvZyA9IGxvZztcbm1vZHVsZS5leHBvcnRzLmFzU3RyaW5nID0gdG9TdHJpbmc7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IG1hcEFyZyA9IHJlcXVpcmUoXCIuLy4uL21hcC1hcmdcIik7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbG9nKGVycm9yKSB7XG4gICAgLy8gSW4gYnJvd3NlcnMsIHdlIGRvIG5vdCBjb2xvcml6ZSB0aGUgZXJyb3Igd2l0aCBjaGFsay5cbiAgICBjb25zb2xlLmVycm9yKG1hcEFyZyhlcnJvcikpO1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QganNvbmlmeUVycm9yID0gcmVxdWlyZShcIi4vLi4vanNvbmlmeS1lcnJvclwiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBtYXBBcmcoYXJnKSB7XG4gICAgLy8gSW4gYnJvd3NlcnMsIHdlIGNvbnZlcnQgdGhlIGVycm9yIHRvIEpTT04gYnV0IG5vdCB0byBzdHJpbmcsIHNpbmNlIHRoZSBicm93c2VyJ3NcbiAgICAvLyBjb25zb2xlIGlzIGludGVyYWN0aXZlIGFuZCBhbGxvd3MgaW5zcGVjdGluZyB0aGUgcGxhaW4gb2JqZWN0IGVhc2lseS5cbiAgICByZXR1cm4gYXJnIGluc3RhbmNlb2YgRXJyb3IgPyBqc29uaWZ5RXJyb3IoYXJnKSA6IGFyZztcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZ2V0U3VwZXJjbGFzc2VzKG9iaikge1xuICAgIGNvbnN0IHN1cGVyY2xhc3NlcyA9IFtdO1xuICAgIGxldCB0ZW1wID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaik7XG4gICAgaWYgKHRlbXAgIT09IG51bGwpIHRlbXAgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGVtcCk7XG4gICAgd2hpbGUgKHRlbXAgIT09IG51bGwpIHtcbiAgICAgICAgc3VwZXJjbGFzc2VzLnB1c2godGVtcC5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgICAgICAgdGVtcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0ZW1wKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyY2xhc3Nlcztcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGdldFN1cGVyY2xhc3NlcyA9IHJlcXVpcmUoXCIuL2dldC1zdXBlcmNsYXNzZXNcIik7XG5cbmNvbnN0IHN0cmlwQ29sb3JzSWZTdHJpbmcgPSByZXF1aXJlKFwiLi9zdHJpcC1jb2xvcnMtaWYtc3RyaW5nXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGpzb25pZnlFcnJvcihlcnJvcikge1xuICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSByZXR1cm4gZXJyb3I7XG4gICAgY29uc3Qgd3JhcHBlZEVycm9yID0ge307XG4gICAgd3JhcHBlZEVycm9yLm5hbWUgPSBlcnJvci5uYW1lIHx8IFwiPG5vIG5hbWUgYXZhaWxhYmxlPlwiO1xuICAgIHdyYXBwZWRFcnJvci5jbGFzc05hbWUgPSBlcnJvci5jb25zdHJ1Y3Rvci5uYW1lIHx8IFwiPG5vIGNsYXNzIG5hbWUgYXZhaWxhYmxlPlwiO1xuICAgIHdyYXBwZWRFcnJvci5tZXNzYWdlID0gc3RyaXBDb2xvcnNJZlN0cmluZyhlcnJvci5tZXNzYWdlKSB8fCBcIjxubyBtZXNzYWdlIGF2YWlsYWJsZT5cIjtcbiAgICB3cmFwcGVkRXJyb3Iuc3VwZXJjbGFzc2VzID0gZ2V0U3VwZXJjbGFzc2VzKGVycm9yKTtcbiAgICB3cmFwcGVkRXJyb3IuZW51bWVyYWJsZUZpZWxkcyA9IHt9O1xuICAgIGZvciAoY29uc3QgeCBpbiBlcnJvcikge1xuICAgICAgICBpZiAodHlwZW9mIGVycm9yW3hdID09PSBcImZ1bmN0aW9uXCIpIGNvbnRpbnVlO1xuICAgICAgICB3cmFwcGVkRXJyb3IuZW51bWVyYWJsZUZpZWxkc1t4XSA9IHN0cmlwQ29sb3JzSWZTdHJpbmcoZXJyb3JbeF0pO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGVycm9yLnN0YWNrID09PSBcInN0cmluZ1wiICYmIGVycm9yLnN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICAgICAgd3JhcHBlZEVycm9yLnN0YWNrID0gZXJyb3Iuc3RhY2suc3BsaXQoJ1xcbicpLm1hcCh4ID0+IHgucmVwbGFjZSgvXlxccysvLCBcIlwiKSkuZmlsdGVyKHggPT4geCkubWFwKHN0cmlwQ29sb3JzSWZTdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHdyYXBwZWRFcnJvci5zdGFjayA9IHN0cmlwQ29sb3JzSWZTdHJpbmcoZXJyb3Iuc3RhY2spIHx8IFwiPG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZT5cIjtcbiAgICB9XG4gICAgcmV0dXJuIHdyYXBwZWRFcnJvcjtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IG1hcEFyZyA9IHJlcXVpcmUoXCIuL21hcC1hcmdcIik7XG5cbmNvbnN0IG1ldGhvZE5hbWVzID0gW1wibG9nXCIsIFwiZGVidWdcIiwgXCJpbmZvXCIsIFwid2FyblwiLCBcImVycm9yXCJdO1xuXG5sZXQgYWxyZWFkeU92ZXJyaWRkZW4gPSBmYWxzZTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBvdmVycmlkZUNvbnNvbGUoKSB7XG4gICAgaWYgKGFscmVhZHlPdmVycmlkZGVuKSByZXR1cm47XG4gICAgYWxyZWFkeU92ZXJyaWRkZW4gPSB0cnVlO1xuXG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2RzID0ge307XG5cbiAgICBmb3IgKGNvbnN0IG1ldGhvZE5hbWUgb2YgbWV0aG9kTmFtZXMpIHtcbiAgICAgICAgaWYgKCFjb25zb2xlW21ldGhvZE5hbWVdKSBjb250aW51ZTtcbiAgICAgICAgb3JpZ2luYWxNZXRob2RzW21ldGhvZE5hbWVdID0gY29uc29sZVttZXRob2ROYW1lXS5iaW5kKGNvbnNvbGUpO1xuICAgICAgICBjb25zb2xlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgICAgICAgb3JpZ2luYWxNZXRob2RzW21ldGhvZE5hbWVdKC4uLmFyZ3MubWFwKG1hcEFyZykpO1xuICAgICAgICB9O1xuICAgIH1cbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGpzb25pZnlFcnJvciA9IHJlcXVpcmUoXCIuL2pzb25pZnktZXJyb3JcIik7XG5jb25zdCB0b1N0cmluZyA9IHJlcXVpcmUoXCIuL3RvLXN0cmluZ1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoaXMgRXJyb3IgaW5zdGFuY2UgdG8gYSBKU09OIHJlcHJlc2VudGF0aW9uLlxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge29iamVjdH1cbiAgICAgKi9cbiAgICBFcnJvci5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBqc29uaWZ5RXJyb3IodGhpcyk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoaXMgRXJyb3IgaW5zdGFuY2UgdG8gdGhlIGZ1bGwgc3RyaW5naWZpY2F0aW9uXG4gICAgICogb2YgaXRzIEpTT04gcmVwcmVzZW50YXRpb24uXG4gICAgICogXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthbW91bnRPZlNwYWNlcz00XSBUaGUgYW1vdW50IG9mIHNwYWNlcyB0byB1c2VcbiAgICAgKiBmb3IgaW5kZW50YXRpb24gaW4gdGhlIG91dHB1dCBzdHJpbmcuXG4gICAgICogXG4gICAgICogQHJldHVybiB7c3RyaW5nfVxuICAgICAqL1xuICAgIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKGFtb3VudE9mU3BhY2VzID0gNCkge1xuICAgICAgICByZXR1cm4gdG9TdHJpbmcodGhpcywgYW1vdW50T2ZTcGFjZXMpO1xuICAgIH07XG5cbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5mdW5jdGlvbiBzdHJpcENvbG9yc0lmU3RyaW5nKGFyZykge1xyXG4gICAgaWYgKHR5cGVvZiBhcmcgIT09XCJzdHJpbmdcIikgcmV0dXJuIGFyZztcclxuICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb250cm9sLXJlZ2V4ICovXHJcbiAgICByZXR1cm4gYXJnLnJlcGxhY2UoL1xcdTAwMWJcXFtcXGR7MSwyfW0vZywgXCJcIikucmVwbGFjZSgvXFxcXHUwMDFiXFxbXFxkezEsMn1tL2csIFwiXCIpO1xyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IHN0cmlwQ29sb3JzSWZTdHJpbmc7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IHN0cmluZ2lmeSA9IHJlcXVpcmUoXCJqc29uLXN0cmluZ2lmeS1zYWZlXCIpO1xuY29uc3QganNvbmlmeUVycm9yID0gcmVxdWlyZShcIi4vanNvbmlmeS1lcnJvclwiKTtcblxuLyoqXG4gKiBDb252ZXJ0cyB0aGUgZ2l2ZW4gZXJyb3IgdG8gYSBiaWcgc3RyaW5nIHJlcHJlc2VudGF0aW9uLCBjb250YWluaW5nXG4gKiB0aGUgd2hvbGUgZGF0YSBmcm9tIGl0cyBKU09OIHJlcHJlc2VudGF0aW9uLlxuICogXG4gKiBAcGFyYW0ge2Vycm9yfSBlcnJvciBUaGUgZXJyb3IgdG8gYmUgY29udmVydGVkLlxuICogQHBhcmFtIHtudW1iZXJ9IFthbW91bnRPZlNwYWNlcz00XSBUaGUgYW1vdW50IG9mIHNwYWNlcyB0byB1c2VcbiAqIGZvciBpbmRlbnRhdGlvbiBpbiB0aGUgb3V0cHV0IHN0cmluZy5cbiAqIFxuICogQHJldHVybiB7c3RyaW5nfVxuICogQHRocm93cyB7VHlwZUVycm9yfSBJZiB0aGUgZ2l2ZW4gZXJyb3IgaXMgbm90IGFuIGluc3RhbmNlIG9mIEVycm9yXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gdG9TdHJpbmcoZXJyb3IsIGFtb3VudE9mU3BhY2VzID0gNCkge1xuICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwianNvbmlmeUVycm9yLnRvU3RyaW5nKCkgZXJyb3I6IEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgaW5zdGFuY2Ugb2YgRXJyb3IuXCIpO1xuICAgIGNvbnN0IGFzSlNPTiA9IGpzb25pZnlFcnJvcihlcnJvcik7XG4gICAgcmV0dXJuIGAke2FzSlNPTi5jbGFzc05hbWV9OiAke2FzSlNPTi5tZXNzYWdlfSAke3N0cmluZ2lmeShhc0pTT04sIG51bGwsIGFtb3VudE9mU3BhY2VzKX1gO1xufTtcbiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHN0cmluZ2lmeVxuZXhwb3J0cy5nZXRTZXJpYWxpemUgPSBzZXJpYWxpemVyXG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShvYmosIHJlcGxhY2VyLCBzcGFjZXMsIGN5Y2xlUmVwbGFjZXIpIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaiwgc2VyaWFsaXplcihyZXBsYWNlciwgY3ljbGVSZXBsYWNlciksIHNwYWNlcylcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplcihyZXBsYWNlciwgY3ljbGVSZXBsYWNlcikge1xuICB2YXIgc3RhY2sgPSBbXSwga2V5cyA9IFtdXG5cbiAgaWYgKGN5Y2xlUmVwbGFjZXIgPT0gbnVsbCkgY3ljbGVSZXBsYWNlciA9IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHtcbiAgICBpZiAoc3RhY2tbMF0gPT09IHZhbHVlKSByZXR1cm4gXCJbQ2lyY3VsYXIgfl1cIlxuICAgIHJldHVybiBcIltDaXJjdWxhciB+LlwiICsga2V5cy5zbGljZSgwLCBzdGFjay5pbmRleE9mKHZhbHVlKSkuam9pbihcIi5cIikgKyBcIl1cIlxuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKGtleSwgdmFsdWUpIHtcbiAgICBpZiAoc3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgdmFyIHRoaXNQb3MgPSBzdGFjay5pbmRleE9mKHRoaXMpXG4gICAgICB+dGhpc1BvcyA/IHN0YWNrLnNwbGljZSh0aGlzUG9zICsgMSkgOiBzdGFjay5wdXNoKHRoaXMpXG4gICAgICB+dGhpc1BvcyA/IGtleXMuc3BsaWNlKHRoaXNQb3MsIEluZmluaXR5LCBrZXkpIDoga2V5cy5wdXNoKGtleSlcbiAgICAgIGlmICh+c3RhY2suaW5kZXhPZih2YWx1ZSkpIHZhbHVlID0gY3ljbGVSZXBsYWNlci5jYWxsKHRoaXMsIGtleSwgdmFsdWUpXG4gICAgfVxuICAgIGVsc2Ugc3RhY2sucHVzaCh2YWx1ZSlcblxuICAgIHJldHVybiByZXBsYWNlciA9PSBudWxsID8gdmFsdWUgOiByZXBsYWNlci5jYWxsKHRoaXMsIGtleSwgdmFsdWUpXG4gIH1cbn1cbiJdfQ==

@@ -1,1 +0,1 @@

!function(){return function r(e,n,t){function o(s,a){if(!n[s]){if(!e[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[s]={exports:{}};e[s][0].call(f.exports,function(r){return o(e[s][1][r]||r)},f,f.exports,r,e,n,t)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s<t.length;s++)o(t[s]);return o}}()({1:[function(r,e,n){"use strict";window.jsonifyError=r("./index.js")},{"./index.js":2}],2:[function(r,e,n){"use strict";var t=r("./lib/jsonify-error"),o=r("./lib/override-console"),i=r("./lib/override-error-methods"),s=r("./lib/log"),a=r("./lib/to-string");e.exports=t,e.exports.overrideConsole=o,e.exports.overrideErrorMethods=i,e.exports.log=s,e.exports.asString=a},{"./lib/jsonify-error":6,"./lib/log":3,"./lib/override-console":7,"./lib/override-error-methods":8,"./lib/to-string":9}],3:[function(r,e,n){"use strict";var t=r("./../map-arg");e.exports=function(r){console.error(t(r))}},{"./../map-arg":4}],4:[function(r,e,n){"use strict";var t=r("./../jsonify-error");e.exports=function(r){return r instanceof Error?t(r):r}},{"./../jsonify-error":6}],5:[function(r,e,n){"use strict";e.exports=function(r){var e=[],n=Object.getPrototypeOf(r);for(null!==n&&(n=Object.getPrototypeOf(n));null!==n;)e.push(n.constructor.name),n=Object.getPrototypeOf(n);return e}},{}],6:[function(r,e,n){"use strict";var t=r("./get-superclasses");e.exports=function(r){if(!(r instanceof Error))return r;var e={};for(var n in e.name=r.name||"<no name available>",e.className=r.constructor.name||"<no class name available>",e.message=r.message||"<no message available>",e.superclasses=t(r),e.enumerableFields={},r)"function"!=typeof r[n]&&(e.enumerableFields[n]=r[n]);return"string"==typeof r.stack&&r.stack.length>0?e.stack=r.stack.split("\n").map(function(r){return r.replace(/^\s+/,"")}).filter(function(r){return r}):e.stack=r.stack||"<no stack trace available>",e}},{"./get-superclasses":5}],7:[function(r,e,n){"use strict";var t=r("./map-arg"),o=["log","debug","info","warn","error"],i=!1;e.exports=function(){if(!i){i=!0;var r={},e=function(e){if(!console[e])return"continue";r[e]=console[e].bind(console),console[e]=function(){for(var n=arguments.length,o=Array(n),i=0;i<n;i++)o[i]=arguments[i];r[e].apply(r,function(r){if(Array.isArray(r)){for(var e=0,n=Array(r.length);e<r.length;e++)n[e]=r[e];return n}return Array.from(r)}(o.map(t)))}},n=!0,s=!1,a=void 0;try{for(var u,c=o[Symbol.iterator]();!(n=(u=c.next()).done);n=!0)e(u.value)}catch(r){s=!0,a=r}finally{try{!n&&c.return&&c.return()}finally{if(s)throw a}}}}},{"./map-arg":4}],8:[function(r,e,n){"use strict";var t=r("./jsonify-error"),o=r("./to-string");e.exports=function(){Error.prototype.toJSON=function(){return t(this)},Error.prototype.toString=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4;return o(this,r)}}},{"./jsonify-error":6,"./to-string":9}],9:[function(r,e,n){"use strict";var t=r("json-stringify-safe"),o=r("./jsonify-error");e.exports=function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!(r instanceof Error))throw new TypeError("jsonifyError.toString() error: First argument must be instance of Error.");var n=o(r);return n.className+": "+n.message+" "+t(n,null,e)}},{"./jsonify-error":6,"json-stringify-safe":10}],10:[function(r,e,n){function t(r,e){var n=[],t=[];return null==e&&(e=function(r,e){return n[0]===e?"[Circular ~]":"[Circular ~."+t.slice(0,n.indexOf(e)).join(".")+"]"}),function(o,i){if(n.length>0){var s=n.indexOf(this);~s?n.splice(s+1):n.push(this),~s?t.splice(s,1/0,o):t.push(o),~n.indexOf(i)&&(i=e.call(this,o,i))}else n.push(i);return null==r?i:r.call(this,o,i)}}(e.exports=function(r,e,n,o){return JSON.stringify(r,t(e,o),n)}).getSerialize=t},{}]},{},[1]);
!function(){return function r(e,t,n){function o(s,a){if(!t[s]){if(!e[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var f=t[s]={exports:{}};e[s][0].call(f.exports,function(r){return o(e[s][1][r]||r)},f,f.exports,r,e,t,n)}return t[s].exports}for(var i="function"==typeof require&&require,s=0;s<n.length;s++)o(n[s]);return o}}()({1:[function(r,e,t){"use strict";window.jsonifyError=r("./index.js")},{"./index.js":2}],2:[function(r,e,t){"use strict";var n=r("./lib/jsonify-error"),o=r("./lib/override-console"),i=r("./lib/override-error-methods"),s=r("./lib/log"),a=r("./lib/to-string");e.exports=n,e.exports.overrideConsole=o,e.exports.overrideErrorMethods=i,e.exports.log=s,e.exports.asString=a},{"./lib/jsonify-error":6,"./lib/log":3,"./lib/override-console":7,"./lib/override-error-methods":8,"./lib/to-string":10}],3:[function(r,e,t){"use strict";var n=r("./../map-arg");e.exports=function(r){console.error(n(r))}},{"./../map-arg":4}],4:[function(r,e,t){"use strict";var n=r("./../jsonify-error");e.exports=function(r){return r instanceof Error?n(r):r}},{"./../jsonify-error":6}],5:[function(r,e,t){"use strict";e.exports=function(r){var e=[],t=Object.getPrototypeOf(r);for(null!==t&&(t=Object.getPrototypeOf(t));null!==t;)e.push(t.constructor.name),t=Object.getPrototypeOf(t);return e}},{}],6:[function(r,e,t){"use strict";var n=r("./get-superclasses"),o=r("./strip-colors-if-string");e.exports=function(r){if(!(r instanceof Error))return r;var e={};for(var t in e.name=r.name||"<no name available>",e.className=r.constructor.name||"<no class name available>",e.message=o(r.message)||"<no message available>",e.superclasses=n(r),e.enumerableFields={},r)"function"!=typeof r[t]&&(e.enumerableFields[t]=o(r[t]));return"string"==typeof r.stack&&r.stack.length>0?e.stack=r.stack.split("\n").map(function(r){return r.replace(/^\s+/,"")}).filter(function(r){return r}).map(o):e.stack=o(r.stack)||"<no stack trace available>",e}},{"./get-superclasses":5,"./strip-colors-if-string":9}],7:[function(r,e,t){"use strict";var n=r("./map-arg"),o=["log","debug","info","warn","error"],i=!1;e.exports=function(){if(!i){i=!0;var r={},e=function(e){if(!console[e])return"continue";r[e]=console[e].bind(console),console[e]=function(){for(var t=arguments.length,o=Array(t),i=0;i<t;i++)o[i]=arguments[i];r[e].apply(r,function(r){if(Array.isArray(r)){for(var e=0,t=Array(r.length);e<r.length;e++)t[e]=r[e];return t}return Array.from(r)}(o.map(n)))}},t=!0,s=!1,a=void 0;try{for(var u,c=o[Symbol.iterator]();!(t=(u=c.next()).done);t=!0)e(u.value)}catch(r){s=!0,a=r}finally{try{!t&&c.return&&c.return()}finally{if(s)throw a}}}}},{"./map-arg":4}],8:[function(r,e,t){"use strict";var n=r("./jsonify-error"),o=r("./to-string");e.exports=function(){Error.prototype.toJSON=function(){return n(this)},Error.prototype.toString=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4;return o(this,r)}}},{"./jsonify-error":6,"./to-string":10}],9:[function(r,e,t){"use strict";e.exports=function(r){return"string"!=typeof r?r:r.replace(/\u001b\[\d{1,2}m/g,"").replace(/\\u001b\[\d{1,2}m/g,"")}},{}],10:[function(r,e,t){"use strict";var n=r("json-stringify-safe"),o=r("./jsonify-error");e.exports=function(r){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!(r instanceof Error))throw new TypeError("jsonifyError.toString() error: First argument must be instance of Error.");var t=o(r);return t.className+": "+t.message+" "+n(t,null,e)}},{"./jsonify-error":6,"json-stringify-safe":11}],11:[function(r,e,t){function n(r,e){var t=[],n=[];return null==e&&(e=function(r,e){return t[0]===e?"[Circular ~]":"[Circular ~."+n.slice(0,t.indexOf(e)).join(".")+"]"}),function(o,i){if(t.length>0){var s=t.indexOf(this);~s?t.splice(s+1):t.push(this),~s?n.splice(s,1/0,o):n.push(o),~t.indexOf(i)&&(i=e.call(this,o,i))}else t.push(i);return null==r?i:r.call(this,o,i)}}(e.exports=function(r,e,t,o){return JSON.stringify(r,n(e,o),t)}).getSerialize=n},{}]},{},[1]);

@@ -18,3 +18,3 @@ (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){

module.exports.asString = toString;
},{"./lib/jsonify-error":6,"./lib/log":3,"./lib/override-console":7,"./lib/override-error-methods":8,"./lib/to-string":9}],3:[function(require,module,exports){
},{"./lib/jsonify-error":6,"./lib/log":3,"./lib/override-console":7,"./lib/override-error-methods":8,"./lib/to-string":10}],3:[function(require,module,exports){
"use strict";

@@ -56,2 +56,4 @@

const stripColorsIfString = require("./strip-colors-if-string");
module.exports = function jsonifyError(error) {

@@ -62,3 +64,3 @@ if (!(error instanceof Error)) return error;

wrappedError.className = error.constructor.name || "<no class name available>";
wrappedError.message = error.message || "<no message available>";
wrappedError.message = stripColorsIfString(error.message) || "<no message available>";
wrappedError.superclasses = getSuperclasses(error);

@@ -68,12 +70,12 @@ wrappedError.enumerableFields = {};

if (typeof error[x] === "function") continue;
wrappedError.enumerableFields[x] = error[x];
wrappedError.enumerableFields[x] = stripColorsIfString(error[x]);
}
if (typeof error.stack === "string" && error.stack.length > 0) {
wrappedError.stack = error.stack.split('\n').map(x => x.replace(/^\s+/, "")).filter(x => x);
wrappedError.stack = error.stack.split('\n').map(x => x.replace(/^\s+/, "")).filter(x => x).map(stripColorsIfString);
} else {
wrappedError.stack = error.stack || "<no stack trace available>";
wrappedError.stack = stripColorsIfString(error.stack) || "<no stack trace available>";
}
return wrappedError;
};
},{"./get-superclasses":5}],7:[function(require,module,exports){
},{"./get-superclasses":5,"./strip-colors-if-string":9}],7:[function(require,module,exports){
"use strict";

@@ -132,5 +134,15 @@

};
},{"./jsonify-error":6,"./to-string":9}],9:[function(require,module,exports){
},{"./jsonify-error":6,"./to-string":10}],9:[function(require,module,exports){
"use strict";
function stripColorsIfString(arg) {
if (typeof arg !=="string") return arg;
/* eslint-disable-next-line no-control-regex */
return arg.replace(/\u001b\[\d{1,2}m/g, "").replace(/\\u001b\[\d{1,2}m/g, "");
}
module.exports = stripColorsIfString;
},{}],10:[function(require,module,exports){
"use strict";
const stringify = require("json-stringify-safe");

@@ -156,3 +168,3 @@ const jsonifyError = require("./jsonify-error");

},{"./jsonify-error":6,"json-stringify-safe":10}],10:[function(require,module,exports){
},{"./jsonify-error":6,"json-stringify-safe":11}],11:[function(require,module,exports){
exports = module.exports = stringify

@@ -187,2 +199,2 @@ exports.getSerialize = serializer

},{}]},{},[1])
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJicm93c2VyLWVudHJ5cG9pbnQuanMiLCJpbmRleC5qcyIsImxpYi9icm93c2VyLXNwZWNpZmljL2xvZy5qcyIsImxpYi9icm93c2VyLXNwZWNpZmljL21hcC1hcmcuanMiLCJsaWIvZ2V0LXN1cGVyY2xhc3Nlcy5qcyIsImxpYi9qc29uaWZ5LWVycm9yLmpzIiwibGliL292ZXJyaWRlLWNvbnNvbGUuanMiLCJsaWIvb3ZlcnJpZGUtZXJyb3ItbWV0aG9kcy5qcyIsImxpYi90by1zdHJpbmcuanMiLCJub2RlX21vZHVsZXMvanNvbi1zdHJpbmdpZnktc2FmZS9zdHJpbmdpZnkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBOztBQ0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3RCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSxuLHQpe2Z1bmN0aW9uIG8oaSxmKXtpZighbltpXSl7aWYoIWVbaV0pe3ZhciBjPVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWYmJmMpcmV0dXJuIGMoaSwhMCk7aWYodSlyZXR1cm4gdShpLCEwKTt2YXIgYT1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK2krXCInXCIpO3Rocm93IGEuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixhfXZhciBwPW5baV09e2V4cG9ydHM6e319O2VbaV1bMF0uY2FsbChwLmV4cG9ydHMsZnVuY3Rpb24ocil7dmFyIG49ZVtpXVsxXVtyXTtyZXR1cm4gbyhufHxyKX0scCxwLmV4cG9ydHMscixlLG4sdCl9cmV0dXJuIG5baV0uZXhwb3J0c31mb3IodmFyIHU9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxpPTA7aTx0Lmxlbmd0aDtpKyspbyh0W2ldKTtyZXR1cm4gb31yZXR1cm4gcn0pKCkiLCJcInVzZSBzdHJpY3RcIjtcbndpbmRvdy5qc29uaWZ5RXJyb3IgPSByZXF1aXJlKCcuL2luZGV4LmpzJyk7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGpzb25pZnlFcnJvciA9IHJlcXVpcmUoXCIuL2xpYi9qc29uaWZ5LWVycm9yXCIpO1xuY29uc3Qgb3ZlcnJpZGVDb25zb2xlID0gcmVxdWlyZShcIi4vbGliL292ZXJyaWRlLWNvbnNvbGVcIik7XG5jb25zdCBvdmVycmlkZUVycm9yTWV0aG9kcyA9IHJlcXVpcmUoXCIuL2xpYi9vdmVycmlkZS1lcnJvci1tZXRob2RzXCIpO1xuY29uc3QgbG9nID0gcmVxdWlyZShcIi4vbGliL2xvZ1wiKTtcbmNvbnN0IHRvU3RyaW5nID0gcmVxdWlyZShcIi4vbGliL3RvLXN0cmluZ1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBqc29uaWZ5RXJyb3I7XG5tb2R1bGUuZXhwb3J0cy5vdmVycmlkZUNvbnNvbGUgPSBvdmVycmlkZUNvbnNvbGU7XG5tb2R1bGUuZXhwb3J0cy5vdmVycmlkZUVycm9yTWV0aG9kcyA9IG92ZXJyaWRlRXJyb3JNZXRob2RzO1xubW9kdWxlLmV4cG9ydHMubG9nID0gbG9nO1xubW9kdWxlLmV4cG9ydHMuYXNTdHJpbmcgPSB0b1N0cmluZzsiLCJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgbWFwQXJnID0gcmVxdWlyZShcIi4vLi4vbWFwLWFyZ1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBsb2coZXJyb3IpIHtcbiAgICAvLyBJbiBicm93c2Vycywgd2UgZG8gbm90IGNvbG9yaXplIHRoZSBlcnJvciB3aXRoIGNoYWxrLlxuICAgIGNvbnNvbGUuZXJyb3IobWFwQXJnKGVycm9yKSk7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBqc29uaWZ5RXJyb3IgPSByZXF1aXJlKFwiLi8uLi9qc29uaWZ5LWVycm9yXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIG1hcEFyZyhhcmcpIHtcbiAgICAvLyBJbiBicm93c2Vycywgd2UgY29udmVydCB0aGUgZXJyb3IgdG8gSlNPTiBidXQgbm90IHRvIHN0cmluZywgc2luY2UgdGhlIGJyb3dzZXInc1xuICAgIC8vIGNvbnNvbGUgaXMgaW50ZXJhY3RpdmUgYW5kIGFsbG93cyBpbnNwZWN0aW5nIHRoZSBwbGFpbiBvYmplY3QgZWFzaWx5LlxuICAgIHJldHVybiBhcmcgaW5zdGFuY2VvZiBFcnJvciA/IGpzb25pZnlFcnJvcihhcmcpIDogYXJnO1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZXRTdXBlcmNsYXNzZXMob2JqKSB7XG4gICAgY29uc3Qgc3VwZXJjbGFzc2VzID0gW107XG4gICAgbGV0IHRlbXAgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTtcbiAgICBpZiAodGVtcCAhPT0gbnVsbCkgdGVtcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0ZW1wKTtcbiAgICB3aGlsZSAodGVtcCAhPT0gbnVsbCkge1xuICAgICAgICBzdXBlcmNsYXNzZXMucHVzaCh0ZW1wLmNvbnN0cnVjdG9yLm5hbWUpO1xuICAgICAgICB0ZW1wID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRlbXApO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXJjbGFzc2VzO1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgZ2V0U3VwZXJjbGFzc2VzID0gcmVxdWlyZShcIi4vZ2V0LXN1cGVyY2xhc3Nlc1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBqc29uaWZ5RXJyb3IoZXJyb3IpIHtcbiAgICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkgcmV0dXJuIGVycm9yO1xuICAgIGNvbnN0IHdyYXBwZWRFcnJvciA9IHt9O1xuICAgIHdyYXBwZWRFcnJvci5uYW1lID0gZXJyb3IubmFtZSB8fCBcIjxubyBuYW1lIGF2YWlsYWJsZT5cIjtcbiAgICB3cmFwcGVkRXJyb3IuY2xhc3NOYW1lID0gZXJyb3IuY29uc3RydWN0b3IubmFtZSB8fCBcIjxubyBjbGFzcyBuYW1lIGF2YWlsYWJsZT5cIjtcbiAgICB3cmFwcGVkRXJyb3IubWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UgfHwgXCI8bm8gbWVzc2FnZSBhdmFpbGFibGU+XCI7XG4gICAgd3JhcHBlZEVycm9yLnN1cGVyY2xhc3NlcyA9IGdldFN1cGVyY2xhc3NlcyhlcnJvcik7XG4gICAgd3JhcHBlZEVycm9yLmVudW1lcmFibGVGaWVsZHMgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHggaW4gZXJyb3IpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBlcnJvclt4XSA9PT0gXCJmdW5jdGlvblwiKSBjb250aW51ZTtcbiAgICAgICAgd3JhcHBlZEVycm9yLmVudW1lcmFibGVGaWVsZHNbeF0gPSBlcnJvclt4XTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlcnJvci5zdGFjayA9PT0gXCJzdHJpbmdcIiAmJiBlcnJvci5zdGFjay5sZW5ndGggPiAwKSB7XG4gICAgICAgIHdyYXBwZWRFcnJvci5zdGFjayA9IGVycm9yLnN0YWNrLnNwbGl0KCdcXG4nKS5tYXAoeCA9PiB4LnJlcGxhY2UoL15cXHMrLywgXCJcIikpLmZpbHRlcih4ID0+IHgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHdyYXBwZWRFcnJvci5zdGFjayA9IGVycm9yLnN0YWNrIHx8IFwiPG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZT5cIjtcbiAgICB9XG4gICAgcmV0dXJuIHdyYXBwZWRFcnJvcjtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IG1hcEFyZyA9IHJlcXVpcmUoXCIuL21hcC1hcmdcIik7XG5cbmNvbnN0IG1ldGhvZE5hbWVzID0gW1wibG9nXCIsIFwiZGVidWdcIiwgXCJpbmZvXCIsIFwid2FyblwiLCBcImVycm9yXCJdO1xuXG5sZXQgYWxyZWFkeU92ZXJyaWRkZW4gPSBmYWxzZTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBvdmVycmlkZUNvbnNvbGUoKSB7XG4gICAgaWYgKGFscmVhZHlPdmVycmlkZGVuKSByZXR1cm47XG4gICAgYWxyZWFkeU92ZXJyaWRkZW4gPSB0cnVlO1xuXG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2RzID0ge307XG5cbiAgICBmb3IgKGNvbnN0IG1ldGhvZE5hbWUgb2YgbWV0aG9kTmFtZXMpIHtcbiAgICAgICAgaWYgKCFjb25zb2xlW21ldGhvZE5hbWVdKSBjb250aW51ZTtcbiAgICAgICAgb3JpZ2luYWxNZXRob2RzW21ldGhvZE5hbWVdID0gY29uc29sZVttZXRob2ROYW1lXS5iaW5kKGNvbnNvbGUpO1xuICAgICAgICBjb25zb2xlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgICAgICAgb3JpZ2luYWxNZXRob2RzW21ldGhvZE5hbWVdKC4uLmFyZ3MubWFwKG1hcEFyZykpO1xuICAgICAgICB9O1xuICAgIH1cbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGpzb25pZnlFcnJvciA9IHJlcXVpcmUoXCIuL2pzb25pZnktZXJyb3JcIik7XG5jb25zdCB0b1N0cmluZyA9IHJlcXVpcmUoXCIuL3RvLXN0cmluZ1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoaXMgRXJyb3IgaW5zdGFuY2UgdG8gYSBKU09OIHJlcHJlc2VudGF0aW9uLlxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge29iamVjdH1cbiAgICAgKi9cbiAgICBFcnJvci5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBqc29uaWZ5RXJyb3IodGhpcyk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoaXMgRXJyb3IgaW5zdGFuY2UgdG8gdGhlIGZ1bGwgc3RyaW5naWZpY2F0aW9uXG4gICAgICogb2YgaXRzIEpTT04gcmVwcmVzZW50YXRpb24uXG4gICAgICogXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthbW91bnRPZlNwYWNlcz00XSBUaGUgYW1vdW50IG9mIHNwYWNlcyB0byB1c2VcbiAgICAgKiBmb3IgaW5kZW50YXRpb24gaW4gdGhlIG91dHB1dCBzdHJpbmcuXG4gICAgICogXG4gICAgICogQHJldHVybiB7c3RyaW5nfVxuICAgICAqL1xuICAgIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKGFtb3VudE9mU3BhY2VzID0gNCkge1xuICAgICAgICByZXR1cm4gdG9TdHJpbmcodGhpcywgYW1vdW50T2ZTcGFjZXMpO1xuICAgIH07XG5cbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IHN0cmluZ2lmeSA9IHJlcXVpcmUoXCJqc29uLXN0cmluZ2lmeS1zYWZlXCIpO1xuY29uc3QganNvbmlmeUVycm9yID0gcmVxdWlyZShcIi4vanNvbmlmeS1lcnJvclwiKTtcblxuLyoqXG4gKiBDb252ZXJ0cyB0aGUgZ2l2ZW4gZXJyb3IgdG8gYSBiaWcgc3RyaW5nIHJlcHJlc2VudGF0aW9uLCBjb250YWluaW5nXG4gKiB0aGUgd2hvbGUgZGF0YSBmcm9tIGl0cyBKU09OIHJlcHJlc2VudGF0aW9uLlxuICogXG4gKiBAcGFyYW0ge2Vycm9yfSBlcnJvciBUaGUgZXJyb3IgdG8gYmUgY29udmVydGVkLlxuICogQHBhcmFtIHtudW1iZXJ9IFthbW91bnRPZlNwYWNlcz00XSBUaGUgYW1vdW50IG9mIHNwYWNlcyB0byB1c2VcbiAqIGZvciBpbmRlbnRhdGlvbiBpbiB0aGUgb3V0cHV0IHN0cmluZy5cbiAqIFxuICogQHJldHVybiB7c3RyaW5nfVxuICogQHRocm93cyB7VHlwZUVycm9yfSBJZiB0aGUgZ2l2ZW4gZXJyb3IgaXMgbm90IGFuIGluc3RhbmNlIG9mIEVycm9yXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gdG9TdHJpbmcoZXJyb3IsIGFtb3VudE9mU3BhY2VzID0gNCkge1xuICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwianNvbmlmeUVycm9yLnRvU3RyaW5nKCkgZXJyb3I6IEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgaW5zdGFuY2Ugb2YgRXJyb3IuXCIpO1xuICAgIGNvbnN0IGFzSlNPTiA9IGpzb25pZnlFcnJvcihlcnJvcik7XG4gICAgcmV0dXJuIGAke2FzSlNPTi5jbGFzc05hbWV9OiAke2FzSlNPTi5tZXNzYWdlfSAke3N0cmluZ2lmeShhc0pTT04sIG51bGwsIGFtb3VudE9mU3BhY2VzKX1gO1xufTtcbiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHN0cmluZ2lmeVxuZXhwb3J0cy5nZXRTZXJpYWxpemUgPSBzZXJpYWxpemVyXG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShvYmosIHJlcGxhY2VyLCBzcGFjZXMsIGN5Y2xlUmVwbGFjZXIpIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaiwgc2VyaWFsaXplcihyZXBsYWNlciwgY3ljbGVSZXBsYWNlciksIHNwYWNlcylcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplcihyZXBsYWNlciwgY3ljbGVSZXBsYWNlcikge1xuICB2YXIgc3RhY2sgPSBbXSwga2V5cyA9IFtdXG5cbiAgaWYgKGN5Y2xlUmVwbGFjZXIgPT0gbnVsbCkgY3ljbGVSZXBsYWNlciA9IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHtcbiAgICBpZiAoc3RhY2tbMF0gPT09IHZhbHVlKSByZXR1cm4gXCJbQ2lyY3VsYXIgfl1cIlxuICAgIHJldHVybiBcIltDaXJjdWxhciB+LlwiICsga2V5cy5zbGljZSgwLCBzdGFjay5pbmRleE9mKHZhbHVlKSkuam9pbihcIi5cIikgKyBcIl1cIlxuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKGtleSwgdmFsdWUpIHtcbiAgICBpZiAoc3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgdmFyIHRoaXNQb3MgPSBzdGFjay5pbmRleE9mKHRoaXMpXG4gICAgICB+dGhpc1BvcyA/IHN0YWNrLnNwbGljZSh0aGlzUG9zICsgMSkgOiBzdGFjay5wdXNoKHRoaXMpXG4gICAgICB+dGhpc1BvcyA/IGtleXMuc3BsaWNlKHRoaXNQb3MsIEluZmluaXR5LCBrZXkpIDoga2V5cy5wdXNoKGtleSlcbiAgICAgIGlmICh+c3RhY2suaW5kZXhPZih2YWx1ZSkpIHZhbHVlID0gY3ljbGVSZXBsYWNlci5jYWxsKHRoaXMsIGtleSwgdmFsdWUpXG4gICAgfVxuICAgIGVsc2Ugc3RhY2sucHVzaCh2YWx1ZSlcblxuICAgIHJldHVybiByZXBsYWNlciA9PSBudWxsID8gdmFsdWUgOiByZXBsYWNlci5jYWxsKHRoaXMsIGtleSwgdmFsdWUpXG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJicm93c2VyLWVudHJ5cG9pbnQuanMiLCJpbmRleC5qcyIsImxpYi9icm93c2VyLXNwZWNpZmljL2xvZy5qcyIsImxpYi9icm93c2VyLXNwZWNpZmljL21hcC1hcmcuanMiLCJsaWIvZ2V0LXN1cGVyY2xhc3Nlcy5qcyIsImxpYi9qc29uaWZ5LWVycm9yLmpzIiwibGliL292ZXJyaWRlLWNvbnNvbGUuanMiLCJsaWIvb3ZlcnJpZGUtZXJyb3ItbWV0aG9kcy5qcyIsImxpYi9zdHJpcC1jb2xvcnMtaWYtc3RyaW5nLmpzIiwibGliL3RvLXN0cmluZy5qcyIsIm5vZGVfbW9kdWxlcy9qc29uLXN0cmluZ2lmeS1zYWZlL3N0cmluZ2lmeS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBO0FBQ0E7O0FDREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3hCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpIiwiXCJ1c2Ugc3RyaWN0XCI7XG53aW5kb3cuanNvbmlmeUVycm9yID0gcmVxdWlyZSgnLi9pbmRleC5qcycpOyIsIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBqc29uaWZ5RXJyb3IgPSByZXF1aXJlKFwiLi9saWIvanNvbmlmeS1lcnJvclwiKTtcbmNvbnN0IG92ZXJyaWRlQ29uc29sZSA9IHJlcXVpcmUoXCIuL2xpYi9vdmVycmlkZS1jb25zb2xlXCIpO1xuY29uc3Qgb3ZlcnJpZGVFcnJvck1ldGhvZHMgPSByZXF1aXJlKFwiLi9saWIvb3ZlcnJpZGUtZXJyb3ItbWV0aG9kc1wiKTtcbmNvbnN0IGxvZyA9IHJlcXVpcmUoXCIuL2xpYi9sb2dcIik7XG5jb25zdCB0b1N0cmluZyA9IHJlcXVpcmUoXCIuL2xpYi90by1zdHJpbmdcIik7XG5cbm1vZHVsZS5leHBvcnRzID0ganNvbmlmeUVycm9yO1xubW9kdWxlLmV4cG9ydHMub3ZlcnJpZGVDb25zb2xlID0gb3ZlcnJpZGVDb25zb2xlO1xubW9kdWxlLmV4cG9ydHMub3ZlcnJpZGVFcnJvck1ldGhvZHMgPSBvdmVycmlkZUVycm9yTWV0aG9kcztcbm1vZHVsZS5leHBvcnRzLmxvZyA9IGxvZztcbm1vZHVsZS5leHBvcnRzLmFzU3RyaW5nID0gdG9TdHJpbmc7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IG1hcEFyZyA9IHJlcXVpcmUoXCIuLy4uL21hcC1hcmdcIik7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbG9nKGVycm9yKSB7XG4gICAgLy8gSW4gYnJvd3NlcnMsIHdlIGRvIG5vdCBjb2xvcml6ZSB0aGUgZXJyb3Igd2l0aCBjaGFsay5cbiAgICBjb25zb2xlLmVycm9yKG1hcEFyZyhlcnJvcikpO1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QganNvbmlmeUVycm9yID0gcmVxdWlyZShcIi4vLi4vanNvbmlmeS1lcnJvclwiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBtYXBBcmcoYXJnKSB7XG4gICAgLy8gSW4gYnJvd3NlcnMsIHdlIGNvbnZlcnQgdGhlIGVycm9yIHRvIEpTT04gYnV0IG5vdCB0byBzdHJpbmcsIHNpbmNlIHRoZSBicm93c2VyJ3NcbiAgICAvLyBjb25zb2xlIGlzIGludGVyYWN0aXZlIGFuZCBhbGxvd3MgaW5zcGVjdGluZyB0aGUgcGxhaW4gb2JqZWN0IGVhc2lseS5cbiAgICByZXR1cm4gYXJnIGluc3RhbmNlb2YgRXJyb3IgPyBqc29uaWZ5RXJyb3IoYXJnKSA6IGFyZztcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZ2V0U3VwZXJjbGFzc2VzKG9iaikge1xuICAgIGNvbnN0IHN1cGVyY2xhc3NlcyA9IFtdO1xuICAgIGxldCB0ZW1wID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaik7XG4gICAgaWYgKHRlbXAgIT09IG51bGwpIHRlbXAgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGVtcCk7XG4gICAgd2hpbGUgKHRlbXAgIT09IG51bGwpIHtcbiAgICAgICAgc3VwZXJjbGFzc2VzLnB1c2godGVtcC5jb25zdHJ1Y3Rvci5uYW1lKTtcbiAgICAgICAgdGVtcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih0ZW1wKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyY2xhc3Nlcztcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGdldFN1cGVyY2xhc3NlcyA9IHJlcXVpcmUoXCIuL2dldC1zdXBlcmNsYXNzZXNcIik7XG5cbmNvbnN0IHN0cmlwQ29sb3JzSWZTdHJpbmcgPSByZXF1aXJlKFwiLi9zdHJpcC1jb2xvcnMtaWYtc3RyaW5nXCIpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGpzb25pZnlFcnJvcihlcnJvcikge1xuICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSByZXR1cm4gZXJyb3I7XG4gICAgY29uc3Qgd3JhcHBlZEVycm9yID0ge307XG4gICAgd3JhcHBlZEVycm9yLm5hbWUgPSBlcnJvci5uYW1lIHx8IFwiPG5vIG5hbWUgYXZhaWxhYmxlPlwiO1xuICAgIHdyYXBwZWRFcnJvci5jbGFzc05hbWUgPSBlcnJvci5jb25zdHJ1Y3Rvci5uYW1lIHx8IFwiPG5vIGNsYXNzIG5hbWUgYXZhaWxhYmxlPlwiO1xuICAgIHdyYXBwZWRFcnJvci5tZXNzYWdlID0gc3RyaXBDb2xvcnNJZlN0cmluZyhlcnJvci5tZXNzYWdlKSB8fCBcIjxubyBtZXNzYWdlIGF2YWlsYWJsZT5cIjtcbiAgICB3cmFwcGVkRXJyb3Iuc3VwZXJjbGFzc2VzID0gZ2V0U3VwZXJjbGFzc2VzKGVycm9yKTtcbiAgICB3cmFwcGVkRXJyb3IuZW51bWVyYWJsZUZpZWxkcyA9IHt9O1xuICAgIGZvciAoY29uc3QgeCBpbiBlcnJvcikge1xuICAgICAgICBpZiAodHlwZW9mIGVycm9yW3hdID09PSBcImZ1bmN0aW9uXCIpIGNvbnRpbnVlO1xuICAgICAgICB3cmFwcGVkRXJyb3IuZW51bWVyYWJsZUZpZWxkc1t4XSA9IHN0cmlwQ29sb3JzSWZTdHJpbmcoZXJyb3JbeF0pO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGVycm9yLnN0YWNrID09PSBcInN0cmluZ1wiICYmIGVycm9yLnN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICAgICAgd3JhcHBlZEVycm9yLnN0YWNrID0gZXJyb3Iuc3RhY2suc3BsaXQoJ1xcbicpLm1hcCh4ID0+IHgucmVwbGFjZSgvXlxccysvLCBcIlwiKSkuZmlsdGVyKHggPT4geCkubWFwKHN0cmlwQ29sb3JzSWZTdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHdyYXBwZWRFcnJvci5zdGFjayA9IHN0cmlwQ29sb3JzSWZTdHJpbmcoZXJyb3Iuc3RhY2spIHx8IFwiPG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZT5cIjtcbiAgICB9XG4gICAgcmV0dXJuIHdyYXBwZWRFcnJvcjtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IG1hcEFyZyA9IHJlcXVpcmUoXCIuL21hcC1hcmdcIik7XG5cbmNvbnN0IG1ldGhvZE5hbWVzID0gW1wibG9nXCIsIFwiZGVidWdcIiwgXCJpbmZvXCIsIFwid2FyblwiLCBcImVycm9yXCJdO1xuXG5sZXQgYWxyZWFkeU92ZXJyaWRkZW4gPSBmYWxzZTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBvdmVycmlkZUNvbnNvbGUoKSB7XG4gICAgaWYgKGFscmVhZHlPdmVycmlkZGVuKSByZXR1cm47XG4gICAgYWxyZWFkeU92ZXJyaWRkZW4gPSB0cnVlO1xuXG4gICAgY29uc3Qgb3JpZ2luYWxNZXRob2RzID0ge307XG5cbiAgICBmb3IgKGNvbnN0IG1ldGhvZE5hbWUgb2YgbWV0aG9kTmFtZXMpIHtcbiAgICAgICAgaWYgKCFjb25zb2xlW21ldGhvZE5hbWVdKSBjb250aW51ZTtcbiAgICAgICAgb3JpZ2luYWxNZXRob2RzW21ldGhvZE5hbWVdID0gY29uc29sZVttZXRob2ROYW1lXS5iaW5kKGNvbnNvbGUpO1xuICAgICAgICBjb25zb2xlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgICAgICAgb3JpZ2luYWxNZXRob2RzW21ldGhvZE5hbWVdKC4uLmFyZ3MubWFwKG1hcEFyZykpO1xuICAgICAgICB9O1xuICAgIH1cbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGpzb25pZnlFcnJvciA9IHJlcXVpcmUoXCIuL2pzb25pZnktZXJyb3JcIik7XG5jb25zdCB0b1N0cmluZyA9IHJlcXVpcmUoXCIuL3RvLXN0cmluZ1wiKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoaXMgRXJyb3IgaW5zdGFuY2UgdG8gYSBKU09OIHJlcHJlc2VudGF0aW9uLlxuICAgICAqIFxuICAgICAqIEByZXR1cm4ge29iamVjdH1cbiAgICAgKi9cbiAgICBFcnJvci5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBqc29uaWZ5RXJyb3IodGhpcyk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoaXMgRXJyb3IgaW5zdGFuY2UgdG8gdGhlIGZ1bGwgc3RyaW5naWZpY2F0aW9uXG4gICAgICogb2YgaXRzIEpTT04gcmVwcmVzZW50YXRpb24uXG4gICAgICogXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthbW91bnRPZlNwYWNlcz00XSBUaGUgYW1vdW50IG9mIHNwYWNlcyB0byB1c2VcbiAgICAgKiBmb3IgaW5kZW50YXRpb24gaW4gdGhlIG91dHB1dCBzdHJpbmcuXG4gICAgICogXG4gICAgICogQHJldHVybiB7c3RyaW5nfVxuICAgICAqL1xuICAgIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKGFtb3VudE9mU3BhY2VzID0gNCkge1xuICAgICAgICByZXR1cm4gdG9TdHJpbmcodGhpcywgYW1vdW50T2ZTcGFjZXMpO1xuICAgIH07XG5cbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5mdW5jdGlvbiBzdHJpcENvbG9yc0lmU3RyaW5nKGFyZykge1xyXG4gICAgaWYgKHR5cGVvZiBhcmcgIT09XCJzdHJpbmdcIikgcmV0dXJuIGFyZztcclxuICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb250cm9sLXJlZ2V4ICovXHJcbiAgICByZXR1cm4gYXJnLnJlcGxhY2UoL1xcdTAwMWJcXFtcXGR7MSwyfW0vZywgXCJcIikucmVwbGFjZSgvXFxcXHUwMDFiXFxbXFxkezEsMn1tL2csIFwiXCIpO1xyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IHN0cmlwQ29sb3JzSWZTdHJpbmc7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IHN0cmluZ2lmeSA9IHJlcXVpcmUoXCJqc29uLXN0cmluZ2lmeS1zYWZlXCIpO1xuY29uc3QganNvbmlmeUVycm9yID0gcmVxdWlyZShcIi4vanNvbmlmeS1lcnJvclwiKTtcblxuLyoqXG4gKiBDb252ZXJ0cyB0aGUgZ2l2ZW4gZXJyb3IgdG8gYSBiaWcgc3RyaW5nIHJlcHJlc2VudGF0aW9uLCBjb250YWluaW5nXG4gKiB0aGUgd2hvbGUgZGF0YSBmcm9tIGl0cyBKU09OIHJlcHJlc2VudGF0aW9uLlxuICogXG4gKiBAcGFyYW0ge2Vycm9yfSBlcnJvciBUaGUgZXJyb3IgdG8gYmUgY29udmVydGVkLlxuICogQHBhcmFtIHtudW1iZXJ9IFthbW91bnRPZlNwYWNlcz00XSBUaGUgYW1vdW50IG9mIHNwYWNlcyB0byB1c2VcbiAqIGZvciBpbmRlbnRhdGlvbiBpbiB0aGUgb3V0cHV0IHN0cmluZy5cbiAqIFxuICogQHJldHVybiB7c3RyaW5nfVxuICogQHRocm93cyB7VHlwZUVycm9yfSBJZiB0aGUgZ2l2ZW4gZXJyb3IgaXMgbm90IGFuIGluc3RhbmNlIG9mIEVycm9yXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gdG9TdHJpbmcoZXJyb3IsIGFtb3VudE9mU3BhY2VzID0gNCkge1xuICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwianNvbmlmeUVycm9yLnRvU3RyaW5nKCkgZXJyb3I6IEZpcnN0IGFyZ3VtZW50IG11c3QgYmUgaW5zdGFuY2Ugb2YgRXJyb3IuXCIpO1xuICAgIGNvbnN0IGFzSlNPTiA9IGpzb25pZnlFcnJvcihlcnJvcik7XG4gICAgcmV0dXJuIGAke2FzSlNPTi5jbGFzc05hbWV9OiAke2FzSlNPTi5tZXNzYWdlfSAke3N0cmluZ2lmeShhc0pTT04sIG51bGwsIGFtb3VudE9mU3BhY2VzKX1gO1xufTtcbiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHN0cmluZ2lmeVxuZXhwb3J0cy5nZXRTZXJpYWxpemUgPSBzZXJpYWxpemVyXG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShvYmosIHJlcGxhY2VyLCBzcGFjZXMsIGN5Y2xlUmVwbGFjZXIpIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaiwgc2VyaWFsaXplcihyZXBsYWNlciwgY3ljbGVSZXBsYWNlciksIHNwYWNlcylcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplcihyZXBsYWNlciwgY3ljbGVSZXBsYWNlcikge1xuICB2YXIgc3RhY2sgPSBbXSwga2V5cyA9IFtdXG5cbiAgaWYgKGN5Y2xlUmVwbGFjZXIgPT0gbnVsbCkgY3ljbGVSZXBsYWNlciA9IGZ1bmN0aW9uKGtleSwgdmFsdWUpIHtcbiAgICBpZiAoc3RhY2tbMF0gPT09IHZhbHVlKSByZXR1cm4gXCJbQ2lyY3VsYXIgfl1cIlxuICAgIHJldHVybiBcIltDaXJjdWxhciB+LlwiICsga2V5cy5zbGljZSgwLCBzdGFjay5pbmRleE9mKHZhbHVlKSkuam9pbihcIi5cIikgKyBcIl1cIlxuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKGtleSwgdmFsdWUpIHtcbiAgICBpZiAoc3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgdmFyIHRoaXNQb3MgPSBzdGFjay5pbmRleE9mKHRoaXMpXG4gICAgICB+dGhpc1BvcyA/IHN0YWNrLnNwbGljZSh0aGlzUG9zICsgMSkgOiBzdGFjay5wdXNoKHRoaXMpXG4gICAgICB+dGhpc1BvcyA/IGtleXMuc3BsaWNlKHRoaXNQb3MsIEluZmluaXR5LCBrZXkpIDoga2V5cy5wdXNoKGtleSlcbiAgICAgIGlmICh+c3RhY2suaW5kZXhPZih2YWx1ZSkpIHZhbHVlID0gY3ljbGVSZXBsYWNlci5jYWxsKHRoaXMsIGtleSwgdmFsdWUpXG4gICAgfVxuICAgIGVsc2Ugc3RhY2sucHVzaCh2YWx1ZSlcblxuICAgIHJldHVybiByZXBsYWNlciA9PSBudWxsID8gdmFsdWUgOiByZXBsYWNlci5jYWxsKHRoaXMsIGtleSwgdmFsdWUpXG4gIH1cbn1cbiJdfQ==

@@ -1,1 +0,1 @@

!function(){return function r(t,e,n){function o(i,c){if(!e[i]){if(!t[i]){var u="function"==typeof require&&require;if(!c&&u)return u(i,!0);if(s)return s(i,!0);var f=new Error("Cannot find module '"+i+"'");throw f.code="MODULE_NOT_FOUND",f}var a=e[i]={exports:{}};t[i][0].call(a.exports,function(r){return o(t[i][1][r]||r)},a,a.exports,r,t,e,n)}return e[i].exports}for(var s="function"==typeof require&&require,i=0;i<n.length;i++)o(n[i]);return o}}()({1:[function(r,t,e){"use strict";window.jsonifyError=r("./index.js")},{"./index.js":2}],2:[function(r,t,e){"use strict";const n=r("./lib/jsonify-error"),o=r("./lib/override-console"),s=r("./lib/override-error-methods"),i=r("./lib/log"),c=r("./lib/to-string");t.exports=n,t.exports.overrideConsole=o,t.exports.overrideErrorMethods=s,t.exports.log=i,t.exports.asString=c},{"./lib/jsonify-error":6,"./lib/log":3,"./lib/override-console":7,"./lib/override-error-methods":8,"./lib/to-string":9}],3:[function(r,t,e){"use strict";const n=r("./../map-arg");t.exports=function(r){console.error(n(r))}},{"./../map-arg":4}],4:[function(r,t,e){"use strict";const n=r("./../jsonify-error");t.exports=function(r){return r instanceof Error?n(r):r}},{"./../jsonify-error":6}],5:[function(r,t,e){"use strict";t.exports=function(r){const t=[];let e=Object.getPrototypeOf(r);for(null!==e&&(e=Object.getPrototypeOf(e));null!==e;)t.push(e.constructor.name),e=Object.getPrototypeOf(e);return t}},{}],6:[function(r,t,e){"use strict";const n=r("./get-superclasses");t.exports=function(r){if(!(r instanceof Error))return r;const t={};t.name=r.name||"<no name available>",t.className=r.constructor.name||"<no class name available>",t.message=r.message||"<no message available>",t.superclasses=n(r),t.enumerableFields={};for(const e in r)"function"!=typeof r[e]&&(t.enumerableFields[e]=r[e]);return"string"==typeof r.stack&&r.stack.length>0?t.stack=r.stack.split("\n").map(r=>r.replace(/^\s+/,"")).filter(r=>r):t.stack=r.stack||"<no stack trace available>",t}},{"./get-superclasses":5}],7:[function(r,t,e){"use strict";const n=r("./map-arg"),o=["log","debug","info","warn","error"];let s=!1;t.exports=function(){if(s)return;s=!0;const r={};for(const t of o)console[t]&&(r[t]=console[t].bind(console),console[t]=function(...e){r[t](...e.map(n))})}},{"./map-arg":4}],8:[function(r,t,e){"use strict";const n=r("./jsonify-error"),o=r("./to-string");t.exports=function(){Error.prototype.toJSON=function(){return n(this)},Error.prototype.toString=function(r=4){return o(this,r)}}},{"./jsonify-error":6,"./to-string":9}],9:[function(r,t,e){"use strict";const n=r("json-stringify-safe"),o=r("./jsonify-error");t.exports=function(r,t=4){if(!(r instanceof Error))throw new TypeError("jsonifyError.toString() error: First argument must be instance of Error.");const e=o(r);return`${e.className}: ${e.message} ${n(e,null,t)}`}},{"./jsonify-error":6,"json-stringify-safe":10}],10:[function(r,t,e){function n(r,t){var e=[],n=[];return null==t&&(t=function(r,t){return e[0]===t?"[Circular ~]":"[Circular ~."+n.slice(0,e.indexOf(t)).join(".")+"]"}),function(o,s){if(e.length>0){var i=e.indexOf(this);~i?e.splice(i+1):e.push(this),~i?n.splice(i,1/0,o):n.push(o),~e.indexOf(s)&&(s=t.call(this,o,s))}else e.push(s);return null==r?s:r.call(this,o,s)}}(t.exports=function(r,t,e,o){return JSON.stringify(r,n(t,o),e)}).getSerialize=n},{}]},{},[1]);
!function(){return function r(t,e,n){function o(i,c){if(!e[i]){if(!t[i]){var u="function"==typeof require&&require;if(!c&&u)return u(i,!0);if(s)return s(i,!0);var f=new Error("Cannot find module '"+i+"'");throw f.code="MODULE_NOT_FOUND",f}var a=e[i]={exports:{}};t[i][0].call(a.exports,function(r){return o(t[i][1][r]||r)},a,a.exports,r,t,e,n)}return e[i].exports}for(var s="function"==typeof require&&require,i=0;i<n.length;i++)o(n[i]);return o}}()({1:[function(r,t,e){"use strict";window.jsonifyError=r("./index.js")},{"./index.js":2}],2:[function(r,t,e){"use strict";const n=r("./lib/jsonify-error"),o=r("./lib/override-console"),s=r("./lib/override-error-methods"),i=r("./lib/log"),c=r("./lib/to-string");t.exports=n,t.exports.overrideConsole=o,t.exports.overrideErrorMethods=s,t.exports.log=i,t.exports.asString=c},{"./lib/jsonify-error":6,"./lib/log":3,"./lib/override-console":7,"./lib/override-error-methods":8,"./lib/to-string":10}],3:[function(r,t,e){"use strict";const n=r("./../map-arg");t.exports=function(r){console.error(n(r))}},{"./../map-arg":4}],4:[function(r,t,e){"use strict";const n=r("./../jsonify-error");t.exports=function(r){return r instanceof Error?n(r):r}},{"./../jsonify-error":6}],5:[function(r,t,e){"use strict";t.exports=function(r){const t=[];let e=Object.getPrototypeOf(r);for(null!==e&&(e=Object.getPrototypeOf(e));null!==e;)t.push(e.constructor.name),e=Object.getPrototypeOf(e);return t}},{}],6:[function(r,t,e){"use strict";const n=r("./get-superclasses"),o=r("./strip-colors-if-string");t.exports=function(r){if(!(r instanceof Error))return r;const t={};t.name=r.name||"<no name available>",t.className=r.constructor.name||"<no class name available>",t.message=o(r.message)||"<no message available>",t.superclasses=n(r),t.enumerableFields={};for(const e in r)"function"!=typeof r[e]&&(t.enumerableFields[e]=o(r[e]));return"string"==typeof r.stack&&r.stack.length>0?t.stack=r.stack.split("\n").map(r=>r.replace(/^\s+/,"")).filter(r=>r).map(o):t.stack=o(r.stack)||"<no stack trace available>",t}},{"./get-superclasses":5,"./strip-colors-if-string":9}],7:[function(r,t,e){"use strict";const n=r("./map-arg"),o=["log","debug","info","warn","error"];let s=!1;t.exports=function(){if(s)return;s=!0;const r={};for(const t of o)console[t]&&(r[t]=console[t].bind(console),console[t]=function(...e){r[t](...e.map(n))})}},{"./map-arg":4}],8:[function(r,t,e){"use strict";const n=r("./jsonify-error"),o=r("./to-string");t.exports=function(){Error.prototype.toJSON=function(){return n(this)},Error.prototype.toString=function(r=4){return o(this,r)}}},{"./jsonify-error":6,"./to-string":10}],9:[function(r,t,e){"use strict";t.exports=function(r){return"string"!=typeof r?r:r.replace(/\u001b\[\d{1,2}m/g,"").replace(/\\u001b\[\d{1,2}m/g,"")}},{}],10:[function(r,t,e){"use strict";const n=r("json-stringify-safe"),o=r("./jsonify-error");t.exports=function(r,t=4){if(!(r instanceof Error))throw new TypeError("jsonifyError.toString() error: First argument must be instance of Error.");const e=o(r);return`${e.className}: ${e.message} ${n(e,null,t)}`}},{"./jsonify-error":6,"json-stringify-safe":11}],11:[function(r,t,e){function n(r,t){var e=[],n=[];return null==t&&(t=function(r,t){return e[0]===t?"[Circular ~]":"[Circular ~."+n.slice(0,e.indexOf(t)).join(".")+"]"}),function(o,s){if(e.length>0){var i=e.indexOf(this);~i?e.splice(i+1):e.push(this),~i?n.splice(i,1/0,o):n.push(o),~e.indexOf(s)&&(s=t.call(this,o,s))}else e.push(s);return null==r?s:r.call(this,o,s)}}(t.exports=function(r,t,e,o){return JSON.stringify(r,n(t,o),e)}).getSerialize=n},{}]},{},[1]);

@@ -5,2 +5,4 @@ "use strict";

const stripColorsIfString = require("./strip-colors-if-string");
module.exports = function jsonifyError(error) {

@@ -11,3 +13,3 @@ if (!(error instanceof Error)) return error;

wrappedError.className = error.constructor.name || "<no class name available>";
wrappedError.message = error.message || "<no message available>";
wrappedError.message = stripColorsIfString(error.message) || "<no message available>";
wrappedError.superclasses = getSuperclasses(error);

@@ -17,10 +19,10 @@ wrappedError.enumerableFields = {};

if (typeof error[x] === "function") continue;
wrappedError.enumerableFields[x] = error[x];
wrappedError.enumerableFields[x] = stripColorsIfString(error[x]);
}
if (typeof error.stack === "string" && error.stack.length > 0) {
wrappedError.stack = error.stack.split('\n').map(x => x.replace(/^\s+/, "")).filter(x => x);
wrappedError.stack = error.stack.split('\n').map(x => x.replace(/^\s+/, "")).filter(x => x).map(stripColorsIfString);
} else {
wrappedError.stack = error.stack || "<no stack trace available>";
wrappedError.stack = stripColorsIfString(error.stack) || "<no stack trace available>";
}
return wrappedError;
};
{
"name": "jsonify-error",
"version": "1.4.5",
"version": "2.0.0",
"description": "Convert errors to JSON or to a good string. Develop faster with better error messages.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -49,3 +49,3 @@ jsonify-error

```html
<script src="https://cdn.jsdelivr.net/npm/jsonify-error@1.4.5/dist/jsonify-error.min.js" integrity="sha384-A2afflOLQT8nKkxHmgVLTXSDlUB8vEueEDlBCCSFOI+tF9LB1lVI+Y8Ur3R5ZR0o" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/jsonify-error@2.0.0/dist/jsonify-error.min.js" integrity="sha384-k3Is8aV5PW6XO2NtZyFbjgZLKNWv4kFrtuN0cnOhaw+qKurzZIlOZZNmih+HGKpN" crossorigin="anonymous"></script>
```

@@ -52,0 +52,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc