@ricdotnet/logger 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Logger_1 = require("../src/Logger");
4
+ const Constants_1 = require("../src/Constants");
5
+ const loggerSpy = {
6
+ info: jest.spyOn(Logger_1.Logger, 'info'),
7
+ warn: jest.spyOn(Logger_1.Logger, 'warn'),
8
+ error: jest.spyOn(Logger_1.Logger, 'error')
9
+ };
10
+ const consoleSpy = {
11
+ info: jest.spyOn(console, 'log'),
12
+ warn: jest.spyOn(console, 'warn'),
13
+ error: jest.spyOn(console, 'error'),
14
+ };
15
+ describe('Logger test', () => {
16
+ beforeEach(() => {
17
+ loggerSpy.info.mockClear();
18
+ loggerSpy.warn.mockClear();
19
+ loggerSpy.error.mockClear();
20
+ });
21
+ it('can log an info and check the output', () => {
22
+ Logger_1.Logger.info('hello world');
23
+ expect(loggerSpy.info).toHaveBeenCalledWith('hello world');
24
+ expect(consoleSpy.info).toHaveBeenCalledWith(`${Constants_1.Constants.TEXT_BLUE}[INFO]: hello world`);
25
+ });
26
+ it('can log a warning', () => {
27
+ Logger_1.Logger.warn('hello world');
28
+ expect(loggerSpy.warn).toHaveBeenCalledWith('hello world');
29
+ expect(consoleSpy.warn).toHaveBeenCalledWith(`${Constants_1.Constants.TEXT_YELLOW}[WARN]: hello world`);
30
+ });
31
+ it('can log an error', () => {
32
+ Logger_1.Logger.error('hello world');
33
+ expect(loggerSpy.error).toHaveBeenCalledWith('hello world');
34
+ expect(consoleSpy.error).toHaveBeenCalledWith(`${Constants_1.Constants.TEXT_RED}[ERROR]: hello world`);
35
+ });
36
+ });
37
+ //# sourceMappingURL=Logger.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.spec.js","sourceRoot":"./","sources":["Tests/Logger.spec.ts"],"names":[],"mappings":";;AAAA,0CAAuC;AACvC,gDAA6C;AAE7C,MAAM,SAAS,GAAG;IAChB,IAAI,EAAG,IAAI,CAAC,KAAK,CAAC,eAAM,EAAE,MAAM,CAAC;IACjC,IAAI,EAAG,IAAI,CAAC,KAAK,CAAC,eAAM,EAAE,MAAM,CAAC;IACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,eAAM,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,IAAI,EAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;IACjC,IAAI,EAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;IAClC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAE3B,UAAU,CAAC,GAAG,EAAE;QACd,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,GAAG,qBAAS,CAAC,SAAS,qBAAqB,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,GAAG,qBAAS,CAAC,WAAW,qBAAqB,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAE5B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,GAAG,qBAAS,CAAC,QAAQ,sBAAsB,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export { Logger } from './src/Logger';
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = void 0;
4
+ var Logger_1 = require("./src/Logger");
5
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return Logger_1.Logger; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"./","sources":["index.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAA7B,gGAAA,MAAM,OAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _exports: import('ts-jest/dist/types').InitialOptionsTsJest;
2
+ export = _exports;
@@ -0,0 +1,11 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ roots: [
5
+ '<rootDir>',
6
+ ],
7
+ moduleDirectories: [
8
+ 'node_modules'
9
+ ],
10
+ };
11
+ //# sourceMappingURL=jest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.config.js","sourceRoot":"./","sources":["jest.config.js"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE,SAAS;IACjB,eAAe,EAAE,MAAM;IACvB,KAAK,EAAE;QACL,WAAW;KACZ;IACD,iBAAiB,EAAE;QACjB,cAAc;KACf;CACF,CAAC"}
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=Configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Configuration.js","sourceRoot":"./","sources":["src/Configuration.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ export declare enum Constants {
2
+ Reset = "\u001B[0m",
3
+ BRIGHT = "\u001B[1m",
4
+ Dim = "\u001B[2m",
5
+ Underscore = "\u001B[4m",
6
+ Blink = "\u001B[5m",
7
+ Reverse = "\u001B[7m",
8
+ Hidden = "\u001B[8m",
9
+ TEXT_BLACK = "\u001B[30m",
10
+ TEXT_RED = "\u001B[31m",
11
+ TEXT_GREEN = "\u001B[32m",
12
+ TEXT_YELLOW = "\u001B[33m",
13
+ TEXT_BLUE = "\u001B[34m",
14
+ TEXT_MAGENTA = "\u001B[35m",
15
+ TEXT_CYAN = "\u001B[36m",
16
+ TEXT_WHITE = "\u001B[37m",
17
+ BG_BLACK = "\u001B[40m",
18
+ BG_RED = "\u001B[41m",
19
+ BG_GREEN = "\u001B[42m",
20
+ BG_YELLOW = "\u001B[43m",
21
+ BG_BLUE = "\u001B[44m",
22
+ BG_MAGENTA = "\u001B[45m",
23
+ BG_CYAN = "\u001B[46m",
24
+ BG_WHITE = "\u001B[47m"
25
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Constants = void 0;
4
+ var Constants;
5
+ (function (Constants) {
6
+ Constants["Reset"] = "\u001B[0m";
7
+ Constants["BRIGHT"] = "\u001B[1m";
8
+ Constants["Dim"] = "\u001B[2m";
9
+ Constants["Underscore"] = "\u001B[4m";
10
+ Constants["Blink"] = "\u001B[5m";
11
+ Constants["Reverse"] = "\u001B[7m";
12
+ Constants["Hidden"] = "\u001B[8m";
13
+ Constants["TEXT_BLACK"] = "\u001B[30m";
14
+ Constants["TEXT_RED"] = "\u001B[31m";
15
+ Constants["TEXT_GREEN"] = "\u001B[32m";
16
+ Constants["TEXT_YELLOW"] = "\u001B[33m";
17
+ Constants["TEXT_BLUE"] = "\u001B[34m";
18
+ Constants["TEXT_MAGENTA"] = "\u001B[35m";
19
+ Constants["TEXT_CYAN"] = "\u001B[36m";
20
+ Constants["TEXT_WHITE"] = "\u001B[37m";
21
+ Constants["BG_BLACK"] = "\u001B[40m";
22
+ Constants["BG_RED"] = "\u001B[41m";
23
+ Constants["BG_GREEN"] = "\u001B[42m";
24
+ Constants["BG_YELLOW"] = "\u001B[43m";
25
+ Constants["BG_BLUE"] = "\u001B[44m";
26
+ Constants["BG_MAGENTA"] = "\u001B[45m";
27
+ Constants["BG_CYAN"] = "\u001B[46m";
28
+ Constants["BG_WHITE"] = "\u001B[47m";
29
+ })(Constants = exports.Constants || (exports.Constants = {}));
30
+ //# sourceMappingURL=Constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.js","sourceRoot":"./","sources":["src/Constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SA0BX;AA1BD,WAAY,SAAS;IACnB,gCAAwB,CAAA;IACxB,iCAAwB,CAAA;IACxB,8BAAwB,CAAA;IACxB,qCAAwB,CAAA;IACxB,gCAAwB,CAAA;IACxB,kCAAwB,CAAA;IACxB,iCAAwB,CAAA;IAExB,sCAAyB,CAAA;IACzB,oCAAyB,CAAA;IACzB,sCAAyB,CAAA;IACzB,uCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,wCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,sCAAyB,CAAA;IAEzB,oCAAyB,CAAA;IACzB,kCAAyB,CAAA;IACzB,oCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,mCAAyB,CAAA;IACzB,sCAAyB,CAAA;IACzB,mCAAyB,CAAA;IACzB,oCAAyB,CAAA;AAC3B,CAAC,EA1BW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QA0BpB"}
@@ -0,0 +1,8 @@
1
+ export declare class Logger {
2
+ static LOG_DIR: string;
3
+ static checkLogDir(): Promise<void>;
4
+ static info(message: any): Promise<void>;
5
+ static warn(message: any): Promise<void>;
6
+ static error(message: any): Promise<void>;
7
+ static writeToFile(message: any, type: string): Promise<void>;
8
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = void 0;
4
+ const fs = require("fs/promises");
5
+ const path = require("path");
6
+ const Constants_1 = require("./Constants");
7
+ class Logger {
8
+ static LOG_DIR = './Logs';
9
+ static async checkLogDir() {
10
+ const dirs = await fs.readdir('./');
11
+ if (!dirs.includes(this.LOG_DIR.split('/')[1])) {
12
+ await fs.mkdir(this.LOG_DIR);
13
+ return this.info('Logs folder generated.');
14
+ }
15
+ }
16
+ static async info(message) {
17
+ await this.writeToFile(message, 'info');
18
+ console.log(`${Constants_1.Constants.TEXT_BLUE}[INFO]: ${message}`);
19
+ }
20
+ static async warn(message) {
21
+ await this.writeToFile(message, 'warn');
22
+ console.warn(`${Constants_1.Constants.TEXT_YELLOW}[WARN]: ${message}`);
23
+ }
24
+ static async error(message) {
25
+ await this.writeToFile(message, 'error');
26
+ console.error(`${Constants_1.Constants.TEXT_RED}[ERROR]: ${message}`);
27
+ }
28
+ static async writeToFile(message, type) {
29
+ const DAY = new Date().getDate();
30
+ const MONTH = new Date().getMonth() + 1;
31
+ const YEAR = new Date().getFullYear();
32
+ const HOURS = new Date().getHours();
33
+ const MINUTES = new Date().getMinutes();
34
+ const FULL_DATE = [DAY, MONTH, YEAR].join('-');
35
+ const FULL_TIME = [HOURS, MINUTES].join(':');
36
+ let logFile;
37
+ try {
38
+ logFile = await fs.readFile(path.join(this.LOG_DIR, `${FULL_DATE}-${type}.log`));
39
+ }
40
+ catch (e) {
41
+ }
42
+ if (!logFile) {
43
+ const data = 'Log Time: ' + FULL_TIME + '\n' + message + '\n\n';
44
+ return await fs.writeFile(path.join(this.LOG_DIR, `${FULL_DATE}-${type}.log`), data);
45
+ }
46
+ const data = logFile + 'Log Time: ' + FULL_TIME + '\n' + message + '\n\n';
47
+ return await fs.writeFile(path.join(this.LOG_DIR, `${FULL_DATE}-${type}.log`), data);
48
+ }
49
+ }
50
+ exports.Logger = Logger;
51
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.js","sourceRoot":"./","sources":["src/Logger.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAClC,6BAA6B;AAC7B,2CAAwC;AAMxC,MAAa,MAAM;IAEjB,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC;IAE1B,MAAM,CAAC,KAAK,CAAC,WAAW;QACtB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG;YAChD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SAC5C;IAGH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAY;QAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,GAAG,qBAAS,CAAC,SAAS,WAAW,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAY;QAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,GAAG,qBAAS,CAAC,WAAW,WAAW,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAY;QAC7B,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,GAAG,qBAAS,CAAC,QAAQ,YAAY,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAY,EAAE,IAAY;QACjD,MAAM,GAAG,GAAe,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAa,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,IAAI,GAAc,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,KAAK,GAAa,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAW,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;QAEhD,MAAM,SAAS,GAAW,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,SAAS,GAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC;QACZ,IAAI;YACF,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;SAClF;QAAC,OAAO,CAAC,EAAE;SAGX;QAED,IAAK,CAAC,OAAO,EAAG;YACd,MAAM,IAAI,GAAG,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC;YAChE,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,IAAI,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;SACtF;QAED,MAAM,IAAI,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC;QAC1E,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,IAAI,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;;AAtDH,wBAwDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ricdotnet/logger",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "A logger utility for my personal projects.",
5
5
  "main": "index.js",
6
6
  "scripts": {