README
jokio 🃏
simple functions for creating complex apps
Quick Start:
just run:
yarn create jokio-app myapp
for detailed information and all options please visit create-jokio-app repository.
Idea:
In every process we need three different objects:
- Props
- State
- Context
jokio provides following structure to describe processes and make it composable
type Process = (props: Props) => (state: State, context: Context) => Promise<State>
const process1: Process
const process2: Process
const run = compose(
process1,
process2,
)
run(initialState, initialContext)
Functions:
- compose
- run
- runWith
- log
- timer
- pubsub
- uniqueId
Example:
import { compose, log } from 'jokio'
const process1 = (props) => (state, context) => {
return { ...state, info: state.info + ' hello' }
}
const process2 = (props) => (state, context) => {
return Promise.resolve({ ...state, info: state.info + ' world' })
}
const initialState = {
info: '[Cool App]'
}
const run = compose(
process1({}),
process2({}),
log(),
)
run(initialState)
Related Projects:
Yeoman
You can also use yo generator
install once:
npm i -g yo generator-jokio
create app:
yo jokio
Note: this command will not create a new folder, it will generate files in current folder
Badge:
[![engine: jokio](https://img.shields.io/badge/engine-%F0%9F%83%8F%20jokio-44cc11.svg)](https://github.com/jokio/jokio)