diff --git a/emitter.js b/emitter.js new file mode 100644 index 0000000..9278602 --- /dev/null +++ b/emitter.js @@ -0,0 +1,45 @@ + + + var Emitter = function() { + this.events = {}; + this.on = function(event,listener){ + if(typeof this.events[event] !== 'object') { + this.events[event] = []; + }; + this.events[event].push(listener); + console.log(this.events) + }; + + this.removeListener = function(event,listener) { + var idx; + if (typeof this.events[event] === 'object'){ + idx = this.events[event].indexOf(listener) + if (idx > -1) { + this.events[event].splice(idx,1); + } + } + }; + this.emit = function(event) { + if (typeof this.events[event] === 'object'){ + listeners = this.events[event].slice(); + length = listeners.length; + for (i = 0; i < listeners.length; i++) { + listeners[i].apply(); + } + } + + }; + + this.removeAllListeners = function(event){ + if(typeof this.events === 'object'){ + this.events[event] = []; + } + + }; + + +} + + +module.exports = Emitter + diff --git a/fsp.js b/fsp.js new file mode 100644 index 0000000..6dba0a8 --- /dev/null +++ b/fsp.js @@ -0,0 +1,56 @@ +var fs = require('fs') + + +var fsp = { +readFile: function(filename){ + return new Promise(function(resolve, reject){ + fs.readFile(filename, "utf8", function(error,data){ +if (error) { + reject("error"); +} else { + resolve(data) +} +}); + }) +} +, +writeFile: function(file,msg){ + return new Promise(function(resolve,reject){ + fs.writeFile(file,msg, function(err){ + if (err){ + reject(err) + } + else { + resolve(fsp.readFile(file)) + } + +}) + }) +}, +appendFile: function(file,msg){ + return new Promise(function(resolve,reject){ + fs.appendFile(file,msg, function(err){ + if(file && msg) + { + resolve(fsp.readFile(file)) + } + + else {reject(err) } + + + }) + }) + + + } +}; +fsp.appendFile("texts.txt", "hellos").then(function(result){ + console.log(result)}).catch(function(err){console.error(err)}) + + + + + + + +module.exports = fsp \ No newline at end of file diff --git a/fsp.module b/fsp.module new file mode 100644 index 0000000..e69de29 diff --git a/index.js b/index.js new file mode 100644 index 0000000..d57724d --- /dev/null +++ b/index.js @@ -0,0 +1,17 @@ + + +var Emitter = require('./emitter.js'); +var emitter = new Emitter() + +var speaking = function(){ + console.log("hadflk") +} +var crying = function(){ + console.log("adfs") +} +emitter.on("blinking", speaking) +emitter.on("test", speaking) +emitter.on("test", crying) + +emitter.emit("blinking") + diff --git a/text.txt b/text.txt new file mode 100644 index 0000000..0f95a93 --- /dev/null +++ b/text.txt @@ -0,0 +1,3 @@ +fadslfjalsdkjf lksadjflk;asdjfkl ;sad +j’alsdjf;ladsjf l;akdjsf +had sfkl \ No newline at end of file diff --git a/texts.txt b/texts.txt new file mode 100644 index 0000000..6c8d338 --- /dev/null +++ b/texts.txt @@ -0,0 +1 @@ +hellohelloshellos \ No newline at end of file diff --git a/warmup.js b/warmup.js new file mode 100644 index 0000000..6abf0cb --- /dev/null +++ b/warmup.js @@ -0,0 +1,71 @@ +var mes = new Promise(function(resolve,reject) { +var del = setTimeout(function(){ +resolve('Hello Promise!');}, 1000); +}); + + +mes.then(function(message){ +console.log(message); + +}); + +var delay = function(milliseconds){ + return new Promise(function(resolve,reject){ + setTimeout(function(){ + resolve(milliseconds);}, milliseconds) +}) + }; + +var countDown = function(msg){ +if (msg === 0) { + return "Done!" +} +console.log(msg) +msg -=100 +return delay(msg) + +}; + + +var squares = function(num){ +var nums = num*num +return new Promise(function(resolve,reject){ + if (num >= 0) { + resolve(num*num) } else { + reject("empty") } + +}) + +} +squares().then(function(result){ + console.log(result)}).catch(function(err){console.error(err) + + }) + + + +var numb = [1,2,3,4,5,6,7,8,9] + +var numb = numb.map(function(i){ + +return squares(i); +}); + +Promise.all(numb).then(function(results){ + console.log(results) + +}) + +var doBadThing = function(forRealz){ + return new Promise(function(resolve,reject){ +if (forRealz){ + reject("Errors") +} else { + resolve("Yay!") +} +}) +} + +doBadThing().then(function(result){console.log(result)}).catch(function(err){throw "error!"}) + +module.exports = squares()