b-o-a
Version:
A simple framework
105 lines (78 loc) • 4.18 kB
Markdown
# 
b-o-a is a simple framework.
## Concepts
- uni-directional
- single dispatcher
- action cycle
## Types
- `type O<T> = Observable<T>;`
- `type A<T> = { type: string; data?: T; };`
- `type HandlerOptions = { re: (action: A<any>) => void; };`
- `type Handler = (action$: O<A<any>>, options?: HandlerOptions) => O<A<any>>;`
- `type run = (app: Handler) => void`;
## Installation
```
$ npm install b-o-a
```
## Handlers
- [bouzuya/boa-handler-dom][] ([npmjs:boa-handler-dom][])
- [bouzuya/boa-handler-history][] ([npmjs:boa-handler-history][])
- [bouzuya/boa-handler-init][] ([npmjs:boa-handler-init][])
- [bouzuya/boa-handler-request][] ([npmjs:boa-handler-request][])
- <del>[bouzuya/boajs-handler-dom][] ([npmjs:boajs-handler-dom][])</del>
- <del>[bouzuya/boajs-handler-history][] ([npmjs:boajs-handler-dom][])</del>
- <del>[bouzuya/boajs-handler-init][] ([npmjs:boajs-handler-init][])</del>
- <del>[bouzuya/boajs-handler-request][] ([npmjs:boajs-handler-request][])</del>
[Search all handlers](https://www.npmjs.com/browse/keyword/boa-handler)
[bouzuya/boa-handler-dom]: https://github.com/bouzuya/boa-handler-dom
[npmjs:boa-handler-dom]: https://www.npmjs.com/package/boa-handler-dom
[bouzuya/boa-handler-history]: https://github.com/bouzuya/boa-handler-history
[npmjs:boa-handler-history]: https://www.npmjs.com/package/boa-handler-history
[bouzuya/boa-handler-init]: https://github.com/bouzuya/boa-handler-init
[npmjs:boa-handler-init]: https://www.npmjs.com/package/boa-handler-init
[bouzuya/boa-handler-request]: https://github.com/bouzuya/boa-handler-request
[npmjs:boa-handler-request]: https://www.npmjs.com/package/boa-handler-request
[bouzuya/boajs-handler-dom]: https://github.com/bouzuya/boajs-handler-dom
[npmjs:boajs-handler-dom]: https://www.npmjs.com/package/boajs-handler-dom
[bouzuya/boajs-handler-history]: https://github.com/bouzuya/boajs-handler-history
[npmjs:boajs-handler-history]: https://www.npmjs.com/package/boajs-handler-history
[bouzuya/boajs-handler-init]: https://github.com/bouzuya/boajs-handler-init
[npmjs:boajs-handler-init]: https://www.npmjs.com/package/boajs-handler-init
[bouzuya/boajs-handler-request]: https://github.com/bouzuya/boajs-handler-request
[npmjs:boajs-handler-request]: https://www.npmjs.com/package/boajs-handler-request
## Libraries
- [bouzuya/boa-core][] ([npmjs:boa-core][])
- [bouzuya/boa-router][] ([npmjs:boa-router][])
- [bouzuya/boa-vdom][] ([npmjs:boa-vdom][])
- <del>[bouzuya/boajs-core][] ([npmjs:boajs-core][])</del>
- <del>[bouzuya/boajs-router][] ([npmjs:boajs-router][])</del>
- <del>[bouzuya/boajs-vdom][] ([npmjs:boajs-vdom][])</del>
[bouzuya/boa-core]: https://github.com/bouzuya/boa-core
[npmjs:boa-core]: https://www.npmjs.com/package/boa-core
[bouzuya/boa-router]: https://github.com/bouzuya/boa-router
[npmjs:boa-router]: https://www.npmjs.com/package/boa-router
[bouzuya/boa-vdom]: https://github.com/bouzuya/boa-vdom
[npmjs:boa-vdom]: https://www.npmjs.com/package/boa-vdom
[bouzuya/boajs-core]: https://github.com/bouzuya/boajs-core
[npmjs:boajs-core]: https://www.npmjs.com/package/boajs-core
[bouzuya/boajs-router]: https://github.com/bouzuya/boajs-router
[npmjs:boajs-router]: https://www.npmjs.com/package/boajs-router
[bouzuya/boajs-vdom]: https://github.com/bouzuya/boajs-vdom
[npmjs:boajs-vdom]: https://www.npmjs.com/package/boajs-vdom
## Examples
- [boajs/counter-boa](https://github.com/boajs/counter-boa) ... 0.8.0 / about 250 lines
- [boajs/todomvc-boa](https://github.com/boajs/todomvc-boa) ([demo](http://boajs.github.io/todomvc-boa/)) ... 0.6.2 / about 500 lines
## Badges
[![Circle CI][circleci-badge-url]][circleci-url]
## License
### Source Code
[MIT](LICENSE) ([@bouzuya][user])
### Logo
MIT ([@haskrock](https://github.com/hashrock))
## Author
[bouzuya][user] <[m@bouzuya.net][email]> ([http://bouzuya.net][url])
[user]: https://github.com/bouzuya
[email]: mailto:m@bouzuya.net
[url]: http://bouzuya.net
[circleci-badge-url]: https://circleci.com/gh/bouzuya/b-o-a.svg?style=svg
[circleci-url]: https://circleci.com/gh/bouzuya/b-o-a