Skip to content

SaikiranDaripelli/regexemitter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

regex event emitter

An event emitter which takes regular expressions & strings for event names.

Well tested and available in vanilla javascript for the browser or server.

install

npm install regexemitter --save

NPM

example

/**
  regexeventemitter behaves just like nodejs native emitter except it
  allows regular expressions as event names.
**/

var EventEmitter = require('regexemitter');
var events = new EventEmitter();

// register a new event
events.on( /send this message to (john|dave)/, function ( arg1, arg2 ){

  console.log( 'event:', this.event );
  console.log( 'message:', arg1, arg2 );

});

events.emit( 'send this message to john', 'hello', 'john' );
events.emit( 'send this message to andy', 'hi', 'andy' );
events.emit( 'send this message to dave', 'ahoy', 'dave' );

output

event: send this message to john
message: hello john

event: send this message to dave
message: ahoy dave

for the browser

Copy index.js to your web server and rename it regexemitter.js.

example

<script type="text/javascript" src="regexemitter.js"></script>
<script type="text/javascript">

  /**
    regexeventemitter behaves just like nodejs native emitter except it
    allows regular expressions as event names.
  **/

  var events = new EventEmitter();

  // register a new event
  events.on( /send this message to (john|dave)/, function ( arg1, arg2 ){

    console.log( 'event:', this.event );
    console.log( 'message:', arg1, arg2 );

  });

  events.emit( 'send this message to john', 'hello', 'john' );
  events.emit( 'send this message to andy', 'hi', 'andy' );
  events.emit( 'send this message to dave', 'ahoy', 'dave' );

</script>

output

event: send this message to john
message: hello john

event: send this message to dave
message: ahoy dave

build status

npm test

Build Status

Bitdeli Badge

Releases

No releases published

Packages

No packages published