@meteor-it/logger
Advanced tools
Comparing version 2.3.23 to 2.3.24
MIT License | ||
Copyright (c) 2017 Yaroslaw Bolyukin <iam@f6cf.pw> | ||
Copyright (c) 2016-2019 CertainLach <iam@lach.pw> | ||
@@ -9,2 +9,2 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | ||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
{ | ||
"name": "@meteor-it/logger", | ||
"version": "2.3.23", | ||
"version": "2.3.24", | ||
"description": "Most powerfull logger for node.js", | ||
@@ -14,3 +14,3 @@ "module": "index.mjs", | ||
"dependencies": { | ||
"@meteor-it/terminal": "^0.5.17", | ||
"@meteor-it/terminal": "^0.5.18", | ||
"@meteor-it/utils": "^1.3.14" | ||
@@ -26,3 +26,3 @@ }, | ||
}, | ||
"gitHead": "6757ca3859d9bf61db6039a7be58afa5da07b66a" | ||
"gitHead": "8044c170da0e90ba560efc6855302fc6695ac49d" | ||
} |
@@ -7,3 +7,2 @@ "use strict"; | ||
const DEBUG = process.env.DEBUG || ''; | ||
const { format } = util_1.default; | ||
const ansiColors = { | ||
@@ -81,3 +80,3 @@ reset: [0, 0], | ||
function stringifyData(nameLimit, data) { | ||
let uncolored = format(data.line, ...data.params || []); | ||
let uncolored = util_1.default.format(data.line, ...data.params || []); | ||
return uncolored.replace(/{(\/?)([^}]+)}/g, (...d) => { | ||
@@ -232,2 +231,2 @@ if (!ansiColors[d[2]]) | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLG1CQUFtQjtBQUNwQixDQUFDLENBQUMsQ0FBQztBQUVILCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsTUFBTSIsImZpbGUiOiJsb2dnZXIvcmVjZWl2ZXJzL25vZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXRpbCBmcm9tICd1dGlsJztcbmltcG9ydCBMb2dnZXIsIHsgTE9HR0VSX0FDVElPTlMsIEJhc2ljUmVjZWl2ZXIgfSBmcm9tICcuLi8nO1xuaW1wb3J0IHtcblx0d3JpdGVTdGRvdXQsXG5cdG1vdmVDdXJzb3IsIGNsZWFyTGluZSwgc2F2ZSwgcmVzdG9yZSwgc3RhcnRCdWZmZXJpbmcsIGZsdXNoQnVmZmVyXG59IGZyb20gJ0BtZXRlb3ItaXQvdGVybWluYWwnO1xuXG5jb25zdCBERUJVRyA9IHByb2Nlc3MuZW52LkRFQlVHIHx8ICcnO1xuXG5jb25zdCB7IGZvcm1hdCB9ID0gdXRpbDtcblxuY29uc3QgYW5zaUNvbG9yczogeyBba2V5OiBzdHJpbmddOiBudW1iZXJbXSB9ID0ge1xuXHRyZXNldDogWzAsIDBdLFxuXG5cdGJvbGQ6IFsxLCAyMl0sXG5cdGRpbTogWzIsIDIyXSxcblx0aXRhbGljOiBbMywgMjNdLFxuXHR1bmRlcmxpbmU6IFs0LCAyNF0sXG5cdGludmVyc2U6IFs3LCAyN10sXG5cdGhpZGRlbjogWzgsIDI4XSxcblx0c3RyaWtldGhyb3VnaDogWzksIDI5XSxcblxuXHRibGFjazogWzMwLCAzOV0sXG5cdHJlZDogWzMxLCAzOV0sXG5cdGdyZWVuOiBbMzIsIDM5XSxcblx0eWVsbG93OiBbMzMsIDM5XSxcblx0Ymx1ZTogWzM0LCAzOV0sXG5cdG1hZ2VudGE6IFszNSwgMzldLFxuXHRjeWFuOiBbMzYsIDM5XSxcblx0d2hpdGU6IFszNywgMzldLFxuXHRncmF5OiBbOTAsIDM5XSxcblxuXHRiZ0JsYWNrOiBbNDAsIDQ5XSxcblx0YmdSZWQ6IFs0MSwgNDldLFxuXHRiZ0dyZWVuOiBbNDIsIDQ5XSxcblx0YmdZZWxsb3c6IFs0MywgNDldLFxuXHRiZ0JsdWU6IFs0NCwgNDldLFxuXHRiZ01hZ2VudGE6IFs0NSwgNDldLFxuXHRiZ0N5YW46IFs0NiwgNDldLFxuXHRiZ1doaXRlOiBbNDcsIDQ5XVxufTtcblxuZnVuY3Rpb24gc3RyaW5naWZ5SWRlbnQobmFtZUxpbWl0OiBudW1iZXIsIGNvdW50OiBudW1iZXIsIHN5bWJvbE5lZWRlZDogc3RyaW5nID0gdW5kZWZpbmVkKSB7XG5cdHJldHVybiBgJHsnICAnLnJlcGVhdChjb3VudCl9JHtzeW1ib2xOZWVkZWQgPyBzeW1ib2xOZWVkZWQgOiAnICd9YDtcbn1cbi8vIGZ1bmN0aW9uIHdyaXRlRGF0ZShkYXRlKSB7XG4vLyBcdC8vIHdyaXRlRXNjYXBlKCczNm0nKTtcbi8vIFx0Ly8gd3JpdGVTdGRvdXQoKG5ldyBEYXRlKGRhdGUpKS50b0xvY2FsZVRpbWVTdHJpbmcoKSk7XG4vLyBcdC8vIHdyaXRlRXNjYXBlKCcwbScpO1xuLy8gfVxuZnVuY3Rpb24gc3RyaW5naWZ5TmFtZShuYW1lTGltaXQ6IG51bWJlciwgbGltaXQ6IG51bWJlciwgbmFtZTogc3RyaW5nLCBlc2NhcGVDb2RlID0gJzQ0bScpIHtcblx0cmV0dXJuIGBcXHUwMDFCWyR7ZXNjYXBlQ29kZX1cXHUwMDFCWzFtJHtuYW1lTGltaXQgPT09IDAgPyAnJyA6IG5hbWUudG9TdHJpbmcoKS5wYWRTdGFydChuYW1lTGltaXQsICcgJyl9XFx1MDAxQlswbWA7XG59XG4vLyBmdW5jdGlvbiB3cml0ZVJlcGVhdHMoY291bnQsIG5vbmUgPSBmYWxzZSkge1xuLy8gXHQvLyBpZihwcm9jZXNzLmVudi5OT19DT0xMQVBTRSlub25lPXRydWU7XG4vLyBcdC8vIGlmIChub25lKSB7XG4vLyBcdC8vIFx0d3JpdGVTdGRvdXQoJyAgICAgICcpO1xuLy8gXHQvLyB9IGVsc2Uge1xuLy8gXHQvLyBcdGNvdW50ICs9IDE7XG4vLyBcdC8vIFx0aWYgKGNvdW50ID49IDIwKSB3cml0ZUVzY2FwZSgnMzFtJyk7IGVsc2UgaWYgKGNvdW50ID49IDUpIHdyaXRlRXNjYXBlKCczM20nKTsgZWxzZSBpZiAoY291bnQgPj0gMikgd3JpdGVFc2NhcGUoJzMybScpOyBlbHNlXG4vLyBcdC8vIFx0XHR3cml0ZUVzY2FwZSgnOTBtJyk7XG4vLyBcdC8vIFx0aWYgKGNvdW50ID49IDk5OSkgd3JpdGVTdGRvdXQoJ3g5OTkrICcpOyBlbHNlIGlmIChjb3VudCA9PT0gMSkgd3JpdGVTdGRvdXQoJyAgICAgICcpOyBlbHNlXG4vLyBcdC8vIFx0XHR3cml0ZVN0ZG91dCgneCcgKyBmaXhMZW5ndGgoY291bnQudG9TdHJpbmcoMTApLCAzLCBmYWxzZSwgJyAnKSArICcgICcpO1xuLy8gXHQvLyBcdHdyaXRlRXNjYXBlKCcwbScpO1xuLy8gXHQvLyB9XG4vLyB9XG5mdW5jdGlvbiBzdHJpbmdpZnlJZGVudERhdGEobmFtZUxpbWl0OiBudW1iZXIsIHByb3ZpZGVyOiBOb2RlQ29uc29sZVJlY2VpdmVyLCBkYXRhOiBhbnkpIHtcblx0Ly8gd3JpdGVSZXBlYXRzKDAsIHRydWUpO1xuXHQvLyB3cml0ZURhdGUoZGF0YS50aW1lKTtcblx0cmV0dXJuIGAke3N0cmluZ2lmeU5hbWUobmFtZUxpbWl0LCBwcm92aWRlci5uYW1lTGltaXQsIGRhdGEubmFtZSl9IFxcdTAwMUJbMzVtJHtzdHJpbmdpZnlJZGVudChuYW1lTGltaXQsIGRhdGEuaWRlbnRhdGlvbkxlbmd0aCAtIDEsICc+Jyl9XFx1MDAxQlsxbSAke2RhdGEuaWRlbnROYW1lfVxcdTAwMUJbMG1gO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5RGVlbnREYXRhKG5hbWVMaW1pdDogbnVtYmVyLCBwcm92aWRlcjogTm9kZUNvbnNvbGVSZWNlaXZlciwgZGF0YTogYW55KSB7XG5cdC8vIHdyaXRlUmVwZWF0cygwLCB0cnVlKTtcblx0Ly8gd3JpdGVEYXRlKGRhdGEudGltZSk7XG5cdHJldHVybiBgJHtzdHJpbmdpZnlOYW1lKG5hbWVMaW1pdCwgcHJvdmlkZXIubmFtZUxpbWl0LCBkYXRhLm5hbWUpfSBcXHUwMDFCWzM1bSR7c3RyaW5naWZ5SWRlbnQobmFtZUxpbWl0LCBkYXRhLmlkZW50YXRpb25MZW5ndGgsICc8Jyl9XFx1MDAxQlsxbSAke2RhdGEuaWRlbnROYW1lfVxcdTAwMUJbMjJtIChEb25lIGluICR7ZGF0YS5pZGVudFRpbWV9bXMpXFx1MDAxQlswbWA7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlUaW1lU3RhcnREYXRhKG5hbWVMaW1pdDogbnVtYmVyLCBwcm92aWRlcjogTm9kZUNvbnNvbGVSZWNlaXZlciwgZGF0YTogYW55KSB7XG5cdC8vIHdyaXRlUmVwZWF0cygwLCB0cnVlKTtcblx0Ly8gd3JpdGVEYXRlKGRhdGEudGltZSk7XG5cdHJldHVybiBgXFx1MDAxQlszNW0ke3N0cmluZ2lmeU5hbWUobmFtZUxpbWl0LCBwcm92aWRlci5uYW1lTGltaXQsIGRhdGEubmFtZSwgJzFtJyl9XFx1MDAxQlszM20ke3N0cmluZ2lmeUlkZW50KG5hbWVMaW1pdCwgZGF0YS5pZGVudGF0aW9uTGVuZ3RoKX0gVCBTdGFydGVkICR7ZGF0YS50aW1lTmFtZX1gO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5VGltZUVuZERhdGEobmFtZUxpbWl0OiBudW1iZXIsIHByb3ZpZGVyOiBOb2RlQ29uc29sZVJlY2VpdmVyLCBkYXRhOiBhbnkpIHtcblx0Ly8gd3JpdGVSZXBlYXRzKDAsIHRydWUpO1xuXHQvLyB3cml0ZURhdGUoZGF0YS50aW1lKTtcblx0cmV0dXJuIGBcXHUwMDFCWzM1bSR7c3RyaW5naWZ5TmFtZShuYW1lTGltaXQsIHByb3ZpZGVyLm5hbWVMaW1pdCwgZGF0YS5uYW1lLCAnMW0nKX1cXHUwMDFCWzM0bSR7c3RyaW5naWZ5SWRlbnQobmFtZUxpbWl0LCBkYXRhLmlkZW50YXRpb25MZW5ndGgpfSBUIEZpbmlzaGVkICR7ZGF0YS50aW1lTmFtZX1cXHUwMDFCWzFtIGluICR7ZGF0YS50aW1lVGltZX1tc1xcdTAwMUJbMG1gO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5RGF0YShuYW1lTGltaXQ6IG51bWJlciwgZGF0YTogYW55KSB7XG5cdGxldCB1bmNvbG9yZWQgPSBmb3JtYXQoZGF0YS5saW5lLCAuLi5kYXRhLnBhcmFtcyB8fCBbXSk7XG5cdHJldHVybiB1bmNvbG9yZWQucmVwbGFjZSgveyhcXC8/KShbXn1dKyl9L2csICguLi5kOiBhbnlbXSkgPT4ge1xuXHRcdGlmICghYW5zaUNvbG9yc1tkWzJdXSkgcmV0dXJuIGRbMF07XG5cdFx0cmV0dXJuICdcXHUwMDFCWycgKyBhbnNpQ29sb3JzW2RbMl1dW2RbMV0gPT09ICcvJyA/IDEgOiAwXSArICdtJztcblx0fSk7XG59XG4vLyBjb25zdCBTVFJJUFBFRF9EQVRFPShuZXcgRGF0ZSgpKS50b0xvY2FsZVRpbWVTdHJpbmcoKS5yZXBsYWNlKC8uL2csICcgJyk7XG5mdW5jdGlvbiBzdHJpbmdpZnlDb21tb25EYXRhKG5hbWVMaW1pdDogbnVtYmVyLCBlc2NhcGVDb2RlOiBzdHJpbmcsIHByb3ZpZGVyOiBOb2RlQ29uc29sZVJlY2VpdmVyLCBkYXRhOiBhbnkpIHtcblx0Ly8gd3JpdGVSZXBlYXRzKGRhdGEucmVwZWF0cywgZmFsc2UpO1xuXHQvLyB3cml0ZURhdGUoZGF0YS50aW1lKTtcblx0Y29uc3Qgc3RyaW5ncyA9IGRhdGEuc3RyaW5nLnNwbGl0KCdcXG4nKTtcblx0bGV0IHJldCA9IGBcXHUwMDFCWzQwbSR7c3RyaW5naWZ5TmFtZShuYW1lTGltaXQsIHByb3ZpZGVyLm5hbWVMaW1pdCwgZGF0YS5uYW1lLCBlc2NhcGVDb2RlKX1cXHUwMDFCWzBtJHtzdHJpbmdpZnlJZGVudChuYW1lTGltaXQsIGRhdGEuaWRlbnRhdGlvbkxlbmd0aCl9JHtzdHJpbmdzLnNoaWZ0KCl9YDtcblx0Zm9yIChsZXQgc3RyaW5nIG9mIHN0cmluZ3MpIHtcblx0XHRyZXQgKz0gYFxcblxcdTAwMUJbNDBtJHtzdHJpbmdpZnlOYW1lKG5hbWVMaW1pdCwgcHJvdmlkZXIubmFtZUxpbWl0LCAnIHwnLCBlc2NhcGVDb2RlKX1cXHUwMDFCWzBtJHtzdHJpbmdpZnlJZGVudChuYW1lTGltaXQsIGRhdGEuaWRlbnRhdGlvbkxlbmd0aCl9JHtzdHJpbmd9YDtcblx0XHQvL2Ake3N0cmluZ2lmeUlkZW50KGRhdGEuaWRlbnRhdGlvbkxlbmd0aCl9JHtzdHJpbmdpZnlOYW1lKHByb3ZpZGVyLm5hbWVMaW1pdCwnfCcsZXNjYXBlQ29kZSl9ICR7c3RyaW5nfVxcbmA7XG5cdH1cblx0cmV0dXJuIHJldDtcbn1cbmZ1bmN0aW9uIHdyaXRlTG9nRGF0YShuYW1lTGltaXQ6IG51bWJlciwgcHJvdmlkZXI6IE5vZGVDb25zb2xlUmVjZWl2ZXIsIGRhdGE6IGFueSkge1xuXHR3cml0ZVN0ZG91dChzdHJpbmdpZnlDb21tb25EYXRhKG5hbWVMaW1pdCwgJzM0bScsIHByb3ZpZGVyLCBkYXRhKSArICdcXG4nKTtcbn1cbmZ1bmN0aW9uIHdyaXRlRXJyb3JEYXRhKG5hbWVMaW1pdDogbnVtYmVyLCBwcm92aWRlcjogTm9kZUNvbnNvbGVSZWNlaXZlciwgZGF0YTogYW55KSB7XG5cdHdyaXRlU3Rkb3V0KHN0cmluZ2lmeUNvbW1vbkRhdGEobmFtZUxpbWl0LCAnMzFtJywgcHJvdmlkZXIsIGRhdGEpICsgJ1xcbicpO1xufVxuZnVuY3Rpb24gd3JpdGVXYXJuaW5nRGF0YShuYW1lTGltaXQ6IG51bWJlciwgcHJvdmlkZXI6IE5vZGVDb25zb2xlUmVjZWl2ZXIsIGRhdGE6IGFueSkge1xuXHR3cml0ZVN0ZG91dChzdHJpbmdpZnlDb21tb25EYXRhKG5hbWVMaW1pdCwgJzMzbScsIHByb3ZpZGVyLCBkYXRhKSArICdcXG4nKTtcbn1cbmZ1bmN0aW9uIHdyaXRlRGVidWdEYXRhKG5hbWVMaW1pdDogbnVtYmVyLCBwcm92aWRlcjogTm9kZUNvbnNvbGVSZWNlaXZlciwgZGF0YTogYW55KSB7XG5cdHdyaXRlU3Rkb3V0KHN0cmluZ2lmeUNvbW1vbkRhdGEobmFtZUxpbWl0LCAnOTBtJywgcHJvdmlkZXIsIGRhdGEpICsgJ1xcbicpO1xufVxuXG5pbnRlcmZhY2UgSVByb2dyZXNzSXRlbSB7XG5cdG5hbWU6IHN0cmluZyxcblx0cHJvZ3Jlc3M6IG51bWJlcixcblx0dGltZTogbnVtYmVyXG59XG5jb25zdCBwcm9ncmVzc2VzOiB7IFtrZXk6IHN0cmluZ106IElQcm9ncmVzc0l0ZW0gfSA9IHt9O1xuZnVuY3Rpb24gcHJvZ3Jlc3NTdGFydChuYW1lTGltaXQ6IG51bWJlciwgcHJvdmlkZXI6IE5vZGVDb25zb2xlUmVjZWl2ZXIsIGRhdGE6IGFueSkge1xuXHRwcm9ncmVzc2VzW2RhdGEubmFtZV0gPSB7XG5cdFx0bmFtZTogZGF0YS5uYW1lLFxuXHRcdHByb2dyZXNzOiAwLFxuXHRcdHRpbWU6IGRhdGEudGltZVxuXHR9O1xufVxuZnVuY3Rpb24gcHJvZ3Jlc3NFbmQobmFtZUxpbWl0OiBudW1iZXIsIHByb3ZpZGVyOiBOb2RlQ29uc29sZVJlY2VpdmVyLCBkYXRhOiBhbnkpIHtcblx0ZGVsZXRlIHByb2dyZXNzZXNbZGF0YS5uYW1lXTtcbn1cbmZ1bmN0aW9uIHByb2dyZXNzKG5hbWVMaW1pdDogbnVtYmVyLCBwcm92aWRlcjogTm9kZUNvbnNvbGVSZWNlaXZlciwgZGF0YTogYW55KSB7XG5cdGlmICghcHJvZ3Jlc3Nlc1tkYXRhLm5hbWVdKVxuXHRcdHJldHVybjtcblx0cHJvZ3Jlc3Nlc1tkYXRhLm5hbWVdLnRpbWUgPSBkYXRhLnRpbWU7XG5cdHByb2dyZXNzZXNbZGF0YS5uYW1lXS5wcm9ncmVzcyA9IGRhdGEucHJvZ3Jlc3M7XG59XG5mdW5jdGlvbiByZW5kZXJQcm9ncmVzcyhuYW1lTGltaXQ6IG51bWJlcikge1xuXHRzYXZlKCk7XG5cdGxldCBpID0gMDtcblx0Zm9yIChsZXQgcHJvZ3Jlc3Mgb2YgT2JqZWN0LnZhbHVlcyhwcm9ncmVzc2VzKSkge1xuXHRcdG1vdmVDdXJzb3IoaSk7XG5cdFx0Y2xlYXJMaW5lKCk7XG5cdFx0bGV0IHBlcmNlbnQgPSBNYXRoLmNlaWwocHJvZ3Jlc3MucHJvZ3Jlc3MpO1xuXHRcdHdyaXRlU3Rkb3V0KGBcXHUwMDFCWzM0bSR7cHJvZ3Jlc3MubmFtZS5wYWRTdGFydChuYW1lTGltaXQpfSAkeyhwZXJjZW50ICsgJyUnKS5wYWRTdGFydCg0LCAnICcpfSAkeyd8Jy5yZXBlYXQoTWF0aC5jZWlsKCgocHJvY2Vzcy5zdGRvdXQgYXMgYW55KS5jb2x1bW5zIC0gMSAtIDMgLSAxIC0gMSAtIG5hbWVMaW1pdCkgLyAxMDAgKiBwZXJjZW50KSl9YCk7XG5cdFx0Ly8gd3JpdGVFc2NhcGUoJzM0bScpO1xuXHRcdC8vIHdyaXRlU3Rkb3V0KCg8SVByb2dyZXNzSXRlbT5wcm9ncmVzcykubmFtZS5wYWRTdGFydCgxOCwnICcpKTtcblx0XHQvLyB3cml0ZVN0ZG91dCgnICcpO1xuXHRcdC8vIHdyaXRlRGF0ZShwcm9ncmVzcy50aW1lKTtcblx0XHQvLyB3cml0ZVN0ZG91dCgnICcpO1xuXHRcdC8vIHdyaXRlU3Rkb3V0KChwZXJjZW50KyclJykucGFkU3RhcnQoNCwnICcpKTtcblx0XHQvLyB3cml0ZVN0ZG91dCgnICcpO1xuXHRcdC8vIHdyaXRlU3Rkb3V0KCd8Jy5yZXBlYXQoTWF0aC5jZWlsKCgoPGFueT5wcm9jZXNzLnN0ZG91dCkuY29sdW1ucy0xLTMtMS04LTEtMTgpLzEwMCpwZXJjZW50KSkpO1xuXHRcdGkrKztcblx0fVxuXG5cdHJlc3RvcmUoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm9kZUNvbnNvbGVSZWNlaXZlciBleHRlbmRzIEJhc2ljUmVjZWl2ZXIge1xuXHRuYW1lTGltaXQ6IG51bWJlcjtcblxuXHRjb25zdHJ1Y3RvcihuYW1lTGltaXQgPSAxOCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5uYW1lTGltaXQgPSBuYW1lTGltaXQ7XG5cdH1cblxuXHR3cml0ZShkYXRhOiBhbnkpIHtcblx0XHRsZXQgeyBuYW1lTGltaXQgfSA9IHRoaXM7XG5cdFx0aWYgKE9iamVjdC52YWx1ZXMocHJvZ3Jlc3NlcykubGVuZ3RoICE9PSAwKSB7XG5cdFx0XHRzdGFydEJ1ZmZlcmluZygpO1xuXHRcdH1cblx0XHRkYXRhLnN0cmluZyA9IHN0cmluZ2lmeURhdGEobmFtZUxpbWl0LCBkYXRhKTtcblx0XHQvLyBpZiAoZGF0YS5yZXBlYXRlZCkge1xuXHRcdC8vIFx0aWYoIXByb2Nlc3MuZW52Lk5PX0NPTExBUFNFKXtcblx0XHQvLyBcdFx0c2F2ZSgpO1xuXHRcdC8vIFx0XHR3cml0ZUVzY2FwZShkYXRhLnN0cmluZy5zcGxpdCgnXFxuJykubGVuZ3RoICsgJ0EnKTtcblx0XHQvLyBcdFx0Ly9kYXRhLnJlcGVhdHNcblx0XHQvLyBcdH1cblx0XHQvLyB9XG5cdFx0c3dpdGNoIChkYXRhLnR5cGUpIHtcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuSURFTlQ6XG5cdFx0XHRcdHdyaXRlU3Rkb3V0KHN0cmluZ2lmeUlkZW50RGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpICsgJ1xcbicpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuREVFTlQ6XG5cdFx0XHRcdHdyaXRlU3Rkb3V0KHN0cmluZ2lmeURlZW50RGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpICsgJ1xcbicpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuTE9HOlxuXHRcdFx0XHR3cml0ZUxvZ0RhdGEobmFtZUxpbWl0LCB0aGlzLCBkYXRhKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIExPR0dFUl9BQ1RJT05TLkVSUk9SOlxuXHRcdFx0XHR3cml0ZUVycm9yRGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuV0FSTklORzpcblx0XHRcdFx0d3JpdGVXYXJuaW5nRGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuREVCVUc6XG5cdFx0XHRcdGlmIChERUJVRyA9PT0gJyonIHx8IH5ERUJVRy5zcGxpdCgnLCcpLmluZGV4T2YoZGF0YS5uYW1lKSlcblx0XHRcdFx0XHR3cml0ZURlYnVnRGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuVElNRV9TVEFSVDpcblx0XHRcdFx0d3JpdGVTdGRvdXQoc3RyaW5naWZ5VGltZVN0YXJ0RGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpICsgJ1xcbicpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuVElNRV9FTkQ6XG5cdFx0XHRcdHdyaXRlU3Rkb3V0KHN0cmluZ2lmeVRpbWVFbmREYXRhKG5hbWVMaW1pdCwgdGhpcywgZGF0YSkgKyAnXFxuJyk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBMT0dHRVJfQUNUSU9OUy5QUk9HUkVTU19TVEFSVDpcblx0XHRcdFx0cHJvZ3Jlc3NTdGFydChuYW1lTGltaXQsIHRoaXMsIGRhdGEpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuUFJPR1JFU1NfRU5EOlxuXHRcdFx0XHRwcm9ncmVzc0VuZChuYW1lTGltaXQsIHRoaXMsIGRhdGEpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuUFJPR1JFU1M6XG5cdFx0XHRcdHByb2dyZXNzKG5hbWVMaW1pdCwgdGhpcywgZGF0YSk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0Y29uc29sZS5fbG9nKGRhdGEpO1xuXHRcdH1cblx0XHQvLyBpZiAoZGF0YS5yZXBlYXRlZCkge1xuXHRcdC8vIFx0aWYoIXByb2Nlc3MuZW52Lk5PX0NPTExBUFNFKXJlc3RvcmUoKTtcblx0XHQvLyB9XG5cdFx0Ly8gVE9ETzogU3VwcG9ydCBmb3Igbm9uLXR0eSB0ZXJtaW5hbHNcblx0XHRpZiAoT2JqZWN0LnZhbHVlcyhwcm9ncmVzc2VzKS5sZW5ndGggIT09IDApIHtcblx0XHRcdHJlbmRlclByb2dyZXNzKG5hbWVMaW1pdCk7XG5cdFx0XHRmbHVzaEJ1ZmZlcigpO1xuXHRcdH1cblx0fVxufVxuXG5sZXQgdGVybWluYWxMb2dnZXIgPSBuZXcgTG9nZ2VyKCd0ZXJtaW5hbCcpO1xuXG5wcm9jZXNzLm9uKCd1bmNhdWdodEV4Y2VwdGlvbicsIGUgPT4ge1xuXHR0ZXJtaW5hbExvZ2dlci5lcnIoJ1VuY2F1Z2h0RXhjZXB0aW9uOicpO1xuXHR0ZXJtaW5hbExvZ2dlci5lcnIoZS5zdGFjayk7XG5cdC8vIHByb2Nlc3MuZXhpdCgwKTtcbn0pO1xuXG5wcm9jZXNzLm9uKCd1bmhhbmRsZWRSZWplY3Rpb24nLCBlID0+IHtcblx0dGVybWluYWxMb2dnZXIuZXJyKCdVbmhhbmRsZWRSZWplY3Rpb246Jyk7XG5cdHRlcm1pbmFsTG9nZ2VyLmVycihlLnN0YWNrKTtcblx0Ly8gcHJvY2Vzcy5leGl0KDApO1xufSk7XG5cbi8vIHByb2Nlc3Mub24oJ3dhcm5pbmcnLCBlID0+IHtcbi8vIFx0dGVybWluYWxMb2dnZXIud2FybihlLnN0YWNrKTtcbi8vIH0pO1xuIl19 | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUM7SUFDNUIsbUJBQW1CO0FBQ3BCLENBQUMsQ0FBQyxDQUFDO0FBRUgsK0JBQStCO0FBQy9CLGlDQUFpQztBQUNqQyxNQUFNIiwiZmlsZSI6ImxvZ2dlci9yZWNlaXZlcnMvbm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1dGlsIGZyb20gJ3V0aWwnO1xuaW1wb3J0IExvZ2dlciwgeyBMT0dHRVJfQUNUSU9OUywgQmFzaWNSZWNlaXZlciB9IGZyb20gJy4uLyc7XG5pbXBvcnQge1xuXHR3cml0ZVN0ZG91dCxcblx0bW92ZUN1cnNvciwgY2xlYXJMaW5lLCBzYXZlLCByZXN0b3JlLCBzdGFydEJ1ZmZlcmluZywgZmx1c2hCdWZmZXJcbn0gZnJvbSAnQG1ldGVvci1pdC90ZXJtaW5hbCc7XG5cbmNvbnN0IERFQlVHID0gcHJvY2Vzcy5lbnYuREVCVUcgfHwgJyc7XG5cbmNvbnN0IGFuc2lDb2xvcnM6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyW10gfSA9IHtcblx0cmVzZXQ6IFswLCAwXSxcblxuXHRib2xkOiBbMSwgMjJdLFxuXHRkaW06IFsyLCAyMl0sXG5cdGl0YWxpYzogWzMsIDIzXSxcblx0dW5kZXJsaW5lOiBbNCwgMjRdLFxuXHRpbnZlcnNlOiBbNywgMjddLFxuXHRoaWRkZW46IFs4LCAyOF0sXG5cdHN0cmlrZXRocm91Z2g6IFs5LCAyOV0sXG5cblx0YmxhY2s6IFszMCwgMzldLFxuXHRyZWQ6IFszMSwgMzldLFxuXHRncmVlbjogWzMyLCAzOV0sXG5cdHllbGxvdzogWzMzLCAzOV0sXG5cdGJsdWU6IFszNCwgMzldLFxuXHRtYWdlbnRhOiBbMzUsIDM5XSxcblx0Y3lhbjogWzM2LCAzOV0sXG5cdHdoaXRlOiBbMzcsIDM5XSxcblx0Z3JheTogWzkwLCAzOV0sXG5cblx0YmdCbGFjazogWzQwLCA0OV0sXG5cdGJnUmVkOiBbNDEsIDQ5XSxcblx0YmdHcmVlbjogWzQyLCA0OV0sXG5cdGJnWWVsbG93OiBbNDMsIDQ5XSxcblx0YmdCbHVlOiBbNDQsIDQ5XSxcblx0YmdNYWdlbnRhOiBbNDUsIDQ5XSxcblx0YmdDeWFuOiBbNDYsIDQ5XSxcblx0YmdXaGl0ZTogWzQ3LCA0OV1cbn07XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeUlkZW50KG5hbWVMaW1pdDogbnVtYmVyLCBjb3VudDogbnVtYmVyLCBzeW1ib2xOZWVkZWQ6IHN0cmluZyA9IHVuZGVmaW5lZCkge1xuXHRyZXR1cm4gYCR7JyAgJy5yZXBlYXQoY291bnQpfSR7c3ltYm9sTmVlZGVkID8gc3ltYm9sTmVlZGVkIDogJyAnfWA7XG59XG4vLyBmdW5jdGlvbiB3cml0ZURhdGUoZGF0ZSkge1xuLy8gXHQvLyB3cml0ZUVzY2FwZSgnMzZtJyk7XG4vLyBcdC8vIHdyaXRlU3Rkb3V0KChuZXcgRGF0ZShkYXRlKSkudG9Mb2NhbGVUaW1lU3RyaW5nKCkpO1xuLy8gXHQvLyB3cml0ZUVzY2FwZSgnMG0nKTtcbi8vIH1cbmZ1bmN0aW9uIHN0cmluZ2lmeU5hbWUobmFtZUxpbWl0OiBudW1iZXIsIGxpbWl0OiBudW1iZXIsIG5hbWU6IHN0cmluZywgZXNjYXBlQ29kZSA9ICc0NG0nKSB7XG5cdHJldHVybiBgXFx1MDAxQlske2VzY2FwZUNvZGV9XFx1MDAxQlsxbSR7bmFtZUxpbWl0ID09PSAwID8gJycgOiBuYW1lLnRvU3RyaW5nKCkucGFkU3RhcnQobmFtZUxpbWl0LCAnICcpfVxcdTAwMUJbMG1gO1xufVxuLy8gZnVuY3Rpb24gd3JpdGVSZXBlYXRzKGNvdW50LCBub25lID0gZmFsc2UpIHtcbi8vIFx0Ly8gaWYocHJvY2Vzcy5lbnYuTk9fQ09MTEFQU0Upbm9uZT10cnVlO1xuLy8gXHQvLyBpZiAobm9uZSkge1xuLy8gXHQvLyBcdHdyaXRlU3Rkb3V0KCcgICAgICAnKTtcbi8vIFx0Ly8gfSBlbHNlIHtcbi8vIFx0Ly8gXHRjb3VudCArPSAxO1xuLy8gXHQvLyBcdGlmIChjb3VudCA+PSAyMCkgd3JpdGVFc2NhcGUoJzMxbScpOyBlbHNlIGlmIChjb3VudCA+PSA1KSB3cml0ZUVzY2FwZSgnMzNtJyk7IGVsc2UgaWYgKGNvdW50ID49IDIpIHdyaXRlRXNjYXBlKCczMm0nKTsgZWxzZVxuLy8gXHQvLyBcdFx0d3JpdGVFc2NhcGUoJzkwbScpO1xuLy8gXHQvLyBcdGlmIChjb3VudCA+PSA5OTkpIHdyaXRlU3Rkb3V0KCd4OTk5KyAnKTsgZWxzZSBpZiAoY291bnQgPT09IDEpIHdyaXRlU3Rkb3V0KCcgICAgICAnKTsgZWxzZVxuLy8gXHQvLyBcdFx0d3JpdGVTdGRvdXQoJ3gnICsgZml4TGVuZ3RoKGNvdW50LnRvU3RyaW5nKDEwKSwgMywgZmFsc2UsICcgJykgKyAnICAnKTtcbi8vIFx0Ly8gXHR3cml0ZUVzY2FwZSgnMG0nKTtcbi8vIFx0Ly8gfVxuLy8gfVxuZnVuY3Rpb24gc3RyaW5naWZ5SWRlbnREYXRhKG5hbWVMaW1pdDogbnVtYmVyLCBwcm92aWRlcjogTm9kZUNvbnNvbGVSZWNlaXZlciwgZGF0YTogYW55KSB7XG5cdC8vIHdyaXRlUmVwZWF0cygwLCB0cnVlKTtcblx0Ly8gd3JpdGVEYXRlKGRhdGEudGltZSk7XG5cdHJldHVybiBgJHtzdHJpbmdpZnlOYW1lKG5hbWVMaW1pdCwgcHJvdmlkZXIubmFtZUxpbWl0LCBkYXRhLm5hbWUpfSBcXHUwMDFCWzM1bSR7c3RyaW5naWZ5SWRlbnQobmFtZUxpbWl0LCBkYXRhLmlkZW50YXRpb25MZW5ndGggLSAxLCAnPicpfVxcdTAwMUJbMW0gJHtkYXRhLmlkZW50TmFtZX1cXHUwMDFCWzBtYDtcbn1cbmZ1bmN0aW9uIHN0cmluZ2lmeURlZW50RGF0YShuYW1lTGltaXQ6IG51bWJlciwgcHJvdmlkZXI6IE5vZGVDb25zb2xlUmVjZWl2ZXIsIGRhdGE6IGFueSkge1xuXHQvLyB3cml0ZVJlcGVhdHMoMCwgdHJ1ZSk7XG5cdC8vIHdyaXRlRGF0ZShkYXRhLnRpbWUpO1xuXHRyZXR1cm4gYCR7c3RyaW5naWZ5TmFtZShuYW1lTGltaXQsIHByb3ZpZGVyLm5hbWVMaW1pdCwgZGF0YS5uYW1lKX0gXFx1MDAxQlszNW0ke3N0cmluZ2lmeUlkZW50KG5hbWVMaW1pdCwgZGF0YS5pZGVudGF0aW9uTGVuZ3RoLCAnPCcpfVxcdTAwMUJbMW0gJHtkYXRhLmlkZW50TmFtZX1cXHUwMDFCWzIybSAoRG9uZSBpbiAke2RhdGEuaWRlbnRUaW1lfW1zKVxcdTAwMUJbMG1gO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5VGltZVN0YXJ0RGF0YShuYW1lTGltaXQ6IG51bWJlciwgcHJvdmlkZXI6IE5vZGVDb25zb2xlUmVjZWl2ZXIsIGRhdGE6IGFueSkge1xuXHQvLyB3cml0ZVJlcGVhdHMoMCwgdHJ1ZSk7XG5cdC8vIHdyaXRlRGF0ZShkYXRhLnRpbWUpO1xuXHRyZXR1cm4gYFxcdTAwMUJbMzVtJHtzdHJpbmdpZnlOYW1lKG5hbWVMaW1pdCwgcHJvdmlkZXIubmFtZUxpbWl0LCBkYXRhLm5hbWUsICcxbScpfVxcdTAwMUJbMzNtJHtzdHJpbmdpZnlJZGVudChuYW1lTGltaXQsIGRhdGEuaWRlbnRhdGlvbkxlbmd0aCl9IFQgU3RhcnRlZCAke2RhdGEudGltZU5hbWV9YDtcbn1cbmZ1bmN0aW9uIHN0cmluZ2lmeVRpbWVFbmREYXRhKG5hbWVMaW1pdDogbnVtYmVyLCBwcm92aWRlcjogTm9kZUNvbnNvbGVSZWNlaXZlciwgZGF0YTogYW55KSB7XG5cdC8vIHdyaXRlUmVwZWF0cygwLCB0cnVlKTtcblx0Ly8gd3JpdGVEYXRlKGRhdGEudGltZSk7XG5cdHJldHVybiBgXFx1MDAxQlszNW0ke3N0cmluZ2lmeU5hbWUobmFtZUxpbWl0LCBwcm92aWRlci5uYW1lTGltaXQsIGRhdGEubmFtZSwgJzFtJyl9XFx1MDAxQlszNG0ke3N0cmluZ2lmeUlkZW50KG5hbWVMaW1pdCwgZGF0YS5pZGVudGF0aW9uTGVuZ3RoKX0gVCBGaW5pc2hlZCAke2RhdGEudGltZU5hbWV9XFx1MDAxQlsxbSBpbiAke2RhdGEudGltZVRpbWV9bXNcXHUwMDFCWzBtYDtcbn1cbmZ1bmN0aW9uIHN0cmluZ2lmeURhdGEobmFtZUxpbWl0OiBudW1iZXIsIGRhdGE6IGFueSkge1xuXHRsZXQgdW5jb2xvcmVkID0gdXRpbC5mb3JtYXQoZGF0YS5saW5lLCAuLi5kYXRhLnBhcmFtcyB8fCBbXSk7XG5cdHJldHVybiB1bmNvbG9yZWQucmVwbGFjZSgveyhcXC8/KShbXn1dKyl9L2csICguLi5kOiBhbnlbXSkgPT4ge1xuXHRcdGlmICghYW5zaUNvbG9yc1tkWzJdXSkgcmV0dXJuIGRbMF07XG5cdFx0cmV0dXJuICdcXHUwMDFCWycgKyBhbnNpQ29sb3JzW2RbMl1dW2RbMV0gPT09ICcvJyA/IDEgOiAwXSArICdtJztcblx0fSk7XG59XG4vLyBjb25zdCBTVFJJUFBFRF9EQVRFPShuZXcgRGF0ZSgpKS50b0xvY2FsZVRpbWVTdHJpbmcoKS5yZXBsYWNlKC8uL2csICcgJyk7XG5mdW5jdGlvbiBzdHJpbmdpZnlDb21tb25EYXRhKG5hbWVMaW1pdDogbnVtYmVyLCBlc2NhcGVDb2RlOiBzdHJpbmcsIHByb3ZpZGVyOiBOb2RlQ29uc29sZVJlY2VpdmVyLCBkYXRhOiBhbnkpIHtcblx0Ly8gd3JpdGVSZXBlYXRzKGRhdGEucmVwZWF0cywgZmFsc2UpO1xuXHQvLyB3cml0ZURhdGUoZGF0YS50aW1lKTtcblx0Y29uc3Qgc3RyaW5ncyA9IGRhdGEuc3RyaW5nLnNwbGl0KCdcXG4nKTtcblx0bGV0IHJldCA9IGBcXHUwMDFCWzQwbSR7c3RyaW5naWZ5TmFtZShuYW1lTGltaXQsIHByb3ZpZGVyLm5hbWVMaW1pdCwgZGF0YS5uYW1lLCBlc2NhcGVDb2RlKX1cXHUwMDFCWzBtJHtzdHJpbmdpZnlJZGVudChuYW1lTGltaXQsIGRhdGEuaWRlbnRhdGlvbkxlbmd0aCl9JHtzdHJpbmdzLnNoaWZ0KCl9YDtcblx0Zm9yIChsZXQgc3RyaW5nIG9mIHN0cmluZ3MpIHtcblx0XHRyZXQgKz0gYFxcblxcdTAwMUJbNDBtJHtzdHJpbmdpZnlOYW1lKG5hbWVMaW1pdCwgcHJvdmlkZXIubmFtZUxpbWl0LCAnIHwnLCBlc2NhcGVDb2RlKX1cXHUwMDFCWzBtJHtzdHJpbmdpZnlJZGVudChuYW1lTGltaXQsIGRhdGEuaWRlbnRhdGlvbkxlbmd0aCl9JHtzdHJpbmd9YDtcblx0XHQvL2Ake3N0cmluZ2lmeUlkZW50KGRhdGEuaWRlbnRhdGlvbkxlbmd0aCl9JHtzdHJpbmdpZnlOYW1lKHByb3ZpZGVyLm5hbWVMaW1pdCwnfCcsZXNjYXBlQ29kZSl9ICR7c3RyaW5nfVxcbmA7XG5cdH1cblx0cmV0dXJuIHJldDtcbn1cbmZ1bmN0aW9uIHdyaXRlTG9nRGF0YShuYW1lTGltaXQ6IG51bWJlciwgcHJvdmlkZXI6IE5vZGVDb25zb2xlUmVjZWl2ZXIsIGRhdGE6IGFueSkge1xuXHR3cml0ZVN0ZG91dChzdHJpbmdpZnlDb21tb25EYXRhKG5hbWVMaW1pdCwgJzM0bScsIHByb3ZpZGVyLCBkYXRhKSArICdcXG4nKTtcbn1cbmZ1bmN0aW9uIHdyaXRlRXJyb3JEYXRhKG5hbWVMaW1pdDogbnVtYmVyLCBwcm92aWRlcjogTm9kZUNvbnNvbGVSZWNlaXZlciwgZGF0YTogYW55KSB7XG5cdHdyaXRlU3Rkb3V0KHN0cmluZ2lmeUNvbW1vbkRhdGEobmFtZUxpbWl0LCAnMzFtJywgcHJvdmlkZXIsIGRhdGEpICsgJ1xcbicpO1xufVxuZnVuY3Rpb24gd3JpdGVXYXJuaW5nRGF0YShuYW1lTGltaXQ6IG51bWJlciwgcHJvdmlkZXI6IE5vZGVDb25zb2xlUmVjZWl2ZXIsIGRhdGE6IGFueSkge1xuXHR3cml0ZVN0ZG91dChzdHJpbmdpZnlDb21tb25EYXRhKG5hbWVMaW1pdCwgJzMzbScsIHByb3ZpZGVyLCBkYXRhKSArICdcXG4nKTtcbn1cbmZ1bmN0aW9uIHdyaXRlRGVidWdEYXRhKG5hbWVMaW1pdDogbnVtYmVyLCBwcm92aWRlcjogTm9kZUNvbnNvbGVSZWNlaXZlciwgZGF0YTogYW55KSB7XG5cdHdyaXRlU3Rkb3V0KHN0cmluZ2lmeUNvbW1vbkRhdGEobmFtZUxpbWl0LCAnOTBtJywgcHJvdmlkZXIsIGRhdGEpICsgJ1xcbicpO1xufVxuXG5pbnRlcmZhY2UgSVByb2dyZXNzSXRlbSB7XG5cdG5hbWU6IHN0cmluZyxcblx0cHJvZ3Jlc3M6IG51bWJlcixcblx0dGltZTogbnVtYmVyXG59XG5jb25zdCBwcm9ncmVzc2VzOiB7IFtrZXk6IHN0cmluZ106IElQcm9ncmVzc0l0ZW0gfSA9IHt9O1xuZnVuY3Rpb24gcHJvZ3Jlc3NTdGFydChuYW1lTGltaXQ6IG51bWJlciwgcHJvdmlkZXI6IE5vZGVDb25zb2xlUmVjZWl2ZXIsIGRhdGE6IGFueSkge1xuXHRwcm9ncmVzc2VzW2RhdGEubmFtZV0gPSB7XG5cdFx0bmFtZTogZGF0YS5uYW1lLFxuXHRcdHByb2dyZXNzOiAwLFxuXHRcdHRpbWU6IGRhdGEudGltZVxuXHR9O1xufVxuZnVuY3Rpb24gcHJvZ3Jlc3NFbmQobmFtZUxpbWl0OiBudW1iZXIsIHByb3ZpZGVyOiBOb2RlQ29uc29sZVJlY2VpdmVyLCBkYXRhOiBhbnkpIHtcblx0ZGVsZXRlIHByb2dyZXNzZXNbZGF0YS5uYW1lXTtcbn1cbmZ1bmN0aW9uIHByb2dyZXNzKG5hbWVMaW1pdDogbnVtYmVyLCBwcm92aWRlcjogTm9kZUNvbnNvbGVSZWNlaXZlciwgZGF0YTogYW55KSB7XG5cdGlmICghcHJvZ3Jlc3Nlc1tkYXRhLm5hbWVdKVxuXHRcdHJldHVybjtcblx0cHJvZ3Jlc3Nlc1tkYXRhLm5hbWVdLnRpbWUgPSBkYXRhLnRpbWU7XG5cdHByb2dyZXNzZXNbZGF0YS5uYW1lXS5wcm9ncmVzcyA9IGRhdGEucHJvZ3Jlc3M7XG59XG5mdW5jdGlvbiByZW5kZXJQcm9ncmVzcyhuYW1lTGltaXQ6IG51bWJlcikge1xuXHRzYXZlKCk7XG5cdGxldCBpID0gMDtcblx0Zm9yIChsZXQgcHJvZ3Jlc3Mgb2YgT2JqZWN0LnZhbHVlcyhwcm9ncmVzc2VzKSkge1xuXHRcdG1vdmVDdXJzb3IoaSk7XG5cdFx0Y2xlYXJMaW5lKCk7XG5cdFx0bGV0IHBlcmNlbnQgPSBNYXRoLmNlaWwocHJvZ3Jlc3MucHJvZ3Jlc3MpO1xuXHRcdHdyaXRlU3Rkb3V0KGBcXHUwMDFCWzM0bSR7cHJvZ3Jlc3MubmFtZS5wYWRTdGFydChuYW1lTGltaXQpfSAkeyhwZXJjZW50ICsgJyUnKS5wYWRTdGFydCg0LCAnICcpfSAkeyd8Jy5yZXBlYXQoTWF0aC5jZWlsKCgocHJvY2Vzcy5zdGRvdXQgYXMgYW55KS5jb2x1bW5zIC0gMSAtIDMgLSAxIC0gMSAtIG5hbWVMaW1pdCkgLyAxMDAgKiBwZXJjZW50KSl9YCk7XG5cdFx0Ly8gd3JpdGVFc2NhcGUoJzM0bScpO1xuXHRcdC8vIHdyaXRlU3Rkb3V0KCg8SVByb2dyZXNzSXRlbT5wcm9ncmVzcykubmFtZS5wYWRTdGFydCgxOCwnICcpKTtcblx0XHQvLyB3cml0ZVN0ZG91dCgnICcpO1xuXHRcdC8vIHdyaXRlRGF0ZShwcm9ncmVzcy50aW1lKTtcblx0XHQvLyB3cml0ZVN0ZG91dCgnICcpO1xuXHRcdC8vIHdyaXRlU3Rkb3V0KChwZXJjZW50KyclJykucGFkU3RhcnQoNCwnICcpKTtcblx0XHQvLyB3cml0ZVN0ZG91dCgnICcpO1xuXHRcdC8vIHdyaXRlU3Rkb3V0KCd8Jy5yZXBlYXQoTWF0aC5jZWlsKCgoPGFueT5wcm9jZXNzLnN0ZG91dCkuY29sdW1ucy0xLTMtMS04LTEtMTgpLzEwMCpwZXJjZW50KSkpO1xuXHRcdGkrKztcblx0fVxuXG5cdHJlc3RvcmUoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm9kZUNvbnNvbGVSZWNlaXZlciBleHRlbmRzIEJhc2ljUmVjZWl2ZXIge1xuXHRuYW1lTGltaXQ6IG51bWJlcjtcblxuXHRjb25zdHJ1Y3RvcihuYW1lTGltaXQgPSAxOCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5uYW1lTGltaXQgPSBuYW1lTGltaXQ7XG5cdH1cblxuXHR3cml0ZShkYXRhOiBhbnkpIHtcblx0XHRsZXQgeyBuYW1lTGltaXQgfSA9IHRoaXM7XG5cdFx0aWYgKE9iamVjdC52YWx1ZXMocHJvZ3Jlc3NlcykubGVuZ3RoICE9PSAwKSB7XG5cdFx0XHRzdGFydEJ1ZmZlcmluZygpO1xuXHRcdH1cblx0XHRkYXRhLnN0cmluZyA9IHN0cmluZ2lmeURhdGEobmFtZUxpbWl0LCBkYXRhKTtcblx0XHQvLyBpZiAoZGF0YS5yZXBlYXRlZCkge1xuXHRcdC8vIFx0aWYoIXByb2Nlc3MuZW52Lk5PX0NPTExBUFNFKXtcblx0XHQvLyBcdFx0c2F2ZSgpO1xuXHRcdC8vIFx0XHR3cml0ZUVzY2FwZShkYXRhLnN0cmluZy5zcGxpdCgnXFxuJykubGVuZ3RoICsgJ0EnKTtcblx0XHQvLyBcdFx0Ly9kYXRhLnJlcGVhdHNcblx0XHQvLyBcdH1cblx0XHQvLyB9XG5cdFx0c3dpdGNoIChkYXRhLnR5cGUpIHtcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuSURFTlQ6XG5cdFx0XHRcdHdyaXRlU3Rkb3V0KHN0cmluZ2lmeUlkZW50RGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpICsgJ1xcbicpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuREVFTlQ6XG5cdFx0XHRcdHdyaXRlU3Rkb3V0KHN0cmluZ2lmeURlZW50RGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpICsgJ1xcbicpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuTE9HOlxuXHRcdFx0XHR3cml0ZUxvZ0RhdGEobmFtZUxpbWl0LCB0aGlzLCBkYXRhKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIExPR0dFUl9BQ1RJT05TLkVSUk9SOlxuXHRcdFx0XHR3cml0ZUVycm9yRGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuV0FSTklORzpcblx0XHRcdFx0d3JpdGVXYXJuaW5nRGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuREVCVUc6XG5cdFx0XHRcdGlmIChERUJVRyA9PT0gJyonIHx8IH5ERUJVRy5zcGxpdCgnLCcpLmluZGV4T2YoZGF0YS5uYW1lKSlcblx0XHRcdFx0XHR3cml0ZURlYnVnRGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuVElNRV9TVEFSVDpcblx0XHRcdFx0d3JpdGVTdGRvdXQoc3RyaW5naWZ5VGltZVN0YXJ0RGF0YShuYW1lTGltaXQsIHRoaXMsIGRhdGEpICsgJ1xcbicpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuVElNRV9FTkQ6XG5cdFx0XHRcdHdyaXRlU3Rkb3V0KHN0cmluZ2lmeVRpbWVFbmREYXRhKG5hbWVMaW1pdCwgdGhpcywgZGF0YSkgKyAnXFxuJyk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBMT0dHRVJfQUNUSU9OUy5QUk9HUkVTU19TVEFSVDpcblx0XHRcdFx0cHJvZ3Jlc3NTdGFydChuYW1lTGltaXQsIHRoaXMsIGRhdGEpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuUFJPR1JFU1NfRU5EOlxuXHRcdFx0XHRwcm9ncmVzc0VuZChuYW1lTGltaXQsIHRoaXMsIGRhdGEpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgTE9HR0VSX0FDVElPTlMuUFJPR1JFU1M6XG5cdFx0XHRcdHByb2dyZXNzKG5hbWVMaW1pdCwgdGhpcywgZGF0YSk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0Y29uc29sZS5fbG9nKGRhdGEpO1xuXHRcdH1cblx0XHQvLyBpZiAoZGF0YS5yZXBlYXRlZCkge1xuXHRcdC8vIFx0aWYoIXByb2Nlc3MuZW52Lk5PX0NPTExBUFNFKXJlc3RvcmUoKTtcblx0XHQvLyB9XG5cdFx0Ly8gVE9ETzogU3VwcG9ydCBmb3Igbm9uLXR0eSB0ZXJtaW5hbHNcblx0XHRpZiAoT2JqZWN0LnZhbHVlcyhwcm9ncmVzc2VzKS5sZW5ndGggIT09IDApIHtcblx0XHRcdHJlbmRlclByb2dyZXNzKG5hbWVMaW1pdCk7XG5cdFx0XHRmbHVzaEJ1ZmZlcigpO1xuXHRcdH1cblx0fVxufVxuXG5sZXQgdGVybWluYWxMb2dnZXIgPSBuZXcgTG9nZ2VyKCd0ZXJtaW5hbCcpO1xuXG5wcm9jZXNzLm9uKCd1bmNhdWdodEV4Y2VwdGlvbicsIGUgPT4ge1xuXHR0ZXJtaW5hbExvZ2dlci5lcnIoJ1VuY2F1Z2h0RXhjZXB0aW9uOicpO1xuXHR0ZXJtaW5hbExvZ2dlci5lcnIoZS5zdGFjayk7XG5cdC8vIHByb2Nlc3MuZXhpdCgwKTtcbn0pO1xuXG5wcm9jZXNzLm9uKCd1bmhhbmRsZWRSZWplY3Rpb24nLCBlID0+IHtcblx0dGVybWluYWxMb2dnZXIuZXJyKCdVbmhhbmRsZWRSZWplY3Rpb246Jyk7XG5cdHRlcm1pbmFsTG9nZ2VyLmVycihlLnN0YWNrKTtcblx0Ly8gcHJvY2Vzcy5leGl0KDApO1xufSk7XG5cbi8vIHByb2Nlc3Mub24oJ3dhcm5pbmcnLCBlID0+IHtcbi8vIFx0dGVybWluYWxMb2dnZXIud2FybihlLnN0YWNrKTtcbi8vIH0pO1xuIl19 |
@@ -10,4 +10,2 @@ import util from 'util'; | ||
const { format } = util; | ||
const ansiColors: { [key: string]: number[] } = { | ||
@@ -89,3 +87,3 @@ reset: [0, 0], | ||
function stringifyData(nameLimit: number, data: any) { | ||
let uncolored = format(data.line, ...data.params || []); | ||
let uncolored = util.format(data.line, ...data.params || []); | ||
return uncolored.replace(/{(\/?)([^}]+)}/g, (...d: any[]) => { | ||
@@ -92,0 +90,0 @@ if (!ansiColors[d[2]]) return d[0]; |
@@ -17,2 +17,2 @@ "use strict"; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvZ2dlci9yZWNlaXZlcnMvcmVtb3RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOENBQXdFO0FBQ3hFLDhGQUFvRjtBQUNwRiw0RUFBcUU7QUFFckUsTUFBcUIsY0FBZSxTQUFRLHNCQUFhO0lBRXhEO1FBQ0MsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksK0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSx3QkFBYyxFQUFFLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUNELEtBQUssQ0FBQyxDQUFlO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0Q7QUFURCxpQ0FTQyIsImZpbGUiOiJsb2dnZXIvcmVjZWl2ZXJzL3JlbW90ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2dnZXIsIHsgQmFzaWNSZWNlaXZlciwgTG9nZ2VyQWN0aW9uIH0gZnJvbSBcIkBtZXRlb3ItaXQvbG9nZ2VyXCI7XG5pbXBvcnQgUG90YXRvU29ja2V0Q2xpZW50IGZyb20gXCJwYWNrYWdlcy9zb2NrZXQvaW50ZWdyYXRpb25zL1BvdGF0b1dlYlNvY2tldENsaWVudFwiO1xuaW1wb3J0IE1zZ1BhY2tFbmNvZGVyIGZyb20gXCJwYWNrYWdlcy9zb2NrZXQvZW5jb2RlcnMvTXNnUGFja0VuY29kZXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVtb3RlUmVjZWl2ZXIgZXh0ZW5kcyBCYXNpY1JlY2VpdmVyIHtcblx0c29ja2V0OiBQb3RhdG9Tb2NrZXRDbGllbnQ7XG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5zb2NrZXQgPSBuZXcgUG90YXRvU29ja2V0Q2xpZW50KCdSZW1vdGVSZWNlaXZlcicsIG5ldyBNc2dQYWNrRW5jb2RlcigpLCBcIndzOi8vbG9jYWxob3N0OjgwODNcIiwgMTAwKTtcblx0fVxuXHR3cml0ZShlOiBMb2dnZXJBY3Rpb24pIHtcblx0XHR0aGlzLnNvY2tldC5lbWl0KCdsaW5lJywgZSk7XG5cdH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvZ2dlci9yZWNlaXZlcnMvcmVtb3RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsOENBQWdFO0FBQ2hFLDhGQUFvRjtBQUNwRiw0RUFBcUU7QUFFckUsTUFBcUIsY0FBZSxTQUFRLHNCQUFhO0lBRXhEO1FBQ0MsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksK0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSx3QkFBYyxFQUFFLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUNELEtBQUssQ0FBQyxDQUFlO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0Q7QUFURCxpQ0FTQyIsImZpbGUiOiJsb2dnZXIvcmVjZWl2ZXJzL3JlbW90ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2ljUmVjZWl2ZXIsIExvZ2dlckFjdGlvbiB9IGZyb20gXCJAbWV0ZW9yLWl0L2xvZ2dlclwiO1xuaW1wb3J0IFBvdGF0b1NvY2tldENsaWVudCBmcm9tIFwicGFja2FnZXMvc29ja2V0L2ludGVncmF0aW9ucy9Qb3RhdG9XZWJTb2NrZXRDbGllbnRcIjtcbmltcG9ydCBNc2dQYWNrRW5jb2RlciBmcm9tIFwicGFja2FnZXMvc29ja2V0L2VuY29kZXJzL01zZ1BhY2tFbmNvZGVyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlbW90ZVJlY2VpdmVyIGV4dGVuZHMgQmFzaWNSZWNlaXZlciB7XG5cdHNvY2tldDogUG90YXRvU29ja2V0Q2xpZW50O1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMuc29ja2V0ID0gbmV3IFBvdGF0b1NvY2tldENsaWVudCgnUmVtb3RlUmVjZWl2ZXInLCBuZXcgTXNnUGFja0VuY29kZXIoKSwgXCJ3czovL2xvY2FsaG9zdDo4MDgzXCIsIDEwMCk7XG5cdH1cblx0d3JpdGUoZTogTG9nZ2VyQWN0aW9uKSB7XG5cdFx0dGhpcy5zb2NrZXQuZW1pdCgnbGluZScsIGUpO1xuXHR9XG59XG4iXX0= |
@@ -1,2 +0,2 @@ | ||
import Logger, { BasicReceiver, LoggerAction } from "@meteor-it/logger"; | ||
import { BasicReceiver, LoggerAction } from "@meteor-it/logger"; | ||
import PotatoSocketClient from "packages/socket/integrations/PotatoWebSocketClient"; | ||
@@ -3,0 +3,0 @@ import MsgPackEncoder from "packages/socket/encoders/MsgPackEncoder"; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
180739
2426
Updated@meteor-it/terminal@^0.5.18