🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

clearly-logger

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

clearly-logger - npm Package Compare versions

Comparing version
0.1.0
to
0.1.1
.DS_Store

Sorry, the diff of this file is not supported yet

+175
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Logger = {}));
}(this, (function (exports) { 'use strict';
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
function __spreadArrays() {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
}
var _a;
var STYLE = (_a = {
SYMBOL: "\n margin: 0 0 0 0;\n padding: 1px 2px;\n color: #fff;\n background-color: #13c2c2;\n ",
NAMESPACE: "\n margin: 0 0 0 0;\n padding: 1px 3px 0;\n font-size: 10px;\n border-top: 1px solid #13c2c2;\n border-right: 1px solid #13c2c2;\n border-bottom: 1px solid #13c2c2;\n "
},
_a["Info"] = "\n margin: 0 0 0 0;\n padding: 2px 2px 1px;\n font-size: 10px;\n color: #fff;\n background-color: #1890ff;\n ",
_a["Success"] = "\n margin: 0 0 0 0;\n padding: 2px 2px 1px;\n font-size: 10px;\n color: #fff;\n background-color: #52c41a;\n ",
_a["Warn"] = "\n margin: 0 0 0 0;\n padding: 2px 2px 1px;\n font-size: 10px;\n color: #fff;\n background-color: #faad14;\n ",
_a["Error"] = "\n margin: 0 0 0 0;\n padding: 2px 2px 1px;\n font-size: 10px;\n color: #fff;\n background-color: #ff4d4f;\n ",
_a);
var SUBSTITUTION_REG = /%(\.\d+)?[idfsoO]/;
var COLOR_REG = /\(([^()]+)\)$/;
var randomDarkColor = function () {
var h = Math.floor(Math.random() * 360);
var s = Math.floor(Math.random() * 50) + 50;
var l = Math.floor(Math.random() * 60);
return "hsl(" + h + ", " + s + "%, " + l + "%)";
};
var makeStaticArgs = function (type, data) {
if (data === void 0) { data = []; }
var formatter = '';
var styles = [];
if (Logger.symbol) {
formatter += "%c" + Logger.symbol;
styles.push(STYLE.SYMBOL + " background-color: " + Logger.symbolColor + ";");
}
formatter += "%c" + type + "%c";
styles.push(STYLE[type], '');
while (SUBSTITUTION_REG.test(data[0])) {
formatter += ' ' + data.shift();
}
return __spreadArrays([formatter], styles, data);
};
var makeInstanceArgs = function (instance, type, data) {
if (data === void 0) { data = []; }
var formatter = instance.formatter;
var styles = instance.styles.slice();
formatter += "%c" + type + "%c";
styles.push(STYLE[type], '');
while (SUBSTITUTION_REG.test(data[0])) {
formatter += ' ' + data.shift();
}
return __spreadArrays([formatter], styles, data);
};
function info() {
var data = [];
for (var _i = 0; _i < arguments.length; _i++) {
data[_i] = arguments[_i];
}
console.log.apply(console, makeStaticArgs("Info", data));
}
function success() {
var data = [];
for (var _i = 0; _i < arguments.length; _i++) {
data[_i] = arguments[_i];
}
console.log.apply(console, makeStaticArgs("Success", data));
}
function warn() {
var data = [];
for (var _i = 0; _i < arguments.length; _i++) {
data[_i] = arguments[_i];
}
console.log.apply(console, makeStaticArgs("Warn", data));
}
function error() {
var data = [];
for (var _i = 0; _i < arguments.length; _i++) {
data[_i] = arguments[_i];
}
console.log.apply(console, makeStaticArgs("Error", data));
}
var Logger = (function () {
function Logger(symbol, namespace) {
var _this = this;
if (symbol === void 0) { symbol = ''; }
if (namespace === void 0) { namespace = ''; }
this.symbol = '';
this.namespace = '';
this.symbolColor = '#13c2c2';
this.namespaceColor = randomDarkColor();
this.formatter = '';
this.styles = [];
this.info = function () {
var data = [];
for (var _i = 0; _i < arguments.length; _i++) {
data[_i] = arguments[_i];
}
console.log.apply(console, makeInstanceArgs(_this, "Info", data));
};
this.success = function () {
var data = [];
for (var _i = 0; _i < arguments.length; _i++) {
data[_i] = arguments[_i];
}
console.log.apply(console, makeInstanceArgs(_this, "Success", data));
};
this.warn = function () {
var data = [];
for (var _i = 0; _i < arguments.length; _i++) {
data[_i] = arguments[_i];
}
console.log.apply(console, makeInstanceArgs(_this, "Warn", data));
};
this.error = function () {
var data = [];
for (var _i = 0; _i < arguments.length; _i++) {
data[_i] = arguments[_i];
}
console.log.apply(console, makeInstanceArgs(_this, "Error", data));
};
var symbolColorMatch = symbol.match(COLOR_REG) || [];
var namespaceColorMatch = namespace.match(COLOR_REG) || [];
this.symbol = symbol.replace(COLOR_REG, '');
this.symbolColor = symbolColorMatch[1] || this.symbolColor;
this.namespace = namespace.replace(COLOR_REG, '');
this.namespaceColor = namespaceColorMatch[1] || this.namespaceColor;
if (this.symbol) {
this.formatter += "%c" + this.symbol;
this.styles.push(STYLE.SYMBOL + " background-color: " + this.symbolColor + ";");
}
if (this.namespace) {
this.formatter += "%c" + this.namespace;
this.styles.push(STYLE.NAMESPACE + " color: " + this.namespaceColor + "; border-color: " + this.symbolColor + ";");
}
}
Logger.symbol = '';
Logger.separator = '';
Logger.symbolColor = '#13c2c2';
Logger.info = info;
Logger.success = success;
Logger.warn = warn;
Logger.error = error;
return Logger;
}());
exports.default = Logger;
exports.error = error;
exports.info = info;
exports.success = success;
exports.warn = warn;
Object.defineProperty(exports, '__esModule', { value: true });
})));
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/logger.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null],"names":[],"mappings":"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"}
import typescript from '@rollup/plugin-typescript'
export default {
input: 'src/index.ts',
output: {
file: 'lib/index.js',
format: 'umd',
name: 'Logger',
sourcemap: true,
exports: 'named',
},
plugins: [typescript()],
watch: {
include: 'src/**/*',
},
}
import Logger, { info, success, warn, error } from './logger'
export { info, success, warn, error }
export default Logger
const enum LEVEL {
INFO = 'Info',
SUCCESS = 'Success',
WARN = 'Warn',
ERROR = 'Error',
}
const STYLE = {
SYMBOL: `
margin: 0 0 0 0;
padding: 1px 2px;
color: #fff;
background-color: #13c2c2;
`,
NAMESPACE: `
margin: 0 0 0 0;
padding: 1px 3px 0;
font-size: 10px;
border-top: 1px solid #13c2c2;
border-right: 1px solid #13c2c2;
border-bottom: 1px solid #13c2c2;
`,
[LEVEL.INFO]: `
margin: 0 0 0 0;
padding: 2px 2px 1px;
font-size: 10px;
color: #fff;
background-color: #1890ff;
`,
[LEVEL.SUCCESS]: `
margin: 0 0 0 0;
padding: 2px 2px 1px;
font-size: 10px;
color: #fff;
background-color: #52c41a;
`,
[LEVEL.WARN]: `
margin: 0 0 0 0;
padding: 2px 2px 1px;
font-size: 10px;
color: #fff;
background-color: #faad14;
`,
[LEVEL.ERROR]: `
margin: 0 0 0 0;
padding: 2px 2px 1px;
font-size: 10px;
color: #fff;
background-color: #ff4d4f;
`,
}
const SUBSTITUTION_REG = /%(\.\d+)?[idfsoO]/
const COLOR_REG = /\(([^()]+)\)$/
let randomColor = () => {
let letters = '0123456789ABCDEF'
let color = '#'
for (let i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)]
}
return color
}
let randomDarkColor = (): string => {
let h = Math.floor(Math.random() * 360)
let s = Math.floor(Math.random() * 50) + 50 // ensure saturation is gt 50%
let l = Math.floor(Math.random() * 60) // ensure lightness is lt 60%
return `hsl(${h}, ${s}%, ${l}%)`
}
let makeStaticArgs = (type: LEVEL, data = []) => {
let formatter = ''
let styles = []
if (Logger.symbol) {
formatter += `%c${Logger.symbol}`
styles.push(`${STYLE.SYMBOL} background-color: ${Logger.symbolColor};`)
}
formatter += `%c${type}%c`
styles.push(STYLE[type], '')
while (SUBSTITUTION_REG.test(data[0])) {
formatter += ' ' + data.shift()
}
return [formatter, ...styles, ...data]
}
let makeInstanceArgs = (instance: Logger, type: LEVEL, data = []) => {
let formatter = instance.formatter
let styles = instance.styles.slice()
formatter += `%c${type}%c`
styles.push(STYLE[type], '')
while (SUBSTITUTION_REG.test(data[0])) {
formatter += ' ' + data.shift()
}
return [formatter, ...styles, ...data]
}
export function info(...data: []) {
console.log.apply(console, makeStaticArgs(LEVEL.INFO, data))
}
export function success(...data: []) {
console.log.apply(console, makeStaticArgs(LEVEL.SUCCESS, data))
}
export function warn(...data: []) {
console.log.apply(console, makeStaticArgs(LEVEL.WARN, data))
}
export function error(...data: []) {
console.log.apply(console, makeStaticArgs(LEVEL.ERROR, data))
}
export default class Logger {
static symbol = ''
static separator = ''
static symbolColor = '#13c2c2'
static info = info
static success = success
static warn = warn
static error = error
symbol = ''
namespace = ''
symbolColor = '#13c2c2'
namespaceColor = randomDarkColor()
formatter = ''
styles: string[] = []
constructor(symbol = '', namespace = '') {
let symbolColorMatch = symbol.match(COLOR_REG) || []
let namespaceColorMatch = namespace.match(COLOR_REG) || []
this.symbol = symbol.replace(COLOR_REG, '')
this.symbolColor = symbolColorMatch[1] || this.symbolColor
this.namespace = namespace.replace(COLOR_REG, '')
this.namespaceColor = namespaceColorMatch[1] || this.namespaceColor
if (this.symbol) {
this.formatter += `%c${this.symbol}`
this.styles.push(`${STYLE.SYMBOL} background-color: ${this.symbolColor};`)
}
if (this.namespace) {
this.formatter += `%c${this.namespace}`
this.styles.push(
`${STYLE.NAMESPACE} color: ${this.namespaceColor}; border-color: ${this.symbolColor};`
)
}
}
info = (...data: []) => {
console.log.apply(console, makeInstanceArgs(this, LEVEL.INFO, data))
}
success = (...data: []) => {
console.log.apply(console, makeInstanceArgs(this, LEVEL.SUCCESS, data))
}
warn = (...data: []) => {
console.log.apply(console, makeInstanceArgs(this, LEVEL.WARN, data))
}
error = (...data: []) => {
console.log.apply(console, makeInstanceArgs(this, LEVEL.ERROR, data))
}
}
/* Visit https://aka.ms/tsconfig.json to read more about this file */
{
"compilerOptions": {
"declaration": false,
"declarationMap": false,
"downlevelIteration": false,
"importHelpers": true,
"lib": ["DOM", "ESNext"],
"module": "ES2015",
"target": "ES5",
"removeComments": true,
"sourceMap": true,
"strict": true,
"noImplicitAny": true,
"strictBindCallApply": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"allowSyntheticDefaultImports": true,
"allowUmdGlobalAccess": true,
"esModuleInterop": true,
"noFallthroughCasesInSwitch": true,
"noImplicitReturns": true,
"noUnusedLocals": false,
"noUnusedParameters": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"listFiles": false,
"listEmittedFiles": true,
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true
},
"watchOptions": {}
}
export as namespace Logger
export declare function info(...data: any[]): void
export declare function success(...data: any[]): void
export declare function warn(...data: any[]): void
export declare function error(...data: any[]): void
export default class Logger {
static symbol: string
static separator: string
static symbolColor: string
static info: typeof info
static success: typeof success
static warn: typeof warn
static error: typeof error
symbol: string
namespace: string
symbolColor: string
namespaceColor: string
formatter: string
styles: stringany[]
constructor(symbol?: string, namespace?: string)
info(...data: any[]): void
success(...data: any[]): void
warn(...data: any[]): void
error(...data: any[]): void
}
+15
-3
{
"name": "clearly-logger",
"version": "0.1.0",
"version": "0.1.1",
"description": "A tiny but graceful logger make log on web inspectors grouped by namespace & color, easy to find and read.",
"main": "src/index.js",
"main": "lib/index.js",
"types": "types/index.d.ts",
"scripts": {
"start": "npm run dev",
"dev": "rollup -w -c rollup.config.js",
"build": "rollup -c rollup.config.js",
"test": "echo \"Error: no test specified\" && exit 1"

@@ -22,3 +26,11 @@ },

},
"homepage": "https://github.com/FLYSLOW/logger#readme"
"homepage": "https://github.com/FLYSLOW/logger#readme",
"devDependencies": {
"@rollup/plugin-typescript": "^5.0.2",
"rollup": "^2.23.0",
"typescript": "^3.9.7"
},
"dependencies": {
"tslib": "^2.0.0"
}
}
+14
-14

