@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,447 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
- // Constants
3
- const TEST_SESSION_ID = "ses_test_123";
4
- const TEST_WINDOW_ID = "win_test_456";
5
- const POLL_INTERVAL = 1000;
6
- // Session timing constants
7
- const SESSION_START_OFFSET_MS = 10_000;
8
- const LAST_ACTIVITY_OFFSET_MS = 1000;
9
- const SESSION_TIMEOUT_MS = 1_800_000; // 30 minutes
10
- const TIME_SINCE_LAST_ACTIVITY_MS = 1000;
11
- // Response status
12
- const HTTP_OK = 200;
13
- // Regex patterns
14
- const WINDOW_ID_PATTERN = /^win_\d+_[a-z0-9]+$/;
15
- // Mock modules before imports
16
- vi.mock("../lib/core/event-queue", () => ({
17
- EventQueue: vi.fn().mockImplementation(() => ({
18
- add: vi.fn(),
19
- flush: vi.fn().mockResolvedValue(undefined),
20
- destroy: vi.fn(),
21
- getQueueSize: vi.fn().mockReturnValue(0),
22
- isOnlineStatus: vi.fn().mockReturnValue(true),
23
- setWindowId: vi.fn(),
24
- })),
25
- }));
26
- vi.mock("../lib/core/session-manager", () => ({
27
- SessionManager: vi.fn().mockImplementation((callback) => ({
28
- getSessionId: vi.fn().mockReturnValue(TEST_SESSION_ID),
29
- updateActivity: vi.fn(),
30
- resetSession: vi.fn(),
31
- getDebugInfo: vi.fn().mockReturnValue({
32
- sessionId: TEST_SESSION_ID,
33
- sessionStartTimestamp: Date.now() - SESSION_START_OFFSET_MS,
34
- lastActivityTimestamp: Date.now() - LAST_ACTIVITY_OFFSET_MS,
35
- sessionTimeoutMs: SESSION_TIMEOUT_MS,
36
- sessionAge: SESSION_START_OFFSET_MS,
37
- timeSinceLastActivity: TIME_SINCE_LAST_ACTIVITY_MS,
38
- isSessionActive: true,
39
- storageInfo: {
40
- canUseLocalStorage: true,
41
- canUseSessionStorage: true,
42
- storageKeys: ["interfere_session"],
43
- localStorageSupported: true,
44
- sessionStorageSupported: true,
45
- persistenceType: "localStorage",
46
- isDisabled: false,
47
- },
48
- }),
49
- onSessionChange: callback,
50
- })),
51
- }));
52
- describe("Client SDK", () => {
53
- let originalWindow;
54
- let originalDocument;
55
- let originalNavigator;
56
- let originalFetch;
57
- let windowEvents = {};
58
- beforeEach(() => {
59
- vi.clearAllMocks();
60
- vi.resetModules();
61
- // Save original globals
62
- originalWindow = global.window;
63
- originalDocument = global.document;
64
- originalNavigator = global.navigator;
65
- originalFetch = global.fetch;
66
- // Reset window events
67
- windowEvents = {};
68
- // Mock window
69
- Object.defineProperty(global, "window", {
70
- value: {
71
- location: {
72
- href: "https://example.com/page",
73
- },
74
- addEventListener: vi.fn((event, callback) => {
75
- if (!windowEvents[event]) {
76
- windowEvents[event] = [];
77
- }
78
- windowEvents[event].push(callback);
79
- }),
80
- removeEventListener: vi.fn((event, callback) => {
81
- if (windowEvents[event]) {
82
- windowEvents[event] = windowEvents[event].filter((cb) => cb !== callback);
83
- }
84
- }),
85
- },
86
- writable: true,
87
- configurable: true,
88
- });
89
- // Mock document
90
- Object.defineProperty(global, "document", {
91
- value: {
92
- visibilityState: "visible",
93
- },
94
- writable: true,
95
- configurable: true,
96
- });
97
- // Mock navigator
98
- Object.defineProperty(global, "navigator", {
99
- value: {
100
- userAgent: "Mozilla/5.0 Test Browser",
101
- },
102
- writable: true,
103
- configurable: true,
104
- });
105
- // Mock fetch
106
- global.fetch = vi.fn().mockResolvedValue({
107
- ok: true,
108
- status: HTTP_OK,
109
- json: () => Promise.resolve({
110
- sessionId: TEST_SESSION_ID,
111
- accepted: true,
112
- }),
113
- });
114
- });
115
- afterEach(() => {
116
- vi.clearAllMocks();
117
- // Restore globals
118
- global.window = originalWindow;
119
- global.document = originalDocument;
120
- global.navigator = originalNavigator;
121
- global.fetch = originalFetch;
122
- });
123
- describe("Initialization", () => {
124
- it("should initialize in browser environment", async () => {
125
- const clientModule = await import("../client.js");
126
- expect(clientModule.getWindowId()).toMatch(WINDOW_ID_PATTERN);
127
- // Verify event listeners were registered
128
- expect(global.window.addEventListener).toHaveBeenCalledWith("beforeunload", expect.any(Function));
129
- expect(global.window.addEventListener).toHaveBeenCalledWith("pagehide", expect.any(Function));
130
- expect(global.window.addEventListener).toHaveBeenCalledWith("visibilitychange", expect.any(Function));
131
- });
132
- it("should not initialize on server side", async () => {
133
- // Temporarily remove window
134
- const tempWindow = global.window;
135
- // biome-ignore lint/performance/noDelete: Needed for testing
136
- delete global.window;
137
- vi.resetModules();
138
- const clientModule = await import("../client.js");
139
- expect(clientModule.getWindowId()).toBe("");
140
- expect(clientModule.getSessionId()).toBe("");
141
- // Restore window
142
- global.window = tempWindow;
143
- });
144
- });
145
- describe("capture", () => {
146
- it("should capture events in browser", async () => {
147
- const clientModule = await import("../client.js");
148
- const eventType = "ui_event";
149
- const payload = { button: "test-button" };
150
- clientModule.capture(eventType, payload);
151
- const { EventQueue } = await import("../lib/core/event-queue.js");
152
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
153
- expect(mockInstance?.add).toHaveBeenCalledWith(eventType, payload);
154
- });
155
- it("should skip capture on server side", async () => {
156
- const tempWindow = global.window;
157
- // biome-ignore lint/performance/noDelete: Needed for testing
158
- delete global.window;
159
- vi.resetModules();
160
- const clientModule = await import("../client.js");
161
- clientModule.capture("ui_event", {});
162
- // Should not throw and should not call any methods
163
- expect(true).toBe(true);
164
- global.window = tempWindow;
165
- });
166
- });
167
- describe("flush", () => {
168
- it("should flush pending events", async () => {
169
- const clientModule = await import("../client.js");
170
- await clientModule.flush();
171
- const { EventQueue } = await import("../lib/core/event-queue.js");
172
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
173
- expect(mockInstance?.flush).toHaveBeenCalled();
174
- });
175
- it("should skip flush on server side", async () => {
176
- const tempWindow = global.window;
177
- // biome-ignore lint/performance/noDelete: Needed for testing
178
- delete global.window;
179
- vi.resetModules();
180
- const clientModule = await import("../client.js");
181
- await clientModule.flush();
182
- // Should not throw
183
- expect(true).toBe(true);
184
- global.window = tempWindow;
185
- });
186
- });
187
- describe("Session Management", () => {
188
- it("should get session ID", async () => {
189
- const clientModule = await import("../client.js");
190
- const sessionId = clientModule.getSessionId();
191
- expect(sessionId).toBe(TEST_SESSION_ID);
192
- });
193
- it("should get window ID", async () => {
194
- const clientModule = await import("../client.js");
195
- const windowId = clientModule.getWindowId();
196
- expect(windowId).toMatch(WINDOW_ID_PATTERN);
197
- });
198
- it("should reset session", async () => {
199
- const clientModule = await import("../client.js");
200
- clientModule.resetSession();
201
- const { SessionManager } = await import("../lib/core/session-manager.js");
202
- const mockInstance = vi.mocked(SessionManager).mock.results[0]?.value;
203
- expect(mockInstance?.resetSession).toHaveBeenCalled();
204
- });
205
- it("should handle session ID subscription", async () => {
206
- vi.useFakeTimers();
207
- const clientModule = await import("../client.js");
208
- const callback = vi.fn();
209
- const unsubscribe = clientModule.onSessionId(callback);
210
- // Advance timer to trigger callback
211
- vi.advanceTimersByTime(POLL_INTERVAL);
212
- expect(callback).toHaveBeenCalledWith(TEST_SESSION_ID);
213
- // Clean up
214
- unsubscribe();
215
- vi.useRealTimers();
216
- });
217
- });
218
- describe("Event Capture Helpers", () => {
219
- it("should capture error events", async () => {
220
- const clientModule = await import("../client.js");
221
- const error = new Error("Test error");
222
- error.stack = "Error stack trace";
223
- clientModule.captureError(error);
224
- const { EventQueue } = await import("../lib/core/event-queue.js");
225
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
226
- expect(mockInstance?.add).toHaveBeenCalledWith("error", {
227
- message: "Test error",
228
- stack: "Error stack trace",
229
- name: "Error",
230
- });
231
- });
232
- it("should capture non-Error objects as errors", async () => {
233
- const clientModule = await import("../client.js");
234
- clientModule.captureError("String error");
235
- const { EventQueue } = await import("../lib/core/event-queue.js");
236
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
237
- expect(mockInstance?.add).toHaveBeenCalledWith("error", {
238
- message: "String error",
239
- stack: undefined,
240
- name: "UnknownError",
241
- });
242
- });
243
- it("should capture custom events", async () => {
244
- const clientModule = await import("../client.js");
245
- const data = { custom: "data" };
246
- clientModule.captureCustom("test-event", data);
247
- const { EventQueue } = await import("../lib/core/event-queue.js");
248
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
249
- expect(mockInstance?.add).toHaveBeenCalledWith("custom", {
250
- name: "test-event",
251
- data,
252
- });
253
- });
254
- it("should capture UI events", async () => {
255
- const clientModule = await import("../client.js");
256
- const metadata = { element: "button" };
257
- clientModule.captureUIEvent("button_click", metadata);
258
- const { EventQueue } = await import("../lib/core/event-queue.js");
259
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
260
- expect(mockInstance?.add).toHaveBeenCalledWith("ui_event", {
261
- action: "button_click",
262
- metadata,
263
- });
264
- });
265
- });
266
- describe("Debug Features", () => {
267
- it("should set debug logger", async () => {
268
- const clientModule = await import("../client.js");
269
- const logger = vi.fn();
270
- clientModule.setDebugLogger(logger);
271
- // The logger should be set and shown in debug info
272
- const debugInfo = clientModule.getDebugInfo();
273
- expect(debugInfo.hasDebugLogger).toBe(true);
274
- });
275
- it("should clear debug logger", async () => {
276
- const clientModule = await import("../client.js");
277
- clientModule.setDebugLogger(undefined);
278
- const debugInfo = clientModule.getDebugInfo();
279
- expect(debugInfo.hasDebugLogger).toBe(false);
280
- });
281
- it("should get debug info in browser", async () => {
282
- const clientModule = await import("../client.js");
283
- const debugInfo = clientModule.getDebugInfo();
284
- expect(debugInfo).toMatchObject({
285
- sessionId: TEST_SESSION_ID,
286
- windowId: expect.stringMatching(WINDOW_ID_PATTERN),
287
- pendingEventsCount: 0,
288
- hasDebugLogger: false,
289
- isServerSide: false,
290
- sessionStartTimestamp: expect.any(Number),
291
- lastActivityTimestamp: expect.any(Number),
292
- sessionTimeoutMs: SESSION_TIMEOUT_MS,
293
- sessionAge: expect.any(Number),
294
- timeSinceLastActivity: expect.any(Number),
295
- isSessionActive: true,
296
- queueSize: 0,
297
- isOnline: true,
298
- storageInfo: {
299
- canUseLocalStorage: true,
300
- canUseSessionStorage: true,
301
- storageKeys: ["interfere_session"],
302
- localStorageSupported: true,
303
- sessionStorageSupported: true,
304
- persistenceType: "localStorage",
305
- isDisabled: false,
306
- },
307
- });
308
- });
309
- it("should get minimal debug info on server", async () => {
310
- const tempWindow = global.window;
311
- // biome-ignore lint/performance/noDelete: Needed for testing
312
- delete global.window;
313
- vi.resetModules();
314
- const clientModule = await import("../client.js");
315
- const debugInfo = clientModule.getDebugInfo();
316
- expect(debugInfo).toEqual({
317
- sessionId: null,
318
- windowId: null,
319
- pendingEventsCount: 0,
320
- hasDebugLogger: false,
321
- isServerSide: true,
322
- });
323
- global.window = tempWindow;
324
- });
325
- });
326
- describe("sendEvents function", () => {
327
- it("should send events to server", async () => {
328
- await import("../client.js");
329
- // Get the sendEvents function through the EventQueue mock
330
- const { EventQueue } = await import("../lib/core/event-queue.js");
331
- const sendEventsFn = vi.mocked(EventQueue).mock.calls[0]?.[0];
332
- const events = [
333
- {
334
- id: "event1",
335
- type: "ui_event",
336
- payload: { button: "test" },
337
- timestamp: Date.now(),
338
- windowId: TEST_WINDOW_ID,
339
- retryCount: 0,
340
- },
341
- ];
342
- if (sendEventsFn) {
343
- await sendEventsFn(events);
344
- }
345
- expect(global.fetch).toHaveBeenCalled();
346
- const fetchCall = vi.mocked(global.fetch).mock.calls[0];
347
- expect(fetchCall?.[0]).toBe("/api/interfere");
348
- expect(fetchCall?.[1]?.method).toBe("POST");
349
- expect(fetchCall?.[1]?.headers).toEqual({
350
- "Content-Type": "application/json",
351
- });
352
- expect(fetchCall?.[1]?.keepalive).toBe(true);
353
- const body = JSON.parse(fetchCall?.[1]?.body);
354
- expect(body.events).toHaveLength(1);
355
- expect(body.events[0].type).toBe("ui_event");
356
- expect(body.events[0].payload).toEqual({ button: "test" });
357
- expect(body.sessionId).toBe(TEST_SESSION_ID);
358
- expect(body.url).toBe("https://example.com/page");
359
- expect(body.userAgent).toBe("Mozilla/5.0 Test Browser");
360
- expect(body.windowId).toMatch(WINDOW_ID_PATTERN);
361
- });
362
- it("should handle send errors", async () => {
363
- const { EventQueue } = await import("../lib/core/event-queue.js");
364
- const sendEventsFn = vi.mocked(EventQueue).mock.calls[0]?.[0];
365
- vi.mocked(global.fetch).mockRejectedValueOnce(new Error("Network error"));
366
- const events = [
367
- {
368
- id: "event1",
369
- type: "ui_event",
370
- payload: {},
371
- timestamp: Date.now(),
372
- windowId: TEST_WINDOW_ID,
373
- retryCount: 0,
374
- },
375
- ];
376
- if (sendEventsFn) {
377
- await expect(sendEventsFn(events)).rejects.toThrow("Network error");
378
- }
379
- });
380
- });
381
- describe("Lifecycle", () => {
382
- it("should destroy SDK and clean up", async () => {
383
- const clientModule = await import("../client.js");
384
- clientModule.destroy();
385
- const { EventQueue } = await import("../lib/core/event-queue.js");
386
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
387
- expect(mockInstance?.flush).toHaveBeenCalled();
388
- expect(mockInstance?.destroy).toHaveBeenCalled();
389
- });
390
- it("should handle page visibility changes", async () => {
391
- await import("../client.js");
392
- // Trigger visibility change to hidden
393
- Object.defineProperty(global.document, "visibilityState", {
394
- value: "hidden",
395
- writable: true,
396
- });
397
- // Trigger the event listener
398
- const visibilityCallback = windowEvents.visibilitychange?.[0];
399
- if (visibilityCallback) {
400
- visibilityCallback();
401
- }
402
- const { EventQueue } = await import("../lib/core/event-queue.js");
403
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
404
- expect(mockInstance?.flush).toHaveBeenCalled();
405
- });
406
- it("should flush on beforeunload", async () => {
407
- await import("../client.js");
408
- // Trigger beforeunload event
409
- const beforeunloadCallback = windowEvents.beforeunload?.[0];
410
- if (beforeunloadCallback) {
411
- beforeunloadCallback();
412
- }
413
- const { EventQueue } = await import("../lib/core/event-queue.js");
414
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
415
- expect(mockInstance?.flush).toHaveBeenCalled();
416
- });
417
- it("should flush on pagehide", async () => {
418
- await import("../client.js");
419
- // Trigger pagehide event
420
- const pagehideCallback = windowEvents.pagehide?.[0];
421
- if (pagehideCallback) {
422
- pagehideCallback();
423
- }
424
- const { EventQueue } = await import("../lib/core/event-queue.js");
425
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
426
- expect(mockInstance?.flush).toHaveBeenCalled();
427
- });
428
- it("should not flush when page becomes visible", async () => {
429
- await import("../client.js");
430
- // Reset mock to clear any previous calls
431
- const { EventQueue } = await import("../lib/core/event-queue.js");
432
- const mockInstance = vi.mocked(EventQueue).mock.results[0]?.value;
433
- vi.mocked(mockInstance?.flush).mockClear();
434
- // Trigger visibility change to visible
435
- Object.defineProperty(global.document, "visibilityState", {
436
- value: "visible",
437
- writable: true,
438
- });
439
- const visibilityCallback = windowEvents.visibilitychange?.[0];
440
- if (visibilityCallback) {
441
- visibilityCallback();
442
- }
443
- expect(mockInstance?.flush).not.toHaveBeenCalled();
444
- });
445
- });
446
- });
447
- //# sourceMappingURL=client.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../src/__tests__/client.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAGzE,YAAY;AACZ,MAAM,eAAe,GAAG,cAAc,CAAC;AACvC,MAAM,cAAc,GAAG,cAAc,CAAC;AACtC,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,2BAA2B;AAC3B,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,MAAM,kBAAkB,GAAG,SAAS,CAAC,CAAC,aAAa;AACnD,MAAM,2BAA2B,GAAG,IAAI,CAAC;AACzC,kBAAkB;AAClB,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,iBAAiB;AACjB,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEhD,8BAA8B;AAC9B,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC3C,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;QACxC,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QAC7C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;KACrB,CAAC,CAAC;CACJ,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC;QACtD,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;QACvB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;QACrB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;YACpC,SAAS,EAAE,eAAe;YAC1B,qBAAqB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,uBAAuB;YAC3D,qBAAqB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,uBAAuB;YAC3D,gBAAgB,EAAE,kBAAkB;YACpC,UAAU,EAAE,uBAAuB;YACnC,qBAAqB,EAAE,2BAA2B;YAClD,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE;gBACX,kBAAkB,EAAE,IAAI;gBACxB,oBAAoB,EAAE,IAAI;gBAC1B,WAAW,EAAE,CAAC,mBAAmB,CAAC;gBAClC,qBAAqB,EAAE,IAAI;gBAC3B,uBAAuB,EAAE,IAAI;gBAC7B,eAAe,EAAE,cAAc;gBAC/B,UAAU,EAAE,KAAK;aAClB;SACF,CAAC;QACF,eAAe,EAAE,QAAQ;KAC1B,CAAC,CAAC;CACJ,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,cAAwC,CAAC;IAC7C,IAAI,gBAA4C,CAAC;IACjD,IAAI,iBAA8C,CAAC;IACnD,IAAI,aAAsC,CAAC;IAC3C,IAAI,YAAY,GAAoD,EAAE,CAAC;IAEvE,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,YAAY,EAAE,CAAC;QAElB,wBAAwB;QACxB,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/B,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;QACnC,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC;QACrC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;QAE7B,sBAAsB;QACtB,YAAY,GAAG,EAAE,CAAC;QAElB,cAAc;QACd,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;YACtC,KAAK,EAAE;gBACL,QAAQ,EAAE;oBACR,IAAI,EAAE,0BAA0B;iBACjC;gBACD,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;oBAC1C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBAC3B,CAAC;oBACD,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrC,CAAC,CAAC;gBACF,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;oBAC7C,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxB,YAAY,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAC9C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CACxB,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC;aACH;YACD,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE;YACxC,KAAK,EAAE;gBACL,eAAe,EAAE,SAAS;aAC3B;YACD,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,iBAAiB;QACjB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,KAAK,EAAE;gBACL,SAAS,EAAE,0BAA0B;aACtC;YACD,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,aAAa;QACb,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACvC,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,GAAG,EAAE,CACT,OAAO,CAAC,OAAO,CAAC;gBACd,SAAS,EAAE,eAAe;gBAC1B,QAAQ,EAAE,IAAI;aACf,CAAC;SACL,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,kBAAkB;QAClB,MAAM,CAAC,MAAM,GAAG,cAAqB,CAAC;QACtC,MAAM,CAAC,QAAQ,GAAG,gBAAuB,CAAC;QAC1C,MAAM,CAAC,SAAS,GAAG,iBAAwB,CAAC;QAC5C,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAE9D,yCAAyC;YACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,cAAc,EACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CACrB,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,UAAU,EACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CACrB,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACzD,kBAAkB,EAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,4BAA4B;YAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YACjC,6DAA6D;YAC7D,OAAQ,MAAc,CAAC,MAAM,CAAC;YAE9B,EAAE,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE7C,iBAAiB;YACjB,MAAM,CAAC,MAAM,GAAG,UAAiB,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,SAAS,GAAc,UAAU,CAAC;YACxC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YAE1C,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAEzC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YACjC,6DAA6D;YAC7D,OAAQ,MAAc,CAAC,MAAM,CAAC;YAE9B,EAAE,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAErC,mDAAmD;YACnD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,MAAM,CAAC,MAAM,GAAG,UAAiB,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YAE3B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YACjC,6DAA6D;YAC7D,OAAQ,MAAc,CAAC,MAAM,CAAC;YAE9B,EAAE,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YAE3B,mBAAmB;YACnB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExB,MAAM,CAAC,MAAM,GAAG,UAAiB,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YAE5C,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,YAAY,CAAC,YAAY,EAAE,CAAC;YAE5B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YACtE,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,EAAE,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAEzB,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEvD,oCAAoC;YACpC,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YAEtC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAEvD,WAAW;YACX,WAAW,EAAE,CAAC;YACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,KAAK,CAAC,KAAK,GAAG,mBAAmB,CAAC;YAElC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEjC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE;gBACtD,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,YAAY,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YAE1C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE;gBACtD,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,cAAc;aACrB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAEhC,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAE/C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE;gBACvD,IAAI,EAAE,YAAY;gBAClB,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;YAEvC,YAAY,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAEtD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE;gBACzD,MAAM,EAAE,cAAc;gBACtB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAEvB,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAEpC,mDAAmD;YACnD,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEvC,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;gBAC9B,SAAS,EAAE,eAAe;gBAC1B,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC;gBAClD,kBAAkB,EAAE,CAAC;gBACrB,cAAc,EAAE,KAAK;gBACrB,YAAY,EAAE,KAAK;gBACnB,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBACzC,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBACzC,gBAAgB,EAAE,kBAAkB;gBACpC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC9B,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBACzC,eAAe,EAAE,IAAI;gBACrB,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE;oBACX,kBAAkB,EAAE,IAAI;oBACxB,oBAAoB,EAAE,IAAI;oBAC1B,WAAW,EAAE,CAAC,mBAAmB,CAAC;oBAClC,qBAAqB,EAAE,IAAI;oBAC3B,uBAAuB,EAAE,IAAI;oBAC7B,eAAe,EAAE,cAAc;oBAC/B,UAAU,EAAE,KAAK;iBAClB;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YACjC,6DAA6D;YAC7D,OAAQ,MAAc,CAAC,MAAM,CAAC;YAE9B,EAAE,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;gBACxB,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,IAAI;gBACd,kBAAkB,EAAE,CAAC;gBACrB,cAAc,EAAE,KAAK;gBACrB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,GAAG,UAAiB,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAE7B,0DAA0D;YAC1D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9D,MAAM,MAAM,GAAkB;gBAC5B;oBACE,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;oBAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,QAAQ,EAAE,cAAc;oBACxB,UAAU,EAAE,CAAC;iBACd;aACF,CAAC;YAEF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;gBACtC,cAAc,EAAE,kBAAkB;aACnC,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAc,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9D,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAE1E,MAAM,MAAM,GAAkB;gBAC5B;oBACE,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,QAAQ,EAAE,cAAc;oBACxB,UAAU,EAAE,CAAC;iBACd;aACF,CAAC;YAEF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAElD,YAAY,CAAC,OAAO,EAAE,CAAC;YAEvB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC/C,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAE7B,sCAAsC;YACtC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE;gBACxD,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,6BAA6B;YAC7B,MAAM,kBAAkB,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,kBAAkB,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAE7B,6BAA6B;YAC7B,MAAM,oBAAoB,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5D,IAAI,oBAAoB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC;YACzB,CAAC;YAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAE7B,yBAAyB;YACzB,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,gBAAgB,EAAE,CAAC;YACrB,CAAC;YAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAE7B,yCAAyC;YACzC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAClE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;YAE3C,uCAAuC;YACvC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE;gBACxD,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,kBAAkB,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC;YACvB,CAAC;YAED,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=error-handlers.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-handlers.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/lib/core/error-handlers.test.ts"],"names":[],"mappings":""}