diff --git a/dist/beautylog.node.code.js b/dist/beautylog.node.code.js index c8030b0..a539bbf 100644 --- a/dist/beautylog.node.code.js +++ b/dist/beautylog.node.code.js @@ -1,6 +1,6 @@ /// +var plugins = require("./beautylog.plugins"); var codeFunction = function (codeString, options) { - var hlight = require("hlight"); var codeSnippet = { source: codeString, highlighted: "default" @@ -11,9 +11,9 @@ var codeFunction = function (codeString, options) { } ; if (typeof options != "undefined") { - codeSnippet.highlighted = hlight(codeSnippet.source, options.language); + codeSnippet.highlighted = plugins.hlight(codeSnippet.source, options.language); } }; module.exports = codeFunction; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJlYXV0eWxvZy5ub2RlLmNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNENBQTRDO0FBRTVDLElBQUksWUFBWSxHQUFHLFVBQVMsVUFBVSxFQUFDLE9BQVE7SUFDM0MsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLElBQUksV0FBVyxHQUFHO1FBQ2QsTUFBTSxFQUFDLFVBQVU7UUFDakIsV0FBVyxFQUFDLFNBQVM7S0FDeEIsQ0FBQztJQUNGLEVBQUUsQ0FBQyxDQUFDLE9BQU8sVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFBLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sQ0FBQztJQUNYLENBQUM7SUFBQSxDQUFDO0lBQ0YsRUFBRSxDQUFDLENBQUMsT0FBTyxPQUFPLElBQUksV0FBVyxDQUFDLENBQUEsQ0FBQztRQUMvQixXQUFXLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUxRSxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBQ0YsaUJBQVMsWUFBWSxDQUFDIiwiZmlsZSI6ImJlYXV0eWxvZy5ub2RlLmNvZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90eXBpbmdzL21haW4uZC50c1wiIC8+XG5cbnZhciBjb2RlRnVuY3Rpb24gPSBmdW5jdGlvbihjb2RlU3RyaW5nLG9wdGlvbnM/KXtcbiAgICBsZXQgaGxpZ2h0ID0gcmVxdWlyZShcImhsaWdodFwiKTtcbiAgICB2YXIgY29kZVNuaXBwZXQgPSB7XG4gICAgICAgIHNvdXJjZTpjb2RlU3RyaW5nLFxuICAgICAgICBoaWdobGlnaHRlZDpcImRlZmF1bHRcIlxuICAgIH07XG4gICAgaWYgKHR5cGVvZiBjb2RlU3RyaW5nICE9IFwic3RyaW5nXCIpe1xuICAgICAgICBjb25zb2xlLmxvZyhcImJlYXV0eWxvZy5jb2RlKCkgZXhwZWN0cyBhIHN0cmluZyBhcyBmaXJzdCBhcmd1bWVudCFcIik7XG4gICAgICAgIHJldHVybjtcbiAgICB9O1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyAhPSBcInVuZGVmaW5lZFwiKXtcbiAgICAgICAgY29kZVNuaXBwZXQuaGlnaGxpZ2h0ZWQgPSBobGlnaHQoY29kZVNuaXBwZXQuc291cmNlLG9wdGlvbnMubGFuZ3VhZ2UpO1xuICAgICAgICAvL2NvbnNvbGUubG9nKGNvZGVTbmlwcGV0LmhpZ2hsaWdodGVkKVxuICAgIH1cbn07XG5leHBvcnQgPSBjb2RlRnVuY3Rpb247Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJlYXV0eWxvZy5ub2RlLmNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNENBQTRDO0FBRTVDLElBQU8sT0FBTyxXQUFXLHFCQUFxQixDQUFDLENBQUM7QUFDaEQsSUFBSSxZQUFZLEdBQUcsVUFBUyxVQUFVLEVBQUMsT0FBUTtJQUMzQyxJQUFJLFdBQVcsR0FBRztRQUNkLE1BQU0sRUFBQyxVQUFVO1FBQ2pCLFdBQVcsRUFBQyxTQUFTO0tBQ3hCLENBQUM7SUFDRixFQUFFLENBQUMsQ0FBQyxPQUFPLFVBQVUsSUFBSSxRQUFRLENBQUMsQ0FBQSxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUNwRSxNQUFNLENBQUM7SUFDWCxDQUFDO0lBQUEsQ0FBQztJQUNGLEVBQUUsQ0FBQyxDQUFDLE9BQU8sT0FBTyxJQUFJLFdBQVcsQ0FBQyxDQUFBLENBQUM7UUFDL0IsV0FBVyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWxGLENBQUM7QUFDTCxDQUFDLENBQUM7QUFDRixpQkFBUyxZQUFZLENBQUMiLCJmaWxlIjoiYmVhdXR5bG9nLm5vZGUuY29kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cblxuaW1wb3J0IHBsdWdpbnMgPSByZXF1aXJlKFwiLi9iZWF1dHlsb2cucGx1Z2luc1wiKTtcbnZhciBjb2RlRnVuY3Rpb24gPSBmdW5jdGlvbihjb2RlU3RyaW5nLG9wdGlvbnM/KXtcbiAgICB2YXIgY29kZVNuaXBwZXQgPSB7XG4gICAgICAgIHNvdXJjZTpjb2RlU3RyaW5nLFxuICAgICAgICBoaWdobGlnaHRlZDpcImRlZmF1bHRcIlxuICAgIH07XG4gICAgaWYgKHR5cGVvZiBjb2RlU3RyaW5nICE9IFwic3RyaW5nXCIpe1xuICAgICAgICBjb25zb2xlLmxvZyhcImJlYXV0eWxvZy5jb2RlKCkgZXhwZWN0cyBhIHN0cmluZyBhcyBmaXJzdCBhcmd1bWVudCFcIik7XG4gICAgICAgIHJldHVybjtcbiAgICB9O1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyAhPSBcInVuZGVmaW5lZFwiKXtcbiAgICAgICAgY29kZVNuaXBwZXQuaGlnaGxpZ2h0ZWQgPSBwbHVnaW5zLmhsaWdodChjb2RlU25pcHBldC5zb3VyY2Usb3B0aW9ucy5sYW5ndWFnZSk7XG4gICAgICAgIC8vY29uc29sZS5sb2coY29kZVNuaXBwZXQuaGlnaGxpZ2h0ZWQpXG4gICAgfVxufTtcbmV4cG9ydCA9IGNvZGVGdW5jdGlvbjsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= diff --git a/dist/beautylog.node.js b/dist/beautylog.node.js index 1581ee3..e940ab2 100644 --- a/dist/beautylog.node.js +++ b/dist/beautylog.node.js @@ -1,6 +1,7 @@ /// -var log = require("./beautylog.node.log"); +exports.log = require("./beautylog.node.log"); exports.table = require("./beautylog.node.table"); +exports.code = require("./beautylog.node.code"); var figletModule = require("./beautylog.node.figlet"); exports.figlet = figletModule.figlet; exports.figletSync = figletModule.figletSync; @@ -10,7 +11,7 @@ exports.figletSync = figletModule.figletSync; * @returns {boolean} */ exports.dir = function (logText) { - return log(logText, 'dir'); + return exports.log(logText, 'dir'); }; /** * logs an error to console @@ -18,7 +19,7 @@ exports.dir = function (logText) { * @returns {boolean} */ exports.error = function (logText) { - return log(logText, 'error'); + return exports.log(logText, 'error'); }; /** * logs an info to console @@ -26,7 +27,7 @@ exports.error = function (logText) { * @returns {boolean} */ exports.info = function (logText) { - return log(logText, 'info'); + return exports.log(logText, 'info'); }; /** * logs an 'OK!' message to console @@ -34,7 +35,7 @@ exports.info = function (logText) { * @returns {boolean} */ exports.ok = function (logText) { - return log(logText, 'ok'); + return exports.log(logText, 'ok'); }; /** * logs a success to console @@ -42,7 +43,7 @@ exports.ok = function (logText) { * @returns {boolean} */ exports.success = function (logText) { - return log(logText, 'success'); + return exports.log(logText, 'success'); }; /** * logs a 'warn:' message to console @@ -50,7 +51,7 @@ exports.success = function (logText) { * @returns {boolean} */ exports.warn = function (logText) { - return log(logText, 'warn'); + return exports.log(logText, 'warn'); }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJlYXV0eWxvZy5ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRDQUE0QztBQUU1QyxJQUFPLEdBQUcsV0FBVyxzQkFBc0IsQ0FBQyxDQUFDO0FBQy9CLGFBQUssV0FBVyx3QkFBd0IsQ0FBQyxDQUFDO0FBRXhELElBQU8sWUFBWSxXQUFXLHlCQUF5QixDQUFDLENBQUM7QUFFOUMsY0FBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7QUFDN0Isa0JBQVUsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO0FBQ2hEOzs7O0dBSUc7QUFDUSxXQUFHLEdBQUcsVUFBUyxPQUFPO0lBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUdGOzs7O0dBSUc7QUFDUSxhQUFLLEdBQUcsVUFBUyxPQUFPO0lBQy9CLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDUSxZQUFJLEdBQUcsVUFBUyxPQUFPO0lBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDUSxVQUFFLEdBQUcsVUFBUyxPQUFPO0lBQzVCLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDUSxlQUFPLEdBQUcsVUFBUyxPQUFPO0lBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDUSxZQUFJLEdBQUcsVUFBUyxPQUFPO0lBQzlCLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyIsImZpbGUiOiJiZWF1dHlsb2cubm9kZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cblxuaW1wb3J0IGxvZyA9IHJlcXVpcmUoXCIuL2JlYXV0eWxvZy5ub2RlLmxvZ1wiKTtcbmV4cG9ydCBpbXBvcnQgdGFibGUgPSByZXF1aXJlKFwiLi9iZWF1dHlsb2cubm9kZS50YWJsZVwiKTtcbmltcG9ydCBjb2RlID0gcmVxdWlyZShcIi4vYmVhdXR5bG9nLm5vZGUuY29kZVwiKTtcbmltcG9ydCBmaWdsZXRNb2R1bGUgPSByZXF1aXJlKFwiLi9iZWF1dHlsb2cubm9kZS5maWdsZXRcIik7XG5cbmV4cG9ydCBsZXQgZmlnbGV0ID0gZmlnbGV0TW9kdWxlLmZpZ2xldDtcbmV4cG9ydCBsZXQgZmlnbGV0U3luYyA9IGZpZ2xldE1vZHVsZS5maWdsZXRTeW5jO1xuLyoqXG4gKiBsb2dzIGFuIGRpcmVjdG9yeSB0byBjb25zb2xlXG4gKiBAcGFyYW0gbG9nVGV4dFxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBsZXQgZGlyID0gZnVuY3Rpb24obG9nVGV4dCkge1xuICAgIHJldHVybiBsb2cobG9nVGV4dCwgJ2RpcicpO1xufTtcblxuXG4vKipcbiAqIGxvZ3MgYW4gZXJyb3IgdG8gY29uc29sZVxuICogQHBhcmFtIGxvZ1RleHRcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgbGV0IGVycm9yID0gZnVuY3Rpb24obG9nVGV4dCkge1xuICAgIHJldHVybiBsb2cobG9nVGV4dCwgJ2Vycm9yJyk7XG59O1xuXG4vKipcbiAqIGxvZ3MgYW4gaW5mbyB0byBjb25zb2xlXG4gKiBAcGFyYW0gbG9nVGV4dFxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBsZXQgaW5mbyA9IGZ1bmN0aW9uKGxvZ1RleHQpIHtcbiAgICByZXR1cm4gbG9nKGxvZ1RleHQsICdpbmZvJyk7XG59O1xuXG4vKipcbiAqIGxvZ3MgYW4gJ09LIScgbWVzc2FnZSB0byBjb25zb2xlXG4gKiBAcGFyYW0gbG9nVGV4dFxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBsZXQgb2sgPSBmdW5jdGlvbihsb2dUZXh0KSB7XG4gICAgcmV0dXJuIGxvZyhsb2dUZXh0LCAnb2snKTtcbn07XG5cbi8qKlxuICogbG9ncyBhIHN1Y2Nlc3MgdG8gY29uc29sZVxuICogQHBhcmFtIGxvZ1RleHQgc3RyaW5nIHRvIGxvZyBhcyBlcnJvclxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBsZXQgc3VjY2VzcyA9IGZ1bmN0aW9uKGxvZ1RleHQpIHtcbiAgICByZXR1cm4gbG9nKGxvZ1RleHQsICdzdWNjZXNzJyk7XG59O1xuXG4vKipcbiAqIGxvZ3MgYSAnd2FybjonIG1lc3NhZ2UgdG8gY29uc29sZVxuICogQHBhcmFtIGxvZ1RleHQgc3RyaW5nIHRvIGxvZyBhcyBlcnJvclxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBsZXQgd2FybiA9IGZ1bmN0aW9uKGxvZ1RleHQpIHtcbiAgICByZXR1cm4gbG9nKGxvZ1RleHQsICd3YXJuJyk7XG59OyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJlYXV0eWxvZy5ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRDQUE0QztBQUU5QixXQUFHLFdBQVcsc0JBQXNCLENBQUMsQ0FBQztBQUN0QyxhQUFLLFdBQVcsd0JBQXdCLENBQUMsQ0FBQztBQUMxQyxZQUFJLFdBQVcsdUJBQXVCLENBQUMsQ0FBQztBQUN0RCxJQUFPLFlBQVksV0FBVyx5QkFBeUIsQ0FBQyxDQUFDO0FBRTlDLGNBQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO0FBQzdCLGtCQUFVLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQztBQUNoRDs7OztHQUlHO0FBQ1EsV0FBRyxHQUFHLFVBQVMsT0FBTztJQUM3QixNQUFNLENBQUMsV0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFHRjs7OztHQUlHO0FBQ1EsYUFBSyxHQUFHLFVBQVMsT0FBTztJQUMvQixNQUFNLENBQUMsV0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ1EsWUFBSSxHQUFHLFVBQVMsT0FBTztJQUM5QixNQUFNLENBQUMsV0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ1EsVUFBRSxHQUFHLFVBQVMsT0FBTztJQUM1QixNQUFNLENBQUMsV0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ1EsZUFBTyxHQUFHLFVBQVMsT0FBTztJQUNqQyxNQUFNLENBQUMsV0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ1EsWUFBSSxHQUFHLFVBQVMsT0FBTztJQUM5QixNQUFNLENBQUMsV0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMiLCJmaWxlIjoiYmVhdXR5bG9nLm5vZGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90eXBpbmdzL21haW4uZC50c1wiIC8+XG5cbmV4cG9ydCBpbXBvcnQgbG9nID0gcmVxdWlyZShcIi4vYmVhdXR5bG9nLm5vZGUubG9nXCIpO1xuZXhwb3J0IGltcG9ydCB0YWJsZSA9IHJlcXVpcmUoXCIuL2JlYXV0eWxvZy5ub2RlLnRhYmxlXCIpO1xuZXhwb3J0IGltcG9ydCBjb2RlID0gcmVxdWlyZShcIi4vYmVhdXR5bG9nLm5vZGUuY29kZVwiKTtcbmltcG9ydCBmaWdsZXRNb2R1bGUgPSByZXF1aXJlKFwiLi9iZWF1dHlsb2cubm9kZS5maWdsZXRcIik7XG5cbmV4cG9ydCBsZXQgZmlnbGV0ID0gZmlnbGV0TW9kdWxlLmZpZ2xldDtcbmV4cG9ydCBsZXQgZmlnbGV0U3luYyA9IGZpZ2xldE1vZHVsZS5maWdsZXRTeW5jO1xuLyoqXG4gKiBsb2dzIGFuIGRpcmVjdG9yeSB0byBjb25zb2xlXG4gKiBAcGFyYW0gbG9nVGV4dFxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBsZXQgZGlyID0gZnVuY3Rpb24obG9nVGV4dCkge1xuICAgIHJldHVybiBsb2cobG9nVGV4dCwgJ2RpcicpO1xufTtcblxuXG4vKipcbiAqIGxvZ3MgYW4gZXJyb3IgdG8gY29uc29sZVxuICogQHBhcmFtIGxvZ1RleHRcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgbGV0IGVycm9yID0gZnVuY3Rpb24obG9nVGV4dCkge1xuICAgIHJldHVybiBsb2cobG9nVGV4dCwgJ2Vycm9yJyk7XG59O1xuXG4vKipcbiAqIGxvZ3MgYW4gaW5mbyB0byBjb25zb2xlXG4gKiBAcGFyYW0gbG9nVGV4dFxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBsZXQgaW5mbyA9IGZ1bmN0aW9uKGxvZ1RleHQpIHtcbiAgICByZXR1cm4gbG9nKGxvZ1RleHQsICdpbmZvJyk7XG59O1xuXG4vKipcbiAqIGxvZ3MgYW4gJ09LIScgbWVzc2FnZSB0byBjb25zb2xlXG4gKiBAcGFyYW0gbG9nVGV4dFxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBsZXQgb2sgPSBmdW5jdGlvbihsb2dUZXh0KSB7XG4gICAgcmV0dXJuIGxvZyhsb2dUZXh0LCAnb2snKTtcbn07XG5cbi8qKlxuICogbG9ncyBhIHN1Y2Nlc3MgdG8gY29uc29sZVxuICogQHBhcmFtIGxvZ1RleHQgc3RyaW5nIHRvIGxvZyBhcyBlcnJvclxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBsZXQgc3VjY2VzcyA9IGZ1bmN0aW9uKGxvZ1RleHQpIHtcbiAgICByZXR1cm4gbG9nKGxvZ1RleHQsICdzdWNjZXNzJyk7XG59O1xuXG4vKipcbiAqIGxvZ3MgYSAnd2FybjonIG1lc3NhZ2UgdG8gY29uc29sZVxuICogQHBhcmFtIGxvZ1RleHQgc3RyaW5nIHRvIGxvZyBhcyBlcnJvclxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBsZXQgd2FybiA9IGZ1bmN0aW9uKGxvZ1RleHQpIHtcbiAgICByZXR1cm4gbG9nKGxvZ1RleHQsICd3YXJuJyk7XG59OyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/dist/beautylog.plugins.js b/dist/beautylog.plugins.js index d0c0bd2..4c44f03 100644 --- a/dist/beautylog.plugins.js +++ b/dist/beautylog.plugins.js @@ -9,9 +9,10 @@ if (plugins.smartenv.getEnv().isNode) { cliTable: require("cli-table2"), colors: require("colors"), clc: require("cli-color"), - figlet: require("figlet") + figlet: require("figlet"), + hlight: require("hlight") }); } module.exports = plugins; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJlYXV0eWxvZy5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRDQUE0QztBQUU1QyxJQUFJLE9BQU8sR0FBTztJQUNkLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3pCLFFBQVEsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQzdCLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO0NBQ2xCLENBQUM7QUFDRixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUM7SUFDbEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQztRQUNwQyxRQUFRLEVBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUNoQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUN6QixHQUFHLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN6QixNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztLQUM1QixDQUFDLENBQUM7QUFDUCxDQUFDO0FBQ0QsaUJBQVMsT0FBTyxDQUFDIiwiZmlsZSI6ImJlYXV0eWxvZy5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxuXG52YXIgcGx1Z2luczphbnkgPSB7XG4gICAgbG9kYXNoOiByZXF1aXJlKFwibG9kYXNoXCIpLFxuICAgIHNtYXJ0ZW52OiByZXF1aXJlKFwic21hcnRlbnZcIiksXG4gICAgcTogcmVxdWlyZShcInFcIilcbn07XG5pZiAocGx1Z2lucy5zbWFydGVudi5nZXRFbnYoKS5pc05vZGUpe1xuICAgIHBsdWdpbnMgPSBwbHVnaW5zLmxvZGFzaC5hc3NpZ24ocGx1Z2lucyx7XG4gICAgICAgIGNsaVRhYmxlOiAgcmVxdWlyZShcImNsaS10YWJsZTJcIiksXG4gICAgICAgIGNvbG9yczogcmVxdWlyZShcImNvbG9yc1wiKSxcbiAgICAgICAgY2xjOiByZXF1aXJlKFwiY2xpLWNvbG9yXCIpLFxuICAgICAgICBmaWdsZXQ6IHJlcXVpcmUoXCJmaWdsZXRcIilcbiAgICB9KTtcbn1cbmV4cG9ydCA9IHBsdWdpbnM7Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJlYXV0eWxvZy5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRDQUE0QztBQUU1QyxJQUFJLE9BQU8sR0FBTztJQUNkLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3pCLFFBQVEsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQzdCLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO0NBQ2xCLENBQUM7QUFDRixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUM7SUFDbEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQztRQUNwQyxRQUFRLEVBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUNoQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUN6QixHQUFHLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN6QixNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUN6QixNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQztLQUM1QixDQUFDLENBQUM7QUFDUCxDQUFDO0FBQ0QsaUJBQVMsT0FBTyxDQUFDIiwiZmlsZSI6ImJlYXV0eWxvZy5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxuXG52YXIgcGx1Z2luczphbnkgPSB7XG4gICAgbG9kYXNoOiByZXF1aXJlKFwibG9kYXNoXCIpLFxuICAgIHNtYXJ0ZW52OiByZXF1aXJlKFwic21hcnRlbnZcIiksXG4gICAgcTogcmVxdWlyZShcInFcIilcbn07XG5pZiAocGx1Z2lucy5zbWFydGVudi5nZXRFbnYoKS5pc05vZGUpe1xuICAgIHBsdWdpbnMgPSBwbHVnaW5zLmxvZGFzaC5hc3NpZ24ocGx1Z2lucyx7XG4gICAgICAgIGNsaVRhYmxlOiAgcmVxdWlyZShcImNsaS10YWJsZTJcIiksXG4gICAgICAgIGNvbG9yczogcmVxdWlyZShcImNvbG9yc1wiKSxcbiAgICAgICAgY2xjOiByZXF1aXJlKFwiY2xpLWNvbG9yXCIpLFxuICAgICAgICBmaWdsZXQ6IHJlcXVpcmUoXCJmaWdsZXRcIiksXG4gICAgICAgIGhsaWdodDogcmVxdWlyZShcImhsaWdodFwiKVxuICAgIH0pO1xufVxuZXhwb3J0ID0gcGx1Z2luczsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= diff --git a/index.d.ts b/index.d.ts deleted file mode 100644 index e9a774c..0000000 --- a/index.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -declare module BeautylogPlugins { - var init: () => any; -} -declare var tableHelpers: { - makeRow: (cellCounterArg?: number, colorArg?: string) => any[]; -}; -declare class ConsoleTable { - tableHead: string[]; - rows: any; - type: string; - constructor(tableTypeArg: string, tableHeadArrayArg?: string[]); - push(row: string[]): void; - print(): void; -} -declare module BeautylogNode { - function init(): any; -} -declare module BeautylogNodeLog { - var init: () => (logText?: string, logType?: string) => boolean; -} -declare module BeautylogNodeCode { - var init: () => (codeString: any, options?: any) => void; -} -declare module BeautylogNodeTable { - var cliTable: any; - function init(): any; -} -declare module BeautylogNodeFiglet { - var figlet: (textArg: string, optionsArg?: any) => any; - var figletSync: (textArg: string, optionsArg?: any) => boolean; -} -declare module BeautylogBrowser { - function init(): any; -} -declare module BeautylogPromiseChain { -} -declare var plugins: any; -declare var beautylog: any; diff --git a/index.js b/index.js deleted file mode 100644 index c7a2f53..0000000 --- a/index.js +++ /dev/null @@ -1,325 +0,0 @@ -#!/usr/bin/env node - -/// -var BeautylogPlugins; -(function (BeautylogPlugins) { - var plugins = {}; - BeautylogPlugins.init = function () { - plugins = { - lodash: require("lodash"), - smartenv: require("smartenv"), - q: require("q") - }; - if (plugins.smartenv.getEnv().isNode) { - plugins = plugins.lodash.assign(plugins, { - colors: require("colors"), - clc: require("cli-color"), - figlet: require("figlet") - }); - } - return plugins; - }; -})(BeautylogPlugins || (BeautylogPlugins = {})); -/// -var tableHelpers = { - makeRow: function (cellCounterArg, colorArg) { - if (cellCounterArg === void 0) { cellCounterArg = 2; } - if (colorArg === void 0) { colorArg = "cyan"; } - var rowArray = []; - for (var i = 0; i < (cellCounterArg); i++) { - rowArray.push(String(i + 1).cyan); - } - return rowArray; - } -}; -var ConsoleTable = (function () { - function ConsoleTable(tableTypeArg, tableHeadArrayArg) { - if (tableHeadArrayArg === void 0) { tableHeadArrayArg = tableHelpers.makeRow(); } - switch (tableTypeArg) { - case "checks": - this.tableHead = ['Check Item:'.cyan, 'Status:'.cyan]; - break; - case "custom": - this.tableHead = tableHeadArrayArg; - break; - default: - break; - } - this.rows = []; - this.type = tableTypeArg; - } - ConsoleTable.prototype.push = function (row) { - this.rows.push(row); - }; - ConsoleTable.prototype.print = function () { - var table = new BeautylogNodeTable.cliTable({ - head: this.tableHead - }); - for (var row in this.rows) { - if (this.rows[row][1] == "success") { - this.rows[row][1] = ' '.bgGreen + ' ' + this.rows[row][1]; - } - else if (this.rows[row][1] == "error") { - this.rows[row][1] = ' '.bgRed + ' ' + this.rows[row][1]; - } - table.push(this.rows[row]); - } - ; - console.log(table.toString()); - }; - return ConsoleTable; -})(); -/// -var BeautylogNode; -(function (BeautylogNode) { - function init() { - var beautylogNode = { - log: BeautylogNodeLog.init(), - code: BeautylogNodeCode.init(), - figlet: BeautylogNodeFiglet.figlet, - figletSync: BeautylogNodeFiglet.figletSync - }; - /** - * logs an directory to console - * @param logText - * @returns {boolean} - */ - beautylogNode.dir = function (logText) { - return beautylogNode.log(logText, 'dir'); - }; - /** - * logs an error to console - * @param logText - * @returns {boolean} - */ - beautylogNode.error = function (logText) { - return beautylogNode.log(logText, 'error'); - }; - /** - * logs an info to console - * @param logText - * @returns {boolean} - */ - beautylogNode.info = function (logText) { - return beautylogNode.log(logText, 'info'); - }; - /** - * logs an 'OK!' message to console - * @param logText - * @returns {boolean} - */ - beautylogNode.ok = function (logText) { - return beautylogNode.log(logText, 'ok'); - }; - /** - * logs a success to console - * @param logText string to log as error - * @returns {boolean} - */ - beautylogNode.success = function (logText) { - return beautylogNode.log(logText, 'success'); - }; - /** - * logs a 'warn:' message to console - * @param logText string to log as error - * @returns {boolean} - */ - beautylogNode.warn = function (logText) { - return beautylogNode.log(logText, 'warn'); - }; - beautylogNode.table = BeautylogNodeTable.init(); - return beautylogNode; - } - BeautylogNode.init = init; -})(BeautylogNode || (BeautylogNode = {})); -/// -var BeautylogNodeLog; -(function (BeautylogNodeLog) { - BeautylogNodeLog.init = function () { - var localBl = { - dirPrefix: plugins.clc.bgXterm(39).xterm(231).bold(' DIR ') + ' ', - errorPrefix: ' Error: '.bgRed.white.bold + ' ', - infoPrefix: plugins.clc.bgXterm(198).xterm(231).bold(' INFO ') + ' ', - normalPrefix: ' Log: '.bgCyan.white.bold + ' ', - okPrefix: ' '.bgGreen + ' OK! '.bgBlack.green.bold + ' ', - successPrefix: ' Success: '.bgGreen.white.bold + ' ', - warnPrefix: ' '.bgYellow + ' Warn: '.bgBlack.yellow.bold + ' ' - }; - /** - * - * @param logText - * @param logType - * @returns {boolean} - */ - var logFunction = function (logText, logType) { - if (logText === void 0) { logText = 'empty log'; } - if (logType === void 0) { logType = 'normal'; } - try { - switch (logType) { - case 'dir': - logText = localBl.dirPrefix + plugins.clc.xterm(26)(logText); - break; - case 'error': - logText = localBl.errorPrefix + logText.red.bold; - break; - case 'info': - logText = localBl.infoPrefix + plugins.clc.xterm(198)(logText); - break; - case 'normal': - logText = localBl.normalPrefix + logText.cyan.bold; - break; - case 'ok': - logText = localBl.okPrefix + logText.bold; - break; - case 'success': - logText = localBl.successPrefix + logText.green.bold; - break; - case 'warn': - logText = localBl.warnPrefix + logText.bold; - break; - case 'log': - default: - logText.blue.bold; - console.log(('unknown logType for "' + logText + '"').red.bold); - break; - } - console.log(logText); - return true; - } - catch (error) { - console.log(localBl.errorPrefix + 'You seem to have tried logging something strange'.red.bold + error); - return false; - } - }; - return logFunction; - }; -})(BeautylogNodeLog || (BeautylogNodeLog = {})); -/// -var BeautylogNodeCode; -(function (BeautylogNodeCode) { - BeautylogNodeCode.init = function () { - var codeFunction = function (codeString, options) { - var hlight = require("hlight"); - var codeSnippet = { - source: codeString, - highlighted: "default" - }; - if (typeof codeString != "string") { - console.log("beautylog.code() expects a string as first argument!"); - return; - } - ; - if (typeof options != "undefined") { - codeSnippet.highlighted = hlight(codeSnippet.source, options.language); - } - }; - return codeFunction; - }; -})(BeautylogNodeCode || (BeautylogNodeCode = {})); -/// -var BeautylogNodeTable; -(function (BeautylogNodeTable) { - function init() { - BeautylogNodeTable.cliTable = require("cli-table2"); - var beautylogOsTable = {}; - beautylogOsTable.new = function (typeArg, tableHeadArrayArg) { - var newConsoleTable = new ConsoleTable(typeArg, tableHeadArrayArg); - return newConsoleTable; - }; - return beautylogOsTable; - } - BeautylogNodeTable.init = init; -})(BeautylogNodeTable || (BeautylogNodeTable = {})); -/// -var BeautylogNodeFiglet; -(function (BeautylogNodeFiglet) { - var defaultOptions = { - font: "Star Wars", - color: "green", - cb: function () { } - }; - BeautylogNodeFiglet.figlet = function (textArg, optionsArg) { - var done = plugins.q.defer(); - var mergeOptions = plugins.lodash.cloneDeep(defaultOptions); - var options = plugins.lodash.assign(mergeOptions, optionsArg); - plugins.figlet(textArg, { - font: options.font, - horizontalLayout: 'default', - verticalLayout: 'default' - }, function (err, data) { - if (err) { - console.log('Something went wrong...'); - console.dir(err); - return; - } - console.log(data[options.color]); - options.cb(); - done.resolve(); - }); - return done.promise; - }; - BeautylogNodeFiglet.figletSync = function (textArg, optionsArg) { - var mergeOptions = plugins.lodash.cloneDeep(defaultOptions); - var options = plugins.lodash.assign(mergeOptions, optionsArg); - console.log(plugins.figlet.textSync(textArg, { - font: options.font, - horizontalLayout: 'default', - verticalLayout: 'default' - })[options.color]); - return true; - }; -})(BeautylogNodeFiglet || (BeautylogNodeFiglet = {})); -/// -var BeautylogBrowser; -(function (BeautylogBrowser) { - function init() { - var beautylogBrowser = {}; - beautylogBrowser.log = function (message) { - console.log('%c Log: %c ' + message, "background:#42A5F5;color:#ffffff", "color:#42A5F5;"); - }; - beautylogBrowser.info = function (message) { - console.log('%c Info: %c ' + message, 'background:#EC407A;color:#ffffff;', 'color:#EC407A;'); - }; - beautylogBrowser.ok = function (message) { - console.log('%c OK: %c ' + message, "background:#000000;color:#8BC34A;", "color:#000000;"); - }; - beautylogBrowser.success = function (message) { - console.log('%c Success: %c ' + message, "background:#8BC34A;color:#ffffff;", "color:#8BC34A;"); - }; - beautylogBrowser.warn = function (message) { - console.log('%c Warn: %c ' + message, "background:#000000;color:#FB8C00;", "color:#000000;"); - }; - return beautylogBrowser; - } - BeautylogBrowser.init = init; -})(BeautylogBrowser || (BeautylogBrowser = {})); -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -/// -var plugins = BeautylogPlugins.init(); -var beautylog = (function () { - switch (plugins.smartenv.getEnv().runtimeEnv) { - case "node": - var beautylogOs = BeautylogNode.init(); - return beautylogOs; - break; - case "browser": - var beautylogBrowser = BeautylogBrowser.init(); - return beautylogBrowser; - break; - default: - console.log("something is strange about the platform in which you try to use beautylog"); - break; - } -})(); -module.exports = beautylog; - -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJlYXV0eWxvZy5wbHVnaW5zLnRzIiwiYmVhdXR5bG9nLmNsYXNzZXMudHMiLCJiZWF1dHlsb2cubm9kZS50cyIsImJlYXV0eWxvZy5ub2RlLmxvZy50cyIsImJlYXV0eWxvZy5ub2RlLmNvZGUudHMiLCJiZWF1dHlsb2cubm9kZS50YWJsZS50cyIsImJlYXV0eWxvZy5ub2RlLmZpZ2xldC50cyIsImJlYXV0eWxvZy5icm93c2VyLnRzIiwiYmVhdXR5bG9nLnByb21pc2VjaGFpbi50cyIsImluZGV4LnRzIl0sIm5hbWVzIjpbIkJlYXV0eWxvZ1BsdWdpbnMiLCJDb25zb2xlVGFibGUiLCJDb25zb2xlVGFibGUuY29uc3RydWN0b3IiLCJDb25zb2xlVGFibGUucHVzaCIsIkNvbnNvbGVUYWJsZS5wcmludCIsIkJlYXV0eWxvZ05vZGUiLCJCZWF1dHlsb2dOb2RlLmluaXQiLCJCZWF1dHlsb2dOb2RlTG9nIiwiQmVhdXR5bG9nTm9kZUNvZGUiLCJCZWF1dHlsb2dOb2RlVGFibGUiLCJCZWF1dHlsb2dOb2RlVGFibGUuaW5pdCIsIkJlYXV0eWxvZ05vZGVGaWdsZXQiLCJCZWF1dHlsb2dCcm93c2VyIiwiQmVhdXR5bG9nQnJvd3Nlci5pbml0Il0sIm1hcHBpbmdzIjoiQUFBQSxtQ0FBbUM7QUFDbkMsSUFBTyxnQkFBZ0IsQ0FpQnRCO0FBakJELFdBQU8sZ0JBQWdCLEVBQUMsQ0FBQztJQUNyQkEsSUFBSUEsT0FBT0EsR0FBT0EsRUFBRUEsQ0FBQ0E7SUFDVkEscUJBQUlBLEdBQUdBO1FBQ2QsT0FBTyxHQUFHO1lBQ04sTUFBTSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDN0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDbEIsQ0FBQztRQUNGLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQztZQUNs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LGdCQUFnQixRQW9CdEI7QUNyQkQsQUFDQSxtQ0FEbUM7QUNBbkMsNENBQTRDO0FBQzVDLCtDQUErQztBQUMvQywrQ0FBK0M7QUFDL0MsNENBQTRDO0FBQzVDLGdEQUFnRDtBQUNoRCxpREFBaUQ7QUFDakQsa0RBQWtEO0FBQ2xELG1EQUFtRDtBQUNuRCwrQ0FBK0M7QUFDL0Msb0RBQW9EO0FBRXBELElBQUksT0FBTyxHQUFHLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3RDLElBQUksU0FBUyxHQUFHLENBQUM7SUFDYixNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDM0MsS0FBSyxNQUFNO1lBQ1AsSUFBSSxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDbkIsS0FBSyxDQUFDO1FBQ1YsS0FBSyxTQUFTO1lBQ1YsSUFBSSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7WUFDeEIsS0FBSyxDQUFDO1FBQ1Y7WUFDSSxPQUFPLENBQUMsR0FBRyxDQUFDLDJFQUEyRSxDQUFDLENBQUM7WUFDekYsS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDTCxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL2luZGV4LnRzXCIgLz5cbm1vZHVsZSBCZWF1dHlsb2dQbHVnaW5zIHtcbiAgICB2YXIgcGx1Z2luczphbnkgPSB7fTtcbiAgICBleHBvcnQgdmFyIGluaXQgPSBmdW5jdGlvbigpe1xuICAgICAgICBwbHVnaW5zID0ge1xuICAgICAgICAgICAgbG9kYXNoOiByZXF1aXJlKFwibG9kYXNoXCIpLFxuICAgICAgICAgICAgc21hcnRlbnY6IHJlcXVpcmUoXCJzbWFydGVudlwiKSxcbiAgICAgICAgICAgIHE6IHJlcXVpcmUoXCJxXCIpXG4gICAgICAgIH07XG4gICAgICAgIGlmIChwbHVnaW5zLnNtYXJ0ZW52LmdldEVudigpLmlzTm9kZSl7XG4gICAgICAgICAgICBwbHVnaW5zID0gcGx1Z2lucy5sb2Rhc2guYXNzaWduKHBsdWdpbnMse1xuICAgICAgICAgICAgICAgIGNvbG9yczogcmVxdWlyZShcImNvbG9yc1wiKSxcbiAgICAgICAgICAgICAgICBjbGM6IHJlcXVpcmUoXCJjbGktY29sb3JcIiksXG4gICAgICAgICAgICAgICAgZmlnbGV0OiByZXF1aXJlKFwiZmlnbGV0XCIpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGx1Z2lucztcbiAgICB9O1xufSIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL2luZGV4LnRzXCIgLz5cbnZhciB0YWJsZUhlbHBlcnMgPSB7XG4gICAgbWFrZVJvdzogZnVuY3Rpb24oY2VsbENvdW50ZXJBcmc6bnVtYmVyID0gMixjb2xvckFyZzpzdHJpbmcgPSBcImN5YW5cIil7XG4gICAgICAgIHZhciByb3dBcnJheSA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IChjZWxsQ291bnRlckFyZyk7IGkrKykge1xuICAgICAgICAgICAgcm93QXJyYXkucHVzaChTdHJpbmcoaSArIDEpLmN5YW4pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3dBcnJheTtcbiAgICB9XG59O1xuXG5jbGFzcyBDb25zb2xlVGFibGUge1xuICAgIHRhYmxlSGVhZDpzdHJpbmdbXTtcbiAgICByb3dzO1xuICAgIHR5cGU6c3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKHRhYmxlVHlwZUFyZzpzdHJpbmcsdGFibGVIZWFkQXJyYXlBcmc6c3RyaW5nW10gPSB0YWJsZUhlbHBlcnMubWFrZVJvdygpKSB7XG4gICAgICAgIHN3aXRjaCAodGFibGVUeXBlQXJnKSB7XG4gICAgICAgICAgICBjYXNlIFwiY2hlY2tzXCI6XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZUhlYWQgPSBbJ0NoZWNrIEl0ZW06Jy5jeWFuLCdTdGF0dXM6Jy5jeWFuXTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJjdXN0b21cIjpcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlSGVhZCA9IHRhYmxlSGVhZEFycmF5QXJnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJvd3MgPSBbXTtcbiAgICAgICAgdGhpcy50eXBlID0gdGFibGVUeXBlQXJnO1xuICAgIH1cbiAgICBwdXNoKHJvdzpzdHJpbmdbXSl7XG4gICAgICAgIHRoaXMucm93cy5wdXNoKHJvdyk7XG4gICAgfVxuICAgIHByaW50KCkge1xuICAgICAgICB2YXIgdGFibGUgPSBuZXcgQmVhdXR5bG9nTm9kZVRhYmxlLmNsaVRhYmxlKHtcbiAgICAgICAgICAgIGhlYWQ6IHRoaXMudGFibGVIZWFkXG4gICAgICAgIH0pO1xuICAgICAgICBmb3IgKHZhciByb3cgaW4gdGhpcy5yb3dzKXtcbiAgICAgICAgICAgIGlmKHRoaXMucm93c1tyb3ddWzFdID09IFwic3VjY2Vzc1wiKXtcbiAgICAgICAgICAgICAgICB0aGlzLnJvd3Nbcm93XVsxXSA9ICcgJy5iZ0dyZWVuICsgJyAnICsgdGhpcy5yb3dzW3Jvd11bMV07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucm93c1tyb3ddWzFdID09IFwiZXJyb3JcIikge1xuICAgICAgICAgICAgICAgIHRoaXMucm93c1tyb3ddWzFdID0gJyAnLmJnUmVkICsgJyAnICsgdGhpcy5yb3dzW3Jvd11bMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWJsZS5wdXNoKHRoaXMucm93c1tyb3ddKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc29sZS5sb2codGFibGUudG9TdHJpbmcoKSk7XG4gICAgfVxufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vaW5kZXgudHNcIiAvPlxubW9kdWxlIEJlYXV0eWxvZ05vZGUge1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpbml0KCkge1xuXG4gICAgICAgIHZhciBiZWF1dHlsb2dOb2RlOmFueSA9IHtcbiAgICAgICAgICAgIGxvZzpCZWF1dHlsb2dOb2RlTG9nLmluaXQoKSxcbiAgICAgICAgICAgIGNvZGU6QmVhdXR5bG9nTm9kZUNvZGUuaW5pdCgpLFxuICAgICAgICAgICAgZmlnbGV0OkJlYXV0eWxvZ05vZGVGaWdsZXQuZmlnbGV0LFxuICAgICAgICAgICAgZmlnbGV0U3luYzpCZWF1dHlsb2dOb2RlRmlnbGV0LmZpZ2xldFN5bmNcbiAgICAgICAgfTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogbG9ncyBhbiBkaXJlY3RvcnkgdG8gY29uc29sZVxuICAgICAgICAgKiBAcGFyYW0gbG9nVGV4dFxuICAgICAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICAgICAgICovXG4gICAgICAgIGJlYXV0eWxvZ05vZGUuZGlyID0gZnVuY3Rpb24obG9nVGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGJlYXV0eWxvZ05vZGUubG9nKGxvZ1RleHQsICdkaXInKTtcbiAgICAgICAgfTtcblxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBsb2dzIGFuIGVycm9yIHRvIGNvbnNvbGVcbiAgICAgICAgICogQHBhcmFtIGxvZ1RleHRcbiAgICAgICAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAgICAgICAqL1xuICAgICAgICBiZWF1dHlsb2dOb2RlLmVycm9yID0gZnVuY3Rpb24obG9nVGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGJlYXV0eWxvZ05vZGUubG9nKGxvZ1RleHQsICdlcnJvcicpO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBsb2dzIGFuIGluZm8gdG8gY29uc29sZVxuICAgICAgICAgKiBAcGFyYW0gbG9nVGV4dFxuICAgICAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICAgICAgICovXG4gICAgICAgIGJlYXV0eWxvZ05vZGUuaW5mbyA9IGZ1bmN0aW9uKGxvZ1RleHQpIHtcbiAgICAgICAgICAgIHJldHVybiBiZWF1dHlsb2dOb2RlLmxvZyhsb2dUZXh0LCAnaW5mbycpO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBsb2dzIGFuICdPSyEnIG1lc3NhZ2UgdG8gY29uc29sZVxuICAgICAgICAgKiBAcGFyYW0gbG9nVGV4dFxuICAgICAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICAgICAgICovXG4gICAgICAgIGJlYXV0eWxvZ05vZGUub2sgPSBmdW5jdGlvbihsb2dUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gYmVhdXR5bG9nTm9kZS5sb2cobG9nVGV4dCwgJ29rJyk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIGxvZ3MgYSBzdWNjZXNzIHRvIGNvbnNvbGVcbiAgICAgICAgICogQHBhcmFtIGxvZ1RleHQgc3RyaW5nIHRvIGxvZyBhcyBlcnJvclxuICAgICAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICAgICAgICovXG4gICAgICAgIGJlYXV0eWxvZ05vZGUuc3VjY2VzcyA9IGZ1bmN0aW9uKGxvZ1RleHQpIHtcbiAgICAgICAgICAgIHJldHVybiBiZWF1dHlsb2dOb2RlLmxvZyhsb2dUZXh0LCAnc3VjY2VzcycpO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBsb2dzIGEgJ3dhcm46JyBtZXNzYWdlIHRvIGNvbnNvbGVcbiAgICAgICAgICogQHBhcmFtIGxvZ1RleHQgc3RyaW5nIHRvIGxvZyBhcyBlcnJvclxuICAgICAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICAgICAgICovXG4gICAgICAgIGJlYXV0eWxvZ05vZGUud2FybiA9IGZ1bmN0aW9uKGxvZ1RleHQpIHtcbiAgICAgICAgICAgIHJldHVybiBiZWF1dHlsb2dOb2RlLmxvZyhsb2dUZXh0LCAnd2FybicpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGJlYXV0eWxvZ05vZGUudGFibGUgPSBCZWF1dHlsb2dOb2RlVGFibGUuaW5pdCgpO1xuXG4gICAgICAgIHJldHVybiBiZWF1dHlsb2dOb2RlO1xuICAgIH1cbn0iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9pbmRleC50c1wiIC8+XG5tb2R1bGUgQmVhdXR5bG9nTm9kZUxvZyB7XG4gICAgZXhwb3J0IHZhciBpbml0ID0gZnVuY3Rpb24oKXtcblxuICAgICAgICB2YXIgbG9jYWxCbCA9IHtcbiAgICAgICAgICAgIGRpclByZWZpeDogcGx1Z2lucy5jbGMuYmdYdGVybSgzOSkueHRlcm0oMjMxKS5ib2xkKCcgRElSICcpICsgJyAnLFxuICAgICAgICAgICAgZXJyb3JQcmVmaXg6ICcgRXJyb3I6ICcuYmdSZWQud2hpdGUuYm9sZCArICcgJyxcbiAgICAgICAgICAgIGluZm9QcmVmaXg6IHBsdWdpbnMuY2xjLmJnWHRlcm0oMTk4KS54dGVybSgyMzEpLmJvbGQoJyBJTkZPICcpICsgJyAnLFxuICAgICAgICAgICAgbm9ybWFsUHJlZml4OiAnIExvZzogJy5iZ0N5YW4ud2hpdGUuYm9sZCArICcgJyxcbiAgICAgICAgICAgIG9rUHJlZml4OiAnICcuYmdHcmVlbiArICcgT0shICcuYmdCbGFjay5ncmVlbi5ib2xkICsgJyAnLFxuICAgICAgICAgICAgc3VjY2Vzc1ByZWZpeDogJyBTdWNjZXNzOiAnLmJnR3JlZW4ud2hpdGUuYm9sZCArICcgJyxcbiAgICAgICAgICAgIHdhcm5QcmVmaXg6ICcgJy5iZ1llbGxvdyArICcgV2FybjogJy5iZ0JsYWNrLnllbGxvdy5ib2xkICsgJyAnXG4gICAgICAgIH07XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqXG4gICAgICAgICAqIEBwYXJhbSBsb2dUZXh0XG4gICAgICAgICAqIEBwYXJhbSBsb2dUeXBlXG4gICAgICAgICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgICAgICAgKi9cbiAgICAgICAgdmFyIGxvZ0Z1bmN0aW9uID0gZnVuY3Rpb24obG9nVGV4dDpzdHJpbmcgPSAnZW1wdHkgbG9nJywgbG9nVHlwZTpzdHJpbmcgPSAnbm9ybWFsJykge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGxvZ1R5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGlyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ1RleHQgPSBsb2NhbEJsLmRpclByZWZpeCArIHBsdWdpbnMuY2xjLnh0ZXJtKDI2KShsb2dUZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dUZXh0ID0gbG9jYWxCbC5lcnJvclByZWZpeCArIGxvZ1RleHQucmVkLmJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dUZXh0ID0gbG9jYWxCbC5pbmZvUHJlZml4ICsgcGx1Z2lucy5jbGMueHRlcm0oMTk4KShsb2dUZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdub3JtYWwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgbG9nVGV4dCA9IGxvY2FsQmwubm9ybWFsUHJlZml4ICsgbG9nVGV4dC5jeWFuLmJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnb2snOlxuICAgICAgICAgICAgICAgICAgICAgICAgbG9nVGV4dCA9IGxvY2FsQmwub2tQcmVmaXggKyBsb2dUZXh0LmJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dUZXh0ID0gbG9jYWxCbC5zdWNjZXNzUHJlZml4ICsgbG9nVGV4dC5ncmVlbi5ib2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICAgICAgICAgICAgICAgICAgbG9nVGV4dCA9IGxvY2FsQmwud2FyblByZWZpeCArIGxvZ1RleHQuYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdsb2cnOlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgbG9nVGV4dC5ibHVlLmJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygoJ3Vua25vd24gbG9nVHlwZSBmb3IgXCInICsgbG9nVGV4dCArICdcIicpLnJlZC5ib2xkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhsb2dUZXh0KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGxvY2FsQmwuZXJyb3JQcmVmaXggKyAnWW91IHNlZW0gdG8gaGF2ZSB0cmllZCBsb2dnaW5nIHNvbWV0aGluZyBzdHJhbmdlJy5yZWQuYm9sZCArIGVycm9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBsb2dGdW5jdGlvbjtcbiAgICB9XG59IiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vaW5kZXgudHNcIiAvPlxubW9kdWxlIEJlYXV0eWxvZ05vZGVDb2RlIHtcbiAgICBleHBvcnQgdmFyIGluaXQgPSBmdW5jdGlvbigpIHtcblxuXG4gICAgICAgIHZhciBjb2RlRnVuY3Rpb24gPSBmdW5jdGlvbihjb2RlU3RyaW5nLG9wdGlvbnM/KXtcbiAgICAgICAgICAgIHZhciBobGlnaHQgPSByZXF1aXJlKFwiaGxpZ2h0XCIpO1xuICAgICAgICAgICAgdmFyIGNvZGVTbmlwcGV0ID0ge1xuICAgICAgICAgICAgICAgIHNvdXJjZTpjb2RlU3RyaW5nLFxuICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkOlwiZGVmYXVsdFwiXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjb2RlU3RyaW5nICE9IFwic3RyaW5nXCIpe1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYmVhdXR5bG9nLmNvZGUoKSBleHBlY3RzIGEgc3RyaW5nIGFzIGZpcnN0IGFyZ3VtZW50IVwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zICE9IFwidW5kZWZpbmVkXCIpe1xuICAgICAgICAgICAgICAgIGNvZGVTbmlwcGV0LmhpZ2hsaWdodGVkID0gaGxpZ2h0KGNvZGVTbmlwcGV0LnNvdXJjZSxvcHRpb25zLmxhbmd1YWdlKTtcbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKGNvZGVTbmlwcGV0LmhpZ2hsaWdodGVkKVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gY29kZUZ1bmN0aW9uO1xuICAgIH1cbn0iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9pbmRleC50c1wiIC8+XG5tb2R1bGUgQmVhdXR5bG9nTm9kZVRhYmxlIHtcbiAgICBleHBvcnQgdmFyIGNsaVRhYmxlO1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpbml0KCkge1xuICAgICAgICBjbGlUYWJsZSA9ICByZXF1aXJlKFwiY2xpLXRhYmxlMlwiKTtcbiAgICAgICAgdmFyIGJlYXV0eWxvZ09zVGFibGU6YW55ID0ge307XG5cbiAgICAgICAgYmVhdXR5bG9nT3NUYWJsZS5uZXcgPSBmdW5jdGlvbih0eXBlQXJnOnN0cmluZyx0YWJsZUhlYWRBcnJheUFyZz8pIHtcbiAgICAgICAgICAgIHZhciBuZXdDb25zb2xlVGFibGUgPSBuZXcgQ29uc29sZVRhYmxlKHR5cGVBcmcsdGFibGVIZWFkQXJyYXlBcmcpO1xuICAgICAgICAgICAgcmV0dXJuIG5ld0NvbnNvbGVUYWJsZTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGJlYXV0eWxvZ09zVGFibGU7XG4gICAgfVxufSIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL2luZGV4LnRzXCIgLz5cbm1vZHVsZSBCZWF1dHlsb2dOb2RlRmlnbGV0IHtcbiAgICB2YXIgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgICAgIGZvbnQ6XCJTdGFyIFdhcnNcIixcbiAgICAgICAgY29sb3I6IFwiZ3JlZW5cIixcbiAgICAgICAgY2I6IGZ1bmN0aW9uKCl7fVxuICAgIH07XG4gICAgZXhwb3J0IHZhciBmaWdsZXQgPSBmdW5jdGlvbih0ZXh0QXJnOnN0cmluZyxvcHRpb25zQXJnPyl7XG4gICAgICAgIHZhciBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgICAgIHZhciBtZXJnZU9wdGlvbnMgPSBwbHVnaW5zLmxvZGFzaC5jbG9uZURlZXAoZGVmYXVsdE9wdGlvbnMpO1xuICAgICAgICB2YXIgb3B0aW9ucyA9IHBsdWdpbnMubG9kYXNoLmFzc2lnbihtZXJnZU9wdGlvbnMsb3B0aW9uc0FyZyk7XG4gICAgICAgIHBsdWdpbnMuZmlnbGV0KHRleHRBcmcse1xuICAgICAgICAgICAgZm9udDogb3B0aW9ucy5mb250LFxuICAgICAgICAgICAgaG9yaXpvbnRhbExheW91dDogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgdmVydGljYWxMYXlvdXQ6ICdkZWZhdWx0J1xuICAgICAgICB9LCBmdW5jdGlvbihlcnIsIGRhdGEpIHtcbiAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnU29tZXRoaW5nIHdlbnQgd3JvbmcuLi4nKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmRpcihlcnIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGFbb3B0aW9ucy5jb2xvcl0pO1xuICAgICAgICAgICAgb3B0aW9ucy5jYigpO1xuICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xuICAgIH07XG4gICAgZXhwb3J0IHZhciBmaWdsZXRTeW5jID0gZnVuY3Rpb24odGV4dEFyZzpzdHJpbmcsb3B0aW9uc0FyZz8pe1xuICAgICAgICB2YXIgbWVyZ2VPcHRpb25zID0gcGx1Z2lucy5sb2Rhc2guY2xvbmVEZWVwKGRlZmF1bHRPcHRpb25zKTtcbiAgICAgICAgdmFyIG9wdGlvbnMgPSBwbHVnaW5zLmxvZGFzaC5hc3NpZ24obWVyZ2VPcHRpb25zLG9wdGlvbnNBcmcpO1xuICAgICAgICBjb25zb2xlLmxvZyhwbHVnaW5zLmZpZ2xldC50ZXh0U3luYyh0ZXh0QXJnLHtcbiAgICAgICAgICAgIGZvbnQ6IG9wdGlvbnMuZm9udCxcbiAgICAgICAgICAgIGhvcml6b250YWxMYXlvdXQ6ICdkZWZhdWx0JyxcbiAgICAgICAgICAgIHZlcnRpY2FsTGF5b3V0OiAnZGVmYXVsdCdcbiAgICAgICAgfSlbb3B0aW9ucy5jb2xvcl0pO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vaW5kZXgudHNcIiAvPlxubW9kdWxlIEJlYXV0eWxvZ0Jyb3dzZXIge1xuICAgIGV4cG9ydCBmdW5jdGlvbiBpbml0KCkge1xuICAgICAgICB2YXIgYmVhdXR5bG9nQnJvd3NlcjphbnkgPSB7fTtcbiAgICAgICAgYmVhdXR5bG9nQnJvd3Nlci5sb2cgPSBmdW5jdGlvbihtZXNzYWdlKXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCclYyBMb2c6ICVjICcgKyBtZXNzYWdlLFwiYmFja2dyb3VuZDojNDJBNUY1O2NvbG9yOiNmZmZmZmZcIixcImNvbG9yOiM0MkE1RjU7XCIpO1xuICAgICAgICB9O1xuICAgICAgICBiZWF1dHlsb2dCcm93c2VyLmluZm8gPSBmdW5jdGlvbihtZXNzYWdlKXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCclYyBJbmZvOiAlYyAnICsgbWVzc2FnZSwnYmFja2dyb3VuZDojRUM0MDdBO2NvbG9yOiNmZmZmZmY7JywnY29sb3I6I0VDNDA3QTsnKTtcbiAgICAgICAgfTtcbiAgICAgICAgYmVhdXR5bG9nQnJvd3Nlci5vayA9IGZ1bmN0aW9uKG1lc3NhZ2Upe1xuICAgICAgICAgICAgY29uc29sZS5sb2coJyVjIE9LOiAlYyAnICsgbWVzc2FnZSxcImJhY2tncm91bmQ6IzAwMDAwMDtjb2xvcjojOEJDMzRBO1wiLFwiY29sb3I6IzAwMDAwMDtcIik7XG4gICAgICAgIH07XG4gICAgICAgIGJlYXV0eWxvZ0Jyb3dzZXIuc3VjY2VzcyA9IGZ1bmN0aW9uKG1lc3NhZ2Upe1xuICAgICAgICAgICAgY29uc29sZS5sb2coJyVjIFN1Y2Nlc3M6ICVjICcgKyBtZXNzYWdlLFwiYmFja2dyb3VuZDojOEJDMzRBO2NvbG9yOiNmZmZmZmY7XCIsXCJjb2xvcjojOEJDMzRBO1wiKTtcbiAgICAgICAgfTtcbiAgICAgICAgYmVhdXR5bG9nQnJvd3Nlci53YXJuID0gZnVuY3Rpb24obWVzc2FnZSl7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnJWMgV2FybjogJWMgJyArIG1lc3NhZ2UsXCJiYWNrZ3JvdW5kOiMwMDAwMDA7Y29sb3I6I0ZCOEMwMDtcIixcImNvbG9yOiMwMDAwMDA7XCIpO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYmVhdXR5bG9nQnJvd3NlcjtcbiAgICB9XG59IiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vaW5kZXgudHNcIiAvPlxubW9kdWxlIEJlYXV0eWxvZ1Byb21pc2VDaGFpbiB7XG5cbn0iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90eXBpbmdzL21haW4uZC50c1wiIC8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9iZWF1dHlsb2cucGx1Z2lucy50c1wiIC8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9iZWF1dHlsb2cuY2xhc3Nlcy50c1wiIC8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9iZWF1dHlsb2cubm9kZS50c1wiIC8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9iZWF1dHlsb2cubm9kZS5sb2cudHNcIiAvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vYmVhdXR5bG9nLm5vZGUuY29kZS50c1wiIC8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9iZWF1dHlsb2cubm9kZS50YWJsZS50c1wiIC8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9iZWF1dHlsb2cubm9kZS5maWdsZXQudHNcIiAvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vYmVhdXR5bG9nLmJyb3dzZXIudHNcIiAvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vYmVhdXR5bG9nLnByb21pc2VjaGFpbi50c1wiIC8+XG5cbnZhciBwbHVnaW5zID0gQmVhdXR5bG9nUGx1Z2lucy5pbml0KCk7XG52YXIgYmVhdXR5bG9nID0gKGZ1bmN0aW9uKCkge1xuICAgIHN3aXRjaCAocGx1Z2lucy5zbWFydGVudi5nZXRFbnYoKS5ydW50aW1lRW52KSB7XG4gICAgICAgIGNhc2UgXCJub2RlXCI6XG4gICAgICAgICAgICB2YXIgYmVhdXR5bG9nT3MgPSBCZWF1dHlsb2dOb2RlLmluaXQoKTtcbiAgICAgICAgICAgIHJldHVybiBiZWF1dHlsb2dPcztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiYnJvd3NlclwiOlxuICAgICAgICAgICAgdmFyIGJlYXV0eWxvZ0Jyb3dzZXIgPSBCZWF1dHlsb2dCcm93c2VyLmluaXQoKTtcbiAgICAgICAgICAgIHJldHVybiBiZWF1dHlsb2dCcm93c2VyO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInNvbWV0aGluZyBpcyBzdHJhbmdlIGFib3V0IHRoZSBwbGF0Zm9ybSBpbiB3aGljaCB5b3UgdHJ5IHRvIHVzZSBiZWF1dHlsb2dcIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG59KSgpO1xubW9kdWxlLmV4cG9ydHMgPSBiZWF1dHlsb2c7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= diff --git a/package.json b/package.json index 34ac17e..edc997d 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "hlight": "0.0.8", "lodash": "^4.5.1", "q": "^1.4.1", - "smartenv": "1.0.8" + "smartenv": "1.0.9" }, "devDependencies": { "easyserve": "0.0.5", diff --git a/test/test.js b/test/test.js index 33876f0..08ac6ef 100644 --- a/test/test.js +++ b/test/test.js @@ -1,6 +1,6 @@ /// var smartenv = require("smartenv"); -var beautylog = require('../index.js'); +var beautylog = require('../dist/index.js'); describe("beautylog", function () { describe(".log(message,logtype)", function () { it("should log cyan text", function () { @@ -80,4 +80,4 @@ describe("beautylog", function () { }); }); -//# sourceMappingURL=data:application/json;base64,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S0FBSyxDQUFDLENBQUM7WUFDcEIsU0FBUyxDQUFDLElBQUksQ0FDVixvRUFBb0UsRUFDcEU7Z0JBQ0ksUUFBUSxFQUFDLFlBQVk7YUFDeEIsQ0FDSixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vdHMvdHlwaW5ncy9tYWluLmQudHNcIiAvPlxudmFyIHNtYXJ0ZW52ID0gcmVxdWlyZShcInNtYXJ0ZW52XCIpO1xudmFyIGJlYXV0eWxvZyA9IHJlcXVpcmUoJy4uL2luZGV4LmpzJyk7XG5cbmRlc2NyaWJlKFwiYmVhdXR5bG9nXCIsZnVuY3Rpb24oKXtcbiAgICBkZXNjcmliZShcIi5sb2cobWVzc2FnZSxsb2d0eXBlKVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGxvZyBjeWFuIHRleHRcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgYmVhdXR5bG9nLmxvZygnYmVhdXR5bG9nLmxvZygpLCB3aXRoIG5vcm1hbCBsb2dUZXh0LCB3aXRob3V0IGxvZ1R5cGUnKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwic2hvdWxkIHByaW50IGRpZmZlcmVudCBsb2cgdHlwZXMgZGVwZW5kZW50IG9uIGxvZ1R5cGVcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgYmVhdXR5bG9nLmxvZygnYmVhdXR5bG9nLmxvZygpLCB3aXRoIG5vcm1hbCBsb2dUZXh0LCB3aXRob3V0IGxvZ1R5cGUnKTtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5sb2coJ2JlYXV0eWxvZy5sb2coKSwgd2l0aCBub3JtYWwgbG9nVGV4dCwgd2l0aCBsb2dUeXBlIFwiZGlyXCInLCdkaXInKTtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5sb2coJ2JlYXV0eWxvZy5sb2coKSwgd2l0aCBub3JtYWwgbG9nVGV4dCwgd2l0aCBsb2dUeXBlIFwiZXJyb3JcIicsJ2Vycm9yJyk7XG4gICAgICAgICAgICBiZWF1dHlsb2cubG9nKCdiZWF1dHlsb2cubG9nKCksIHdpdGggbm9ybWFsIGxvZ1RleHQsIHdpdGggbG9nVHlwZSBcImluZm9cIicsJ2luZm8nKTtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5sb2coJ2JlYXV0eWxvZy5sb2coKSwgd2l0aCBub3JtYWwgbG9nVGV4dCwgd2l0aCBsb2dUeXBlIFwib2tcIicsJ29rJyk7XG4gICAgICAgICAgICBiZWF1dHlsb2cubG9nKCdiZWF1dHlsb2cubG9nKCksIHdpdGggbm9ybWFsIGxvZ1RleHQsIHdpdGggbG9nVHlwZSBcInN1Y2Nlc3NcIicsJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5sb2coJ2JlYXV0eWxvZy5sb2coKSwgd2l0aCBub3JtYWwgbG9nVGV4dCwgd2l0aCBsb2dUeXBlIFwid2FyblwiJywnd2FybicpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi5kaXIobWVzc2FnZSlcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCBwcmludCBhIGJsdWUgRGlyIG1lc3NhZ2VcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgYmVhdXR5bG9nLmRpcignYmVhdXR5bG9nLmRpcigpLCB3aXRoIG5vcm1hbCBsb2dUZXh0LCB3aXRob3V0IGxvZ1R5cGUnKTtcbiAgICAgICAgfSlcbiAgICB9KVxuICAgIGRlc2NyaWJlKFwiLmVycm9yKG1lc3NhZ2UpXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgcHJpbnQgYSByZWQgZXJyb3IgbWVzc2FnZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBiZWF1dHlsb2cuZXJyb3IoJ2JlYXV0eWxvZy5lcnJvcigpLCB3aXRoIG5vcm1hbCBsb2dUZXh0LCB3aXRob3V0IGxvZ1R5cGUnKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuaW5mbyhtZXNzYWdlKVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGRpc3BsYXkgYSBwdXJwbGUgaW5mbyBtZXNzYWdlXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5pbmZvKCdiZWF1dHlsb2cuZGlyKCksIHdpdGggbm9ybWFsIGxvZ1RleHQsIHdpdGhvdXQgbG9nVHlwZScpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi5vayhtZXNzYWdlKVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGRpc3BsYXkgYSBncmVlbiBvayBtZXNzYWdlXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5vaygnYmVhdXR5bG9nLm9rKCksIHdpdGggbm9ybWFsIGxvZ1RleHQsIHdpdGhvdXQgbG9nVHlwZScpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi5zdWNjZXNzKG1lc3NhZ2UpXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgZGlzcGxheSBhbiBvcmFuZ2Ugd2FybiBtZXNzYWdlXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5zdWNjZXNzKCdiZWF1dHlsb2cuc3VjY2VzcygpLCB3aXRoIG5vcm1hbCBsb2dUZXh0LCB3aXRob3V0IGxvZ1R5cGUnKTtcbiAgICAgICAgfSlcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi53YXJuXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgZGlzcGxheSBhIG9yYW5nZSB3YXJuIG1lc3NhZ2VcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgYmVhdXR5bG9nLndhcm4oJ2JlYXV0eWxvZy53YXJuKCksIHdpdGggbm9ybWFsIGxvZ1RleHQsIHdpdGhvdXQgbG9nVHlwZScpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi50YWJsZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIHByaW50IGEgbmljZSB0YWJsZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAoZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICB2YXIgdGVzdFRhYmxlMSA9IGJlYXV0eWxvZy50YWJsZS5uZXcoXCJjaGVja3NcIik7XG4gICAgICAgICAgICAgICAgdGVzdFRhYmxlMS5wdXNoKFsnY2hlY2sxJywnc3VjY2VzcyddKTtcbiAgICAgICAgICAgICAgICB0ZXN0VGFibGUxLnB1c2goWydjaGVjazInLCdlcnJvciddKTtcbiAgICAgICAgICAgICAgICB0ZXN0VGFibGUxLnB1c2goWydjaGVjazMnLCdlcnJvciddKTtcbiAgICAgICAgICAgICAgICB0ZXN0VGFibGUxLnByaW50KCk7XG5cbiAgICAgICAgICAgICAgICB2YXIgdGVzdFRhYmxlMiA9IGJlYXV0eWxvZy50YWJsZS5uZXcoXCJjdXN0b21cIixbXCJDb2x1bW4xXCIucmVkLFwiQ29sdW1uMlwiLmJsdWUsXCJDb2x1bW4zXCIuY3lhbl0pO1xuICAgICAgICAgICAgICAgIHRlc3RUYWJsZTIucHVzaChbXCJIZXlcIixcInRoaXNcIixcIndvcmtzXCJdKTtcbiAgICAgICAgICAgICAgICB0ZXN0VGFibGUyLnByaW50KCk7XG4gICAgICAgICAgICB9KSgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi5maWdsZXRcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCBwcmludCBuaWNlIGZvbnRzIHRvIGNvbnNvbGUgaW4geWVsbG93XCIsZnVuY3Rpb24oZG9uZSl7XG4gICAgICAgICAgICBiZWF1dHlsb2cuZmlnbGV0KFwiQXN5bmMhXCIse2ZvbnQ6XCJTdGFyIFdhcnNcIixjb2xvcjpcInllbGxvd1wifSkudGhlbihkb25lKTtcbiAgICAgICAgfSlcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi5maWdsZXRTeW5jXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgcHJpbnQgbmljZSBmb250cyB0byBjb25zb2xlIGluIHllbGxvd1wiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBiZWF1dHlsb2cuZmlnbGV0U3luYyhcIlN5bmMhXCIse2ZvbnQ6XCJTdGFyIFdhcnNcIixjb2xvcjpcImJsdWVcIn0pO1xuICAgICAgICB9KVxuICAgIH0pO1xuICAgIGRlc2NyaWJlKFwiLmNvZGVcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCBoaWdobGlnaHQgY29kZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0aGlzLnRpbWVvdXQoMTAwMDApO1xuICAgICAgICAgICAgYmVhdXR5bG9nLmNvZGUoXG4gICAgICAgICAgICAgICAgXCJ2YXIgdGVzdCA9IDM7XFxuZnVuY3Rpb24oKXtcXG4gIHZhciBoZWxsbyA9IFxcXCJzdXBlclxcXCJcXG59O1xcbnZhciB0ZXN0O1wiLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2U6XCJqYXZhc2NyaXB0XCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgIH0pXG59KTtcblxuXG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= +//# sourceMappingURL=data:application/json;base64,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QyxLQUFLLENBQUMsQ0FBQztZQUNwQixTQUFTLENBQUMsSUFBSSxDQUNWLG9FQUFvRSxFQUNwRTtnQkFDSSxRQUFRLEVBQUMsWUFBWTthQUN4QixDQUNKLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi90cy90eXBpbmdzL21haW4uZC50c1wiIC8+XG52YXIgc21hcnRlbnYgPSByZXF1aXJlKFwic21hcnRlbnZcIik7XG52YXIgYmVhdXR5bG9nID0gcmVxdWlyZSgnLi4vZGlzdC9pbmRleC5qcycpO1xuXG5kZXNjcmliZShcImJlYXV0eWxvZ1wiLGZ1bmN0aW9uKCl7XG4gICAgZGVzY3JpYmUoXCIubG9nKG1lc3NhZ2UsbG9ndHlwZSlcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCBsb2cgY3lhbiB0ZXh0XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5sb2coJ2JlYXV0eWxvZy5sb2coKSwgd2l0aCBub3JtYWwgbG9nVGV4dCwgd2l0aG91dCBsb2dUeXBlJyk7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcInNob3VsZCBwcmludCBkaWZmZXJlbnQgbG9nIHR5cGVzIGRlcGVuZGVudCBvbiBsb2dUeXBlXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5sb2coJ2JlYXV0eWxvZy5sb2coKSwgd2l0aCBub3JtYWwgbG9nVGV4dCwgd2l0aG91dCBsb2dUeXBlJyk7XG4gICAgICAgICAgICBiZWF1dHlsb2cubG9nKCdiZWF1dHlsb2cubG9nKCksIHdpdGggbm9ybWFsIGxvZ1RleHQsIHdpdGggbG9nVHlwZSBcImRpclwiJywnZGlyJyk7XG4gICAgICAgICAgICBiZWF1dHlsb2cubG9nKCdiZWF1dHlsb2cubG9nKCksIHdpdGggbm9ybWFsIGxvZ1RleHQsIHdpdGggbG9nVHlwZSBcImVycm9yXCInLCdlcnJvcicpO1xuICAgICAgICAgICAgYmVhdXR5bG9nLmxvZygnYmVhdXR5bG9nLmxvZygpLCB3aXRoIG5vcm1hbCBsb2dUZXh0LCB3aXRoIGxvZ1R5cGUgXCJpbmZvXCInLCdpbmZvJyk7XG4gICAgICAgICAgICBiZWF1dHlsb2cubG9nKCdiZWF1dHlsb2cubG9nKCksIHdpdGggbm9ybWFsIGxvZ1RleHQsIHdpdGggbG9nVHlwZSBcIm9rXCInLCdvaycpO1xuICAgICAgICAgICAgYmVhdXR5bG9nLmxvZygnYmVhdXR5bG9nLmxvZygpLCB3aXRoIG5vcm1hbCBsb2dUZXh0LCB3aXRoIGxvZ1R5cGUgXCJzdWNjZXNzXCInLCdzdWNjZXNzJyk7XG4gICAgICAgICAgICBiZWF1dHlsb2cubG9nKCdiZWF1dHlsb2cubG9nKCksIHdpdGggbm9ybWFsIGxvZ1RleHQsIHdpdGggbG9nVHlwZSBcIndhcm5cIicsJ3dhcm4nKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuZGlyKG1lc3NhZ2UpXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgcHJpbnQgYSBibHVlIERpciBtZXNzYWdlXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5kaXIoJ2JlYXV0eWxvZy5kaXIoKSwgd2l0aCBub3JtYWwgbG9nVGV4dCwgd2l0aG91dCBsb2dUeXBlJyk7XG4gICAgICAgIH0pXG4gICAgfSlcbiAgICBkZXNjcmliZShcIi5lcnJvcihtZXNzYWdlKVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIHByaW50IGEgcmVkIGVycm9yIG1lc3NhZ2VcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgYmVhdXR5bG9nLmVycm9yKCdiZWF1dHlsb2cuZXJyb3IoKSwgd2l0aCBub3JtYWwgbG9nVGV4dCwgd2l0aG91dCBsb2dUeXBlJyk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKFwiLmluZm8obWVzc2FnZSlcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCBkaXNwbGF5IGEgcHVycGxlIGluZm8gbWVzc2FnZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBiZWF1dHlsb2cuaW5mbygnYmVhdXR5bG9nLmRpcigpLCB3aXRoIG5vcm1hbCBsb2dUZXh0LCB3aXRob3V0IGxvZ1R5cGUnKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIub2sobWVzc2FnZSlcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCBkaXNwbGF5IGEgZ3JlZW4gb2sgbWVzc2FnZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBiZWF1dHlsb2cub2soJ2JlYXV0eWxvZy5vaygpLCB3aXRoIG5vcm1hbCBsb2dUZXh0LCB3aXRob3V0IGxvZ1R5cGUnKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuc3VjY2VzcyhtZXNzYWdlKVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGRpc3BsYXkgYW4gb3JhbmdlIHdhcm4gbWVzc2FnZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBiZWF1dHlsb2cuc3VjY2VzcygnYmVhdXR5bG9nLnN1Y2Nlc3MoKSwgd2l0aCBub3JtYWwgbG9nVGV4dCwgd2l0aG91dCBsb2dUeXBlJyk7XG4gICAgICAgIH0pXG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIud2FyblwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGRpc3BsYXkgYSBvcmFuZ2Ugd2FybiBtZXNzYWdlXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIGJlYXV0eWxvZy53YXJuKCdiZWF1dHlsb2cud2FybigpLCB3aXRoIG5vcm1hbCBsb2dUZXh0LCB3aXRob3V0IGxvZ1R5cGUnKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIudGFibGVcIixmdW5jdGlvbigpe1xuICAgICAgICBpdChcInNob3VsZCBwcmludCBhIG5pY2UgdGFibGVcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgKGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgdmFyIHRlc3RUYWJsZTEgPSBiZWF1dHlsb2cudGFibGUubmV3KFwiY2hlY2tzXCIpO1xuICAgICAgICAgICAgICAgIHRlc3RUYWJsZTEucHVzaChbJ2NoZWNrMScsJ3N1Y2Nlc3MnXSk7XG4gICAgICAgICAgICAgICAgdGVzdFRhYmxlMS5wdXNoKFsnY2hlY2syJywnZXJyb3InXSk7XG4gICAgICAgICAgICAgICAgdGVzdFRhYmxlMS5wdXNoKFsnY2hlY2szJywnZXJyb3InXSk7XG4gICAgICAgICAgICAgICAgdGVzdFRhYmxlMS5wcmludCgpO1xuXG4gICAgICAgICAgICAgICAgdmFyIHRlc3RUYWJsZTIgPSBiZWF1dHlsb2cudGFibGUubmV3KFwiY3VzdG9tXCIsW1wiQ29sdW1uMVwiLnJlZCxcIkNvbHVtbjJcIi5ibHVlLFwiQ29sdW1uM1wiLmN5YW5dKTtcbiAgICAgICAgICAgICAgICB0ZXN0VGFibGUyLnB1c2goW1wiSGV5XCIsXCJ0aGlzXCIsXCJ3b3Jrc1wiXSk7XG4gICAgICAgICAgICAgICAgdGVzdFRhYmxlMi5wcmludCgpO1xuICAgICAgICAgICAgfSkoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuZmlnbGV0XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgcHJpbnQgbmljZSBmb250cyB0byBjb25zb2xlIGluIHllbGxvd1wiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgYmVhdXR5bG9nLmZpZ2xldChcIkFzeW5jIVwiLHtmb250OlwiU3RhciBXYXJzXCIsY29sb3I6XCJ5ZWxsb3dcIn0pLnRoZW4oZG9uZSk7XG4gICAgICAgIH0pXG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuZmlnbGV0U3luY1wiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIHByaW50IG5pY2UgZm9udHMgdG8gY29uc29sZSBpbiB5ZWxsb3dcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgYmVhdXR5bG9nLmZpZ2xldFN5bmMoXCJTeW5jIVwiLHtmb250OlwiU3RhciBXYXJzXCIsY29sb3I6XCJibHVlXCJ9KTtcbiAgICAgICAgfSlcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi5jb2RlXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgaGlnaGxpZ2h0IGNvZGVcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0KDEwMDAwKTtcbiAgICAgICAgICAgIGJlYXV0eWxvZy5jb2RlKFxuICAgICAgICAgICAgICAgIFwidmFyIHRlc3QgPSAzO1xcbmZ1bmN0aW9uKCl7XFxuICB2YXIgaGVsbG8gPSBcXFwic3VwZXJcXFwiXFxufTtcXG52YXIgdGVzdDtcIixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlOlwiamF2YXNjcmlwdFwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICB9KVxufSk7XG5cblxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 diff --git a/test/test.js.map b/test/test.js.map index 6b9ecf5..8757ff7 100644 --- a/test/test.js.map +++ b/test/test.js.map @@ -1 +1 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/test/test.ts b/test/test.ts index 8ac4a9c..7db12dd 100644 --- a/test/test.ts +++ b/test/test.ts @@ -1,6 +1,6 @@ /// var smartenv = require("smartenv"); -var beautylog = require('../index.js'); +var beautylog = require('../dist/index.js'); describe("beautylog",function(){ describe(".log(message,logtype)",function(){ diff --git a/ts/beautylog.node.code.ts b/ts/beautylog.node.code.ts index 1c9ac4e..bb5d8a2 100644 --- a/ts/beautylog.node.code.ts +++ b/ts/beautylog.node.code.ts @@ -1,7 +1,7 @@ /// +import plugins = require("./beautylog.plugins"); var codeFunction = function(codeString,options?){ - let hlight = require("hlight"); var codeSnippet = { source:codeString, highlighted:"default" @@ -11,7 +11,7 @@ var codeFunction = function(codeString,options?){ return; }; if (typeof options != "undefined"){ - codeSnippet.highlighted = hlight(codeSnippet.source,options.language); + codeSnippet.highlighted = plugins.hlight(codeSnippet.source,options.language); //console.log(codeSnippet.highlighted) } }; diff --git a/ts/beautylog.node.ts b/ts/beautylog.node.ts index afa6efa..afe1fff 100644 --- a/ts/beautylog.node.ts +++ b/ts/beautylog.node.ts @@ -1,8 +1,8 @@ /// -import log = require("./beautylog.node.log"); +export import log = require("./beautylog.node.log"); export import table = require("./beautylog.node.table"); -import code = require("./beautylog.node.code"); +export import code = require("./beautylog.node.code"); import figletModule = require("./beautylog.node.figlet"); export let figlet = figletModule.figlet; diff --git a/ts/beautylog.plugins.ts b/ts/beautylog.plugins.ts index 9365801..f6b2316 100644 --- a/ts/beautylog.plugins.ts +++ b/ts/beautylog.plugins.ts @@ -10,7 +10,8 @@ if (plugins.smartenv.getEnv().isNode){ cliTable: require("cli-table2"), colors: require("colors"), clc: require("cli-color"), - figlet: require("figlet") + figlet: require("figlet"), + hlight: require("hlight") }); } export = plugins; \ No newline at end of file