Compare commits
No commits in common. "b647b8fae6b2890d2093c02ab578aa0381833d49" and "facb7e7b403e1dfaa8790426259e6effb0618efb" have entirely different histories.
b647b8fae6
...
facb7e7b40
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@hibas123/logging",
|
"name": "@hibas123/logging",
|
||||||
"version": "2.1.5",
|
"version": "2.1.4",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1,166 +1,154 @@
|
|||||||
import { ObservableInterface } from "@hibas123/utils";
|
import { ObservableInterface } from "@hibas123/utils";
|
||||||
import { Colors } from "./index";
|
import { Colors } from "./index";
|
||||||
import {
|
import {
|
||||||
<<<<<<< HEAD
|
|
||||||
Adapter,
|
|
||||||
Message,
|
|
||||||
FormattedLine,
|
|
||||||
TerminalFormats,
|
|
||||||
FormatTypes
|
|
||||||
=======
|
|
||||||
Adapter,
|
Adapter,
|
||||||
Message,
|
Message,
|
||||||
FormattedLine,
|
FormattedLine,
|
||||||
TerminalFormats,
|
TerminalFormats,
|
||||||
FormatTypes,
|
FormatTypes,
|
||||||
>>>>>>> facb7e7b403e1dfaa8790426259e6effb0618efb
|
|
||||||
} from "./types";
|
} from "./types";
|
||||||
|
|
||||||
const browser = typeof window !== "undefined";
|
const browser = typeof window !== "undefined";
|
||||||
|
|
||||||
export class ConsoleAdapter implements Adapter {
|
export class ConsoleAdapter implements Adapter {
|
||||||
init(observable: ObservableInterface<Message>) {
|
init(observable: ObservableInterface<Message>) {
|
||||||
observable.subscribe(this.onMessage.bind(this));
|
observable.subscribe(this.onMessage.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
flush() {}
|
|
||||||
=======
|
|
||||||
flush() {}
|
flush() {}
|
||||||
>>>>>>> facb7e7b403e1dfaa8790426259e6effb0618efb
|
|
||||||
|
|
||||||
// TODO: Check if required!
|
// TODO: Check if required!
|
||||||
// private escape(text: string): string {
|
// private escape(text: string): string {
|
||||||
// return text
|
// return text
|
||||||
// .replace(/%s/g, "%%s")
|
// .replace(/%s/g, "%%s")
|
||||||
// .replace(/%c/g, "%%c")
|
// .replace(/%c/g, "%%c")
|
||||||
// }
|
// }
|
||||||
|
|
||||||
private formatLine(line: FormattedLine): [string, string[] | undefined] {
|
private formatLine(line: FormattedLine): [string, string[] | undefined] {
|
||||||
let text = "";
|
let text = "";
|
||||||
let style_formats: string[] = [];
|
let style_formats: string[] = [];
|
||||||
|
|
||||||
if (!browser) {
|
if (!browser) {
|
||||||
for (let part of line) {
|
for (let part of line) {
|
||||||
let formats = "";
|
let formats = "";
|
||||||
for (let format of part.formats) {
|
for (let format of part.formats) {
|
||||||
switch (format.type) {
|
switch (format.type) {
|
||||||
case FormatTypes.BOLD:
|
case FormatTypes.BOLD:
|
||||||
formats += TerminalFormats.Bold;
|
formats += TerminalFormats.Bold;
|
||||||
break;
|
break;
|
||||||
case FormatTypes.UNDERSCORE:
|
case FormatTypes.UNDERSCORE:
|
||||||
formats += TerminalFormats.Underscore;
|
formats += TerminalFormats.Underscore;
|
||||||
break;
|
break;
|
||||||
case FormatTypes.BLINK:
|
case FormatTypes.BLINK:
|
||||||
formats += TerminalFormats.Blink;
|
formats += TerminalFormats.Blink;
|
||||||
break;
|
break;
|
||||||
case FormatTypes.COLOR:
|
case FormatTypes.COLOR:
|
||||||
switch (format.color) {
|
switch (format.color) {
|
||||||
case Colors.RED:
|
case Colors.RED:
|
||||||
formats += TerminalFormats.FgRed;
|
formats += TerminalFormats.FgRed;
|
||||||
break;
|
break;
|
||||||
case Colors.GREEN:
|
case Colors.GREEN:
|
||||||
formats += TerminalFormats.FgGreen;
|
formats += TerminalFormats.FgGreen;
|
||||||
break;
|
break;
|
||||||
case Colors.YELLOW:
|
case Colors.YELLOW:
|
||||||
formats += TerminalFormats.FgYellow;
|
formats += TerminalFormats.FgYellow;
|
||||||
break;
|
break;
|
||||||
case Colors.BLUE:
|
case Colors.BLUE:
|
||||||
formats += TerminalFormats.FgBlue;
|
formats += TerminalFormats.FgBlue;
|
||||||
break;
|
break;
|
||||||
case Colors.MAGENTA:
|
case Colors.MAGENTA:
|
||||||
formats += TerminalFormats.FgMagenta;
|
formats += TerminalFormats.FgMagenta;
|
||||||
break;
|
break;
|
||||||
case Colors.CYAN:
|
case Colors.CYAN:
|
||||||
formats += TerminalFormats.FgCyan;
|
formats += TerminalFormats.FgCyan;
|
||||||
break;
|
break;
|
||||||
case Colors.WHITE:
|
case Colors.WHITE:
|
||||||
formats += TerminalFormats.FgWhite;
|
formats += TerminalFormats.FgWhite;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
text += formats + part.text + TerminalFormats.Reset;
|
text += formats + part.text + TerminalFormats.Reset;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (let part of line) {
|
||||||
|
let styles: string[] = [];
|
||||||
|
let resetStyles: string[] = [];
|
||||||
|
for (let format of part.formats) {
|
||||||
|
switch (format.type) {
|
||||||
|
case FormatTypes.BOLD:
|
||||||
|
styles.push("font-weight: bold;");
|
||||||
|
resetStyles.push("font-weight: unset");
|
||||||
|
break;
|
||||||
|
case FormatTypes.UNDERSCORE:
|
||||||
|
styles.push("text-decoration: underline");
|
||||||
|
resetStyles.push("text-decoration: unset");
|
||||||
|
break;
|
||||||
|
case FormatTypes.BLINK:
|
||||||
|
styles.push("text-decoration: blink");
|
||||||
|
resetStyles.push("text-decoration: unset");
|
||||||
|
break;
|
||||||
|
case FormatTypes.COLOR:
|
||||||
|
let color = "";
|
||||||
|
switch (format.color) {
|
||||||
|
case Colors.RED:
|
||||||
|
color = "red";
|
||||||
|
break;
|
||||||
|
case Colors.GREEN:
|
||||||
|
color = "green";
|
||||||
|
break;
|
||||||
|
case Colors.YELLOW:
|
||||||
|
color = "gold";
|
||||||
|
break;
|
||||||
|
case Colors.BLUE:
|
||||||
|
color = "blue";
|
||||||
|
break;
|
||||||
|
case Colors.MAGENTA:
|
||||||
|
color = "magenta";
|
||||||
|
break;
|
||||||
|
case Colors.CYAN:
|
||||||
|
color = "cyan";
|
||||||
|
break;
|
||||||
|
case Colors.WHITE:
|
||||||
|
color = "white";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
styles.push("color: " + color);
|
||||||
|
resetStyles.push("color: unset");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
text += "%c" + part.text.replace(/%c/g, "%%c") + "%c";
|
||||||
|
style_formats.push(styles.join(";"), resetStyles.join(";"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
for (let part of line) {
|
return [text, style_formats];
|
||||||
let styles: string[] = [];
|
}
|
||||||
let resetStyles: string[] = [];
|
|
||||||
for (let format of part.formats) {
|
onMessage(message: Message) {
|
||||||
switch (format.type) {
|
let lines = message.text.formatted;
|
||||||
case FormatTypes.BOLD:
|
|
||||||
styles.push("font-weight: bold;");
|
let prefix = "";
|
||||||
resetStyles.push("font-weight: unset");
|
if (message.name) prefix = `[${message.name}]=>`;
|
||||||
break;
|
|
||||||
case FormatTypes.UNDERSCORE:
|
if (browser) {
|
||||||
styles.push("text-decoration: underline");
|
let formats: string[] = [];
|
||||||
resetStyles.push("text-decoration: unset");
|
let text = lines
|
||||||
break;
|
.map((line) => {
|
||||||
case FormatTypes.BLINK:
|
let [t, fmts] = this.formatLine(line);
|
||||||
styles.push("text-decoration: blink");
|
formats.push(...fmts);
|
||||||
resetStyles.push("text-decoration: unset");
|
return t;
|
||||||
break;
|
})
|
||||||
case FormatTypes.COLOR:
|
.join("\n");
|
||||||
let color = "";
|
// console.log(formats);
|
||||||
switch (format.color) {
|
console.log(text, ...formats);
|
||||||
case Colors.RED:
|
} else {
|
||||||
color = "red";
|
lines.forEach((line) => {
|
||||||
break;
|
let [text] = this.formatLine(line);
|
||||||
case Colors.GREEN:
|
console.log(prefix + text);
|
||||||
color = "green";
|
});
|
||||||
break;
|
|
||||||
case Colors.YELLOW:
|
|
||||||
color = "gold";
|
|
||||||
break;
|
|
||||||
case Colors.BLUE:
|
|
||||||
color = "blue";
|
|
||||||
break;
|
|
||||||
case Colors.MAGENTA:
|
|
||||||
color = "magenta";
|
|
||||||
break;
|
|
||||||
case Colors.CYAN:
|
|
||||||
color = "cyan";
|
|
||||||
break;
|
|
||||||
case Colors.WHITE:
|
|
||||||
color = "white";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
styles.push("color: " + color);
|
|
||||||
resetStyles.push("color: unset");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
text += "%c" + part.text.replace(/%c/g, "%%c") + "%c";
|
|
||||||
style_formats.push(styles.join(";"), resetStyles.join(";"));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return [text, style_formats];
|
|
||||||
}
|
|
||||||
|
|
||||||
onMessage(message: Message) {
|
|
||||||
let lines = message.text.formatted;
|
|
||||||
|
|
||||||
let prefix = "";
|
|
||||||
if (message.name) prefix = `[${message.name}]=>`;
|
|
||||||
|
|
||||||
if (browser) {
|
|
||||||
let formats: string[] = [];
|
|
||||||
let text = lines
|
|
||||||
.map(line => {
|
|
||||||
let [t, fmts] = this.formatLine(line);
|
|
||||||
formats.push(...fmts);
|
|
||||||
return prefix + t;
|
|
||||||
})
|
|
||||||
.join("\n");
|
|
||||||
// console.log(formats);
|
|
||||||
console.log(text, ...formats);
|
|
||||||
} else {
|
|
||||||
lines.forEach(line => {
|
|
||||||
let [text] = this.formatLine(line);
|
|
||||||
console.log(prefix + text);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user