cool stuff
npm install cool-stringifiercwd (pwd)require which is relative to the file in which it appearsmocha -w hangs on some errorsnodemon* What is it?
* Node Event Loop
* Basic node architecture 101
* v8 + event-loop + os-lib
* Thread - actual "thread of execution"
* Event loop explained
* JavaScript single threaded event model
* Demo: event-loop.js
* Subscribe and use an event emitter
* Streams
* as event emitters:
* on: data and close
* write
* Files as streams
* Demo fs.createReadStream()
* Some hard rules:
1. You can't create asynchronicity with just js
1. If your building functionality on top of asynchronous APIs,
then your library must be asynchronous!
1. If a function or method uses asynchronous activity to complete its work,
then that function must have an asynchronous interface (returns a promise)!
* Wrapping with promises
* require('util').promisify for node callbacks
new Promise((resolve, reject) => { /...*/ })
* Demo:
* Evolve CoolStringifier
* "static" methods
* ~~Mocha done~~
* test parameter
* Tests function.length
* if > 0, test is async,
* calling done with any non-null argument is failure (matches node callback signature)
* return a promise!
* Demo: package.json