diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/index.js b/index.js new file mode 100644 index 0000000..e7ee6bb --- /dev/null +++ b/index.js @@ -0,0 +1,14 @@ +/*jshint esversion: 6 */ +const chalk = require('chalk'); +var _ = require('lodash'); + +var logger = require('./lib/logger'); +var data = require('./data/logs'); + +logger.log('Message logged at the INFO level', 'INFO'); +logger.log('Message logged at the WARNING level', 'WARNING'); +logger.log('Message logged at the ERROR level', 'ERROR'); + +_.each(data, function(data) { + logger.log(data.message, data.level.toUpperCase()); +}); diff --git a/lib/logger.js b/lib/logger.js new file mode 100644 index 0000000..de3c537 --- /dev/null +++ b/lib/logger.js @@ -0,0 +1,30 @@ +/*jshint esversion: 6 */ +const chalk = require('chalk'); + +var logger = { + log: function(message, level) { + if (level == "INFO"){ + this.info(message); + } else if (level == "WARNING"){ + this.warning(message); + } else if (level == "ERROR") { + this.error(message); + } else { + console.log("please input a level"); + } + }, + + info: function(message){ + console.log(chalk.blue(message)); + }, + + warning: function(message){ + console.log(chalk.yellow(message)); + }, + + error: function(message){ + console.log(chalk.red(message)); + } +}; + +module.exports = logger; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..aa20a71 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,62 @@ +{ + "name": "assignment_node_hello_world", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "color-convert": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..c0978d1 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "assignment_node_hello_world", + "version": "1.0.0", + "description": "assignment_node_hello_world ===========================", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Holly-E/assignment_node_hello_world.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/Holly-E/assignment_node_hello_world/issues" + }, + "homepage": "https://github.com/Holly-E/assignment_node_hello_world#readme", + "dependencies": { + "chalk": "^2.3.0", + "lodash": "^4.17.4" + } +}