tinyqueue.js
A teensy tiny sequential processing queue.
TinyQueue returns a coroutine that supports both sync and async function execution. It uses an asyncronous generator function to allow manage concurrency during task execution. All methods return the queue object for chainability.
Installing / Getting started
Install tinyqueue.js with npm or Yarn
npm install tinyqueue.jsyarn add tinyqueue.js
This will add tinyqueue.js to your package.json's dependencies
.
Usage
Import the module to your script and define a new TinyQueue
object by passing
in "tasks" (functions) to execute. Your queue object will hold them until you
execute a run
command:
// define your functionsconst fn1 = { return { ; };};const fn2 = { return 'fn2 execution!'; }; // place them in a queueconst queue = fn1 fn2 ...; // start the queuequeue; // wait until all tasks are processedqueue;
API Reference
The full API docs/reference can be found on GitHub Pages.
Contributing
Prerequisites
Yarn is heavily favored over npm, so please make sure you have Yarn installed prior to installing dependencies and contributing.
Setting up Dev
Clone the repo and install all packages:
https://github.com/nielse63/tinyqueue.js.gitcd tinyqueue.js/yarn install
Any work should be done files in the
src/
directory.
Building
Once you have made your changes to the source file, build to the lib/
directory:
yarn run build
This will lint the source and test files, transpile the script using Babel, and rebuild the documentation.
Tests
After you've built your changes, make sure to run the test suite, and write any new tests that apply to your changes:
yarn test
Tests are run with Mocha using Chai as the assertion library. Code coverage is managed by Coveralls.
Style guide
Style is maintained with eslint, following the Prettier and XO styleguides. All JavaScript is strongly typed using Flow.
Licensing
tinyqueue.js is licensed under the MIT License. A copy can be found here.