From 3084bed2a77855c714b65daa5979b63ba491066b Mon Sep 17 00:00:00 2001 From: Brandon Nozaki Miller Date: Mon, 11 Jul 2016 08:38:08 -0700 Subject: [PATCH] backwards compatibility broken for removing all handlers --- .tags | 2 +- README.md | 26 +++++++++++++------------- event-pubsub-browser.js | 8 ++++++-- event-pubsub.js | 6 +++++- package.json | 2 +- 5 files changed, 26 insertions(+), 18 deletions(-) diff --git a/.tags b/.tags index 9b96707..d3d5600 100644 --- a/.tags +++ b/.tags @@ -44,4 +44,4 @@ type package.json /^ "type": "git",$/;" f unsub event-pubsub.js /^function unsub(type,handler){$/;" f url package.json /^ "url": "https:\/\/github.com\/RIAEvangelist\/event-pubsub.git"$/;" f url package.json /^ "url": "https:\/\/github.com\/RIAEvangelist\/event-pubsub\/issues"$/;" f -version package.json /^ "version": "1.0.6",$/;" f +version package.json /^ "version": "2.0.0",$/;" f diff --git a/README.md b/README.md index 289205e..e68d221 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ Event PubSub ============ npm info : -![event-pubsub npm version](https://img.shields.io/npm/v/event-pubsub.svg) ![total npm downloads for event-pubsub](https://img.shields.io/npm/dt/event-pubsub.svg) ![monthly npm downloads for event-pubsub](https://img.shields.io/npm/dm/event-pubsub.svg) +![event-pubsub npm version](https://img.shields.io/npm/v/event-pubsub.svg) ![total npm downloads for event-pubsub](https://img.shields.io/npm/dt/event-pubsub.svg) ![monthly npm downloads for event-pubsub](https://img.shields.io/npm/dm/event-pubsub.svg) GitHub info : -![event-pubsub GitHub Release](https://img.shields.io/github/release/RIAEvangelist/event-pubsub.svg) ![GitHub license event-pubsub license](https://img.shields.io/github/license/RIAEvangelist/event-pubsub.svg) ![open issues for event-pubsub on GitHub](https://img.shields.io/github/issues/RIAEvangelist/event-pubsub.svg) +![event-pubsub GitHub Release](https://img.shields.io/github/release/RIAEvangelist/event-pubsub.svg) ![GitHub license event-pubsub license](https://img.shields.io/github/license/RIAEvangelist/event-pubsub.svg) ![open issues for event-pubsub on GitHub](https://img.shields.io/github/issues/RIAEvangelist/event-pubsub.svg) -Pubsub events for Node and the browser allowing event scoping and multiple scopes. +Pubsub events for Node and the browser allowing event scoping and multiple scopes. Easy for any developer level. No frills, just high speed pubsub events! [Pretty GitHub.io site](http://riaevangelist.github.io/event-pubsub/) @@ -41,22 +41,22 @@ Easy for any developer level. No frills, just high speed pubsub events! console.log('hello event recieved ', data); } ); - + events.on( '*', function(type){ console.log('Catch all detected event type of : ',type, '. List of all the sent arguments ',arguments); } ); - + events.on( 'removeEvents', function(){ - events.off('*'); + events.off('*','*'); console.log('Removed all events'); } ); - + /************************************\ * trigger events for testing * **********************************/ @@ -68,7 +68,7 @@ Easy for any developer level. No frills, just high speed pubsub events! events.trigger( 'removeEvents' ); - + #### Browser ##### HTML @@ -95,22 +95,22 @@ Easy for any developer level. No frills, just high speed pubsub events! console.log('hello event recieved ', data); } ); - + events.on( '*', function(type){ console.log('Catch all detected event type of : ',type, '. List of all the sent arguments ',arguments); } ); - + events.on( 'removeEvents', function(){ - events.off('*'); + events.off('*','*'); console.log('Removed all events'); } ); - + /************************************\ * trigger events for testing * **********************************/ @@ -118,7 +118,7 @@ Easy for any developer level. No frills, just high speed pubsub events! 'hello', 'world' ); - + events.trigger( 'removeEvents' ); diff --git a/event-pubsub-browser.js b/event-pubsub-browser.js index b533d7b..f18c129 100644 --- a/event-pubsub-browser.js +++ b/event-pubsub-browser.js @@ -6,7 +6,7 @@ window.pubsub=( var err=new ReferenceError('handler not defined'); throw(err); } - + checkScope.apply(this); if(!this._events_[type]) @@ -16,6 +16,10 @@ window.pubsub=( } function unsub(type,handler){ + if(!handler){ + var err=new ReferenceError('handler not defined. if you wish to remove all handlers from the event please pass "*" as the handler'); + throw err; + } checkScope.apply(this); if(type=='*'){ @@ -35,7 +39,7 @@ window.pubsub=( if(!this._events_[type]) return; - if(!handler){ + if(handler=='*'){ delete this._events_[type]; return; } diff --git a/event-pubsub.js b/event-pubsub.js index f969de4..b7456ad 100644 --- a/event-pubsub.js +++ b/event-pubsub.js @@ -13,6 +13,10 @@ function sub(type,handler){ } function unsub(type,handler){ + if(!handler){ + var err=new ReferenceError('handler not defined. if you wish to remove all handlers from the event please pass "*" as the handler'); + throw err; + } checkScope.apply(this); if(type=='*'){ @@ -32,7 +36,7 @@ function unsub(type,handler){ if(!this._events_[type]) return; - if(!handler){ + if(handler=='*'){ delete this._events_[type]; return; } diff --git a/package.json b/package.json index 64b0b52..f49b30c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "event-pubsub", - "version": "1.0.6", + "version": "2.0.0", "description": "Pubsub events for Node and the browser allowing event scoping and multiple scopes. Easy for any developer level. No frills, just high speed pubsub events!", "main": "event-pubsub.js", "directories": {