claudiuandrei / atome

Clojure inspired atom/cursor helpers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Atome

Functional atoms and cursors

Atome is a functional set of helpers for creating and manipulating atoms and cursor written in TypeScript. It runs in the browser, or on the server using node.js.

Setup

yarn add atome

or

npm install --save atome

Usage

Before you start import the library

import { create, cursor, deref, reset, watch } from 'atome'

Basic usage

// Setup a new atom
const atom = create({ topic: { base: true } })
const pointer = cursor(atom, ['topic'])

// Update the data
const context = { test: true }

// Setup a watcher
const unwatch = watch(atom, () => {
  console.log(deref(atom), deref(pointer)) // { topic: { test: true } } { test: true }
})

// Reset the cursor data
reset(pointer, context)

// Cleanup
unwatch()

License

MIT

About

Clojure inspired atom/cursor helpers

License:MIT License


Languages

Language:TypeScript 100.0%