Exercise 01: CSV is Easy...Right?

This is exercise 01 of JavaScript Level 2 in Learn JavaScript the Hard Way. It is meant to be done as a challenge with incorrect starting code that you are expected to fix and improve. I repeat, this code is incorrect on purpose so you can fix it and attempt to do better.

  • step1.js -- Use two projects to get CSV samples and try to write a simple parser that can parse all of the samples.
  • step2.js -- This is a starter in case you are stuck, but it still fails and would fail on many CSV files. CSV is more complex than its name lets on.
  • step3.js -- Take your parser and use the deep-equal project to compare your results to the csv-spectrum project's tests.
  • step4.js -- Let's up the game and make this a unit test with ava, except it doesn't work because of promises/async/await not working with callbacks and events.
  • step5.js -- First solution to step4.js that uses Promise directly to wrap callbacks and events.
  • step6.js -- Second solution that uses util.promisify to convert the spectrum callback to a Promise automatically.

If you attempt this challenge then point me at your solution at @lzsthw and I'll take a look.

Learning Objectives

Learn JavaScript Today

Register today for the Beginner Basics course and get the new releases by just paying the difference. There's also special discounts for existing customers when new courses are released.


Still Not Sure? Check out more curriculum!