From 1035341090547d97beb9831c96215c45ec4cdbd4 Mon Sep 17 00:00:00 2001 From: Lynne Cooney Date: Tue, 7 Apr 2020 10:10:34 -0700 Subject: [PATCH 1/2] adds HTMLElement and DivElement classes --- src/components/DivElement.js | 8 ++++++++ src/components/HTMLElement.js | 13 ++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/components/DivElement.js b/src/components/DivElement.js index 7e22bcb..9029b77 100644 --- a/src/components/DivElement.js +++ b/src/components/DivElement.js @@ -1,5 +1,13 @@ // Import HTMLElement here +import HTMLElement from './HTMLElement'; // Define class here +class DivElement extends HTMLElement { + constructor(content) { + super('div', content); + } +} + // Export class here +export default DivElement; diff --git a/src/components/HTMLElement.js b/src/components/HTMLElement.js index 559b785..6478038 100644 --- a/src/components/HTMLElement.js +++ b/src/components/HTMLElement.js @@ -1,4 +1,15 @@ // Define class here +class HTMLElement { + constructor(tag, content) { + this.tag = tag; + this.content = content; + } + + render() { + return `<${this.tag}>${this.content}`; + } +} + // Export class here -export default {}; +export default HTMLElement; From a0074132a21ed352dfbaac03bc377a9e7522eb16 Mon Sep 17 00:00:00 2001 From: Lynne Cooney Date: Sat, 11 Apr 2020 14:20:04 -0700 Subject: [PATCH 2/2] refactors timer and rolodex code --- src/rolodex/package.json | 3 +++ src/rolodex/rolodexPrinter.js | 12 ++++-------- src/timer/Timer.js | 27 +++++++++++++-------------- 3 files changed, 20 insertions(+), 22 deletions(-) create mode 100644 src/rolodex/package.json diff --git a/src/rolodex/package.json b/src/rolodex/package.json new file mode 100644 index 0000000..3dbc1ca --- /dev/null +++ b/src/rolodex/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/src/rolodex/rolodexPrinter.js b/src/rolodex/rolodexPrinter.js index 0f12389..7c77989 100644 --- a/src/rolodex/rolodexPrinter.js +++ b/src/rolodex/rolodexPrinter.js @@ -1,11 +1,7 @@ import people from './people.json'; -people.forEach(function (person) { - const names = person.name.split(' '); - const firstName = names[0]; - const lastName = names[1]; - const email = person.email; - const phone = person.phone; - - console.log('First name: ' + firstName + '\nLast name: ' + lastName + '\nEmail: ' + email + '\nPhone number: ' + phone + '\n'); +people.forEach((element) => { + const { name, email, phone } = element; + const [firstName, lastName] = name.split(' '); + console.log(`First name: ${firstName}\nLast name: ${lastName}\nEmail: ${email}\nPhone number: ${phone}`); }); diff --git a/src/timer/Timer.js b/src/timer/Timer.js index 2453ed9..41b6a13 100644 --- a/src/timer/Timer.js +++ b/src/timer/Timer.js @@ -1,17 +1,16 @@ -function Timer(seconds) { - this.seconds = seconds; -} - -Timer.prototype.start = function () { - var instance = this; - var timerInterval = setInterval(function () { - if (instance.seconds === 0) { - clearInterval(timerInterval); - } +class Timer { + constructor(seconds) { + this.seconds = seconds; + } - console.log(instance.seconds); - instance.seconds -= 1; - }, 1000); -}; + start() { + const timerInterval = setInterval(() => { + if (this.seconds === 0) { + clearInterval(timerInterval); + } + this.seconds -= 1; + }, 1000); + } +} export default Timer;