npm.io
0.0.1 • Published 2d ago

@amateras/store

Licence
Version
0.0.1
Deps
0
Size
3 kB
Vulns
0
Weekly
0

Amateras Store

Create data and access it with Proto binded lifecycle.

Usage

import 'amateras';
import 'amateras/widget';
import 'amateras/store';

const AppStore = $.store((user: User) => ({
    client: user
}))

const App = $.widget(() => {
    const user: User = {
        id: 42,
        name: 'Amateras'
    }
    // where store created is binding lifecycle with
    const store = AppStore.create(user);
    console.log(store.client.id) // 42

    $(Greating)
})

const Greating = $.widget(() => {
    // get store from ancestor proto
    const store = AppStore.get();
    $('h1', () => $`Welcome, ${store.client.name}!`)
})