3.0.0 • Published 6 years ago

@action-land/snabbit v3.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
6 years ago

@action-land/snabbit

Action based functional components

Component

A component is set of 4 pure functions —

  1. init: Creates the initial state of the component.
  2. update: Is a reducer function.
  3. command: Is a command function.
  4. view: Takes in the state and other params and returns a virtual dom element.
  5. Components are framework agnostic.
export interface Component<State, Params, VNode> {
  init(p?: Partial<State>): State
  update<T>(action: Action<T>, state: State): State
  command<T, R>(action: Action<T>, state: State): Action<R>
  view(e: Hoe, m: State, p: Params): VNode
}

init()

  1. Takes in one argument which contains a partial version of the State, ie. all properties are optional.
  2. Returns a new version of the State.
function init(p?: Partial<State>): State

update()

  1. Its an update function that takes in an Action and a State and returns a new State.
 function update (action: Action, state: State): State

command()

  1. Its an command function that takes in an Action and a State and returns a new Action.
 function command (action: Action, state: State): Action

view()

  1. Takes in three arguments — Hoe, State and Params.
  2. Returns a new virtual dom element — VNode.
  3. VNode can be anything implementation from React, snabbdom etc.
function view(e: Hoe, s: State, p: Params): VNode
3.0.0

6 years ago

2.0.1

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.0

6 years ago

0.1.0

6 years ago

0.0.1-6

6 years ago

0.0.1-5

6 years ago