# u-async-ps

> A 'micro' OO running process implemented in plain functions &amp;&amp; objects for understanding processes, threads, etc.

Latest version **0.1.7** (published 2018-02-05) · DO_WHATEVER_YOU_WANT license · 0 weekly downloads

## Install

```sh
npm install u-async-ps
pnpm add u-async-ps
yarn add u-async-ps
bun add u-async-ps
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.7 |
| Published | 2018-02-05 |
| First published | 2018-01-25 |
| Weekly downloads | 0 |
| License | DO_WHATEVER_YOU_WANT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Johnathan Chivington |
| Maintainers | chivingtoninc |
| Keywords | micro, process, model, OOP |

## Links

- npm: https://www.npmjs.com/package/u-async-ps
- Repository: https://github.com/chivingtoninc/u-async-ps
- Homepage: https://github.com/chivingtoninc/u-async-ps#readme
- Issues: https://github.com/chivingtoninc/u-async-ps/issues
- npm.io page: https://npm.io/package/u-async-ps

## Recent versions

- 0.1.7 (latest) — 2018-02-05
- 0.1.6 — 2018-02-01
- 0.1.4 — 2018-02-01
- 0.1.3 — 2018-01-28
- 0.1.2 — 2018-01-28
- 0.1.1 — 2018-01-28
- 0.1.0 — 2018-01-28
- 0.0.26 — 2018-01-28
- 0.0.25 — 2018-01-28
- 0.0.24 — 2018-01-28
- 0.0.23 — 2018-01-28
- 0.0.22 — 2018-01-28
- 0.0.21 — 2018-01-28
- 0.0.20 — 2018-01-28
- 0.0.19 — 2018-01-28
- … 17 more at https://npm.io/package/u-async-ps/versions

## README

# u-async-ps
A "micro" OO running process implemented in plain functions &amp;&amp; objects for understanding processes, threads, etc.

![Version](https://img.shields.io/badge/version-0.1.0-blue.svg)
![Build Status](https://img.shields.io/badge/build-Stable-green.svg)
![License](https://img.shields.io/badge/license-DO_WHATEVER_YOU_WANT-green.svg)
<br/><br/>



## Prerequisites
  - NodeJs / NPM
<br/><br/>



## Installation
```
  cd /path/to/your/project
  npm i --save 'u-async-ps'
```
<br/><br/>



## Testing
From your application code.
```
const uAsyncPs = require('u-async-ps')
console.log('Successful uAsyncPs import? ', uAsyncPs)
```
<br/><br/>



## Usage
*This repo is under development. Initial LTS release will be 1.0.0, and it should not be used until then.*

```
const uAsyncPs = require('u-async-ps')
const myPs = uAsyncPs(threadConfig)
myPs.spawnProcess(cycles)
```
<br/><br/>

## Thread Configuration
Example
  - For A0 to execute, the LAST instruction MUST have been C2 (testing "NEXT instruction prediction" for B2)
  - For B1 to execute, the LAST instruction MUST have been C2
  - For B2 to execute, the LAST instruction MUST have been A0
  - All C Steps are unconditional, they fire on every step they are called
<br/>

```
const threadConfig = [
  { name: 'A', instructions: [
    {index: 0, conditions: ['last===C2', 'next===B2']}, {index: 1}, {index: 2}
  ]},
  { name: 'B', instructions: [
    {index: 0}, {index: 1, conditions: ['last===C2']}, {index: 2, conditions: ['last===A0']}
  ]},
  { name: 'C', instructions: [
    {index: 0}, {index: 1}, {index: 2}, {index: 3}
  ]}
]
```
<br/><br/>

## Contributing
Not currently accepting outside contributors, but feel free to clone, modify and use as you wish.
<br/><br/>

## Authors
* **Johnathan Chivington** --- [GitHub](https://github.com/chivingtoninc) | [NPM](https://npmjs.com/~chivingtoninc) | [Twitter](https://twitter.com/chivingtoninc) | [Facebook](https://facebook.com/chivingtoninc) | [Web](https://chivingtoninc.com)
<br/>

## License
This project is licensed under the DO_WHATEVER_YOU_WANT License - see the [LICENSE](https://github.com/chivingtoninc/u-async-ps/blob/master/LICENSE) file for details
<br/><br/>

## Acknowledgments
* **Marcus Phillips** *(Hack Reactor Co-Founder)* --- [Free Udacity "Object Oriented Js" Course](https://www.udacity.com/course/object-oriented-javascript--ud015)

---
_Source: https://npm.io/package/u-async-ps · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
