An open API service indexing awesome lists of open source software.

https://github.com/lmatteis/behavioral

Behavioral Programming for JavaScript
https://github.com/lmatteis/behavioral

Last synced: 6 months ago
JSON representation

Behavioral Programming for JavaScript

Awesome Lists containing this project

README

          

```js
yarn add behavioral
```

```js
import BProgram from 'behavioral';

const bp = new BProgram();
let priority = 0;

bp.addBThread('Add hot water 3 times', ++priority, function*() {
yield {
request: 'HOT'
};
yield {
request: 'HOT'
};
yield {
request: 'HOT'
};
});

bp.addBThread('Add cold water 3 times', ++priority, function*() {
yield {
request: 'COLD'
};
yield {
request: 'COLD'
};
yield {
request: 'COLD'
};
});

bp.addBThread('Interleave', ++priority, function*() {
while (true) {
yield {
wait: 'HOT',
block: 'COLD'
};
yield {
wait: 'COLD',
block: 'HOT'
};
}
});

bp.addBThread('console.log', ++priority, function*() {
while (true) {
yield {
wait: () => true
};
console.log(this.lastEvent());
}
});

bp.run();
```