<commit_before># Node-Inflow
A next generation async control-flow library,
with a shared object for called functions
and debugging made easy.
  
Designed with user in mind
and debugging in mind.

## Why use it
* No more complicated closures
* The shared object simplifies everything with async calls.
* Functions can have argunets
* With this library I could reinvented the way I use an http server
* It simplified my  application structure
* No need to pass req, res as seperate arguments, just one simple shared object.
* I used to store temporary variables of the request in the req object but now i store them in the shared object.
* Now I can use a common library object that contains useful function that can be called asychroniusly.

## How to install
simply download it:
    git clone https://shimondoodkin@github.com/shimondoodkin/node-inflow.git

##How to use it
    var inflow = require('node-inflow'); // require it
    inflow.flow(shared_object,[function,nextfunction,[otherfunction,[function_argument]])
    inflow.paralel(shared_object,[function,nextfunction,[otherfunction,[function_argument]],done_function);

## Idea
Each function is a part composed from a function it self and a next() call as a return value.
Your application is composed from small parts each part must have a standard structure to allow integration between all the parts.
with paralel and asynchronius step flow you can compose any appication structure you like.

## anatomy of a standard function<commit_msg>	modified:   README.md<commit_after># Node-Inflow
A next generation async control-flow library,
with a shared object for called functions
and debugging made easy.
  
Designed with user in mind
and debugging in mind.

## Why use it
* No more complicated closures
* The shared object simplifies everything with async calls.
* Functions can have argunets
* With this library I could reinvented the way I use an http server
* It simplified my  application structure
* No need to pass req, res as seperate arguments, just one simple shared object.
* I used to store temporary variables of the request in the req object but now i store them in the shared object.
* Now I can use a common library object that contains useful function that can be called asychroniusly.

## How to install
Simply download it:
    git clone https://shimondoodkin@github.com/shimondoodkin/node-inflow.git

##How to use it
    var inflow = require('node-inflow'); // require it
    inflow.flow(shared_object,[function,nextfunction,[otherfunction,[function_argument]])
    inflow.paralel(shared_object,[function,nextfunction,[otherfunction,[function_argument]],done_function);

## Idea
Your application is composed from small parts
To allow integration between all the parts.
Each part must have a standard structure.
Each function is a part composed from:
* a function it self 
* and a next() call as a return value.

## anatomy of a standard function
{'fraction_non_alphanumeric': 0.05858170606372045, 'fraction_numerical': 0.0, 'mean_word_length': 4.692007797270955, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '431133', 'n_tokens_mistral': 769, 'n_tokens_neox': 737, 'n_words': 383}