UNPKG

@pilotlab/lux-debug

Version:

A luxurious user experience framework, developed by your friends at Pilot.

84 lines 3.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var lux_is_1 = require("@pilotlab/lux-is"); var logger_1 = require("./logger"); var logMessage_1 = require("./logMessage"); var Debug = (function () { function Debug() { } Debug.setCategoryMode = function (category, isOn) { this.logger.setCategoryMode(category, isOn); }; Debug.assert = function (isConditionMet, message, tag, category) { return this.logger.assert(isConditionMet, message, tag, category); }; Debug.data = function (data, tag, category) { return this.logger.data(data, tag, category); }; Debug.error = function (message, tag, category) { return this.logger.error(message, tag, category); }; Debug.info = function (message, tag, category) { return this.logger.info(message, tag, category); }; Debug.warn = function (message, tag, category) { if (!this.isProduction) return this.logger.warn(message, tag, category); else return new logMessage_1.default(this.logger); }; Debug.log = function (message, tag, category) { if (!this.isProduction) return this.logger.log(message, tag, category); else return new logMessage_1.default(this.logger); }; Debug.test = function (message, tag, category) { if (!this.isProduction) return this.logger.test(message, tag, category); else return new logMessage_1.default(this.logger); }; Debug.save = function (data, fileName) { if (fileName === void 0) { fileName = 'console.json'; } if (!data) return; if (typeof data === 'object') data = JSON.stringify(data, undefined, 4); var blob = new Blob([data], { type: 'text/json' }); var mouseEvent = document.createEvent('MouseEvents'); var link = document.createElement('a'); link.setAttribute('download', fileName); link.href = window.URL.createObjectURL(blob); link.dataset['downloadurl'] = ['text/json', fileName, link.href].join(':'); mouseEvent.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); link.dispatchEvent(mouseEvent); }; Debug.copy = function (data, category) { if (!data) return; if (typeof data === 'object') data = JSON.stringify(data, undefined, 4); var listenerCopy = function (e) { if (lux_is_1.default.empty(window)) return; var win = window; var isIE = (lux_is_1.default.notEmpty(navigator.userAgent.match(/msie/i)) || lux_is_1.default.notEmpty(navigator.userAgent.match(/trident/i))); if (isIE) win['clipboardData'].setData('text/plain', data); else e.clipboardData.setData('text/plain', data); e.preventDefault(); }; document.addEventListener('copy', listenerCopy); document.execCommand('copy'); document.removeEventListener('copy', listenerCopy); console.log('%ccopied', 'color: blue'); console.log(data); }; Debug.getClassName = function (instance) { var results = (instance).constructor.name; return (results && results.length > 1) ? results : ''; }; Debug.isProduction = false; Debug.logger = new logger_1.default(); return Debug; }()); exports.Debug = Debug; exports.default = Debug; //# sourceMappingURL=debug.js.map