cogsbox-state 0.5.460 → 0.5.462

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.
@@ -1 +1 @@
1
- {"version":3,"file":"TRPCValidationLink.d.ts","sourceRoot":"","sources":["../src/TRPCValidationLink.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7C,eAAO,MAAM,yBAAyB,GACpC,OAAO,SAAS,SAAS,EACzB,aAAa;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,WAGgC,QAAQ,CAAC,OAAO,CAuDhD,CAAC"}
1
+ {"version":3,"file":"TRPCValidationLink.d.ts","sourceRoot":"","sources":["../src/TRPCValidationLink.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7C,eAAO,MAAM,yBAAyB,GACpC,OAAO,SAAS,SAAS,EACzB,aAAa;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,WAEgC,QAAQ,CAAC,OAAO,CAuDhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TRPCValidationLink.js","sources":["../src/TRPCValidationLink.ts"],"sourcesContent":["//@ts-nocheck\r\nimport { observable } from '@trpc/server/observable';\r\nimport type { AnyRouter } from '@trpc/server';\r\nimport type { TRPCLink } from '@trpc/client';\r\nimport type { Operation } from '@trpc/client';\r\nimport type { TRPCClientError } from '@trpc/client';\r\nimport { getGlobalStore } from './store';\r\nimport type { Observer } from '@trpc/server/observable';\r\nexport const useCogsTrpcValidationLink = <\r\n TRouter extends AnyRouter,\r\n>(passedOpts?: {\r\n log?: boolean;\r\n}) => {\r\n const addValidationError = getGlobalStore.getState().addValidationError;\r\n\r\n const TrpcValidationLink = (): TRPCLink<TRouter> => {\r\n return (opts) => {\r\n return ({ next, op }: { next: any; op: Operation }) => {\r\n return observable(\r\n (observer: Observer<any, TRPCClientError<TRouter>>) => {\r\n const unsubscribe = next(op).subscribe({\r\n next(value: unknown) {\r\n observer.next(value);\r\n },\r\n error(err: TRPCClientError<TRouter>) {\r\n try {\r\n const errorObject = JSON.parse(err.message);\r\n if (passedOpts?.log) {\r\n console.log('errorObject', errorObject);\r\n }\r\n if (Array.isArray(errorObject)) {\r\n errorObject.forEach(\r\n (error: { path: string[]; message: string }) => {\r\n const fullpath = `${op.path}.${error.path.join('.')}`;\r\n // In your TRPC link\r\n if (passedOpts?.log) {\r\n console.log('fullpath 1', fullpath);\r\n }\r\n addValidationError(fullpath, error.message);\r\n }\r\n );\r\n } else if (\r\n typeof errorObject === 'object' &&\r\n errorObject !== null\r\n ) {\r\n Object.entries(errorObject).forEach(([key, value]) => {\r\n const fullpath = `${op.path}.${key}`;\r\n if (passedOpts?.log) {\r\n console.log('fullpath 2', fullpath);\r\n }\r\n addValidationError(fullpath, value as string);\r\n });\r\n }\r\n } catch (e) {\r\n // Silently handle parse errors\r\n }\r\n\r\n observer.error(err);\r\n },\r\n complete() {\r\n observer.complete();\r\n },\r\n });\r\n return unsubscribe;\r\n }\r\n );\r\n };\r\n };\r\n };\r\n return TrpcValidationLink;\r\n};\r\n"],"names":["useCogsTrpcValidationLink","passedOpts","addValidationError","getGlobalStore","opts","next","op","observable","observer","value","err","errorObject","error","fullpath","key"],"mappings":";;AAQO,MAAMA,IAA4B,CAEvCC,MAEI;AACJ,QAAMC,IAAqBC,EAAe,SAAA,EAAW;AAwDrD,SAtD2B,MAClB,CAACC,MACC,CAAC,EAAE,MAAAC,GAAM,IAAAC,QACPC;AAAA,IACL,CAACC,MACqBH,EAAKC,CAAE,EAAE,UAAU;AAAA,MACrC,KAAKG,GAAgB;AACnB,QAAAD,EAAS,KAAKC,CAAK;AAAA,MACrB;AAAA,MACA,MAAMC,GAA+B;AACnC,YAAI;AACF,gBAAMC,IAAc,KAAK,MAAMD,EAAI,OAAO;AAC1C,UAAIT,GAAY,OACd,QAAQ,IAAI,eAAeU,CAAW,GAEpC,MAAM,QAAQA,CAAW,IAC3BA,EAAY;AAAA,YACV,CAACC,MAA+C;AAC9C,oBAAMC,IAAW,GAAGP,EAAG,IAAI,IAAIM,EAAM,KAAK,KAAK,GAAG,CAAC;AAEnD,cAAIX,GAAY,OACd,QAAQ,IAAI,cAAcY,CAAQ,GAEpCX,EAAmBW,GAAUD,EAAM,OAAO;AAAA,YAC5C;AAAA,UAAA,IAGF,OAAOD,KAAgB,YACvBA,MAAgB,QAEhB,OAAO,QAAQA,CAAW,EAAE,QAAQ,CAAC,CAACG,GAAKL,CAAK,MAAM;AACpD,kBAAMI,IAAW,GAAGP,EAAG,IAAI,IAAIQ,CAAG;AAClC,YAAIb,GAAY,OACd,QAAQ,IAAI,cAAcY,CAAQ,GAEpCX,EAAmBW,GAAUJ,CAAe;AAAA,UAC9C,CAAC;AAAA,QAEL,QAAY;AAAA,QAEZ;AAEA,QAAAD,EAAS,MAAME,CAAG;AAAA,MACpB;AAAA,MACA,WAAW;AACT,QAAAF,EAAS,SAAA;AAAA,MACX;AAAA,IAAA,CACD;AAAA,EAEH;AAMV;"}
1
+ {"version":3,"file":"TRPCValidationLink.js","sources":["../src/TRPCValidationLink.ts"],"sourcesContent":["//@ts-nocheck\r\nimport { observable } from '@trpc/server/observable';\r\nimport type { AnyRouter } from '@trpc/server';\r\nimport type { TRPCLink } from '@trpc/client';\r\nimport type { Operation } from '@trpc/client';\r\nimport type { TRPCClientError } from '@trpc/client';\r\nimport { getGlobalStore } from './store';\r\nimport type { Observer } from '@trpc/server/observable';\r\nexport const useCogsTrpcValidationLink = <\r\n TRouter extends AnyRouter,\r\n>(passedOpts?: {\r\n log?: boolean;\r\n}) => {\r\n const addValidationError = getGlobalStore.getState().addValidationError;\r\n const TrpcValidationLink = (): TRPCLink<TRouter> => {\r\n return (opts) => {\r\n return ({ next, op }: { next: any; op: Operation }) => {\r\n return observable(\r\n (observer: Observer<any, TRPCClientError<TRouter>>) => {\r\n const unsubscribe = next(op).subscribe({\r\n next(value: unknown) {\r\n observer.next(value);\r\n },\r\n error(err: TRPCClientError<TRouter>) {\r\n try {\r\n const errorObject = JSON.parse(err.message);\r\n if (passedOpts?.log) {\r\n console.log('errorObject', errorObject);\r\n }\r\n if (Array.isArray(errorObject)) {\r\n errorObject.forEach(\r\n (error: { path: string[]; message: string }) => {\r\n const fullpath = `${op.path}.${error.path.join('.')}`;\r\n // In your TRPC link\r\n if (passedOpts?.log) {\r\n console.log('fullpath 1', fullpath);\r\n }\r\n addValidationError(fullpath, error.message);\r\n }\r\n );\r\n } else if (\r\n typeof errorObject === 'object' &&\r\n errorObject !== null\r\n ) {\r\n Object.entries(errorObject).forEach(([key, value]) => {\r\n const fullpath = `${op.path}.${key}`;\r\n if (passedOpts?.log) {\r\n console.log('fullpath 2', fullpath);\r\n }\r\n addValidationError(fullpath, value as string);\r\n });\r\n }\r\n } catch (e) {\r\n // Silently handle parse errors\r\n }\r\n\r\n observer.error(err);\r\n },\r\n complete() {\r\n observer.complete();\r\n },\r\n });\r\n return unsubscribe;\r\n }\r\n );\r\n };\r\n };\r\n };\r\n return TrpcValidationLink;\r\n};\r\n"],"names":["useCogsTrpcValidationLink","passedOpts","addValidationError","getGlobalStore","opts","next","op","observable","observer","value","err","errorObject","error","fullpath","key"],"mappings":";;AAQO,MAAMA,IAA4B,CAEvCC,MAEI;AACJ,QAAMC,IAAqBC,EAAe,SAAA,EAAW;AAuDrD,SAtD2B,MAClB,CAACC,MACC,CAAC,EAAE,MAAAC,GAAM,IAAAC,QACPC;AAAA,IACL,CAACC,MACqBH,EAAKC,CAAE,EAAE,UAAU;AAAA,MACrC,KAAKG,GAAgB;AACnB,QAAAD,EAAS,KAAKC,CAAK;AAAA,MACrB;AAAA,MACA,MAAMC,GAA+B;AACnC,YAAI;AACF,gBAAMC,IAAc,KAAK,MAAMD,EAAI,OAAO;AAC1C,UAAIT,GAAY,OACd,QAAQ,IAAI,eAAeU,CAAW,GAEpC,MAAM,QAAQA,CAAW,IAC3BA,EAAY;AAAA,YACV,CAACC,MAA+C;AAC9C,oBAAMC,IAAW,GAAGP,EAAG,IAAI,IAAIM,EAAM,KAAK,KAAK,GAAG,CAAC;AAEnD,cAAIX,GAAY,OACd,QAAQ,IAAI,cAAcY,CAAQ,GAEpCX,EAAmBW,GAAUD,EAAM,OAAO;AAAA,YAC5C;AAAA,UAAA,IAGF,OAAOD,KAAgB,YACvBA,MAAgB,QAEhB,OAAO,QAAQA,CAAW,EAAE,QAAQ,CAAC,CAACG,GAAKL,CAAK,MAAM;AACpD,kBAAMI,IAAW,GAAGP,EAAG,IAAI,IAAIQ,CAAG;AAClC,YAAIb,GAAY,OACd,QAAQ,IAAI,cAAcY,CAAQ,GAEpCX,EAAmBW,GAAUJ,CAAe;AAAA,UAC9C,CAAC;AAAA,QAEL,QAAY;AAAA,QAEZ;AAEA,QAAAD,EAAS,MAAME,CAAG;AAAA,MACpB;AAAA,MACA,WAAW;AACT,QAAAF,EAAS,SAAA;AAAA,MACX;AAAA,IAAA,CACD;AAAA,EAEH;AAMV;"}
package/dist/store.d.ts CHANGED
@@ -112,6 +112,9 @@ export type CogsEvent = {
112
112
  path: string;
113
113
  };
114
114
  export type CogsGlobalState = {
115
+ updateQueue: Set<() => void>;
116
+ isFlushScheduled: boolean;
117
+ flushUpdates: () => void;
115
118
  registerComponent: (stateKey: string, componentId: string, registration: any) => void;
116
119
  unregisterComponent: (stateKey: string, componentId: string) => void;
117
120
  addPathComponent: (stateKey: string, dependencyPath: string[], fullComponentId: string) => void;
@@ -152,11 +155,9 @@ export type CogsGlobalState = {
152
155
  timestamp: number;
153
156
  }>;
154
157
  setServerStateUpdate: (key: string, serverState: any) => void;
155
- stateLog: {
156
- [key: string]: UpdateTypeDetail[];
157
- };
158
+ stateLog: Map<string, Map<string, UpdateTypeDetail>>;
158
159
  syncInfoStore: Map<string, SyncInfo>;
159
- setStateLog: (key: string, updater: (prevUpdates: UpdateTypeDetail[]) => UpdateTypeDetail[]) => void;
160
+ addStateLog: (key: string, update: UpdateTypeDetail) => void;
160
161
  setSyncInfo: (key: string, syncInfo: SyncInfo) => void;
161
162
  getSyncInfo: (key: string) => SyncInfo | null;
162
163
  };
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EAEd,QAAQ,EACR,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMxD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAKF,KAAK,UAAU,GAAG,GAAG,CAAC;AAEtB,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACjE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC7D,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,qBAAqB,EAAE,CACrB,QAAQ,EAAE,MAAM,KACb,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,YAAY,gFAiCtB,CAAC;AACJ,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,GAAG,CACd,MAAM,EACN;QACE,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;QACjB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;QAC5C,YAAY,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC;KACjD,CACF,CAAC;CACH,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,cAAc,CAAC;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,GAAG,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,YAAY,CAAC,EAAE,KAAK,CAAC;QAEnB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG,EAAE,CAAC;KACb,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,KAAK,EAAE,CACL,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,MAAM,EAEb,WAAW,EAAE,GAAG,KACb,SAAS,CAAC;QACf,YAAY,EAAE,cAAc,GAAG,IAAI,CAAC;QACpC,iBAAiB,EAAE,GAAG,CAAC;KACxB,CAAC,CAAC;IACH,eAAe,CAAC,EAAE,GAAG,CACnB,MAAM,EACN;QACE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;YAAC,EAAE,EAAE,QAAQ,CAAA;SAAE,CAAC,CAAC;KAC9D,CACF,CAAC;IACF,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,GAAG,CACX,MAAM,EACN;QACE,MAAM,EAAE,GAAG,EAAE,CAAC;QACd,UAAU,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;KACnC,CACF,CAAC;CACH,GAAG,cAAc,CAAC;AAEnB,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,OAAO,GACP,YAAY,GACZ,cAAc,GACd,mBAAmB,GACnB,oBAAoB,GACpB,SAAS,GACT,QAAQ,GACR,aAAa,CAAC;AAElB,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,GAAG,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACrC,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAE1B,YAAY,EAAE,MAAM,IAAI,CAAC;IAGzB,iBAAiB,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,GAAG,KACd,IAAI,CAAC;IACV,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,gBAAgB,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EAAE,EACxB,eAAe,EAAE,MAAM,KACpB,IAAI,CAAC;IACV,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAE9C,WAAW,EAAE,CACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,KACzB,IAAI,CAAC;IAEV,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,IAAI,CAAC;IAChE,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IACzE,wBAAwB,EAAE,CACxB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,GAAG,KACT,IAAI,CAAC;IACV,wBAAwB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrE,cAAc,EAAE,CACd,GAAG,EAAE,MAAM,EAEX,aAAa,CAAC,EAAE,MAAM,EAAE,KACrB,GAAG,CAAC;IAET,iBAAiB,EAAE,CACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,KACX,cAAc,GAAG,SAAS,CAAC;IAChC,iBAAiB,EAAE,CACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KACjC,IAAI,CAAC;IACV,iBAAiB,EAAE,CACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,KACX,IAAI,CAAC;IAEV,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC;IAC3D,eAAe,EAAE,CACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,KAC9B,MAAM,IAAI,CAAC;IAChB,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IAEpE,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IACzE,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,kBAAkB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjE,4BAA4B,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAIzD,mBAAmB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,CAAC;IAEpD,kBAAkB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAElD,wBAAwB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAC;IAEtE,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC5D,sBAAsB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAMlE,kBAAkB,EAAE,GAAG,CACrB,MAAM,EACN;QACE,IAAI,EAAE,GAAG,CAAC;QACV,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;QACxC,SAAS,EAAE,MAAM,CAAC;KACnB,CACF,CAAC;IAEF,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,IAAI,CAAC;IAE9D,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACrD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAE7D,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC;CAC/C,CAAC;AA0BF,eAAO,MAAM,cAAc,8EAonBxB,CAAC"}
package/dist/store.js CHANGED
@@ -1,34 +1,45 @@
1
- import { create as u } from "zustand";
1
+ import { create as b } from "zustand";
2
2
  import { ulid as m } from "ulid";
3
- const A = u((a, f) => ({
3
+ import { startTransition as E } from "react";
4
+ const O = b((i, f) => ({
4
5
  formRefs: /* @__PURE__ */ new Map(),
5
- registerFormRef: (t, n) => a((o) => {
6
- const e = new Map(o.formRefs);
7
- return e.set(t, n), { formRefs: e };
6
+ registerFormRef: (e, n) => i((o) => {
7
+ const t = new Map(o.formRefs);
8
+ return t.set(e, n), { formRefs: t };
8
9
  }),
9
- getFormRef: (t) => f().formRefs.get(t),
10
- removeFormRef: (t) => a((n) => {
10
+ getFormRef: (e) => f().formRefs.get(e),
11
+ removeFormRef: (e) => i((n) => {
11
12
  const o = new Map(n.formRefs);
12
- return o.delete(t), { formRefs: o };
13
+ return o.delete(e), { formRefs: o };
13
14
  }),
14
15
  // Get all refs that start with the stateKey prefix
15
- getFormRefsByStateKey: (t) => {
16
- const n = f().formRefs, o = t + ".", e = /* @__PURE__ */ new Map();
17
- return n.forEach((s, r) => {
18
- (r.startsWith(o) || r === t) && e.set(r, s);
19
- }), e;
16
+ getFormRefsByStateKey: (e) => {
17
+ const n = f().formRefs, o = e + ".", t = /* @__PURE__ */ new Map();
18
+ return n.forEach((s, a) => {
19
+ (a.startsWith(o) || a === e) && t.set(a, s);
20
+ }), t;
20
21
  }
21
- })), b = (a) => a === null || typeof a != "object" || a instanceof Uint8Array || a instanceof Int8Array || a instanceof Uint16Array || a instanceof Int16Array || a instanceof Uint32Array || a instanceof Int32Array || a instanceof Float32Array || a instanceof Float64Array || a instanceof ArrayBuffer || a instanceof Date || a instanceof RegExp || a instanceof Map || a instanceof Set ? !1 : Array.isArray(a) || a.constructor === Object, E = u((a, f) => ({
22
- addPathComponent: (t, n, o) => {
23
- a((e) => {
24
- const s = new Map(e.shadowStateStore), r = [t, ...n].join("."), i = s.get(r) || {}, S = new Set(i.pathComponents);
25
- S.add(o), s.set(r, { ...i, pathComponents: S });
26
- const c = s.get(t) || {}, p = c.components?.get(o);
22
+ })), u = (i) => i === null || typeof i != "object" || i instanceof Uint8Array || i instanceof Int8Array || i instanceof Uint16Array || i instanceof Int16Array || i instanceof Uint32Array || i instanceof Int32Array || i instanceof Float32Array || i instanceof Float64Array || i instanceof ArrayBuffer || i instanceof Date || i instanceof RegExp || i instanceof Map || i instanceof Set ? !1 : Array.isArray(i) || i.constructor === Object, g = b((i, f) => ({
23
+ updateQueue: /* @__PURE__ */ new Set(),
24
+ // A flag to ensure we only schedule the flush once per event-loop tick.
25
+ isFlushScheduled: !1,
26
+ // This function is called by queueMicrotask to execute all queued updates.
27
+ flushUpdates: () => {
28
+ const { updateQueue: e } = f();
29
+ e.size > 0 && E(() => {
30
+ e.forEach((n) => n());
31
+ }), i({ updateQueue: /* @__PURE__ */ new Set(), isFlushScheduled: !1 });
32
+ },
33
+ addPathComponent: (e, n, o) => {
34
+ i((t) => {
35
+ const s = new Map(t.shadowStateStore), a = [e, ...n].join("."), r = s.get(a) || {}, S = new Set(r.pathComponents);
36
+ S.add(o), s.set(a, { ...r, pathComponents: S });
37
+ const c = s.get(e) || {}, p = c.components?.get(o);
27
38
  if (p) {
28
39
  const d = new Set(p.paths);
29
- d.add(r);
40
+ d.add(a);
30
41
  const h = { ...p, paths: d }, w = new Map(c.components);
31
- w.set(o, h), s.set(t, {
42
+ w.set(o, h), s.set(e, {
32
43
  ...c,
33
44
  components: w
34
45
  });
@@ -36,120 +47,128 @@ const A = u((a, f) => ({
36
47
  return { shadowStateStore: s };
37
48
  });
38
49
  },
39
- registerComponent: (t, n, o) => {
40
- a((e) => {
41
- const s = new Map(e.shadowStateStore), r = s.get(t) || {}, i = new Map(r.components);
42
- return i.set(n, o), s.set(t, { ...r, components: i }), { shadowStateStore: s };
50
+ registerComponent: (e, n, o) => {
51
+ i((t) => {
52
+ const s = new Map(t.shadowStateStore), a = s.get(e) || {}, r = new Map(a.components);
53
+ return r.set(n, o), s.set(e, { ...a, components: r }), { shadowStateStore: s };
43
54
  });
44
55
  },
45
- unregisterComponent: (t, n) => {
46
- a((o) => {
47
- const e = new Map(o.shadowStateStore), s = e.get(t);
56
+ unregisterComponent: (e, n) => {
57
+ i((o) => {
58
+ const t = new Map(o.shadowStateStore), s = t.get(e);
48
59
  if (!s?.components)
49
60
  return o;
50
- const r = new Map(s.components);
51
- return r.delete(n) ? (e.set(t, { ...s, components: r }), { shadowStateStore: e }) : o;
61
+ const a = new Map(s.components);
62
+ return a.delete(n) ? (t.set(e, { ...s, components: a }), { shadowStateStore: t }) : o;
52
63
  });
53
64
  },
54
- markAsDirty: (t, n, o = { bubble: !0 }) => {
55
- const e = new Map(f().shadowStateStore);
65
+ markAsDirty: (e, n, o = { bubble: !0 }) => {
66
+ const t = new Map(f().shadowStateStore);
56
67
  let s = !1;
57
- const r = (i) => {
58
- const S = [t, ...i].join("."), c = e.get(S);
59
- c && c.isDirty !== !0 ? (e.set(S, { ...c, isDirty: !0 }), s = !0) : c || (e.set(S, { isDirty: !0 }), s = !0);
68
+ const a = (r) => {
69
+ const S = [e, ...r].join("."), c = t.get(S);
70
+ c && c.isDirty !== !0 ? (t.set(S, { ...c, isDirty: !0 }), s = !0) : c || (t.set(S, { isDirty: !0 }), s = !0);
60
71
  };
61
- if (r(n), o.bubble) {
62
- let i = [...n];
63
- for (; i.length > 0; )
64
- i.pop(), r(i);
72
+ if (a(n), o.bubble) {
73
+ let r = [...n];
74
+ for (; r.length > 0; )
75
+ r.pop(), a(r);
65
76
  }
66
- s && a({ shadowStateStore: e });
77
+ s && i({ shadowStateStore: t });
67
78
  },
68
79
  serverStateUpdates: /* @__PURE__ */ new Map(),
69
- setServerStateUpdate: (t, n) => {
70
- a((o) => {
71
- const e = new Map(o.serverStateUpdates);
72
- return e.set(t, n), { serverStateUpdates: e };
73
- }), f().notifyPathSubscribers(t, {
80
+ setServerStateUpdate: (e, n) => {
81
+ i((o) => {
82
+ const t = new Map(o.serverStateUpdates);
83
+ return t.set(e, n), { serverStateUpdates: t };
84
+ }), f().notifyPathSubscribers(e, {
74
85
  type: "SERVER_STATE_UPDATE",
75
86
  serverState: n
76
87
  });
77
88
  },
78
89
  shadowStateStore: /* @__PURE__ */ new Map(),
90
+ getShadowNode: (e) => f().shadowStateStore.get(e),
79
91
  pathSubscribers: /* @__PURE__ */ new Map(),
80
- subscribeToPath: (t, n) => {
81
- const o = f().pathSubscribers, e = o.get(t) || /* @__PURE__ */ new Set();
82
- return e.add(n), o.set(t, e), () => {
83
- const s = f().pathSubscribers.get(t);
84
- s && (s.delete(n), s.size === 0 && f().pathSubscribers.delete(t));
92
+ subscribeToPath: (e, n) => {
93
+ const o = f().pathSubscribers, t = o.get(e) || /* @__PURE__ */ new Set();
94
+ return t.add(n), o.set(e, t), () => {
95
+ const s = f().pathSubscribers.get(e);
96
+ s && (s.delete(n), s.size === 0 && f().pathSubscribers.delete(e));
85
97
  };
86
98
  },
87
- notifyPathSubscribers: (t, n) => {
88
- const e = f().pathSubscribers.get(t);
89
- e && e.forEach((s) => s(n));
99
+ notifyPathSubscribers: (e, n) => {
100
+ const t = f().pathSubscribers.get(e);
101
+ t && t.forEach((s) => s(n));
90
102
  },
91
- initializeShadowState: (t, n) => {
92
- a((o) => {
93
- const e = new Map(o.shadowStateStore), r = e.get(t)?.components, i = t + ".";
94
- for (const c of Array.from(e.keys()))
95
- (c === t || c.startsWith(i)) && e.delete(c);
103
+ initializeShadowState: (e, n) => {
104
+ i((o) => {
105
+ const t = new Map(o.shadowStateStore), a = t.get(e)?.components, r = e + ".";
106
+ for (const c of Array.from(t.keys()))
107
+ (c === e || c.startsWith(r)) && t.delete(c);
96
108
  const S = (c, p) => {
97
- const d = [t, ...p].join(".");
109
+ const d = [e, ...p].join(".");
98
110
  if (Array.isArray(c)) {
99
111
  const h = [];
100
112
  c.forEach(() => {
101
113
  const w = `id:${m()}`;
102
114
  h.push(d + "." + w);
103
- }), e.set(d, { arrayKeys: h }), c.forEach((w, y) => {
115
+ }), t.set(d, { arrayKeys: h }), c.forEach((w, y) => {
104
116
  const l = h[y].split(".").pop();
105
117
  S(w, [...p, l]);
106
118
  });
107
- } else if (b(c)) {
119
+ } else if (u(c)) {
108
120
  const h = Object.fromEntries(
109
121
  Object.keys(c).map((w) => [w, d + "." + w])
110
122
  );
111
- e.set(d, { fields: h }), Object.keys(c).forEach((w) => {
123
+ t.set(d, { fields: h }), Object.keys(c).forEach((w) => {
112
124
  S(c[w], [...p, w]);
113
125
  });
114
126
  } else
115
- e.set(d, { value: c });
127
+ t.set(d, { value: c });
116
128
  };
117
- if (S(n, []), r) {
118
- const c = e.get(t) || {};
119
- e.set(t, {
129
+ if (S(n, []), a) {
130
+ const c = t.get(e) || {};
131
+ t.set(e, {
120
132
  ...c,
121
- components: r
133
+ components: a
122
134
  });
123
135
  }
124
- return { shadowStateStore: e };
136
+ return { shadowStateStore: t };
125
137
  });
126
138
  },
127
- getShadowValue: (t, n) => {
128
- const o = f().shadowStateStore.get(t);
129
- if (o) {
130
- if (o.value !== void 0)
131
- return o.value;
132
- if (o.arrayKeys)
133
- return (n ?? o.arrayKeys).map((r) => f().getShadowValue(r));
134
- if (o.fields) {
135
- const e = {};
136
- return Object.entries(o.fields).forEach(([s, r]) => {
137
- e[s] = f().getShadowValue(r);
138
- }), e;
139
- }
140
- }
139
+ getShadowValue: (e, n) => {
140
+ const o = /* @__PURE__ */ new Map(), t = (s, a) => {
141
+ if (o.has(s))
142
+ return o.get(s);
143
+ const r = f().shadowStateStore.get(s);
144
+ if (!r)
145
+ return;
146
+ if (r.value !== void 0)
147
+ return r.value;
148
+ let S;
149
+ if (r.arrayKeys) {
150
+ const c = a ?? r.arrayKeys;
151
+ S = [], o.set(s, S), c.forEach((p) => {
152
+ S.push(t(p));
153
+ });
154
+ } else r.fields ? (S = {}, o.set(s, S), Object.entries(r.fields).forEach(([c, p]) => {
155
+ S[c] = t(p);
156
+ })) : S = void 0;
157
+ return S;
158
+ };
159
+ return t(e, n);
141
160
  },
142
- getShadowMetadata: (t, n, o) => {
143
- const e = [t, ...n].join(".");
144
- return f().shadowStateStore.get(e), f().shadowStateStore.get(e);
161
+ getShadowMetadata: (e, n, o) => {
162
+ const t = [e, ...n].join(".");
163
+ return f().shadowStateStore.get(t), f().shadowStateStore.get(t);
145
164
  },
146
- setShadowMetadata: (t, n, o) => {
147
- const e = [t, ...n].join("."), s = f().shadowStateStore.get(e);
165
+ setShadowMetadata: (e, n, o) => {
166
+ const t = [e, ...n].join("."), s = f().shadowStateStore.get(t);
148
167
  s?.components && !o.components && (console.group(
149
168
  "%c🚨 RACE CONDITION DETECTED! 🚨",
150
169
  "color: red; font-size: 18px; font-weight: bold;"
151
170
  ), console.error(
152
- `An overwrite is about to happen on stateKey: "${t}" at path: [${n.join(", ")}]`
171
+ `An overwrite is about to happen on stateKey: "${e}" at path: [${n.join(", ")}]`
153
172
  ), console.log(
154
173
  "The EXISTING metadata had a components map:",
155
174
  s.components
@@ -160,103 +179,103 @@ const A = u((a, f) => ({
160
179
  "%cStack trace to the function that caused this overwrite:",
161
180
  "font-weight: bold;"
162
181
  ), console.trace(), console.groupEnd());
163
- const r = new Map(f().shadowStateStore), i = { ...s || {}, ...o };
164
- r.set(e, i), a({ shadowStateStore: r });
182
+ const a = new Map(f().shadowStateStore), r = { ...s || {}, ...o };
183
+ a.set(t, r), i({ shadowStateStore: a });
165
184
  },
166
- setTransformCache: (t, n, o, e) => {
167
- const s = [t, ...n].join("."), r = new Map(f().shadowStateStore), i = r.get(s) || {};
168
- i.transformCaches || (i.transformCaches = /* @__PURE__ */ new Map()), i.transformCaches.set(o, e), r.set(s, i), a({ shadowStateStore: r });
185
+ setTransformCache: (e, n, o, t) => {
186
+ const s = [e, ...n].join("."), a = new Map(f().shadowStateStore), r = a.get(s) || {};
187
+ r.transformCaches || (r.transformCaches = /* @__PURE__ */ new Map()), r.transformCaches.set(o, t), a.set(s, r), i({ shadowStateStore: a });
169
188
  },
170
- insertShadowArrayElement: (t, n, o) => {
171
- const e = new Map(f().shadowStateStore), s = [t, ...n].join("."), r = e.get(s);
172
- if (!r || !r.arrayKeys) return;
173
- const i = `id:${m()}`, S = s + "." + i, c = [...r.arrayKeys];
174
- c.push(S), e.set(s, { ...r, arrayKeys: c });
189
+ insertShadowArrayElement: (e, n, o) => {
190
+ const t = new Map(f().shadowStateStore), s = [e, ...n].join("."), a = t.get(s);
191
+ if (!a || !a.arrayKeys) return;
192
+ const r = `id:${m()}`, S = s + "." + r, c = [...a.arrayKeys];
193
+ c.push(S), t.set(s, { ...a, arrayKeys: c });
175
194
  const p = (d, h) => {
176
- const w = [t, ...h].join(".");
195
+ const w = [e, ...h].join(".");
177
196
  if (!Array.isArray(d)) if (typeof d == "object" && d !== null) {
178
197
  const y = Object.fromEntries(
179
198
  Object.keys(d).map((l) => [l, w + "." + l])
180
199
  );
181
- e.set(w, { fields: y }), Object.entries(d).forEach(([l, M]) => {
200
+ t.set(w, { fields: y }), Object.entries(d).forEach(([l, M]) => {
182
201
  p(M, [...h, l]);
183
202
  });
184
203
  } else
185
- e.set(w, { value: d });
204
+ t.set(w, { value: d });
186
205
  };
187
- p(o, [...n, i]), a({ shadowStateStore: e }), f().notifyPathSubscribers(s, {
206
+ p(o, [...n, r]), i({ shadowStateStore: t }), f().notifyPathSubscribers(s, {
188
207
  type: "INSERT",
189
208
  path: s,
190
209
  itemKey: S
191
210
  });
192
211
  },
193
- removeShadowArrayElement: (t, n) => {
194
- const o = new Map(f().shadowStateStore), e = [t, ...n].join("."), s = n.slice(0, -1), r = [t, ...s].join("."), i = o.get(r);
195
- if (i && i.arrayKeys && i.arrayKeys.findIndex(
196
- (c) => c === e
212
+ removeShadowArrayElement: (e, n) => {
213
+ const o = new Map(f().shadowStateStore), t = [e, ...n].join("."), s = n.slice(0, -1), a = [e, ...s].join("."), r = o.get(a);
214
+ if (r && r.arrayKeys && r.arrayKeys.findIndex(
215
+ (c) => c === t
197
216
  ) !== -1) {
198
- const c = i.arrayKeys.filter(
199
- (d) => d !== e
217
+ const c = r.arrayKeys.filter(
218
+ (d) => d !== t
200
219
  );
201
- o.set(r, {
202
- ...i,
220
+ o.set(a, {
221
+ ...r,
203
222
  arrayKeys: c
204
223
  });
205
- const p = e + ".";
224
+ const p = t + ".";
206
225
  for (const d of Array.from(o.keys()))
207
- (d === e || d.startsWith(p)) && o.delete(d);
226
+ (d === t || d.startsWith(p)) && o.delete(d);
208
227
  }
209
- a({ shadowStateStore: o }), f().notifyPathSubscribers(r, {
228
+ i({ shadowStateStore: o }), f().notifyPathSubscribers(a, {
210
229
  type: "REMOVE",
211
- path: r,
212
- itemKey: e
230
+ path: a,
231
+ itemKey: t
213
232
  // The exact ID of the removed item
214
233
  });
215
234
  },
216
- updateShadowAtPath: (t, n, o) => {
217
- const e = new Map(f().shadowStateStore), s = [t, ...n].join("."), r = (i, S) => {
218
- const c = e.get(i);
219
- if (b(S) && c && c.fields) {
235
+ updateShadowAtPath: (e, n, o) => {
236
+ const t = new Map(f().shadowStateStore), s = [e, ...n].join("."), a = (r, S) => {
237
+ const c = t.get(r);
238
+ if (u(S) && c && c.fields) {
220
239
  for (const p in S)
221
240
  if (Object.prototype.hasOwnProperty.call(S, p)) {
222
241
  const d = c.fields[p], h = S[p];
223
- d && r(d, h);
242
+ d && a(d, h);
224
243
  }
225
244
  } else {
226
- const p = e.get(i) || {};
227
- e.set(i, { ...p, value: S });
245
+ const p = t.get(r) || {};
246
+ t.set(r, { ...p, value: S });
228
247
  }
229
248
  };
230
- r(s, o), f().notifyPathSubscribers(s, { type: "UPDATE", newValue: o }), a({ shadowStateStore: e });
249
+ a(s, o), f().notifyPathSubscribers(s, { type: "UPDATE", newValue: o }), i({ shadowStateStore: t });
231
250
  },
232
251
  selectedIndicesMap: /* @__PURE__ */ new Map(),
233
- getSelectedIndex: (t, n) => {
234
- const o = f().selectedIndicesMap.get(t);
252
+ getSelectedIndex: (e, n) => {
253
+ const o = f().selectedIndicesMap.get(e);
235
254
  if (!o) return -1;
236
- const e = n || E.getState().getShadowMetadata(t, [])?.arrayKeys;
237
- return e ? e.indexOf(o) : -1;
255
+ const t = n || g.getState().getShadowMetadata(e, [])?.arrayKeys;
256
+ return t ? t.indexOf(o) : -1;
238
257
  },
239
- setSelectedIndex: (t, n) => {
240
- a((o) => {
241
- const e = o.selectedIndicesMap;
242
- return n === void 0 ? e.delete(t) : (e.has(t) && f().notifyPathSubscribers(e.get(t), {
258
+ setSelectedIndex: (e, n) => {
259
+ i((o) => {
260
+ const t = o.selectedIndicesMap;
261
+ return n === void 0 ? t.delete(e) : (t.has(e) && f().notifyPathSubscribers(t.get(e), {
243
262
  type: "THIS_UNSELECTED"
244
- }), e.set(t, n), f().notifyPathSubscribers(n, {
263
+ }), t.set(e, n), f().notifyPathSubscribers(n, {
245
264
  type: "THIS_SELECTED"
246
- })), f().notifyPathSubscribers(t, {
265
+ })), f().notifyPathSubscribers(e, {
247
266
  type: "GET_SELECTED"
248
267
  }), {
249
268
  ...o,
250
- selectedIndicesMap: e
269
+ selectedIndicesMap: t
251
270
  };
252
271
  });
253
272
  },
254
- clearSelectedIndex: ({ arrayKey: t }) => {
255
- a((n) => {
256
- const o = n.selectedIndicesMap, e = o.get(t);
257
- return e && f().notifyPathSubscribers(e, {
273
+ clearSelectedIndex: ({ arrayKey: e }) => {
274
+ i((n) => {
275
+ const o = n.selectedIndicesMap, t = o.get(e);
276
+ return t && f().notifyPathSubscribers(t, {
258
277
  type: "CLEAR_SELECTION"
259
- }), o.delete(t), f().notifyPathSubscribers(t, {
278
+ }), o.delete(e), f().notifyPathSubscribers(e, {
260
279
  type: "CLEAR_SELECTION"
261
280
  }), {
262
281
  ...n,
@@ -264,55 +283,50 @@ const A = u((a, f) => ({
264
283
  };
265
284
  });
266
285
  },
267
- clearSelectedIndexesForState: (t) => {
268
- a((n) => {
286
+ clearSelectedIndexesForState: (e) => {
287
+ i((n) => {
269
288
  const o = new Map(n.selectedIndicesMap);
270
- return o.delete(t) ? { selectedIndicesMap: o } : {};
289
+ return o.delete(e) ? { selectedIndicesMap: o } : {};
271
290
  });
272
291
  },
273
292
  initialStateOptions: {},
274
293
  stateTimeline: {},
275
294
  cogsStateStore: {},
276
- stateLog: {},
295
+ stateLog: /* @__PURE__ */ new Map(),
277
296
  initialStateGlobal: {},
278
297
  validationErrors: /* @__PURE__ */ new Map(),
279
- setStateLog: (t, n) => {
280
- a((o) => {
281
- const e = o.stateLog[t] ?? [], s = n(e);
282
- return {
283
- stateLog: {
284
- ...o.stateLog,
285
- [t]: s
286
- }
287
- };
298
+ addStateLog: (e, n) => {
299
+ i((o) => {
300
+ const t = new Map(o.stateLog), s = new Map(t.get(e)), a = JSON.stringify(n.path), r = s.get(a);
301
+ return r ? (r.newValue = n.newValue, r.timeStamp = n.timeStamp) : s.set(a, { ...n }), t.set(e, s), { stateLog: t };
288
302
  });
289
303
  },
290
- getInitialOptions: (t) => f().initialStateOptions[t],
291
- setInitialStateOptions: (t, n) => {
292
- a((o) => ({
304
+ getInitialOptions: (e) => f().initialStateOptions[e],
305
+ setInitialStateOptions: (e, n) => {
306
+ i((o) => ({
293
307
  initialStateOptions: {
294
308
  ...o.initialStateOptions,
295
- [t]: n
309
+ [e]: n
296
310
  }
297
311
  }));
298
312
  },
299
- updateInitialStateGlobal: (t, n) => {
300
- a((o) => ({
313
+ updateInitialStateGlobal: (e, n) => {
314
+ i((o) => ({
301
315
  initialStateGlobal: {
302
316
  ...o.initialStateGlobal,
303
- [t]: n
317
+ [e]: n
304
318
  }
305
319
  }));
306
320
  },
307
321
  syncInfoStore: /* @__PURE__ */ new Map(),
308
- setSyncInfo: (t, n) => a((o) => {
309
- const e = new Map(o.syncInfoStore);
310
- return e.set(t, n), { ...o, syncInfoStore: e };
322
+ setSyncInfo: (e, n) => i((o) => {
323
+ const t = new Map(o.syncInfoStore);
324
+ return t.set(e, n), { ...o, syncInfoStore: t };
311
325
  }),
312
- getSyncInfo: (t) => f().syncInfoStore.get(t) || null
326
+ getSyncInfo: (e) => f().syncInfoStore.get(e) || null
313
327
  }));
314
328
  export {
315
- A as formRefStore,
316
- E as getGlobalStore
329
+ O as formRefStore,
330
+ g as getGlobalStore
317
331
  };
318
332
  //# sourceMappingURL=store.js.map