@buoy-gg/events 2.1.10 → 2.1.12

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.
Files changed (88) hide show
  1. package/lib/commonjs/components/EventsCopySettingsView.js +3 -1
  2. package/lib/commonjs/components/EventsCopySettingsView.js.map +1 -0
  3. package/lib/commonjs/components/EventsModal.js.map +1 -0
  4. package/lib/commonjs/components/ReactQueryEventDetail.js +7 -3
  5. package/lib/commonjs/components/ReactQueryEventDetail.js.map +1 -0
  6. package/lib/commonjs/components/UnifiedEventDetail.js +68 -2
  7. package/lib/commonjs/components/UnifiedEventDetail.js.map +1 -0
  8. package/lib/commonjs/components/UnifiedEventFilters.js.map +1 -0
  9. package/lib/commonjs/components/UnifiedEventItem.js +59 -1
  10. package/lib/commonjs/components/UnifiedEventItem.js.map +1 -0
  11. package/lib/commonjs/components/UnifiedEventList.js.map +1 -0
  12. package/lib/commonjs/components/UnifiedEventViewer.js.map +1 -0
  13. package/lib/commonjs/hooks/useUnifiedEvents.js +23 -1
  14. package/lib/commonjs/hooks/useUnifiedEvents.js.map +1 -0
  15. package/lib/commonjs/index.js.map +1 -0
  16. package/lib/commonjs/preset.js.map +1 -0
  17. package/lib/commonjs/stores/unifiedEventStore.js +59 -1
  18. package/lib/commonjs/stores/unifiedEventStore.js.map +1 -0
  19. package/lib/commonjs/types/copySettings.js.map +1 -0
  20. package/lib/commonjs/types/index.js.map +1 -0
  21. package/lib/commonjs/utils/autoDiscoverEventSources.js +146 -1
  22. package/lib/commonjs/utils/autoDiscoverEventSources.js.map +1 -0
  23. package/lib/commonjs/utils/badgeSelectionStorage.js.map +1 -0
  24. package/lib/commonjs/utils/copySettingsStorage.js.map +1 -0
  25. package/lib/commonjs/utils/correlationUtils.js.map +1 -0
  26. package/lib/commonjs/utils/eventExportFormatter.js +2 -0
  27. package/lib/commonjs/utils/eventExportFormatter.js.map +1 -0
  28. package/lib/commonjs/utils/eventTransformers.js.map +1 -0
  29. package/lib/module/components/EventsCopySettingsView.js +3 -1
  30. package/lib/module/components/EventsCopySettingsView.js.map +1 -0
  31. package/lib/module/components/EventsModal.js.map +1 -0
  32. package/lib/module/components/ReactQueryEventDetail.js +7 -3
  33. package/lib/module/components/ReactQueryEventDetail.js.map +1 -0
  34. package/lib/module/components/UnifiedEventDetail.js +68 -2
  35. package/lib/module/components/UnifiedEventDetail.js.map +1 -0
  36. package/lib/module/components/UnifiedEventFilters.js.map +1 -0
  37. package/lib/module/components/UnifiedEventItem.js +59 -1
  38. package/lib/module/components/UnifiedEventItem.js.map +1 -0
  39. package/lib/module/components/UnifiedEventList.js.map +1 -0
  40. package/lib/module/components/UnifiedEventViewer.js.map +1 -0
  41. package/lib/module/hooks/useUnifiedEvents.js +24 -2
  42. package/lib/module/hooks/useUnifiedEvents.js.map +1 -0
  43. package/lib/module/index.js.map +1 -0
  44. package/lib/module/preset.js.map +1 -0
  45. package/lib/module/stores/unifiedEventStore.js +54 -0
  46. package/lib/module/stores/unifiedEventStore.js.map +1 -0
  47. package/lib/module/types/copySettings.js.map +1 -0
  48. package/lib/module/types/index.js.map +1 -0
  49. package/lib/module/utils/autoDiscoverEventSources.js +146 -1
  50. package/lib/module/utils/autoDiscoverEventSources.js.map +1 -0
  51. package/lib/module/utils/badgeSelectionStorage.js.map +1 -0
  52. package/lib/module/utils/copySettingsStorage.js.map +1 -0
  53. package/lib/module/utils/correlationUtils.js.map +1 -0
  54. package/lib/module/utils/eventExportFormatter.js +2 -0
  55. package/lib/module/utils/eventExportFormatter.js.map +1 -0
  56. package/lib/module/utils/eventTransformers.js.map +1 -0
  57. package/lib/typescript/components/EventsCopySettingsView.d.ts.map +1 -0
  58. package/lib/typescript/components/EventsModal.d.ts.map +1 -0
  59. package/lib/typescript/components/ReactQueryEventDetail.d.ts.map +1 -0
  60. package/lib/typescript/components/UnifiedEventDetail.d.ts.map +1 -0
  61. package/lib/typescript/components/UnifiedEventFilters.d.ts.map +1 -0
  62. package/lib/typescript/components/UnifiedEventItem.d.ts.map +1 -0
  63. package/lib/typescript/components/UnifiedEventList.d.ts.map +1 -0
  64. package/lib/typescript/components/UnifiedEventViewer.d.ts.map +1 -0
  65. package/lib/typescript/hooks/useUnifiedEvents.d.ts.map +1 -0
  66. package/lib/typescript/index.d.ts.map +1 -0
  67. package/lib/typescript/preset.d.ts.map +1 -0
  68. package/lib/typescript/stores/unifiedEventStore.d.ts +20 -0
  69. package/lib/typescript/stores/unifiedEventStore.d.ts.map +1 -0
  70. package/lib/typescript/types/copySettings.d.ts.map +1 -0
  71. package/lib/typescript/types/index.d.ts +1 -1
  72. package/lib/typescript/types/index.d.ts.map +1 -0
  73. package/lib/typescript/utils/autoDiscoverEventSources.d.ts.map +1 -0
  74. package/lib/typescript/utils/badgeSelectionStorage.d.ts.map +1 -0
  75. package/lib/typescript/utils/copySettingsStorage.d.ts.map +1 -0
  76. package/lib/typescript/utils/correlationUtils.d.ts.map +1 -0
  77. package/lib/typescript/utils/eventExportFormatter.d.ts.map +1 -0
  78. package/lib/typescript/utils/eventTransformers.d.ts.map +1 -0
  79. package/package.json +3 -3
  80. package/src/components/EventsCopySettingsView.tsx +3 -1
  81. package/src/components/ReactQueryEventDetail.tsx +7 -3
  82. package/src/components/UnifiedEventDetail.tsx +79 -1
  83. package/src/components/UnifiedEventItem.tsx +66 -0
  84. package/src/hooks/useUnifiedEvents.ts +28 -0
  85. package/src/stores/unifiedEventStore.ts +54 -0
  86. package/src/types/index.ts +3 -1
  87. package/src/utils/autoDiscoverEventSources.ts +165 -0
  88. package/src/utils/eventExportFormatter.ts +2 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUnifiedEvents.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUnifiedEvents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA+HtE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,gBAAgB,EAAE,UAAU,EAAE,CAAC;IAC/B,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,gEAAgE;IAChE,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,qDAAqD;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,IAAI,sBAAsB,CA4UzD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAKrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAKvE,YAAY,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,GACf,MAAM,SAAS,CAAC;AAKjB,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAK7E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAKlE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/preset.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;;;4BAKH;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;CAOzD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB;;;;;4BAhBoB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;EAsBzD"}
