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.
- package/android/src/main/java/com/margelo/nitro/nitrofetch/NitroFetchClient.kt +51 -27
- package/ios/NitroFetchClient.swift +25 -0
- package/lib/module/NitroInstances.js +1 -0
- package/lib/module/NitroInstances.js.map +1 -1
- package/lib/module/fetch.js +172 -56
- package/lib/module/fetch.js.map +1 -1
- package/lib/typescript/src/NitroFetch.nitro.d.ts +1 -0
- package/lib/typescript/src/NitroFetch.nitro.d.ts.map +1 -1
- package/lib/typescript/src/NitroInstances.d.ts +1 -0
- package/lib/typescript/src/NitroInstances.d.ts.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++/JHybridNitroFetchClientSpec.cpp +5 -0
- package/nitrogen/generated/android/c++/JHybridNitroFetchClientSpec.hpp +1 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNitroFetchClientSpec.kt +4 -0
- package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Bridge.hpp +9 -0
- package/nitrogen/generated/ios/c++/HybridNitroFetchClientSpecSwift.hpp +8 -0
- package/nitrogen/generated/ios/swift/HybridNitroFetchClientSpec.swift +1 -0
- package/nitrogen/generated/ios/swift/HybridNitroFetchClientSpec_cxx.swift +12 -0
- package/nitrogen/generated/shared/c++/HybridNitroFetchClientSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridNitroFetchClientSpec.hpp +1 -0
- package/package.json +1 -1
- package/src/NitroFetch.nitro.ts +3 -0
- package/src/NitroInstances.ts +2 -0
- package/src/fetch.ts +188 -55
|
@@ -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
|
-
|
|
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":[]}
|
package/lib/module/fetch.js
CHANGED
|
@@ -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
|
-
|
|
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,9 +130,132 @@ function buildNitroRequest(input, init) {
|
|
|
108
130
|
followRedirects: true
|
|
109
131
|
};
|
|
110
132
|
}
|
|
111
|
-
|
|
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.
|
|
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.
|
|
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
|
|
364
|
-
|
|
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
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
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();
|
package/lib/module/fetch.js.map
CHANGED
|
@@ -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;
|
|
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,
|
|
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;
|
package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNitroFetchClientSpec.kt
CHANGED
|
@@ -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
package/src/NitroFetch.nitro.ts
CHANGED
|
@@ -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
|
package/src/NitroInstances.ts
CHANGED
package/src/fetch.ts
CHANGED
|
@@ -4,7 +4,10 @@ import type {
|
|
|
4
4
|
NitroRequest,
|
|
5
5
|
NitroResponse,
|
|
6
6
|
} from './NitroFetch.nitro';
|
|
7
|
-
import {
|
|
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
|
-
|
|
38
|
-
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
|