react-native-nitro-fetch 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/android/build.gradle +1 -1
  2. package/lib/module/fetch.js +155 -14
  3. package/lib/module/fetch.js.map +1 -1
  4. package/lib/typescript/src/fetch.d.ts +2 -1
  5. package/lib/typescript/src/fetch.d.ts.map +1 -1
  6. package/nitrogen/generated/android/c++/JHybridNativeStorageSpec.cpp +1 -1
  7. package/nitrogen/generated/android/c++/JHybridNativeStorageSpec.hpp +1 -1
  8. package/nitrogen/generated/android/c++/JHybridNitroFetchClientSpec.cpp +1 -1
  9. package/nitrogen/generated/android/c++/JHybridNitroFetchClientSpec.hpp +1 -1
  10. package/nitrogen/generated/android/c++/JHybridNitroFetchSpec.cpp +1 -1
  11. package/nitrogen/generated/android/c++/JHybridNitroFetchSpec.hpp +1 -1
  12. package/nitrogen/generated/android/c++/JNitroHeader.hpp +1 -1
  13. package/nitrogen/generated/android/c++/JNitroRequest.hpp +1 -1
  14. package/nitrogen/generated/android/c++/JNitroRequestMethod.hpp +1 -1
  15. package/nitrogen/generated/android/c++/JNitroResponse.hpp +1 -1
  16. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNativeStorageSpec.kt +1 -1
  17. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNitroFetchClientSpec.kt +1 -1
  18. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNitroFetchSpec.kt +1 -1
  19. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroHeader.kt +1 -1
  20. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroRequest.kt +1 -1
  21. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroRequestMethod.kt +1 -1
  22. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroResponse.kt +1 -1
  23. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/nitrofetchOnLoad.kt +1 -1
  24. package/nitrogen/generated/android/nitrofetch+autolinking.cmake +1 -1
  25. package/nitrogen/generated/android/nitrofetch+autolinking.gradle +1 -1
  26. package/nitrogen/generated/android/nitrofetchOnLoad.cpp +1 -1
  27. package/nitrogen/generated/android/nitrofetchOnLoad.hpp +1 -1
  28. package/nitrogen/generated/ios/NitroFetch+autolinking.rb +1 -1
  29. package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Bridge.cpp +1 -1
  30. package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Bridge.hpp +1 -1
  31. package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Umbrella.hpp +1 -1
  32. package/nitrogen/generated/ios/NitroFetchAutolinking.mm +1 -1
  33. package/nitrogen/generated/ios/NitroFetchAutolinking.swift +1 -1
  34. package/nitrogen/generated/ios/c++/HybridNativeStorageSpecSwift.cpp +1 -1
  35. package/nitrogen/generated/ios/c++/HybridNativeStorageSpecSwift.hpp +1 -1
  36. package/nitrogen/generated/ios/c++/HybridNitroFetchClientSpecSwift.cpp +1 -1
  37. package/nitrogen/generated/ios/c++/HybridNitroFetchClientSpecSwift.hpp +1 -1
  38. package/nitrogen/generated/ios/c++/HybridNitroFetchSpecSwift.cpp +1 -1
  39. package/nitrogen/generated/ios/c++/HybridNitroFetchSpecSwift.hpp +1 -1
  40. package/nitrogen/generated/ios/swift/Func_void.swift +1 -1
  41. package/nitrogen/generated/ios/swift/Func_void_NitroResponse.swift +1 -1
  42. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
  43. package/nitrogen/generated/ios/swift/HybridNativeStorageSpec.swift +1 -1
  44. package/nitrogen/generated/ios/swift/HybridNativeStorageSpec_cxx.swift +1 -1
  45. package/nitrogen/generated/ios/swift/HybridNitroFetchClientSpec.swift +1 -1
  46. package/nitrogen/generated/ios/swift/HybridNitroFetchClientSpec_cxx.swift +1 -1
  47. package/nitrogen/generated/ios/swift/HybridNitroFetchSpec.swift +1 -1
  48. package/nitrogen/generated/ios/swift/HybridNitroFetchSpec_cxx.swift +1 -1
  49. package/nitrogen/generated/ios/swift/NitroHeader.swift +1 -1
  50. package/nitrogen/generated/ios/swift/NitroRequest.swift +1 -1
  51. package/nitrogen/generated/ios/swift/NitroRequestMethod.swift +1 -1
  52. package/nitrogen/generated/ios/swift/NitroResponse.swift +1 -1
  53. package/nitrogen/generated/shared/c++/HybridNativeStorageSpec.cpp +1 -1
  54. package/nitrogen/generated/shared/c++/HybridNativeStorageSpec.hpp +1 -1
  55. package/nitrogen/generated/shared/c++/HybridNitroFetchClientSpec.cpp +1 -1
  56. package/nitrogen/generated/shared/c++/HybridNitroFetchClientSpec.hpp +1 -1
  57. package/nitrogen/generated/shared/c++/HybridNitroFetchSpec.cpp +1 -1
  58. package/nitrogen/generated/shared/c++/HybridNitroFetchSpec.hpp +1 -1
  59. package/nitrogen/generated/shared/c++/NitroHeader.hpp +1 -1
  60. package/nitrogen/generated/shared/c++/NitroRequest.hpp +1 -1
  61. package/nitrogen/generated/shared/c++/NitroRequestMethod.hpp +1 -1
  62. package/nitrogen/generated/shared/c++/NitroResponse.hpp +1 -1
  63. package/package.json +1 -1
  64. package/src/fetch.ts +167 -11
