@interfere/react 0.0.1 → 0.0.2-alpha.1

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 (198) hide show
  1. package/dist/client.d.mts +15 -0
  2. package/dist/client.d.mts.map +1 -0
  3. package/dist/client.mjs +75 -0
  4. package/dist/client.mjs.map +1 -0
  5. package/dist/core/events/event-registry.d.mts +23 -0
  6. package/dist/core/events/event-registry.d.mts.map +1 -0
  7. package/dist/core/events/event-registry.mjs +32 -0
  8. package/dist/core/events/event-registry.mjs.map +1 -0
  9. package/dist/core/events/plugin-event-types.d.mts +92 -0
  10. package/dist/core/events/plugin-event-types.d.mts.map +1 -0
  11. package/dist/core/events/plugin-event-types.mjs +25 -0
  12. package/dist/core/events/plugin-event-types.mjs.map +1 -0
  13. package/dist/core/plugins/dom-utils.d.mts +9 -0
  14. package/dist/core/plugins/dom-utils.d.mts.map +1 -0
  15. package/dist/core/plugins/dom-utils.mjs +25 -0
  16. package/dist/core/plugins/dom-utils.mjs.map +1 -0
  17. package/dist/core/plugins/impl/ai-summary.d.mts +6 -0
  18. package/dist/core/plugins/impl/ai-summary.d.mts.map +1 -0
  19. package/dist/core/plugins/impl/ai-summary.mjs +122 -0
  20. package/dist/core/plugins/impl/ai-summary.mjs.map +1 -0
  21. package/dist/core/plugins/impl/errors.d.mts +9 -0
  22. package/dist/core/plugins/impl/errors.d.mts.map +1 -0
  23. package/dist/core/plugins/impl/errors.mjs +153 -0
  24. package/dist/core/plugins/impl/errors.mjs.map +1 -0
  25. package/dist/core/plugins/impl/page-events.d.mts +15 -0
  26. package/dist/core/plugins/impl/page-events.d.mts.map +1 -0
  27. package/dist/core/plugins/impl/page-events.mjs +131 -0
  28. package/dist/core/plugins/impl/page-events.mjs.map +1 -0
  29. package/dist/core/plugins/impl/rage-click.d.mts +6 -0
  30. package/dist/core/plugins/impl/rage-click.d.mts.map +1 -0
  31. package/dist/core/plugins/impl/rage-click.mjs +53 -0
  32. package/dist/core/plugins/impl/rage-click.mjs.map +1 -0
  33. package/dist/core/plugins/impl/replay.d.mts +9 -0
  34. package/dist/core/plugins/impl/replay.d.mts.map +1 -0
  35. package/dist/core/plugins/impl/replay.mjs +144 -0
  36. package/dist/core/plugins/impl/replay.mjs.map +1 -0
  37. package/dist/core/plugins/impl/server-tracing.d.mts +7 -0
  38. package/dist/core/plugins/impl/server-tracing.d.mts.map +1 -0
  39. package/dist/core/plugins/impl/server-tracing.mjs +160 -0
  40. package/dist/core/plugins/impl/server-tracing.mjs.map +1 -0
  41. package/dist/core/plugins/plugin-event-system.d.mts +47 -0
  42. package/dist/core/plugins/plugin-event-system.d.mts.map +1 -0
  43. package/dist/core/plugins/plugin-event-system.mjs +75 -0
  44. package/dist/core/plugins/plugin-event-system.mjs.map +1 -0
  45. package/dist/core/plugins/plugin-loader.d.mts +22 -0
  46. package/dist/core/plugins/plugin-loader.d.mts.map +1 -0
  47. package/dist/core/plugins/plugin-loader.mjs +142 -0
  48. package/dist/core/plugins/plugin-loader.mjs.map +1 -0
  49. package/dist/core/runtime/config.d.mts +14 -0
  50. package/dist/core/runtime/config.d.mts.map +1 -0
  51. package/dist/core/runtime/config.mjs +39 -0
  52. package/dist/core/runtime/config.mjs.map +1 -0
  53. package/dist/core/runtime/context.d.mts +25 -0
  54. package/dist/core/runtime/context.d.mts.map +1 -0
  55. package/dist/core/runtime/context.mjs +48 -0
  56. package/dist/core/runtime/context.mjs.map +1 -0
  57. package/dist/core/runtime/ingest-target.d.mts +10 -0
  58. package/dist/core/runtime/ingest-target.d.mts.map +1 -0
  59. package/dist/core/runtime/ingest-target.mjs +15 -0
  60. package/dist/core/runtime/ingest-target.mjs.map +1 -0
  61. package/dist/core/schemas.d.mts +85 -0
  62. package/dist/core/schemas.d.mts.map +1 -0
  63. package/dist/core/schemas.mjs +1 -0
  64. package/dist/effect/build-envelope.d.mts +9 -0
  65. package/dist/effect/build-envelope.d.mts.map +1 -0
  66. package/dist/effect/build-envelope.mjs +29 -0
  67. package/dist/effect/build-envelope.mjs.map +1 -0
  68. package/dist/effect/errors.d.mts +36 -0
  69. package/dist/effect/errors.d.mts.map +1 -0
  70. package/dist/effect/errors.mjs +10 -0
  71. package/dist/effect/errors.mjs.map +1 -0
  72. package/dist/effect/layers/config.layer.d.mts +13 -0
  73. package/dist/effect/layers/config.layer.d.mts.map +1 -0
  74. package/dist/effect/layers/config.layer.mjs +21 -0
  75. package/dist/effect/layers/config.layer.mjs.map +1 -0
  76. package/dist/effect/layers/context.layer.d.mts +12 -0
  77. package/dist/effect/layers/context.layer.d.mts.map +1 -0
  78. package/dist/effect/layers/context.layer.mjs +14 -0
  79. package/dist/effect/layers/context.layer.mjs.map +1 -0
  80. package/dist/effect/layers/http.layer.d.mts +21 -0
  81. package/dist/effect/layers/http.layer.d.mts.map +1 -0
  82. package/dist/effect/layers/http.layer.mjs +113 -0
  83. package/dist/effect/layers/http.layer.mjs.map +1 -0
  84. package/dist/effect/layers/queue.layer.d.mts +30 -0
  85. package/dist/effect/layers/queue.layer.d.mts.map +1 -0
  86. package/dist/effect/layers/queue.layer.mjs +232 -0
  87. package/dist/effect/layers/queue.layer.mjs.map +1 -0
  88. package/dist/effect/layers/session.layer.d.mts +26 -0
  89. package/dist/effect/layers/session.layer.d.mts.map +1 -0
  90. package/dist/effect/layers/session.layer.mjs +126 -0
  91. package/dist/effect/layers/session.layer.mjs.map +1 -0
  92. package/dist/effect/layers/storage.layer.d.mts +19 -0
  93. package/dist/effect/layers/storage.layer.d.mts.map +1 -0
  94. package/dist/effect/layers/storage.layer.mjs +200 -0
  95. package/dist/effect/layers/storage.layer.mjs.map +1 -0
  96. package/dist/effect/layers/tracer.layer.d.mts +9 -0
  97. package/dist/effect/layers/tracer.layer.d.mts.map +1 -0
  98. package/dist/effect/layers/tracer.layer.mjs +11 -0
  99. package/dist/effect/layers/tracer.layer.mjs.map +1 -0
  100. package/dist/effect/runtime-services.d.mts +22 -0
  101. package/dist/effect/runtime-services.d.mts.map +1 -0
  102. package/dist/effect/runtime-services.mjs +76 -0
  103. package/dist/effect/runtime-services.mjs.map +1 -0
  104. package/dist/effect/tags.d.mts +50 -0
  105. package/dist/effect/tags.d.mts.map +1 -0
  106. package/dist/effect/tags.mjs +7 -0
  107. package/dist/effect/tags.mjs.map +1 -0
  108. package/dist/hooks/use-runtime-and-plugins.d.mts +7 -0
  109. package/dist/hooks/use-runtime-and-plugins.d.mts.map +1 -0
  110. package/dist/hooks/use-runtime-and-plugins.mjs +153 -0
  111. package/dist/hooks/use-runtime-and-plugins.mjs.map +1 -0
  112. package/dist/hooks/use-session.d.mts +40 -0
  113. package/dist/hooks/use-session.d.mts.map +1 -0
  114. package/dist/hooks/use-session.mjs +96 -0
  115. package/dist/hooks/use-session.mjs.map +1 -0
  116. package/dist/package.mjs +100 -0
  117. package/dist/package.mjs.map +1 -0
  118. package/dist/provider.d.mts +17 -0
  119. package/dist/provider.d.mts.map +1 -0
  120. package/dist/provider.mjs +26 -0
  121. package/dist/provider.mjs.map +1 -0
  122. package/dist/server/auth.d.mts +11 -0
  123. package/dist/server/auth.d.mts.map +1 -0
  124. package/dist/server/auth.mjs +36 -0
  125. package/dist/server/auth.mjs.map +1 -0
  126. package/dist/server/capture.d.mts +18 -0
  127. package/dist/server/capture.d.mts.map +1 -0
  128. package/dist/server/capture.mjs +105 -0
  129. package/dist/server/capture.mjs.map +1 -0
  130. package/package.json +60 -27
  131. package/dist/__tests__/client.test.d.ts +0 -2
  132. package/dist/__tests__/client.test.d.ts.map +0 -1
  133. package/dist/__tests__/client.test.js +0 -447
  134. package/dist/__tests__/client.test.js.map +0 -1
  135. package/dist/__tests__/lib/core/error-handlers.test.d.ts +0 -2
  136. package/dist/__tests__/lib/core/error-handlers.test.d.ts.map +0 -1
  137. package/dist/__tests__/lib/core/error-handlers.test.js +0 -596
  138. package/dist/__tests__/lib/core/error-handlers.test.js.map +0 -1
  139. package/dist/__tests__/lib/core/event-queue.test.d.ts +0 -2
  140. package/dist/__tests__/lib/core/event-queue.test.d.ts.map +0 -1
  141. package/dist/__tests__/lib/core/event-queue.test.js +0 -290
  142. package/dist/__tests__/lib/core/event-queue.test.js.map +0 -1
  143. package/dist/__tests__/lib/core/runtime.test.d.ts +0 -2
  144. package/dist/__tests__/lib/core/runtime.test.d.ts.map +0 -1
  145. package/dist/__tests__/lib/core/runtime.test.js +0 -133
  146. package/dist/__tests__/lib/core/runtime.test.js.map +0 -1
  147. package/dist/__tests__/lib/core/session-manager.test.d.ts +0 -2
  148. package/dist/__tests__/lib/core/session-manager.test.d.ts.map +0 -1
  149. package/dist/__tests__/lib/core/session-manager.test.js +0 -356
  150. package/dist/__tests__/lib/core/session-manager.test.js.map +0 -1
  151. package/dist/__tests__/provider.test.d.ts +0 -2
  152. package/dist/__tests__/provider.test.d.ts.map +0 -1
  153. package/dist/__tests__/provider.test.js +0 -143
  154. package/dist/__tests__/provider.test.js.map +0 -1
  155. package/dist/client.d.ts +0 -78
  156. package/dist/client.d.ts.map +0 -1
  157. package/dist/client.js +0 -219
  158. package/dist/client.js.map +0 -1
  159. package/dist/index.d.ts +0 -6
  160. package/dist/index.d.ts.map +0 -1
  161. package/dist/index.js +0 -5
  162. package/dist/index.js.map +0 -1
  163. package/dist/lib/core/error-handlers.d.ts +0 -14
  164. package/dist/lib/core/error-handlers.d.ts.map +0 -1
  165. package/dist/lib/core/error-handlers.js +0 -191
  166. package/dist/lib/core/error-handlers.js.map +0 -1
  167. package/dist/lib/core/event-queue.d.ts +0 -90
  168. package/dist/lib/core/event-queue.d.ts.map +0 -1
  169. package/dist/lib/core/event-queue.js +0 -286
  170. package/dist/lib/core/event-queue.js.map +0 -1
  171. package/dist/lib/core/runtime.d.ts +0 -7
  172. package/dist/lib/core/runtime.d.ts.map +0 -1
  173. package/dist/lib/core/runtime.js +0 -16
  174. package/dist/lib/core/runtime.js.map +0 -1
  175. package/dist/lib/core/session-manager.d.ts +0 -96
  176. package/dist/lib/core/session-manager.d.ts.map +0 -1
  177. package/dist/lib/core/session-manager.js +0 -431
  178. package/dist/lib/core/session-manager.js.map +0 -1
  179. package/dist/lib/persistence/storage.d.ts +0 -5
  180. package/dist/lib/persistence/storage.d.ts.map +0 -1
  181. package/dist/lib/persistence/storage.js +0 -67
  182. package/dist/lib/persistence/storage.js.map +0 -1
  183. package/dist/lib/session/rage-click.d.ts +0 -2
  184. package/dist/lib/session/rage-click.d.ts.map +0 -1
  185. package/dist/lib/session/rage-click.js +0 -51
  186. package/dist/lib/session/rage-click.js.map +0 -1
  187. package/dist/lib/session/replay.d.ts +0 -3
  188. package/dist/lib/session/replay.d.ts.map +0 -1
  189. package/dist/lib/session/replay.js +0 -106
  190. package/dist/lib/session/replay.js.map +0 -1
  191. package/dist/lib/session/session-summary.d.ts +0 -3
  192. package/dist/lib/session/session-summary.d.ts.map +0 -1
  193. package/dist/lib/session/session-summary.js +0 -79
  194. package/dist/lib/session/session-summary.js.map +0 -1
  195. package/dist/provider.d.ts +0 -76
  196. package/dist/provider.d.ts.map +0 -1
  197. package/dist/provider.js +0 -138
  198. package/dist/provider.js.map +0 -1
