process-controller
Version:
A process controller base on promise that can be used in both browser and node
76 lines (60 loc) • 2.52 kB
Markdown
# process-controller
[](https://www.npmjs.com/package/process-controller)
[](https://www.npmjs.com/package/process-controller)



> `pkg.module supported`, which means that you can apply tree-shaking in you project
[中文文档](./README-CN.md)
A process controller base on promise that can be used in both browser and node
## repository
git@github.com:livelybone/process-controller.git
## Demo
https://github.com:livelybone/process-controller#readme
## Run Example
Your can see the usage by run the example of the module, here is the step:
1. Clone the library `git clone git@github.com:livelybone/process-controller.git`
2. Go to the directory `cd your-module-directory`
3. Install npm dependencies `npm i`(use taobao registry: `npm i --registry=http://registry.npm.taobao.org`)
4. Open service `npm run dev`
5. See the example(usually is `http://127.0.0.1/examples/test.html`) in your browser
## Installation
```bash
npm i -S process-controller
```
## Global name - The variable the module exported in `umd` bundle
`ProcessController`
## Interface
See what method or params you can use in [index.d.ts](./index.d.ts)
## Usage
```js
import ProcessController from 'process-controller'
// Simple example: Auto run
// modal1 will show after modal2 clicked to confirm
const controller = new ProcessController({ autoRun: () => true })
controller.addStep(() => {
return new Promise((res, rej) => {
// modal1
ConfirmModal.open({
content: 'some content of the confirm modal1',
onConfirm: () => res(),
onReject: () => rej(),
})
})
}, 2)
controller.addStep(() => {
return new Promise((res, rej) => {
// modal2
ConfirmModal.open({
content: 'some content of the confirm modal2',
onConfirm: () => res(),
onReject: () => rej(),
})
})
}, 1)
```
Use in html, see what your can use in [CDN: unpkg](https://unpkg.com/process-controller/lib/umd/)
```html
<-- use what you want -->
<script src="https://unpkg.com/process-controller/lib/umd/<--module-->.js"></script>
```