UNPKG

@restate/core

Version:

_Restate_ is a predictable, easy to use, easy to integrate, typesafe state container for [React](https://reactjs.org/).

38 lines (37 loc) 1.13 kB
import React from "react"; import { createAppStateHook } from "./create-app-state-hook"; import { createNextHook } from "./create-next-hook"; import { createProvider } from "./create-provider"; import { createSelectorHook } from "./create-selector-hook"; import { createStore, RESTATE_STORE_DEFAULT_OPTIONS } from "./create-store"; import { createStoreHook } from "./create-store-hook"; function create({ state, middleware = [], options = RESTATE_STORE_DEFAULT_OPTIONS }) { const store = createStore({ state, middleware, options, trace: "INIT" }); const AppStateContext = createProvider(store); const useSelector = createSelectorHook(AppStateContext); const useNext = createNextHook(AppStateContext); const useStore = createStoreHook(AppStateContext); const useAppState = createAppStateHook(AppStateContext, (s) => s); const StateProvider = (props) => /* @__PURE__ */ React.createElement(AppStateContext.Provider, { value: store }, props.children); return { AppStateContext, StateProvider, useAppState, useSelector, useNext, store, useStore }; } export { create };