@lite-fsm/react 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";"use client";var le=Object.create;var v=Object.defineProperty;var de=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var Me=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var he=(e,r)=>{for(var t in r)v(e,t,{get:r[t],enumerable:!0})},V=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of me(r))!fe.call(e,n)&&n!==t&&v(e,n,{get:()=>r[n],enumerable:!(o=de(r,n))||o.enumerable});return e};var S=(e,r,t)=>(t=e!=null?le(Me(e)):{},V(r||!e||!e.__esModule?v(t,"default",{value:e,enumerable:!0}):t,e)),xe=e=>V(v({},"__esModule",{value:!0}),e);var Ce={};he(Ce,{FSMContext:()=>l,FSMContextProvider:()=>Q,FSMHydrationBoundary:()=>X,defineMachine:()=>ae,useHydrateSnapshot:()=>$,useManager:()=>s,useSelector:()=>te,useTransition:()=>re});module.exports=xe(Ce);var B=S(require("react"),1),_="Hooks from @lite-fsm/react must be used within FSMContextProvider.",l=B.default.createContext(null);var i=S(require("react"),1);var x=S(require("react"),1),U=x.default.createContext(null),W=U.Provider,P=()=>x.default.useContext(U),q=x.default.createContext(null),g=q.Provider,C=()=>x.default.useContext(q);var K=S(require("react"),1);var s=()=>{let e=K.default.useContext(l);if(!e)throw new Error(_);return e};var O=S(require("react"),1),F=typeof window>"u"?O.default.useEffect:O.default.useLayoutEffect;var b=require("react/jsx-runtime"),N=(e,r,t,o)=>o!==null&&e!==null&&e.snapshot===r&&e.strategy===t&&e.actions===o,X=({snapshot:e,strategy:r,transitionAfterHydrate:t,children:o})=>{let n=s(),c=P(),m=C(),a=r??"merge",R=i.default.useRef(null),[u,M]=i.default.useState(null),w=i.default.useRef(null),[se,ie]=i.default.useState(null),p=i.default.useMemo(()=>{if(!t)return null;let f=Array.isArray(t)?t:[t];return f.length>0?f:null},[t]),y=c?.getState()??n.getState(),A=i.default.useMemo(()=>n.getHydratedState(e,{baseState:y,strategy:a}),[y,a,n,e]),ce=N(se,e,a,p),Se=u!==null&&u.committedState===y&&u.snapshot===e&&u.strategy===a,H=A!==y&&!ce&&!Se,D=m?.getState()??y,L=i.default.useMemo(()=>n.getHydratedState(e,{baseState:D,strategy:a}),[a,n,D,e]);F(()=>{let f=N(w.current,e,a,p),k=p!==null&&!f,I=H&&!f;if(!I&&!k)return;let T=R.current;if(I&&!(T?.baseState===y&&T.snapshot===e&&T.strategy===a)){n.hydrate(e,{strategy:a});let h={baseState:y,committedState:n.getState(),snapshot:e,strategy:a};R.current=h,M(h)}if(k&&p!==null){for(let ue of p)n.transition(ue);let h={snapshot:e,strategy:a,actions:p};w.current=h,ie(h)}},[y,H,a,n,e,p]);let ye=i.default.useMemo(()=>({getState:()=>A}),[A]),pe=i.default.useMemo(()=>({getState:()=>L}),[L]);return(0,b.jsx)(g,{value:pe,children:H?(0,b.jsx)(W,{value:ye,children:o}):o})};var d=S(require("react"),1);var z=S(require("react"),1),Y=Symbol.for("@lite-fsm/react.persistContext"),j=globalThis,G=j[Y]??(j[Y]=z.default.createContext(null)),ve=e=>{let r=e;return typeof r.getStatus=="function"&&typeof r.subscribeStatus=="function"},J=e=>{if(!e)return null;let r=Array.isArray(e)?e:[e],t=null;for(let o of r)if(ve(o)){if(t)return null;t=o}return t};var E=require("react/jsx-runtime"),Q=({children:e,getServerSnapshot:r,machineManager:t,persist:o})=>{let n=d.default.useMemo(()=>t,[t]),c=d.default.useMemo(()=>t.getState(),[t]),m=d.default.useMemo(()=>({getState:r??(()=>c)}),[r,c]),a=d.default.useMemo(()=>J(o),[o]);return d.default.useEffect(()=>{if(!o)return;let u=(Array.isArray(o)?o:[o]).map(M=>M.start());return()=>{for(let M of u)M()}},[o]),(0,E.jsx)(l.Provider,{value:n,children:(0,E.jsx)(G.Provider,{value:a,children:(0,E.jsx)(g,{value:m,children:e})})})};var Z=require("react");var $=(e,r)=>{let t=s(),o=r?.strategy??"merge",n=(0,Z.useRef)(null);F(()=>{n.current?.snapshot===e&&n.current.strategy===o||(t.hydrate(e,{strategy:o}),n.current={snapshot:e,strategy:o})},[t,e,o])};var ee=S(require("use-sync-external-store/shim/with-selector"),1);var{useSyncExternalStoreWithSelector:Pe}=ee.default;function te(e,r){let t=s(),o=P(),n=C(),c=o?.getState??t.getState,m=n?.getState??c;return Pe(t.onTransition,c,m,e,r)}var re=()=>s().transition;var oe=S(require("use-sync-external-store/shim/with-selector"),1),ne=require("@lite-fsm/core"),{useSyncExternalStoreWithSelector:ge}=oe.default,ae=(e={})=>({create:r=>{let t=(0,ne.defineMachine)(e).create(r),o=(n,c)=>ge(t.onTransition,t.getState,t.getState,n,c);return Object.assign(o,t),o}});0&&(module.exports={FSMContext,FSMContextProvider,FSMHydrationBoundary,defineMachine,useHydrateSnapshot,useManager,useSelector,useTransition});
1
+ "use strict";"use client";var le=Object.create;var v=Object.defineProperty;var de=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var Me=Object.getPrototypeOf,fe=Object.prototype.hasOwnProperty;var he=(e,o)=>{for(var t in o)v(e,t,{get:o[t],enumerable:!0})},_=(e,o,t,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of me(o))!fe.call(e,n)&&n!==t&&v(e,n,{get:()=>o[n],enumerable:!(r=de(o,n))||r.enumerable});return e};var S=(e,o,t)=>(t=e!=null?le(Me(e)):{},_(o||!e||!e.__esModule?v(t,"default",{value:e,enumerable:!0}):t,e)),xe=e=>_(v({},"__esModule",{value:!0}),e);var Ee={};he(Ee,{FSMContext:()=>l,FSMContextProvider:()=>Q,FSMHydrationBoundary:()=>N,defineMachine:()=>ae,useHydrateSnapshot:()=>$,useManager:()=>s,useSelector:()=>te,useTransition:()=>re});module.exports=xe(Ee);var V=S(require("react"),1),B="Hooks from @lite-fsm/react must be used within FSMContextProvider.",l=V.default.createContext(null);var i=S(require("react"),1);var x=S(require("react"),1),U=x.default.createContext(null),W=U.Provider,P=()=>x.default.useContext(U),j=x.default.createContext(null),g=j.Provider,F=()=>x.default.useContext(j);var q=S(require("react"),1);var s=()=>{let e=q.default.useContext(l);if(!e)throw new Error(B);return e};var b=S(require("react"),1),C=typeof window>"u"?b.default.useEffect:b.default.useLayoutEffect;var O=require("react/jsx-runtime"),K=(e,o,t,r)=>r!==null&&e!==null&&e.snapshot===o&&e.strategy===t&&e.actions===r,N=({snapshot:e,strategy:o,transitionAfterHydrate:t,children:r})=>{let n=s(),c=P(),m=F(),a=o??"merge",R=i.default.useRef(null),[u,M]=i.default.useState(null),w=i.default.useRef(null),[se,ie]=i.default.useState(null),p=i.default.useMemo(()=>{if(!t)return null;let f=Array.isArray(t)?t:[t];return f.length>0?f:null},[t]),y=c?.getState()??n.getState(),A=i.default.useMemo(()=>n.getHydratedState(e,{baseState:y,strategy:a}),[y,a,n,e]),ce=K(se,e,a,p),Se=u!==null&&u.committedState===y&&u.snapshot===e&&u.strategy===a,H=A!==y&&!ce&&!Se,D=m?.getState()??y,k=i.default.useMemo(()=>n.getHydratedState(e,{baseState:D,strategy:a}),[a,n,D,e]);C(()=>{let f=K(w.current,e,a,p),I=p!==null&&!f,L=H&&!f;if(!L&&!I)return;let T=R.current;if(L&&!(T?.baseState===y&&T.snapshot===e&&T.strategy===a)){n.hydrate(e,{strategy:a});let h={baseState:y,committedState:n.getState(),snapshot:e,strategy:a};R.current=h,M(h)}if(I&&p!==null){for(let ue of p)n.transition(ue);let h={snapshot:e,strategy:a,actions:p};w.current=h,ie(h)}},[y,H,a,n,e,p]);let ye=i.default.useMemo(()=>({getState:()=>A}),[A]),pe=i.default.useMemo(()=>({getState:()=>k}),[k]);return(0,O.jsx)(g,{value:pe,children:H?(0,O.jsx)(W,{value:ye,children:r}):r})};var d=S(require("react"),1);var z=S(require("react"),1),X=Symbol.for("@lite-fsm/react.persistContext"),ve={phase:"idle"},Pe={getStatus:()=>ve,subscribeStatus:()=>()=>{}},Y=globalThis,G=Y[X]??(Y[X]=z.default.createContext(null)),ge=e=>{let o=e;return e!==null&&typeof e=="object"&&typeof o.getStatus=="function"&&typeof o.subscribeStatus=="function"},J=(e,o)=>{if(e===void 0)return o?.serverFallback===!0?Pe:null;let t=Array.isArray(e)?e:[e],r=null;for(let n of t)if(ge(n)){if(r)return null;r=n}return r};var E=require("react/jsx-runtime"),Q=({children:e,getServerSnapshot:o,machineManager:t,persist:r})=>{let n=d.default.useMemo(()=>t,[t]),c=d.default.useMemo(()=>t.getState(),[t]),m=d.default.useMemo(()=>({getState:o??(()=>c)}),[o,c]),a=d.default.useMemo(()=>J(r,{serverFallback:typeof window>"u"}),[r]);return d.default.useEffect(()=>{if(r===void 0)return;let u=(Array.isArray(r)?r:[r]).map(M=>M.start());return()=>{for(let M of u)M()}},[r]),(0,E.jsx)(l.Provider,{value:n,children:(0,E.jsx)(G.Provider,{value:a,children:(0,E.jsx)(g,{value:m,children:e})})})};var Z=require("react");var $=(e,o)=>{let t=s(),r=o?.strategy??"merge",n=(0,Z.useRef)(null);C(()=>{n.current?.snapshot===e&&n.current.strategy===r||(t.hydrate(e,{strategy:r}),n.current={snapshot:e,strategy:r})},[t,e,r])};var ee=S(require("use-sync-external-store/shim/with-selector"),1);var{useSyncExternalStoreWithSelector:Fe}=ee.default;function te(e,o){let t=s(),r=P(),n=F(),c=r?.getState??t.getState,m=n?.getState??c;return Fe(t.onTransition,c,m,e,o)}var re=()=>s().transition;var oe=S(require("use-sync-external-store/shim/with-selector"),1),ne=require("@lite-fsm/core"),{useSyncExternalStoreWithSelector:Ce}=oe.default,ae=(e={})=>({create:o=>{let t=(0,ne.defineMachine)(e).create(o),r=(n,c)=>Ce(t.onTransition,t.getState,t.getState,n,c);return Object.assign(r,t),r}});0&&(module.exports={FSMContext,FSMContextProvider,FSMHydrationBoundary,defineMachine,useHydrateSnapshot,useManager,useSelector,useTransition});
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use client";import Q from"react";var D="Hooks from @lite-fsm/react must be used within FSMContextProvider.",M=Q.createContext(null);import c from"react";import h from"react";var L=h.createContext(null),k=L.Provider,x=()=>h.useContext(L),I=h.createContext(null),v=I.Provider,P=()=>h.useContext(I);import Z from"react";var i=()=>{let e=Z.useContext(M);if(!e)throw new Error(D);return e};import V from"react";var g=typeof window>"u"?V.useEffect:V.useLayoutEffect;import{jsx as _}from"react/jsx-runtime";var B=(e,n,t,r)=>r!==null&&e!==null&&e.snapshot===n&&e.strategy===t&&e.actions===r,$=({snapshot:e,strategy:n,transitionAfterHydrate:t,children:r})=>{let o=i(),s=x(),u=P(),a=n??"merge",C=c.useRef(null),[p,l]=c.useState(null),H=c.useRef(null),[N,X]=c.useState(null),y=c.useMemo(()=>{if(!t)return null;let d=Array.isArray(t)?t:[t];return d.length>0?d:null},[t]),S=s?.getState()??o.getState(),F=c.useMemo(()=>o.getHydratedState(e,{baseState:S,strategy:a}),[S,a,o,e]),Y=B(N,e,a,y),j=p!==null&&p.committedState===S&&p.snapshot===e&&p.strategy===a,E=F!==S&&!Y&&!j,T=u?.getState()??S,O=c.useMemo(()=>o.getHydratedState(e,{baseState:T,strategy:a}),[a,o,T,e]);g(()=>{let d=B(H.current,e,a,y),b=y!==null&&!d,w=E&&!d;if(!w&&!b)return;let R=C.current;if(w&&!(R?.baseState===S&&R.snapshot===e&&R.strategy===a)){o.hydrate(e,{strategy:a});let m={baseState:S,committedState:o.getState(),snapshot:e,strategy:a};C.current=m,l(m)}if(b&&y!==null){for(let J of y)o.transition(J);let m={snapshot:e,strategy:a,actions:y};H.current=m,X(m)}},[S,E,a,o,e,y]);let z=c.useMemo(()=>({getState:()=>F}),[F]),G=c.useMemo(()=>({getState:()=>O}),[O]);return _(v,{value:G,children:E?_(k,{value:z,children:r}):r})};import f from"react";import ee from"react";var U=Symbol.for("@lite-fsm/react.persistContext"),W=globalThis,q=W[U]??(W[U]=ee.createContext(null)),te=e=>{let n=e;return typeof n.getStatus=="function"&&typeof n.subscribeStatus=="function"},K=e=>{if(!e)return null;let n=Array.isArray(e)?e:[e],t=null;for(let r of n)if(te(r)){if(t)return null;t=r}return t};import{jsx as A}from"react/jsx-runtime";var re=({children:e,getServerSnapshot:n,machineManager:t,persist:r})=>{let o=f.useMemo(()=>t,[t]),s=f.useMemo(()=>t.getState(),[t]),u=f.useMemo(()=>({getState:n??(()=>s)}),[n,s]),a=f.useMemo(()=>K(r),[r]);return f.useEffect(()=>{if(!r)return;let p=(Array.isArray(r)?r:[r]).map(l=>l.start());return()=>{for(let l of p)l()}},[r]),A(M.Provider,{value:o,children:A(q.Provider,{value:a,children:A(v,{value:u,children:e})})})};import{useRef as oe}from"react";var ne=(e,n)=>{let t=i(),r=n?.strategy??"merge",o=oe(null);g(()=>{o.current?.snapshot===e&&o.current.strategy===r||(t.hydrate(e,{strategy:r}),o.current={snapshot:e,strategy:r})},[t,e,r])};import ae from"use-sync-external-store/shim/with-selector";var{useSyncExternalStoreWithSelector:se}=ae;function ie(e,n){let t=i(),r=x(),o=P(),s=r?.getState??t.getState,u=o?.getState??s;return se(t.onTransition,s,u,e,n)}var ce=()=>i().transition;import Se from"use-sync-external-store/shim/with-selector";import{defineMachine as ye}from"@lite-fsm/core";var{useSyncExternalStoreWithSelector:pe}=Se,ue=(e={})=>({create:n=>{let t=ye(e).create(n),r=(o,s)=>pe(t.onTransition,t.getState,t.getState,o,s);return Object.assign(r,t),r}});export{M as FSMContext,re as FSMContextProvider,$ as FSMHydrationBoundary,ue as defineMachine,ne as useHydrateSnapshot,i as useManager,ie as useSelector,ce as useTransition};
1
+ "use client";import Q from"react";var D="Hooks from @lite-fsm/react must be used within FSMContextProvider.",M=Q.createContext(null);import c from"react";import h from"react";var k=h.createContext(null),I=k.Provider,x=()=>h.useContext(k),L=h.createContext(null),v=L.Provider,P=()=>h.useContext(L);import Z from"react";var i=()=>{let e=Z.useContext(M);if(!e)throw new Error(D);return e};import _ from"react";var g=typeof window>"u"?_.useEffect:_.useLayoutEffect;import{jsx as B}from"react/jsx-runtime";var V=(e,n,r,t)=>t!==null&&e!==null&&e.snapshot===n&&e.strategy===r&&e.actions===t,$=({snapshot:e,strategy:n,transitionAfterHydrate:r,children:t})=>{let o=i(),s=x(),u=P(),a=n??"merge",F=c.useRef(null),[p,l]=c.useState(null),H=c.useRef(null),[K,N]=c.useState(null),y=c.useMemo(()=>{if(!r)return null;let d=Array.isArray(r)?r:[r];return d.length>0?d:null},[r]),S=s?.getState()??o.getState(),C=c.useMemo(()=>o.getHydratedState(e,{baseState:S,strategy:a}),[S,a,o,e]),X=V(K,e,a,y),Y=p!==null&&p.committedState===S&&p.snapshot===e&&p.strategy===a,E=C!==S&&!X&&!Y,T=u?.getState()??S,b=c.useMemo(()=>o.getHydratedState(e,{baseState:T,strategy:a}),[a,o,T,e]);g(()=>{let d=V(H.current,e,a,y),O=y!==null&&!d,w=E&&!d;if(!w&&!O)return;let R=F.current;if(w&&!(R?.baseState===S&&R.snapshot===e&&R.strategy===a)){o.hydrate(e,{strategy:a});let m={baseState:S,committedState:o.getState(),snapshot:e,strategy:a};F.current=m,l(m)}if(O&&y!==null){for(let J of y)o.transition(J);let m={snapshot:e,strategy:a,actions:y};H.current=m,N(m)}},[S,E,a,o,e,y]);let z=c.useMemo(()=>({getState:()=>C}),[C]),G=c.useMemo(()=>({getState:()=>b}),[b]);return B(v,{value:G,children:E?B(I,{value:z,children:t}):t})};import f from"react";import ee from"react";var U=Symbol.for("@lite-fsm/react.persistContext"),te={phase:"idle"},re={getStatus:()=>te,subscribeStatus:()=>()=>{}},W=globalThis,j=W[U]??(W[U]=ee.createContext(null)),oe=e=>{let n=e;return e!==null&&typeof e=="object"&&typeof n.getStatus=="function"&&typeof n.subscribeStatus=="function"},q=(e,n)=>{if(e===void 0)return n?.serverFallback===!0?re:null;let r=Array.isArray(e)?e:[e],t=null;for(let o of r)if(oe(o)){if(t)return null;t=o}return t};import{jsx as A}from"react/jsx-runtime";var ne=({children:e,getServerSnapshot:n,machineManager:r,persist:t})=>{let o=f.useMemo(()=>r,[r]),s=f.useMemo(()=>r.getState(),[r]),u=f.useMemo(()=>({getState:n??(()=>s)}),[n,s]),a=f.useMemo(()=>q(t,{serverFallback:typeof window>"u"}),[t]);return f.useEffect(()=>{if(t===void 0)return;let p=(Array.isArray(t)?t:[t]).map(l=>l.start());return()=>{for(let l of p)l()}},[t]),A(M.Provider,{value:o,children:A(j.Provider,{value:a,children:A(v,{value:u,children:e})})})};import{useRef as ae}from"react";var se=(e,n)=>{let r=i(),t=n?.strategy??"merge",o=ae(null);g(()=>{o.current?.snapshot===e&&o.current.strategy===t||(r.hydrate(e,{strategy:t}),o.current={snapshot:e,strategy:t})},[r,e,t])};import ie from"use-sync-external-store/shim/with-selector";var{useSyncExternalStoreWithSelector:ce}=ie;function Se(e,n){let r=i(),t=x(),o=P(),s=t?.getState??r.getState,u=o?.getState??s;return ce(r.onTransition,s,u,e,n)}var ye=()=>i().transition;import pe from"use-sync-external-store/shim/with-selector";import{defineMachine as ue}from"@lite-fsm/core";var{useSyncExternalStoreWithSelector:le}=pe,de=(e={})=>({create:n=>{let r=ue(e).create(n),t=(o,s)=>le(r.onTransition,r.getState,r.getState,o,s);return Object.assign(t,r),t}});export{M as FSMContext,ne as FSMContextProvider,$ as FSMHydrationBoundary,de as defineMachine,se as useHydrateSnapshot,i as useManager,Se as useSelector,ye as useTransition};
@@ -7,4 +7,6 @@ export type FSMPersistLifecycle = {
7
7
  start(): () => void;
8
8
  };
