checklist
A simple Node.js checklist for synchronising asynchronous tasks by maintaining a list of items to check off before calling back.
Features
- should callback immediately if there are no items to check off
- should callback once all the items have been checked off
- should callback with an error if an item is checked off that we are not waiting for
- should callback with an error if an item is checked off twice
- should callback with an error if an item is checked off out of order and ordered has been set to true
- should not callback again after error
- should throw an error if checked again after completion
- should not alter the array passed in on construction
- should callback with a list of errors for each item that was checked off with an error
Installation
npm install checklist
API
var Checklist = require('checklist');
var testItem = {
test: 'hello'
};
var checklist = new Checklist([
'item 1',
testItem,
'item 2'
], {
ordered: true,
debug: true
}, function(error) {
if (error) {
} else {
}
});
checklist.check('item 1');
checklist.check(testItem);
checklist.check('item 2');
Roadmap
- should allow more items to be added after construction
- This would only be useful if before checking off an existing item it is expanded into a new list which is then added - as such maybe it may make sense to just create a new checklist and chain them
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using ./grunt.sh
or .\grunt.bat
.
Release History
(Nothing yet)
License
Copyright (c) 2012 Peter Halliday
Licensed under the MIT license.