A simple Node.js library used to conditionally trigger methods.
JavaScript CoffeeScript
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib Cleanup CoffeeScript test. Jan 24, 2013
.gitignore Initial commit. Jun 28, 2012
CHANGELOG.md Updated package.json Jan 24, 2013
README.md Deleted CoffeeScript source. Jan 22, 2013
package.json Update package Jan 24, 2013


Node.js - TriggerFlow

A simple library used to conditionally trigger methods.


Some patterns necessitate having triggers. For example, consider walking a directory tree:

.on('file', function(file) {
  //do some file processing
.end('end', function() {
  //move to another part of the program

What if when the end event is emitted, some file processing is still occurring? And let's say that the other part of your program needs this file processing to be completed, what do you do?


npm install triggerflow


Revisiting the previous example, you can solve this problem quite easily with a trigger. A trigger can be thought of as a switch that fires a method when some conditions have been met. More specifically in the case of triggerflow, when the conditions meet a base condition.

In triggerflow, base conditions are when a boolean is true and when a number is 0.


var trigger = require('triggerflow');

var finishedTrigger = trigger({processing: 0, done: false}, function() { moveToNextPartOfProgram() })
  , processing = 0;

.on('file', function(file) {
  processing += 1;
  tf.update({processing: processing});
  processFile(file, function() { //hypothetical async file process function
    processing -= 1;
    tf.update({processing: processing});
}).end('end', function() {
  tf.update({done: true});

The trigger is only fired and thus moveToNextPartOfProgram() is called when processing is 0 and done is true.


MIT Licensed

Copyright (c) 2012 JP Richardson