jokio

core, awesome, simple functions

Usage no npm install needed!

<script type="module">
  import jokio from 'https://cdn.skypack.dev/jokio';
</script>

README

jokio 🃏

simple functions for creating complex apps

Build Status npm version

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)

engine: jokio