@lite-fsm/react 2.0.4 → 2.0.5

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 Me=Object.create;var v=Object.defineProperty;var me=Object.getOwnPropertyDescriptor;var fe=Object.getOwnPropertyNames;var he=Object.getPrototypeOf,Pe=Object.prototype.hasOwnProperty;var xe=(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 fe(r))!Pe.call(e,n)&&n!==t&&v(e,n,{get:()=>r[n],enumerable:!(o=me(r,n))||o.enumerable});return e};var c=(e,r,t)=>(t=e!=null?Me(he(e)):{},V(r||!e||!e.__esModule?v(t,"default",{value:e,enumerable:!0}):t,e)),ve=e=>V(v({},"__esModule",{value:!0}),e);var Oe={};xe(Oe,{FSMContext:()=>d,FSMContextProvider:()=>$,FSMHydrationBoundary:()=>z,defineMachine:()=>ie,useHydrateSnapshot:()=>te,useManager:()=>a,useSelector:()=>ne,useTransition:()=>oe});module.exports=ve(Oe);var B=c(require("react"),1),U="Hooks from @lite-fsm/react must be used within FSMContextProvider.",d=B.default.createContext(null);var i=c(require("react"),1);var P=c(require("react"),1),q=P.default.createContext(null),N=q.Provider,g=()=>P.default.useContext(q),W=P.default.createContext(null),E=W.Provider,F=()=>P.default.useContext(W);var Y=c(require("react"),1);var a=()=>{let e=Y.default.useContext(d);if(!e)throw new Error(U);return e};var b=c(require("react"),1),C=typeof window>"u"?b.default.useEffect:b.default.useLayoutEffect;var L=require("react/jsx-runtime"),j=(e,r,t,o)=>o!==null&&e!==null&&e.snapshot===r&&e.strategy===t&&e.actions===o,z=({snapshot:e,strategy:r,transitionAfterHydrate:t,children:o})=>{let n=a(),S=g(),M=F(),s=r??"merge",x=i.default.useRef(null),[u,m]=i.default.useState(null),w=i.default.useRef(null),[Se,ce]=i.default.useState(null),l=i.default.useMemo(()=>{if(!t)return null;let f=Array.isArray(t)?t:[t];return f.length>0?f:null},[t]),y=S?.getState()??n.getState(),A=i.default.useMemo(()=>n.getHydratedState(e,{baseState:y,strategy:s}),[y,s,n,e]),ye=j(Se,e,s,l),le=u!==null&&u.committedState===y&&u.snapshot===e&&u.strategy===s,T=A!==y&&!ye&&!le,D=M?.getState()??y,I=i.default.useMemo(()=>n.getHydratedState(e,{baseState:D,strategy:s}),[s,n,D,e]);C(()=>{let f=j(w.current,e,s,l),_=l!==null&&!f,k=T&&!f;if(!k&&!_)return;let O=x.current;if(k&&!(O?.baseState===y&&O.snapshot===e&&O.strategy===s)){n.hydrate(e,{strategy:s});let h={baseState:y,committedState:n.getState(),snapshot:e,strategy:s};x.current=h,m(h)}if(_&&l!==null){for(let de of l)n.transition(de);let h={snapshot:e,strategy:s,actions:l};w.current=h,ce(h)}},[y,T,s,n,e,l]);let pe=i.default.useMemo(()=>({getState:()=>A}),[A]),ue=i.default.useMemo(()=>({getState:()=>I}),[I]);return(0,L.jsx)(E,{value:ue,children:T?(0,L.jsx)(N,{value:pe,children:o}):o})};var p=c(require("react"),1);var G=c(require("react"),1),K=globalThis,X=Symbol.for("@lite-fsm/react.persistStatusesContext"),R=[],ge=[],J=K[X]??(K[X]=G.default.createContext(null)),Ee=e=>{let r=e;return e!==null&&typeof e=="object"&&typeof r.getStatus=="function"&&typeof r.subscribeStatus=="function"},Q=(e,r)=>{if(e.length!==r.length)return!1;for(let t=0;t<e.length;t+=1)if(e[t]!==r[t])return!1;return!0},Z=e=>e===void 0||e.length===0?ge:e.map(r=>Ee(r)?r:null);var H=require("react/jsx-runtime"),Fe=()=>({snapshot:R}),Ce=e=>e===void 0||e.length===0?R:e,Re=(e,r)=>{let t=Ce(r);return Q(e.snapshot,t)||(e.snapshot=t.length===0?R:[...t]),e.snapshot},He=e=>{let r=p.default.useMemo(()=>Fe(),[]);return Re(r,e)},$=({children:e,getServerSnapshot:r,machineManager:t,persist:o})=>{let n=p.default.useMemo(()=>t,[t]),S=p.default.useMemo(()=>t.getState(),[t]),M=p.default.useMemo(()=>({getState:r??(()=>S)}),[r,S]),s=He(o),x=p.default.useMemo(()=>Z(s),[s]);return p.default.useEffect(()=>{if(s.length===0)return;let u=s.map(m=>m.start());return()=>{for(let m of u)m()}},[s]),(0,H.jsx)(d.Provider,{value:n,children:(0,H.jsx)(J.Provider,{value:x,children:(0,H.jsx)(E,{value:M,children:e})})})};var ee=require("react");var te=(e,r)=>{let t=a(),o=r?.strategy??"merge",n=(0,ee.useRef)(null);C(()=>{n.current?.snapshot===e&&n.current.strategy===o||(t.hydrate(e,{strategy:o}),n.current={snapshot:e,strategy:o})},[t,e,o])};var re=c(require("use-sync-external-store/shim/with-selector"),1);var{useSyncExternalStoreWithSelector:Ae}=re.default;function ne(e,r){let t=a(),o=g(),n=F(),S=o?.getState??t.getState,M=n?.getState??S;return Ae(t.onTransition,S,M,e,r)}var oe=()=>a().transition;var se=c(require("use-sync-external-store/shim/with-selector"),1),ae=require("@lite-fsm/core"),{useSyncExternalStoreWithSelector:Te}=se.default,ie=(e={})=>({create:r=>{let t=(0,ae.defineMachine)(e).create(r),o=(n,S)=>Te(t.onTransition,t.getState,t.getState,n,S);return Object.assign(o,t),o}});0&&(module.exports={FSMContext,FSMContextProvider,FSMHydrationBoundary,defineMachine,useHydrateSnapshot,useManager,useSelector,useTransition});
1
+ "use strict";"use client";var me=Object.create;var P=Object.defineProperty;var Me=Object.getOwnPropertyDescriptor;var fe=Object.getOwnPropertyNames;var he=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var Pe=(e,r)=>{for(var t in r)P(e,t,{get:r[t],enumerable:!0})},k=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of fe(r))!xe.call(e,n)&&n!==t&&P(e,n,{get:()=>r[n],enumerable:!(o=Me(r,n))||o.enumerable});return e};var c=(e,r,t)=>(t=e!=null?me(he(e)):{},k(r||!e||!e.__esModule?P(t,"default",{value:e,enumerable:!0}):t,e)),ve=e=>k(P({},"__esModule",{value:!0}),e);var Ae={};Pe(Ae,{FSMContext:()=>u,FSMContextProvider:()=>Z,FSMHydrationBoundary:()=>j,defineMachine:()=>ae,useHydrateSnapshot:()=>ee,useManager:()=>i,useSelector:()=>re,useTransition:()=>ne});module.exports=ve(Ae);var V=c(require("react"),1),B="Hooks from @lite-fsm/react must be used within FSMContextProvider.",u=V.default.createContext(null);var S=c(require("react"),1);var f=c(require("react"),1),U=f.default.createContext(null),q=U.Provider,v=()=>f.default.useContext(U),N=f.default.createContext(null),g=N.Provider,E=()=>f.default.useContext(N);var W=c(require("react"),1);var i=()=>{let e=W.default.useContext(u);if(!e)throw new Error(B);return e};var O=c(require("react"),1),F=typeof window>"u"?O.default.useEffect:O.default.useLayoutEffect;var b=require("react/jsx-runtime"),Y=(e,r,t,o)=>o!==null&&e!==null&&e.snapshot===r&&e.strategy===t&&e.actions===o,j=({snapshot:e,strategy:r,transitionAfterHydrate:t,children:o})=>{let n=i(),a=v(),d=E(),s=r??"merge",p=S.default.useRef(null),[x,ie]=S.default.useState(null),L=S.default.useRef(null),[Se,ce]=S.default.useState(null),l=S.default.useMemo(()=>{if(!t)return null;let m=Array.isArray(t)?t:[t];return m.length>0?m:null},[t]),y=a?.getState()??n.getState(),H=S.default.useMemo(()=>n.getHydratedState(e,{baseState:y,strategy:s}),[y,s,n,e]),ye=Y(Se,e,s,l),le=x!==null&&x.committedState===y&&x.snapshot===e&&x.strategy===s,A=H!==y&&!ye&&!le,w=d?.getState()??y,D=S.default.useMemo(()=>n.getHydratedState(e,{baseState:w,strategy:s}),[s,n,w,e]);F(()=>{let m=Y(L.current,e,s,l),I=l!==null&&!m,_=A&&!m;if(!_&&!I)return;let T=p.current;if(_&&!(T?.baseState===y&&T.snapshot===e&&T.strategy===s)){n.hydrate(e,{strategy:s});let M={baseState:y,committedState:n.getState(),snapshot:e,strategy:s};p.current=M,ie(M)}if(I&&l!==null){for(let de of l)n.transition(de);let M={snapshot:e,strategy:s,actions:l};L.current=M,ce(M)}},[y,A,s,n,e,l]);let pe=S.default.useMemo(()=>({getState:()=>H}),[H]),ue=S.default.useMemo(()=>({getState:()=>D}),[D]);return(0,b.jsx)(g,{value:ue,children:A?(0,b.jsx)(q,{value:pe,children:o}):o})};var h=c(require("react"),1);var X=c(require("react"),1),z=globalThis,K=Symbol.for("@lite-fsm/react.persistStatusesContext"),C=[],ge=[],G=z[K]??(z[K]=X.default.createContext(null)),Ee=e=>{let r=e;return e!==null&&typeof e=="object"&&typeof r.getStatus=="function"&&typeof r.subscribeStatus=="function"},J=(e,r)=>{if(e.length!==r.length)return!1;for(let t=0;t<e.length;t+=1)if(e[t]!==r[t])return!1;return!0},Q=e=>e===void 0||e.length===0?ge:e.map(r=>Ee(r)?r:null);var R=require("react/jsx-runtime"),Fe=e=>e===void 0||e.length===0?C:e,Ce=e=>{let[r,t]=h.default.useState(C),o=Fe(e);return J(r,o)||t(o.length===0?C:[...o]),r},Z=({children:e,getServerSnapshot:r,machineManager:t,persist:o})=>{let n=h.default.useMemo(()=>{if(r)return{getState:r};let s=t.getState();return{getState:()=>s}},[r,t]),a=Ce(o),d=h.default.useMemo(()=>Q(a),[a]);return h.default.useEffect(()=>{if(a.length===0)return;let s=a.map(p=>p.start());return()=>{for(let p of s)p()}},[a]),(0,R.jsx)(u.Provider,{value:t,children:(0,R.jsx)(G.Provider,{value:d,children:(0,R.jsx)(g,{value:n,children:e})})})};var $=require("react");var ee=(e,r)=>{let t=i(),o=r?.strategy??"merge",n=(0,$.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 te=c(require("use-sync-external-store/shim/with-selector"),1);var{useSyncExternalStoreWithSelector:Re}=te.default;function re(e,r){let t=i(),o=v(),n=E(),a=o?.getState??t.getState,d=n?.getState??a;return Re(t.onTransition,a,d,e,r)}var ne=()=>i().transition;var oe=c(require("use-sync-external-store/shim/with-selector"),1),se=require("@lite-fsm/core"),{useSyncExternalStoreWithSelector:He}=oe.default,ae=(e={})=>({create:r=>{let t=(0,se.defineMachine)(e).create(r),o=(n,a)=>He(t.onTransition,t.getState,t.getState,n,a);return Object.assign(o,t),o}});0&&(module.exports={FSMContext,FSMContextProvider,FSMHydrationBoundary,defineMachine,useHydrateSnapshot,useManager,useSelector,useTransition});
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use client";import $ from"react";var D="Hooks from @lite-fsm/react must be used within FSMContextProvider.",f=$.createContext(null);import S from"react";import P from"react";var I=P.createContext(null),_=I.Provider,x=()=>P.useContext(I),k=P.createContext(null),v=k.Provider,g=()=>P.useContext(k);import ee from"react";var i=()=>{let e=ee.useContext(f);if(!e)throw new Error(D);return e};import V from"react";var E=typeof window>"u"?V.useEffect:V.useLayoutEffect;import{jsx as U}from"react/jsx-runtime";var B=(e,r,t,s)=>s!==null&&e!==null&&e.snapshot===r&&e.strategy===t&&e.actions===s,te=({snapshot:e,strategy:r,transitionAfterHydrate:t,children:s})=>{let n=i(),a=x(),u=g(),o=r??"merge",h=S.useRef(null),[l,d]=S.useState(null),T=S.useRef(null),[z,K]=S.useState(null),y=S.useMemo(()=>{if(!t)return null;let M=Array.isArray(t)?t:[t];return M.length>0?M:null},[t]),c=a?.getState()??n.getState(),C=S.useMemo(()=>n.getHydratedState(e,{baseState:c,strategy:o}),[c,o,n,e]),X=B(z,e,o,y),G=l!==null&&l.committedState===c&&l.snapshot===e&&l.strategy===o,R=C!==c&&!X&&!G,O=u?.getState()??c,b=S.useMemo(()=>n.getHydratedState(e,{baseState:O,strategy:o}),[o,n,O,e]);E(()=>{let M=B(T.current,e,o,y),L=y!==null&&!M,w=R&&!M;if(!w&&!L)return;let H=h.current;if(w&&!(H?.baseState===c&&H.snapshot===e&&H.strategy===o)){n.hydrate(e,{strategy:o});let m={baseState:c,committedState:n.getState(),snapshot:e,strategy:o};h.current=m,d(m)}if(L&&y!==null){for(let Z of y)n.transition(Z);let m={snapshot:e,strategy:o,actions:y};T.current=m,K(m)}},[c,R,o,n,e,y]);let J=S.useMemo(()=>({getState:()=>C}),[C]),Q=S.useMemo(()=>({getState:()=>b}),[b]);return U(v,{value:Q,children:R?U(_,{value:J,children:s}):s})};import p from"react";import re from"react";var q=globalThis,N=Symbol.for("@lite-fsm/react.persistStatusesContext"),F=[],ne=[],W=q[N]??(q[N]=re.createContext(null)),oe=e=>{let r=e;return e!==null&&typeof e=="object"&&typeof r.getStatus=="function"&&typeof r.subscribeStatus=="function"},Y=(e,r)=>{if(e.length!==r.length)return!1;for(let t=0;t<e.length;t+=1)if(e[t]!==r[t])return!1;return!0},j=e=>e===void 0||e.length===0?ne:e.map(r=>oe(r)?r:null);import{jsx as A}from"react/jsx-runtime";var se=()=>({snapshot:F}),ae=e=>e===void 0||e.length===0?F:e,ie=(e,r)=>{let t=ae(r);return Y(e.snapshot,t)||(e.snapshot=t.length===0?F:[...t]),e.snapshot},Se=e=>{let r=p.useMemo(()=>se(),[]);return ie(r,e)},ce=({children:e,getServerSnapshot:r,machineManager:t,persist:s})=>{let n=p.useMemo(()=>t,[t]),a=p.useMemo(()=>t.getState(),[t]),u=p.useMemo(()=>({getState:r??(()=>a)}),[r,a]),o=Se(s),h=p.useMemo(()=>j(o),[o]);return p.useEffect(()=>{if(o.length===0)return;let l=o.map(d=>d.start());return()=>{for(let d of l)d()}},[o]),A(f.Provider,{value:n,children:A(W.Provider,{value:h,children:A(v,{value:u,children:e})})})};import{useRef as ye}from"react";var le=(e,r)=>{let t=i(),s=r?.strategy??"merge",n=ye(null);E(()=>{n.current?.snapshot===e&&n.current.strategy===s||(t.hydrate(e,{strategy:s}),n.current={snapshot:e,strategy:s})},[t,e,s])};import pe from"use-sync-external-store/shim/with-selector";var{useSyncExternalStoreWithSelector:ue}=pe;function de(e,r){let t=i(),s=x(),n=g(),a=s?.getState??t.getState,u=n?.getState??a;return ue(t.onTransition,a,u,e,r)}var Me=()=>i().transition;import me from"use-sync-external-store/shim/with-selector";import{defineMachine as fe}from"@lite-fsm/core";var{useSyncExternalStoreWithSelector:he}=me,Pe=(e={})=>({create:r=>{let t=fe(e).create(r),s=(n,a)=>he(t.onTransition,t.getState,t.getState,n,a);return Object.assign(s,t),s}});export{f as FSMContext,ce as FSMContextProvider,te as FSMHydrationBoundary,Pe as defineMachine,le as useHydrateSnapshot,i as useManager,de as useSelector,Me as useTransition};
1
+ "use client";import $ from"react";var w="Hooks from @lite-fsm/react must be used within FSMContextProvider.",m=$.createContext(null);import S from"react";import f from"react";var D=f.createContext(null),I=D.Provider,h=()=>f.useContext(D),_=f.createContext(null),x=_.Provider,P=()=>f.useContext(_);import ee from"react";var i=()=>{let e=ee.useContext(m);if(!e)throw new Error(w);return e};import k from"react";var v=typeof window>"u"?k.useEffect:k.useLayoutEffect;import{jsx as B}from"react/jsx-runtime";var V=(e,r,t,n)=>n!==null&&e!==null&&e.snapshot===r&&e.strategy===t&&e.actions===n,te=({snapshot:e,strategy:r,transitionAfterHydrate:t,children:n})=>{let o=i(),a=h(),p=P(),s=r??"merge",l=S.useRef(null),[M,j]=S.useState(null),A=S.useRef(null),[z,K]=S.useState(null),y=S.useMemo(()=>{if(!t)return null;let u=Array.isArray(t)?t:[t];return u.length>0?u:null},[t]),c=a?.getState()??o.getState(),F=S.useMemo(()=>o.getHydratedState(e,{baseState:c,strategy:s}),[c,s,o,e]),X=V(z,e,s,y),G=M!==null&&M.committedState===c&&M.snapshot===e&&M.strategy===s,C=F!==c&&!X&&!G,T=p?.getState()??c,O=S.useMemo(()=>o.getHydratedState(e,{baseState:T,strategy:s}),[s,o,T,e]);v(()=>{let u=V(A.current,e,s,y),b=y!==null&&!u,L=C&&!u;if(!L&&!b)return;let R=l.current;if(L&&!(R?.baseState===c&&R.snapshot===e&&R.strategy===s)){o.hydrate(e,{strategy:s});let d={baseState:c,committedState:o.getState(),snapshot:e,strategy:s};l.current=d,j(d)}if(b&&y!==null){for(let Z of y)o.transition(Z);let d={snapshot:e,strategy:s,actions:y};A.current=d,K(d)}},[c,C,s,o,e,y]);let J=S.useMemo(()=>({getState:()=>F}),[F]),Q=S.useMemo(()=>({getState:()=>O}),[O]);return B(x,{value:Q,children:C?B(I,{value:J,children:n}):n})};import E from"react";import re from"react";var U=globalThis,q=Symbol.for("@lite-fsm/react.persistStatusesContext"),g=[],ne=[],N=U[q]??(U[q]=re.createContext(null)),oe=e=>{let r=e;return e!==null&&typeof e=="object"&&typeof r.getStatus=="function"&&typeof r.subscribeStatus=="function"},W=(e,r)=>{if(e.length!==r.length)return!1;for(let t=0;t<e.length;t+=1)if(e[t]!==r[t])return!1;return!0},Y=e=>e===void 0||e.length===0?ne:e.map(r=>oe(r)?r:null);import{jsx as H}from"react/jsx-runtime";var se=e=>e===void 0||e.length===0?g:e,ae=e=>{let[r,t]=E.useState(g),n=se(e);return W(r,n)||t(n.length===0?g:[...n]),r},ie=({children:e,getServerSnapshot:r,machineManager:t,persist:n})=>{let o=E.useMemo(()=>{if(r)return{getState:r};let s=t.getState();return{getState:()=>s}},[r,t]),a=ae(n),p=E.useMemo(()=>Y(a),[a]);return E.useEffect(()=>{if(a.length===0)return;let s=a.map(l=>l.start());return()=>{for(let l of s)l()}},[a]),H(m.Provider,{value:t,children:H(N.Provider,{value:p,children:H(x,{value:o,children:e})})})};import{useRef as Se}from"react";var ce=(e,r)=>{let t=i(),n=r?.strategy??"merge",o=Se(null);v(()=>{o.current?.snapshot===e&&o.current.strategy===n||(t.hydrate(e,{strategy:n}),o.current={snapshot:e,strategy:n})},[t,e,n])};import ye from"use-sync-external-store/shim/with-selector";var{useSyncExternalStoreWithSelector:le}=ye;function pe(e,r){let t=i(),n=h(),o=P(),a=n?.getState??t.getState,p=o?.getState??a;return le(t.onTransition,a,p,e,r)}var ue=()=>i().transition;import de from"use-sync-external-store/shim/with-selector";import{defineMachine as me}from"@lite-fsm/core";var{useSyncExternalStoreWithSelector:Me}=de,fe=(e={})=>({create:r=>{let t=me(e).create(r),n=(o,a)=>Me(t.onTransition,t.getState,t.getState,o,a);return Object.assign(n,t),n}});export{m as FSMContext,ie as FSMContextProvider,te as FSMHydrationBoundary,fe as defineMachine,ce as useHydrateSnapshot,i as useManager,pe as useSelector,ue as useTransition};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lite-fsm/react",
3
- "version": "2.0.4",
3
+ "version": "2.0.5",
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.4"
59
+ "@lite-fsm/core": "2.0.5"
60
60
  },
61
61
  "peerDependencies": {
62
62
  "react": ">=18.0.0"