@qurvo/sdk-core 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGlE,qBAAa,UAAU;IAUnB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAjB/B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAGpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,MAAa,EAC5B,SAAS,GAAE,MAAW,EACtB,YAAY,GAAE,MAAa,EAC3B,aAAa,GAAE,MAAe,EAC9B,MAAM,CAAC,EAAE,KAAK,YAAA,EACd,WAAW,CAAC,EAAE,gBAAgB,YAAA;IAejD,OAAO,CAAC,KAAK,EAAE,OAAO;IAatB,KAAK;IAKL,IAAI;IAOE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiD5B,OAAO,CAAC,eAAe;IAMjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAUzB,QAAQ,CAAC,SAAS,GAAE,MAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IASzD,cAAc,IAAI,IAAI;IAStB,IAAI,IAAI,WAEP;IAED,OAAO,CAAC,OAAO;CAOhB"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGlE,qBAAa,UAAU;IAUnB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAjB/B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAGpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,MAAa,EAC5B,SAAS,GAAE,MAAW,EACtB,YAAY,GAAE,MAAa,EAC3B,aAAa,GAAE,MAAe,EAC9B,MAAM,CAAC,EAAE,KAAK,YAAA,EACd,WAAW,CAAC,EAAE,gBAAgB,YAAA;IAejD,OAAO,CAAC,KAAK,EAAE,OAAO;IAatB,KAAK;IAKL,IAAI;IAOE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiD5B,OAAO,CAAC,eAAe;IAMjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAUzB,QAAQ,CAAC,SAAS,GAAE,MAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IASzD,cAAc,IAAI,IAAI;IAatB,IAAI,IAAI,WAEP;IAED,OAAO,CAAC,OAAO;CAOhB"}
package/dist/queue.js CHANGED
@@ -138,8 +138,13 @@ class EventQueue {
138
138
  ]);
139
139
  }
140
140
  flushForUnload() {
141
- const batch = [...(this.inFlightBatch || []), ...this.queue.splice(0)];
142
- this.inFlightBatch = null;
141
+ // If a flush() is already in-flight, don't re-send those events — they are
142
+ // being delivered by the ongoing fetch. Only grab remaining queue items.
143
+ const batch = this.flushing
144
+ ? this.queue.splice(0)
145
+ : [...(this.inFlightBatch || []), ...this.queue.splice(0)];
146
+ if (!this.flushing)
147
+ this.inFlightBatch = null;
143
148
  this.persist();
144
149
  if (batch.length === 0)
145
150
  return;
package/dist/queue.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qurvo/sdk-core",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "Core transport and event queue for Qurvo analytics SDKs",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=queue.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.test.d.ts","sourceRoot":"","sources":["../src/queue.test.ts"],"names":[],"mappings":""}
@@ -1,187 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const queue_1 = require("./queue");
5
- const types_1 = require("./types");
6
- function createMockTransport(sendFn) {
7
- return { send: sendFn ?? vitest_1.vi.fn(async () => true) };
8
- }
9
- function createMockPersistence() {
10
- const store = [];
11
- return {
12
- store,
13
- save: vitest_1.vi.fn((events) => { store.length = 0; store.push(...events); }),
14
- load: vitest_1.vi.fn(() => [...store]),
15
- };
16
- }
17
- function createQueue(opts = {}) {
18
- return new queue_1.EventQueue(opts.transport ?? createMockTransport(), 'https://ingest.test/v1/batch', 'test-key', 60_000, // large flush interval — we flush manually in tests
19
- opts.flushSize ?? 100, opts.maxQueueSize ?? 1000, 30_000, undefined, opts.persistence);
20
- }
21
- (0, vitest_1.describe)('EventQueue', () => {
22
- (0, vitest_1.beforeEach)(() => {
23
- vitest_1.vi.restoreAllMocks();
24
- });
25
- (0, vitest_1.it)('enqueues events and reports size', () => {
26
- const q = createQueue();
27
- q.enqueue({ id: 1 });
28
- q.enqueue({ id: 2 });
29
- (0, vitest_1.expect)(q.size).toBe(2);
30
- });
31
- (0, vitest_1.it)('flushes events via transport', async () => {
32
- const send = vitest_1.vi.fn(async () => true);
33
- const q = createQueue({ transport: createMockTransport(send) });
34
- q.enqueue({ id: 1 });
35
- q.enqueue({ id: 2 });
36
- await q.flush();
37
- (0, vitest_1.expect)(send).toHaveBeenCalledOnce();
38
- const payload = send.mock.calls[0][2];
39
- (0, vitest_1.expect)(payload.events).toHaveLength(2);
40
- (0, vitest_1.expect)(q.size).toBe(0);
41
- });
42
- (0, vitest_1.it)('re-queues events on transport failure (returns false)', async () => {
43
- const send = vitest_1.vi.fn(async () => false);
44
- const q = createQueue({ transport: createMockTransport(send) });
45
- q.enqueue({ id: 1 });
46
- await q.flush();
47
- (0, vitest_1.expect)(q.size).toBe(1);
48
- });
49
- (0, vitest_1.it)('re-queues events on transport error (network)', async () => {
50
- const send = vitest_1.vi.fn(async () => { throw new Error('network'); });
51
- const q = createQueue({ transport: createMockTransport(send) });
52
- q.enqueue({ id: 1 });
53
- await q.flush();
54
- (0, vitest_1.expect)(q.size).toBe(1);
55
- });
56
- (0, vitest_1.it)('drops batch on NonRetryableError', async () => {
57
- const send = vitest_1.vi.fn(async () => { throw new types_1.NonRetryableError(400, 'bad'); });
58
- const q = createQueue({ transport: createMockTransport(send) });
59
- q.enqueue({ id: 1 });
60
- await q.flush();
61
- (0, vitest_1.expect)(q.size).toBe(0);
62
- });
63
- (0, vitest_1.it)('clears queue and stops on QuotaExceededError', async () => {
64
- const send = vitest_1.vi.fn(async () => { throw new types_1.QuotaExceededError(); });
65
- const q = createQueue({ transport: createMockTransport(send) });
66
- q.enqueue({ id: 1 });
67
- q.enqueue({ id: 2 });
68
- await q.flush();
69
- (0, vitest_1.expect)(q.size).toBe(0);
70
- });
71
- (0, vitest_1.it)('drops oldest event when maxQueueSize is reached', () => {
72
- const q = createQueue({ maxQueueSize: 3 });
73
- q.enqueue({ id: 1 });
74
- q.enqueue({ id: 2 });
75
- q.enqueue({ id: 3 });
76
- q.enqueue({ id: 4 });
77
- (0, vitest_1.expect)(q.size).toBe(3);
78
- });
79
- (0, vitest_1.describe)('flushForUnload — in-flight batch recovery', () => {
80
- (0, vitest_1.it)('includes in-flight batch in unload flush', async () => {
81
- let resolveSend;
82
- const sendPromise = new Promise((r) => { resolveSend = () => r(true); });
83
- const sendCalls = [];
84
- const send = vitest_1.vi.fn(async (...args) => {
85
- sendCalls.push(args);
86
- if (sendCalls.length === 1)
87
- return sendPromise; // first call blocks
88
- return true;
89
- });
90
- const q = createQueue({ transport: createMockTransport(send), flushSize: 2 });
91
- q.enqueue({ id: 1 });
92
- q.enqueue({ id: 2 });
93
- q.enqueue({ id: 3 }); // stays in queue
94
- // Start flush — takes [1, 2] as in-flight, [3] remains
95
- const flushPromise = q.flush();
96
- // Before flush completes, simulate page unload
97
- q.flushForUnload();
98
- // unload should send ALL events: in-flight [1,2] + queue [3]
99
- (0, vitest_1.expect)(sendCalls).toHaveLength(2);
100
- const unloadPayload = sendCalls[1][2];
101
- (0, vitest_1.expect)(unloadPayload.events).toHaveLength(3);
102
- (0, vitest_1.expect)(unloadPayload.events.map((e) => e.id)).toEqual([1, 2, 3]);
103
- // Let the original flush complete
104
- resolveSend();
105
- await flushPromise;
106
- });
107
- (0, vitest_1.it)('sends only queue events when no in-flight batch', () => {
108
- const send = vitest_1.vi.fn(async () => true);
109
- const q = createQueue({ transport: createMockTransport(send) });
110
- q.enqueue({ id: 1 });
111
- q.flushForUnload();
112
- (0, vitest_1.expect)(send).toHaveBeenCalledOnce();
113
- const payload = send.mock.calls[0][2];
114
- (0, vitest_1.expect)(payload.events).toHaveLength(1);
115
- (0, vitest_1.expect)(q.size).toBe(0);
116
- });
117
- (0, vitest_1.it)('does nothing when queue and in-flight are empty', () => {
118
- const send = vitest_1.vi.fn(async () => true);
119
- const q = createQueue({ transport: createMockTransport(send) });
120
- q.flushForUnload();
121
- (0, vitest_1.expect)(send).not.toHaveBeenCalled();
122
- });
123
- });
124
- (0, vitest_1.describe)('persistence', () => {
125
- (0, vitest_1.it)('saves queue to persistence on enqueue', () => {
126
- const persistence = createMockPersistence();
127
- const q = createQueue({ persistence });
128
- q.enqueue({ id: 1 });
129
- (0, vitest_1.expect)(persistence.save).toHaveBeenCalled();
130
- (0, vitest_1.expect)(persistence.store).toEqual([{ id: 1 }]);
131
- });
132
- (0, vitest_1.it)('restores events from persistence on construction', () => {
133
- const persistence = createMockPersistence();
134
- persistence.store.push({ id: 'old1' }, { id: 'old2' });
135
- const q = createQueue({ persistence });
136
- (0, vitest_1.expect)(q.size).toBe(2);
137
- });
138
- (0, vitest_1.it)('clears persistence after successful flush', async () => {
139
- const persistence = createMockPersistence();
140
- const q = createQueue({ persistence });
141
- q.enqueue({ id: 1 });
142
- await q.flush();
143
- (0, vitest_1.expect)(persistence.store).toEqual([]);
144
- });
145
- (0, vitest_1.it)('persists remaining events after partial flush', async () => {
146
- const persistence = createMockPersistence();
147
- const q = createQueue({ persistence, flushSize: 1 });
148
- q.enqueue({ id: 1 });
149
- q.enqueue({ id: 2 });
150
- await q.flush(); // sends first, keeps second
151
- (0, vitest_1.expect)(persistence.store).toEqual([{ id: 2 }]);
152
- });
153
- (0, vitest_1.it)('persists on flushForUnload (clears queue)', () => {
154
- const persistence = createMockPersistence();
155
- const q = createQueue({ persistence });
156
- q.enqueue({ id: 1 });
157
- q.flushForUnload();
158
- // queue should be empty after unload flush
159
- (0, vitest_1.expect)(persistence.store).toEqual([]);
160
- });
161
- (0, vitest_1.it)('handles persistence load failure gracefully', () => {
162
- const persistence = {
163
- save: vitest_1.vi.fn(),
164
- load: vitest_1.vi.fn(() => { throw new Error('corrupt'); }),
165
- };
166
- const q = createQueue({ persistence });
167
- (0, vitest_1.expect)(q.size).toBe(0);
168
- });
169
- });
170
- (0, vitest_1.describe)('size', () => {
171
- (0, vitest_1.it)('includes in-flight batch during flush', async () => {
172
- let resolveSend;
173
- const send = vitest_1.vi.fn(() => new Promise((r) => { resolveSend = () => r(true); }));
174
- const q = createQueue({ transport: createMockTransport(send) });
175
- q.enqueue({ id: 1 });
176
- q.enqueue({ id: 2 });
177
- (0, vitest_1.expect)(q.size).toBe(2);
178
- // Start flush manually — events move to inFlightBatch
179
- const flushPromise = q.flush();
180
- (0, vitest_1.expect)(q.size).toBe(2); // 2 in-flight, 0 in queue
181
- resolveSend();
182
- await flushPromise;
183
- (0, vitest_1.expect)(q.size).toBe(0); // all sent
184
- });
185
- });
186
- });
187
- //# sourceMappingURL=queue.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.test.js","sourceRoot":"","sources":["../src/queue.test.ts"],"names":[],"mappings":"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"}