@@ -74,6 +74,22 @@ declare class UnifiedEventStore {
74
74
  * Unsubscribe from route events
75
75
  */
76
76
  unsubscribeFromRoutes(): void;
77
+ /**
78
+ * Subscribe to Zustand state changes (if @buoy-gg/zustand is installed)
79
+ */
80
+ subscribeToZustand(): void;
81
+ /**
82
+ * Unsubscribe from Zustand state changes
83
+ */
84
+ unsubscribeFromZustand(): void;
85
+ /**
86
+ * Subscribe to Jotai atom changes (if @buoy-gg/jotai is installed)
87
+ */
88
+ subscribeToJotai(): void;
89
+ /**
90
+ * Unsubscribe from Jotai atom changes
91
+ */
92
+ unsubscribeFromJotai(): void;
77
93
  /**
78
94
  * Subscribe to render events (if @buoy-gg/highlight-updates is installed)
79
95
  */
@@ -143,6 +159,10 @@ export declare const subscribeToReactQuery: () => void;
143
159
  export declare const unsubscribeFromReactQuery: () => void;
144
160
  export declare const subscribeToRoutes: () => void;
145
161
  export declare const unsubscribeFromRoutes: () => void;
162
+ export declare const subscribeToZustand: () => void;
163
+ export declare const unsubscribeFromZustand: () => void;
164
+ export declare const subscribeToJotai: () => void;
165
+ export declare const unsubscribeFromJotai: () => void;
146
166
  export declare const subscribeToRender: () => void;
147
167
  export declare const unsubscribeFromRender: () => void;
148
168
  export declare const getEvents: (enabledSources?: Set<EventSource>) => UnifiedEvent[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unifiedEventStore.d.ts","sourceRoot":"","sources":["../../../src/stores/unifiedEventStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copySettings.d.ts","sourceRoot":"","sources":["../../../src/types/copySettings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC,eAAe,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAGlD,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IAGzB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,oBAAoB,EAAE,OAAO,CAAC;IAG9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAGxC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAGtD,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,aAAa,EAAE,WAAW,EAAE,CAAC;IAG7B,2DAA2D;IAC3D,WAAW,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yDAAyD;IACzD,eAAe,EAAE,OAAO,CAAC;IACzB,+EAA+E;IAC/E,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,kBAqBnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB;;;OAGG;;;;;;;;;;;;;;;;;;;;;;IAuBH;;OAEG;;;;;;;;;;;;;;;;;;;;;;IAuBH;;OAEG;;;;;;;;;;;;;;;;;;;;;;IAuBH;;OAEG;;;;;;;;;;;;;;;;;;;;;;IAuBH;;OAEG;;;;;;;;;;;;;;;;;;;;;;IAuBH;;OAEG;;;;;;;;;;;;;;;;;;;;;;CAsBK,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,YAAY,CAAC;AAEvD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,cAAc,GAAG,IAAI,CAqBtF;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,cAAc,EACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgCtD,CAAC"}
@@ -6,7 +6,7 @@
6
6
  /**
7
7
  * Event source identifiers
8
8
  */
9
- export type EventSource = "storage-async" | "storage-mmkv" | "redux" | "network" | "react-query" | "react-query-query" | "react-query-mutation" | "route" | "render";
9
+ export type EventSource = "storage-async" | "storage-mmkv" | "redux" | "network" | "react-query" | "react-query-query" | "react-query-mutation" | "route" | "render" | "zustand" | "jotai";
10
10
  /**
11
11
  * Event status for visual indicators
12
12
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,eAAe,GACf,cAAc,GACd,OAAO,GACP,SAAS,GACT,aAAa,GACb,mBAAmB,GACnB,sBAAsB,GACtB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IAEX,yCAAyC;IACzC,MAAM,EAAE,WAAW,CAAC;IAEpB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAElB,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IAEd,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,MAAM,EAAE,WAAW,CAAC;IAEpB,0CAA0C;IAC1C,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAEjC,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;AAEpE;;GAEG;AACH,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoDiscoverEventSources.d.ts","sourceRoot":"","sources":["../../../src/utils/autoDiscoverEventSources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM1D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IAEX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,+EAA+E;IAC/E,YAAY,EAAE,WAAW,EAAE,CAAC;IAE5B,wDAAwD;IACxD,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAE1F,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IAEjC,6CAA6C;IAC7C,qBAAqB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;CACzC;AA81BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,IAAI,eAAe,CAyB1D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAgBA;AAKD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAKpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAMD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,0BAA0B,CAwD1E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badgeSelectionStorage.d.ts","sourceRoot":"","sources":["../../../src/utils/badgeSelectionStorage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9E;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAYxE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOzD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAO5E;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAYlE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copySettingsStorage.d.ts","sourceRoot":"","sources":["../../../src/utils/copySettingsStorage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAmB3E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOvD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correlationUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/correlationUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,YAAY,EAAE,GACxB,YAAY,EAAE,CAUhB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,YAAY,EAAE,GACxB,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,YAAY,EAAE,GACxB,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,EAAE,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWrB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,YAAY,EAAE,GACxB,YAAY,EAAE,CAYhB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,YAAY,EAAE,GACxB,MAAM,GAAG,IAAI,CAgBf;AAgBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CASjE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventExportFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/eventExportFormatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;CAC3B;AA2iBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CA+BtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EAAE,EACtB,QAAQ,EAAE,kBAAkB,GAC3B,YAAY,EAAE,CA0BhB;AAoED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EAAE,EACtB,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAqCR;AAyGD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EAAE,EACtB,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CA8JR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EAAE,EACtB,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAyER;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,YAAY,EAAE,EACtB,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAuGR;AAioBD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EAAE,EACtB,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAmJR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EAAE,EACtB,QAAQ,EAAE,kBAAkB,GAC3B,MAAM,CAaR"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventTransformers.d.ts","sourceRoot":"","sources":["../../../src/utils/eventTransformers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/events",
3
- "version": "2.1.10",
3
+ "version": "2.1.12",
4
4
  "description": "events package",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -27,8 +27,8 @@
27
27
  ],
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
- "@buoy-gg/floating-tools-core": "2.1.10",
31
- "@buoy-gg/shared-ui": "2.1.10"
30
+ "@buoy-gg/floating-tools-core": "2.1.12",
31
+ "@buoy-gg/shared-ui": "2.1.12"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "react": "*",
@@ -308,7 +308,9 @@ export function EventsCopySettingsView({
308
308
  <DataViewer
309
309
  data={JSON.parse(exportText)}
310
310
  title=""
311
- showTypeFilter={false}
311
+ showTypeFilter={true}
312
+ rawMode={true}
313
+ initialExpanded={true}
312
314
  />
313
315
  ) : (
314
316
  <View>
@@ -184,7 +184,8 @@ export const ReactQueryEventDetail = memo(function ReactQueryEventDetail({
184
184
  <DataViewer
185
185
  title=""
186
186
  data={reactQueryEvent.mutationVariables}
187
- showTypeFilter={false}
187
+ showTypeFilter={true}
188
+ rawMode={true}
188
189
  initialExpanded={true}
189
190
  />
190
191
  </View>
@@ -203,7 +204,8 @@ export const ReactQueryEventDetail = memo(function ReactQueryEventDetail({
203
204
  <DataViewer
204
205
  title=""
205
206
  data={isQuery ? reactQueryEvent.queryData : reactQueryEvent.mutationData}
206
- showTypeFilter={false}
207
+ showTypeFilter={true}
208
+ rawMode={true}
207
209
  initialExpanded={true}
208
210
  />
209
211
  </View>
@@ -220,7 +222,8 @@ export const ReactQueryEventDetail = memo(function ReactQueryEventDetail({
220
222
  <DataViewer
221
223
  title=""
222
224
  data={isQuery ? reactQueryEvent.queryError : reactQueryEvent.mutationError}
223
- showTypeFilter={false}
225
+ showTypeFilter={true}
226
+ rawMode={true}
224
227
  initialExpanded={true}
225
228
  />
226
229
  </View>
@@ -237,6 +240,7 @@ export const ReactQueryEventDetail = memo(function ReactQueryEventDetail({
237
240
  title=""
238
241
  data={reactQueryEvent}
239
242
  showTypeFilter={true}
243
+ rawMode={true}
240
244
  initialExpanded={false}
241
245
  />
242
246
  </View>
@@ -48,6 +48,20 @@ interface OptionalDetailComponents {
48
48
  RenderDetailView: ComponentType<{
49
49
  render: unknown;
50
50
  }> | null;
51
+ ZustandStateDetailContent: ComponentType<{
52
+ change: unknown;
53
+ changes: unknown[];
54
+ selectedIndex: number;
55
+ onIndexChange: (index: number) => void;
56
+ disableInternalFooter?: boolean;
57
+ }> | null;
58
+ JotaiAtomDetailContent: ComponentType<{
59
+ change: unknown;
60
+ changes: unknown[];
61
+ selectedIndex: number;
62
+ onIndexChange: (index: number) => void;
63
+ disableInternalFooter?: boolean;
64
+ }> | null;
51
65
  }
52
66
 
53
67
  function tryLoadOptionalDetailComponents(): OptionalDetailComponents {
@@ -56,6 +70,8 @@ function tryLoadOptionalDetailComponents(): OptionalDetailComponents {
56
70
  ReduxActionDetailContent: null,
57
71
  NetworkEventDetailView: null,
58
72
  RenderDetailView: null,
73
+ ZustandStateDetailContent: null,
74
+ JotaiAtomDetailContent: null,
59
75
  };
60
76
 
61
77
  // Try to load storage detail component
@@ -94,6 +110,24 @@ function tryLoadOptionalDetailComponents(): OptionalDetailComponents {
94
110
  // Optional dependency not installed
95
111
  }
96
112
 
113
+ // Try to load zustand detail component
114
+ try {
115
+ // @ts-ignore - Dynamic import that may not exist
116
+ const zustand = require("@buoy-gg/zustand");
117
+ components.ZustandStateDetailContent = zustand.ZustandStateDetailContent;
118
+ } catch {
119
+ // Optional dependency not installed
120
+ }
121
+
122
+ // Try to load jotai detail component
123
+ try {
124
+ // @ts-ignore - Dynamic import that may not exist
125
+ const jotai = require("@buoy-gg/jotai");
126
+ components.JotaiAtomDetailContent = jotai.JotaiAtomDetailContent;
127
+ } catch {
128
+ // Optional dependency not installed
129
+ }
130
+
97
131
  return components;
98
132
  }
99
133
 
@@ -116,6 +150,8 @@ const SOURCE_CONFIG: Record<EventSource, { label: string; color: string }> = {
116
150
  "react-query-query": { label: "Query", color: "#EC4899" },
117
151
  "react-query-mutation": { label: "Mutation", color: "#F97316" },
118
152
  route: { label: "Route", color: "#06B6D4" },
153
+ zustand: { label: "Zustand", color: "#764ABC" },
154
+ jotai: { label: "Jotai", color: "#14B8A6" },
119
155
  render: { label: "Render", color: "#F472B6" },
120
156
  };
121
157
 
@@ -236,6 +272,42 @@ export const UnifiedEventDetail = memo(function UnifiedEventDetail({
236
272
  );
237
273
  }
238
274
 
275
+ // For Zustand events, use the shared ZustandStateDetailContent if available
276
+ if (event.source === "zustand" && optionalComponents.ZustandStateDetailContent) {
277
+ const { ZustandStateDetailContent } = optionalComponents;
278
+ const zustandChange = event.originalEvent;
279
+
280
+ return (
281
+ <View style={styles.container}>
282
+ <ZustandStateDetailContent
283
+ change={zustandChange}
284
+ changes={[zustandChange]}
285
+ selectedIndex={0}
286
+ onIndexChange={() => {}}
287
+ disableInternalFooter={true}
288
+ />
289
+ </View>
290
+ );
291
+ }
292
+
293
+ // For Jotai events, use the shared JotaiAtomDetailContent if available
294
+ if (event.source === "jotai" && optionalComponents.JotaiAtomDetailContent) {
295
+ const { JotaiAtomDetailContent } = optionalComponents;
296
+ const jotaiChange = event.originalEvent;
297
+
298
+ return (
299
+ <View style={styles.container}>
300
+ <JotaiAtomDetailContent
301
+ change={jotaiChange}
302
+ changes={[jotaiChange]}
303
+ selectedIndex={0}
304
+ onIndexChange={() => {}}
305
+ disableInternalFooter={true}
306
+ />
307
+ </View>
308
+ );
309
+ }
310
+
239
311
  // For render events, use the RenderDetailView if available
240
312
  if (event.source === "render" && optionalComponents.RenderDetailView) {
241
313
  const { RenderDetailView } = optionalComponents;
@@ -307,7 +379,13 @@ export const UnifiedEventDetail = memo(function UnifiedEventDetail({
307
379
  <View style={styles.dataSection}>
308
380
  <Text style={styles.sectionLabel}>Event Data</Text>
309
381
  <View style={styles.dataContainer}>
310
- <DataViewer data={getEventData()} title="" showTypeFilter={false} />
382
+ <DataViewer
383
+ data={getEventData()}
384
+ title=""
385
+ showTypeFilter={true}
386
+ rawMode={true}
387
+ initialExpanded={true}
388
+ />
311
389
  </View>
312
390
  </View>
313
391
  </ScrollView>
@@ -43,6 +43,14 @@ interface OptionalComponents {
43
43
  onPress: () => void;
44
44
  onNavigate?: (pathname: string) => void;
45
45
  }> | null;
46
+ ZustandStateChangeItem: ComponentType<{
47
+ change: unknown;
48
+ onPress: (change: unknown) => void;
49
+ }> | null;
50
+ JotaiAtomChangeItem: ComponentType<{
51
+ change: unknown;
52
+ onPress: (change: unknown) => void;
53
+ }> | null;
46
54
  }
47
55
 
48
56
  function tryLoadOptionalComponents(): OptionalComponents {
@@ -52,6 +60,8 @@ function tryLoadOptionalComponents(): OptionalComponents {
52
60
  ReduxActionItem: null,
53
61
  NetworkEventItemCompact: null,
54
62
  RouteEventItemCompact: null,
63
+ ZustandStateChangeItem: null,
64
+ JotaiAtomChangeItem: null,
55
65
  };
56
66
 
57
67
  // Try to load storage components
@@ -91,6 +101,24 @@ function tryLoadOptionalComponents(): OptionalComponents {
91
101
  // Optional dependency not installed
92
102
  }
93
103
 
104
+ // Try to load zustand components
105
+ try {
106
+ // @ts-ignore - Dynamic import that may not exist
107
+ const zustand = require("@buoy-gg/zustand");
108
+ components.ZustandStateChangeItem = zustand.ZustandStateChangeItem;
109
+ } catch {
110
+ // Optional dependency not installed
111
+ }
112
+
113
+ // Try to load jotai components
114
+ try {
115
+ // @ts-ignore - Dynamic import that may not exist
116
+ const jotai = require("@buoy-gg/jotai");
117
+ components.JotaiAtomChangeItem = jotai.JotaiAtomChangeItem;
118
+ } catch {
119
+ // Optional dependency not installed
120
+ }
121
+
94
122
  return components;
95
123
  }
96
124
 
@@ -140,6 +168,14 @@ const SOURCE_CONFIG: Record<
140
168
  label: "Route",
141
169
  color: "#06B6D4", // Cyan
142
170
  },
171
+ zustand: {
172
+ label: "Zustand",
173
+ color: "#764ABC", // Purple
174
+ },
175
+ jotai: {
176
+ label: "Jotai",
177
+ color: "#14B8A6", // Teal
178
+ },
143
179
  render: {
144
180
  label: "Render",
145
181
  color: "#F472B6", // Pink
@@ -220,6 +256,8 @@ const SOURCE_BADGE_LABELS: Record<EventSource, string> = {
220
256
  "react-query-query": "QUERY",
221
257
  "react-query-mutation": "MUTATION",
222
258
  route: "ROUTE",
259
+ zustand: "ZUSTAND",
260
+ jotai: "JOTAI",
223
261
  render: "RENDER",
224
262
  };
225
263
 
@@ -342,6 +380,34 @@ export const UnifiedEventItem = memo(function UnifiedEventItem({
342
380
  );
343
381
  }
344
382
 
383
+ // For Zustand events, try to use the shared ZustandStateChangeItem component
384
+ if (event.source === "zustand" && optionalComponents.ZustandStateChangeItem) {
385
+ const { ZustandStateChangeItem } = optionalComponents;
386
+
387
+ return (
388
+ <SourceBadgeWrapper source={event.source}>
389
+ <ZustandStateChangeItem
390
+ change={event.originalEvent}
391
+ onPress={() => onPress()}
392
+ />
393
+ </SourceBadgeWrapper>
394
+ );
395
+ }
396
+
397
+ // For Jotai events, try to use the shared JotaiAtomChangeItem component
398
+ if (event.source === "jotai" && optionalComponents.JotaiAtomChangeItem) {
399
+ const { JotaiAtomChangeItem } = optionalComponents;
400
+
401
+ return (
402
+ <SourceBadgeWrapper source={event.source}>
403
+ <JotaiAtomChangeItem
404
+ change={event.originalEvent}
405
+ onPress={() => onPress()}
406
+ />
407
+ </SourceBadgeWrapper>
408
+ );
409
+ }
410
+
345
411
  // Fallback: Use CompactRow for all events when specific components aren't available
346
412
  const customBadge =
347
413
  correlationLabel && correlationColor ? (
@@ -15,12 +15,16 @@ import {
15
15
  subscribeToNetwork,
16
16
  subscribeToReactQuery,
17
17
  subscribeToRoutes,
18
+ subscribeToZustand,
19
+ subscribeToJotai,
18
20
  subscribeToRender,
19
21
  unsubscribeFromStorage,
20
22
  unsubscribeFromRedux,
21
23
  unsubscribeFromNetwork,
22
24
  unsubscribeFromReactQuery,
23
25
  unsubscribeFromRoutes,
26
+ unsubscribeFromZustand,
27
+ unsubscribeFromJotai,
24
28
  unsubscribeFromRender,
25
29
  unsubscribeAll,
26
30
  getSourceCounts,
@@ -82,6 +86,8 @@ const ALL_DISPLAY_SOURCES: EventSource[] = [
82
86
  "react-query-query",
83
87
  "react-query-mutation",
84
88
  "route",
89
+ "zustand",
90
+ "jotai",
85
91
  "render",
86
92
  ];
87
93
 
@@ -106,6 +112,8 @@ const SOURCE_TO_EVENT_SOURCES: Record<EventSource, EventSource[]> = {
106
112
  "react-query-query": ["react-query", "react-query-query"],
107
113
  "react-query-mutation": ["react-query-mutation"],
108
114
  route: ["route"],
115
+ zustand: ["zustand"],
116
+ jotai: ["jotai"],
109
117
  render: ["render"],
110
118
  };
111
119
 
@@ -121,6 +129,8 @@ const EVENT_SOURCE_TO_DISCOVERY_ID: Record<EventSource, string> = {
121
129
  "react-query-query": "react-query",
122
130
  "react-query-mutation": "react-query",
123
131
  route: "route-events",
132
+ zustand: "zustand",
133
+ jotai: "jotai",
124
134
  render: "render",
125
135
  };
126
136
 
@@ -231,6 +241,8 @@ export function useUnifiedEvents(): UseUnifiedEventsResult {
231
241
  subscribeToReactQuery();
232
242
  }
233
243
  if (sourcesToEnable.has("route")) subscribeToRoutes();
244
+ if (sourcesToEnable.has("zustand")) subscribeToZustand();
245
+ if (sourcesToEnable.has("jotai")) subscribeToJotai();
234
246
  if (sourcesToEnable.has("render")) subscribeToRender();
235
247
  }
236
248
 
@@ -314,6 +326,8 @@ export function useUnifiedEvents(): UseUnifiedEventsResult {
314
326
  "react-query-query": "react-query",
315
327
  "react-query-mutation": "react-query",
316
328
  route: "route-events",
329
+ zustand: "zustand",
330
+ jotai: "jotai",
317
331
  render: "render",
318
332
  };
319
333
 
@@ -370,6 +384,12 @@ export function useUnifiedEvents(): UseUnifiedEventsResult {
370
384
  case "route":
371
385
  unsubscribeFromRoutes();
372
386
  break;
387
+ case "zustand":
388
+ unsubscribeFromZustand();
389
+ break;
390
+ case "jotai":
391
+ unsubscribeFromJotai();
392
+ break;
373
393
  case "render":
374
394
  unsubscribeFromRender();
375
395
  break;
@@ -395,6 +415,12 @@ export function useUnifiedEvents(): UseUnifiedEventsResult {
395
415
  case "route":
396
416
  subscribeToRoutes();
397
417
  break;
418
+ case "zustand":
419
+ subscribeToZustand();
420
+ break;
421
+ case "jotai":
422
+ subscribeToJotai();
423
+ break;
398
424
  case "render":
399
425
  subscribeToRender();
400
426
  break;
@@ -423,6 +449,8 @@ export function useUnifiedEvents(): UseUnifiedEventsResult {
423
449
  subscribeToReactQuery();
424
450
  }
425
451
  if (enabledSources.has("route")) subscribeToRoutes();
452
+ if (enabledSources.has("zustand")) subscribeToZustand();
453
+ if (enabledSources.has("jotai")) subscribeToJotai();
426
454
  if (enabledSources.has("render")) subscribeToRender();
427
455
  setIsCapturing(true);
428
456
  }, [enabledSources]);
@@ -195,6 +195,44 @@ class UnifiedEventStore {
195
195
  this.activeSources.delete("route");
196
196
  }
197
197
 
198
+ /**
199
+ * Subscribe to Zustand state changes (if @buoy-gg/zustand is installed)
200
+ */
201
+ subscribeToZustand(): void {
202
+ const { sources } = getCachedDiscovery();
203
+ const zustandSource = sources.find((s) => s.id === "zustand");
204
+ if (zustandSource) {
205
+ this.subscribeToSource(zustandSource);
206
+ }
207
+ }
208
+
209
+ /**
210
+ * Unsubscribe from Zustand state changes
211
+ */
212
+ unsubscribeFromZustand(): void {
213
+ this.unsubscribeFromSource("zustand");
214
+ this.activeSources.delete("zustand");
215
+ }
216
+
217
+ /**
218
+ * Subscribe to Jotai atom changes (if @buoy-gg/jotai is installed)
219
+ */
220
+ subscribeToJotai(): void {
221
+ const { sources } = getCachedDiscovery();
222
+ const jotaiSource = sources.find((s) => s.id === "jotai");
223
+ if (jotaiSource) {
224
+ this.subscribeToSource(jotaiSource);
225
+ }
226
+ }
227
+
228
+ /**
229
+ * Unsubscribe from Jotai atom changes
230
+ */
231
+ unsubscribeFromJotai(): void {
232
+ this.unsubscribeFromSource("jotai");
233
+ this.activeSources.delete("jotai");
234
+ }
235
+
198
236
  /**
199
237
  * Subscribe to render events (if @buoy-gg/highlight-updates is installed)
200
238
  */
@@ -283,6 +321,8 @@ class UnifiedEventStore {
283
321
  "react-query-query": 0,
284
322
  "react-query-mutation": 0,
285
323
  route: 0,
324
+ zustand: 0,
325
+ jotai: 0,
286
326
  render: 0,
287
327
  };
288
328
 
@@ -366,6 +406,10 @@ class UnifiedEventStore {
366
406
  return this.sourceUnsubscribers.has("react-query");
367
407
  case "route":
368
408
  return this.sourceUnsubscribers.has("route-events");
409
+ case "zustand":
410
+ return this.sourceUnsubscribers.has("zustand");
411
+ case "jotai":
412
+ return this.sourceUnsubscribers.has("jotai");
369
413
  case "render":
370
414
  return this.sourceUnsubscribers.has("render");
371
415
  default:
@@ -386,6 +430,8 @@ class UnifiedEventStore {
386
430
  "react-query-query": this.sourceUnsubscribers.has("react-query"),
387
431
  "react-query-mutation": this.sourceUnsubscribers.has("react-query"),
388
432
  route: this.sourceUnsubscribers.has("route-events"),
433
+ zustand: this.sourceUnsubscribers.has("zustand"),
434
+ jotai: this.sourceUnsubscribers.has("jotai"),
389
435
  render: this.sourceUnsubscribers.has("render"),
390
436
  };
391
437
  }
@@ -423,6 +469,14 @@ export const subscribeToRoutes = () =>
423
469
  unifiedEventStore.subscribeToRoutes();
424
470
  export const unsubscribeFromRoutes = () =>
425
471
  unifiedEventStore.unsubscribeFromRoutes();
472
+ export const subscribeToZustand = () =>
473
+ unifiedEventStore.subscribeToZustand();
474
+ export const unsubscribeFromZustand = () =>
475
+ unifiedEventStore.unsubscribeFromZustand();
476
+ export const subscribeToJotai = () =>
477
+ unifiedEventStore.subscribeToJotai();
478
+ export const unsubscribeFromJotai = () =>
479
+ unifiedEventStore.unsubscribeFromJotai();
426
480
  export const subscribeToRender = () =>
427
481
  unifiedEventStore.subscribeToRender();
428
482
  export const unsubscribeFromRender = () =>
@@ -16,7 +16,9 @@ export type EventSource =
16
16
  | "react-query-query"
17
17
  | "react-query-mutation"
18
18
  | "route"
19
- | "render";
19
+ | "render"
20
+ | "zustand"
21
+ | "jotai";
20
22
 
21
23
  /**
22
24
  * Event status for visual indicators