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.
- package/android/build.gradle +1 -1
- package/lib/module/fetch.js +155 -14
- package/lib/module/fetch.js.map +1 -1
- package/lib/typescript/src/fetch.d.ts +2 -1
- package/lib/typescript/src/fetch.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JHybridNativeStorageSpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridNativeStorageSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridNitroFetchClientSpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridNitroFetchClientSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridNitroFetchSpec.cpp +1 -1
- package/nitrogen/generated/android/c++/JHybridNitroFetchSpec.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroHeader.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroRequest.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroRequestMethod.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroResponse.hpp +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNativeStorageSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNitroFetchClientSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNitroFetchSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroHeader.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroRequest.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroRequestMethod.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroResponse.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/nitrofetchOnLoad.kt +1 -1
- package/nitrogen/generated/android/nitrofetch+autolinking.cmake +1 -1
- package/nitrogen/generated/android/nitrofetch+autolinking.gradle +1 -1
- package/nitrogen/generated/android/nitrofetchOnLoad.cpp +1 -1
- package/nitrogen/generated/android/nitrofetchOnLoad.hpp +1 -1
- package/nitrogen/generated/ios/NitroFetch+autolinking.rb +1 -1
- package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Bridge.cpp +1 -1
- package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Bridge.hpp +1 -1
- package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Umbrella.hpp +1 -1
- package/nitrogen/generated/ios/NitroFetchAutolinking.mm +1 -1
- package/nitrogen/generated/ios/NitroFetchAutolinking.swift +1 -1
- package/nitrogen/generated/ios/c++/HybridNativeStorageSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNativeStorageSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNitroFetchClientSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNitroFetchClientSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNitroFetchSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNitroFetchSpecSwift.hpp +1 -1
- package/nitrogen/generated/ios/swift/Func_void.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_NitroResponse.swift +1 -1
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridNativeStorageSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridNativeStorageSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridNitroFetchClientSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridNitroFetchClientSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridNitroFetchSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridNitroFetchSpec_cxx.swift +1 -1
- package/nitrogen/generated/ios/swift/NitroHeader.swift +1 -1
- package/nitrogen/generated/ios/swift/NitroRequest.swift +1 -1
- package/nitrogen/generated/ios/swift/NitroRequestMethod.swift +1 -1
- package/nitrogen/generated/ios/swift/NitroResponse.swift +1 -1
- package/nitrogen/generated/shared/c++/HybridNativeStorageSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNativeStorageSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroFetchClientSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroFetchClientSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroFetchSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroFetchSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroHeader.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroRequest.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroRequestMethod.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroResponse.hpp +1 -1
- package/package.json +1 -1
- package/src/fetch.ts +167 -11
package/android/build.gradle
CHANGED
|
@@ -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") ?: "
|
|
113
|
+
def cronetVersion = (getExtOrDefault("cronetVersion") ?: "141.7340.3")
|
|
114
114
|
|
|
115
115
|
|
|
116
116
|
dependencies {
|
package/lib/module/fetch.js
CHANGED
|
@@ -31,12 +31,34 @@ function headersToPairs(headers) {
|
|
|
31
31
|
}
|
|
32
32
|
return pairs;
|
|
33
33
|
}
|
|
34
|
-
// Record<string, string>
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
|
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,
|
package/lib/module/fetch.js.map
CHANGED
|
@@ -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,
|
|
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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "JHybridNativeStorageSpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "JHybridNitroFetchClientSpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "JHybridNitroFetchSpec.hpp"
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNativeStorageSpec.kt
CHANGED
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrofetch
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNitroFetchClientSpec.kt
CHANGED
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrofetch
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNitroFetchSpec.kt
CHANGED
|
@@ -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 ©
|
|
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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrofetch
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroRequestMethod.kt
CHANGED
|
@@ -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 ©
|
|
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 ©
|
|
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 ©
|
|
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 ©
|
|
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 ©
|
|
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 ©
|
|
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
|
# 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 ©
|
|
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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "NitroFetch-Swift-Cxx-Bridge.hpp"
|
|
@@ -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 ©
|
|
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 ©
|
|
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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridNativeStorageSpecSwift.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridNitroFetchClientSpecSwift.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridNitroFetchSpecSwift.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
import NitroModules
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
import Foundation
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridNativeStorageSpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridNitroFetchClientSpec.hpp"
|
|
@@ -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 ©
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "HybridNitroFetchSpec.hpp"
|
package/package.json
CHANGED
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
|
-
|
|
41
|
-
|
|
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
|
|
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,
|