9
9
  export declare const FSMPersistContext: React.Context<FSMPersistStatusSource | null>;
10
- export declare const resolvePersistStatusSource: (persist: FSMPersistLifecycle | ReadonlyArray<FSMPersistLifecycle> | undefined) => FSMPersistStatusSource | null;
10
+ export declare const resolvePersistStatusSource: (persist: FSMPersistLifecycle | ReadonlyArray<FSMPersistLifecycle> | undefined, options?: {
11
+ serverFallback?: boolean;
12
+ }) => FSMPersistStatusSource | null;
@@ -7,4 +7,6 @@ export type FSMPersistLifecycle = {
7
7
  start(): () => void;
8
8
  };
9
9
  export declare const FSMPersistContext: React.Context<FSMPersistStatusSource | null>;
10
- export declare const resolvePersistStatusSource: (persist: FSMPersistLifecycle | ReadonlyArray<FSMPersistLifecycle> | undefined) => FSMPersistStatusSource | null;
10
+ export declare const resolvePersistStatusSource: (persist: FSMPersistLifecycle | ReadonlyArray<FSMPersistLifecycle> | undefined, options?: {
11
+ serverFallback?: boolean;
12
+ }) => FSMPersistStatusSource | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lite-fsm/react",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "type": "module",
5
5
  "description": "React bindings for lite-fsm",
6
6
  "license": "MIT",
@@ -56,7 +56,7 @@
56
56
  },
57
57
  "dependencies": {
58
58
  "use-sync-external-store": ">=1.2.0",
59
- "@lite-fsm/core": "2.0.2"
59
+ "@lite-fsm/core": "2.0.3"
60
60
  },
61
61
  "peerDependencies": {
62
62
  "react": ">=18.0.0"