react-native-nitro-fetch 0.1.4 → 0.1.6

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.
@@ -155,6 +155,56 @@ class NitroFetchClient(private val engine: CronetEngine, private val executor: E
155
155
  }
156
156
  }
157
157
 
158
+ // Helper function to add prefetch header to response (reused by both sync/async)
159
+ private fun withPrefetchedHeader(res: NitroResponse): NitroResponse {
160
+ val newHeaders = (res.headers?.toMutableList() ?: mutableListOf())
161
+ newHeaders.add(NitroHeader("nitroPrefetched", "true"))
162
+ return NitroResponse(
163
+ url = res.url,
164
+ status = res.status,
165
+ statusText = res.statusText,
166
+ ok = res.ok,
167
+ redirected = res.redirected,
168
+ headers = newHeaders.toTypedArray(),
169
+ bodyString = res.bodyString,
170
+ bodyBytes = res.bodyBytes
171
+ )
172
+ }
173
+
174
+ override fun requestSync(req: NitroRequest): NitroResponse {
175
+ val key = findPrefetchKey(req)
176
+ if (key != null) {
177
+ FetchCache.getPending(key)?.let { fut ->
178
+ return try {
179
+ withPrefetchedHeader(fut.get()) // blocks until complete
180
+ } catch (e: Exception) {
181
+ throw e.cause ?: e
182
+ }
183
+ }
184
+ FetchCache.getResultIfFresh(key, 5_000L)?.let { cached ->
185
+ return withPrefetchedHeader(cached)
186
+ }
187
+ }
188
+ val latch = java.util.concurrent.CountDownLatch(1)
189
+ var result: NitroResponse? = null
190
+ var error: Throwable? = null
191
+
192
+ fetch(
193
+ req,
194
+ onSuccess = {
195
+ result = it
196
+ latch.countDown()
197
+ },
198
+ onFail = {
199
+ error = it
200
+ latch.countDown()
201
+ }
202
+ )
203
+ latch.await()
204
+ error?.let { throw it }
205
+ return result!!
206
+ }
207
+
158
208
  override fun request(req: NitroRequest): Promise<NitroResponse> {
159
209
  val promise = Promise<NitroResponse>()
160
210
  // Try to serve from prefetch cache/pending first
@@ -162,20 +212,6 @@ class NitroFetchClient(private val engine: CronetEngine, private val executor: E
162
212
  if (key != null) {
163
213
  // If a prefetch is currently pending, wait for it
164
214
  FetchCache.getPending(key)?.let { fut ->
165
- fun withPrefetchedHeader(res: NitroResponse): NitroResponse {
166
- val newHeaders = (res.headers?.toMutableList() ?: mutableListOf())
167
- newHeaders.add(NitroHeader("nitroPrefetched", "true"))
168
- return NitroResponse(
169
- url = res.url,
170
- status = res.status,
171
- statusText = res.statusText,
172
- ok = res.ok,
173
- redirected = res.redirected,
174
- headers = newHeaders.toTypedArray(),
175
- bodyString = res.bodyString,
176
- bodyBytes = res.bodyBytes
177
- )
178
- }
179
215
  fut.whenComplete { res, err ->
180
216
  if (err != null) {
181
217
  promise.reject(err)
@@ -189,19 +225,7 @@ class NitroFetchClient(private val engine: CronetEngine, private val executor: E
189
225
  }
190
226
  // If a fresh prefetched result exists (<=5s old), return it immediately
191
227
  FetchCache.getResultIfFresh(key, 5_000L)?.let { cached ->
192
- val newHeaders = (cached.headers?.toMutableList() ?: mutableListOf())
193
- newHeaders.add(NitroHeader("nitroPrefetched", "true"))
194
- val wrapped = NitroResponse(
195
- url = cached.url,
196
- status = cached.status,
197
- statusText = cached.statusText,
198
- ok = cached.ok,
199
- redirected = cached.redirected,
200
- headers = newHeaders.toTypedArray(),
201
- bodyString = cached.bodyString,
202
- bodyBytes = cached.bodyBytes
203
- )
204
- promise.resolve(wrapped)
228
+ promise.resolve(withPrefetchedHeader(cached))
205
229
  return promise
206
230
  }
207
231
  }
@@ -2,6 +2,31 @@ import Foundation
2
2
  import NitroModules
3
3
 
4
4
  final class NitroFetchClient: HybridNitroFetchClientSpec {
5
+ func requestSync(req: NitroRequest) throws -> NitroResponse {
6
+ let semaphore = DispatchSemaphore(value: 0)
7
+ var result: Result<NitroResponse, Error>?
8
+
9
+ Task {
10
+ do {
11
+ let response = try await NitroFetchClient.requestStatic(req)
12
+ result = .success(response)
13
+ } catch {
14
+ result = .failure(error)
15
+ }
16
+ semaphore.signal()
17
+ }
18
+
19
+ semaphore.wait()
20
+
21
+ switch result! {
22
+ case .success(let response):
23
+ return response
24
+ case .failure(let error):
25
+ throw error
26
+ }
27
+ }
28
+
29
+ // Async version - returns Promise<NitroResponse>
5
30
  func request(req: NitroRequest) throws -> Promise<NitroResponse> {
6
31
  let promise = Promise<NitroResponse>.init()
7
32
  Task {
@@ -4,4 +4,5 @@ import { NitroModules } from 'react-native-nitro-modules';
4
4
  // Create singletons once per JS runtime
5
5
  export const NitroFetch = NitroModules.createHybridObject('NitroFetch');
6
6
  export const NativeStorage = NitroModules.createHybridObject('NativeStorage');
7
+ export const boxedNitroFetch = NitroModules.box(NitroFetch);
7
8
  //# sourceMappingURL=NitroInstances.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","NitroFetch","createHybridObject","NativeStorage"],"sourceRoot":"../../src","sources":["NitroInstances.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAMzD;AACA,OAAO,MAAMC,UAA0B,GACrCD,YAAY,CAACE,kBAAkB,CAAiB,YAAY,CAAC;AAE/D,OAAO,MAAMC,aAAgC,GAC3CH,YAAY,CAACE,kBAAkB,CAAoB,eAAe,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","NitroFetch","createHybridObject","NativeStorage","boxedNitroFetch","box"],"sourceRoot":"../../src","sources":["NitroInstances.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAMzD;AACA,OAAO,MAAMC,UAA0B,GACrCD,YAAY,CAACE,kBAAkB,CAAiB,YAAY,CAAC;AAE/D,OAAO,MAAMC,aAAgC,GAC3CH,YAAY,CAACE,kBAAkB,CAAoB,eAAe,CAAC;AAErE,OAAO,MAAME,eAAe,GAAGJ,YAAY,CAACK,GAAG,CAACJ,UAAU,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { NitroFetch as NitroFetchSingleton } from "./NitroInstances.js";
3
+ import { boxedNitroFetch, NitroFetch as NitroFetchSingleton } from "./NitroInstances.js";
4
4
  import { NativeStorage as NativeStorageSingleton } from "./NitroInstances.js";
5
5
 
6
6
  // No base64: pass strings/ArrayBuffers directly
@@ -31,12 +31,34 @@ function headersToPairs(headers) {
31
31
  }
32
32
  return pairs;
33
33
  }
34
- // Record<string, string>
35
- for (const [k, v] of Object.entries(headers)) {
36
- pairs.push({
37
- key: k,
38
- value: String(v)
39
- });
34
+ // Check if it's a plain object (Record<string, string>) first
35
+ // Plain objects don't have forEach, so check for its absence
36
+ if (typeof headers === 'object' && headers !== null) {
37
+ // Check if it's a Headers instance by checking for forEach method
38
+ const hasForEach = typeof headers.forEach === 'function';
39
+ if (hasForEach) {
40
+ // Headers-like object (duck typing)
41
+ headers.forEach((v, k) => pairs.push({
42
+ key: k,
43
+ value: v
44
+ }));
45
+ return pairs;
46
+ } else {
47
+ // Plain object (Record<string, string>)
48
+ // Use Object.keys to iterate since Object.entries might not work in worklets
49
+ const keys = Object.keys(headers);
50
+ for (let i = 0; i < keys.length; i++) {
51
+ const k = keys[i];
52
+ const v = headers[k];
53
+ if (v !== undefined) {
54
+ pairs.push({
55
+ key: k,
56
+ value: String(v)
57
+ });
58
+ }
59
+ }
60
+ return pairs;
61
+ }
40
62
  }
41
63
  return pairs;
42
64
  }
@@ -108,9 +130,132 @@ function buildNitroRequest(input, init) {
108
130
  followRedirects: true
109
131
  };
110
132
  }
111
- async function nitroFetchRaw(input, init) {
133
+
134
+ // Pure JS version of buildNitroRequest that doesnt use anything that breaks worklets. TODO: Merge this to use Same logic for Worklets and normal Fetch
135
+ function headersToPairsPure(headers) {
112
136
  'worklet';
113
137
 
138
+ if (!headers) return undefined;
139
+ const pairs = [];
140
+ if (Array.isArray(headers)) {
141
+ // Convert tuple pairs to objects if needed
142
+ for (const entry of headers) {
143
+ if (Array.isArray(entry) && entry.length >= 2) {
144
+ pairs.push({
145
+ key: String(entry[0]),
146
+ value: String(entry[1])
147
+ });
148
+ } else if (entry && typeof entry === 'object' && 'key' in entry && 'value' in entry) {
149
+ pairs.push(entry);
150
+ }
151
+ }
152
+ return pairs;
153
+ }
154
+
155
+ // Check if it's a plain object (Record<string, string>) first
156
+ // Plain objects don't have forEach, so check for its absence
157
+ if (typeof headers === 'object' && headers !== null) {
158
+ // Check if it's a Headers instance by checking for forEach method
159
+ const hasForEach = typeof headers.forEach === 'function';
160
+ if (hasForEach) {
161
+ // Headers-like object (duck typing)
162
+ headers.forEach((v, k) => pairs.push({
163
+ key: k,
164
+ value: v
165
+ }));
166
+ return pairs;
167
+ } else {
168
+ // Plain object (Record<string, string>)
169
+ // Use Object.keys to iterate since Object.entries might not work in worklets
170
+ const keys = Object.keys(headers);
171
+ for (let i = 0; i < keys.length; i++) {
172
+ const k = keys[i];
173
+ const v = headers[k];
174
+ if (v !== undefined) {
175
+ pairs.push({
176
+ key: k,
177
+ value: String(v)
178
+ });
179
+ }
180
+ }
181
+ return pairs;
182
+ }
183
+ }
184
+ return pairs;
185
+ }
186
+ // Pure JS version of buildNitroRequest that doesnt use anything that breaks worklets
187
+ function normalizeBodyPure(body) {
188
+ 'worklet';
189
+
190
+ if (body == null) return undefined;
191
+ if (typeof body === 'string') return {
192
+ bodyString: body
193
+ };
194
+
195
+ // Check for URLSearchParams (duck typing)
196
+ // It should be an object, have a toString method, and typically append/delete methods
197
+ // But mainly we care about toString() returning the query string
198
+ if (typeof body === 'object' && body !== null && typeof body.toString === 'function' && Object.prototype.toString.call(body) === '[object URLSearchParams]') {
199
+ return {
200
+ bodyString: body.toString()
201
+ };
202
+ }
203
+
204
+ // Check for ArrayBuffer (using toString tag to avoid instanceof)
205
+ if (typeof ArrayBuffer !== 'undefined' && Object.prototype.toString.call(body) === '[object ArrayBuffer]') {
206
+ return {
207
+ bodyBytes: body
208
+ };
209
+ }
210
+ if (ArrayBuffer.isView(body)) {
211
+ const view = body;
212
+ // Pass a copy/slice of the underlying bytes without base64
213
+ return {
214
+ //@ts-ignore
215
+ bodyBytes: view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength)
216
+ };
217
+ }
218
+ // TODO: Blob/FormData support can be added later
219
+ throw new Error('Unsupported body type for nitro fetch');
220
+ }
221
+ // Pure JS version of buildNitroRequest that doesnt use anything that breaks worklets
222
+ export function buildNitroRequestPure(input, init) {
223
+ 'worklet';
224
+
225
+ let url;
226
+ let method;
227
+ let headersInit;
228
+ let body;
229
+
230
+ // Check if input is URL-like without instanceof
231
+ const isUrlObject = typeof input === 'object' && input !== null && Object.prototype.toString.call(input) === '[object URL]';
232
+ if (typeof input === 'string' || isUrlObject) {
233
+ url = String(input);
234
+ method = init?.method;
235
+ headersInit = init?.headers;
236
+ body = init?.body ?? null;
237
+ } else {
238
+ // Request object
239
+ const req = input;
240
+ url = req.url;
241
+ method = req.method;
242
+ headersInit = req.headers;
243
+ // Clone body if needed – Request objects in RN typically allow direct access
244
+ body = init?.body ?? null;
245
+ }
246
+ const headers = headersToPairsPure(headersInit);
247
+ const normalized = normalizeBodyPure(body);
248
+ return {
249
+ url,
250
+ method: method?.toUpperCase() ?? 'GET',
251
+ headers,
252
+ bodyString: normalized?.bodyString,
253
+ // Only include bodyBytes when provided to avoid signaling upload data unintentionally
254
+ bodyBytes: undefined,
255
+ followRedirects: true
256
+ };
257
+ }
258
+ async function nitroFetchRaw(input, init) {
114
259
  const hasNative = typeof NitroFetchHybrid?.createClient === 'function';
115
260
  if (!hasNative) {
116
261
  // Fallback path not supported for raw; use global fetch and synthesize minimal shape
@@ -173,8 +318,6 @@ class NitroHeaders {
173
318
  }
174
319
  }
175
320
  export async function nitroFetch(input, init) {
176
- 'worklet';
177
-
178
321
  const res = await nitroFetchRaw(input, init);
179
322
  const headersObj = new NitroHeaders(res.headers);
180
323
  const bodyBytes = res.bodyBytes;
@@ -303,13 +446,11 @@ export async function removeAllFromAutoprefetch() {
303
446
  let nitroRuntime;
304
447
  let WorkletsRef;
305
448
  function ensureWorkletRuntime(name = 'nitro-fetch') {
306
- console.log('ensuring worklet runtime');
307
449
  try {
308
450
  const {
309
451
  Worklets
310
452
  } = require('react-native-worklets-core');
311
- nitroRuntime = nitroRuntime ?? Worklets.createRuntime(name);
312
- console.log('nitroRuntime:', !!nitroRuntime);
453
+ nitroRuntime = nitroRuntime ?? Worklets.createContext(name);
313
454
  return nitroRuntime;
314
455
  } catch {
315
456
  console.warn('react-native-worklets-core not available');
@@ -330,22 +471,18 @@ function getWorklets() {
330
471
  }
331
472
  }
332
473
  export async function nitroFetchOnWorklet(input, init, mapWorklet, options) {
333
- console.log('nitroFetchOnWorklet: starting');
334
474
  const preferBytes = options?.preferBytes === true; // default true
335
- console.log('nitroFetchOnWorklet: preferBytes:', preferBytes);
336
475
  let rt;
337
476
  let Worklets;
338
477
  try {
339
478
  rt = ensureWorkletRuntime(options?.runtimeName);
340
- console.log('nitroFetchOnWorklet: runtime created?', !!rt);
341
479
  Worklets = getWorklets();
342
- console.log('nitroFetchOnWorklet: Worklets available?', !!Worklets);
343
480
  } catch (e) {
344
481
  console.error('nitroFetchOnWorklet: setup failed', e);
345
482
  }
346
483
 
347
484
  // Fallback: if runtime is not available, do the work on JS
348
- if (!rt || !Worklets || typeof rt.run !== 'function') {
485
+ if (!rt || !Worklets || typeof rt.runAsync !== 'function') {
349
486
  console.warn('nitroFetchOnWorklet: no runtime, mapping on JS thread');
350
487
  const res = await nitroFetchRaw(input, init);
351
488
  const payload = {
@@ -360,45 +497,24 @@ export async function nitroFetchOnWorklet(input, init, mapWorklet, options) {
360
497
  };
361
498
  return mapWorklet(payload);
362
499
  }
363
- return await new Promise((resolve, reject) => {
364
- try {
365
- console.log('nitroFetchOnWorklet: about to call rt.run');
366
- rt.run(async map => {
367
- 'worklet';
500
+ return await rt.runAsync(() => {
501
+ 'worklet';
368
502
 
369
- try {
370
- console.log('nitroFetchOnWorklet: running fetch on worklet thread');
371
- const res = await nitroFetchRaw(input, init);
372
- console.log('nitroFetchOnWorklet: fetch completed');
373
- const url = res.url;
374
- const status = res.status;
375
- const statusText = res.statusText;
376
- const ok = res.ok;
377
- const redirected = res.redirected;
378
- const headersPairs = res.headers;
379
- const bodyBytes = undefined; // preferBytes ? res.bodyBytes : undefined;
380
- const bodyString = preferBytes ? undefined : res.bodyString;
381
- const payload = {
382
- url,
383
- status,
384
- statusText,
385
- ok,
386
- redirected,
387
- headers: headersPairs,
388
- bodyBytes,
389
- bodyString
390
- };
391
- const out = map(payload);
392
- // Resolve back on JS thread
393
- Worklets.runOnJS(resolve)(out);
394
- } catch (e) {
395
- Worklets.runOnJS(reject)(e);
396
- }
397
- }, mapWorklet);
398
- } catch (e) {
399
- console.error('nitroFetchOnWorklet: rt.run failed', e);
400
- reject(e);
401
- }
503
+ const unboxedNitroFetch = boxedNitroFetch.unbox();
504
+ const unboxedClient = unboxedNitroFetch.createClient();
505
+ const request = buildNitroRequestPure(input, init);
506
+ const res = unboxedClient.requestSync(request);
507
+ const payload = {
508
+ url: res.url,
509
+ status: res.status,
510
+ statusText: res.statusText,
511
+ ok: res.ok,
512
+ redirected: res.redirected,
513
+ headers: res.headers,
514
+ bodyBytes: preferBytes ? res.bodyBytes : undefined,
515
+ bodyString: preferBytes ? undefined : res.bodyString
516
+ };
517
+ return mapWorklet(payload);
402
518
  });
403
519
  }
404
520
  export const x = ensureWorkletRuntime();
@@ -1 +1 @@
1
- {"version":3,"names":["NitroFetch","NitroFetchSingleton","NativeStorage","NativeStorageSingleton","headersToPairs","headers","undefined","pairs","Headers","forEach","v","k","push","key","value","Array","isArray","entry","length","String","Object","entries","normalizeBody","body","bodyString","URLSearchParams","toString","ArrayBuffer","bodyBytes","isView","view","buffer","slice","byteOffset","byteLength","Error","NitroFetchHybrid","client","ensureClient","createClient","err","console","error","buildNitroRequest","input","init","url","method","headersInit","URL","normalized","toUpperCase","followRedirects","nitroFetchRaw","hasNative","res","fetch","bytes","arrayBuffer","status","statusText","ok","redirected","req","request","NitroHeaders","constructor","_headers","Map","set","toLowerCase","get","name","has","callback","keys","values","nitroFetch","headersObj","makeLight","text","json","JSON","parse","clone","light","prefetch","hasKey","some","h","fromInit","prefetchKey","concat","finalHasKey","prefetchOnAppStart","fromHeader","find","reduce","acc","KEY","arr","raw","getString","e","filter","setString","stringify","warn","removeFromAutoPrefetch","next","removeString","removeAllFromAutoprefetch","nitroRuntime","WorkletsRef","ensureWorkletRuntime","log","Worklets","require","createRuntime","getWorklets","nitroFetchOnWorklet","mapWorklet","options","preferBytes","rt","runtimeName","run","payload","Promise","resolve","reject","map","headersPairs","out","runOnJS","x","y"],"sourceRoot":"../../src","sources":["fetch.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["boxedNitroFetch","NitroFetch","NitroFetchSingleton","NativeStorage","NativeStorageSingleton","headersToPairs","headers","undefined","pairs","Headers","forEach","v","k","push","key","value","Array","isArray","entry","length","String","hasForEach","keys","Object","i","normalizeBody","body","bodyString","URLSearchParams","toString","ArrayBuffer","bodyBytes","isView","view","buffer","slice","byteOffset","byteLength","Error","NitroFetchHybrid","client","ensureClient","createClient","err","console","error","buildNitroRequest","input","init","url","method","headersInit","URL","normalized","toUpperCase","followRedirects","headersToPairsPure","normalizeBodyPure","prototype","call","buildNitroRequestPure","isUrlObject","req","nitroFetchRaw","hasNative","res","fetch","bytes","arrayBuffer","status","statusText","ok","redirected","request","NitroHeaders","constructor","_headers","Map","set","toLowerCase","get","name","has","callback","entries","values","nitroFetch","headersObj","makeLight","text","json","JSON","parse","clone","light","prefetch","hasKey","some","h","fromInit","prefetchKey","concat","finalHasKey","prefetchOnAppStart","fromHeader","find","reduce","acc","KEY","arr","raw","getString","e","filter","setString","stringify","warn","removeFromAutoPrefetch","next","removeString","removeAllFromAutoprefetch","nitroRuntime","WorkletsRef","ensureWorkletRuntime","Worklets","require","createContext","getWorklets","nitroFetchOnWorklet","mapWorklet","options","preferBytes","rt","runtimeName","runAsync","payload","unboxedNitroFetch","unbox","unboxedClient","requestSync","x","y"],"sourceRoot":"../../src","sources":["fetch.ts"],"mappings":"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","ignoreList":[]}
@@ -29,6 +29,7 @@ export interface NitroFetchClient extends HybridObject<{
29
29
  }> {
30
30
  request(req: NitroRequest): Promise<NitroResponse>;
31
31
  prefetch(req: NitroRequest): Promise<void>;
32
+ requestSync(req: NitroRequest): NitroResponse;
32
33
  }
33
34
  export interface NitroFetch extends HybridObject<{
34
35
  ios: 'swift';
@@ -1 +1 @@
1
- {"version":3,"file":"NitroFetch.nitro.d.ts","sourceRoot":"","sources":["../../../src/NitroFetch.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D,MAAM,MAAM,kBAAkB,GAC1B,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,OAAO,GACP,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAE5B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAExB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IAEzD,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEnD,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,UACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IAEzD,YAAY,IAAI,gBAAgB,CAAC;CAIlC;AAED,MAAM,WAAW,aACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC"}
1
+ {"version":3,"file":"NitroFetch.nitro.d.ts","sourceRoot":"","sources":["../../../src/NitroFetch.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D,MAAM,MAAM,kBAAkB,GAC1B,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,OAAO,GACP,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAE5B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAExB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IAEzD,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEnD,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG3C,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,aAAa,CAAC;CAC/C;AAED,MAAM,WAAW,UACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IAEzD,YAAY,IAAI,gBAAgB,CAAC;CAIlC;AAED,MAAM,WAAW,aACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC"}
@@ -1,4 +1,5 @@
1
1
  import type { NitroFetch as NitroFetchType, NativeStorage as NativeStorageType } from './NitroFetch.nitro';
2
2
  export declare const NitroFetch: NitroFetchType;
3
3
  export declare const NativeStorage: NativeStorageType;
4
+ export declare const boxedNitroFetch: import("react-native-nitro-modules/lib/typescript/BoxedHybridObject").BoxedHybridObject<NitroFetchType>;
4
5
  //# sourceMappingURL=NitroInstances.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NitroInstances.d.ts","sourceRoot":"","sources":["../../../src/NitroInstances.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,IAAI,cAAc,EAC5B,aAAa,IAAI,iBAAiB,EACnC,MAAM,oBAAoB,CAAC;AAG5B,eAAO,MAAM,UAAU,EAAE,cACsC,CAAC;AAEhE,eAAO,MAAM,aAAa,EAAE,iBACyC,CAAC"}
1
+ {"version":3,"file":"NitroInstances.d.ts","sourceRoot":"","sources":["../../../src/NitroInstances.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,IAAI,cAAc,EAC5B,aAAa,IAAI,iBAAiB,EACnC,MAAM,oBAAoB,CAAC;AAG5B,eAAO,MAAM,UAAU,EAAE,cACsC,CAAC;AAEhE,eAAO,MAAM,aAAa,EAAE,iBACyC,CAAC;AAEtE,eAAO,MAAM,eAAe,yGAA+B,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { NitroHeader } from './NitroFetch.nitro';
1
+ import type { NitroHeader, NitroRequest } from './NitroFetch.nitro';
2
+ export declare function buildNitroRequestPure(input: RequestInfo | URL, init?: RequestInit): NitroRequest;
2
3
  export declare function nitroFetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
3
4
  export declare function prefetch(input: RequestInfo | URL, init?: RequestInit): Promise<void>;
4
5
  export declare function prefetchOnAppStart(input: RequestInfo | URL, init?: RequestInit & {
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,oBAAoB,CAAC;AA0L5B,wBAAsB,UAAU,CAC9B,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,QAAQ,CAAC,CAyBnB;AAGD,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAGD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAkDf;AAGD,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAGD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/D;AAGD,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KAAK,CAAC,CAAC;AA8BR,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACjC,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,CAAC,CAAC,CAyEZ;AAED,eAAO,MAAM,CAAC,KAAyB,CAAC;AACxC,eAAO,MAAM,CAAC,KAAgB,CAAC;AAE/B,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,YAAY,EAEb,MAAM,oBAAoB,CAAC;AA0O5B,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GACjB,YAAY,CAwCd;AAyED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,QAAQ,CAAC,CAuBnB;AAGD,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAGD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAkDf;AAGD,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAGD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/D;AAGD,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KAAK,CAAC,CAAC;AA4BR,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACjC,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,CAAC,CAAC,CA8CZ;AAED,eAAO,MAAM,CAAC,KAAyB,CAAC;AACxC,eAAO,MAAM,CAAC,KAAgB,CAAC;AAE/B,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
@@ -87,5 +87,10 @@ namespace margelo::nitro::nitrofetch {
87
87
  return __promise;
88
88
  }();
89
89
  }
90
+ NitroResponse JHybridNitroFetchClientSpec::requestSync(const NitroRequest& req) {
91
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JNitroResponse>(jni::alias_ref<JNitroRequest> /* req */)>("requestSync");
92
+ auto __result = method(_javaPart, JNitroRequest::fromCpp(req));
93
+ return __result->toCpp();
94
+ }
90
95
 
91
96
  } // namespace margelo::nitro::nitrofetch
@@ -55,6 +55,7 @@ namespace margelo::nitro::nitrofetch {
55
55
  // Methods
56
56
  std::shared_ptr<Promise<NitroResponse>> request(const NitroRequest& req) override;
57
57
  std::shared_ptr<Promise<void>> prefetch(const NitroRequest& req) override;
58
+ NitroResponse requestSync(const NitroRequest& req) override;
58
59
 
59
60
  private:
60
61
  friend HybridBase;
@@ -47,6 +47,10 @@ abstract class HybridNitroFetchClientSpec: HybridObject() {
47
47
  @DoNotStrip
48
48
  @Keep
49
49
  abstract fun prefetch(req: NitroRequest): Promise<Unit>
50
+
51
+ @DoNotStrip
52
+ @Keep
53
+ abstract fun requestSync(req: NitroRequest): NitroResponse
50
54
 
51
55
  private external fun initHybrid(): HybridData
52
56
 
@@ -258,6 +258,15 @@ namespace margelo::nitro::nitrofetch::bridge::swift {
258
258
  return Result<std::shared_ptr<Promise<void>>>::withError(error);
259
259
  }
260
260
 
261
+ // pragma MARK: Result<NitroResponse>
262
+ using Result_NitroResponse_ = Result<NitroResponse>;
263
+ inline Result_NitroResponse_ create_Result_NitroResponse_(const NitroResponse& value) noexcept {
264
+ return Result<NitroResponse>::withValue(value);
265
+ }
266
+ inline Result_NitroResponse_ create_Result_NitroResponse_(const std::exception_ptr& error) noexcept {
267
+ return Result<NitroResponse>::withError(error);
268
+ }
269
+
261
270
  // pragma MARK: std::shared_ptr<HybridNitroFetchSpec>
262
271
  /**
263
272
  * Specialized version of `std::shared_ptr<HybridNitroFetchSpec>`.
@@ -87,6 +87,14 @@ namespace margelo::nitro::nitrofetch {
87
87
  auto __value = std::move(__result.value());
88
88
  return __value;
89
89
  }
90
+ inline NitroResponse requestSync(const NitroRequest& req) override {
91
+ auto __result = _swiftPart.requestSync(req);
92
+ if (__result.hasError()) [[unlikely]] {
93
+ std::rethrow_exception(__result.error());
94
+ }
95
+ auto __value = std::move(__result.value());
96
+ return __value;
97
+ }
90
98
 
91
99
  private:
92
100
  NitroFetch::HybridNitroFetchClientSpec_cxx _swiftPart;
@@ -16,6 +16,7 @@ public protocol HybridNitroFetchClientSpec_protocol: HybridObject {
16
16
  // Methods
17
17
  func request(req: NitroRequest) throws -> Promise<NitroResponse>
18
18
  func prefetch(req: NitroRequest) throws -> Promise<Void>
19
+ func requestSync(req: NitroRequest) throws -> NitroResponse
19
20
  }
20
21
 
21
22
  /// See ``HybridNitroFetchClientSpec``
@@ -146,4 +146,16 @@ open class HybridNitroFetchClientSpec_cxx {
146
146
  return bridge.create_Result_std__shared_ptr_Promise_void___(__exceptionPtr)
147
147
  }
148
148
  }
149
+
150
+ @inline(__always)
151
+ public final func requestSync(req: NitroRequest) -> bridge.Result_NitroResponse_ {
152
+ do {
153
+ let __result = try self.__implementation.requestSync(req: req)
154
+ let __resultCpp = __result
155
+ return bridge.create_Result_NitroResponse_(__resultCpp)
156
+ } catch (let __error) {
157
+ let __exceptionPtr = __error.toCpp()
158
+ return bridge.create_Result_NitroResponse_(__exceptionPtr)
159
+ }
160
+ }
149
161
  }
@@ -16,6 +16,7 @@ namespace margelo::nitro::nitrofetch {
16
16
  registerHybrids(this, [](Prototype& prototype) {
17
17
  prototype.registerHybridMethod("request", &HybridNitroFetchClientSpec::request);
18
18
  prototype.registerHybridMethod("prefetch", &HybridNitroFetchClientSpec::prefetch);
19
+ prototype.registerHybridMethod("requestSync", &HybridNitroFetchClientSpec::requestSync);
19
20
  });
20
21
  }
21
22
 
@@ -55,6 +55,7 @@ namespace margelo::nitro::nitrofetch {
55
55
  // Methods
56
56
  virtual std::shared_ptr<Promise<NitroResponse>> request(const NitroRequest& req) = 0;
57
57
  virtual std::shared_ptr<Promise<void>> prefetch(const NitroRequest& req) = 0;
58
+ virtual NitroResponse requestSync(const NitroRequest& req) = 0;
58
59
 
59
60
  protected:
60
61
  // Hybrid Setup
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-nitro-fetch",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Awesome Fetch :)",
5
5
  "main": "./lib/module/index.js",
6
6
  "module": "./lib/module/index.js",
@@ -45,6 +45,9 @@ export interface NitroFetchClient
45
45
  request(req: NitroRequest): Promise<NitroResponse>;
46
46
  // Start a prefetch for a given request; expects a header `prefetchKey`.
47
47
  prefetch(req: NitroRequest): Promise<void>;
48
+
49
+ // Synchronous version of request for worklets
50
+ requestSync(req: NitroRequest): NitroResponse;
48
51
  }
49
52
 
50
53
  export interface NitroFetch
@@ -10,3 +10,5 @@ export const NitroFetch: NitroFetchType =
10
10
 
11
11
  export const NativeStorage: NativeStorageType =
12
12
  NitroModules.createHybridObject<NativeStorageType>('NativeStorage');
13
+
14
+ export const boxedNitroFetch = NitroModules.box(NitroFetch);
package/src/fetch.ts CHANGED
@@ -4,7 +4,10 @@ import type {
4
4
  NitroRequest,
5
5
  NitroResponse,
6
6
  } from './NitroFetch.nitro';
7
- import { NitroFetch as NitroFetchSingleton } from './NitroInstances';
7
+ import {
8
+ boxedNitroFetch,
9
+ NitroFetch as NitroFetchSingleton,
10
+ } from './NitroInstances';
8
11
  import { NativeStorage as NativeStorageSingleton } from './NitroInstances';
9
12
 
10
13
  // No base64: pass strings/ArrayBuffers directly
@@ -33,9 +36,31 @@ function headersToPairs(headers?: HeadersInit): NitroHeader[] | undefined {
33
36
  }
34
37
  return pairs;
35
38
  }
36
- // Record<string, string>
37
- for (const [k, v] of Object.entries(headers)) {
38
- pairs.push({ key: k, value: String(v) });
39
+ // Check if it's a plain object (Record<string, string>) first
40
+ // Plain objects don't have forEach, so check for its absence
41
+ if (typeof headers === 'object' && headers !== null) {
42
+ // Check if it's a Headers instance by checking for forEach method
43
+ const hasForEach = typeof (headers as any).forEach === 'function';
44
+
45
+ if (hasForEach) {
46
+ // Headers-like object (duck typing)
47
+ (headers as any).forEach((v: string, k: string) =>
48
+ pairs.push({ key: k, value: v })
49
+ );
50
+ return pairs;
51
+ } else {
52
+ // Plain object (Record<string, string>)
53
+ // Use Object.keys to iterate since Object.entries might not work in worklets
54
+ const keys = Object.keys(headers);
55
+ for (let i = 0; i < keys.length; i++) {
56
+ const k = keys[i];
57
+ const v = (headers as Record<string, string>)[k];
58
+ if (v !== undefined) {
59
+ pairs.push({ key: k, value: String(v) });
60
+ }
61
+ }
62
+ return pairs;
63
+ }
39
64
  }
40
65
  return pairs;
41
66
  }
@@ -117,11 +142,150 @@ function buildNitroRequest(
117
142
  };
118
143
  }
119
144
 
145
+ // Pure JS version of buildNitroRequest that doesnt use anything that breaks worklets. TODO: Merge this to use Same logic for Worklets and normal Fetch
146
+ function headersToPairsPure(headers?: HeadersInit): NitroHeader[] | undefined {
147
+ 'worklet';
148
+ if (!headers) return undefined;
149
+ const pairs: NitroHeader[] = [];
150
+
151
+ if (Array.isArray(headers)) {
152
+ // Convert tuple pairs to objects if needed
153
+ for (const entry of headers as any[]) {
154
+ if (Array.isArray(entry) && entry.length >= 2) {
155
+ pairs.push({ key: String(entry[0]), value: String(entry[1]) });
156
+ } else if (
157
+ entry &&
158
+ typeof entry === 'object' &&
159
+ 'key' in entry &&
160
+ 'value' in entry
161
+ ) {
162
+ pairs.push(entry as NitroHeader);
163
+ }
164
+ }
165
+ return pairs;
166
+ }
167
+
168
+ // Check if it's a plain object (Record<string, string>) first
169
+ // Plain objects don't have forEach, so check for its absence
170
+ if (typeof headers === 'object' && headers !== null) {
171
+ // Check if it's a Headers instance by checking for forEach method
172
+ const hasForEach = typeof (headers as any).forEach === 'function';
173
+
174
+ if (hasForEach) {
175
+ // Headers-like object (duck typing)
176
+ (headers as any).forEach((v: string, k: string) =>
177
+ pairs.push({ key: k, value: v })
178
+ );
179
+ return pairs;
180
+ } else {
181
+ // Plain object (Record<string, string>)
182
+ // Use Object.keys to iterate since Object.entries might not work in worklets
183
+ const keys = Object.keys(headers);
184
+ for (let i = 0; i < keys.length; i++) {
185
+ const k = keys[i];
186
+ const v = (headers as Record<string, string>)[k];
187
+ if (v !== undefined) {
188
+ pairs.push({ key: k, value: String(v) });
189
+ }
190
+ }
191
+ return pairs;
192
+ }
193
+ }
194
+
195
+ return pairs;
196
+ }
197
+ // Pure JS version of buildNitroRequest that doesnt use anything that breaks worklets
198
+ function normalizeBodyPure(
199
+ body: BodyInit | null | undefined
200
+ ): { bodyString?: string; bodyBytes?: ArrayBuffer } | undefined {
201
+ 'worklet';
202
+ if (body == null) return undefined;
203
+ if (typeof body === 'string') return { bodyString: body };
204
+
205
+ // Check for URLSearchParams (duck typing)
206
+ // It should be an object, have a toString method, and typically append/delete methods
207
+ // But mainly we care about toString() returning the query string
208
+ if (
209
+ typeof body === 'object' &&
210
+ body !== null &&
211
+ typeof (body as any).toString === 'function' &&
212
+ Object.prototype.toString.call(body) === '[object URLSearchParams]'
213
+ ) {
214
+ return { bodyString: body.toString() };
215
+ }
216
+
217
+ // Check for ArrayBuffer (using toString tag to avoid instanceof)
218
+ if (
219
+ typeof ArrayBuffer !== 'undefined' &&
220
+ Object.prototype.toString.call(body) === '[object ArrayBuffer]'
221
+ ) {
222
+ return { bodyBytes: body as ArrayBuffer };
223
+ }
224
+
225
+ if (ArrayBuffer.isView(body)) {
226
+ const view = body as ArrayBufferView;
227
+ // Pass a copy/slice of the underlying bytes without base64
228
+ return {
229
+ //@ts-ignore
230
+ bodyBytes: view.buffer.slice(
231
+ view.byteOffset,
232
+ view.byteOffset + view.byteLength
233
+ ),
234
+ };
235
+ }
236
+ // TODO: Blob/FormData support can be added later
237
+ throw new Error('Unsupported body type for nitro fetch');
238
+ }
239
+ // Pure JS version of buildNitroRequest that doesnt use anything that breaks worklets
240
+ export function buildNitroRequestPure(
241
+ input: RequestInfo | URL,
242
+ init?: RequestInit
243
+ ): NitroRequest {
244
+ 'worklet';
245
+ let url: string;
246
+ let method: string | undefined;
247
+ let headersInit: HeadersInit | undefined;
248
+ let body: BodyInit | null | undefined;
249
+
250
+ // Check if input is URL-like without instanceof
251
+ const isUrlObject =
252
+ typeof input === 'object' &&
253
+ input !== null &&
254
+ Object.prototype.toString.call(input) === '[object URL]';
255
+
256
+ if (typeof input === 'string' || isUrlObject) {
257
+ url = String(input);
258
+ method = init?.method;
259
+ headersInit = init?.headers;
260
+ body = init?.body ?? null;
261
+ } else {
262
+ // Request object
263
+ const req = input as Request;
264
+ url = req.url;
265
+ method = req.method;
266
+ headersInit = req.headers;
267
+ // Clone body if needed – Request objects in RN typically allow direct access
268
+ body = init?.body ?? null;
269
+ }
270
+
271
+ const headers = headersToPairsPure(headersInit);
272
+ const normalized = normalizeBodyPure(body);
273
+
274
+ return {
275
+ url,
276
+ method: (method?.toUpperCase() as any) ?? 'GET',
277
+ headers,
278
+ bodyString: normalized?.bodyString,
279
+ // Only include bodyBytes when provided to avoid signaling upload data unintentionally
280
+ bodyBytes: undefined as any,
281
+ followRedirects: true,
282
+ };
283
+ }
284
+
120
285
  async function nitroFetchRaw(
121
286
  input: RequestInfo | URL,
122
287
  init?: RequestInit
123
288
  ): Promise<NitroResponse> {
124
- 'worklet';
125
289
  const hasNative =
126
290
  typeof (NitroFetchHybrid as any)?.createClient === 'function';
127
291
  if (!hasNative) {
@@ -193,8 +357,6 @@ export async function nitroFetch(
193
357
  input: RequestInfo | URL,
194
358
  init?: RequestInit
195
359
  ): Promise<Response> {
196
- 'worklet';
197
-
198
360
  const res = await nitroFetchRaw(input, init);
199
361
 
200
362
  const headersObj = new NitroHeaders(res.headers);
@@ -357,11 +519,9 @@ export type NitroWorkletMapper<T> = (payload: {
357
519
  let nitroRuntime: any | undefined;
358
520
  let WorkletsRef: any | undefined;
359
521
  function ensureWorkletRuntime(name = 'nitro-fetch'): any | undefined {
360
- console.log('ensuring worklet runtime');
361
522
  try {
362
523
  const { Worklets } = require('react-native-worklets-core');
363
- nitroRuntime = nitroRuntime ?? Worklets.createRuntime(name);
364
- console.log('nitroRuntime:', !!nitroRuntime);
524
+ nitroRuntime = nitroRuntime ?? Worklets.createContext(name);
365
525
  return nitroRuntime;
366
526
  } catch {
367
527
  console.warn('react-native-worklets-core not available');
@@ -388,22 +548,18 @@ export async function nitroFetchOnWorklet<T>(
388
548
  mapWorklet: NitroWorkletMapper<T>,
389
549
  options?: { preferBytes?: boolean; runtimeName?: string }
390
550
  ): Promise<T> {
391
- console.log('nitroFetchOnWorklet: starting');
392
551
  const preferBytes = options?.preferBytes === true; // default true
393
- console.log('nitroFetchOnWorklet: preferBytes:', preferBytes);
394
552
  let rt: any | undefined;
395
553
  let Worklets: any | undefined;
396
554
  try {
397
555
  rt = ensureWorkletRuntime(options?.runtimeName);
398
- console.log('nitroFetchOnWorklet: runtime created?', !!rt);
399
556
  Worklets = getWorklets();
400
- console.log('nitroFetchOnWorklet: Worklets available?', !!Worklets);
401
557
  } catch (e) {
402
558
  console.error('nitroFetchOnWorklet: setup failed', e);
403
559
  }
404
560
 
405
561
  // Fallback: if runtime is not available, do the work on JS
406
- if (!rt || !Worklets || typeof rt.run !== 'function') {
562
+ if (!rt || !Worklets || typeof rt.runAsync !== 'function') {
407
563
  console.warn('nitroFetchOnWorklet: no runtime, mapping on JS thread');
408
564
  const res = await nitroFetchRaw(input, init);
409
565
  const payload = {
@@ -418,47 +574,24 @@ export async function nitroFetchOnWorklet<T>(
418
574
  } as const;
419
575
  return mapWorklet(payload as any);
420
576
  }
577
+ return await rt.runAsync(() => {
578
+ 'worklet';
579
+ const unboxedNitroFetch = boxedNitroFetch.unbox();
580
+ const unboxedClient = unboxedNitroFetch.createClient();
581
+ const request = buildNitroRequestPure(input, init);
582
+ const res = unboxedClient.requestSync(request);
583
+ const payload = {
584
+ url: res.url,
585
+ status: res.status,
586
+ statusText: res.statusText,
587
+ ok: res.ok,
588
+ redirected: res.redirected,
589
+ headers: res.headers,
590
+ bodyBytes: preferBytes ? res.bodyBytes : undefined,
591
+ bodyString: preferBytes ? undefined : res.bodyString,
592
+ } as const;
421
593
 
422
- return await new Promise<T>((resolve, reject) => {
423
- try {
424
- console.log('nitroFetchOnWorklet: about to call rt.run');
425
- rt.run(async (map: NitroWorkletMapper<T>) => {
426
- 'worklet';
427
- try {
428
- console.log('nitroFetchOnWorklet: running fetch on worklet thread');
429
- const res = await nitroFetchRaw(input, init);
430
- console.log('nitroFetchOnWorklet: fetch completed');
431
- const url = res.url;
432
- const status = res.status;
433
- const statusText = res.statusText;
434
- const ok = res.ok;
435
- const redirected = res.redirected;
436
- const headersPairs: NitroHeader[] = res.headers;
437
- const bodyBytes: ArrayBuffer | undefined = undefined; // preferBytes ? res.bodyBytes : undefined;
438
- const bodyString: string | undefined = preferBytes
439
- ? undefined
440
- : res.bodyString;
441
- const payload = {
442
- url,
443
- status,
444
- statusText,
445
- ok,
446
- redirected,
447
- headers: headersPairs,
448
- bodyBytes,
449
- bodyString,
450
- };
451
- const out = map(payload);
452
- // Resolve back on JS thread
453
- Worklets.runOnJS(resolve)(out as any);
454
- } catch (e) {
455
- Worklets.runOnJS(reject)(e as any);
456
- }
457
- }, mapWorklet as any);
458
- } catch (e) {
459
- console.error('nitroFetchOnWorklet: rt.run failed', e);
460
- reject(e);
461
- }
594
+ return mapWorklet(payload as any);
462
595
  });
463
596
  }
464
597