Skip to content

claudiuandrei/atome

Repository files navigation

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