Updated logger
This commit is contained in:
		@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
	"name": "@ztimson/js-utilities",
 | 
			
		||||
	"version": "0.3.4",
 | 
			
		||||
	"version": "0.3.5",
 | 
			
		||||
	"description": "JavaScript Utility library",
 | 
			
		||||
	"author": "Zak Timson",
 | 
			
		||||
	"license": "MIT",
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@ export type LoggerEvents = TypedEvents & {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export class Logger extends TypedEmitter<LoggerEvents> {
 | 
			
		||||
	static LOG_LEVEL: LOG_LEVEL = LOG_LEVEL.INFO;
 | 
			
		||||
	static LOG_LEVEL: LOG_LEVEL = LOG_LEVEL.VERBOSE;
 | 
			
		||||
 | 
			
		||||
	constructor(public readonly namespace?: string) {
 | 
			
		||||
		super();
 | 
			
		||||
@@ -78,7 +78,7 @@ export class Logger extends TypedEmitter<LoggerEvents> {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	debug(...args: string[]) {
 | 
			
		||||
		if(LOG_LEVEL.VERBOSE >= Logger.LOG_LEVEL) {
 | 
			
		||||
		if(Logger.LOG_LEVEL >= LOG_LEVEL.VERBOSE) {
 | 
			
		||||
			const str = this.format(...args);
 | 
			
		||||
			Logger.emit(LOG_LEVEL.VERBOSE, str);
 | 
			
		||||
			console.debug(CliForeground.LIGHT_GREY + str + CliEffects.CLEAR);
 | 
			
		||||
@@ -86,7 +86,7 @@ export class Logger extends TypedEmitter<LoggerEvents> {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	error(...args: string[]) {
 | 
			
		||||
		if(LOG_LEVEL.ERROR >= Logger.LOG_LEVEL) {
 | 
			
		||||
		if(Logger.LOG_LEVEL >= LOG_LEVEL.ERROR) {
 | 
			
		||||
			const str = this.format(...args);
 | 
			
		||||
			Logger.emit(LOG_LEVEL.ERROR, str);
 | 
			
		||||
			console.error(CliForeground.RED + str + CliEffects.CLEAR);
 | 
			
		||||
@@ -94,7 +94,7 @@ export class Logger extends TypedEmitter<LoggerEvents> {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	info(...args: string[]) {
 | 
			
		||||
		if(LOG_LEVEL.INFO >= Logger.LOG_LEVEL) {
 | 
			
		||||
		if(Logger.LOG_LEVEL >= LOG_LEVEL.INFO) {
 | 
			
		||||
			const str = this.format(...args);
 | 
			
		||||
			Logger.emit(LOG_LEVEL.INFO, str);
 | 
			
		||||
			console.info(CliForeground.BLUE + str + CliEffects.CLEAR);
 | 
			
		||||
@@ -102,7 +102,7 @@ export class Logger extends TypedEmitter<LoggerEvents> {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	log(...args: string[]) {
 | 
			
		||||
		if(LOG_LEVEL.INFO >= Logger.LOG_LEVEL) {
 | 
			
		||||
		if(Logger.LOG_LEVEL >= LOG_LEVEL.INFO) {
 | 
			
		||||
			const str = this.format(...args);
 | 
			
		||||
			Logger.emit(LOG_LEVEL.INFO, str);
 | 
			
		||||
			console.log(CliEffects.CLEAR + str);
 | 
			
		||||
@@ -110,7 +110,7 @@ export class Logger extends TypedEmitter<LoggerEvents> {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	warn(...args: string[]) {
 | 
			
		||||
		if(LOG_LEVEL.WARN >= Logger.LOG_LEVEL) {
 | 
			
		||||
		if(Logger.LOG_LEVEL >= LOG_LEVEL.WARN) {
 | 
			
		||||
			const str = this.format(...args);
 | 
			
		||||
			Logger.emit(LOG_LEVEL.WARN, str);
 | 
			
		||||
			console.warn(CliForeground.YELLOW + str + CliEffects.CLEAR);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										72
									
								
								src/redis.ts
									
									
									
									
									
								
							
							
						
						
									
										72
									
								
								src/redis.ts
									
									
									
									
									
								
							@@ -1,72 +0,0 @@
 | 
			
		||||
// import {createClient, RedisClientType} from 'redis';
 | 
			
		||||
// import {environment} from '../environments/environment';
 | 
			
		||||
//
 | 
			
		||||
// export type RedisKey = string | string[];
 | 
			
		||||
//
 | 
			
		||||
// export let Redis!: RedisClientType & {
 | 
			
		||||
// 	// get/set shimmed for JSON
 | 
			
		||||
// 	jGet: (redisKey: string) => Promise<any>,
 | 
			
		||||
// 	jSet: (redisKey: string, obj: any, opts?: any) => Promise<void>,
 | 
			
		||||
// 	// hGet/hSet shimmed for objects
 | 
			
		||||
// 	oGet: (redisKey: string) => Promise<any>;
 | 
			
		||||
// 	oSet: (redisKey: string, obj: any) => Promise<void>,
 | 
			
		||||
// 	// Helpers
 | 
			
		||||
// 	findKeys: (filter: RedisKey) => Promise<string[]>,
 | 
			
		||||
// 	forEach: (filter: RedisKey, cb: (key: string) => any) => Promise<void>,
 | 
			
		||||
// };
 | 
			
		||||
//
 | 
			
		||||
// export async function connectRedis(retry = 3) {
 | 
			
		||||
// 	Redis = <any>createClient({
 | 
			
		||||
// 		url: `redis://host:port`
 | 
			
		||||
// 	});
 | 
			
		||||
// 	if(!Redis && retry > 0) {
 | 
			
		||||
// 		await connectRedis(retry - 1);
 | 
			
		||||
// 	} else if(!!Redis) {
 | 
			
		||||
// 		Redis.jGet = async (redisKey: string) => {
 | 
			
		||||
// 			const val = await Redis.get(redisKey);
 | 
			
		||||
// 			return val ? JSON.parse(val) || val : null;
 | 
			
		||||
// 		};
 | 
			
		||||
// 		Redis.jSet = (redisKey: string, obj: any, opts?: any) => {
 | 
			
		||||
// 			return Redis.set(redisKey, JSON.stringify(obj), opts).then(() => {});
 | 
			
		||||
// 		};
 | 
			
		||||
// 		Redis.oGet = async (redisKey: string) => {
 | 
			
		||||
// 			if(!(await Redis.hLen(redisKey))) return null;
 | 
			
		||||
// 			const val = await Redis.hGetAll(redisKey);
 | 
			
		||||
// 			Object.entries(val).forEach(([key, v]) => val[key] = JSON.parse(v));
 | 
			
		||||
// 			return val;
 | 
			
		||||
// 		};
 | 
			
		||||
// 		Redis.oSet = (redisKey: string, obj: any) => {
 | 
			
		||||
// 			const r = Redis.multi();
 | 
			
		||||
// 			Object.entries(obj).forEach(([key, val]) => {
 | 
			
		||||
// 				r.hSet(redisKey, key, JSON.stringify(val));
 | 
			
		||||
// 			});
 | 
			
		||||
// 			return r.exec().then(() => {});
 | 
			
		||||
// 		};
 | 
			
		||||
// 		Redis.findKeys = async (filter: RedisKey): Promise<string[]> => {
 | 
			
		||||
// 			const found: string[] = [];
 | 
			
		||||
// 			await Redis.forEach(filter, (key: string) => found.push(key));
 | 
			
		||||
// 			return found;
 | 
			
		||||
// 		}
 | 
			
		||||
// 		Redis.forEach = async (filter: RedisKey, cb: (key: string) => any): Promise<void> => {
 | 
			
		||||
// 			for await (const k of Redis.scanIterator({MATCH: createKey(filter)})) {
 | 
			
		||||
// 				const rtn = cb(k);
 | 
			
		||||
// 				if(rtn instanceof Promise) await rtn;
 | 
			
		||||
// 			}
 | 
			
		||||
// 		}
 | 
			
		||||
// 		await Redis.connect();
 | 
			
		||||
// 	}
 | 
			
		||||
// }
 | 
			
		||||
//
 | 
			
		||||
// export function createKey(...keys: (string | string[])[]) {
 | 
			
		||||
// 	return keys.flat().map(k => k == null ? '*' : k).join(':');
 | 
			
		||||
// }
 | 
			
		||||
//
 | 
			
		||||
// export function namespacedKey(namespace: string, key: RedisKey): string {
 | 
			
		||||
// 	return createKey(namespace, ...(Array.isArray(key) ? key : [key]));
 | 
			
		||||
// }
 | 
			
		||||
//
 | 
			
		||||
// export function nameSpacer(namespace: string) {
 | 
			
		||||
// 	return (key: RedisKey) => {
 | 
			
		||||
// 		return namespacedKey(namespace, key);
 | 
			
		||||
// 	};
 | 
			
		||||
// }
 | 
			
		||||
		Reference in New Issue
	
	Block a user