@@ -7,7 +7,7 @@ <!DOCTYPE html>

<title>Logger Test</title>
<script src="../lib/index.js"></script>
</head>
<body>
<script type="module">
import Logger from '../src/index.js'
<script>
let _Logger = Logger.default
let i = 1234567890 // int number

@@ -25,13 +25,13 @@ let f = 1234567890.123456789 // float number

let desc_logger_0 = new Logger('Logger', logger_desc_0)
let desc_logger_1 = new Logger('Logger', logger_desc_1)
let desc_logger_2 = new Logger('Logger', logger_desc_2)
let desc_logger_3 = new Logger('Logger', logger_desc_3)
let desc_logger_4 = new Logger('Logger', logger_desc_4)
let desc_logger_5 = new Logger('Logger', logger_desc_5)
let logger_1 = new Logger() // Logger without any config
let logger_2 = new Logger('$') // Logger with symbol config
let logger_3 = new Logger('logger_3') // Logger with namespace config
let logger_4 = new Logger('$', 'logger_4') // Logger with symbol and namespace config
let logger_5 = new Logger('$(#0f0)', 'logger_5(#00f)') // Logger width symbol and namespace and custom color config
let desc_logger_0 = new _Logger('Logger', logger_desc_0)
let desc_logger_1 = new _Logger('Logger', logger_desc_1)
let desc_logger_2 = new _Logger('Logger', logger_desc_2)
let desc_logger_3 = new _Logger('Logger', logger_desc_3)
let desc_logger_4 = new _Logger('Logger', logger_desc_4)
let desc_logger_5 = new _Logger('Logger', logger_desc_5)
let logger_1 = new _Logger() // Logger without any config
let logger_2 = new _Logger('$') // Logger with symbol config
let logger_3 = new _Logger('logger_3') // Logger with namespace config
let logger_4 = new _Logger('$', 'logger_4') // Logger with symbol and namespace config
let logger_5 = new _Logger('$(#0f0)', 'logger_5(#00f)') // Logger width symbol and namespace and custom color config

@@ -38,0 +38,0 @@ desc_logger_0.info()

const TYPE = {
INFO: 'Info',
SUCCESS: 'Success',
WARN: 'Warn',
ERROR: 'Error',
}
const STYLE = {
SYMBOL: `
margin: 0 0 0 0;
padding: 1px 2px;
color: #fff;
background-color: #13c2c2;
`,
NAMESPACE: `
margin: 0 0 0 0;
padding: 1px 3px 0;
font-size: 10px;
border-top: 1px solid #13c2c2;
border-right: 1px solid #13c2c2;
border-bottom: 1px solid #13c2c2;
`,
[TYPE.INFO]: `
margin: 0 0 0 0;
padding: 2px 2px 1px;
font-size: 10px;
color: #fff;
background-color: #1890ff;
`,
[TYPE.SUCCESS]: `
margin: 0 0 0 0;
padding: 2px 2px 1px;
font-size: 10px;
color: #fff;
background-color: #52c41a;
`,
[TYPE.WARN]: `
margin: 0 0 0 0;
padding: 2px 2px 1px;
font-size: 10px;
color: #fff;
background-color: #faad14;
`,
[TYPE.ERROR]: `
margin: 0 0 0 0;
padding: 2px 2px 1px;
font-size: 10px;
color: #fff;
background-color: #ff4d4f;
`,
}
const SUBSTITUTION_REG = /%(\.\d+)?[idfsoO]/
const COLOR_REG = /\(([^()]+)\)$/
let randomColor = () => {
let letters = '0123456789ABCDEF'
let color = '#'
for (let i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)]
}
return color
}
let randomDarkColor = () => {
let h = Math.floor(Math.random() * 360)
let s = Math.floor(Math.random() * 50) + 50 // ensure saturation is gt 50%
let l = Math.floor(Math.random() * 60) // ensure lightness is lt 60%
return `hsl(${h}, ${s}%, ${l}%)`
}
let makeStaticArgs = (type, args = []) => {
let formatter = ''
let styles = []
if (Logger.SYMBOL) {
formatter += `%c${Logger.SYMBOL}`
styles.push(`${STYLE.SYMBOL} background-color: ${Logger.symbolColor};`)
}
formatter += `%c${type}%c`
styles.push(STYLE[type], '')
while (SUBSTITUTION_REG.test(args[0])) {
formatter += ' ' + args.shift()
}
return [formatter, ...styles, ...args]
}
let makeInstanceArgs = (instance, type, args = []) => {
let formatter = instance.formatter
let styles = instance.styles.slice()
formatter += `%c${type}%c`
styles.push(STYLE[type], '')
while (SUBSTITUTION_REG.test(args[0])) {
formatter += ' ' + args.shift()
}
return [formatter, ...styles, ...args]
}
export const info = (...args) => {
console.log.apply(console, makeStaticArgs(TYPE.INFO, args))
}
export const success = (...args) => {
console.log.apply(console, makeStaticArgs(TYPE.SUCCESS, args))
}
export const warn = (...args) => {
console.log.apply(console, makeStaticArgs(TYPE.WARN, args))
}
export const error = (...args) => {
console.log.apply(console, makeStaticArgs(TYPE.ERROR, args))
}
export default class Logger {
static symbol = ''
static separator = ''
static symbolColor = '#13c2c2'
static info = info
static success = success
static warn = warn
static error = error
symbol = ''
namespace = ''
symbolColor = '#13c2c2'
namespaceColor = randomDarkColor()
formatter = ''
styles = []
constructor(symbol = '', namespace = '') {
let symbolColorMatch = symbol.match(COLOR_REG) || []
let namespaceColorMatch = namespace.match(COLOR_REG) || []
this.symbol = symbol.replace(COLOR_REG, '')
this.symbolColor = symbolColorMatch[1] || this.symbolColor
this.namespace = namespace.replace(COLOR_REG, '')
this.namespaceColor = namespaceColorMatch[1] || this.namespaceColor
if (this.symbol) {
this.formatter += `%c${this.symbol}`
this.styles.push(`${STYLE.SYMBOL} background-color: ${this.symbolColor};`)
}
if (this.namespace) {
this.formatter += `%c${this.namespace}`
this.styles.push(
`${STYLE.NAMESPACE} color: ${this.namespaceColor}; border-color: ${this.symbolColor};`
)
}
}
info(...args) {
console.log.apply(console, makeInstanceArgs(this, TYPE.INFO, args))
}
success(...args) {
console.log.apply(console, makeInstanceArgs(this, TYPE.SUCCESS, args))
}
warn(...args) {
console.log.apply(console, makeInstanceArgs(this, TYPE.WARN, args))
}
error(...args) {
console.log.apply(console, makeInstanceArgs(this, TYPE.ERROR, args))
}
}