import { createState } from 'realloc'
const {
getState,
createAction,
subscribe
} = createState({
count:0
})
const incrementAction = createAction('$.count', (currentCount) => currentCount + 1)
const decrementAction = createAction('$.count', (currentCount) => currentCount - 1)
const unsubscribe = subscribe((nextState, prevState) => {
console.log("log: ", nextState, prevState)
})
incrementAction()
incrementAction()
getState()
decrementAction()
const incrementNumAction = createAction('$.count', (num, currentCount) => currentCount + num)
incrementNumAction(5)
import { createState } from 'realloc'
const initialState = {
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
}
}
const {
getState,
createAction,
createGetter,
subscribe
} = createState(initialState)
const unsubscribe = subscribe((nextState, prevState) => {
console.log("log: ", nextState, prevState)
})
const getBookTitlesByPriceGTTen = createGetter('$.store.book[?(@.price > 10)].title')
getBookByPriceGTTen()
const updateBookCategoryWithPrice = createAction('$.store.book[?(@.price > {price})].category', (payload, currentCategory) => payload.text + currentCategory )
updateBookCategoryWithPrice({
price:10,
text:'famous '
})
getState().store.book