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 = ; var testItem = test: 'hello'; var checklist = 'item 1' testItem 'item 2' ordered: true // Set to true to error if items are checked out of order (defaults to false) debug: true // Set to true to print each item to the console as it is checked off (defaults to false); { if error // A problem occurred else // Everything in the list was checked off }; checklist;checklist;checklist;
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.