atomic-state
Advanced tools
Comparing version 2.3.1 to 2.3.2
export { AtomicState } from "./server"; | ||
export { ActionType, ActionsObjectType, Atom, Filter, FilterGet, PersistenceStoreType, atom, atomProvider, filter, filterProvider, getAtomValue, getFilterValue, storage, takeSnapshot, useActions, useAtom, useAtomActions, useAtomDispatch, useAtomType, useAtomValue, useDispatch, useFilter, useStorage, useStorageItem, useValue, session, } from "./mod"; | ||
export { ActionType, ActionsObjectType, Atom, Filter, FilterGet, PersistenceStoreType, atom, atomProvider, filter, filterProvider, getAtomValue, getFilterValue, storage, takeSnapshot, useActions, useAtom, useAtomActions, useAtomDispatch, useAtomType, useAtomValue, useDispatch, useFilter, useStorage, useStorageItem, useValue, session, createStore, } from "./mod"; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.session = exports.useValue = exports.useStorageItem = exports.useStorage = exports.useFilter = exports.useDispatch = exports.useAtomValue = exports.useAtomDispatch = exports.useAtomActions = exports.useAtom = exports.useActions = exports.takeSnapshot = exports.storage = exports.getFilterValue = exports.getAtomValue = exports.filterProvider = exports.filter = exports.atomProvider = exports.atom = exports.AtomicState = void 0; | ||
exports.createStore = exports.session = exports.useValue = exports.useStorageItem = exports.useStorage = exports.useFilter = exports.useDispatch = exports.useAtomValue = exports.useAtomDispatch = exports.useAtomActions = exports.useAtom = exports.useActions = exports.takeSnapshot = exports.storage = exports.getFilterValue = exports.getAtomValue = exports.filterProvider = exports.filter = exports.atomProvider = exports.atom = exports.AtomicState = void 0; | ||
var server_1 = require("./server"); | ||
@@ -26,1 +26,2 @@ Object.defineProperty(exports, "AtomicState", { enumerable: true, get: function () { return server_1.AtomicState; } }); | ||
Object.defineProperty(exports, "session", { enumerable: true, get: function () { return mod_1.session; } }); | ||
Object.defineProperty(exports, "createStore", { enumerable: true, get: function () { return mod_1.createStore; } }); |
@@ -145,2 +145,18 @@ /// <reference types="node" /> | ||
/** | ||
* Creates a store with the `write`, `replace` and `reset` methods. | ||
* It returns a hook that returns an array with the value and the actions | ||
*/ | ||
export declare function createStore<R, A>(config?: Partial<Atom<R, A>>): { | ||
(): [Required<Partial<R>>, ActionsObjectType<{ | ||
push: (v: Required<R>) => Partial<R>; | ||
replace: (v: Required<R>) => R; | ||
reset: any; | ||
}>]; | ||
atom: Atom<Partial<R>, { | ||
push: (v: Required<R>) => Partial<R>; | ||
replace: (v: Required<R>) => R; | ||
reset: any; | ||
}>; | ||
}; | ||
/** | ||
* Get an atom's value | ||
@@ -147,0 +163,0 @@ */ |
"use client"; | ||
"use strict"; | ||
var __assign = (this && this.__assign) || function () { | ||
__assign = Object.assign || function(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
} | ||
return t; | ||
}; | ||
return __assign.apply(this, arguments); | ||
}; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
@@ -59,3 +70,3 @@ if (k2 === undefined) k2 = k; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.useStorageItem = exports.session = exports.storage = exports.useStorage = exports.filterProvider = exports.atomProvider = exports.useAtomActions = exports.useActions = exports.useAtomDispatch = exports.useDispatch = exports.useAtomValue = exports.useValue = exports.useAtom = exports.useFilter = exports.filter = exports.createAtom = exports.atom = exports.getFilterValue = exports.getAtomValue = exports.takeSnapshot = exports.AtomicState = exports.createObserver = void 0; | ||
exports.useStorageItem = exports.session = exports.storage = exports.useStorage = exports.filterProvider = exports.atomProvider = exports.useAtomActions = exports.useActions = exports.useAtomDispatch = exports.useDispatch = exports.useAtomValue = exports.useValue = exports.createStore = exports.useAtom = exports.useFilter = exports.filter = exports.createAtom = exports.atom = exports.getFilterValue = exports.getAtomValue = exports.takeSnapshot = exports.AtomicState = exports.createObserver = void 0; | ||
/** @license Atomic State | ||
@@ -1079,2 +1090,26 @@ * Copyright (c) Dany Beltran | ||
/** | ||
* Creates a store with the `write`, `replace` and `reset` methods. | ||
* It returns a hook that returns an array with the value and the actions | ||
*/ | ||
function createStore(config) { | ||
if (config === void 0) { config = {}; } | ||
var globalStoreState = atom(__assign(__assign({}, config), { actions: __assign({ push: function (_a) { | ||
var dispatch = _a.dispatch, args = _a.args; | ||
dispatch(function (prev) { return (__assign(__assign({}, prev), args(prev))); }); | ||
}, replace: function (_a) { | ||
var dispatch = _a.dispatch, args = _a.args; | ||
dispatch(args); | ||
}, reset: function (_a) { | ||
var dispatch = _a.dispatch; | ||
dispatch(config.default); | ||
} }, config.actions) })); | ||
function useGlobalStore() { | ||
var _a = useAtom(globalStoreState), value = _a[0], actions = _a[2]; | ||
return [value, actions]; | ||
} | ||
useGlobalStore.atom = globalStoreState; | ||
return useGlobalStore; | ||
} | ||
exports.createStore = createStore; | ||
/** | ||
* Get an atom's value | ||
@@ -1081,0 +1116,0 @@ */ |
{ | ||
"name": "atomic-state", | ||
"version": "2.3.1", | ||
"version": "2.3.2", | ||
"description": "Atomic State is a managment library for React", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
126765
2874