Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@furystack/core

Package Overview
Dependencies
Maintainers
1
Versions
214
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@furystack/core - npm Package Compare versions

Comparing version 0.3.1 to 0.3.2

4

dist/Loggers/AbstractLogger.d.ts

@@ -5,4 +5,4 @@ import { ILeveledLogEntry, ILogEntry } from "../Models/ILogEntries";

export declare const defaultLoggerOptions: ILoggerOptions;
export declare abstract class AbstractLogger implements ILogger {
readonly options: ILoggerOptions;
export declare abstract class AbstractLogger<TOptions extends ILoggerOptions = ILoggerOptions> implements ILogger {
readonly options: TOptions;
constructor(options?: Partial<ILoggerOptions>);

@@ -9,0 +9,0 @@ abstract AddEntry<T>(entry: ILeveledLogEntry<T>): Promise<void>;

@@ -1,2 +0,3 @@

import { ILeveledLogEntry } from "../Models/ILogEntries";
import { ILoggerOptions } from "../Models";
import { ILeveledLogEntry, LogLevel } from "../Models/ILogEntries";
import { AbstractLogger } from "./AbstractLogger";

@@ -12,4 +13,15 @@ export declare const Reset = "\u001B[0m";

export declare const FgWhite = "\u001B[37m";
export declare class ConsoleLogger extends AbstractLogger {
export declare const getLevelColor: (level: LogLevel) => "\u001B[31m" | "\u001B[32m" | "\u001B[33m" | "\u001B[34m";
export declare const defaultFormatter: <T>(entry: ILeveledLogEntry<T>) => string[];
export declare const verboseFormatter: <T>(entry: ILeveledLogEntry<T>) => (string | T)[];
export interface IConsoleLoggerOptions extends ILoggerOptions {
formatter: <T>(entry: ILeveledLogEntry<T>) => any[];
}
export declare class ConsoleLogger extends AbstractLogger<IConsoleLoggerOptions> {
readonly options: IConsoleLoggerOptions;
/**
*
*/
constructor(options?: Partial<IConsoleLoggerOptions>);
AddEntry<T>(entry: ILeveledLogEntry<T>): Promise<void>;
}

@@ -22,28 +22,42 @@ "use strict";

exports.FgWhite = "\x1b[37m";
exports.getLevelColor = (level) => {
switch (level) {
case ILogEntries_1.LogLevel.Verbose:
case ILogEntries_1.LogLevel.Debug:
return exports.FgBlue;
case ILogEntries_1.LogLevel.Information:
return exports.FgGreen;
case ILogEntries_1.LogLevel.Warning:
return exports.FgYellow;
case ILogEntries_1.LogLevel.Error:
case ILogEntries_1.LogLevel.Fatal:
return exports.FgRed;
}
};
exports.defaultFormatter = (entry) => {
const fontColor = exports.getLevelColor(entry.level);
return [`${fontColor}%s${exports.Reset}`, entry.scope, entry.message];
};
exports.verboseFormatter = (entry) => {
const fontColor = exports.getLevelColor(entry.level);
return entry.data ?
[`${fontColor}%s${exports.Reset}`, entry.scope, entry.message, entry.data]
:
[`${fontColor}%s${exports.Reset}`, entry.scope, entry.message];
};
class ConsoleLogger extends AbstractLogger_1.AbstractLogger {
/**
*
*/
constructor(options) {
super(options);
this.options = Object.assign({}, AbstractLogger_1.defaultLoggerOptions, {
formatter: exports.defaultFormatter,
}, options);
}
AddEntry(entry) {
return __awaiter(this, void 0, void 0, function* () {
let fontColor;
switch (entry.level) {
case ILogEntries_1.LogLevel.Verbose:
fontColor = exports.FgBlue;
break;
case ILogEntries_1.LogLevel.Debug:
case ILogEntries_1.LogLevel.Information:
fontColor = exports.FgGreen;
break;
case ILogEntries_1.LogLevel.Warning:
fontColor = exports.FgYellow;
break;
case ILogEntries_1.LogLevel.Error:
case ILogEntries_1.LogLevel.Fatal:
fontColor = exports.FgRed;
break;
}
entry.data ?
// tslint:disable-next-line:no-console
console.log(`${fontColor}%s${exports.Reset}`, entry.scope, entry.message, entry.data)
:
// tslint:disable-next-line:no-console
console.log(`${fontColor}%s${exports.Reset}`, entry.scope, entry.message);
const data = this.options.formatter(entry);
// tslint:disable-next-line:no-console
console.log(...data);
});

@@ -50,0 +64,0 @@ }

{
"name": "@furystack/core",
"version": "0.3.1",
"version": "0.3.2",
"description": "Core FuryStack package",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

@@ -10,5 +10,5 @@ import { ILeveledLogEntry, ILogEntry, LogLevel } from "../Models/ILogEntries";

export abstract class AbstractLogger implements ILogger {
export abstract class AbstractLogger<TOptions extends ILoggerOptions = ILoggerOptions> implements ILogger {
public readonly options: ILoggerOptions;
public readonly options: TOptions;
constructor(options?: Partial<ILoggerOptions>) {

@@ -18,3 +18,3 @@ this.options = {

...options,
};
} as TOptions;
}

@@ -21,0 +21,0 @@

@@ -0,3 +1,4 @@

import { ILoggerOptions } from "../Models";
import { ILeveledLogEntry, LogLevel } from "../Models/ILogEntries";
import { AbstractLogger } from "./AbstractLogger";
import { AbstractLogger, defaultLoggerOptions } from "./AbstractLogger";

@@ -15,30 +16,59 @@ export const Reset = "\x1b[0m";

export class ConsoleLogger extends AbstractLogger {
export const getLevelColor = (level: LogLevel) => {
switch (level) {
case LogLevel.Verbose:
case LogLevel.Debug:
return FgBlue;
case LogLevel.Information:
return FgGreen;
case LogLevel.Warning:
return FgYellow;
case LogLevel.Error:
case LogLevel.Fatal:
return FgRed;
}
};
export const defaultFormatter = <T>(entry: ILeveledLogEntry<T>) => {
const fontColor = getLevelColor(entry.level);
return [`${fontColor}%s${Reset}`, entry.scope, entry.message];
};
export const verboseFormatter = <T>(entry: ILeveledLogEntry<T>) => {
const fontColor = getLevelColor(entry.level);
return entry.data ?
[`${fontColor}%s${Reset}`, entry.scope, entry.message, entry.data]
:
[`${fontColor}%s${Reset}`, entry.scope, entry.message];
};
export interface IConsoleLoggerOptions extends ILoggerOptions {
formatter: <T>(entry: ILeveledLogEntry<T>) => any[];
}
export class ConsoleLogger extends AbstractLogger<IConsoleLoggerOptions> {
public readonly options: IConsoleLoggerOptions;
/**
*
*/
constructor(options?: Partial<IConsoleLoggerOptions> ) {
super(options);
this.options = {
...defaultLoggerOptions,
...{
formatter: defaultFormatter,
},
...options,
};
}
public async AddEntry<T>(entry: ILeveledLogEntry<T>) {
let fontColor!: string;
switch (entry.level) {
case LogLevel.Verbose:
fontColor = FgBlue;
break;
case LogLevel.Debug:
case LogLevel.Information:
fontColor = FgGreen;
break;
case LogLevel.Warning:
fontColor = FgYellow;
break;
case LogLevel.Error:
case LogLevel.Fatal:
fontColor = FgRed;
break;
}
entry.data ?
const data = this.options.formatter(entry);
// tslint:disable-next-line:no-console
console.log(`${fontColor}%s${Reset}`, entry.scope, entry.message, entry.data)
:
// tslint:disable-next-line:no-console
console.log(`${fontColor}%s${Reset}`, entry.scope, entry.message);
console.log(...data);
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc