@mainframework/api-request-worker 1.0.1 → 1.0.2

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.
package/README.md CHANGED
@@ -45,6 +45,58 @@ yarn add @mainframework/api-request-worker
45
45
 
46
46
  If you use the optional React hook, a peer dependency `react >= 19` is required.
47
47
 
48
+ ---
49
+
50
+ ## Quickstart
51
+
52
+ ### React
53
+
54
+ ```ts
55
+ import { useApiWorker } from "@mainframework/api-request-worker/react";
56
+
57
+ export function Todos() {
58
+ const { data, loading, error, refetch } = useApiWorker<{ id: string; title: string }[]>({
59
+ cacheName: "todos",
60
+ request: { url: "https://api.example.com/todos", method: "GET" },
61
+ runMode: "auto",
62
+ });
63
+
64
+ if (loading) return null;
65
+ if (error) return null;
66
+
67
+ return (
68
+ <div>
69
+ <button onClick={refetch}>Refresh</button>
70
+ <pre>{JSON.stringify(data, null, 2)}</pre>
71
+ </div>
72
+ );
73
+ }
74
+ ```
75
+
76
+ ### Vanilla JS/TS
77
+
78
+ ```ts
79
+ import { createApiWorker } from "@mainframework/api-request-worker";
80
+
81
+ const worker = createApiWorker();
82
+ const cacheName = "todos";
83
+
84
+ worker.onmessage = (event) => {
85
+ const msg = event.data;
86
+ if (msg.cacheName !== cacheName) return;
87
+ if (msg.error?.message) throw new Error(msg.error.message);
88
+ console.log(msg.data);
89
+ };
90
+
91
+ worker.postMessage({
92
+ dataRequest: {
93
+ type: "set",
94
+ cacheName,
95
+ request: { url: "https://api.example.com/todos", method: "GET" },
96
+ },
97
+ });
98
+ ```
99
+
48
100
  ### Public imports only
49
101
 
50
102
  Use only these import paths. Do not import the worker script directly.
@@ -58,6 +110,18 @@ The worker is not a public entry. Obtain it only by calling `createApiWorker()`
58
110
 
59
111
  ---
60
112
 
113
+ ## Bundler notes (Vite / Webpack / Next.js)
114
+
115
+ - **Vite**: Works out of the box. The worker is created via `new Worker(new URL(..., import.meta.url), { type: "module" })`.
116
+
117
+ - **Webpack**: Must support ESM module workers. Ensure your build supports `new URL(..., import.meta.url)` for assets and that module workers are enabled.
118
+
119
+ - **Next.js**: Use **client-only** code paths.
120
+ - Add `"use client";` at the top of any file that imports `@mainframework/api-request-worker/react`.
121
+ - Do not call `createApiWorker()` during SSR.
122
+
123
+ ---
124
+
61
125
  ## Usage with Vanilla TypeScript / JavaScript
62
126
 
63
127
  Import from the main package entry and create the worker with `createApiWorker`. You then talk to the worker via the standard `postMessage` API: send **dataRequests** with `worker.postMessage`, and handle responses in `worker.onmessage`. No framework required.
@@ -647,6 +711,7 @@ import type {
647
711
  WorkerDataRequestType,
648
712
  WorkerMessageData,
649
713
  BinaryParseResult,
714
+ ContentType,
650
715
  } from "@mainframework/api-request-worker";
651
716
  ```
652
717
 
@@ -1,5 +1,5 @@
1
- import { U as UseApiWorkerConfig, h as UseApiWorkerReturn } from '../../types-CTW-HSpg.js';
2
- export { R as RequestConfig } from '../../types-CTW-HSpg.js';
1
+ import { U as UseApiWorkerConfig, h as UseApiWorkerReturn } from '../../types-Bbz0QMYB.js';
2
+ export { R as RequestConfig } from '../../types-Bbz0QMYB.js';
3
3
 
4
4
  declare const useApiWorker: <T>(config: UseApiWorkerConfig) => UseApiWorkerReturn<T>;
5
5
 
@@ -1,4 +1,4 @@
1
- import { useRef, useState, useCallback, useEffect } from 'react';
1
+ import { useRef, useState, useCallback } from 'react';
2
2
  import { createApiWorker } from './vanilla.js';
3
3
 
4
4
  let idCounter = 0;
@@ -25,7 +25,9 @@ const useCustomCallback = (callback, dependencies) => {
25
25
  const DEFAULT_CHUNK_BATCH = 5;
26
26
  const toNumber = (val, fallback) => typeof val === "number" && Number.isFinite(val) ? val : fallback;
27
27
  const toStreamChunks = (val) => val === void 0 || val === null ? void 0 : Array.isArray(val) ? val : void 0;
28
- const apiWorker = createApiWorker();
28
+ let apiWorker = null;
29
+ let workerInitialized = false;
30
+ let cleanupTimer = null;
29
31
  const STALE_ENTRY_MS = 5e3;
30
32
  const CLEANUP_INTERVAL_MS = 3e4;
31
33
  const normalizeKey = (key) => key.toLocaleLowerCase();
@@ -74,81 +76,96 @@ const finalizeEntry = (entry) => {
74
76
  entry.requestId = null;
75
77
  entry.setUpdateTrigger?.(updater);
76
78
  };
77
- apiWorker.onmessage = (event) => {
78
- const msg = event.data;
79
- const cacheName = msg.cacheName;
80
- const hookId = msg.hookId;
81
- const error = msg.error;
82
- const key = cacheName ? normalizeKey(cacheName) : "";
83
- if ("stream" in msg && msg.stream) {
84
- const entry2 = findEntry(cacheName, hookId);
85
- if (!entry2) return;
86
- const batchSize = toNumber(entry2.streamChunkBatchSize, DEFAULT_CHUNK_BATCH);
87
- switch (msg.stream) {
88
- case "start": {
89
- streamAccumulators[key] = { chunks: [], meta: msg.meta ?? null };
90
- streamThrottleState[key] = { pendingChunks: [] };
91
- entry2.streamChunks = [];
92
- entry2.meta = msg.meta ?? null;
93
- entry2.setUpdateTrigger?.(updater);
94
- return;
95
- }
96
- case "resume":
97
- if (!streamAccumulators[key]) streamAccumulators[key] = { chunks: [], meta: msg.meta ?? null };
98
- else if (msg.meta) streamAccumulators[key].meta = msg.meta;
99
- if (!streamThrottleState[key]) streamThrottleState[key] = { pendingChunks: [] };
100
- if (msg.meta) entry2.meta = msg.meta ?? null;
101
- return;
102
- case "chunk": {
103
- const acc = streamAccumulators[key];
104
- const throttle = streamThrottleState[key];
105
- if (acc && msg.data) acc.chunks.push(msg.data);
106
- if (throttle && msg.data) {
107
- throttle.pendingChunks.push(msg.data);
108
- if (throttle.pendingChunks.length >= batchSize) {
109
- flushStreamBatch(key, entry2);
79
+ const getApiWorker = () => {
80
+ if (apiWorker) return apiWorker;
81
+ apiWorker = createApiWorker();
82
+ return apiWorker;
83
+ };
84
+ const ensureWorkerInitialized = () => {
85
+ const worker = getApiWorker();
86
+ if (workerInitialized) return worker;
87
+ workerInitialized = true;
88
+ if (!cleanupTimer) {
89
+ cleanupTimer = setInterval(() => runStaleEntryCleanup(), CLEANUP_INTERVAL_MS);
90
+ }
91
+ worker.onmessage = (event) => {
92
+ const msg = event.data;
93
+ const cacheName = msg.cacheName;
94
+ const hookId = msg.hookId;
95
+ const error = msg.error;
96
+ const key = cacheName ? normalizeKey(cacheName) : "";
97
+ if ("stream" in msg && msg.stream) {
98
+ const entry2 = findEntry(cacheName, hookId);
99
+ if (!entry2) return;
100
+ const batchSize = toNumber(entry2.streamChunkBatchSize, DEFAULT_CHUNK_BATCH);
101
+ switch (msg.stream) {
102
+ case "start": {
103
+ streamAccumulators[key] = { chunks: [], meta: msg.meta ?? null };
104
+ streamThrottleState[key] = { pendingChunks: [] };
105
+ entry2.streamChunks = [];
106
+ entry2.meta = msg.meta ?? null;
107
+ entry2.setUpdateTrigger?.(updater);
108
+ return;
109
+ }
110
+ case "resume":
111
+ if (!streamAccumulators[key]) streamAccumulators[key] = { chunks: [], meta: msg.meta ?? null };
112
+ else if (msg.meta) streamAccumulators[key].meta = msg.meta;
113
+ if (!streamThrottleState[key]) streamThrottleState[key] = { pendingChunks: [] };
114
+ if (msg.meta) entry2.meta = msg.meta ?? null;
115
+ return;
116
+ case "chunk": {
117
+ const acc = streamAccumulators[key];
118
+ const throttle = streamThrottleState[key];
119
+ if (acc && msg.data) acc.chunks.push(msg.data);
120
+ if (throttle && msg.data) {
121
+ throttle.pendingChunks.push(msg.data);
122
+ if (throttle.pendingChunks.length >= batchSize) {
123
+ flushStreamBatch(key, entry2);
124
+ }
110
125
  }
126
+ return;
111
127
  }
112
- return;
113
- }
114
- case "end": {
115
- const acc = streamAccumulators[key];
116
- const throttle = streamThrottleState[key];
117
- if (throttle?.pendingChunks.length) flushStreamBatch(key, entry2);
118
- delete streamThrottleState[key];
119
- delete streamAccumulators[key];
120
- const errMsg = error?.message ?? "";
121
- if (errMsg !== "") {
122
- entry2.error = errMsg;
123
- } else if (acc) {
124
- entry2.data = new Blob(acc.chunks, acc.meta?.contentType ? { type: acc.meta.contentType } : void 0);
125
- entry2.meta = acc.meta ?? null;
126
- entry2.error = null;
127
- entry2.lastActivityAt = Date.now();
128
+ case "end": {
129
+ const acc = streamAccumulators[key];
130
+ const throttle = streamThrottleState[key];
131
+ if (throttle?.pendingChunks.length) flushStreamBatch(key, entry2);
132
+ delete streamThrottleState[key];
133
+ delete streamAccumulators[key];
134
+ const errMsg = error?.message ?? "";
135
+ if (errMsg !== "") {
136
+ entry2.error = errMsg;
137
+ } else if (acc) {
138
+ entry2.data = new Blob(acc.chunks, acc.meta?.contentType ? { type: acc.meta.contentType } : void 0);
139
+ entry2.meta = acc.meta ?? null;
140
+ entry2.error = null;
141
+ entry2.lastActivityAt = Date.now();
142
+ }
143
+ entry2.loading = false;
144
+ finalizeEntry(entry2);
145
+ return;
128
146
  }
129
- entry2.loading = false;
130
- finalizeEntry(entry2);
131
- return;
132
147
  }
133
148
  }
134
- }
135
- const entry = findEntry(cacheName, hookId);
136
- if (!entry) return;
137
- const message = error?.message ?? "";
138
- if (message !== "") {
139
- entry.error = message;
140
- entry.loading = false;
141
- } else {
142
- entry.data = msg.data ?? null;
143
- entry.meta = msg.meta ?? null;
144
- entry.lastActivityAt = Date.now();
145
- entry.error = null;
146
- entry.loading = false;
147
- }
148
- finalizeEntry(entry);
149
+ const entry = findEntry(cacheName, hookId);
150
+ if (!entry) return;
151
+ const message = error?.message ?? "";
152
+ if (message !== "") {
153
+ entry.error = message;
154
+ entry.loading = false;
155
+ } else {
156
+ entry.data = msg.data ?? null;
157
+ entry.meta = msg.meta ?? null;
158
+ entry.lastActivityAt = Date.now();
159
+ entry.error = null;
160
+ entry.loading = false;
161
+ }
162
+ finalizeEntry(entry);
163
+ };
164
+ return worker;
149
165
  };
150
166
  const useApiWorker = (config) => {
151
167
  const { cacheName, request: requestConfig, data: configData, runMode = "auto", enabled = true } = config;
168
+ const worker = ensureWorkerInitialized();
152
169
  const hookIdRef = useRef("");
153
170
  const queueKey = normalizeKey(cacheName);
154
171
  const hasExecutedRef = useRef(false);
@@ -178,14 +195,11 @@ const useApiWorker = (config) => {
178
195
  const hookId = hookIdRef.current;
179
196
  const deleteCache = useCallback(() => {
180
197
  if (cacheName) {
181
- apiWorker.postMessage({
198
+ worker.postMessage({
182
199
  dataRequest: { type: "delete", cacheName, hookId: hookIdRef.current }
183
200
  });
184
201
  }
185
- }, [cacheName]);
186
- useEffect(() => {
187
- runStaleEntryCleanup();
188
- });
202
+ }, [cacheName, worker]);
189
203
  const doRequest = useCallback(() => {
190
204
  const entry2 = responseQueue[queueKey];
191
205
  if (!entry2 || entry2.loading) return;
@@ -201,14 +215,14 @@ const useApiWorker = (config) => {
201
215
  entry2.streamChunkBatchSize = toNumber(requestConfig.streamChunkBatchSize, DEFAULT_CHUNK_BATCH);
202
216
  }
203
217
  const request = isStream && requestConfig.retries === void 0 ? { ...requestConfig, retries: 3 } : requestConfig;
204
- apiWorker.postMessage({
218
+ worker.postMessage({
205
219
  dataRequest: { type: "set", cacheName, hookId, requestId, payload: configData, request }
206
220
  });
207
221
  } else {
208
- apiWorker.postMessage({ dataRequest: { type: "get", cacheName, hookId } });
222
+ worker.postMessage({ dataRequest: { type: "get", cacheName, hookId } });
209
223
  }
210
224
  hasExecutedRef.current = true;
211
- }, [queueKey, cacheName, hookId, requestConfig, configData]);
225
+ }, [queueKey, cacheName, hookId, requestConfig, configData, worker]);
212
226
  const makeRequest = useCustomCallback(() => {
213
227
  if (!enabled || runMode === "once" && hasExecutedRef.current) return;
214
228
  doRequest();
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sources":["../../../src/shared/utils/uniqueId.ts","../../../node_modules/@mainframework/is-deep-equal/dist/index.mjs","../../../src/shared/hooks/useCustomCallback.ts","../../../src/shared/hooks/useApiWorker.ts"],"sourcesContent":["// utils/uniqueId.ts\r\nlet idCounter = 0;\r\n\r\n/**\r\n * Generates a stable, unique string ID.\r\n * SSR-safe and works in any environment.\r\n */\r\nexport const uniqueId = (): string => {\r\n idCounter += 1;\r\n return idCounter.toString();\r\n};\r\n","const e=e=>\"object\"==typeof e&&null!==e,t=e=>\"function\"==typeof e,r=e=>e instanceof Date,n=e=>e instanceof RegExp,o=e=>e instanceof Set,f=e=>e instanceof Map,i=e=>e instanceof String||e instanceof Number||e instanceof Boolean,a=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),s=e=>Object.getPrototypeOf(e),u=e=>null==e||\"object\"!=typeof e&&\"function\"!=typeof e,c=(l,y,p=new WeakMap,b={})=>{if(l===y)return!0;if(\"number\"==typeof l&&\"number\"==typeof y&&Number.isNaN(l)&&Number.isNaN(y))return!0;if(b.normalizeBoxedPrimitives&&(i(l)&&(l=l.valueOf()),i(y)&&(y=y.valueOf()),u(l)&&u(y)))return l===y;if(u(l)||u(y))return!1;if(t(l)||t(y))return l===y;if(!e(l)||!e(y))return!1;let g=p.get(l)??(()=>{const e=new WeakMap;return p.set(l,e),e})();const h=g.get(y);if(void 0!==h)return h;g.set(y,!0);const w=s(l),A=s(y);let m;return m=Array.isArray(l)&&Array.isArray(y)?((e,t,r,n)=>{if(e.length!==t.length)return!1;for(let o=0;o<e.length;o++){if(n.strictSparseArrays){const r=Object.prototype.hasOwnProperty.call(e,o),n=Object.prototype.hasOwnProperty.call(t,o);if(r!==n)return!1;if(!r&&!n)continue}if(!c(e[o],t[o],r,n))return!1}return!0})(l,y,p,b):!Array.isArray(l)&&!Array.isArray(y)&&(r(l)&&r(y)?((e,t)=>e.getTime()===t.getTime())(l,y):n(l)&&n(y)?((e,t)=>e.source===t.source&&e.flags===t.flags)(l,y):a(l)&&a(y)?((e,t)=>{if(e.constructor!==t.constructor||e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);for(let e=0;e<r.length;e++)if(r[e]!==n[e])return!1;return!0})(l,y):o(l)&&o(y)?((e,t,r,n)=>{if(e.size!==t.size)return!1;const o=Array.from(t),f=new Set;for(const t of e){const e=o.findIndex((e,r)=>!f.has(r)&&t===e);if(-1!==e){f.add(e);continue}let i=!1;for(let e=0;e<o.length;e++)if(!f.has(e)&&c(t,o[e],r,n)){f.add(e),i=!0;break}if(!i)return!1}return!0})(l,y,p,b):f(l)&&f(y)?((e,t,r,n)=>{if(e.size!==t.size)return!1;const o=Array.from(t),f=new Set;for(const[i,a]of e){if(u(i)){const e=t.get(i);if(void 0===e&&!t.has(i))return!1;if(!c(a,e,r,n))return!1;continue}let e=!1;for(let t=0;t<o.length;t++)if(!f.has(t)){const[s,u]=o[t];if(c(i,s,r,n)&&c(a,u,r,n)){f.add(t),e=!0;break}}if(!e)return!1}return!0})(l,y,p,b):!(!b.allowPrototypeMismatch&&w!==A)&&((e,t,r,n)=>{let o=0;for(const f of Reflect.ownKeys(e)){if(!Object.prototype.hasOwnProperty.call(t,f))return!1;if(!c(e[f],t[f],r,n))return!1;o++}return Reflect.ownKeys(t).length===o})(l,y,p,b)),g.set(y,m),m},l=(e,t,r)=>c(e,t,new WeakMap,r);export{l as isEqual};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\r\nimport { useRef } from \"react\";\r\nimport { isEqual } from \"@mainframework/is-deep-equal\";\r\n\r\nexport const useCustomCallback = <T extends (...args: unknown[]) => unknown>(\r\n callback: T,\r\n dependencies: unknown[],\r\n): T => {\r\n const refCallback = useRef<T>(callback);\r\n const refDependencies = useRef<unknown[]>(dependencies);\r\n\r\n // Update refs synchronously during render\r\n if (!dependencies.every((dep, index) => isEqual(dep, refDependencies.current[index]))) {\r\n refDependencies.current = dependencies;\r\n refCallback.current = callback;\r\n }\r\n\r\n // Stable callback, always calls latest callback\r\n const stableCallback = useRef(\r\n (...args: Parameters<T>): ReturnType<T> => refCallback.current(...args) as ReturnType<T>,\r\n ).current;\r\n\r\n return stableCallback as T;\r\n};\r\n","// useApiWorker.ts\r\nimport { useRef, useState, useCallback, useEffect } from \"react\";\r\nimport { createApiWorker } from \"../utils/createApiWorker\";\r\nimport { uniqueId } from \"../utils/uniqueId\";\r\nimport type {\r\n BinaryResponseMeta,\r\n DataRequest,\r\n QueueEntry,\r\n UseApiWorkerConfig,\r\n UseApiWorkerReturn,\r\n WorkerMessagePayload,\r\n} from \"../types/types\";\r\n\r\ntype StreamAccumulator = { chunks: ArrayBuffer[]; meta: BinaryResponseMeta | null };\r\n\r\ntype StreamThrottleState = {\r\n pendingChunks: ArrayBuffer[];\r\n};\r\n\r\nconst DEFAULT_CHUNK_BATCH = 5;\r\n\r\nconst toNumber = (val: unknown, fallback: number): number =>\r\n typeof val === \"number\" && Number.isFinite(val) ? val : fallback;\r\n\r\nconst toStreamChunks = (val: unknown): ArrayBuffer[] | undefined =>\r\n val === undefined || val === null ? undefined : Array.isArray(val) ? (val as ArrayBuffer[]) : undefined;\r\n\r\nimport { useCustomCallback } from \"./useCustomCallback\";\r\n\r\n// ============================================================================\r\n// MODULE-LEVEL WORKER & QUEUE\r\n// ============================================================================\r\n\r\nconst apiWorker = createApiWorker();\r\n\r\nconst STALE_ENTRY_MS = 5000;\r\nconst CLEANUP_INTERVAL_MS = 30000;\r\n\r\nconst normalizeKey = (key: string) => key.toLocaleLowerCase();\r\n\r\nconst cleanupState = { isDeleting: false, lastRun: 0 };\r\n\r\nconst runStaleEntryCleanup = (): void => {\r\n const now = Date.now();\r\n if (cleanupState.isDeleting || now < cleanupState.lastRun + CLEANUP_INTERVAL_MS) return;\r\n\r\n cleanupState.isDeleting = true;\r\n\r\n try {\r\n const keys = Object.keys(responseQueue);\r\n let i = 0;\r\n while (i < keys.length) {\r\n const key = keys[i] as string;\r\n const entry = responseQueue[key];\r\n const streamInProgress = streamThrottleState[key] != null || streamAccumulators[key] != null;\r\n if (\r\n entry &&\r\n !streamInProgress &&\r\n entry.data != null &&\r\n entry.lastActivityAt != null &&\r\n now - entry.lastActivityAt >= STALE_ENTRY_MS\r\n ) {\r\n entry.loading = null;\r\n entry.data = null;\r\n entry.meta = null;\r\n entry.error = null;\r\n entry.setUpdateTrigger = null;\r\n entry.requestId = null;\r\n delete entry.streamChunks;\r\n delete streamThrottleState[key];\r\n }\r\n i++;\r\n }\r\n } finally {\r\n cleanupState.isDeleting = false;\r\n cleanupState.lastRun = now;\r\n }\r\n};\r\n\r\nconst responseQueue: Record<string, QueueEntry<unknown>> = {};\r\n\r\nconst streamAccumulators: Record<string, StreamAccumulator> = {};\r\nconst streamThrottleState: Record<string, StreamThrottleState> = {};\r\n\r\nconst updater = (n: number) => n + 1;\r\n\r\nconst flushStreamBatch = (key: string, entry: QueueEntry<unknown>): void => {\r\n const state = streamThrottleState[key];\r\n if (!state || state.pendingChunks.length === 0) return;\r\n entry.streamChunks = state.pendingChunks.slice();\r\n state.pendingChunks.length = 0;\r\n entry.setUpdateTrigger?.(updater);\r\n};\r\n\r\nconst findEntry = (cacheName: string | undefined, hookId: string | undefined) =>\r\n cacheName\r\n ? responseQueue[normalizeKey(cacheName)]\r\n : hookId\r\n ? (Object.values(responseQueue).find((e) => e.hookId === hookId) ?? null)\r\n : null;\r\n\r\nconst finalizeEntry = (entry: QueueEntry<unknown>): void => {\r\n entry.requestId = null;\r\n entry.setUpdateTrigger?.(updater);\r\n};\r\n\r\n// Worker always sends error ({ message: string }). Entry is found by cacheName or hookId.\r\n// Stream responses: start → chunk(s) → end; we accumulate chunks then set data = new Blob(chunks) on end.\r\napiWorker.onmessage = (event: MessageEvent<WorkerMessagePayload>) => {\r\n const msg = event.data;\r\n const cacheName = msg.cacheName;\r\n const hookId = msg.hookId;\r\n const error = msg.error;\r\n const key = cacheName ? normalizeKey(cacheName) : \"\";\r\n\r\n if (\"stream\" in msg && msg.stream) {\r\n const entry = findEntry(cacheName, hookId);\r\n if (!entry) return;\r\n const batchSize = toNumber(entry.streamChunkBatchSize, DEFAULT_CHUNK_BATCH);\r\n switch (msg.stream) {\r\n case \"start\": {\r\n streamAccumulators[key] = { chunks: [], meta: msg.meta ?? null };\r\n streamThrottleState[key] = { pendingChunks: [] };\r\n entry.streamChunks = [];\r\n entry.meta = msg.meta ?? null;\r\n entry.setUpdateTrigger?.(updater);\r\n return;\r\n }\r\n case \"resume\":\r\n if (!streamAccumulators[key]) streamAccumulators[key] = { chunks: [], meta: msg.meta ?? null };\r\n else if (msg.meta) streamAccumulators[key].meta = msg.meta;\r\n if (!streamThrottleState[key]) streamThrottleState[key] = { pendingChunks: [] };\r\n if (msg.meta) entry.meta = msg.meta ?? null;\r\n return;\r\n case \"chunk\": {\r\n const acc = streamAccumulators[key];\r\n const throttle = streamThrottleState[key];\r\n if (acc && msg.data) acc.chunks.push(msg.data);\r\n if (throttle && msg.data) {\r\n throttle.pendingChunks.push(msg.data);\r\n if (throttle.pendingChunks.length >= batchSize) {\r\n flushStreamBatch(key, entry);\r\n }\r\n }\r\n return;\r\n }\r\n case \"end\": {\r\n const acc = streamAccumulators[key];\r\n const throttle = streamThrottleState[key];\r\n if (throttle?.pendingChunks.length) flushStreamBatch(key, entry);\r\n delete streamThrottleState[key];\r\n delete streamAccumulators[key];\r\n const errMsg = error?.message ?? \"\";\r\n if (errMsg !== \"\") {\r\n entry.error = errMsg;\r\n } else if (acc) {\r\n entry.data = new Blob(acc.chunks, acc.meta?.contentType ? { type: acc.meta.contentType } : undefined);\r\n entry.meta = acc.meta ?? null;\r\n entry.error = null;\r\n entry.lastActivityAt = Date.now();\r\n }\r\n entry.loading = false;\r\n finalizeEntry(entry);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n const entry = findEntry(cacheName, hookId);\r\n if (!entry) return;\r\n\r\n const message = error?.message ?? \"\";\r\n if (message !== \"\") {\r\n entry.error = message;\r\n entry.loading = false;\r\n } else {\r\n entry.data = msg.data ?? null;\r\n entry.meta = msg.meta ?? null;\r\n entry.lastActivityAt = Date.now();\r\n entry.error = null;\r\n entry.loading = false;\r\n }\r\n finalizeEntry(entry);\r\n};\r\n\r\n// ============================================================================\r\n// HOOK\r\n// ============================================================================\r\n\r\nexport type { RequestConfig, UseApiWorkerConfig, UseApiWorkerReturn } from \"../types/types\";\r\n\r\nexport const useApiWorker = <T>(config: UseApiWorkerConfig): UseApiWorkerReturn<T> => {\r\n const { cacheName, request: requestConfig, data: configData, runMode = \"auto\", enabled = true } = config;\r\n\r\n const hookIdRef = useRef<string>(\"\");\r\n const queueKey = normalizeKey(cacheName);\r\n\r\n const hasExecutedRef = useRef(false);\r\n const [, setUpdateTrigger] = useState(0);\r\n\r\n let storeEntry = responseQueue[queueKey];\r\n\r\n if (!storeEntry) {\r\n const hookId = uniqueId();\r\n storeEntry = responseQueue[queueKey] = {\r\n hookId,\r\n cacheName,\r\n data: null,\r\n loading: false,\r\n error: null,\r\n setUpdateTrigger: () => {},\r\n requestId: null,\r\n meta: null,\r\n lastActivityAt: null,\r\n };\r\n hookIdRef.current = hookId;\r\n } else {\r\n hookIdRef.current = storeEntry.hookId;\r\n storeEntry.lastActivityAt = Date.now();\r\n }\r\n const entry = storeEntry;\r\n entry.setUpdateTrigger = setUpdateTrigger;\r\n\r\n const hookId = hookIdRef.current;\r\n\r\n const deleteCache = useCallback(() => {\r\n if (cacheName) {\r\n apiWorker.postMessage({\r\n dataRequest: { type: \"delete\", cacheName, hookId: hookIdRef.current },\r\n });\r\n }\r\n }, [cacheName]);\r\n\r\n //This runs on every render, as the cleanup. Look at the function, it's has an early return if cleanup is happening\r\n useEffect(() => {\r\n runStaleEntryCleanup();\r\n });\r\n\r\n const doRequest = useCallback(() => {\r\n const entry = responseQueue[queueKey];\r\n if (!entry || entry.loading) return;\r\n entry.loading = true;\r\n entry.error = null;\r\n entry.lastActivityAt = Date.now();\r\n entry.setUpdateTrigger?.(updater);\r\n if (requestConfig) {\r\n const requestId = uniqueId();\r\n entry.requestId = requestId;\r\n const isStream = requestConfig.responseType?.toLowerCase() === \"stream\";\r\n if (isStream) {\r\n entry.streamChunkBatchSize = toNumber(requestConfig.streamChunkBatchSize, DEFAULT_CHUNK_BATCH);\r\n }\r\n const request =\r\n isStream && requestConfig.retries === undefined ? { ...requestConfig, retries: 3 } : requestConfig;\r\n apiWorker.postMessage({\r\n dataRequest: { type: \"set\", cacheName, hookId, requestId, payload: configData, request },\r\n });\r\n } else {\r\n apiWorker.postMessage({ dataRequest: { type: \"get\", cacheName, hookId } as DataRequest<unknown> });\r\n }\r\n hasExecutedRef.current = true;\r\n }, [queueKey, cacheName, hookId, requestConfig, configData]);\r\n\r\n const makeRequest = useCustomCallback(() => {\r\n if (!enabled || (runMode === \"once\" && hasExecutedRef.current)) return;\r\n doRequest();\r\n }, [enabled, runMode, doRequest]);\r\n\r\n const hasAlreadyRunOnce = runMode === \"once\" && hasExecutedRef.current;\r\n const shouldRun = (runMode === \"auto\" || runMode === \"once\") && enabled && (requestConfig || cacheName);\r\n if (shouldRun && !hasAlreadyRunOnce && !entry.loading) {\r\n doRequest();\r\n }\r\n return {\r\n data: (entry.data as T) ?? null,\r\n meta: entry.meta ?? null,\r\n loading: entry.loading ?? false,\r\n error: entry.error ?? null,\r\n refetch: makeRequest,\r\n deleteCache,\r\n streamChunks: toStreamChunks(entry.streamChunks),\r\n };\r\n};\r\n"],"names":["isEqual","entry","hookId"],"mappings":";;;AACA,IAAI,SAAA,GAAY,CAAA;AAMT,MAAM,WAAW,MAAc;AACpC,EAAA,SAAA,IAAa,CAAA;AACb,EAAA,OAAO,UAAU,QAAA,EAAS;AAC5B,CAAA;;ACVA,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,MAAM,EAAE,CAAC,YAAY,MAAM,EAAE,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAM,KAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAM,KAAE,CAAC,GAAG,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,OAAM,MAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAM,MAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,OAAM,KAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,OAAM,MAAE,CAAC,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,OAAM,KAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAM,MAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,OAAM,KAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAM,MAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,OAAM,KAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,MAAE,CAAC,CAAC,GAAE,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;;ACI16E,MAAM,iBAAA,GAAoB,CAC/B,QAAA,EACA,YAAA,KACM;AACN,EAAA,MAAM,WAAA,GAAc,OAAU,QAAQ,CAAA;AACtC,EAAA,MAAM,eAAA,GAAkB,OAAkB,YAAY,CAAA;AAGtD,EAAA,IAAI,CAAC,YAAA,CAAa,KAAA,CAAM,CAAC,GAAA,EAAK,KAAA,KAAUA,CAAA,CAAQ,GAAA,EAAK,eAAA,CAAgB,OAAA,CAAQ,KAAK,CAAC,CAAC,CAAA,EAAG;AACrF,IAAA,eAAA,CAAgB,OAAA,GAAU,YAAA;AAC1B,IAAA,WAAA,CAAY,OAAA,GAAU,QAAA;AAAA,EACxB;AAGA,EAAA,MAAM,cAAA,GAAiB,MAAA;AAAA,IACrB,CAAA,GAAI,IAAA,KAAuC,WAAA,CAAY,OAAA,CAAQ,GAAG,IAAI;AAAA,GACxE,CAAE,OAAA;AAEF,EAAA,OAAO,cAAA;AACT,CAAA;;ACJA,MAAM,mBAAA,GAAsB,CAAA;AAE5B,MAAM,QAAA,GAAW,CAAC,GAAA,EAAc,QAAA,KAC9B,OAAO,GAAA,KAAQ,QAAA,IAAY,MAAA,CAAO,QAAA,CAAS,GAAG,CAAA,GAAI,GAAA,GAAM,QAAA;AAE1D,MAAM,cAAA,GAAiB,CAAC,GAAA,KACtB,GAAA,KAAQ,MAAA,IAAa,GAAA,KAAQ,IAAA,GAAO,MAAA,GAAY,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,GAAK,GAAA,GAAwB,MAAA;AAQhG,MAAM,YAAY,eAAA,EAAgB;AAElC,MAAM,cAAA,GAAiB,GAAA;AACvB,MAAM,mBAAA,GAAsB,GAAA;AAE5B,MAAM,YAAA,GAAe,CAAC,GAAA,KAAgB,GAAA,CAAI,iBAAA,EAAkB;AAE5D,MAAM,YAAA,GAAe,EAAE,UAAA,EAAY,KAAA,EAAO,SAAS,CAAA,EAAE;AAErD,MAAM,uBAAuB,MAAY;AACvC,EAAA,MAAM,GAAA,GAAM,KAAK,GAAA,EAAI;AACrB,EAAA,IAAI,YAAA,CAAa,UAAA,IAAc,GAAA,GAAM,YAAA,CAAa,UAAU,mBAAA,EAAqB;AAEjF,EAAA,YAAA,CAAa,UAAA,GAAa,IAAA;AAE1B,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,MAAA,CAAO,IAAA,CAAK,aAAa,CAAA;AACtC,IAAA,IAAI,CAAA,GAAI,CAAA;AACR,IAAA,OAAO,CAAA,GAAI,KAAK,MAAA,EAAQ;AACtB,MAAA,MAAM,GAAA,GAAM,KAAK,CAAC,CAAA;AAClB,MAAA,MAAM,KAAA,GAAQ,cAAc,GAAG,CAAA;AAC/B,MAAA,MAAM,mBAAmB,mBAAA,CAAoB,GAAG,KAAK,IAAA,IAAQ,kBAAA,CAAmB,GAAG,CAAA,IAAK,IAAA;AACxF,MAAA,IACE,KAAA,IACA,CAAC,gBAAA,IACD,KAAA,CAAM,IAAA,IAAQ,IAAA,IACd,KAAA,CAAM,cAAA,IAAkB,IAAA,IACxB,GAAA,GAAM,KAAA,CAAM,cAAA,IAAkB,cAAA,EAC9B;AACA,QAAA,KAAA,CAAM,OAAA,GAAU,IAAA;AAChB,QAAA,KAAA,CAAM,IAAA,GAAO,IAAA;AACb,QAAA,KAAA,CAAM,IAAA,GAAO,IAAA;AACb,QAAA,KAAA,CAAM,KAAA,GAAQ,IAAA;AACd,QAAA,KAAA,CAAM,gBAAA,GAAmB,IAAA;AACzB,QAAA,KAAA,CAAM,SAAA,GAAY,IAAA;AAClB,QAAA,OAAO,KAAA,CAAM,YAAA;AACb,QAAA,OAAO,oBAAoB,GAAG,CAAA;AAAA,MAChC;AACA,MAAA,CAAA,EAAA;AAAA,IACF;AAAA,EACF,CAAA,SAAE;AACA,IAAA,YAAA,CAAa,UAAA,GAAa,KAAA;AAC1B,IAAA,YAAA,CAAa,OAAA,GAAU,GAAA;AAAA,EACzB;AACF,CAAA;AAEA,MAAM,gBAAqD,EAAC;AAE5D,MAAM,qBAAwD,EAAC;AAC/D,MAAM,sBAA2D,EAAC;AAElE,MAAM,OAAA,GAAU,CAAC,CAAA,KAAc,CAAA,GAAI,CAAA;AAEnC,MAAM,gBAAA,GAAmB,CAAC,GAAA,EAAa,KAAA,KAAqC;AAC1E,EAAA,MAAM,KAAA,GAAQ,oBAAoB,GAAG,CAAA;AACrC,EAAA,IAAI,CAAC,KAAA,IAAS,KAAA,CAAM,aAAA,CAAc,WAAW,CAAA,EAAG;AAChD,EAAA,KAAA,CAAM,YAAA,GAAe,KAAA,CAAM,aAAA,CAAc,KAAA,EAAM;AAC/C,EAAA,KAAA,CAAM,cAAc,MAAA,GAAS,CAAA;AAC7B,EAAA,KAAA,CAAM,mBAAmB,OAAO,CAAA;AAClC,CAAA;AAEA,MAAM,SAAA,GAAY,CAAC,SAAA,EAA+B,MAAA,KAChD,YACI,aAAA,CAAc,YAAA,CAAa,SAAS,CAAC,CAAA,GACrC,MAAA,GACG,OAAO,MAAA,CAAO,aAAa,EAAE,IAAA,CAAK,CAAC,MAAM,CAAA,CAAE,MAAA,KAAW,MAAM,CAAA,IAAK,IAAA,GAClE,IAAA;AAER,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAqC;AAC1D,EAAA,KAAA,CAAM,SAAA,GAAY,IAAA;AAClB,EAAA,KAAA,CAAM,mBAAmB,OAAO,CAAA;AAClC,CAAA;AAIA,SAAA,CAAU,SAAA,GAAY,CAAC,KAAA,KAA8C;AACnE,EAAA,MAAM,MAAM,KAAA,CAAM,IAAA;AAClB,EAAA,MAAM,YAAY,GAAA,CAAI,SAAA;AACtB,EAAA,MAAM,SAAS,GAAA,CAAI,MAAA;AACnB,EAAA,MAAM,QAAQ,GAAA,CAAI,KAAA;AAClB,EAAA,MAAM,GAAA,GAAM,SAAA,GAAY,YAAA,CAAa,SAAS,CAAA,GAAI,EAAA;AAElD,EAAA,IAAI,QAAA,IAAY,GAAA,IAAO,GAAA,CAAI,MAAA,EAAQ;AACjC,IAAA,MAAMC,MAAAA,GAAQ,SAAA,CAAU,SAAA,EAAW,MAAM,CAAA;AACzC,IAAA,IAAI,CAACA,MAAAA,EAAO;AACZ,IAAA,MAAM,SAAA,GAAY,QAAA,CAASA,MAAAA,CAAM,oBAAA,EAAsB,mBAAmB,CAAA;AAC1E,IAAA,QAAQ,IAAI,MAAA;AAAQ,MAClB,KAAK,OAAA,EAAS;AACZ,QAAA,kBAAA,CAAmB,GAAG,IAAI,EAAE,MAAA,EAAQ,EAAC,EAAG,IAAA,EAAM,GAAA,CAAI,IAAA,IAAQ,IAAA,EAAK;AAC/D,QAAA,mBAAA,CAAoB,GAAG,CAAA,GAAI,EAAE,aAAA,EAAe,EAAC,EAAE;AAC/C,QAAAA,MAAAA,CAAM,eAAe,EAAC;AACtB,QAAAA,MAAAA,CAAM,IAAA,GAAO,GAAA,CAAI,IAAA,IAAQ,IAAA;AACzB,QAAAA,MAAAA,CAAM,mBAAmB,OAAO,CAAA;AAChC,QAAA;AAAA,MACF;AAAA,MACA,KAAK,QAAA;AACH,QAAA,IAAI,CAAC,kBAAA,CAAmB,GAAG,CAAA,qBAAsB,GAAG,CAAA,GAAI,EAAE,MAAA,EAAQ,EAAC,EAAG,IAAA,EAAM,GAAA,CAAI,QAAQ,IAAA,EAAK;AAAA,aAAA,IACpF,IAAI,IAAA,EAAM,kBAAA,CAAmB,GAAG,CAAA,CAAE,OAAO,GAAA,CAAI,IAAA;AACtD,QAAA,IAAI,CAAC,mBAAA,CAAoB,GAAG,CAAA,EAAG,mBAAA,CAAoB,GAAG,CAAA,GAAI,EAAE,aAAA,EAAe,EAAC,EAAE;AAC9E,QAAA,IAAI,IAAI,IAAA,EAAMA,MAAAA,CAAM,IAAA,GAAO,IAAI,IAAA,IAAQ,IAAA;AACvC,QAAA;AAAA,MACF,KAAK,OAAA,EAAS;AACZ,QAAA,MAAM,GAAA,GAAM,mBAAmB,GAAG,CAAA;AAClC,QAAA,MAAM,QAAA,GAAW,oBAAoB,GAAG,CAAA;AACxC,QAAA,IAAI,OAAO,GAAA,CAAI,IAAA,MAAU,MAAA,CAAO,IAAA,CAAK,IAAI,IAAI,CAAA;AAC7C,QAAA,IAAI,QAAA,IAAY,IAAI,IAAA,EAAM;AACxB,UAAA,QAAA,CAAS,aAAA,CAAc,IAAA,CAAK,GAAA,CAAI,IAAI,CAAA;AACpC,UAAA,IAAI,QAAA,CAAS,aAAA,CAAc,MAAA,IAAU,SAAA,EAAW;AAC9C,YAAA,gBAAA,CAAiB,KAAKA,MAAK,CAAA;AAAA,UAC7B;AAAA,QACF;AACA,QAAA;AAAA,MACF;AAAA,MACA,KAAK,KAAA,EAAO;AACV,QAAA,MAAM,GAAA,GAAM,mBAAmB,GAAG,CAAA;AAClC,QAAA,MAAM,QAAA,GAAW,oBAAoB,GAAG,CAAA;AACxC,QAAA,IAAI,QAAA,EAAU,aAAA,CAAc,MAAA,EAAQ,gBAAA,CAAiB,KAAKA,MAAK,CAAA;AAC/D,QAAA,OAAO,oBAAoB,GAAG,CAAA;AAC9B,QAAA,OAAO,mBAAmB,GAAG,CAAA;AAC7B,QAAA,MAAM,MAAA,GAAS,OAAO,OAAA,IAAW,EAAA;AACjC,QAAA,IAAI,WAAW,EAAA,EAAI;AACjB,UAAAA,OAAM,KAAA,GAAQ,MAAA;AAAA,QAChB,WAAW,GAAA,EAAK;AACd,UAAAA,MAAAA,CAAM,IAAA,GAAO,IAAI,IAAA,CAAK,IAAI,MAAA,EAAQ,GAAA,CAAI,IAAA,EAAM,WAAA,GAAc,EAAE,IAAA,EAAM,GAAA,CAAI,IAAA,CAAK,WAAA,KAAgB,MAAS,CAAA;AACpG,UAAAA,MAAAA,CAAM,IAAA,GAAO,GAAA,CAAI,IAAA,IAAQ,IAAA;AACzB,UAAAA,OAAM,KAAA,GAAQ,IAAA;AACd,UAAAA,MAAAA,CAAM,cAAA,GAAiB,IAAA,CAAK,GAAA,EAAI;AAAA,QAClC;AACA,QAAAA,OAAM,OAAA,GAAU,KAAA;AAChB,QAAA,aAAA,CAAcA,MAAK,CAAA;AACnB,QAAA;AAAA,MACF;AAAA;AACF,EACF;AAEA,EAAA,MAAM,KAAA,GAAQ,SAAA,CAAU,SAAA,EAAW,MAAM,CAAA;AACzC,EAAA,IAAI,CAAC,KAAA,EAAO;AAEZ,EAAA,MAAM,OAAA,GAAU,OAAO,OAAA,IAAW,EAAA;AAClC,EAAA,IAAI,YAAY,EAAA,EAAI;AAClB,IAAA,KAAA,CAAM,KAAA,GAAQ,OAAA;AACd,IAAA,KAAA,CAAM,OAAA,GAAU,KAAA;AAAA,EAClB,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,IAAA,GAAO,IAAI,IAAA,IAAQ,IAAA;AACzB,IAAA,KAAA,CAAM,IAAA,GAAO,IAAI,IAAA,IAAQ,IAAA;AACzB,IAAA,KAAA,CAAM,cAAA,GAAiB,KAAK,GAAA,EAAI;AAChC,IAAA,KAAA,CAAM,KAAA,GAAQ,IAAA;AACd,IAAA,KAAA,CAAM,OAAA,GAAU,KAAA;AAAA,EAClB;AACA,EAAA,aAAA,CAAc,KAAK,CAAA;AACrB,CAAA;AAQO,MAAM,YAAA,GAAe,CAAI,MAAA,KAAsD;AACpF,EAAA,MAAM,EAAE,SAAA,EAAW,OAAA,EAAS,aAAA,EAAe,IAAA,EAAM,YAAY,OAAA,GAAU,MAAA,EAAQ,OAAA,GAAU,IAAA,EAAK,GAAI,MAAA;AAElG,EAAA,MAAM,SAAA,GAAY,OAAe,EAAE,CAAA;AACnC,EAAA,MAAM,QAAA,GAAW,aAAa,SAAS,CAAA;AAEvC,EAAA,MAAM,cAAA,GAAiB,OAAO,KAAK,CAAA;AACnC,EAAA,MAAM,GAAG,gBAAgB,CAAA,GAAI,SAAS,CAAC,CAAA;AAEvC,EAAA,IAAI,UAAA,GAAa,cAAc,QAAQ,CAAA;AAEvC,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,MAAMC,UAAS,QAAA,EAAS;AACxB,IAAA,UAAA,GAAa,aAAA,CAAc,QAAQ,CAAA,GAAI;AAAA,MACrC,MAAA,EAAAA,OAAAA;AAAA,MACA,SAAA;AAAA,MACA,IAAA,EAAM,IAAA;AAAA,MACN,OAAA,EAAS,KAAA;AAAA,MACT,KAAA,EAAO,IAAA;AAAA,MACP,kBAAkB,MAAM;AAAA,MAAC,CAAA;AAAA,MACzB,SAAA,EAAW,IAAA;AAAA,MACX,IAAA,EAAM,IAAA;AAAA,MACN,cAAA,EAAgB;AAAA,KAClB;AACA,IAAA,SAAA,CAAU,OAAA,GAAUA,OAAAA;AAAA,EACtB,CAAA,MAAO;AACL,IAAA,SAAA,CAAU,UAAU,UAAA,CAAW,MAAA;AAC/B,IAAA,UAAA,CAAW,cAAA,GAAiB,KAAK,GAAA,EAAI;AAAA,EACvC;AACA,EAAA,MAAM,KAAA,GAAQ,UAAA;AACd,EAAA,KAAA,CAAM,gBAAA,GAAmB,gBAAA;AAEzB,EAAA,MAAM,SAAS,SAAA,CAAU,OAAA;AAEzB,EAAA,MAAM,WAAA,GAAc,YAAY,MAAM;AACpC,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,SAAA,CAAU,WAAA,CAAY;AAAA,QACpB,aAAa,EAAE,IAAA,EAAM,UAAU,SAAA,EAAW,MAAA,EAAQ,UAAU,OAAA;AAAQ,OACrE,CAAA;AAAA,IACH;AAAA,EACF,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAGd,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,oBAAA,EAAqB;AAAA,EACvB,CAAC,CAAA;AAED,EAAA,MAAM,SAAA,GAAY,YAAY,MAAM;AAClC,IAAA,MAAMD,MAAAA,GAAQ,cAAc,QAAQ,CAAA;AACpC,IAAA,IAAI,CAACA,MAAAA,IAASA,MAAAA,CAAM,OAAA,EAAS;AAC7B,IAAAA,OAAM,OAAA,GAAU,IAAA;AAChB,IAAAA,OAAM,KAAA,GAAQ,IAAA;AACd,IAAAA,MAAAA,CAAM,cAAA,GAAiB,IAAA,CAAK,GAAA,EAAI;AAChC,IAAAA,MAAAA,CAAM,mBAAmB,OAAO,CAAA;AAChC,IAAA,IAAI,aAAA,EAAe;AACjB,MAAA,MAAM,YAAY,QAAA,EAAS;AAC3B,MAAAA,OAAM,SAAA,GAAY,SAAA;AAClB,MAAA,MAAM,QAAA,GAAW,aAAA,CAAc,YAAA,EAAc,WAAA,EAAY,KAAM,QAAA;AAC/D,MAAA,IAAI,QAAA,EAAU;AACZ,QAAAA,MAAAA,CAAM,oBAAA,GAAuB,QAAA,CAAS,aAAA,CAAc,sBAAsB,mBAAmB,CAAA;AAAA,MAC/F;AACA,MAAA,MAAM,OAAA,GACJ,QAAA,IAAY,aAAA,CAAc,OAAA,KAAY,MAAA,GAAY,EAAE,GAAG,aAAA,EAAe,OAAA,EAAS,CAAA,EAAE,GAAI,aAAA;AACvF,MAAA,SAAA,CAAU,WAAA,CAAY;AAAA,QACpB,WAAA,EAAa,EAAE,IAAA,EAAM,KAAA,EAAO,WAAW,MAAA,EAAQ,SAAA,EAAW,OAAA,EAAS,UAAA,EAAY,OAAA;AAAQ,OACxF,CAAA;AAAA,IACH,CAAA,MAAO;AACL,MAAA,SAAA,CAAU,WAAA,CAAY,EAAE,WAAA,EAAa,EAAE,MAAM,KAAA,EAAO,SAAA,EAAW,MAAA,EAAO,EAA2B,CAAA;AAAA,IACnG;AACA,IAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AAAA,EAC3B,GAAG,CAAC,QAAA,EAAU,WAAW,MAAA,EAAQ,aAAA,EAAe,UAAU,CAAC,CAAA;AAE3D,EAAA,MAAM,WAAA,GAAc,kBAAkB,MAAM;AAC1C,IAAA,IAAI,CAAC,OAAA,IAAY,OAAA,KAAY,MAAA,IAAU,eAAe,OAAA,EAAU;AAChE,IAAA,SAAA,EAAU;AAAA,EACZ,CAAA,EAAG,CAAC,OAAA,EAAS,OAAA,EAAS,SAAS,CAAC,CAAA;AAEhC,EAAA,MAAM,iBAAA,GAAoB,OAAA,KAAY,MAAA,IAAU,cAAA,CAAe,OAAA;AAC/D,EAAA,MAAM,aAAa,OAAA,KAAY,MAAA,IAAU,OAAA,KAAY,MAAA,KAAW,YAAY,aAAA,IAAiB,SAAA,CAAA;AAC7F,EAAA,IAAI,SAAA,IAAa,CAAC,iBAAA,IAAqB,CAAC,MAAM,OAAA,EAAS;AACrD,IAAA,SAAA,EAAU;AAAA,EACZ;AACA,EAAA,OAAO;AAAA,IACL,IAAA,EAAO,MAAM,IAAA,IAAc,IAAA;AAAA,IAC3B,IAAA,EAAM,MAAM,IAAA,IAAQ,IAAA;AAAA,IACpB,OAAA,EAAS,MAAM,OAAA,IAAW,KAAA;AAAA,IAC1B,KAAA,EAAO,MAAM,KAAA,IAAS,IAAA;AAAA,IACtB,OAAA,EAAS,WAAA;AAAA,IACT,WAAA;AAAA,IACA,YAAA,EAAc,cAAA,CAAe,KAAA,CAAM,YAAY;AAAA,GACjD;AACF;;;;","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"react.js","sources":["../../../src/shared/utils/uniqueId.ts","../../../node_modules/@mainframework/is-deep-equal/dist/index.mjs","../../../src/shared/hooks/useCustomCallback.ts","../../../src/shared/hooks/useApiWorker.ts"],"sourcesContent":["// utils/uniqueId.ts\r\nlet idCounter = 0;\r\n\r\n/**\r\n * Generates a stable, unique string ID.\r\n * SSR-safe and works in any environment.\r\n */\r\nexport const uniqueId = (): string => {\r\n idCounter += 1;\r\n return idCounter.toString();\r\n};\r\n","const e=e=>\"object\"==typeof e&&null!==e,t=e=>\"function\"==typeof e,r=e=>e instanceof Date,n=e=>e instanceof RegExp,o=e=>e instanceof Set,f=e=>e instanceof Map,i=e=>e instanceof String||e instanceof Number||e instanceof Boolean,a=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),s=e=>Object.getPrototypeOf(e),u=e=>null==e||\"object\"!=typeof e&&\"function\"!=typeof e,c=(l,y,p=new WeakMap,b={})=>{if(l===y)return!0;if(\"number\"==typeof l&&\"number\"==typeof y&&Number.isNaN(l)&&Number.isNaN(y))return!0;if(b.normalizeBoxedPrimitives&&(i(l)&&(l=l.valueOf()),i(y)&&(y=y.valueOf()),u(l)&&u(y)))return l===y;if(u(l)||u(y))return!1;if(t(l)||t(y))return l===y;if(!e(l)||!e(y))return!1;let g=p.get(l)??(()=>{const e=new WeakMap;return p.set(l,e),e})();const h=g.get(y);if(void 0!==h)return h;g.set(y,!0);const w=s(l),A=s(y);let m;return m=Array.isArray(l)&&Array.isArray(y)?((e,t,r,n)=>{if(e.length!==t.length)return!1;for(let o=0;o<e.length;o++){if(n.strictSparseArrays){const r=Object.prototype.hasOwnProperty.call(e,o),n=Object.prototype.hasOwnProperty.call(t,o);if(r!==n)return!1;if(!r&&!n)continue}if(!c(e[o],t[o],r,n))return!1}return!0})(l,y,p,b):!Array.isArray(l)&&!Array.isArray(y)&&(r(l)&&r(y)?((e,t)=>e.getTime()===t.getTime())(l,y):n(l)&&n(y)?((e,t)=>e.source===t.source&&e.flags===t.flags)(l,y):a(l)&&a(y)?((e,t)=>{if(e.constructor!==t.constructor||e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);for(let e=0;e<r.length;e++)if(r[e]!==n[e])return!1;return!0})(l,y):o(l)&&o(y)?((e,t,r,n)=>{if(e.size!==t.size)return!1;const o=Array.from(t),f=new Set;for(const t of e){const e=o.findIndex((e,r)=>!f.has(r)&&t===e);if(-1!==e){f.add(e);continue}let i=!1;for(let e=0;e<o.length;e++)if(!f.has(e)&&c(t,o[e],r,n)){f.add(e),i=!0;break}if(!i)return!1}return!0})(l,y,p,b):f(l)&&f(y)?((e,t,r,n)=>{if(e.size!==t.size)return!1;const o=Array.from(t),f=new Set;for(const[i,a]of e){if(u(i)){const e=t.get(i);if(void 0===e&&!t.has(i))return!1;if(!c(a,e,r,n))return!1;continue}let e=!1;for(let t=0;t<o.length;t++)if(!f.has(t)){const[s,u]=o[t];if(c(i,s,r,n)&&c(a,u,r,n)){f.add(t),e=!0;break}}if(!e)return!1}return!0})(l,y,p,b):!(!b.allowPrototypeMismatch&&w!==A)&&((e,t,r,n)=>{let o=0;for(const f of Reflect.ownKeys(e)){if(!Object.prototype.hasOwnProperty.call(t,f))return!1;if(!c(e[f],t[f],r,n))return!1;o++}return Reflect.ownKeys(t).length===o})(l,y,p,b)),g.set(y,m),m},l=(e,t,r)=>c(e,t,new WeakMap,r);export{l as isEqual};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\r\nimport { useRef } from \"react\";\r\nimport { isEqual } from \"@mainframework/is-deep-equal\";\r\n\r\nexport const useCustomCallback = <T extends (...args: unknown[]) => unknown>(\r\n callback: T,\r\n dependencies: unknown[],\r\n): T => {\r\n const refCallback = useRef<T>(callback);\r\n const refDependencies = useRef<unknown[]>(dependencies);\r\n\r\n // Update refs synchronously during render\r\n if (!dependencies.every((dep, index) => isEqual(dep, refDependencies.current[index]))) {\r\n refDependencies.current = dependencies;\r\n refCallback.current = callback;\r\n }\r\n\r\n // Stable callback, always calls latest callback\r\n const stableCallback = useRef(\r\n (...args: Parameters<T>): ReturnType<T> => refCallback.current(...args) as ReturnType<T>,\r\n ).current;\r\n\r\n return stableCallback as T;\r\n};\r\n","// useApiWorker.ts\r\nimport { useRef, useState, useCallback } from \"react\";\r\nimport { createApiWorker } from \"../utils/createApiWorker\";\r\nimport { uniqueId } from \"../utils/uniqueId\";\r\nimport type {\r\n BinaryResponseMeta,\r\n DataRequest,\r\n QueueEntry,\r\n UseApiWorkerConfig,\r\n UseApiWorkerReturn,\r\n WorkerMessagePayload,\r\n} from \"../types/types\";\r\n\r\ntype StreamAccumulator = { chunks: ArrayBuffer[]; meta: BinaryResponseMeta | null };\r\n\r\ntype StreamThrottleState = {\r\n pendingChunks: ArrayBuffer[];\r\n};\r\n\r\nconst DEFAULT_CHUNK_BATCH = 5;\r\n\r\nconst toNumber = (val: unknown, fallback: number): number =>\r\n typeof val === \"number\" && Number.isFinite(val) ? val : fallback;\r\n\r\nconst toStreamChunks = (val: unknown): ArrayBuffer[] | undefined =>\r\n val === undefined || val === null ? undefined : Array.isArray(val) ? (val as ArrayBuffer[]) : undefined;\r\n\r\nimport { useCustomCallback } from \"./useCustomCallback\";\r\n\r\n// ============================================================================\r\n// MODULE-LEVEL WORKER & QUEUE\r\n// ============================================================================\r\n\r\nlet apiWorker: Worker | null = null;\r\nlet workerInitialized = false;\r\nlet cleanupTimer: ReturnType<typeof setInterval> | null = null;\r\n\r\nconst STALE_ENTRY_MS = 5000;\r\nconst CLEANUP_INTERVAL_MS = 30000;\r\n\r\nconst normalizeKey = (key: string) => key.toLocaleLowerCase();\r\n\r\nconst cleanupState = { isDeleting: false, lastRun: 0 };\r\n\r\nconst runStaleEntryCleanup = (): void => {\r\n const now = Date.now();\r\n if (cleanupState.isDeleting || now < cleanupState.lastRun + CLEANUP_INTERVAL_MS) return;\r\n\r\n cleanupState.isDeleting = true;\r\n\r\n try {\r\n const keys = Object.keys(responseQueue);\r\n let i = 0;\r\n while (i < keys.length) {\r\n const key = keys[i] as string;\r\n const entry = responseQueue[key];\r\n const streamInProgress = streamThrottleState[key] != null || streamAccumulators[key] != null;\r\n if (\r\n entry &&\r\n !streamInProgress &&\r\n entry.data != null &&\r\n entry.lastActivityAt != null &&\r\n now - entry.lastActivityAt >= STALE_ENTRY_MS\r\n ) {\r\n entry.loading = null;\r\n entry.data = null;\r\n entry.meta = null;\r\n entry.error = null;\r\n entry.setUpdateTrigger = null;\r\n entry.requestId = null;\r\n delete entry.streamChunks;\r\n delete streamThrottleState[key];\r\n }\r\n i++;\r\n }\r\n } finally {\r\n cleanupState.isDeleting = false;\r\n cleanupState.lastRun = now;\r\n }\r\n};\r\n\r\nconst responseQueue: Record<string, QueueEntry<unknown>> = {};\r\n\r\nconst streamAccumulators: Record<string, StreamAccumulator> = {};\r\nconst streamThrottleState: Record<string, StreamThrottleState> = {};\r\n\r\nconst updater = (n: number) => n + 1;\r\n\r\nconst flushStreamBatch = (key: string, entry: QueueEntry<unknown>): void => {\r\n const state = streamThrottleState[key];\r\n if (!state || state.pendingChunks.length === 0) return;\r\n entry.streamChunks = state.pendingChunks.slice();\r\n state.pendingChunks.length = 0;\r\n entry.setUpdateTrigger?.(updater);\r\n};\r\n\r\nconst findEntry = (cacheName: string | undefined, hookId: string | undefined) =>\r\n cacheName\r\n ? responseQueue[normalizeKey(cacheName)]\r\n : hookId\r\n ? (Object.values(responseQueue).find((e) => e.hookId === hookId) ?? null)\r\n : null;\r\n\r\nconst finalizeEntry = (entry: QueueEntry<unknown>): void => {\r\n entry.requestId = null;\r\n entry.setUpdateTrigger?.(updater);\r\n};\r\n\r\nconst getApiWorker = (): Worker => {\r\n if (apiWorker) return apiWorker;\r\n apiWorker = createApiWorker();\r\n return apiWorker;\r\n};\r\n\r\nconst ensureWorkerInitialized = (): Worker => {\r\n const worker = getApiWorker();\r\n if (workerInitialized) return worker;\r\n workerInitialized = true;\r\n\r\n if (!cleanupTimer) {\r\n cleanupTimer = setInterval(() => runStaleEntryCleanup(), CLEANUP_INTERVAL_MS);\r\n }\r\n\r\n // Worker always sends error ({ message: string }). Entry is found by cacheName or hookId.\r\n // Stream responses: start → chunk(s) → end; we accumulate chunks then set data = new Blob(chunks) on end.\r\n worker.onmessage = (event: MessageEvent<WorkerMessagePayload>) => {\r\n const msg = event.data;\r\n const cacheName = msg.cacheName;\r\n const hookId = msg.hookId;\r\n const error = msg.error;\r\n const key = cacheName ? normalizeKey(cacheName) : \"\";\r\n\r\n if (\"stream\" in msg && msg.stream) {\r\n const entry = findEntry(cacheName, hookId);\r\n if (!entry) return;\r\n const batchSize = toNumber(entry.streamChunkBatchSize, DEFAULT_CHUNK_BATCH);\r\n switch (msg.stream) {\r\n case \"start\": {\r\n streamAccumulators[key] = { chunks: [], meta: msg.meta ?? null };\r\n streamThrottleState[key] = { pendingChunks: [] };\r\n entry.streamChunks = [];\r\n entry.meta = msg.meta ?? null;\r\n entry.setUpdateTrigger?.(updater);\r\n return;\r\n }\r\n case \"resume\":\r\n if (!streamAccumulators[key]) streamAccumulators[key] = { chunks: [], meta: msg.meta ?? null };\r\n else if (msg.meta) streamAccumulators[key].meta = msg.meta;\r\n if (!streamThrottleState[key]) streamThrottleState[key] = { pendingChunks: [] };\r\n if (msg.meta) entry.meta = msg.meta ?? null;\r\n return;\r\n case \"chunk\": {\r\n const acc = streamAccumulators[key];\r\n const throttle = streamThrottleState[key];\r\n if (acc && msg.data) acc.chunks.push(msg.data);\r\n if (throttle && msg.data) {\r\n throttle.pendingChunks.push(msg.data);\r\n if (throttle.pendingChunks.length >= batchSize) {\r\n flushStreamBatch(key, entry);\r\n }\r\n }\r\n return;\r\n }\r\n case \"end\": {\r\n const acc = streamAccumulators[key];\r\n const throttle = streamThrottleState[key];\r\n if (throttle?.pendingChunks.length) flushStreamBatch(key, entry);\r\n delete streamThrottleState[key];\r\n delete streamAccumulators[key];\r\n const errMsg = error?.message ?? \"\";\r\n if (errMsg !== \"\") {\r\n entry.error = errMsg;\r\n } else if (acc) {\r\n entry.data = new Blob(acc.chunks, acc.meta?.contentType ? { type: acc.meta.contentType } : undefined);\r\n entry.meta = acc.meta ?? null;\r\n entry.error = null;\r\n entry.lastActivityAt = Date.now();\r\n }\r\n entry.loading = false;\r\n finalizeEntry(entry);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n const entry = findEntry(cacheName, hookId);\r\n if (!entry) return;\r\n\r\n const message = error?.message ?? \"\";\r\n if (message !== \"\") {\r\n entry.error = message;\r\n entry.loading = false;\r\n } else {\r\n entry.data = msg.data ?? null;\r\n entry.meta = msg.meta ?? null;\r\n entry.lastActivityAt = Date.now();\r\n entry.error = null;\r\n entry.loading = false;\r\n }\r\n finalizeEntry(entry);\r\n };\r\n\r\n return worker;\r\n};\r\n\r\n// ============================================================================\r\n// HOOK\r\n// ============================================================================\r\n\r\nexport type { RequestConfig, UseApiWorkerConfig, UseApiWorkerReturn } from \"../types/types\";\r\n\r\nexport const useApiWorker = <T>(config: UseApiWorkerConfig): UseApiWorkerReturn<T> => {\r\n const { cacheName, request: requestConfig, data: configData, runMode = \"auto\", enabled = true } = config;\r\n\r\n const worker = ensureWorkerInitialized();\r\n\r\n const hookIdRef = useRef<string>(\"\");\r\n const queueKey = normalizeKey(cacheName);\r\n\r\n const hasExecutedRef = useRef(false);\r\n const [, setUpdateTrigger] = useState(0);\r\n\r\n let storeEntry = responseQueue[queueKey];\r\n\r\n if (!storeEntry) {\r\n const hookId = uniqueId();\r\n storeEntry = responseQueue[queueKey] = {\r\n hookId,\r\n cacheName,\r\n data: null,\r\n loading: false,\r\n error: null,\r\n setUpdateTrigger: () => {},\r\n requestId: null,\r\n meta: null,\r\n lastActivityAt: null,\r\n };\r\n hookIdRef.current = hookId;\r\n } else {\r\n hookIdRef.current = storeEntry.hookId;\r\n storeEntry.lastActivityAt = Date.now();\r\n }\r\n const entry = storeEntry;\r\n entry.setUpdateTrigger = setUpdateTrigger;\r\n\r\n const hookId = hookIdRef.current;\r\n\r\n const deleteCache = useCallback(() => {\r\n if (cacheName) {\r\n worker.postMessage({\r\n dataRequest: { type: \"delete\", cacheName, hookId: hookIdRef.current },\r\n });\r\n }\r\n }, [cacheName, worker]);\r\n\r\n const doRequest = useCallback(() => {\r\n const entry = responseQueue[queueKey];\r\n if (!entry || entry.loading) return;\r\n entry.loading = true;\r\n entry.error = null;\r\n entry.lastActivityAt = Date.now();\r\n entry.setUpdateTrigger?.(updater);\r\n if (requestConfig) {\r\n const requestId = uniqueId();\r\n entry.requestId = requestId;\r\n const isStream = requestConfig.responseType?.toLowerCase() === \"stream\";\r\n if (isStream) {\r\n entry.streamChunkBatchSize = toNumber(requestConfig.streamChunkBatchSize, DEFAULT_CHUNK_BATCH);\r\n }\r\n const request =\r\n isStream && requestConfig.retries === undefined ? { ...requestConfig, retries: 3 } : requestConfig;\r\n worker.postMessage({\r\n dataRequest: { type: \"set\", cacheName, hookId, requestId, payload: configData, request },\r\n });\r\n } else {\r\n worker.postMessage({ dataRequest: { type: \"get\", cacheName, hookId } as DataRequest<unknown> });\r\n }\r\n hasExecutedRef.current = true;\r\n }, [queueKey, cacheName, hookId, requestConfig, configData, worker]);\r\n\r\n const makeRequest = useCustomCallback(() => {\r\n if (!enabled || (runMode === \"once\" && hasExecutedRef.current)) return;\r\n doRequest();\r\n }, [enabled, runMode, doRequest]);\r\n\r\n const hasAlreadyRunOnce = runMode === \"once\" && hasExecutedRef.current;\r\n const shouldRun = (runMode === \"auto\" || runMode === \"once\") && enabled && (requestConfig || cacheName);\r\n if (shouldRun && !hasAlreadyRunOnce && !entry.loading) {\r\n doRequest();\r\n }\r\n return {\r\n data: (entry.data as T) ?? null,\r\n meta: entry.meta ?? null,\r\n loading: entry.loading ?? false,\r\n error: entry.error ?? null,\r\n refetch: makeRequest,\r\n deleteCache,\r\n streamChunks: toStreamChunks(entry.streamChunks),\r\n };\r\n};\r\n"],"names":["isEqual","entry","hookId"],"mappings":"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","x_google_ignoreList":[1]}
@@ -1,4 +1,4 @@
1
- export { B as BinaryParseResult, a as BinaryResponseMeta, D as DataRequest, R as RequestConfig, b as ResponseType, c as RunMode, W as WorkerDataRequestType, d as WorkerErrorPayload, e as WorkerMessageData, f as WorkerMessagePayload, g as WorkerResponseMessage } from '../../types-CTW-HSpg.js';
1
+ export { B as BinaryParseResult, a as BinaryResponseMeta, C as ContentType, D as DataRequest, R as RequestConfig, b as ResponseType, c as RunMode, W as WorkerDataRequestType, d as WorkerErrorPayload, e as WorkerMessageData, f as WorkerMessagePayload, g as WorkerResponseMessage } from '../../types-Bbz0QMYB.js';
2
2
 
3
3
  /**
4
4
  * Creates a Worker instance for the API request worker.
@@ -147,8 +147,9 @@ type WorkerMessagePayload = {
147
147
  hookId?: string;
148
148
  error: WorkerErrorPayload;
149
149
  };
150
+ type ContentType = "application/json" | "application/xml" | "application/x-www-form-urlencoded" | "application/pdf" | "application/zip" | "application/gzip" | "application/octet-stream" | "application/javascript" | "application/ld+json" | "application/vnd.api+json" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "text/plain" | "text/html" | "text/css" | "text/csv" | "text/javascript" | "text/xml" | "image/jpeg" | "image/png" | "image/gif" | "image/svg+xml" | "image/webp" | "image/bmp" | "image/tiff" | "image/x-icon" | "image/avif" | "audio/mpeg" | "audio/ogg" | "audio/wav" | "audio/webm" | "audio/aac" | "audio/midi" | "video/mp4" | "video/mpeg" | "video/webm" | "video/ogg" | "video/quicktime" | "video/x-msvideo" | "multipart/form-data" | "multipart/mixed" | "multipart/alternative" | "font/woff" | "font/woff2" | "font/ttf" | "font/otf";
150
151
  type WorkerMessageData = {
151
152
  dataRequest?: DataRequest<unknown>;
152
153
  };
153
154
 
154
- export type { BinaryParseResult as B, DataRequest as D, RequestConfig as R, UseApiWorkerConfig as U, WorkerDataRequestType as W, BinaryResponseMeta as a, ResponseType as b, RunMode as c, WorkerErrorPayload as d, WorkerMessageData as e, WorkerMessagePayload as f, WorkerResponseMessage as g, UseApiWorkerReturn as h };
155
+ export type { BinaryParseResult as B, ContentType as C, DataRequest as D, RequestConfig as R, UseApiWorkerConfig as U, WorkerDataRequestType as W, BinaryResponseMeta as a, ResponseType as b, RunMode as c, WorkerErrorPayload as d, WorkerMessageData as e, WorkerMessagePayload as f, WorkerResponseMessage as g, UseApiWorkerReturn as h };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mainframework/api-request-worker",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Offloads API requests and application state to a Web Worker to keep the UI thread fast.",
5
5
  "type": "module",
6
6
  "main": "./dist/shared/output/vanilla.js",
@@ -26,7 +26,6 @@
26
26
  },
27
27
  "homepage": "https://github.com/TerrySlack/mainframework-apiworkere",
28
28
  "scripts": {
29
- "husky-setup": "npx husky init",
30
29
  "husky": "husky",
31
30
  "prepare": "husky",
32
31
  "clean": "rimraf dist tsconfig.tsbuildinfo",
@@ -72,24 +71,24 @@
72
71
  "@testing-library/dom": "^10.4.1",
73
72
  "@testing-library/react": "^16.3.2",
74
73
  "@types/react": "^19.2.14",
75
- "@typescript-eslint/eslint-plugin": "^8.56.0",
76
- "@typescript-eslint/parser": "^8.56.0",
77
- "esbuild": "^0.27.3",
78
- "eslint": "10.0.1",
74
+ "@typescript-eslint/eslint-plugin": "^8.59.2",
75
+ "@typescript-eslint/parser": "^8.59.2",
76
+ "esbuild": "^0.28.0",
77
+ "eslint": "10.3.0",
79
78
  "eslint-plugin-react": "^7.37.5",
80
- "eslint-plugin-react-hooks": "^7.0.1",
81
- "globals": "^17.3.0",
79
+ "eslint-plugin-react-hooks": "^7.1.1",
80
+ "globals": "^17.6.0",
82
81
  "husky": "^9.1.7",
83
- "lint-staged": "^16.2.7",
84
- "prettier": "^3.8.1",
85
- "react": "^19.2.4",
86
- "react-dom": "^19.2.4",
82
+ "lint-staged": "^17.0.2",
83
+ "prettier": "^3.8.3",
84
+ "react": "^19.2.6",
85
+ "react-dom": "^19.2.6",
87
86
  "rimraf": "^6.1.3",
88
- "rollup": "^4.59.0",
89
- "rollup-plugin-dts": "^6.3.0",
87
+ "rollup": "^4.60.3",
88
+ "rollup-plugin-dts": "^6.4.1",
90
89
  "rollup-plugin-esbuild": "^6.2.1",
91
90
  "tslib": "^2.8.1",
92
- "typescript": "^5.9.3",
93
- "typescript-eslint": "^8.56.0"
91
+ "typescript": "^6.0.3",
92
+ "typescript-eslint": "^8.59.2"
94
93
  }
95
94
  }