conan-aws-lambda
Version:
AWS Lambda plugin for Conan: The Deployer.
152 lines (107 loc) • 5.27 kB
Markdown
# Flowsync.js [](https://www.npmjs.com/package/flowsync) [](https://github.com/FreeAllMedia/flowsync/blob/master/LICENSE) [](https://www.npmjs.com/package/flowsync) 
An ES6 flow control component.
```javascript
import flowsync from "flowsync";
let functionCollection = [
function (ready) {
setTimeout(ready, 100);
},
function (ready) {
setTimeout(ready, 100);
},
function (ready) {
setTimeout(ready, 100);
}
];
flowsync.series(functionCollection, function finalCallback(error, results) {
// do something after 300 ms
});
```
# Quality and Compatibility
[](https://travis-ci.org/FreeAllMedia/flowsync) [](https://coveralls.io/r/FreeAllMedia/flowsync) [](https://codeclimate.com/github/FreeAllMedia/flowsync) [](https://david-dm.org/FreeAllMedia/flowsync?theme=shields.io) [](https://david-dm.org/FreeAllMedia/flowsync?theme=shields.io#info=devDependencies)
*Every single build and release is automatically tested on the following platforms:*
   
[](https://saucelabs.com/u/flowsync)
*If your platform is not listed above, you can test your local environment for compatibility by copying and pasting the following commands into your terminal:*
```
npm install flowsync
cd node_modules/flowsync
gulp test-local
```
# Installation
Copy and paste the following command into your terminal to install Flowsync:
```
npm install flowsync --save
```
## Import / Require
```
// ES6
import flowsync from "flowsync";
```
```
// ES5
var flowsync = require("flowsync");
```
```
// Require.js
define(["require"] , function (require) {
var flowsync = require("flowsync");
});
```
# Getting Started
```
//ES6
flowsync.series([
(next) => {
//do something
next(null, 1);
},
(next) => {
next(new Error("some error"));
}
], (error, results) => {
//do something after the series
});
```
```
//ES5
flowsync.series([
function stepOne(next) {
//do something
next(null, 1);
},
function stepTwo(next) {
next(new Error("some error"));
}
], function finalStep(error, results) {
//do something after the series
});
```
# Function list
They all work pretty much similar. For a detailed interface documentation take a look to the [async repo](https://github.com/caolan/async). These is the list currently supported by flowsync:
* series(functionArray, finalCallback)
* parallel(functionArray, finalCallback)
* mapSeries(array, iteratorFunction[item, cb], finalCallback)
* mapParallel(array, iteratorFunction[item, cb], finalCallback)
* eachSeries(array, iteratorFunction[item, cb], finalCallback)
* eachParallel(array, iteratorFunction[item, cb], finalCallback)
# How to Contribute
See something that could use improvement? Have a great feature idea? We listen!
You can submit your ideas through our [issues system](https://github.com/FreeAllMedia/flowsync/issues), or make the modifications yourself and submit them to us in the form of a [GitHub pull request](https://help.github.com/articles/using-pull-requests/).
We always aim to be friendly and helpful.
## Running Tests
It's easy to run the test suite locally, and *highly recommended* if you're using Flowsync.js on a platform we aren't automatically testing for.
```
npm test
```
### SauceLabs Credentials
We've setup our tests to automatically detect whether or not you have our saucelabs credentials installed in your environment (`process.env.SAUCE_USERNAME`).
If our saucelabs credentials are not installed, the tests are setup to automatically detect all browsers you have installed on your local system, then use them to run the tests.
#### Obtaining Our SauceLabs Credentials
If you'd like to develop Flowsync.js using SauceLabs, you need only create a new entry in our [issue tracker](https://github.com/FreeAllMedia/flowsync/issues) asking for our SauceLabs credentials.
We'll send over all credentials specific to this project so that you can perform comprehensive cross-platform tests.
<!--
## Public Shared Floobits Workspace
Whenever we're working on Flowsync.js, we connect to a public workspace on FlooBits that lets you see and interact with the developers. Feel free to stop by, say hello, and offer suggestions!
https://floobits.com/FreeAllMedia/flowsync
-->