@@ -110,7 +110,7 @@ repositories {
110
110
 
111
111
  def kotlin_version = getExtOrDefault("kotlinVersion")
112
112
  // ---------- Cronet (Java API only) ----------
113
- def cronetVersion = (getExtOrDefault("cronetVersion") ?: "119.6045.31")
113
+ def cronetVersion = (getExtOrDefault("cronetVersion") ?: "141.7340.3")
114
114
 
115
115
 
116
116
  dependencies {
@@ -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,6 +130,131 @@ function buildNitroRequest(input, init) {
108
130
  followRedirects: true
109
131
  };
110
132
  }
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) {
136
+ 'worklet';
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
+ }
111
258
  async function nitroFetchRaw(input, init) {
112
259
  const hasNative = typeof NitroFetchHybrid?.createClient === 'function';
113
260
  if (!hasNative) {
@@ -299,13 +446,11 @@ export async function removeAllFromAutoprefetch() {
299
446
  let nitroRuntime;
300
447
  let WorkletsRef;
301
448
  function ensureWorkletRuntime(name = 'nitro-fetch') {
302
- console.log('ensuring worklet runtime');
303
449
  try {
304
450
  const {
305
451
  Worklets
306
452
  } = require('react-native-worklets-core');
307
453
  nitroRuntime = nitroRuntime ?? Worklets.createContext(name);
308
- console.log('nitroRuntime:', !!nitroRuntime);
309
454
  return nitroRuntime;
310
455
  } catch {
311
456
  console.warn('react-native-worklets-core not available');
@@ -326,16 +471,12 @@ function getWorklets() {
326
471
  }
327
472
  }
328
473
  export async function nitroFetchOnWorklet(input, init, mapWorklet, options) {
329
- console.log('nitroFetchOnWorklet: starting');
330
474
  const preferBytes = options?.preferBytes === true; // default true
331
- console.log('nitroFetchOnWorklet: preferBytes:', preferBytes);
332
475
  let rt;
333
476
  let Worklets;
334
477
  try {
335
478
  rt = ensureWorkletRuntime(options?.runtimeName);
336
- console.log('nitroFetchOnWorklet: runtime created?', !!rt);
337
479
  Worklets = getWorklets();
338
- console.log('nitroFetchOnWorklet: Worklets available?', !!Worklets);
339
480
  } catch (e) {
340
481
  console.error('nitroFetchOnWorklet: setup failed', e);
341
482
  }
@@ -356,13 +497,13 @@ export async function nitroFetchOnWorklet(input, init, mapWorklet, options) {
356
497
  };
357
498
  return mapWorklet(payload);
358
499
  }
359
- console.log('nitroFetchOnWorklet: running on worklet thread');
360
500
  return await rt.runAsync(() => {
361
501
  'worklet';
362
502
 
363
503
  const unboxedNitroFetch = boxedNitroFetch.unbox();
364
504
  const unboxedClient = unboxedNitroFetch.createClient();
365
- const res = unboxedClient.requestSync(buildNitroRequest(input, init));
505
+ const request = buildNitroRequestPure(input, init);
506
+ const res = unboxedClient.requestSync(request);
366
507
  const payload = {
367
508
  url: res.url,
368
509
  status: res.status,
@@ -1 +1 @@
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","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","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":[]}
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":[]}
@@ -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;AA4L5B,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;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,CAkDZ;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"}
@@ -2,7 +2,7 @@
2
2
  /// JHybridNativeStorageSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "JHybridNativeStorageSpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridNativeStorageSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JHybridNitroFetchClientSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "JHybridNitroFetchClientSpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchClientSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JHybridNitroFetchSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "JHybridNitroFetchSpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JNitroHeader.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JNitroRequest.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JNitroRequestMethod.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// JNitroResponse.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridNativeStorageSpec.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.nitrofetch
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchClientSpec.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.nitrofetch
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchSpec.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.nitrofetch
@@ -2,7 +2,7 @@
2
2
  /// NitroHeader.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.nitrofetch
@@ -2,7 +2,7 @@
2
2
  /// NitroRequest.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.nitrofetch
@@ -2,7 +2,7 @@
2
2
  /// NitroRequestMethod.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.nitrofetch
@@ -2,7 +2,7 @@
2
2
  /// NitroResponse.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.nitrofetch
@@ -2,7 +2,7 @@
2
2
  /// nitrofetchOnLoad.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.nitrofetch
@@ -2,7 +2,7 @@
2
2
  # nitrofetch+autolinking.cmake
3
3
  # This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  # https://github.com/mrousavy/nitro
5
- # Copyright © 2025 Marc Rousavy @ Margelo
5
+ # Copyright © 2026 Marc Rousavy @ Margelo
6
6
  #
7
7
 
8
8
  # This is a CMake file that adds all files generated by Nitrogen
@@ -2,7 +2,7 @@
2
2
  /// nitrofetch+autolinking.gradle
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  /// This is a Gradle file that adds all files generated by Nitrogen
@@ -2,7 +2,7 @@
2
2
  /// nitrofetchOnLoad.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #ifndef BUILDING_NITROFETCH_WITH_GENERATED_CMAKE_PROJECT
@@ -2,7 +2,7 @@
2
2
  /// nitrofetchOnLoad.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include <jni.h>
@@ -2,7 +2,7 @@
2
2
  # NitroFetch+autolinking.rb
3
3
  # This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  # https://github.com/mrousavy/nitro
5
- # Copyright © 2025 Marc Rousavy @ Margelo
5
+ # Copyright © 2026 Marc Rousavy @ Margelo
6
6
  #
7
7
 
8
8
  # This is a Ruby script that adds all files generated by Nitrogen
@@ -2,7 +2,7 @@
2
2
  /// NitroFetch-Swift-Cxx-Bridge.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "NitroFetch-Swift-Cxx-Bridge.hpp"
@@ -2,7 +2,7 @@
2
2
  /// NitroFetch-Swift-Cxx-Bridge.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// NitroFetch-Swift-Cxx-Umbrella.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// NitroFetchAutolinking.mm
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #import <Foundation/Foundation.h>
@@ -2,7 +2,7 @@
2
2
  /// NitroFetchAutolinking.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  public final class NitroFetchAutolinking {
@@ -2,7 +2,7 @@
2
2
  /// HybridNativeStorageSpecSwift.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridNativeStorageSpecSwift.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridNativeStorageSpecSwift.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchClientSpecSwift.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridNitroFetchClientSpecSwift.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchClientSpecSwift.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchSpecSwift.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridNitroFetchSpecSwift.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchSpecSwift.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// Func_void.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import NitroModules
@@ -2,7 +2,7 @@
2
2
  /// Func_void_NitroResponse.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import NitroModules
@@ -2,7 +2,7 @@
2
2
  /// Func_void_std__exception_ptr.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import NitroModules
@@ -2,7 +2,7 @@
2
2
  /// HybridNativeStorageSpec.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import Foundation
@@ -2,7 +2,7 @@
2
2
  /// HybridNativeStorageSpec_cxx.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import Foundation
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchClientSpec.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import Foundation
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchClientSpec_cxx.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import Foundation
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchSpec.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import Foundation
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchSpec_cxx.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import Foundation
@@ -2,7 +2,7 @@
2
2
  /// NitroHeader.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import NitroModules
@@ -2,7 +2,7 @@
2
2
  /// NitroRequest.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import NitroModules
@@ -2,7 +2,7 @@
2
2
  /// NitroRequestMethod.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  /**
@@ -2,7 +2,7 @@
2
2
  /// NitroResponse.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  import NitroModules
@@ -2,7 +2,7 @@
2
2
  /// HybridNativeStorageSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridNativeStorageSpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridNativeStorageSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchClientSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridNitroFetchClientSpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchClientSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridNitroFetchSpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroFetchSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// NitroHeader.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// NitroRequest.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// NitroRequestMethod.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// NitroResponse.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-nitro-fetch",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Awesome Fetch :)",
5
5
  "main": "./lib/module/index.js",
6
6
  "module": "./lib/module/index.js",
package/src/fetch.ts CHANGED
@@ -36,9 +36,31 @@ function headersToPairs(headers?: HeadersInit): NitroHeader[] | undefined {
36
36
  }
37
37
  return pairs;
38
38
  }
39
- // Record<string, string>
40
- for (const [k, v] of Object.entries(headers)) {
41
- 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
+ }
42
64
  }
43
65
  return pairs;
44
66
  }
@@ -120,6 +142,146 @@ function buildNitroRequest(
120
142
  };
121
143
  }
122
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
+
123
285
  async function nitroFetchRaw(
124
286
  input: RequestInfo | URL,
125
287
  init?: RequestInit
@@ -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
524
  nitroRuntime = nitroRuntime ?? Worklets.createContext(name);
364
- console.log('nitroRuntime:', !!nitroRuntime);
365
525
  return nitroRuntime;
366
526
  } catch {
367
527
  console.warn('react-native-worklets-core not available');
@@ -388,16 +548,12 @@ 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
  }
@@ -418,12 +574,12 @@ export async function nitroFetchOnWorklet<T>(
418
574
  } as const;
419
575
  return mapWorklet(payload as any);
420
576
  }
421
- console.log('nitroFetchOnWorklet: running on worklet thread');
422
577
  return await rt.runAsync(() => {
423
578
  'worklet';
424
579
  const unboxedNitroFetch = boxedNitroFetch.unbox();
425
580
  const unboxedClient = unboxedNitroFetch.createClient();
426
- const res = unboxedClient.requestSync(buildNitroRequest(input, init));
581
+ const request = buildNitroRequestPure(input, init);
582
+ const res = unboxedClient.requestSync(request);
427
583
  const payload = {
428
584
  url: res.url,
429
585
  status: res.status,