Skip to content

Commit

Permalink
fixes JFusco#3
Browse files Browse the repository at this point in the history
  • Loading branch information
Wkasel committed Oct 22, 2019
1 parent 259d76f commit a09bcbd
Show file tree
Hide file tree
Showing 8 changed files with 6,727 additions and 8,415 deletions.
4 changes: 2 additions & 2 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"plugins": ['transform-runtime'],
"plugins": ["transform-runtime"],
"presets": ["es2015", "stage-0"]
}
}
2 changes: 1 addition & 1 deletion coverage/reports/lcov-report/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ <h1>
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Aug 30 2017 21:15:20 GMT-0400 (EDT)
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Oct 22 2019 02:54:48 GMT-0700 (Pacific Daylight Time)
</div>
</div>
<script src="prettify.js"></script>
Expand Down
116 changes: 58 additions & 58 deletions coverage/reports/lcov-report/src/emitter.js.html
Original file line number Diff line number Diff line change
Expand Up @@ -252,100 +252,100 @@ <h1>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const emitter = new WeakMap();
&nbsp;
class Emitter {
constructor(){
emitter.set(this, {
events: {}
});
constructor() {
emitter.set(this, {
events: {}
});
&nbsp;
this.eventLength = 0;
}
this.eventLength = 0;
}
&nbsp;
on(event, cb, once = false){
if(typeof cb === 'undefined') {
throw new Error('You must provide a callback method.');
}
on(event, cb, once = false) {
if (typeof cb === 'undefined') {
throw new Error('You must provide a callback method.');
}
&nbsp;
if(typeof cb !== 'function') {
throw new TypeError('Listener must be a function');
}
if (typeof cb !== 'function') {
throw new TypeError('Listener must be a function');
}
&nbsp;
this.events[event] = this.events[event] || [];
this.events[event].push({
this.events[event] = this.events[event] || [];
this.events[event].push({
cb,
once
});
&nbsp;
this.eventLength++;
this.eventLength++;
&nbsp;
return this;
}
return this;
}
&nbsp;
off(event, cb){
if(typeof cb === 'undefined') {
throw new Error('You must provide a callback method.');
}
off(event, cb) {
if (typeof cb === 'undefined') {
throw new Error('You must provide a callback method.');
}
&nbsp;
if(typeof cb !== 'function') {
throw new TypeError('Listener must be a function');
}
if (typeof cb !== 'function') {
throw new TypeError('Listener must be a function');
}
&nbsp;
if(typeof this.events[event] === 'undefined'){
throw new Error(`Event not found - the event you provided is: ${event}`);
}
if (typeof this.events[event] === 'undefined') {
throw new Error(`Event not found - the event you provided is: ${event}`);
}
&nbsp;
const listeners = this.events[event];
const listeners = this.events[event];
&nbsp;
listeners.forEach((v, i) =&gt; {
<span class="missing-if-branch" title="else path not taken" >E</span>if(v.cb === cb) {
listeners.splice(i, 1);
}
});
listeners.forEach((v, i) =&gt; {
<span class="missing-if-branch" title="else path not taken" >E</span>if (v.cb === cb) {
listeners.splice(i, 1);
}
});
&nbsp;
<span class="missing-if-branch" title="else path not taken" >E</span>if(listeners.length === 0){
delete this.events[event];
<span class="missing-if-branch" title="else path not taken" >E</span>if (listeners.length === 0) {
delete this.events[event];
&nbsp;
this.eventLength--;
}
this.eventLength--;
}
&nbsp;
return this;
}
return this;
}
&nbsp;
trigger(event, ...args){
if(typeof event === 'undefined'){
throw new Error('You must provide an event to trigger.');
}
trigger(event, ...args) {
if (typeof event === 'undefined') {
throw new Error('You must provide an event to trigger.');
}
&nbsp;
const listeners = this.events[event];
const listeners = this.events[event];
const onceListeners = [];
&nbsp;
if(typeof listeners !== 'undefined') {
listeners.forEach((v, k) =&gt; {
if (typeof listeners !== 'undefined') {
listeners.forEach((v, k) =&gt; {
v.cb.apply(this, args);
&nbsp;
if(v.once) onceListeners.unshift(k);
if (v.once) onceListeners.unshift(k);
&nbsp;
onceListeners.forEach((v, k) =&gt; {
listeners.splice(k, 1);
});
});
}
});
}
&nbsp;
return this;
}
return this;
}
&nbsp;
once(event, cb){
once(event, cb) {
this.on(event, cb, true);
}
&nbsp;
destroy(){
destroy() {
emitter.delete(this);
&nbsp;
this.eventLength = 0;
}
&nbsp;
get events(){
return emitter.get(this).events;
}
get events() {
return emitter.get(this).events;
}
}
&nbsp;
export default Emitter;
Expand All @@ -356,7 +356,7 @@ <h1>
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Aug 30 2017 21:15:20 GMT-0400 (EDT)
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Oct 22 2019 02:54:48 GMT-0700 (Pacific Daylight Time)
</div>
</div>
<script src="../prettify.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion coverage/reports/lcov-report/src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ <h1>
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Aug 30 2017 21:15:20 GMT-0400 (EDT)
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Oct 22 2019 02:54:48 GMT-0700 (Pacific Daylight Time)
</div>
</div>
<script src="../prettify.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion coverage/reports/lcov.info
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
TN:
SF:/Users/Rinzler/Projects/Personal/es6-event-emitter/src/emitter.js
SF:/Users/williamkasel/Dev/my-os-projects/es6-event-emitter/src/emitter.js
FN:19,_interopRequireDefault
FN:23,(anonymous_2)
FN:24,Emitter
Expand Down
Loading

0 comments on commit a09bcbd

Please sign in to comment.