@@ -1,290 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
- import { EventQueue } from "../../../lib/core/event-queue.js";
3
- // Test constants
4
- const FLUSH_TIMEOUT = 100;
5
- const MAX_QUEUE_SIZE = 10;
6
- const BATCH_SIZE = 3;
7
- const RETRY_DELAY_BASE = 1000;
8
- const RETRY_MULTIPLIER = 2;
9
- const MAX_RETRIES = 3;
10
- const EVENTS_OVER_LIMIT = 15;
11
- const EVENTS_OVER_BATCH = 5;
12
- describe("EventQueue", () => {
13
- let eventQueue;
14
- let onFlush;
15
- let originalNavigator;
16
- beforeEach(() => {
17
- // Clear all mocks
18
- vi.clearAllMocks();
19
- // Mock localStorage
20
- const localStorageMock = {
21
- getItem: vi.fn(),
22
- setItem: vi.fn(),
23
- removeItem: vi.fn(),
24
- clear: vi.fn(),
25
- length: 0,
26
- key: vi.fn(),
27
- };
28
- Object.defineProperty(window, "localStorage", {
29
- value: localStorageMock,
30
- writable: true,
31
- });
32
- // Mock navigator.onLine
33
- originalNavigator = global.navigator;
34
- Object.defineProperty(global, "navigator", {
35
- value: { onLine: true },
36
- writable: true,
37
- });
38
- // Create onFlush mock
39
- onFlush = vi.fn().mockResolvedValue(undefined);
40
- // Create EventQueue instance
41
- eventQueue = new EventQueue(onFlush, {
42
- maxRetries: 3,
43
- batchSize: BATCH_SIZE,
44
- batchTimeout: FLUSH_TIMEOUT,
45
- maxQueueSize: MAX_QUEUE_SIZE,
46
- enableCompression: false,
47
- enableOfflineQueue: true,
48
- storageKey: "test_event_queue",
49
- });
50
- });
51
- afterEach(() => {
52
- // Clean up
53
- eventQueue.destroy();
54
- vi.clearAllTimers();
55
- // Restore navigator
56
- if (originalNavigator) {
57
- Object.defineProperty(global, "navigator", {
58
- value: originalNavigator,
59
- writable: true,
60
- });
61
- }
62
- });
63
- describe("initialization", () => {
64
- it("should initialize with default config", () => {
65
- const queue = new EventQueue(onFlush);
66
- expect(queue.getQueueSize()).toBe(0);
67
- expect(queue.isOnlineStatus()).toBe(true);
68
- queue.destroy();
69
- });
70
- it("should load persisted events on initialization", () => {
71
- const persistedEvents = [
72
- {
73
- id: "test_1",
74
- type: "custom",
75
- payload: { test: true },
76
- timestamp: Date.now(),
77
- retryCount: 0,
78
- windowId: "win_test",
79
- },
80
- ];
81
- vi.mocked(localStorage.getItem).mockReturnValue(JSON.stringify(persistedEvents));
82
- const queue = new EventQueue(onFlush, {
83
- enableOfflineQueue: true,
84
- storageKey: "test_queue",
85
- });
86
- expect(localStorage.getItem).toHaveBeenCalledWith("test_queue");
87
- expect(queue.getQueueSize()).toBe(1);
88
- queue.destroy();
89
- });
90
- });
91
- describe("adding events", () => {
92
- it("should add event to queue", () => {
93
- eventQueue.add("custom", { data: "test" });
94
- expect(eventQueue.getQueueSize()).toBe(1);
95
- });
96
- it("should set window ID on events", () => {
97
- eventQueue.setWindowId("test_window_id");
98
- eventQueue.add("custom", { data: "test" });
99
- // Trigger immediate flush
100
- eventQueue.flush();
101
- expect(onFlush).toHaveBeenCalled();
102
- const events = onFlush.mock.calls[0]?.[0] ?? [];
103
- expect(events[0].windowId).toBe("test_window_id");
104
- });
105
- it("should limit queue size", () => {
106
- // Add more events than max queue size
107
- for (let i = 0; i < EVENTS_OVER_LIMIT; i++) {
108
- eventQueue.add("custom", { index: i });
109
- }
110
- // Queue should be limited to maxQueueSize
111
- expect(eventQueue.getQueueSize()).toBeLessThanOrEqual(MAX_QUEUE_SIZE);
112
- });
113
- it("should persist events when offline", () => {
114
- // Set offline
115
- Object.defineProperty(global.navigator, "onLine", {
116
- value: false,
117
- writable: true,
118
- });
119
- const offlineQueue = new EventQueue(onFlush, {
120
- enableOfflineQueue: true,
121
- storageKey: "offline_test",
122
- });
123
- offlineQueue.add("custom", { offline: true });
124
- expect(localStorage.setItem).toHaveBeenCalled();
125
- offlineQueue.destroy();
126
- });
127
- });
128
- describe("flushing events", () => {
129
- it("should flush events immediately", async () => {
130
- eventQueue.add("custom", { data: "test1" });
131
- eventQueue.add("custom", { data: "test2" });
132
- await eventQueue.flush();
133
- expect(onFlush).toHaveBeenCalledTimes(1);
134
- expect(onFlush).toHaveBeenCalledWith(expect.arrayContaining([
135
- expect.objectContaining({
136
- type: "custom",
137
- payload: { data: "test1" },
138
- }),
139
- expect.objectContaining({
140
- type: "custom",
141
- payload: { data: "test2" },
142
- }),
143
- ]));
144
- expect(eventQueue.getQueueSize()).toBe(0);
145
- });
146
- it("should batch events according to batchSize", async () => {
147
- // Add more events than batch size
148
- for (let i = 0; i < EVENTS_OVER_BATCH; i++) {
149
- eventQueue.add("custom", { index: i });
150
- }
151
- await eventQueue.flush();
152
- // Should only flush batchSize events
153
- expect(onFlush).toHaveBeenCalledWith(expect.arrayContaining([
154
- expect.objectContaining({ payload: { index: 0 } }),
155
- expect.objectContaining({ payload: { index: 1 } }),
156
- expect.objectContaining({ payload: { index: 2 } }),
157
- ]));
158
- // After first flush, queue continues to flush remaining events
159
- // Wait for auto-flush to complete
160
- await new Promise((resolve) => setTimeout(resolve, FLUSH_TIMEOUT + 10));
161
- // All events should eventually be flushed
162
- expect(eventQueue.getQueueSize()).toBe(0);
163
- });
164
- it("should not flush when offline", async () => {
165
- Object.defineProperty(global.navigator, "onLine", {
166
- value: false,
167
- writable: true,
168
- });
169
- const offlineQueue = new EventQueue(onFlush, {
170
- enableOfflineQueue: true,
171
- });
172
- offlineQueue.add("custom", { data: "test" });
173
- await offlineQueue.flush();
174
- expect(onFlush).not.toHaveBeenCalled();
175
- expect(offlineQueue.getQueueSize()).toBe(1);
176
- offlineQueue.destroy();
177
- });
178
- it("should auto-flush after timeout", async () => {
179
- vi.useFakeTimers();
180
- eventQueue.add("custom", { data: "test" });
181
- // Fast-forward past flush timeout
182
- vi.advanceTimersByTime(FLUSH_TIMEOUT + 1);
183
- // Allow promises to resolve
184
- await vi.runAllTimersAsync();
185
- expect(onFlush).toHaveBeenCalled();
186
- vi.useRealTimers();
187
- });
188
- });
189
- describe("retry logic", () => {
190
- it("should retry failed events", async () => {
191
- vi.useFakeTimers();
192
- // Make onFlush fail first time, succeed second time
193
- onFlush
194
- .mockRejectedValueOnce(new Error("Network error"))
195
- .mockResolvedValue(undefined);
196
- eventQueue.add("custom", { data: "test" });
197
- // Try to flush (will fail)
198
- await eventQueue.flush();
199
- // Fast-forward past retry delay (1 second for first retry)
200
- vi.advanceTimersByTime(RETRY_DELAY_BASE + 1);
201
- // Allow timers to execute
202
- await vi.runAllTimersAsync();
203
- // Event should be retried and succeed
204
- expect(onFlush).toHaveBeenCalledTimes(2);
205
- vi.useRealTimers();
206
- });
207
- it("should drop events after max retries", async () => {
208
- vi.useFakeTimers();
209
- // Make onFlush always fail
210
- onFlush.mockRejectedValue(new Error("Persistent error"));
211
- eventQueue.add("custom", { data: "test" });
212
- // Try to flush (will fail)
213
- await eventQueue.flush();
214
- // Simulate multiple retry attempts
215
- for (let i = 0; i < MAX_RETRIES; i++) {
216
- const delay = RETRY_DELAY_BASE * RETRY_MULTIPLIER ** i; // Exponential backoff
217
- vi.advanceTimersByTime(delay + 1);
218
- await vi.runAllTimersAsync();
219
- }
220
- // Event should be dropped after max retries
221
- expect(eventQueue.getQueueSize()).toBe(0);
222
- vi.useRealTimers();
223
- });
224
- });
225
- describe("online/offline handling", () => {
226
- it("should handle going offline", () => {
227
- eventQueue.add("custom", { data: "test" });
228
- // Simulate going offline
229
- const offlineEvent = new Event("offline");
230
- window.dispatchEvent(offlineEvent);
231
- expect(eventQueue.isOnlineStatus()).toBe(false);
232
- // Should save to storage
233
- expect(localStorage.setItem).toHaveBeenCalled();
234
- });
235
- it("should handle coming back online", () => {
236
- // Start offline
237
- Object.defineProperty(global.navigator, "onLine", {
238
- value: false,
239
- writable: true,
240
- });
241
- const queue = new EventQueue(onFlush, {
242
- enableOfflineQueue: true,
243
- });
244
- queue.add("custom", { data: "test" });
245
- // Come back online
246
- Object.defineProperty(global.navigator, "onLine", {
247
- value: true,
248
- writable: true,
249
- });
250
- const onlineEvent = new Event("online");
251
- window.dispatchEvent(onlineEvent);
252
- expect(queue.isOnlineStatus()).toBe(true);
253
- queue.destroy();
254
- });
255
- });
256
- describe("cleanup", () => {
257
- it("should clean up resources on destroy", () => {
258
- vi.useFakeTimers();
259
- eventQueue.add("custom", { data: "test" });
260
- // Destroy should save pending events
261
- eventQueue.destroy();
262
- expect(localStorage.setItem).toHaveBeenCalled();
263
- // Should not flush after destroy
264
- vi.advanceTimersByTime(FLUSH_TIMEOUT + 1);
265
- expect(onFlush).not.toHaveBeenCalled();
266
- vi.useRealTimers();
267
- });
268
- it("should remove event listeners on destroy", () => {
269
- const removeEventListenerSpy = vi.spyOn(window, "removeEventListener");
270
- eventQueue.destroy();
271
- expect(removeEventListenerSpy).toHaveBeenCalledWith("online", expect.any(Function));
272
- expect(removeEventListenerSpy).toHaveBeenCalledWith("offline", expect.any(Function));
273
- });
274
- });
275
- describe("compression", () => {
276
- it("should handle compression when enabled", async () => {
277
- const compressedQueue = new EventQueue(onFlush, {
278
- enableCompression: true,
279
- batchSize: 2,
280
- });
281
- compressedQueue.add("custom", { data: "test1" });
282
- compressedQueue.add("custom", { data: "test2" });
283
- await compressedQueue.flush();
284
- // Compression is a mock implementation, just ensure it doesn't break
285
- expect(onFlush).toHaveBeenCalled();
286
- compressedQueue.destroy();
287
- });
288
- });
289
- });
290
- //# sourceMappingURL=event-queue.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-queue.test.js","sourceRoot":"","sources":["../../../../src/__tests__/lib/core/event-queue.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=runtime.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/lib/core/runtime.test.ts"],"names":[],"mappings":""}
@@ -1,133 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it } from "vitest";
2
- import { detectRuntime, isClient } from "../../../lib/core/runtime.js";
3
- describe("Runtime Detection", () => {
4
- describe("isClient()", () => {
5
- it("should return true when window is defined", () => {
6
- // jsdom provides window object by default
7
- expect(isClient()).toBe(true);
8
- });
9
- it("should return false when window is undefined", () => {
10
- // Store original window reference
11
- const originalWindow = global.window;
12
- try {
13
- // @ts-expect-error - Temporarily removing window for testing
14
- global.window = undefined;
15
- expect(isClient()).toBe(false);
16
- }
17
- finally {
18
- // Restore window
19
- global.window = originalWindow;
20
- }
21
- });
22
- });
23
- describe("detectRuntime()", () => {
24
- // Store original global values
25
- let originalWindow;
26
- let originalEdgeRuntime;
27
- beforeEach(() => {
28
- // Save original values
29
- originalWindow = global.window;
30
- originalEdgeRuntime = Reflect.get(globalThis, "EdgeRuntime");
31
- });
32
- afterEach(() => {
33
- // Restore original values
34
- global.window = originalWindow;
35
- if (originalEdgeRuntime !== undefined) {
36
- Reflect.set(globalThis, "EdgeRuntime", originalEdgeRuntime);
37
- }
38
- else {
39
- Reflect.deleteProperty(globalThis, "EdgeRuntime");
40
- }
41
- });
42
- it("should detect 'client' runtime when window is defined", () => {
43
- // jsdom provides window by default
44
- const runtime = detectRuntime();
45
- expect(runtime).toBe("client");
46
- expect(runtime).toBe("client");
47
- });
48
- it("should detect 'edge' runtime when EdgeRuntime is present", () => {
49
- // Remove window to simulate non-browser environment
50
- // @ts-expect-error - Temporarily removing window for testing
51
- global.window = undefined;
52
- // Add EdgeRuntime marker
53
- Reflect.set(globalThis, "EdgeRuntime", { version: "test" });
54
- const runtime = detectRuntime();
55
- expect(runtime).toBe("edge");
56
- expect(runtime).toBe("edge");
57
- });
58
- it("should detect 'server' runtime when neither window nor EdgeRuntime exist", () => {
59
- // Remove window to simulate non-browser environment
60
- // @ts-expect-error - Temporarily removing window for testing
61
- global.window = undefined;
62
- // Ensure EdgeRuntime doesn't exist
63
- Reflect.deleteProperty(globalThis, "EdgeRuntime");
64
- const runtime = detectRuntime();
65
- expect(runtime).toBe("server");
66
- expect(runtime).toBe("server");
67
- });
68
- it("should prioritize 'client' over 'edge' when both markers exist", () => {
69
- // Window exists (provided by jsdom)
70
- // Add EdgeRuntime marker as well
71
- Reflect.set(globalThis, "EdgeRuntime", { version: "test" });
72
- // Client should take precedence
73
- const runtime = detectRuntime();
74
- expect(runtime).toBe("client");
75
- });
76
- it("should handle EdgeRuntime with different values", () => {
77
- // @ts-expect-error - Temporarily removing window for testing
78
- global.window = undefined;
79
- // Test with different EdgeRuntime values
80
- const edgeRuntimeValues = [
81
- {},
82
- { version: "1.0.0" },
83
- true,
84
- "edge",
85
- // biome-ignore lint/style/noMagicNumbers: Test value
86
- 123,
87
- null,
88
- ];
89
- for (const value of edgeRuntimeValues) {
90
- Reflect.set(globalThis, "EdgeRuntime", value);
91
- expect(detectRuntime()).toBe("edge");
92
- }
93
- });
94
- it("should be deterministic and return consistent results", () => {
95
- // Multiple calls should return the same result
96
- const firstCall = detectRuntime();
97
- const secondCall = detectRuntime();
98
- const thirdCall = detectRuntime();
99
- expect(firstCall).toBe(secondCall);
100
- expect(secondCall).toBe(thirdCall);
101
- });
102
- });
103
- describe("Type Safety", () => {
104
- it("should return values that match the Runtime type", () => {
105
- const runtime = detectRuntime();
106
- const validRuntimes = ["client", "server", "edge"];
107
- expect(validRuntimes).toContain(runtime);
108
- });
109
- it("should have exhaustive runtime detection", () => {
110
- // This test ensures all Runtime types are handled
111
- const checkExhaustive = (runtime) => {
112
- switch (runtime) {
113
- case "client":
114
- return "browser";
115
- case "server":
116
- return "node";
117
- case "edge":
118
- return "edge";
119
- default: {
120
- // This should never be reached if Runtime type is exhaustive
121
- const _exhaustive = runtime;
122
- throw new Error(`Unhandled runtime: ${_exhaustive}`);
123
- }
124
- }
125
- };
126
- // Test all possible runtime values
127
- expect(() => checkExhaustive("client")).not.toThrow();
128
- expect(() => checkExhaustive("server")).not.toThrow();
129
- expect(() => checkExhaustive("edge")).not.toThrow();
130
- });
131
- });
132
- });
133
- //# sourceMappingURL=runtime.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.test.js","sourceRoot":"","sources":["../../../../src/__tests__/lib/core/runtime.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=session-manager.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-manager.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/lib/core/session-manager.test.ts"],"names":[],"mappings":""}