@lehnihon/bit-form 2.2.24 → 2.2.27
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/README.md +0 -28
- package/dist/angular/index.cjs +1 -1
- package/dist/angular/index.cjs.map +1 -1
- package/dist/angular/index.d.cts +0 -1
- package/dist/angular/index.d.ts +0 -1
- package/dist/angular/index.js +1 -1
- package/dist/angular/index.js.map +1 -1
- package/dist/chunk-7T7L2TZX.js +2 -0
- package/dist/chunk-7T7L2TZX.js.map +1 -0
- package/dist/chunk-AV7YYSFI.cjs +2 -0
- package/dist/chunk-AV7YYSFI.cjs.map +1 -0
- package/dist/chunk-EYCJKAK3.js +2 -0
- package/dist/chunk-EYCJKAK3.js.map +1 -0
- package/dist/chunk-GBHOCY7E.cjs +2 -0
- package/dist/chunk-GBHOCY7E.cjs.map +1 -0
- package/dist/{chunk-AOMXTUA4.cjs → chunk-H27ROY4F.cjs} +2 -2
- package/dist/{chunk-AOMXTUA4.cjs.map → chunk-H27ROY4F.cjs.map} +1 -1
- package/dist/{chunk-XPY6TCOO.js → chunk-L42NQRVD.js} +2 -2
- package/dist/chunk-OWDDAM6C.cjs +2 -0
- package/dist/chunk-OWDDAM6C.cjs.map +1 -0
- package/dist/chunk-U6UFULNS.cjs +2 -0
- package/dist/chunk-U6UFULNS.cjs.map +1 -0
- package/dist/chunk-UBVVBVLS.js +2 -0
- package/dist/chunk-UBVVBVLS.js.map +1 -0
- package/dist/chunk-WKLCAC74.cjs +2 -0
- package/dist/chunk-WKLCAC74.cjs.map +1 -0
- package/dist/chunk-WYYVVM2C.js +2 -0
- package/dist/chunk-WYYVVM2C.js.map +1 -0
- package/dist/chunk-Y7TQTZY7.js +2 -0
- package/dist/chunk-Y7TQTZY7.js.map +1 -0
- package/dist/cli/index.cjs +6 -5
- package/dist/core/bindings.cjs +1 -1
- package/dist/core/bindings.js +1 -1
- package/dist/core/store.cjs +1 -1
- package/dist/core/store.js +1 -1
- package/dist/core/utils.cjs +1 -1
- package/dist/core/utils.js +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +1 -1
- package/dist/devtools/bridge.cjs +1 -1
- package/dist/devtools/bridge.js +1 -1
- package/dist/devtools/index.cjs +16 -16
- package/dist/devtools/index.cjs.map +1 -1
- package/dist/devtools/index.js +16 -16
- package/dist/devtools/index.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-native/index.cjs +1 -1
- package/dist/react-native/index.js +1 -1
- package/dist/resolvers/index.cjs +1 -1
- package/dist/resolvers/index.cjs.map +1 -1
- package/dist/resolvers/index.d.cts +0 -8
- package/dist/resolvers/index.d.ts +0 -8
- package/dist/resolvers/index.js +1 -1
- package/dist/resolvers/joi.cjs +1 -1
- package/dist/resolvers/joi.cjs.map +1 -1
- package/dist/resolvers/joi.js +1 -1
- package/dist/resolvers/joi.js.map +1 -1
- package/dist/resolvers/yup.cjs +1 -1
- package/dist/resolvers/yup.cjs.map +1 -1
- package/dist/resolvers/yup.js +1 -1
- package/dist/resolvers/yup.js.map +1 -1
- package/dist/resolvers/zod.cjs +1 -1
- package/dist/resolvers/zod.cjs.map +1 -1
- package/dist/resolvers/zod.js +1 -1
- package/dist/resolvers/zod.js.map +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.js +1 -1
- package/dist/vue/index.js.map +1 -1
- package/package.json +21 -1
- package/dist/chunk-27LJCW56.cjs +0 -2
- package/dist/chunk-27LJCW56.cjs.map +0 -1
- package/dist/chunk-3SEB4YRQ.cjs +0 -2
- package/dist/chunk-3SEB4YRQ.cjs.map +0 -1
- package/dist/chunk-5ILGCBKG.cjs +0 -2
- package/dist/chunk-5ILGCBKG.cjs.map +0 -1
- package/dist/chunk-7LCFS2JM.cjs +0 -2
- package/dist/chunk-7LCFS2JM.cjs.map +0 -1
- package/dist/chunk-DNHPYPJA.js +0 -2
- package/dist/chunk-DNHPYPJA.js.map +0 -1
- package/dist/chunk-JVRTPL7W.js +0 -2
- package/dist/chunk-JVRTPL7W.js.map +0 -1
- package/dist/chunk-K2JSAJAF.cjs +0 -2
- package/dist/chunk-K2JSAJAF.cjs.map +0 -1
- package/dist/chunk-K2KCQEER.js +0 -2
- package/dist/chunk-K2KCQEER.js.map +0 -1
- package/dist/chunk-LY67POOF.js +0 -2
- package/dist/chunk-LY67POOF.js.map +0 -1
- package/dist/chunk-PDFT5E2E.cjs +0 -2
- package/dist/chunk-PDFT5E2E.cjs.map +0 -1
- package/dist/chunk-PRMNTQD5.js +0 -2
- package/dist/chunk-PRMNTQD5.js.map +0 -1
- package/dist/chunk-SFVGMVIE.js +0 -2
- package/dist/chunk-SFVGMVIE.js.map +0 -1
- package/dist/chunk-SMCFLQIA.cjs +0 -2
- package/dist/chunk-SMCFLQIA.cjs.map +0 -1
- package/dist/chunk-T36GFQHU.cjs +0 -2
- package/dist/chunk-T36GFQHU.cjs.map +0 -1
- package/dist/chunk-WEZ5Q6YO.js +0 -2
- package/dist/chunk-WEZ5Q6YO.js.map +0 -1
- package/dist/chunk-X3OFU2UH.js +0 -2
- package/dist/chunk-X3OFU2UH.js.map +0 -1
- /package/dist/{chunk-XPY6TCOO.js.map → chunk-L42NQRVD.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOWDDAM6Ccjs = require('./chunk-OWDDAM6C.cjs');function o(i,e){return e&&Object.is(e.value,i.value)&&e.error===i.error&&e.touched===i.touched&&e.isHidden===i.isHidden&&e.isRequired===i.isRequired&&e.isDirty===i.isDirty&&e.isValidating===i.isValidating?e:{value:i.value,error:i.error,touched:i.touched,isHidden:i.isHidden,isRequired:i.isRequired,isDirty:i.isDirty,isValidating:i.isValidating}}function d(i,e){return i===e?!0:!i||!e?!1:_chunkOWDDAM6Ccjs.d.call(void 0, i.value,e.value)&&i.error===e.error&&i.touched===e.touched&&i.isHidden===e.isHidden&&i.isRequired===e.isRequired&&i.isDirty===e.isDirty&&i.isValidating===e.isValidating}var n=d;exports.a = o; exports.b = d; exports.c = n;
|
|
2
|
+
//# sourceMappingURL=chunk-AV7YYSFI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-AV7YYSFI.cjs","../src/core/utils/field-state-snapshot.ts"],"names":["createFieldStateSnapshot","nextState","lastSnapshot","areFieldSnapshotsEqual","snapshotA","snapshotB","deepEqual","areFieldStatesEqual"],"mappings":"AAAA,iIAAwC,SCqCxBA,CAAAA,CACdC,CAAAA,CASAC,CAAAA,CAC0B,CAE1B,OAAIA,CAAAA,EAEA,MAAA,CAAO,EAAA,CAAGA,CAAAA,CAAa,KAAA,CAAOD,CAAAA,CAAU,KAAK,CAAA,EAC7CC,CAAAA,CAAa,KAAA,GAAUD,CAAAA,CAAU,KAAA,EACjCC,CAAAA,CAAa,OAAA,GAAYD,CAAAA,CAAU,OAAA,EACnCC,CAAAA,CAAa,QAAA,GAAaD,CAAAA,CAAU,QAAA,EACpCC,CAAAA,CAAa,UAAA,GAAeD,CAAAA,CAAU,UAAA,EACtCC,CAAAA,CAAa,OAAA,GAAYD,CAAAA,CAAU,OAAA,EACnCC,CAAAA,CAAa,YAAA,GAAiBD,CAAAA,CAAU,YAAA,CAGjCC,CAAAA,CAIJ,CACL,KAAA,CAAOD,CAAAA,CAAU,KAAA,CACjB,KAAA,CAAOA,CAAAA,CAAU,KAAA,CACjB,OAAA,CAASA,CAAAA,CAAU,OAAA,CACnB,QAAA,CAAUA,CAAAA,CAAU,QAAA,CACpB,UAAA,CAAYA,CAAAA,CAAU,UAAA,CACtB,OAAA,CAASA,CAAAA,CAAU,OAAA,CACnB,YAAA,CAAcA,CAAAA,CAAU,YAC1B,CACF,CAUO,SAASE,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACS,CACT,OAAID,CAAAA,GAAcC,CAAAA,CAAkB,CAAA,CAAA,CAChC,CAACD,CAAAA,EAAa,CAACC,CAAAA,CAAkB,CAAA,CAAA,CAGnCC,iCAAAA,CAAUF,CAAU,KAAA,CAAOC,CAAAA,CAAU,KAAK,CAAA,EAC1CD,CAAAA,CAAU,KAAA,GAAUC,CAAAA,CAAU,KAAA,EAC9BD,CAAAA,CAAU,OAAA,GAAYC,CAAAA,CAAU,OAAA,EAChCD,CAAAA,CAAU,QAAA,GAAaC,CAAAA,CAAU,QAAA,EACjCD,CAAAA,CAAU,UAAA,GAAeC,CAAAA,CAAU,UAAA,EACnCD,CAAAA,CAAU,OAAA,GAAYC,CAAAA,CAAU,OAAA,EAChCD,CAAAA,CAAU,YAAA,GAAiBC,CAAAA,CAAU,YAEzC,CAEO,IAAME,CAAAA,CAAsBJ,CAAAA,CAAAA,4CAAAA","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-AV7YYSFI.cjs","sourcesContent":[null,"/**\n * Field State Snapshot Utilities\n *\n * Shared utilities for creating and managing field state snapshots across frameworks\n * (React, Vue, Angular). Reduces code duplication while maintaining type safety.\n */\n\nimport type { BitFieldState } from \"../store/contracts/types\";\nimport { deepEqual } from \"../utils\";\n\n/**\n * Represents a stable snapshot of field state that can be compared for equality.\n */\nexport type BitFieldSnapshot<TValue = unknown> = BitFieldState<\n Record<string, unknown>,\n TValue\n>;\n\n/**\n * Creates or reuses a field state snapshot with shallow equality checking.\n *\n * This function prevents unnecessary re-renders in frameworks like React by\n * returning the same object reference when field state hasn't changed.\n *\n * @param nextState - The new field state from the store\n * @param lastSnapshot - The previous snapshot (can be null on first call)\n * @returns A stable snapshot object that can be used for equality comparison\n *\n * @example\n * ```typescript\n * const snapshot = createFieldStateSnapshot(store.getFieldState(\"email\"), lastSnapshot);\n * if (snapshot !== lastSnapshot) {\n * // Field state changed, update component\n * render(snapshot);\n * }\n * ```\n */\nexport function createFieldStateSnapshot<TValue = unknown>(\n nextState: {\n value: TValue;\n error: string | undefined;\n touched: boolean;\n isHidden: boolean;\n isRequired: boolean;\n isDirty: boolean;\n isValidating: boolean;\n },\n lastSnapshot: BitFieldSnapshot<TValue> | null,\n): BitFieldSnapshot<TValue> {\n // Use shallow equality: return cached if all fields are equal by reference\n if (lastSnapshot) {\n const shallowEqual =\n Object.is(lastSnapshot.value, nextState.value) &&\n lastSnapshot.error === nextState.error &&\n lastSnapshot.touched === nextState.touched &&\n lastSnapshot.isHidden === nextState.isHidden &&\n lastSnapshot.isRequired === nextState.isRequired &&\n lastSnapshot.isDirty === nextState.isDirty &&\n lastSnapshot.isValidating === nextState.isValidating;\n\n if (shallowEqual) {\n return lastSnapshot;\n }\n }\n\n return {\n value: nextState.value,\n error: nextState.error,\n touched: nextState.touched,\n isHidden: nextState.isHidden,\n isRequired: nextState.isRequired,\n isDirty: nextState.isDirty,\n isValidating: nextState.isValidating,\n };\n}\n\n/**\n * Deep comparison utility for field state snapshots.\n * Useful for scenarios where shallow comparison isn't sufficient (e.g., object/array values).\n *\n * @param snapshotA - First snapshot\n * @param snapshotB - Second snapshot\n * @returns true if snapshots are deeply equal\n */\nexport function areFieldSnapshotsEqual(\n snapshotA: BitFieldSnapshot | null | undefined,\n snapshotB: BitFieldSnapshot | null | undefined,\n): boolean {\n if (snapshotA === snapshotB) return true;\n if (!snapshotA || !snapshotB) return false;\n\n return (\n deepEqual(snapshotA.value, snapshotB.value) &&\n snapshotA.error === snapshotB.error &&\n snapshotA.touched === snapshotB.touched &&\n snapshotA.isHidden === snapshotB.isHidden &&\n snapshotA.isRequired === snapshotB.isRequired &&\n snapshotA.isDirty === snapshotB.isDirty &&\n snapshotA.isValidating === snapshotB.isValidating\n );\n}\n\nexport const areFieldStatesEqual = areFieldSnapshotsEqual;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{d as I}from"./chunk-7T7L2TZX.js";import{a as U,b as q,d as L,e as W,g as O,i as _,j as $,k as z}from"./chunk-L42NQRVD.js";import{b as T}from"./chunk-UIKO6GGW.js";import{a as j}from"./chunk-Y7TQTZY7.js";import{c as x,f as D}from"./chunk-UBVVBVLS.js";import{createContext as X,useContext as Y,useEffect as Z,useMemo as N,useRef as tt}from"react";import{jsx as et}from"react/jsx-runtime";var G=X(null),vt=({store:t,children:e})=>{let r=N(()=>I(t),[t]),n=tt(!1);return Z(()=>(n.current=!1,()=>{n.current=!0,queueMicrotask(()=>{n.current&&(n.current=!1,r.feature?.cleanup?.())})}),[r]),et(G.Provider,{value:r,children:e})},S=()=>{let t=Y(G);if(!t)throw new Error("BitForm hooks devem ser usados dentro de um BitFormProvider");return t};import{useCallback as d,useMemo as w,useRef as rt,useState as H,useSyncExternalStore as st}from"react";function Mt(){let t=S(),[e,r]=H(null),[n,s]=H(null),o=rt(null),c=d(p=>q(t,p),[t]),l=d(()=>{let p=U(t);return o.current&&o.current.isValid===p.isValid&&o.current.isDirty===p.isDirty&&o.current.isSubmitting===p.isSubmitting?o.current:(o.current=p,p)},[t]),i=st(c,l,l),a=w(()=>_(t,{clearSubmissionState:()=>{r(null),s(null)},setSubmissionResult:p=>{s(p)},setSubmissionError:p=>{r(p)}}),[t]),{controller:m,actions:P}=a,b=d(m.submit,[m]),g=d(m.onSubmit,[m]),y=d(m.reset,[m]),F=d(m.getValues,[m]),h=d(m.getErrors,[m]),u=d(m.getTouched,[m]),B=d(m.getDirtyValues,[m]),R=w(()=>({...i,submitError:e,lastResponse:n}),[i,e,n]);return w(()=>({meta:R,getValues:F,getErrors:h,getTouched:u,getDirtyValues:B,submit:b,onSubmit:g,reset:y,...P}),[R,F,h,u,B,b,g,y,P])}import{useCallback as J,useEffect as ot,useMemo as k,useRef as nt,useSyncExternalStore as it}from"react";function jt(t){let e=S(),r=k(()=>O(e,t),[e,t]),n=nt(null),s=J(()=>{let i=r.readItems();return n.current&&x(n.current,i)?n.current:(n.current=i,i)},[r]),o=J(i=>e.observe.subscribePath(t,()=>i()),[e,t]),c=it(o,s,s),l=k(()=>r.getFields(c),[r,c]);return ot(()=>()=>{z(e,`${t}.`)},[e,t]),k(()=>({fields:l,length:c.length,append:r.append,prepend:r.prepend,insert:r.insert,remove:r.remove,move:r.move,swap:r.swap,replace:r.replace,clear:r.clear}),[l,c.length,r])}import{useCallback as E,useMemo as at,useRef as ut,useSyncExternalStore as ct}from"react";function Wt(t){let e=S(),r=ut(null),n=E(()=>{let i=e.read.getScopeStatus(t);return r.current&&T(r.current,i)?r.current:(r.current=i,i)},[e,t]),s=E(i=>e.observe.subscribeScopeStatus(t,()=>i()),[e,t]),o=ct(s,n,n),c=E(async()=>{let i=await e.feature.validate({scope:t}),a=e.read.getScopeErrors(t);return{valid:i,errors:a}},[e,t]),l=E(()=>e.read.getScopeErrors(t),[e,t]);return at(()=>({scopeName:t,status:o,errors:o.errors,validate:c,getErrors:l,isValid:!o.hasErrors,isDirty:o.isDirty}),[t,o,c,l])}import{useCallback as f,useMemo as lt,useRef as A,useState as mt,useSyncExternalStore as pt}from"react";function Gt(t){if(t.length===0)throw new Error("useBitSteps: scopeNames must not be empty");let e=S(),[r,n]=mt(0),s=t[r]??"",o=A(null),c=A(s);c.current=s;let l=A(r);l.current=r;let i=f(()=>{let u=e.read.getScopeStatus(s);return o.current&&T(o.current,u)?o.current:(o.current=u,u)},[e,s]),a=pt(f(u=>e.observe.subscribeScopeStatus(s,()=>u()),[e,s]),i,i),m=f(async()=>{let u=await e.feature.validate({scope:s}),B=e.read.getScopeErrors(s);return{valid:u,errors:B}},[e,s]),P=f(()=>e.read.getScopeErrors(s),[e,s]),b=f(async()=>{let u=c.current,B=l.current,R=e.read.getScopeFields(u);if(e.feature.hasValidationsInProgress(R))return!1;let p=await e.feature.validate({scope:u});if(B!==l.current)return!1;if(p)n(M=>Math.min(M+1,t.length-1));else{let M=e.read.getScopeErrors(u),C=Object.keys(M);C.length>0&&e.write.markFieldsTouched(C)}return p},[e,t.length]),g=f(()=>{n(u=>Math.max(u-1,0))},[]),y=f(u=>{n(Math.max(0,Math.min(u-1,t.length-1)))},[t.length]),F=r===0,h=r>=t.length-1;return lt(()=>({step:r+1,stepIndex:r,scope:s,next:b,prev:g,goTo:y,isFirst:F,isLast:h,status:a,errors:a.errors,isValid:!a.hasErrors,isDirty:a.isDirty,validate:m,getErrors:P}),[r,s,b,g,y,F,h,a,m,P])}import{useCallback as K,useSyncExternalStore as St,useRef as dt}from"react";function Zt(t){let e=S(),r=dt(null),n=K(()=>{let o=D(e.read.getState().values,t);return r.current!==null&&x(r.current,o)?r.current:(r.current=o,o)},[e,t]),s=K(o=>e.observe.subscribePath(t,()=>o()),[e,t]);return St(s,n,n)}import{useCallback as v,useMemo as Q,useSyncExternalStore as ft,useRef as Bt}from"react";function se(){let t=S(),e=v(a=>W(t,a),[t]),r=Bt(null),n=v(()=>{let a=L(t);return r.current&&r.current.isSaving===a.isSaving&&r.current.isRestoring===a.isRestoring&&r.current.error===a.error?r.current:(r.current=a,a)},[t]),s=ft(e,n,n),o=v(async()=>t.feature.restorePersisted(),[t]),c=v(async()=>{await t.feature.forceSave()},[t]),l=v(async()=>{await t.feature.clearPersisted()},[t]),i=Q(()=>({isSaving:s.isSaving,isRestoring:s.isRestoring,error:s.error}),[s]);return Q(()=>({restore:o,save:c,clear:l,meta:i}),[o,c,l,i])}import{useCallback as V,useEffect as Pt,useRef as bt,useSyncExternalStore as gt}from"react";function me(t){let e=S(),r=bt(null);Pt(()=>()=>$(e,t),[e,t]);let n=V(()=>{let i=e.read.getFieldState(t),a=j(i,r.current);return r.current=a,a},[e,t]),s=V(i=>e.observe.subscribeFieldState(t,()=>i()),[e,t]),o=gt(s,n,n),c=V(i=>e.write.setField(t,i),[e,t]),l=V(()=>e.write.blurField(t),[e,t]);return{fieldState:o,setValue:c,setBlur:l,store:e}}export{vt as a,S as b,Mt as c,me as d,jt as e,Wt as f,Gt as g,Zt as h,se as i};
|
|
2
|
+
//# sourceMappingURL=chunk-EYCJKAK3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/react/context.tsx","../src/react/use-bit-form.ts","../src/react/use-bit-array.ts","../src/react/use-bit-scope.ts","../src/react/use-bit-steps.ts","../src/react/use-bit-watch.ts","../src/react/use-bit-persist.ts","../src/react/use-bit-field-base.ts"],"sourcesContent":["import React, { createContext, useContext, useEffect, useMemo, useRef } from \"react\";\nimport type { BitFrameworkStoreApi, BitStoreApi } from \"../core\";\nimport { createFrameworkStoreAdapter } from \"../core\";\n\nconst BitContext = createContext<BitFrameworkStoreApi<any> | null>(null);\n\ninterface BitFormProviderProps<T extends object> {\n store: BitFrameworkStoreApi<T> | BitStoreApi<T>;\n children: React.ReactNode;\n}\n\ninterface BitFormProviderRuntimeProps {\n store: unknown;\n children: React.ReactNode;\n}\n\ntype BitFormProviderComponent = {\n <T extends object>(props: BitFormProviderProps<T>): React.ReactElement;\n (props: BitFormProviderRuntimeProps): React.ReactElement;\n};\n\nexport const BitFormProvider: BitFormProviderComponent = ({\n store,\n children,\n}: BitFormProviderRuntimeProps) => {\n const adapted = useMemo(() => createFrameworkStoreAdapter(store), [store]);\n const cleanupPendingRef = useRef(false);\n\n useEffect(() => {\n // On mount (including Strict Mode remount), cancel any pending cleanup.\n cleanupPendingRef.current = false;\n\n return () => {\n // On unmount, flag that cleanup is pending and defer to microtask.\n // React Strict Mode double-mounts (mount → unmount → mount)\n // synchronously. The remount resets cleanupPendingRef before the\n // microtask fires, so Strict Mode cycles are safely ignored.\n cleanupPendingRef.current = true;\n queueMicrotask(() => {\n if (cleanupPendingRef.current) {\n cleanupPendingRef.current = false;\n (adapted as any).feature?.cleanup?.();\n }\n });\n };\n }, [adapted]);\n\n return (\n <BitContext.Provider value={adapted}>\n {children}\n </BitContext.Provider>\n );\n};\n\nexport const useBitStore = <T extends object>() => {\n const store = useContext(BitContext);\n if (!store)\n throw new Error(\n \"BitForm hooks devem ser usados dentro de um BitFormProvider\",\n );\n return store as BitFrameworkStoreApi<T>;\n};\n","import {\n useCallback,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport {\n createFrameworkFormBinding,\n readFormMetaSnapshot,\n subscribeFormMetaSnapshot,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitFormResult } from \"./types\";\n\nexport function useBitForm<T extends object>(): UseBitFormResult<T> {\n const store = useBitStore<T>();\n\n const [submitError, setSubmitError] = useState<Error | null>(null);\n const [lastResponse, setLastResponse] = useState<unknown>(null);\n const lastMeta = useRef<ReturnType<typeof readFormMetaSnapshot<T>> | null>(\n null,\n );\n\n const subscribeMeta = useCallback(\n (cb: () => void) => subscribeFormMetaSnapshot(store, cb),\n [store],\n );\n const getMetaSnapshot = useCallback(() => {\n const nextMeta = readFormMetaSnapshot(store);\n\n if (\n lastMeta.current &&\n lastMeta.current.isValid === nextMeta.isValid &&\n lastMeta.current.isDirty === nextMeta.isDirty &&\n lastMeta.current.isSubmitting === nextMeta.isSubmitting\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const metaState = useSyncExternalStore(\n subscribeMeta,\n getMetaSnapshot,\n getMetaSnapshot,\n );\n\n const binding = useMemo(\n () =>\n createFrameworkFormBinding(store, {\n clearSubmissionState: () => {\n setSubmitError(null);\n setLastResponse(null);\n },\n setSubmissionResult: (result) => {\n setLastResponse(result);\n },\n setSubmissionError: (error) => {\n setSubmitError(error);\n },\n }),\n [store],\n );\n\n const { controller, actions } = binding;\n\n const submit = useCallback(controller.submit, [controller]);\n const onSubmit = useCallback(controller.onSubmit, [controller]);\n const reset = useCallback(controller.reset, [controller]);\n\n const getValues = useCallback(controller.getValues, [controller]);\n const getErrors = useCallback(controller.getErrors, [controller]);\n const getTouched = useCallback(controller.getTouched, [controller]);\n const getDirtyValues = useCallback(controller.getDirtyValues, [controller]);\n\n const meta = useMemo(\n () => ({\n ...metaState,\n submitError,\n lastResponse,\n }),\n [metaState, submitError, lastResponse],\n );\n\n return useMemo(\n () => ({\n // Metadata (grouped)\n meta,\n // Getters\n getValues,\n getErrors,\n getTouched,\n getDirtyValues,\n // Main actions (frequent use - flat)\n submit,\n onSubmit,\n reset,\n ...actions,\n }),\n [\n meta,\n getValues,\n getErrors,\n getTouched,\n getDirtyValues,\n submit,\n onSubmit,\n reset,\n actions,\n ],\n );\n}\n","import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useSyncExternalStore,\n} from \"react\";\nimport {\n BitArrayPath,\n cleanupRegisteredPrefix,\n createArrayBinding,\n valueEqual,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitArray<\n TForm extends object = any,\n P extends BitArrayPath<TForm> = BitArrayPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const controller = useMemo(\n () => createArrayBinding<TForm, P>(store, path),\n [store, path],\n );\n type ArraySnapshot = ReturnType<typeof controller.readItems>;\n const lastSnapshotRef = useRef<ArraySnapshot | null>(null);\n\n const getSnapshot = useCallback(() => {\n const next = controller.readItems();\n\n if (lastSnapshotRef.current && valueEqual(lastSnapshotRef.current, next)) {\n return lastSnapshotRef.current;\n }\n\n lastSnapshotRef.current = next;\n return next;\n }, [controller]);\n\n const subscribeArray = useCallback(\n (cb: () => void) => store.observe.subscribePath(path, () => cb()),\n [store, path],\n );\n\n const data = useSyncExternalStore(subscribeArray, getSnapshot, getSnapshot);\n\n const fields = useMemo(() => controller.getFields(data), [controller, data]);\n\n useEffect(() => {\n return () => {\n cleanupRegisteredPrefix(store, `${path as string}.`);\n };\n }, [store, path]);\n\n return useMemo(\n () => ({\n fields,\n length: data.length,\n append: controller.append,\n prepend: controller.prepend,\n insert: controller.insert,\n remove: controller.remove,\n move: controller.move,\n swap: controller.swap,\n replace: controller.replace,\n clear: controller.clear,\n }),\n [fields, data.length, controller],\n );\n}\n","import { useCallback, useMemo, useRef, useSyncExternalStore } from \"react\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { isScopeStatusEqual } from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport type { ScopeStatus, ValidateScopeResult };\n\nexport function useBitScope(scopeName: string) {\n const store = useBitStore();\n\n const lastStatus = useRef<ScopeStatus | null>(null);\n\n const getStatusSnapshot = useCallback(() => {\n const nextStatus = store.read.getScopeStatus(scopeName);\n\n if (\n lastStatus.current &&\n isScopeStatusEqual(lastStatus.current, nextStatus)\n ) {\n return lastStatus.current;\n }\n\n lastStatus.current = nextStatus;\n return nextStatus;\n }, [store, scopeName]);\n\n // Assina apenas os slices de estado relevantes para o escopo (errors e\n // isDirty), evitando execuções desnecessárias do getStatusSnapshot em\n // mudanças não relacionadas (isSubmitting, isValidating de outros campos…)\n const subscribe = useCallback(\n (cb: () => void) =>\n store.observe.subscribeScopeStatus(scopeName, () => cb()),\n [store, scopeName],\n );\n\n const status = useSyncExternalStore(\n subscribe,\n getStatusSnapshot,\n getStatusSnapshot,\n );\n\n const validate = useCallback(async (): Promise<ValidateScopeResult> => {\n const valid = await store.feature.validate({ scope: scopeName });\n const errors = store.read.getScopeErrors(scopeName);\n return { valid, errors };\n }, [store, scopeName]);\n\n const getErrors = useCallback(() => {\n return store.read.getScopeErrors(scopeName);\n }, [store, scopeName]);\n\n return useMemo(\n () => ({\n scopeName,\n status,\n errors: status.errors,\n validate,\n getErrors,\n isValid: !status.hasErrors,\n isDirty: status.isDirty,\n }),\n [scopeName, status, validate, getErrors],\n );\n}\n","import {\n useCallback,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ScopeStatus, ValidateScopeResult } from \"../core\";\nimport { isScopeStatusEqual } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitStepsResult } from \"./types\";\n\nexport function useBitSteps(scopeNames: string[]): UseBitStepsResult {\n if (scopeNames.length === 0) {\n throw new Error(\"useBitSteps: scopeNames must not be empty\");\n }\n const store = useBitStore();\n const [stepIndex, setStepIndex] = useState(0);\n\n const scope = scopeNames[stepIndex] ?? \"\";\n const lastStatus = useRef<ScopeStatus | null>(null);\n const scopeRef = useRef(scope);\n scopeRef.current = scope;\n const stepIndexRef = useRef(stepIndex);\n stepIndexRef.current = stepIndex;\n\n const getStatusSnapshot = useCallback(() => {\n const nextStatus = store.read.getScopeStatus(scope);\n\n if (\n lastStatus.current &&\n isScopeStatusEqual(lastStatus.current, nextStatus)\n ) {\n return lastStatus.current;\n }\n\n lastStatus.current = nextStatus;\n return nextStatus;\n }, [store, scope]);\n\n const status = useSyncExternalStore(\n useCallback(\n (cb: () => void) => store.observe.subscribeScopeStatus(scope, () => cb()),\n [store, scope],\n ),\n getStatusSnapshot,\n getStatusSnapshot,\n );\n\n const validate = useCallback(async (): Promise<ValidateScopeResult> => {\n const valid = await store.feature.validate({ scope });\n const errors = store.read.getScopeErrors(scope);\n return { valid, errors };\n }, [store, scope]);\n\n const getErrors = useCallback(() => {\n return store.read.getScopeErrors(scope);\n }, [store, scope]);\n\n const next = useCallback(async (): Promise<boolean> => {\n const capturedScope = scopeRef.current;\n const capturedStepIndex = stepIndexRef.current;\n const scopeFields = store.read.getScopeFields(capturedScope);\n\n if (store.feature.hasValidationsInProgress(scopeFields)) {\n return false;\n }\n\n const valid = await store.feature.validate({ scope: capturedScope });\n\n if (capturedStepIndex !== stepIndexRef.current) return false;\n\n if (valid) {\n setStepIndex((s) => Math.min(s + 1, scopeNames.length - 1));\n } else {\n const errors = store.read.getScopeErrors(capturedScope);\n const pathsWithErrors = Object.keys(errors);\n if (pathsWithErrors.length > 0) {\n store.write.markFieldsTouched(pathsWithErrors);\n }\n }\n return valid;\n }, [store, scopeNames.length]);\n\n const prev = useCallback(() => {\n setStepIndex((s) => Math.max(s - 1, 0));\n }, []);\n\n const goTo = useCallback(\n (stepNumber: number) => {\n setStepIndex(\n Math.max(0, Math.min(stepNumber - 1, scopeNames.length - 1)),\n );\n },\n [scopeNames.length],\n );\n\n const isFirst = stepIndex === 0;\n const isLast = stepIndex >= scopeNames.length - 1;\n\n return useMemo(\n () => ({\n step: stepIndex + 1,\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n errors: status.errors,\n isValid: !status.hasErrors,\n isDirty: status.isDirty,\n validate,\n getErrors,\n }),\n [\n stepIndex,\n scope,\n next,\n prev,\n goTo,\n isFirst,\n isLast,\n status,\n validate,\n getErrors,\n ],\n );\n}\n","import { useCallback, useSyncExternalStore, useRef } from \"react\";\nimport { useBitStore } from \"./context\";\nimport { getDeepValue, valueEqual, BitPath, BitPathValue } from \"../core\";\n\nexport function useBitWatch<\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P): BitPathValue<TForm, P> {\n const store = useBitStore<TForm>();\n const lastValue = useRef<BitPathValue<TForm, P> | null>(null);\n\n const getSnapshot = useCallback(() => {\n const value = getDeepValue(\n store.read.getState().values,\n path as string,\n ) as BitPathValue<TForm, P>;\n\n if (lastValue.current !== null && valueEqual(lastValue.current, value)) {\n return lastValue.current;\n }\n\n lastValue.current = value;\n return value;\n }, [store, path]);\n\n // Assina apenas o path monitorado → evita executar getSnapshot em toda\n // mudança de estado do store (blur, validation, outros campos, etc.)\n const subscribe = useCallback(\n (cb: () => void) => store.observe.subscribePath(path, () => cb()),\n [store, path],\n );\n\n return useSyncExternalStore(\n subscribe,\n getSnapshot,\n getSnapshot,\n ) as BitPathValue<TForm, P>;\n}\n","import { useCallback, useMemo, useSyncExternalStore, useRef } from \"react\";\nimport { readPersistMetaSnapshot, subscribePersistMetaSnapshot } from \"../core\";\nimport { useBitStore } from \"./context\";\nimport type { UseBitPersistResult } from \"./types\";\n\nexport function useBitPersist(): UseBitPersistResult {\n const store = useBitStore<any>();\n\n const subscribePersistMeta = useCallback(\n (cb: () => void) => subscribePersistMetaSnapshot(store, cb),\n [store],\n );\n\n const lastMeta = useRef<ReturnType<typeof readPersistMetaSnapshot> | null>(null);\n\n const getSnapshot = useCallback(() => {\n const nextMeta = readPersistMetaSnapshot(store);\n\n if (\n lastMeta.current &&\n lastMeta.current.isSaving === nextMeta.isSaving &&\n lastMeta.current.isRestoring === nextMeta.isRestoring &&\n lastMeta.current.error === nextMeta.error\n ) {\n return lastMeta.current;\n }\n\n lastMeta.current = nextMeta;\n return nextMeta;\n }, [store]);\n\n const persistMeta = useSyncExternalStore(\n subscribePersistMeta,\n getSnapshot,\n getSnapshot,\n );\n\n const restore = useCallback(async () => {\n return store.feature.restorePersisted();\n }, [store]);\n\n const save = useCallback(async () => {\n await store.feature.forceSave();\n }, [store]);\n\n const clear = useCallback(async () => {\n await store.feature.clearPersisted();\n }, [store]);\n\n const meta = useMemo(\n () => ({\n isSaving: persistMeta.isSaving,\n isRestoring: persistMeta.isRestoring,\n error: persistMeta.error,\n }),\n [persistMeta],\n );\n\n return useMemo(\n () => ({\n restore,\n save,\n clear,\n meta,\n }),\n [restore, save, clear, meta],\n );\n}\n","import { useCallback, useEffect, useRef, useSyncExternalStore } from \"react\";\nimport {\n BitFieldSnapshot,\n BitPath,\n BitPathValue,\n cleanupRegisteredField,\n createFieldStateSnapshot,\n} from \"../core\";\nimport { useBitStore } from \"./context\";\n\nexport function useBitFieldBase<\n _TValue = any,\n TForm extends object = any,\n P extends BitPath<TForm> = BitPath<TForm>,\n>(path: P) {\n const store = useBitStore<TForm>();\n const lastSnapshot = useRef<BitFieldSnapshot<BitPathValue<TForm, P>> | null>(\n null,\n );\n\n useEffect(() => {\n return () => cleanupRegisteredField(store, path as string);\n }, [store, path]);\n\n const getSnapshot = useCallback(() => {\n const nextState = store.read.getFieldState(path);\n const snapshot = createFieldStateSnapshot(nextState, lastSnapshot.current);\n lastSnapshot.current = snapshot;\n return snapshot;\n }, [store, path]);\n\n const subscribe = useCallback(\n (cb: () => void) => store.observe.subscribeFieldState(path, () => cb()),\n [store, path],\n );\n\n const fieldState = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n const setValue = useCallback(\n (val: BitPathValue<TForm, P>) => store.write.setField(path, val),\n [store, path],\n );\n\n const setBlur = useCallback(() => store.write.blurField(path), [store, path]);\n\n return { fieldState, setValue, setBlur, store };\n}\n"],"mappings":"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","names":["createContext","useContext","useEffect","useMemo","useRef","jsx","BitContext","createContext","BitFormProvider","store","children","adapted","useMemo","createFrameworkStoreAdapter","cleanupPendingRef","useRef","useEffect","useBitStore","useContext","useCallback","useMemo","useRef","useState","useSyncExternalStore","useBitForm","store","useBitStore","submitError","setSubmitError","useState","lastResponse","setLastResponse","lastMeta","useRef","subscribeMeta","useCallback","cb","subscribeFormMetaSnapshot","getMetaSnapshot","nextMeta","readFormMetaSnapshot","metaState","useSyncExternalStore","binding","useMemo","createFrameworkFormBinding","result","error","controller","actions","submit","onSubmit","reset","getValues","getErrors","getTouched","getDirtyValues","meta","useCallback","useEffect","useMemo","useRef","useSyncExternalStore","useBitArray","path","store","useBitStore","controller","useMemo","createArrayBinding","lastSnapshotRef","useRef","getSnapshot","useCallback","next","valueEqual","subscribeArray","cb","data","useSyncExternalStore","fields","useEffect","cleanupRegisteredPrefix","useCallback","useMemo","useRef","useSyncExternalStore","useBitScope","scopeName","store","useBitStore","lastStatus","useRef","getStatusSnapshot","useCallback","nextStatus","isScopeStatusEqual","subscribe","cb","status","useSyncExternalStore","validate","valid","errors","getErrors","useMemo","useCallback","useMemo","useRef","useState","useSyncExternalStore","useBitSteps","scopeNames","store","useBitStore","stepIndex","setStepIndex","useState","scope","lastStatus","useRef","scopeRef","stepIndexRef","getStatusSnapshot","useCallback","nextStatus","isScopeStatusEqual","status","useSyncExternalStore","cb","validate","valid","errors","getErrors","next","capturedScope","capturedStepIndex","scopeFields","s","pathsWithErrors","prev","goTo","stepNumber","isFirst","isLast","useMemo","useCallback","useSyncExternalStore","useRef","useBitWatch","path","store","useBitStore","lastValue","useRef","getSnapshot","useCallback","value","getDeepValue","valueEqual","subscribe","cb","useSyncExternalStore","useCallback","useMemo","useSyncExternalStore","useRef","useBitPersist","store","useBitStore","subscribePersistMeta","useCallback","cb","subscribePersistMetaSnapshot","lastMeta","useRef","getSnapshot","nextMeta","readPersistMetaSnapshot","persistMeta","useSyncExternalStore","restore","save","clear","meta","useMemo","useCallback","useEffect","useRef","useSyncExternalStore","useBitFieldBase","path","store","useBitStore","lastSnapshot","useRef","useEffect","cleanupRegisteredField","getSnapshot","useCallback","nextState","snapshot","createFieldStateSnapshot","subscribe","cb","fieldState","useSyncExternalStore","setValue","val","setBlur"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkQKGTVKBUcjs = require('./chunk-QKGTVKBU.cjs');var _chunkU6UFULNScjs = require('./chunk-U6UFULNS.cjs');function j(e){return{values:e.values,errors:e.errors,touched:e.touched,isValid:e.isValid,isDirty:e.isDirty,isSubmitting:e.isSubmitting,isValidating:e.isValidating,persist:e.persist}}function A(e){let t=e.getHistoryMetadata();return{...j(e.getState()),_meta:{canUndo:t.canUndo,canRedo:t.canRedo,totalSteps:t.historySize,currentIndex:t.historyIndex}}}function h(e){let t={};for(let[o,i]of Object.entries(e))try{t[o]=A(i)}catch(a){console.warn(`[bit-form] Failed to snapshot store "${o}":`,a)}return t}function O(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.getState=="function"&&typeof t.getHistoryMetadata=="function"}function x(e){if(!O(e))return!1;let t=e;return typeof t.undo=="function"&&typeof t.redo=="function"&&typeof t.reset=="function"}function k(e,t){let o=e[t];return x(o)?o:null}var b=null,E=50;function W(e,t=_chunkU6UFULNScjs.a){b&&(console.warn("[bit-form] Reiniciando ponte do DevTools (Fast Refresh detectado)."),b());let o=null,i=null,a,s=null,d,c=new Set,f=!1,p=0,g=3e4,S=n=>{if(_optionalChain([o, 'optionalAccess', _ => _.readyState])===WebSocket.OPEN)try{o.send(JSON.stringify(n))}catch(r){console.warn("[bit-form] Failed to serialize/send message:",r)}},w=()=>{if(c.size!==0)try{let n=h(Array.from(c).reduce((r,l)=>{let m=t.stores[l];return m&&(r[l]=m),r},{}));c.clear(),s=null,Object.keys(n).length>0&&S({type:"STATE_UPDATE",protocolVersion:1,payload:n})}catch(n){console.warn("[bit-form] Failed to create snapshot:",n),c.clear(),s=null}},I=()=>{s||(s=setTimeout(()=>{w()},E))},y=()=>{f=!1;try{o=new WebSocket(e)}catch(n){console.error("[bit-form] Failed to create WebSocket:",n);let l=Math.min(1e3*Math.pow(2,p),g)*(.5+Math.random()*.5);p++,f||(d=setTimeout(y,l));return}o.onopen=()=>{p=0,console.log("[bit-form] \u{1F50C} Conectado ao CLI DevTools via WebSocket."),S({type:"HELLO",protocolVersion:1,payload:{role:"server",protocolVersion:1}});let n=h(t.stores);Object.keys(n).length>0&&S({type:"STATE_UPDATE",protocolVersion:1,payload:n}),i=t.subscribe((r,l)=>{c.add(r),I()}),a=setInterval(()=>{S({type:"PING",protocolVersion:1})},3e4)},o.onmessage=n=>{try{let r=JSON.parse(n.data);if(_chunkQKGTVKBUcjs.c.call(void 0, r)){let{storeId:l,action:m}=r.payload,T=k(t.stores,l);if(!T)return;switch(m){case"undo":T.undo();break;case"redo":T.redo();break;case"reset":T.reset();break}}}catch(r){console.warn("[bit-form] Erro ao processar comando do CLI:",r)}},o.onerror=n=>{console.error("[bit-form] WebSocket error:",n)},o.onclose=()=>{if(i&&i(),a&&clearInterval(a),s&&(clearTimeout(s),s=null),c.clear(),f)console.log("[bit-form] Ponte antiga encerrada com sucesso.");else{console.log("[bit-form] Conex\xE3o perdida. Reconectando...");let r=Math.min(1e3*Math.pow(2,p),g)*(.5+Math.random()*.5);p++,d=setTimeout(y,r)}}};y();let v=!1,B=()=>{v||(v=!0,f=!0,d&&(clearTimeout(d),d=void 0),i&&i(),a&&clearInterval(a),s&&(clearTimeout(s),s=null),c.clear(),o&&(o.readyState===WebSocket.OPEN||o.readyState===WebSocket.CONNECTING)&&o.close(),b=null)};return b=B,B}exports.a = h; exports.b = k; exports.c = W;
|
|
2
|
+
//# sourceMappingURL=chunk-GBHOCY7E.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-GBHOCY7E.cjs","../src/devtools/store-snapshot.ts","../src/devtools/store-port.ts","../src/devtools/bridge.ts"],"names":["normalizeStoreState","state","createDevToolsStoreSnapshot","store","historyMeta","createDevToolsSnapshotMap","stores","snapshots","storeId","instance","e","isDevToolsReadableStore","value","candidate","isDevToolsActionableStore","getDevToolsActionableStore","activeBridgeCleanup","STATE_BATCH_INTERVAL_MS","setupRemoteBridge","url","bus","bitBus","socket","unsubscribeBus","heartbeatInterval","batchFlushTimeout","reconnectTimer","pendingStoreIds","isIntentionalDisconnect","retries","MAX_RETRY_DELAY","sendWhenOpen","message","flushPendingStoreUpdates","payload","acc","storeInstance","scheduleStoreFlush","connect","jitter","initialState","_newState","event","isDevToolsActionMessage","action","cleanedUp","cleanup"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-GBHOCY7E.cjs","sourcesContent":[null,"import type { BitBusStorePort, BitState } from \"../core\";\nimport type { DevToolsStoreSnapshot, DevToolsStoreSnapshots } from \"./protocol\";\n\nfunction normalizeStoreState<T extends object>(\n state: Readonly<BitState<T>>,\n): Omit<DevToolsStoreSnapshot, \"_meta\"> {\n return {\n values: state.values,\n errors: state.errors as Record<string, unknown>,\n touched: state.touched as Record<string, unknown>,\n isValid: state.isValid,\n isDirty: state.isDirty,\n isSubmitting: state.isSubmitting,\n isValidating: state.isValidating as Record<string, unknown>,\n persist: state.persist,\n };\n}\n\nexport function createDevToolsStoreSnapshot<T extends object>(store: {\n getState: () => Readonly<BitState<T>>;\n getHistoryMetadata: () => {\n canUndo: boolean;\n canRedo: boolean;\n historySize: number;\n historyIndex: number;\n };\n}): DevToolsStoreSnapshot {\n const historyMeta = store.getHistoryMetadata();\n\n return {\n ...normalizeStoreState(store.getState()),\n _meta: {\n canUndo: historyMeta.canUndo,\n canRedo: historyMeta.canRedo,\n totalSteps: historyMeta.historySize,\n currentIndex: historyMeta.historyIndex,\n },\n };\n}\n\nexport function createDevToolsSnapshotMap(\n stores: Record<string, BitBusStorePort<object>>,\n): DevToolsStoreSnapshots {\n const snapshots: DevToolsStoreSnapshots = {};\n\n for (const [storeId, instance] of Object.entries(stores)) {\n try {\n snapshots[storeId] = createDevToolsStoreSnapshot(instance);\n } catch (e) {\n console.warn(`[bit-form] Failed to snapshot store \"${storeId}\":`, e);\n }\n }\n\n return snapshots;\n}\n","import type { BitBusStorePort } from \"../core\";\n\nexport type BitDevToolsReadableStore<T extends object = object> =\n BitBusStorePort<T>;\n\nexport type BitDevToolsActionableStore<T extends object = object> =\n BitBusStorePort<T>;\n\nexport function isDevToolsReadableStore(\n value: unknown,\n): value is BitDevToolsReadableStore<object> {\n if (!value || typeof value !== \"object\") {\n return false;\n }\n\n const candidate = value as unknown as Record<string, unknown>;\n\n return (\n typeof candidate.getState === \"function\" &&\n typeof candidate.getHistoryMetadata === \"function\"\n );\n}\n\nexport function isDevToolsActionableStore(\n value: unknown,\n): value is BitDevToolsActionableStore<object> {\n if (!isDevToolsReadableStore(value)) {\n return false;\n }\n\n const candidate = value as unknown as Record<string, unknown>;\n\n return (\n typeof candidate.undo === \"function\" &&\n typeof candidate.redo === \"function\" &&\n typeof candidate.reset === \"function\"\n );\n}\n\nexport function getDevToolsActionableStore(\n stores: Record<string, unknown>,\n storeId: string,\n): BitDevToolsActionableStore<object> | null {\n const candidate = stores[storeId];\n return isDevToolsActionableStore(candidate) ? candidate : null;\n}\n","import { bitBus } from \"../core\";\nimport type { BitBus } from \"../core\";\nimport type { BitBusStorePort } from \"../core\";\nimport { DEVTOOLS_PROTOCOL_VERSION, isDevToolsActionMessage } from \"./protocol\";\nimport { createDevToolsSnapshotMap } from \"./store-snapshot\";\nimport { getDevToolsActionableStore } from \"./store-port\";\n\nlet activeBridgeCleanup: (() => void) | null = null;\nconst STATE_BATCH_INTERVAL_MS = 50;\n\nexport function setupRemoteBridge(url: string, bus: BitBus = bitBus) {\n if (activeBridgeCleanup) {\n console.warn(\n \"[bit-form] Reiniciando ponte do DevTools (Fast Refresh detectado).\",\n );\n activeBridgeCleanup();\n }\n\n let socket: WebSocket | null = null;\n let unsubscribeBus: (() => void) | null = null;\n let heartbeatInterval: ReturnType<typeof setInterval> | undefined;\n let batchFlushTimeout: ReturnType<typeof setTimeout> | null = null;\n let reconnectTimer: ReturnType<typeof setTimeout> | undefined;\n const pendingStoreIds = new Set<string>();\n let isIntentionalDisconnect = false;\n let retries = 0;\n const MAX_RETRY_DELAY = 30000;\n\n const sendWhenOpen = (message: Record<string, unknown>) => {\n if (socket?.readyState !== WebSocket.OPEN) {\n return;\n }\n\n try {\n socket.send(JSON.stringify(message));\n } catch (e) {\n console.warn(\"[bit-form] Failed to serialize/send message:\", e);\n }\n };\n\n const flushPendingStoreUpdates = () => {\n if (pendingStoreIds.size === 0) {\n return;\n }\n\n try {\n const payload = createDevToolsSnapshotMap(\n Array.from(pendingStoreIds).reduce<\n Record<string, BitBusStorePort<object>>\n >((acc, storeId) => {\n const storeInstance = bus.stores[storeId];\n if (storeInstance) {\n acc[storeId] = storeInstance;\n }\n return acc;\n }, {}),\n );\n\n pendingStoreIds.clear();\n batchFlushTimeout = null;\n\n if (Object.keys(payload).length > 0) {\n sendWhenOpen({\n type: \"STATE_UPDATE\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload,\n });\n }\n } catch (e) {\n console.warn(\"[bit-form] Failed to create snapshot:\", e);\n pendingStoreIds.clear();\n batchFlushTimeout = null;\n }\n };\n\n const scheduleStoreFlush = () => {\n if (batchFlushTimeout) {\n return;\n }\n\n batchFlushTimeout = setTimeout(() => {\n flushPendingStoreUpdates();\n }, STATE_BATCH_INTERVAL_MS);\n };\n\n const connect = () => {\n isIntentionalDisconnect = false;\n try {\n socket = new WebSocket(url);\n } catch (e) {\n console.error(\"[bit-form] Failed to create WebSocket:\", e);\n const delay = Math.min(1000 * Math.pow(2, retries), MAX_RETRY_DELAY);\n const jitter = delay * (0.5 + Math.random() * 0.5);\n retries++;\n if (!isIntentionalDisconnect) {\n reconnectTimer = setTimeout(connect, jitter);\n }\n return;\n }\n\n socket.onopen = () => {\n retries = 0;\n console.log(\"[bit-form] 🔌 Conectado ao CLI DevTools via WebSocket.\");\n\n sendWhenOpen({\n type: \"HELLO\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: { role: \"server\", protocolVersion: DEVTOOLS_PROTOCOL_VERSION },\n });\n\n const initialState = createDevToolsSnapshotMap(bus.stores);\n if (Object.keys(initialState).length > 0) {\n sendWhenOpen({\n type: \"STATE_UPDATE\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n payload: initialState,\n });\n }\n\n unsubscribeBus = bus.subscribe((storeId, _newState) => {\n pendingStoreIds.add(storeId);\n scheduleStoreFlush();\n });\n\n heartbeatInterval = setInterval(() => {\n sendWhenOpen({\n type: \"PING\",\n protocolVersion: DEVTOOLS_PROTOCOL_VERSION,\n });\n }, 30000);\n };\n\n socket.onmessage = (event) => {\n try {\n const message = JSON.parse(event.data) as unknown;\n\n if (isDevToolsActionMessage(message)) {\n const { storeId, action } = message.payload;\n const store = getDevToolsActionableStore(bus.stores, storeId);\n\n if (!store) {\n return;\n }\n\n switch (action) {\n case \"undo\":\n store.undo();\n break;\n case \"redo\":\n store.redo();\n break;\n case \"reset\":\n store.reset();\n break;\n }\n }\n } catch (e) {\n console.warn(\"[bit-form] Erro ao processar comando do CLI:\", e);\n }\n };\n\n socket.onerror = (event) => {\n console.error(\"[bit-form] WebSocket error:\", event);\n };\n\n socket.onclose = () => {\n if (unsubscribeBus) unsubscribeBus();\n if (heartbeatInterval) clearInterval(heartbeatInterval);\n if (batchFlushTimeout) {\n clearTimeout(batchFlushTimeout);\n batchFlushTimeout = null;\n }\n pendingStoreIds.clear();\n\n if (!isIntentionalDisconnect) {\n console.log(\"[bit-form] Conexão perdida. Reconectando...\");\n const delay = Math.min(1000 * Math.pow(2, retries), MAX_RETRY_DELAY);\n const jitter = delay * (0.5 + Math.random() * 0.5);\n retries++;\n reconnectTimer = setTimeout(connect, jitter);\n } else {\n console.log(\"[bit-form] Ponte antiga encerrada com sucesso.\");\n }\n };\n };\n\n connect();\n\n let cleanedUp = false;\n const cleanup = () => {\n if (cleanedUp) return;\n cleanedUp = true;\n isIntentionalDisconnect = true;\n if (reconnectTimer) {\n clearTimeout(reconnectTimer);\n reconnectTimer = undefined;\n }\n\n if (unsubscribeBus) unsubscribeBus();\n if (heartbeatInterval) clearInterval(heartbeatInterval);\n if (batchFlushTimeout) {\n clearTimeout(batchFlushTimeout);\n batchFlushTimeout = null;\n }\n pendingStoreIds.clear();\n if (\n socket &&\n (socket.readyState === WebSocket.OPEN ||\n socket.readyState === WebSocket.CONNECTING)\n ) {\n socket.close();\n }\n activeBridgeCleanup = null;\n };\n\n activeBridgeCleanup = cleanup;\n\n return cleanup;\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkOWDDAM6Ccjs = require('./chunk-OWDDAM6C.cjs');var _chunk725CMNAVcjs = require('./chunk-725CMNAV.cjs');function m(e){let t=e.read.getState();return{isValid:t.isValid,isDirty:t.isDirty,isSubmitting:t.isSubmitting}}function f(e,t){return e.observe.subscribeFormMeta(()=>t())}function g(e,t){return t(m(e)),f(e,()=>{t(m(e))})}function B(e){return e.read.getPersistMetadata()}function v(e,t){return e.observe.subscribePersistMeta(()=>t())}function x(e,t){return t(B(e)),e.observe.subscribePersistMeta(o=>{t(o)})}function w(e,t){let o=!1,a=r=>Array.isArray(r)?r:r==null?[]:((!(typeof process<"u")||process.env.NODE_ENV!=="production")&&!o&&(o=!0,console.warn(`[bit-form] createArrayBinding expected an array at path "${String(t)}" but received ${typeof r}. Returning an empty array.`)),[]),p=r=>e.feature.getArrayItemIds(t,r);return{readItems(){let r=_chunkOWDDAM6Ccjs.f.call(void 0, e.read.getState().values,t);return a(r)},getFields(r){let i=p(r.length);return r.map((n,s)=>({key:i[s]||`temp-${s}`,value:n,index:s}))},append(r){e.feature.pushItem(t,r)},prepend(r){e.feature.prependItem(t,r)},insert(r,i){e.feature.insertItem(t,r,i)},remove(r){e.feature.removeItem(t,r)},move(r,i){e.feature.moveItem(t,r,i)},swap(r,i){e.feature.swapItems(t,r,i)},replace(r){e.feature.replaceItems(t,r)},clear(){e.feature.clearItems(t)}}}function b(e,t,o){return{setValue:i=>{let n=o();e.setField(t,_chunk725CMNAVcjs.c.call(void 0, i,n))},setBlur:()=>e.blurField(t),displayValue:i=>_chunk725CMNAVcjs.b.call(void 0, i,o())}}function M(e,t){return{fieldController:b({setField(a,p){e.write.setField(a,p)},blurField(a){e.write.blurField(a)}},t,()=>e.feature.resolveMask(t))}}function F(e,t){_optionalChain([e, 'optionalAccess', _ => _.preventDefault, 'optionalCall', _2 => _2()]),_optionalChain([t, 'optionalAccess', _3 => _3.stopPropagation])&&_optionalChain([e, 'optionalAccess', _4 => _4.stopPropagation, 'optionalCall', _5 => _5()])}function y(e,t,o){return{submit:i=>async n=>{F(n,o),await e.submit(i)},onSubmit:i=>async n=>{F(n,o),t.setSubmissionError(null);let s,d=await e.submit(async(P,S)=>{s=await i(P,S)});if(d.status==="submitted"){t.setSubmissionResult(s),t.setSubmissionError(null);return}d.status==="failed"&&t.setSubmissionError(d.error instanceof Error?d.error:new Error(String(d.error)))},reset:()=>{e.reset(),t.clearSubmissionState()},getValues:()=>e.getState().values,getErrors:()=>e.getState().errors,getTouched:()=>e.getState().touched,getDirtyValues:()=>e.getDirtyValues()}}function T(e,t,o){let a={getState:e.read.getState.bind(e.read),getDirtyValues:e.read.getDirtyValues.bind(e.read),submit:e.write.submit.bind(e.write),reset:e.write.reset.bind(e.write),setServerErrors:e.write.setServerErrors.bind(e.write)};return{controller:y(a,t,o),actions:{setField:e.write.setField.bind(e.write),blurField:e.write.blurField.bind(e.write),setValues:e.write.setValues.bind(e.write),setError:e.write.setError.bind(e.write),setErrors:e.write.setErrors.bind(e.write),setServerErrors:e.write.setServerErrors.bind(e.write),validate:e.feature.validate.bind(e.feature),transaction:e.write.transaction.bind(e.write)}}}function A(e,t){_optionalChain([e, 'access', _6 => _6.feature, 'optionalAccess', _7 => _7.unregisterField, 'optionalCall', _8 => _8(t)])}function k(e,t){_optionalChain([e, 'access', _9 => _9.feature, 'optionalAccess', _10 => _10.unregisterPrefix, 'optionalCall', _11 => _11(t)])}exports.a = m; exports.b = f; exports.c = g; exports.d = B; exports.e = v; exports.f = x; exports.g = w; exports.h = M; exports.i = T; exports.j = A; exports.k = k;
|
|
2
|
+
//# sourceMappingURL=chunk-H27ROY4F.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/builds/kenji.ccp-group/bit-form/dist/chunk-H27ROY4F.cjs","../src/core/bindings/form-meta.ts","../src/core/bindings/persist-meta.ts","../src/core/bindings/array-controller.ts"],"names":["readFormMetaSnapshot","store","state","subscribeFormMetaSnapshot","listener","observeFormMetaSnapshot","readPersistMetaSnapshot","subscribePersistMetaSnapshot","observePersistMetaSnapshot","meta","createArrayBinding","path","warnedTypeMismatch","normalizeItems","value","getIds","length","getDeepValue","items","ids","item","index"],"mappings":"AAAA,qoBAAwC,wDAAgD,SCGxEA,CAAAA,CACdC,CAAAA,CACa,CACb,IAAMC,CAAAA,CAAQD,CAAAA,CAAM,IAAA,CAAK,QAAA,CAAS,CAAA,CAClC,MAAO,CACL,OAAA,CAASC,CAAAA,CAAM,OAAA,CACf,OAAA,CAASA,CAAAA,CAAM,OAAA,CACf,YAAA,CAAcA,CAAAA,CAAM,YACtB,CACF,CAEO,SAASC,CAAAA,CACdF,CAAAA,CACAG,CAAAA,CACY,CACZ,OAAOH,CAAAA,CAAM,OAAA,CAAQ,iBAAA,CAAkB,CAAA,CAAA,EAAMG,CAAAA,CAAS,CAAC,CACzD,CAEO,SAASC,CAAAA,CACdJ,CAAAA,CACAG,CAAAA,CACY,CACZ,OAAAA,CAAAA,CAASJ,CAAAA,CAAqBC,CAAK,CAAC,CAAA,CAE7BE,CAAAA,CAA0BF,CAAAA,CAAO,CAAA,CAAA,EAAM,CAC5CG,CAAAA,CAASJ,CAAAA,CAAqBC,CAAK,CAAC,CACtC,CAAC,CACH,CCjBO,SAASK,CAAAA,CAAwBL,CAAAA,CAIjB,CACrB,OAAOA,CAAAA,CAAM,IAAA,CAAK,kBAAA,CAAmB,CACvC,CAEO,SAASM,CAAAA,CACdN,CAAAA,CACAG,CAAAA,CACY,CACZ,OAAOH,CAAAA,CAAM,OAAA,CAAQ,oBAAA,CAAqB,CAAA,CAAA,EAAMG,CAAAA,CAAS,CAAC,CAC5D,CAEO,SAASI,CAAAA,CACdP,CAAAA,CACAG,CAAAA,CACY,CACZ,OAAAA,CAAAA,CAASE,CAAAA,CAAwBL,CAAK,CAAC,CAAA,CAEhCA,CAAAA,CAAM,OAAA,CAAQ,oBAAA,CAAsBQ,CAAAA,EAAS,CAClDL,CAAAA,CAASK,CAAI,CACf,CAAC,CACH,CC1BO,SAASC,CAAAA,CAGdT,CAAAA,CAA2BU,CAAAA,CAAoC,CAG/D,IAAIC,CAAAA,CAAqB,CAAA,CAAA,CAEnBC,CAAAA,CAAkBC,CAAAA,EAClB,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,CACdA,CAAAA,CAGLA,CAAAA,EAAS,IAAA,CACJ,CAAC,CAAA,CAAA,CAAA,CAIR,CAAA,CAAA,OAAO,OAAA,CAAY,GAAA,CAAA,EACf,OAAA,CAAQ,GAAA,CAAI,QAAA,GAAa,YAAA,CAAA,EAGlB,CAACF,CAAAA,EAAAA,CACZA,CAAAA,CAAqB,CAAA,CAAA,CACrB,OAAA,CAAQ,IAAA,CACN,CAAA,yDAAA,EAA4D,MAAA,CAC1DD,CACF,CAAC,CAAA,eAAA,EAAkB,OAAOG,CAAK,CAAA,2BAAA,CACjC,CAAA,CAAA,CAGK,CAAC,CAAA,CAAA,CAGJC,CAAAA,CAAUC,CAAAA,EACdf,CAAAA,CAAM,OAAA,CAAQ,eAAA,CAAgBU,CAAAA,CAAMK,CAAM,CAAA,CAE5C,MAAO,CACL,SAAA,CAAA,CAAY,CACV,IAAMF,CAAAA,CAAQG,iCAAAA,CACZhB,CAAM,IAAA,CAAK,QAAA,CAAS,CAAA,CAAE,MAAA,CACtBU,CACF,CAAA,CACA,OAAOE,CAAAA,CAAeC,CAAK,CAC7B,CAAA,CAEA,SAAA,CAAUI,CAAAA,CAAO,CACf,IAAMC,CAAAA,CAAMJ,CAAAA,CAAOG,CAAAA,CAAM,MAAM,CAAA,CAC/B,OAAOA,CAAAA,CAAM,GAAA,CAAI,CAACE,CAAAA,CAAMC,CAAAA,CAAAA,EAAAA,CAAW,CACjC,GAAA,CAAKF,CAAAA,CAAIE,CAAK,CAAA,EAAK,CAAA,KAAA,EAAQA,CAAK,CAAA,CAAA","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-H27ROY4F.cjs","sourcesContent":[null,"import type { BitFormMeta } from \"../store/contracts/public/meta-types\";\nimport type { BitStoreApi } from \"../store/contracts/public/store-api-types\";\n\nexport function readFormMetaSnapshot<T extends object>(\n store: BitStoreApi<T>,\n): BitFormMeta {\n const state = store.read.getState();\n return {\n isValid: state.isValid,\n isDirty: state.isDirty,\n isSubmitting: state.isSubmitting,\n };\n}\n\nexport function subscribeFormMetaSnapshot<T extends object>(\n store: BitStoreApi<T>,\n listener: () => void,\n): () => void {\n return store.observe.subscribeFormMeta(() => listener());\n}\n\nexport function observeFormMetaSnapshot<T extends object>(\n store: BitStoreApi<T>,\n listener: (meta: BitFormMeta) => void,\n): () => void {\n listener(readFormMetaSnapshot(store));\n\n return subscribeFormMetaSnapshot(store, () => {\n listener(readFormMetaSnapshot(store));\n });\n}\n","import type { BitPersistMetadata } from \"../store/contracts/types\";\n\ntype BitPersistMetaReadableStore = {\n read: {\n getPersistMetadata(): BitPersistMetadata;\n };\n observe: {\n subscribePersistMeta(\n listener: (meta: BitPersistMetadata) => void,\n ): () => void;\n };\n};\n\nexport function readPersistMetaSnapshot(store: {\n read: {\n getPersistMetadata(): BitPersistMetadata;\n };\n}): BitPersistMetadata {\n return store.read.getPersistMetadata();\n}\n\nexport function subscribePersistMetaSnapshot(\n store: BitPersistMetaReadableStore,\n listener: () => void,\n): () => void {\n return store.observe.subscribePersistMeta(() => listener());\n}\n\nexport function observePersistMetaSnapshot(\n store: BitPersistMetaReadableStore,\n listener: (meta: BitPersistMetadata) => void,\n): () => void {\n listener(readPersistMetaSnapshot(store));\n\n return store.observe.subscribePersistMeta((meta) => {\n listener(meta);\n });\n}\n","import type { BitStoreApi } from \"../store/contracts/public/store-api-types\";\nimport type {\n BitArrayItem,\n BitArrayPath,\n BitPathValue,\n} from \"../store/contracts/types\";\nimport type { BitArrayBinding, BitArrayBindingField } from \"../types/bindings\";\nimport { getDeepValue } from \"../utils\";\n\nexport type { BitArrayBinding, BitArrayBindingField };\n\nexport function createArrayBinding<\n TForm extends object,\n P extends BitArrayPath<TForm>,\n>(store: BitStoreApi<TForm>, path: P): BitArrayBinding<TForm, P> {\n type Item = BitArrayItem<BitPathValue<TForm, P>>;\n\n let warnedTypeMismatch = false;\n\n const normalizeItems = (value: unknown): Item[] => {\n if (Array.isArray(value)) {\n return value as Item[];\n }\n\n if (value == null) {\n return [];\n }\n\n const isDev =\n typeof process !== \"undefined\"\n ? process.env.NODE_ENV !== \"production\"\n : true;\n\n if (isDev && !warnedTypeMismatch) {\n warnedTypeMismatch = true;\n console.warn(\n `[bit-form] createArrayBinding expected an array at path \"${String(\n path,\n )}\" but received ${typeof value}. Returning an empty array.`,\n );\n }\n\n return [];\n };\n\n const getIds = (length: number) =>\n store.feature.getArrayItemIds(path, length);\n\n return {\n readItems() {\n const value = getDeepValue(\n store.read.getState().values,\n path as string,\n ) as BitPathValue<TForm, P> | undefined;\n return normalizeItems(value);\n },\n\n getFields(items) {\n const ids = getIds(items.length);\n return items.map((item, index) => ({\n key: ids[index] || `temp-${index}`,\n value: item,\n index,\n }));\n },\n\n append(value) {\n store.feature.pushItem(path, value);\n },\n\n prepend(value) {\n store.feature.prependItem(path, value);\n },\n\n insert(index, value) {\n store.feature.insertItem(path, index, value);\n },\n\n remove(index) {\n store.feature.removeItem(path, index);\n },\n\n move(from, to) {\n store.feature.moveItem(path, from, to);\n },\n\n swap(indexA, indexB) {\n store.feature.swapItems(path, indexA, indexB);\n },\n\n replace(items) {\n store.feature.replaceItems(path, items);\n },\n\n clear() {\n store.feature.clearItems(path);\n },\n };\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{f as c}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{f as c}from"./chunk-UBVVBVLS.js";import{b as l,c as u}from"./chunk-DGEGYNQL.js";function m(e){let t=e.read.getState();return{isValid:t.isValid,isDirty:t.isDirty,isSubmitting:t.isSubmitting}}function f(e,t){return e.observe.subscribeFormMeta(()=>t())}function g(e,t){return t(m(e)),f(e,()=>{t(m(e))})}function B(e){return e.read.getPersistMetadata()}function v(e,t){return e.observe.subscribePersistMeta(()=>t())}function x(e,t){return t(B(e)),e.observe.subscribePersistMeta(o=>{t(o)})}function w(e,t){let o=!1,a=r=>Array.isArray(r)?r:r==null?[]:((!(typeof process<"u")||process.env.NODE_ENV!=="production")&&!o&&(o=!0,console.warn(`[bit-form] createArrayBinding expected an array at path "${String(t)}" but received ${typeof r}. Returning an empty array.`)),[]),p=r=>e.feature.getArrayItemIds(t,r);return{readItems(){let r=c(e.read.getState().values,t);return a(r)},getFields(r){let i=p(r.length);return r.map((n,s)=>({key:i[s]||`temp-${s}`,value:n,index:s}))},append(r){e.feature.pushItem(t,r)},prepend(r){e.feature.prependItem(t,r)},insert(r,i){e.feature.insertItem(t,r,i)},remove(r){e.feature.removeItem(t,r)},move(r,i){e.feature.moveItem(t,r,i)},swap(r,i){e.feature.swapItems(t,r,i)},replace(r){e.feature.replaceItems(t,r)},clear(){e.feature.clearItems(t)}}}function b(e,t,o){return{setValue:i=>{let n=o();e.setField(t,u(i,n))},setBlur:()=>e.blurField(t),displayValue:i=>l(i,o())}}function M(e,t){return{fieldController:b({setField(a,p){e.write.setField(a,p)},blurField(a){e.write.blurField(a)}},t,()=>e.feature.resolveMask(t))}}function F(e,t){e?.preventDefault?.(),t?.stopPropagation&&e?.stopPropagation?.()}function y(e,t,o){return{submit:i=>async n=>{F(n,o),await e.submit(i)},onSubmit:i=>async n=>{F(n,o),t.setSubmissionError(null);let s,d=await e.submit(async(P,S)=>{s=await i(P,S)});if(d.status==="submitted"){t.setSubmissionResult(s),t.setSubmissionError(null);return}d.status==="failed"&&t.setSubmissionError(d.error instanceof Error?d.error:new Error(String(d.error)))},reset:()=>{e.reset(),t.clearSubmissionState()},getValues:()=>e.getState().values,getErrors:()=>e.getState().errors,getTouched:()=>e.getState().touched,getDirtyValues:()=>e.getDirtyValues()}}function T(e,t,o){let a={getState:e.read.getState.bind(e.read),getDirtyValues:e.read.getDirtyValues.bind(e.read),submit:e.write.submit.bind(e.write),reset:e.write.reset.bind(e.write),setServerErrors:e.write.setServerErrors.bind(e.write)};return{controller:y(a,t,o),actions:{setField:e.write.setField.bind(e.write),blurField:e.write.blurField.bind(e.write),setValues:e.write.setValues.bind(e.write),setError:e.write.setError.bind(e.write),setErrors:e.write.setErrors.bind(e.write),setServerErrors:e.write.setServerErrors.bind(e.write),validate:e.feature.validate.bind(e.feature),transaction:e.write.transaction.bind(e.write)}}}function A(e,t){e.feature?.unregisterField?.(t)}function k(e,t){e.feature?.unregisterPrefix?.(t)}export{m as a,f as b,g as c,B as d,v as e,x as f,w as g,M as h,T as i,A as j,k};
|
|
2
|
+
//# sourceMappingURL=chunk-L42NQRVD.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }function g(e,n=new WeakMap){if(e===null||typeof e!="object")return e;if(e instanceof Promise)return typeof console<"u"&&console.warn&&console.warn("BitStore: deepClone encountered a Promise value, which cannot be meaningfully cloned for form state."),e;if(e instanceof WeakMap||e instanceof WeakSet)return e;if(typeof structuredClone=="function")try{return structuredClone(e)}catch (e2){}if(n.has(e))return n.get(e);if(e instanceof Date){let t=new Date(e.getTime());return n.set(e,t),t}if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,n.set(e,t),t}if(e instanceof Map){let t=new Map;return n.set(e,t),e.forEach((c,o)=>{t.set(g(o,n),g(c,n))}),t}if(e instanceof Set){let t=new Set;return n.set(e,t),e.forEach(c=>{t.add(g(c,n))}),t}if(Array.isArray(e)){let t=[];n.set(e,t);for(let c=0;c<e.length;c++)c in e?t.push(g(e[c],n)):t.length+=1;return t}if(e instanceof DataView){let t=new DataView(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),0,e.byteLength);return n.set(e,t),t}if(ArrayBuffer.isView(e)){let t=new e.constructor(e);return n.set(e,t),t}if(e instanceof ArrayBuffer){let t=e.slice(0);return n.set(e,t),t}let s=Object.getPrototypeOf(e);if(!(s===Object.prototype||s===null)){let t=Object.create(s);n.set(e,t);for(let c of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,c);o&&("value"in o&&(o.value=g(o.value,n)),Object.defineProperty(t,c,o))}return t}let a={};n.set(e,a);for(let t of Reflect.ownKeys(e)){if(typeof t=="string"&&(t==="__proto__"||t==="constructor"))continue;let c=Object.getOwnPropertyDescriptor(e,t);c&&("value"in c?a[t]=g(e[t],n):Object.defineProperty(a,t,c))}return a}function A(e){return g(e)}function R(e,n,s=new WeakMap){if(n===void 0)return A(e);if(n===null||typeof n!="object"||n instanceof Date||n instanceof RegExp||Array.isArray(n))return A(n);let r=n;if(s.has(r))return s.get(r);let a=e&&typeof e=="object"&&!Array.isArray(e)?A(e):{};s.set(r,a);let t=new Set(["__proto__","constructor","prototype"]);try{for(let c of Object.keys(n)){if(t.has(c))continue;let o=n[c],f=a[c];if(o!==null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp)){a[c]=R(f,o,s);continue}a[c]=A(o)}}finally{s.delete(r)}return a}function d(e,n){return Number.isNaN(e)&&Number.isNaN(n)||e===n?!0:e===null||typeof e!="object"||n===null||typeof n!="object"?!1:T(e,n)}function T(e,n){return w(e,n,new WeakMap)}function K(e,n,s){if(e.size!==n.size)return!1;for(let[r,a]of e)if(!n.has(r)||!w(a,n.get(r),s))return!1;return!0}function D(e,n,s){if(e.size!==n.size)return!1;let r=[...e],a=[...n];for(let t of r){let c=!1;for(let o=0;o<a.length;o++)if(w(t,a[o],s)){c=!0;break}if(!c)return!1}return!0}function w(e,n,s){if(Number.isNaN(e)&&Number.isNaN(n)||e===n)return!0;if(e===null||typeof e!="object"||n===null||typeof n!="object")return!1;let r=s.get(e);if(_optionalChain([r, 'optionalAccess', _2 => _2.has, 'call', _3 => _3(n)]))return!0;if(r?r.add(n):s.set(e,new WeakSet([n])),Array.isArray(e)!==Array.isArray(n))return!1;if(e instanceof Map&&n instanceof Map)return K(e,n,s);if(e instanceof Set&&n instanceof Set)return D(e,n,s);if(e instanceof Date&&n instanceof Date){let f=e.getTime(),i=n.getTime();return Number.isNaN(f)&&Number.isNaN(i)?!0:f===i}if(e instanceof RegExp&&n instanceof RegExp)return e.toString()===n.toString();if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(n)){if(e.byteLength!==n.byteLength)return!1;let f=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);for(let u=0;u<f.length;u++)if(f[u]!==i[u])return!1;return!0}if(e instanceof ArrayBuffer&&n instanceof ArrayBuffer){if(e.byteLength!==n.byteLength)return!1;let f=new Uint8Array(e),i=new Uint8Array(n);for(let u=0;u<f.length;u++)if(f[u]!==i[u])return!1;return!0}let a,t;try{a=e.constructor}catch (e3){}try{t=n.constructor}catch (e4){}if(a!==null&&t!==null&&a!==t)return!1;let c=Object.keys(e),o=Object.keys(n);if(c.length!==o.length)return!1;for(let f of c)if(!Object.prototype.hasOwnProperty.call(n,f)||!w(e[f],n[f],s))return!1;return!0}function N(e,n,s,r){!d(e,n)&&s&&r.add(s)}function V(e,n,s="",r=new Set,a=new Map){if(d(e,n))return r;if(e===null||typeof e!="object"||n===null||typeof n!="object")return s&&r.add(s),r;let t=a.get(e);if(_optionalChain([t, 'optionalAccess', _4 => _4.has, 'call', _5 => _5(n)]))return r;t?t.add(n):a.set(e,new Set([n]));try{if(Array.isArray(e)||Array.isArray(n)||e instanceof Map&&n instanceof Map||e instanceof Set&&n instanceof Set)return!d(e,n)&&s&&r.add(s),r;if(e instanceof Date||n instanceof Date||ArrayBuffer.isView(e)||ArrayBuffer.isView(n))return N(e,n,s,r),r;let c=new Set;for(let o of Object.keys(e||{}))c.add(o);for(let o of Object.keys(n||{}))c.add(o);for(let o of c){let f=s?`${s}.${o}`:o;V(_optionalChain([e, 'optionalAccess', _6 => _6[o]]),_optionalChain([n, 'optionalAccess', _7 => _7[o]]),f,r,a)}return r}finally{let c=a.get(e);_optionalChain([c, 'optionalAccess', _8 => _8.delete, 'call', _9 => _9(n)]),c&&c.size===0&&a.delete(e)}}var p=new Map,b=new Set(["__proto__"]);function M(e,n){if(p.has(e))p.delete(e);else if(p.size>=5e3){let s=p.keys().next().value;s!==void 0&&p.delete(s)}p.set(e,n)}function k(e){let n=p.get(e);if(n)return n;let s=e.split(".").filter(r=>r.length>0);return M(e,s),s}function m(e){for(let n=0;n<e.length;n++){let s=e[n];if(b.has(s)||s==="constructor"&&e[n+1]==="prototype")return!0}return!1}function W(e,n){if(!n)return e;let s=k(n);if(m(s))return;let r=e;for(let a of s){if(r==null)return;r=r[a]}return r}function _(e,n,s){if(!n)return s;let r=k(n);if(m(r))return e;let a=Array.isArray(e)?[...e]:h(e),t=a;for(let c=0;c<r.length-1;c++){let o=r[c],f=r[c+1],i=Number(f),u=Number.isInteger(i)&&i>=0&&String(i)===f,y=t[o];y==null?t[o]=u?[]:{}:t[o]=Array.isArray(y)?[...y]:{...y},t=t[o]}return t[r[r.length-1]]=s,a}function h(e){if(Array.isArray(e))return[...e];if(typeof e=="function")return{...e};let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null?{...e}:Object.assign(Object.create(n),e)}function P(e,n){if(n.length===0)return e;let s=n.filter(([t])=>{let c=k(t);return!m(c)});if(s.length===0)return e;let r=Array.isArray(e)?[...e]:h(e),a=new WeakSet;r&&typeof r=="object"&&a.add(r);for(let[t,c]of s){let o=k(t),f=r;for(let i=0;i<o.length-1;i++){let u=o[i],y=o[i+1],S=Number(y),E=Number.isInteger(S)&&S>=0&&String(S)===y,l=f[u];if(l==null)f[u]=E?[]:{},a.add(f[u]);else if(typeof l=="object"||typeof l=="function")a.has(l)||(f[u]=Array.isArray(l)?[...l]:h(l),a.add(f[u]));else throw new Error(`BitStore: cannot set "${t}" \u2014 path segment "${o.slice(0,i+1).join(".")}" is a primitive value.`);f=f[u]}f[o[o.length-1]]=c}return r}function $(e,n){if(n.length===0)return e;let s=n.filter(t=>{if(!t)return!0;let c=k(t);return!m(c)});if(s.length===0)return e;let r=Array.isArray(e)?[...e]:h(e),a=new WeakSet;r&&typeof r=="object"&&a.add(r);for(let t of s){if(!t)continue;let c=k(t),o=r;for(let i=0;i<c.length-1;i++){let u=c[i],y=_optionalChain([o, 'optionalAccess', _10 => _10[u]]);if(y==null){o=void 0;break}if(typeof y=="object")a.has(y)||(o[u]=Array.isArray(y)?[...y]:h(y),a.add(o[u]));else{o=void 0;break}o=o[u]}if(!o)continue;let f=c[c.length-1];if(Array.isArray(o)){let i=Number(f);Number.isInteger(i)&&i>=0?o.splice(i,1):delete o[f]}else o&&typeof o=="object"&&delete o[f]}return r}function B(e,n){let s={},r=`${n}.`;for(let a of Object.keys(e))a!==n&&!a.startsWith(r)&&(s[a]=e[a]);return s}function C(e,n,s){let r={},a={},t={},c=`${n}.`;for(let o of Object.keys(e.errors)){let f=O(o,c,s);f&&(r[f]=e.errors[o])}for(let o of Object.keys(e.touched)){let f=O(o,c,s);f&&(a[f]=e.touched[o])}for(let o of Object.keys(e.isValidating)){let f=O(o,c,s);f&&(t[f]=e.isValidating[o])}return{errors:r,touched:a,isValidating:t}}function O(e,n,s){if(!e.startsWith(n))return e;let a=e.substring(n.length).split("."),t=Number(a[0]);if(!Number.isInteger(t)||t<0)return e;let c=s(t);if(c===null)return null;let o=a.slice(1).join(".");return o?`${n}${c}.${o}`:`${n}${c}`}function x(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=_nullishCoalesce(e.errors, () => (e));if(typeof n!="object"||n===null||Array.isArray(n))return!1;let s=Object.entries(n);return s.length===0?!1:s.every(([r,a])=>r.length>0&&(typeof a=="string"||Array.isArray(a)&&a.every(t=>typeof t=="string")||typeof a=="object"&&a!==null&&"message"in a&&typeof a.message=="string"))}function L(e){if(!x(e))return{};let s=_nullishCoalesce(e.errors, () => (e)),r={};for(let[a,t]of Object.entries(s))typeof t=="string"||Array.isArray(t)&&t.every(c=>typeof c=="string")?r[a]=t:typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"&&(r[a]=t.message);return r}exports.a = A; exports.b = R; exports.c = d; exports.d = T; exports.e = V; exports.f = W; exports.g = _; exports.h = P; exports.i = $; exports.j = B; exports.k = C; exports.l = O; exports.m = x; exports.n = L;
|
|
2
|
+
//# sourceMappingURL=chunk-OWDDAM6C.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/utils/clone.ts","../src/core/utils/structural.ts"],"names":["cloneValue","obj","visited","clone","value","key","i","prototype","descriptor","desc","deepClone","deepMerge","target","source","activeMerges","sourceObject","base","BLOCKED_KEYS","sourceValue","baseValue","valueEqual","a","b","deepEqual","deepEqualInner","deepEqualMap","visitedPairs","val","deepEqualSet","arrA","arrB","itemA","found","visitedTargets","aTime","bTime","viewA","viewB","bytesA","bytesB","aConstructor","bConstructor","keysA","keysB","collectDirtyScalar","initial","prefix","result","collectDirtyPaths","activePairs","activeInitials","allKeys","k","p"],"mappings":"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","file":"/builds/kenji.ccp-group/bit-form/dist/chunk-OWDDAM6C.cjs","sourcesContent":["export function cloneValue<T>(\n obj: T,\n visited: WeakMap<object, unknown> = new WeakMap(),\n): T {\n if (obj === null || typeof obj !== \"object\") {\n return obj;\n }\n\n if (obj instanceof Promise) {\n if (typeof console !== \"undefined\" && console.warn) {\n console.warn(\"BitStore: deepClone encountered a Promise value, which cannot be meaningfully cloned for form state.\");\n }\n return obj;\n }\n\n if (obj instanceof WeakMap || obj instanceof WeakSet) {\n return obj;\n }\n\n if (typeof structuredClone === \"function\") {\n try {\n return structuredClone(obj);\n } catch {\n }\n }\n\n if (visited.has(obj as object)) {\n return visited.get(obj as object) as T;\n }\n\n if (obj instanceof Date) {\n const clone = new Date(obj.getTime());\n visited.set(obj as object, clone);\n return clone as any as T;\n }\n\n if (obj instanceof RegExp) {\n const clone = new RegExp(obj.source, obj.flags);\n clone.lastIndex = obj.lastIndex;\n visited.set(obj as object, clone);\n return clone as any as T;\n }\n\n if (obj instanceof Map) {\n const clone = new Map<unknown, unknown>();\n visited.set(obj as object, clone);\n\n obj.forEach((value, key) => {\n clone.set(cloneValue(key, visited), cloneValue(value, visited));\n });\n\n return clone as T;\n }\n\n if (obj instanceof Set) {\n const clone = new Set<unknown>();\n visited.set(obj as object, clone);\n\n obj.forEach((value) => {\n clone.add(cloneValue(value, visited));\n });\n\n return clone as T;\n }\n\n if (Array.isArray(obj)) {\n const clone: unknown[] = [];\n visited.set(obj as object, clone);\n\n for (let i = 0; i < obj.length; i++) {\n if (i in obj) {\n clone.push(cloneValue(obj[i], visited));\n } else {\n clone.length += 1;\n }\n }\n\n return clone as T;\n }\n\n if (obj instanceof DataView) {\n const clone = new DataView(\n obj.buffer.slice(obj.byteOffset, obj.byteOffset + obj.byteLength),\n 0,\n obj.byteLength,\n );\n visited.set(obj as object, clone);\n return clone as any as T;\n }\n\n if (ArrayBuffer.isView(obj)) {\n const clone = new (obj.constructor as any)(obj);\n visited.set(obj as object, clone);\n return clone as T;\n }\n\n if (obj instanceof ArrayBuffer) {\n const clone = obj.slice(0);\n visited.set(obj as object, clone);\n return clone as T;\n }\n\n const prototype = Object.getPrototypeOf(obj);\n const isPlainObject = prototype === Object.prototype || prototype === null;\n\n if (!isPlainObject) {\n const clone = Object.create(prototype) as Record<PropertyKey, unknown>;\n visited.set(obj as object, clone);\n\n for (const key of Reflect.ownKeys(obj as object)) {\n const descriptor = Object.getOwnPropertyDescriptor(obj as object, key);\n if (!descriptor) {\n continue;\n }\n\n if (\"value\" in descriptor) {\n descriptor.value = cloneValue(descriptor.value, visited);\n }\n\n Object.defineProperty(clone, key, descriptor);\n }\n\n return clone as T;\n }\n\n const clone: any = {};\n visited.set(obj as object, clone);\n\n for (const key of Reflect.ownKeys(obj as object)) {\n if (\n typeof key === \"string\" &&\n (key === \"__proto__\" || key === \"constructor\")\n ) {\n continue;\n }\n const desc = Object.getOwnPropertyDescriptor(obj as object, key);\n if (desc) {\n if (\"value\" in desc) {\n clone[key] = cloneValue((obj as any)[key], visited);\n } else {\n Object.defineProperty(clone, key, desc);\n }\n }\n }\n\n return clone as T;\n}\n","import { cloneValue } from \"./clone\";\n\nexport function deepClone<T>(obj: T): T {\n return cloneValue(obj);\n}\n\nexport function deepMerge<T>(\n target: T,\n source: any,\n activeMerges: WeakMap<object, unknown> = new WeakMap(),\n): T {\n if (source === undefined) {\n return deepClone(target);\n }\n\n if (\n source === null ||\n typeof source !== \"object\" ||\n source instanceof Date ||\n source instanceof RegExp ||\n Array.isArray(source)\n ) {\n return deepClone(source as T);\n }\n\n const sourceObject = source as object;\n if (activeMerges.has(sourceObject)) {\n return activeMerges.get(sourceObject) as T;\n }\n\n const base =\n target && typeof target === \"object\" && !Array.isArray(target)\n ? deepClone(target as any)\n : ({} as Record<string, unknown>);\n\n activeMerges.set(sourceObject, base);\n\n const BLOCKED_KEYS = new Set([\"__proto__\", \"constructor\", \"prototype\"]);\n\n try {\n for (const key of Object.keys(source)) {\n if (BLOCKED_KEYS.has(key)) {\n continue;\n }\n\n const sourceValue = source[key];\n const baseValue = (base as Record<string, unknown>)[key];\n\n if (\n sourceValue !== null &&\n typeof sourceValue === \"object\" &&\n !Array.isArray(sourceValue) &&\n !(sourceValue instanceof Date) &&\n !(sourceValue instanceof RegExp)\n ) {\n (base as Record<string, unknown>)[key] = deepMerge(\n baseValue,\n sourceValue,\n activeMerges,\n );\n continue;\n }\n\n (base as Record<string, unknown>)[key] = deepClone(sourceValue);\n }\n } finally {\n activeMerges.delete(sourceObject);\n }\n\n return base as T;\n}\n\nexport function valueEqual(a: any, b: any): boolean {\n if (Number.isNaN(a) && Number.isNaN(b)) return true;\n if (a === b) return true;\n if (\n a === null ||\n typeof a !== \"object\" ||\n b === null ||\n typeof b !== \"object\"\n ) {\n return false;\n }\n return deepEqual(a, b);\n}\n\nexport function deepEqual(a: any, b: any): boolean {\n return deepEqualInner(a, b, new WeakMap());\n}\n\nfunction deepEqualMap<K, V>(a: Map<K, V>, b: Map<K, V>, visitedPairs: WeakMap<object, WeakSet<object>>): boolean {\n if (a.size !== b.size) return false;\n for (const [key, val] of a) {\n if (!b.has(key)) return false;\n if (!deepEqualInner(val, b.get(key), visitedPairs)) return false;\n }\n return true;\n}\n\nfunction deepEqualSet<T>(a: Set<T>, b: Set<T>, visitedPairs: WeakMap<object, WeakSet<object>>): boolean {\n if (a.size !== b.size) return false;\n const arrA = [...a];\n const arrB = [...b];\n for (const itemA of arrA) {\n let found = false;\n for (let i = 0; i < arrB.length; i++) {\n if (deepEqualInner(itemA, arrB[i], visitedPairs)) {\n found = true;\n break;\n }\n }\n if (!found) return false;\n }\n return true;\n}\n\nfunction deepEqualInner(\n a: any,\n b: any,\n visitedPairs: WeakMap<object, WeakSet<object>>,\n): boolean {\n if (Number.isNaN(a) && Number.isNaN(b)) return true;\n if (a === b) return true;\n if (\n a === null ||\n typeof a !== \"object\" ||\n b === null ||\n typeof b !== \"object\"\n ) {\n return false;\n }\n\n const visitedTargets = visitedPairs.get(a);\n if (visitedTargets?.has(b)) return true;\n\n if (visitedTargets) {\n visitedTargets.add(b);\n } else {\n visitedPairs.set(a, new WeakSet([b]));\n }\n\n if (Array.isArray(a) !== Array.isArray(b)) return false;\n\n if (a instanceof Map && b instanceof Map) return deepEqualMap(a, b, visitedPairs);\n if (a instanceof Set && b instanceof Set) return deepEqualSet(a, b, visitedPairs);\n\n if (a instanceof Date && b instanceof Date) {\n const aTime = a.getTime();\n const bTime = b.getTime();\n if (Number.isNaN(aTime) && Number.isNaN(bTime)) return true;\n return aTime === bTime;\n }\n if (a instanceof RegExp && b instanceof RegExp)\n return a.toString() === b.toString();\n\n if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n if (a.byteLength !== b.byteLength) return false;\n const viewA = new Uint8Array(a.buffer, a.byteOffset, a.byteLength);\n const viewB = new Uint8Array(b.buffer, b.byteOffset, b.byteLength);\n for (let i = 0; i < viewA.length; i++) {\n if (viewA[i] !== viewB[i]) return false;\n }\n return true;\n }\n\n if (a instanceof ArrayBuffer && b instanceof ArrayBuffer) {\n if (a.byteLength !== b.byteLength) return false;\n const bytesA = new Uint8Array(a);\n const bytesB = new Uint8Array(b);\n for (let i = 0; i < bytesA.length; i++) {\n if (bytesA[i] !== bytesB[i]) return false;\n }\n return true;\n }\n\n let aConstructor: unknown = undefined;\n let bConstructor: unknown = undefined;\n try { aConstructor = a.constructor; } catch { /* ignore */ }\n try { bConstructor = b.constructor; } catch { /* ignore */ }\n if (aConstructor !== null && bConstructor !== null && aConstructor !== bConstructor) return false;\n\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) return false;\n\n for (const key of keysA) {\n if (\n !Object.prototype.hasOwnProperty.call(b, key) ||\n !deepEqualInner(a[key], b[key], visitedPairs)\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction collectDirtyScalar(obj: any, initial: any, prefix: string, result: Set<string>): void {\n if (!valueEqual(obj, initial) && prefix) {\n result.add(prefix);\n }\n}\n\nexport function collectDirtyPaths(\n obj: any,\n initial: any,\n prefix = \"\",\n result: Set<string> = new Set(),\n activePairs: Map<object, Set<object>> = new Map(),\n): Set<string> {\n if (valueEqual(obj, initial)) return result;\n if (\n obj === null ||\n typeof obj !== \"object\" ||\n initial === null ||\n typeof initial !== \"object\"\n ) {\n if (prefix) result.add(prefix);\n return result;\n }\n\n const activeInitials = activePairs.get(obj as object);\n if (activeInitials?.has(initial as object)) {\n return result;\n }\n\n if (activeInitials) {\n activeInitials.add(initial as object);\n } else {\n activePairs.set(obj as object, new Set([initial as object]));\n }\n\n try {\n if (Array.isArray(obj) || Array.isArray(initial)) {\n if (!valueEqual(obj, initial) && prefix) result.add(prefix);\n return result;\n }\n\n if (obj instanceof Map && initial instanceof Map) {\n if (!valueEqual(obj, initial) && prefix) result.add(prefix);\n return result;\n }\n if (obj instanceof Set && initial instanceof Set) {\n if (!valueEqual(obj, initial) && prefix) result.add(prefix);\n return result;\n }\n if (obj instanceof Date || initial instanceof Date) {\n collectDirtyScalar(obj, initial, prefix, result);\n return result;\n }\n if (ArrayBuffer.isView(obj) || ArrayBuffer.isView(initial)) {\n collectDirtyScalar(obj, initial, prefix, result);\n return result;\n }\n\n const allKeys = new Set<string>();\n for (const key of Object.keys(obj || {})) {\n allKeys.add(key);\n }\n for (const key of Object.keys(initial || {})) {\n allKeys.add(key);\n }\n for (const k of allKeys) {\n const p = prefix ? `${prefix}.${k}` : k;\n collectDirtyPaths(\n (obj as any)?.[k],\n (initial as any)?.[k],\n p,\n result,\n activePairs,\n );\n }\n return result;\n } finally {\n const nextActiveInitials = activePairs.get(obj as object);\n nextActiveInitials?.delete(initial as object);\n\n if (nextActiveInitials && nextActiveInitials.size === 0) {\n activePairs.delete(obj as object);\n }\n }\n}\n"]}
|