react-native-nitro-fetch 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -1
- package/lib/module/fetch.js +8 -25
- package/lib/module/fetch.js.map +1 -1
- package/lib/typescript/src/NitroFetch.nitro.d.ts +2 -2
- package/lib/typescript/src/NitroFetch.nitro.d.ts.map +1 -1
- package/lib/typescript/src/fetch.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JHybridNitroFetchClientSpec.cpp +0 -5
- package/nitrogen/generated/android/c++/JNitroRequest.hpp +4 -7
- package/nitrogen/generated/android/c++/JNitroResponse.hpp +4 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroRequest.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/NitroResponse.kt +1 -1
- package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Bridge.hpp +0 -21
- package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Umbrella.hpp +0 -3
- package/nitrogen/generated/ios/c++/HybridNitroFetchClientSpecSwift.hpp +0 -6
- package/nitrogen/generated/ios/swift/NitroRequest.swift +14 -7
- package/nitrogen/generated/ios/swift/NitroResponse.swift +14 -7
- package/nitrogen/generated/shared/c++/NitroRequest.hpp +5 -8
- package/nitrogen/generated/shared/c++/NitroResponse.hpp +5 -8
- package/package.json +1 -1
- package/src/NitroFetch.nitro.js +2 -0
- package/src/NitroFetch.nitro.ts +2 -2
- package/src/NitroInstances.js +3 -0
- package/src/fetch.js +377 -0
- package/src/fetch.ts +8 -28
- package/src/index.js +8 -0
package/README.md
CHANGED
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
Nitro-powered fetch for React Native. Android uses Chromium Cronet (via `org.chromium.net:cronet-embedded`); iOS currently falls back to the built-in fetch. Includes helpers for background prefetching and off-thread parsing with worklets.
|
|
8
8
|
|
|
9
|
+
## Project Status
|
|
10
|
+
|
|
11
|
+
This library is currently in alpha. You can adopt it in production, but you may face counter-intuitive api, poor docs or bugs.
|
|
12
|
+
|
|
9
13
|
## Installation
|
|
10
14
|
|
|
11
15
|
```sh
|
|
@@ -90,7 +94,7 @@ const map = (payload: { bodyString?: string }) => {
|
|
|
90
94
|
return JSON.parse(payload.bodyString ?? '{}');
|
|
91
95
|
};
|
|
92
96
|
|
|
93
|
-
const data = await nitroFetchOnWorklet('https://httpbin.org/get', undefined, map
|
|
97
|
+
const data = await nitroFetchOnWorklet('https://httpbin.org/get', undefined, map);
|
|
94
98
|
```
|
|
95
99
|
|
|
96
100
|
## Platform Notes
|
|
@@ -125,6 +129,12 @@ Need top‑notch React Native help or custom networking solutions? Reach out to
|
|
|
125
129
|
- Sending a pull request: `CONTRIBUTING.md#sending-a-pull-request`
|
|
126
130
|
- Code of conduct: `CODE_OF_CONDUCT.md`
|
|
127
131
|
|
|
132
|
+
## Authors
|
|
133
|
+
|
|
134
|
+
- [Szymon Kapala](https://x.com/Turbo_Szymon)
|
|
135
|
+
- [Alex Shumihin](https://x.com/pioner_dev)
|
|
136
|
+
- [Ronald Goedeke](https://x.com/BubbleTroubl_rg)
|
|
137
|
+
|
|
128
138
|
## License
|
|
129
139
|
|
|
130
140
|
MIT
|
package/lib/module/fetch.js
CHANGED
|
@@ -114,7 +114,8 @@ function buildNitroRequest(input, init) {
|
|
|
114
114
|
method: method?.toUpperCase() ?? 'GET',
|
|
115
115
|
headers,
|
|
116
116
|
bodyString: normalized?.bodyString,
|
|
117
|
-
bodyBytes:
|
|
117
|
+
bodyBytes: "",
|
|
118
|
+
//normalized?.bodyBytes,
|
|
118
119
|
followRedirects: true
|
|
119
120
|
};
|
|
120
121
|
}
|
|
@@ -142,7 +143,7 @@ async function nitroFetchRaw(input, init) {
|
|
|
142
143
|
headers,
|
|
143
144
|
bodyBytes: bytes,
|
|
144
145
|
bodyString: undefined
|
|
145
|
-
};
|
|
146
|
+
}; // bleee
|
|
146
147
|
}
|
|
147
148
|
const req = buildNitroRequest(input, init);
|
|
148
149
|
ensureClient();
|
|
@@ -160,24 +161,6 @@ export async function nitroFetch(input, init) {
|
|
|
160
161
|
return fetch(input, init);
|
|
161
162
|
}
|
|
162
163
|
const res = await nitroFetchRaw(input, init);
|
|
163
|
-
const bytes = res.bodyBytes ? new Uint8Array(res.bodyBytes) : res.bodyString != null ? new TextEncoder().encode(res.bodyString) : new Uint8Array();
|
|
164
|
-
|
|
165
|
-
// If Response is available, construct a real Response object for compatibility
|
|
166
|
-
if (typeof Response !== 'undefined') {
|
|
167
|
-
const respInit = {
|
|
168
|
-
status: res.status,
|
|
169
|
-
statusText: res.statusText,
|
|
170
|
-
headers: res.headers.reduce((acc, {
|
|
171
|
-
key,
|
|
172
|
-
value
|
|
173
|
-
}) => {
|
|
174
|
-
acc[key] = value;
|
|
175
|
-
return acc;
|
|
176
|
-
}, {})
|
|
177
|
-
};
|
|
178
|
-
// Prefer native bytes if available
|
|
179
|
-
return new Response(res.bodyBytes ?? bytes, respInit);
|
|
180
|
-
}
|
|
181
164
|
|
|
182
165
|
// Fallback lightweight Response-like object (minimal methods)
|
|
183
166
|
const headersObj = res.headers.reduce((acc, {
|
|
@@ -194,9 +177,9 @@ export async function nitroFetch(input, init) {
|
|
|
194
177
|
statusText: res.statusText,
|
|
195
178
|
redirected: res.redirected,
|
|
196
179
|
headers: headersObj,
|
|
197
|
-
arrayBuffer: async () => res.bodyBytes
|
|
198
|
-
text: async () => res.bodyString
|
|
199
|
-
json: async () => JSON.parse(res.bodyString ??
|
|
180
|
+
arrayBuffer: async () => res.bodyBytes,
|
|
181
|
+
text: async () => res.bodyString,
|
|
182
|
+
json: async () => JSON.parse(res.bodyString ?? '{}')
|
|
200
183
|
};
|
|
201
184
|
return light;
|
|
202
185
|
}
|
|
@@ -366,7 +349,7 @@ function getWorklets() {
|
|
|
366
349
|
}
|
|
367
350
|
export async function nitroFetchOnWorklet(input, init, mapWorklet, options) {
|
|
368
351
|
console.log('nitroFetchOnWorklet: starting');
|
|
369
|
-
const preferBytes = options?.preferBytes
|
|
352
|
+
const preferBytes = options?.preferBytes === true; // default true
|
|
370
353
|
console.log('nitroFetchOnWorklet: preferBytes:', preferBytes);
|
|
371
354
|
let rt;
|
|
372
355
|
let Worklets;
|
|
@@ -411,7 +394,7 @@ export async function nitroFetchOnWorklet(input, init, mapWorklet, options) {
|
|
|
411
394
|
const ok = res.ok;
|
|
412
395
|
const redirected = res.redirected;
|
|
413
396
|
const headersPairs = res.headers;
|
|
414
|
-
const bodyBytes = preferBytes ? res.bodyBytes : undefined;
|
|
397
|
+
const bodyBytes = undefined; // preferBytes ? res.bodyBytes : undefined;
|
|
415
398
|
const bodyString = preferBytes ? undefined : res.bodyString;
|
|
416
399
|
const payload = {
|
|
417
400
|
url,
|
package/lib/module/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroFetch","NitroFetchSingleton","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","pairsToHeaders","h","append","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","nitroFetch","Uint8Array","TextEncoder","encode","Response","respInit","reduce","acc","headersObj","light","text","TextDecoder","decode","json","JSON","parse","prefetch","hasKey","some","toLowerCase","fromInit","prefetchKey","concat","finalHasKey","prefetchOnAppStart","fromHeader","find","MMKV","require","storage","KEY","arr","raw","getString","set","stringify","e","warn","removeFromAutoPrefetch","next","filter","delete","removeAllFromAutoprefetch","nitroRuntime","WorkletsRef","ensureWorkletRuntime","name","log","Worklets","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":["NitroFetch","NitroFetchSingleton","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","pairsToHeaders","h","append","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","nitroFetch","headersObj","reduce","acc","light","text","json","JSON","parse","prefetch","hasKey","some","toLowerCase","fromInit","prefetchKey","concat","finalHasKey","prefetchOnAppStart","fromHeader","find","MMKV","require","storage","KEY","arr","raw","getString","set","stringify","e","warn","removeFromAutoPrefetch","next","filter","delete","removeAllFromAutoprefetch","nitroRuntime","WorkletsRef","ensureWorkletRuntime","name","log","Worklets","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":[]}
|
|
@@ -9,7 +9,7 @@ export interface NitroRequest {
|
|
|
9
9
|
method?: NitroRequestMethod;
|
|
10
10
|
headers?: NitroHeader[];
|
|
11
11
|
bodyString?: string;
|
|
12
|
-
bodyBytes?:
|
|
12
|
+
bodyBytes?: string;
|
|
13
13
|
timeoutMs?: number;
|
|
14
14
|
followRedirects?: boolean;
|
|
15
15
|
}
|
|
@@ -21,7 +21,7 @@ export interface NitroResponse {
|
|
|
21
21
|
redirected: boolean;
|
|
22
22
|
headers: NitroHeader[];
|
|
23
23
|
bodyString?: string;
|
|
24
|
-
bodyBytes?:
|
|
24
|
+
bodyBytes?: string;
|
|
25
25
|
}
|
|
26
26
|
export interface NitroFetchClient extends HybridObject<{
|
|
27
27
|
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,
|
|
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,EAAG,MAAM,CAAC;IAEpB,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,CAAC;CAAE,CAAC;IAE1D,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEnD,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,UACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC;CAAE,CAAC;IAE1D,YAAY,IAAI,gBAAgB,CAAC;CAIlC"}
|
|
@@ -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;AAsI5B,wBAAsB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,oBAAoB,CAAC;AAsI5B,wBAAsB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6BhG;AAGD,wBAAsB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB1F;AAID,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,CA0Cf;AAGD,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B/E;AAGD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAc/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;AA+BR,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,CA8DZ;AAED,eAAO,MAAM,CAAC,KAAyB,CAAC;AACxC,eAAO,MAAM,CAAC,KAAgB,CAAC;AAE/B,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -11,8 +11,6 @@
|
|
|
11
11
|
namespace margelo::nitro::nitrofetch { struct NitroResponse; }
|
|
12
12
|
// Forward declaration of `NitroHeader` to properly resolve imports.
|
|
13
13
|
namespace margelo::nitro::nitrofetch { struct NitroHeader; }
|
|
14
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
15
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
16
14
|
// Forward declaration of `NitroRequest` to properly resolve imports.
|
|
17
15
|
namespace margelo::nitro::nitrofetch { struct NitroRequest; }
|
|
18
16
|
// Forward declaration of `NitroRequestMethod` to properly resolve imports.
|
|
@@ -27,9 +25,6 @@ namespace margelo::nitro::nitrofetch { enum class NitroRequestMethod; }
|
|
|
27
25
|
#include <vector>
|
|
28
26
|
#include "JNitroHeader.hpp"
|
|
29
27
|
#include <optional>
|
|
30
|
-
#include <NitroModules/ArrayBuffer.hpp>
|
|
31
|
-
#include <NitroModules/JArrayBuffer.hpp>
|
|
32
|
-
#include <NitroModules/JUnit.hpp>
|
|
33
28
|
#include "NitroRequest.hpp"
|
|
34
29
|
#include "JNitroRequest.hpp"
|
|
35
30
|
#include "NitroRequestMethod.hpp"
|
|
@@ -14,9 +14,6 @@
|
|
|
14
14
|
#include "JNitroRequestMethod.hpp"
|
|
15
15
|
#include "NitroHeader.hpp"
|
|
16
16
|
#include "NitroRequestMethod.hpp"
|
|
17
|
-
#include <NitroModules/ArrayBuffer.hpp>
|
|
18
|
-
#include <NitroModules/JArrayBuffer.hpp>
|
|
19
|
-
#include <NitroModules/JUnit.hpp>
|
|
20
17
|
#include <optional>
|
|
21
18
|
#include <string>
|
|
22
19
|
#include <vector>
|
|
@@ -48,8 +45,8 @@ namespace margelo::nitro::nitrofetch {
|
|
|
48
45
|
jni::local_ref<jni::JArrayClass<JNitroHeader>> headers = this->getFieldValue(fieldHeaders);
|
|
49
46
|
static const auto fieldBodyString = clazz->getField<jni::JString>("bodyString");
|
|
50
47
|
jni::local_ref<jni::JString> bodyString = this->getFieldValue(fieldBodyString);
|
|
51
|
-
static const auto fieldBodyBytes = clazz->getField<
|
|
52
|
-
jni::local_ref<
|
|
48
|
+
static const auto fieldBodyBytes = clazz->getField<jni::JString>("bodyBytes");
|
|
49
|
+
jni::local_ref<jni::JString> bodyBytes = this->getFieldValue(fieldBodyBytes);
|
|
53
50
|
static const auto fieldTimeoutMs = clazz->getField<jni::JDouble>("timeoutMs");
|
|
54
51
|
jni::local_ref<jni::JDouble> timeoutMs = this->getFieldValue(fieldTimeoutMs);
|
|
55
52
|
static const auto fieldFollowRedirects = clazz->getField<jni::JBoolean>("followRedirects");
|
|
@@ -68,7 +65,7 @@ namespace margelo::nitro::nitrofetch {
|
|
|
68
65
|
return __vector;
|
|
69
66
|
}()) : std::nullopt,
|
|
70
67
|
bodyString != nullptr ? std::make_optional(bodyString->toStdString()) : std::nullopt,
|
|
71
|
-
bodyBytes != nullptr ? std::make_optional(bodyBytes->
|
|
68
|
+
bodyBytes != nullptr ? std::make_optional(bodyBytes->toStdString()) : std::nullopt,
|
|
72
69
|
timeoutMs != nullptr ? std::make_optional(timeoutMs->value()) : std::nullopt,
|
|
73
70
|
followRedirects != nullptr ? std::make_optional(static_cast<bool>(followRedirects->value())) : std::nullopt
|
|
74
71
|
);
|
|
@@ -93,7 +90,7 @@ namespace margelo::nitro::nitrofetch {
|
|
|
93
90
|
return __array;
|
|
94
91
|
}() : nullptr,
|
|
95
92
|
value.bodyString.has_value() ? jni::make_jstring(value.bodyString.value()) : nullptr,
|
|
96
|
-
value.bodyBytes.has_value() ?
|
|
93
|
+
value.bodyBytes.has_value() ? jni::make_jstring(value.bodyBytes.value()) : nullptr,
|
|
97
94
|
value.timeoutMs.has_value() ? jni::JDouble::valueOf(value.timeoutMs.value()) : nullptr,
|
|
98
95
|
value.followRedirects.has_value() ? jni::JBoolean::valueOf(value.followRedirects.value()) : nullptr
|
|
99
96
|
);
|
|
@@ -12,9 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
#include "JNitroHeader.hpp"
|
|
14
14
|
#include "NitroHeader.hpp"
|
|
15
|
-
#include <NitroModules/ArrayBuffer.hpp>
|
|
16
|
-
#include <NitroModules/JArrayBuffer.hpp>
|
|
17
|
-
#include <NitroModules/JUnit.hpp>
|
|
18
15
|
#include <optional>
|
|
19
16
|
#include <string>
|
|
20
17
|
#include <vector>
|
|
@@ -52,8 +49,8 @@ namespace margelo::nitro::nitrofetch {
|
|
|
52
49
|
jni::local_ref<jni::JArrayClass<JNitroHeader>> headers = this->getFieldValue(fieldHeaders);
|
|
53
50
|
static const auto fieldBodyString = clazz->getField<jni::JString>("bodyString");
|
|
54
51
|
jni::local_ref<jni::JString> bodyString = this->getFieldValue(fieldBodyString);
|
|
55
|
-
static const auto fieldBodyBytes = clazz->getField<
|
|
56
|
-
jni::local_ref<
|
|
52
|
+
static const auto fieldBodyBytes = clazz->getField<jni::JString>("bodyBytes");
|
|
53
|
+
jni::local_ref<jni::JString> bodyBytes = this->getFieldValue(fieldBodyBytes);
|
|
57
54
|
return NitroResponse(
|
|
58
55
|
url->toStdString(),
|
|
59
56
|
status,
|
|
@@ -71,7 +68,7 @@ namespace margelo::nitro::nitrofetch {
|
|
|
71
68
|
return __vector;
|
|
72
69
|
}(),
|
|
73
70
|
bodyString != nullptr ? std::make_optional(bodyString->toStdString()) : std::nullopt,
|
|
74
|
-
bodyBytes != nullptr ? std::make_optional(bodyBytes->
|
|
71
|
+
bodyBytes != nullptr ? std::make_optional(bodyBytes->toStdString()) : std::nullopt
|
|
75
72
|
);
|
|
76
73
|
}
|
|
77
74
|
|
|
@@ -97,7 +94,7 @@ namespace margelo::nitro::nitrofetch {
|
|
|
97
94
|
return __array;
|
|
98
95
|
}(),
|
|
99
96
|
value.bodyString.has_value() ? jni::make_jstring(value.bodyString.value()) : nullptr,
|
|
100
|
-
value.bodyBytes.has_value() ?
|
|
97
|
+
value.bodyBytes.has_value() ? jni::make_jstring(value.bodyBytes.value()) : nullptr
|
|
101
98
|
);
|
|
102
99
|
}
|
|
103
100
|
};
|
|
@@ -8,10 +8,6 @@
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
10
|
// Forward declarations of C++ defined types
|
|
11
|
-
// Forward declaration of `ArrayBufferHolder` to properly resolve imports.
|
|
12
|
-
namespace NitroModules { class ArrayBufferHolder; }
|
|
13
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
14
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
15
11
|
// Forward declaration of `HybridNitroFetchClientSpec` to properly resolve imports.
|
|
16
12
|
namespace margelo::nitro::nitrofetch { class HybridNitroFetchClientSpec; }
|
|
17
13
|
// Forward declaration of `HybridNitroFetchSpec` to properly resolve imports.
|
|
@@ -35,8 +31,6 @@ namespace NitroFetch { class HybridNitroFetchSpec_cxx; }
|
|
|
35
31
|
#include "NitroHeader.hpp"
|
|
36
32
|
#include "NitroRequestMethod.hpp"
|
|
37
33
|
#include "NitroResponse.hpp"
|
|
38
|
-
#include <NitroModules/ArrayBuffer.hpp>
|
|
39
|
-
#include <NitroModules/ArrayBufferHolder.hpp>
|
|
40
34
|
#include <NitroModules/Promise.hpp>
|
|
41
35
|
#include <NitroModules/PromiseHolder.hpp>
|
|
42
36
|
#include <NitroModules/Result.hpp>
|
|
@@ -79,21 +73,6 @@ namespace margelo::nitro::nitrofetch::bridge::swift {
|
|
|
79
73
|
return *optional;
|
|
80
74
|
}
|
|
81
75
|
|
|
82
|
-
// pragma MARK: std::optional<std::shared_ptr<ArrayBuffer>>
|
|
83
|
-
/**
|
|
84
|
-
* Specialized version of `std::optional<std::shared_ptr<ArrayBuffer>>`.
|
|
85
|
-
*/
|
|
86
|
-
using std__optional_std__shared_ptr_ArrayBuffer__ = std::optional<std::shared_ptr<ArrayBuffer>>;
|
|
87
|
-
inline std::optional<std::shared_ptr<ArrayBuffer>> create_std__optional_std__shared_ptr_ArrayBuffer__(const std::shared_ptr<ArrayBuffer>& value) noexcept {
|
|
88
|
-
return std::optional<std::shared_ptr<ArrayBuffer>>(value);
|
|
89
|
-
}
|
|
90
|
-
inline bool has_value_std__optional_std__shared_ptr_ArrayBuffer__(const std::optional<std::shared_ptr<ArrayBuffer>>& optional) noexcept {
|
|
91
|
-
return optional.has_value();
|
|
92
|
-
}
|
|
93
|
-
inline std::shared_ptr<ArrayBuffer> get_std__optional_std__shared_ptr_ArrayBuffer__(const std::optional<std::shared_ptr<ArrayBuffer>>& optional) noexcept {
|
|
94
|
-
return *optional;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
76
|
// pragma MARK: std::shared_ptr<Promise<NitroResponse>>
|
|
98
77
|
/**
|
|
99
78
|
* Specialized version of `std::shared_ptr<Promise<NitroResponse>>`.
|
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
10
|
// Forward declarations of C++ defined types
|
|
11
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
12
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
13
11
|
// Forward declaration of `HybridNitroFetchClientSpec` to properly resolve imports.
|
|
14
12
|
namespace margelo::nitro::nitrofetch { class HybridNitroFetchClientSpec; }
|
|
15
13
|
// Forward declaration of `HybridNitroFetchSpec` to properly resolve imports.
|
|
@@ -30,7 +28,6 @@ namespace margelo::nitro::nitrofetch { struct NitroResponse; }
|
|
|
30
28
|
#include "NitroRequest.hpp"
|
|
31
29
|
#include "NitroRequestMethod.hpp"
|
|
32
30
|
#include "NitroResponse.hpp"
|
|
33
|
-
#include <NitroModules/ArrayBuffer.hpp>
|
|
34
31
|
#include <NitroModules/Promise.hpp>
|
|
35
32
|
#include <NitroModules/Result.hpp>
|
|
36
33
|
#include <exception>
|
|
@@ -16,10 +16,6 @@ namespace NitroFetch { class HybridNitroFetchClientSpec_cxx; }
|
|
|
16
16
|
namespace margelo::nitro::nitrofetch { struct NitroResponse; }
|
|
17
17
|
// Forward declaration of `NitroHeader` to properly resolve imports.
|
|
18
18
|
namespace margelo::nitro::nitrofetch { struct NitroHeader; }
|
|
19
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
20
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
21
|
-
// Forward declaration of `ArrayBufferHolder` to properly resolve imports.
|
|
22
|
-
namespace NitroModules { class ArrayBufferHolder; }
|
|
23
19
|
// Forward declaration of `NitroRequest` to properly resolve imports.
|
|
24
20
|
namespace margelo::nitro::nitrofetch { struct NitroRequest; }
|
|
25
21
|
// Forward declaration of `NitroRequestMethod` to properly resolve imports.
|
|
@@ -31,8 +27,6 @@ namespace margelo::nitro::nitrofetch { enum class NitroRequestMethod; }
|
|
|
31
27
|
#include "NitroHeader.hpp"
|
|
32
28
|
#include <vector>
|
|
33
29
|
#include <optional>
|
|
34
|
-
#include <NitroModules/ArrayBuffer.hpp>
|
|
35
|
-
#include <NitroModules/ArrayBufferHolder.hpp>
|
|
36
30
|
#include "NitroRequest.hpp"
|
|
37
31
|
#include "NitroRequestMethod.hpp"
|
|
38
32
|
|
|
@@ -18,7 +18,7 @@ public extension NitroRequest {
|
|
|
18
18
|
/**
|
|
19
19
|
* Create a new instance of `NitroRequest`.
|
|
20
20
|
*/
|
|
21
|
-
init(url: String, method: NitroRequestMethod?, headers: [NitroHeader]?, bodyString: String?, bodyBytes:
|
|
21
|
+
init(url: String, method: NitroRequestMethod?, headers: [NitroHeader]?, bodyString: String?, bodyBytes: String?, timeoutMs: Double?, followRedirects: Bool?) {
|
|
22
22
|
self.init(std.string(url), { () -> bridge.std__optional_NitroRequestMethod_ in
|
|
23
23
|
if let __unwrappedValue = method {
|
|
24
24
|
return bridge.create_std__optional_NitroRequestMethod_(__unwrappedValue)
|
|
@@ -43,9 +43,9 @@ public extension NitroRequest {
|
|
|
43
43
|
} else {
|
|
44
44
|
return .init()
|
|
45
45
|
}
|
|
46
|
-
}(), { () -> bridge.
|
|
46
|
+
}(), { () -> bridge.std__optional_std__string_ in
|
|
47
47
|
if let __unwrappedValue = bodyBytes {
|
|
48
|
-
return bridge.
|
|
48
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
49
49
|
} else {
|
|
50
50
|
return .init()
|
|
51
51
|
}
|
|
@@ -146,16 +146,23 @@ public extension NitroRequest {
|
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
-
var bodyBytes:
|
|
149
|
+
var bodyBytes: String? {
|
|
150
150
|
@inline(__always)
|
|
151
151
|
get {
|
|
152
|
-
return
|
|
152
|
+
return { () -> String? in
|
|
153
|
+
if bridge.has_value_std__optional_std__string_(self.__bodyBytes) {
|
|
154
|
+
let __unwrapped = bridge.get_std__optional_std__string_(self.__bodyBytes)
|
|
155
|
+
return String(__unwrapped)
|
|
156
|
+
} else {
|
|
157
|
+
return nil
|
|
158
|
+
}
|
|
159
|
+
}()
|
|
153
160
|
}
|
|
154
161
|
@inline(__always)
|
|
155
162
|
set {
|
|
156
|
-
self.__bodyBytes = { () -> bridge.
|
|
163
|
+
self.__bodyBytes = { () -> bridge.std__optional_std__string_ in
|
|
157
164
|
if let __unwrappedValue = newValue {
|
|
158
|
-
return bridge.
|
|
165
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
159
166
|
} else {
|
|
160
167
|
return .init()
|
|
161
168
|
}
|
|
@@ -18,7 +18,7 @@ public extension NitroResponse {
|
|
|
18
18
|
/**
|
|
19
19
|
* Create a new instance of `NitroResponse`.
|
|
20
20
|
*/
|
|
21
|
-
init(url: String, status: Double, statusText: String, ok: Bool, redirected: Bool, headers: [NitroHeader], bodyString: String?, bodyBytes:
|
|
21
|
+
init(url: String, status: Double, statusText: String, ok: Bool, redirected: Bool, headers: [NitroHeader], bodyString: String?, bodyBytes: String?) {
|
|
22
22
|
self.init(std.string(url), status, std.string(statusText), ok, redirected, { () -> bridge.std__vector_NitroHeader_ in
|
|
23
23
|
var __vector = bridge.create_std__vector_NitroHeader_(headers.count)
|
|
24
24
|
for __item in headers {
|
|
@@ -31,9 +31,9 @@ public extension NitroResponse {
|
|
|
31
31
|
} else {
|
|
32
32
|
return .init()
|
|
33
33
|
}
|
|
34
|
-
}(), { () -> bridge.
|
|
34
|
+
}(), { () -> bridge.std__optional_std__string_ in
|
|
35
35
|
if let __unwrappedValue = bodyBytes {
|
|
36
|
-
return bridge.
|
|
36
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
37
37
|
} else {
|
|
38
38
|
return .init()
|
|
39
39
|
}
|
|
@@ -136,16 +136,23 @@ public extension NitroResponse {
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
var bodyBytes:
|
|
139
|
+
var bodyBytes: String? {
|
|
140
140
|
@inline(__always)
|
|
141
141
|
get {
|
|
142
|
-
return
|
|
142
|
+
return { () -> String? in
|
|
143
|
+
if bridge.has_value_std__optional_std__string_(self.__bodyBytes) {
|
|
144
|
+
let __unwrapped = bridge.get_std__optional_std__string_(self.__bodyBytes)
|
|
145
|
+
return String(__unwrapped)
|
|
146
|
+
} else {
|
|
147
|
+
return nil
|
|
148
|
+
}
|
|
149
|
+
}()
|
|
143
150
|
}
|
|
144
151
|
@inline(__always)
|
|
145
152
|
set {
|
|
146
|
-
self.__bodyBytes = { () -> bridge.
|
|
153
|
+
self.__bodyBytes = { () -> bridge.std__optional_std__string_ in
|
|
147
154
|
if let __unwrappedValue = newValue {
|
|
148
|
-
return bridge.
|
|
155
|
+
return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
|
|
149
156
|
} else {
|
|
150
157
|
return .init()
|
|
151
158
|
}
|
|
@@ -22,15 +22,12 @@
|
|
|
22
22
|
namespace margelo::nitro::nitrofetch { enum class NitroRequestMethod; }
|
|
23
23
|
// Forward declaration of `NitroHeader` to properly resolve imports.
|
|
24
24
|
namespace margelo::nitro::nitrofetch { struct NitroHeader; }
|
|
25
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
26
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
27
25
|
|
|
28
26
|
#include <string>
|
|
29
27
|
#include "NitroRequestMethod.hpp"
|
|
30
28
|
#include <optional>
|
|
31
29
|
#include "NitroHeader.hpp"
|
|
32
30
|
#include <vector>
|
|
33
|
-
#include <NitroModules/ArrayBuffer.hpp>
|
|
34
31
|
|
|
35
32
|
namespace margelo::nitro::nitrofetch {
|
|
36
33
|
|
|
@@ -43,13 +40,13 @@ namespace margelo::nitro::nitrofetch {
|
|
|
43
40
|
std::optional<NitroRequestMethod> method SWIFT_PRIVATE;
|
|
44
41
|
std::optional<std::vector<NitroHeader>> headers SWIFT_PRIVATE;
|
|
45
42
|
std::optional<std::string> bodyString SWIFT_PRIVATE;
|
|
46
|
-
std::optional<std::
|
|
43
|
+
std::optional<std::string> bodyBytes SWIFT_PRIVATE;
|
|
47
44
|
std::optional<double> timeoutMs SWIFT_PRIVATE;
|
|
48
45
|
std::optional<bool> followRedirects SWIFT_PRIVATE;
|
|
49
46
|
|
|
50
47
|
public:
|
|
51
48
|
NitroRequest() = default;
|
|
52
|
-
explicit NitroRequest(std::string url, std::optional<NitroRequestMethod> method, std::optional<std::vector<NitroHeader>> headers, std::optional<std::string> bodyString, std::optional<std::
|
|
49
|
+
explicit NitroRequest(std::string url, std::optional<NitroRequestMethod> method, std::optional<std::vector<NitroHeader>> headers, std::optional<std::string> bodyString, std::optional<std::string> bodyBytes, std::optional<double> timeoutMs, std::optional<bool> followRedirects): url(url), method(method), headers(headers), bodyString(bodyString), bodyBytes(bodyBytes), timeoutMs(timeoutMs), followRedirects(followRedirects) {}
|
|
53
50
|
};
|
|
54
51
|
|
|
55
52
|
} // namespace margelo::nitro::nitrofetch
|
|
@@ -66,7 +63,7 @@ namespace margelo::nitro {
|
|
|
66
63
|
JSIConverter<std::optional<margelo::nitro::nitrofetch::NitroRequestMethod>>::fromJSI(runtime, obj.getProperty(runtime, "method")),
|
|
67
64
|
JSIConverter<std::optional<std::vector<margelo::nitro::nitrofetch::NitroHeader>>>::fromJSI(runtime, obj.getProperty(runtime, "headers")),
|
|
68
65
|
JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "bodyString")),
|
|
69
|
-
JSIConverter<std::optional<std::
|
|
66
|
+
JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "bodyBytes")),
|
|
70
67
|
JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "timeoutMs")),
|
|
71
68
|
JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "followRedirects"))
|
|
72
69
|
);
|
|
@@ -77,7 +74,7 @@ namespace margelo::nitro {
|
|
|
77
74
|
obj.setProperty(runtime, "method", JSIConverter<std::optional<margelo::nitro::nitrofetch::NitroRequestMethod>>::toJSI(runtime, arg.method));
|
|
78
75
|
obj.setProperty(runtime, "headers", JSIConverter<std::optional<std::vector<margelo::nitro::nitrofetch::NitroHeader>>>::toJSI(runtime, arg.headers));
|
|
79
76
|
obj.setProperty(runtime, "bodyString", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.bodyString));
|
|
80
|
-
obj.setProperty(runtime, "bodyBytes", JSIConverter<std::optional<std::
|
|
77
|
+
obj.setProperty(runtime, "bodyBytes", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.bodyBytes));
|
|
81
78
|
obj.setProperty(runtime, "timeoutMs", JSIConverter<std::optional<double>>::toJSI(runtime, arg.timeoutMs));
|
|
82
79
|
obj.setProperty(runtime, "followRedirects", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.followRedirects));
|
|
83
80
|
return obj;
|
|
@@ -91,7 +88,7 @@ namespace margelo::nitro {
|
|
|
91
88
|
if (!JSIConverter<std::optional<margelo::nitro::nitrofetch::NitroRequestMethod>>::canConvert(runtime, obj.getProperty(runtime, "method"))) return false;
|
|
92
89
|
if (!JSIConverter<std::optional<std::vector<margelo::nitro::nitrofetch::NitroHeader>>>::canConvert(runtime, obj.getProperty(runtime, "headers"))) return false;
|
|
93
90
|
if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "bodyString"))) return false;
|
|
94
|
-
if (!JSIConverter<std::optional<std::
|
|
91
|
+
if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "bodyBytes"))) return false;
|
|
95
92
|
if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "timeoutMs"))) return false;
|
|
96
93
|
if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "followRedirects"))) return false;
|
|
97
94
|
return true;
|
|
@@ -20,14 +20,11 @@
|
|
|
20
20
|
|
|
21
21
|
// Forward declaration of `NitroHeader` to properly resolve imports.
|
|
22
22
|
namespace margelo::nitro::nitrofetch { struct NitroHeader; }
|
|
23
|
-
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
24
|
-
namespace NitroModules { class ArrayBuffer; }
|
|
25
23
|
|
|
26
24
|
#include <string>
|
|
27
25
|
#include "NitroHeader.hpp"
|
|
28
26
|
#include <vector>
|
|
29
27
|
#include <optional>
|
|
30
|
-
#include <NitroModules/ArrayBuffer.hpp>
|
|
31
28
|
|
|
32
29
|
namespace margelo::nitro::nitrofetch {
|
|
33
30
|
|
|
@@ -43,11 +40,11 @@ namespace margelo::nitro::nitrofetch {
|
|
|
43
40
|
bool redirected SWIFT_PRIVATE;
|
|
44
41
|
std::vector<NitroHeader> headers SWIFT_PRIVATE;
|
|
45
42
|
std::optional<std::string> bodyString SWIFT_PRIVATE;
|
|
46
|
-
std::optional<std::
|
|
43
|
+
std::optional<std::string> bodyBytes SWIFT_PRIVATE;
|
|
47
44
|
|
|
48
45
|
public:
|
|
49
46
|
NitroResponse() = default;
|
|
50
|
-
explicit NitroResponse(std::string url, double status, std::string statusText, bool ok, bool redirected, std::vector<NitroHeader> headers, std::optional<std::string> bodyString, std::optional<std::
|
|
47
|
+
explicit NitroResponse(std::string url, double status, std::string statusText, bool ok, bool redirected, std::vector<NitroHeader> headers, std::optional<std::string> bodyString, std::optional<std::string> bodyBytes): url(url), status(status), statusText(statusText), ok(ok), redirected(redirected), headers(headers), bodyString(bodyString), bodyBytes(bodyBytes) {}
|
|
51
48
|
};
|
|
52
49
|
|
|
53
50
|
} // namespace margelo::nitro::nitrofetch
|
|
@@ -67,7 +64,7 @@ namespace margelo::nitro {
|
|
|
67
64
|
JSIConverter<bool>::fromJSI(runtime, obj.getProperty(runtime, "redirected")),
|
|
68
65
|
JSIConverter<std::vector<margelo::nitro::nitrofetch::NitroHeader>>::fromJSI(runtime, obj.getProperty(runtime, "headers")),
|
|
69
66
|
JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "bodyString")),
|
|
70
|
-
JSIConverter<std::optional<std::
|
|
67
|
+
JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, "bodyBytes"))
|
|
71
68
|
);
|
|
72
69
|
}
|
|
73
70
|
static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::nitrofetch::NitroResponse& arg) {
|
|
@@ -79,7 +76,7 @@ namespace margelo::nitro {
|
|
|
79
76
|
obj.setProperty(runtime, "redirected", JSIConverter<bool>::toJSI(runtime, arg.redirected));
|
|
80
77
|
obj.setProperty(runtime, "headers", JSIConverter<std::vector<margelo::nitro::nitrofetch::NitroHeader>>::toJSI(runtime, arg.headers));
|
|
81
78
|
obj.setProperty(runtime, "bodyString", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.bodyString));
|
|
82
|
-
obj.setProperty(runtime, "bodyBytes", JSIConverter<std::optional<std::
|
|
79
|
+
obj.setProperty(runtime, "bodyBytes", JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.bodyBytes));
|
|
83
80
|
return obj;
|
|
84
81
|
}
|
|
85
82
|
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
|
|
@@ -94,7 +91,7 @@ namespace margelo::nitro {
|
|
|
94
91
|
if (!JSIConverter<bool>::canConvert(runtime, obj.getProperty(runtime, "redirected"))) return false;
|
|
95
92
|
if (!JSIConverter<std::vector<margelo::nitro::nitrofetch::NitroHeader>>::canConvert(runtime, obj.getProperty(runtime, "headers"))) return false;
|
|
96
93
|
if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "bodyString"))) return false;
|
|
97
|
-
if (!JSIConverter<std::optional<std::
|
|
94
|
+
if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, "bodyBytes"))) return false;
|
|
98
95
|
return true;
|
|
99
96
|
}
|
|
100
97
|
};
|
package/package.json
CHANGED
package/src/NitroFetch.nitro.ts
CHANGED
|
@@ -21,7 +21,7 @@ export interface NitroRequest {
|
|
|
21
21
|
headers?: NitroHeader[];
|
|
22
22
|
// Body as either UTF-8 string or raw bytes.
|
|
23
23
|
bodyString?: string;
|
|
24
|
-
bodyBytes?: ArrayBuffer
|
|
24
|
+
bodyBytes?: string; //will be ArrayBuffer in future
|
|
25
25
|
// Controls
|
|
26
26
|
timeoutMs?: number;
|
|
27
27
|
followRedirects?: boolean; // default true
|
|
@@ -36,7 +36,7 @@ export interface NitroResponse {
|
|
|
36
36
|
headers: NitroHeader[];
|
|
37
37
|
// Body as either UTF-8 string or raw bytes (first implementation target)
|
|
38
38
|
bodyString?: string;
|
|
39
|
-
bodyBytes?: ArrayBuffer
|
|
39
|
+
bodyBytes?: string; //will be ArrayBuffer in future
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
export interface NitroFetchClient
|
package/src/fetch.js
ADDED
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
import { NitroFetch as NitroFetchSingleton } from './NitroInstances';
|
|
2
|
+
// No base64: pass strings/ArrayBuffers directly
|
|
3
|
+
function headersToPairs(headers) {
|
|
4
|
+
'worklet';
|
|
5
|
+
if (!headers)
|
|
6
|
+
return undefined;
|
|
7
|
+
const pairs = [];
|
|
8
|
+
if (headers instanceof Headers) {
|
|
9
|
+
headers.forEach((v, k) => pairs.push({ key: k, value: v }));
|
|
10
|
+
return pairs;
|
|
11
|
+
}
|
|
12
|
+
if (Array.isArray(headers)) {
|
|
13
|
+
// Convert tuple pairs to objects if needed
|
|
14
|
+
for (const entry of headers) {
|
|
15
|
+
if (Array.isArray(entry) && entry.length >= 2) {
|
|
16
|
+
pairs.push({ key: String(entry[0]), value: String(entry[1]) });
|
|
17
|
+
}
|
|
18
|
+
else if (entry && typeof entry === 'object' && 'key' in entry && 'value' in entry) {
|
|
19
|
+
pairs.push(entry);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return pairs;
|
|
23
|
+
}
|
|
24
|
+
// Record<string, string>
|
|
25
|
+
for (const [k, v] of Object.entries(headers)) {
|
|
26
|
+
pairs.push({ key: k, value: String(v) });
|
|
27
|
+
}
|
|
28
|
+
return pairs;
|
|
29
|
+
}
|
|
30
|
+
function normalizeBody(body) {
|
|
31
|
+
'worklet';
|
|
32
|
+
if (body == null)
|
|
33
|
+
return undefined;
|
|
34
|
+
if (typeof body === 'string')
|
|
35
|
+
return { bodyString: body };
|
|
36
|
+
if (body instanceof URLSearchParams)
|
|
37
|
+
return { bodyString: body.toString() };
|
|
38
|
+
if (typeof ArrayBuffer !== 'undefined' && body instanceof ArrayBuffer)
|
|
39
|
+
return { bodyBytes: body };
|
|
40
|
+
if (ArrayBuffer.isView(body)) {
|
|
41
|
+
const view = body;
|
|
42
|
+
// Pass a copy/slice of the underlying bytes without base64
|
|
43
|
+
//@ts-ignore
|
|
44
|
+
return { bodyBytes: view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength) };
|
|
45
|
+
}
|
|
46
|
+
// TODO: Blob/FormData support can be added later
|
|
47
|
+
throw new Error('Unsupported body type for nitro fetch');
|
|
48
|
+
}
|
|
49
|
+
// @ts-ignore
|
|
50
|
+
function pairsToHeaders(pairs) {
|
|
51
|
+
'worklet';
|
|
52
|
+
const h = new Headers();
|
|
53
|
+
for (const { key, value } of pairs)
|
|
54
|
+
h.append(key, value);
|
|
55
|
+
return h;
|
|
56
|
+
}
|
|
57
|
+
const NitroFetchHybrid = NitroFetchSingleton;
|
|
58
|
+
let client;
|
|
59
|
+
function ensureClient() {
|
|
60
|
+
if (client)
|
|
61
|
+
return client;
|
|
62
|
+
try {
|
|
63
|
+
client = NitroFetchHybrid.createClient();
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
console.error('Failed to create NitroFetch client', err);
|
|
67
|
+
// native not ready; keep undefined
|
|
68
|
+
}
|
|
69
|
+
return client;
|
|
70
|
+
}
|
|
71
|
+
function buildNitroRequest(input, init) {
|
|
72
|
+
'worklet';
|
|
73
|
+
let url;
|
|
74
|
+
let method;
|
|
75
|
+
let headersInit;
|
|
76
|
+
let body;
|
|
77
|
+
if (typeof input === 'string' || input instanceof URL) {
|
|
78
|
+
url = String(input);
|
|
79
|
+
method = init?.method;
|
|
80
|
+
headersInit = init?.headers;
|
|
81
|
+
body = init?.body ?? null;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// Request object
|
|
85
|
+
url = input.url;
|
|
86
|
+
method = input.method;
|
|
87
|
+
headersInit = input.headers;
|
|
88
|
+
// Clone body if needed – Request objects in RN typically allow direct access
|
|
89
|
+
body = init?.body ?? null;
|
|
90
|
+
}
|
|
91
|
+
const headers = headersToPairs(headersInit);
|
|
92
|
+
const normalized = normalizeBody(body);
|
|
93
|
+
return {
|
|
94
|
+
url,
|
|
95
|
+
method: method?.toUpperCase() ?? 'GET',
|
|
96
|
+
headers,
|
|
97
|
+
bodyString: normalized?.bodyString,
|
|
98
|
+
bodyBytes: "", //normalized?.bodyBytes,
|
|
99
|
+
followRedirects: true,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
async function nitroFetchRaw(input, init) {
|
|
103
|
+
'worklet';
|
|
104
|
+
const hasNative = typeof NitroFetchHybrid?.createClient === 'function';
|
|
105
|
+
if (!hasNative) {
|
|
106
|
+
// Fallback path not supported for raw; use global fetch and synthesize minimal shape
|
|
107
|
+
// @ts-ignore: global fetch exists in RN
|
|
108
|
+
const res = await fetch(input, init);
|
|
109
|
+
const url = res.url ?? String(input);
|
|
110
|
+
const bytes = await res.arrayBuffer();
|
|
111
|
+
const headers = [];
|
|
112
|
+
res.headers.forEach((v, k) => headers.push({ key: k, value: v }));
|
|
113
|
+
return {
|
|
114
|
+
url,
|
|
115
|
+
status: res.status,
|
|
116
|
+
statusText: res.statusText,
|
|
117
|
+
ok: res.ok,
|
|
118
|
+
redirected: res.redirected ?? false,
|
|
119
|
+
headers,
|
|
120
|
+
bodyBytes: bytes,
|
|
121
|
+
bodyString: undefined,
|
|
122
|
+
}; // bleee
|
|
123
|
+
}
|
|
124
|
+
const req = buildNitroRequest(input, init);
|
|
125
|
+
ensureClient();
|
|
126
|
+
if (!client || typeof client.request !== 'function')
|
|
127
|
+
throw new Error('NitroFetch client not available');
|
|
128
|
+
const res = await client.request(req);
|
|
129
|
+
return res;
|
|
130
|
+
}
|
|
131
|
+
export async function nitroFetch(input, init) {
|
|
132
|
+
'worklet';
|
|
133
|
+
// If native implementation is not present yet, fallback to global fetch
|
|
134
|
+
const hasNative = typeof NitroFetchHybrid?.createClient === 'function';
|
|
135
|
+
if (!hasNative) {
|
|
136
|
+
// @ts-ignore: global fetch exists in RN
|
|
137
|
+
return fetch(input, init);
|
|
138
|
+
}
|
|
139
|
+
const res = await nitroFetchRaw(input, init);
|
|
140
|
+
// Fallback lightweight Response-like object (minimal methods)
|
|
141
|
+
const headersObj = res.headers.reduce((acc, { key, value }) => {
|
|
142
|
+
acc[key] = value;
|
|
143
|
+
return acc;
|
|
144
|
+
}, {});
|
|
145
|
+
const light = {
|
|
146
|
+
url: res.url,
|
|
147
|
+
ok: res.ok,
|
|
148
|
+
status: res.status,
|
|
149
|
+
statusText: res.statusText,
|
|
150
|
+
redirected: res.redirected,
|
|
151
|
+
headers: headersObj,
|
|
152
|
+
arrayBuffer: async () => res.bodyBytes,
|
|
153
|
+
text: async () => res.bodyString,
|
|
154
|
+
json: async () => JSON.parse(res.bodyString ?? '{}'),
|
|
155
|
+
};
|
|
156
|
+
return light;
|
|
157
|
+
}
|
|
158
|
+
// Start a native prefetch. Requires a `prefetchKey` header on the request.
|
|
159
|
+
export async function prefetch(input, init) {
|
|
160
|
+
// If native implementation is not present yet, do nothing
|
|
161
|
+
const hasNative = typeof NitroFetchHybrid?.createClient === 'function';
|
|
162
|
+
if (!hasNative)
|
|
163
|
+
return;
|
|
164
|
+
// Build NitroRequest and ensure prefetchKey header exists
|
|
165
|
+
const req = buildNitroRequest(input, init);
|
|
166
|
+
const hasKey = req.headers?.some(h => h.key.toLowerCase() === 'prefetchkey') ?? false;
|
|
167
|
+
// Also support passing prefetchKey via non-standard field on init
|
|
168
|
+
const fromInit = init?.prefetchKey;
|
|
169
|
+
if (!hasKey && fromInit) {
|
|
170
|
+
req.headers = (req.headers ?? []).concat([{ key: 'prefetchKey', value: fromInit }]);
|
|
171
|
+
}
|
|
172
|
+
const finalHasKey = req.headers?.some(h => h.key.toLowerCase() === 'prefetchkey');
|
|
173
|
+
if (!finalHasKey) {
|
|
174
|
+
throw new Error('prefetch requires a \"prefetchKey\" header');
|
|
175
|
+
}
|
|
176
|
+
// Ensure client and call native prefetch
|
|
177
|
+
ensureClient();
|
|
178
|
+
if (!client || typeof client.prefetch !== 'function')
|
|
179
|
+
return;
|
|
180
|
+
await client.prefetch(req);
|
|
181
|
+
}
|
|
182
|
+
// Persist a request to MMKV so native can prefetch it on app start.
|
|
183
|
+
// Stores an array of entries under the same key Android reads: "nitrofetch_autoprefetch_queue".
|
|
184
|
+
export async function prefetchOnAppStart(input, init) {
|
|
185
|
+
// Resolve request and prefetchKey
|
|
186
|
+
const req = buildNitroRequest(input, init);
|
|
187
|
+
const fromHeader = req.headers?.find(h => h.key.toLowerCase() === 'prefetchkey')?.value;
|
|
188
|
+
const fromInit = init?.prefetchKey;
|
|
189
|
+
const prefetchKey = fromHeader ?? fromInit;
|
|
190
|
+
if (!prefetchKey) {
|
|
191
|
+
throw new Error('prefetchOnAppStart requires a "prefetchKey" (header or init.prefetchKey)');
|
|
192
|
+
}
|
|
193
|
+
// Convert headers to a plain object for storage
|
|
194
|
+
const headersObj = (req.headers ?? []).reduce((acc, { key, value }) => {
|
|
195
|
+
acc[String(key)] = String(value);
|
|
196
|
+
return acc;
|
|
197
|
+
}, {});
|
|
198
|
+
const entry = {
|
|
199
|
+
url: req.url,
|
|
200
|
+
prefetchKey,
|
|
201
|
+
headers: headersObj,
|
|
202
|
+
};
|
|
203
|
+
// Write or append to MMKV queue
|
|
204
|
+
try {
|
|
205
|
+
// Dynamically require to keep it optional for consumers
|
|
206
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
207
|
+
const { MMKV } = require('react-native-mmkv');
|
|
208
|
+
const storage = new MMKV(); // default instance matches Android's defaultMMKV
|
|
209
|
+
const KEY = 'nitrofetch_autoprefetch_queue';
|
|
210
|
+
let arr = [];
|
|
211
|
+
try {
|
|
212
|
+
const raw = storage.getString(KEY);
|
|
213
|
+
if (raw)
|
|
214
|
+
arr = JSON.parse(raw);
|
|
215
|
+
if (!Array.isArray(arr))
|
|
216
|
+
arr = [];
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
arr = [];
|
|
220
|
+
}
|
|
221
|
+
arr.push(entry);
|
|
222
|
+
storage.set(KEY, JSON.stringify(arr));
|
|
223
|
+
}
|
|
224
|
+
catch (e) {
|
|
225
|
+
console.warn('react-native-mmkv not available; prefetchOnAppStart is a no-op', e);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// Remove one entry (by prefetchKey) from the auto-prefetch queue in MMKV.
|
|
229
|
+
export async function removeFromAutoPrefetch(prefetchKey) {
|
|
230
|
+
// No-op on iOS
|
|
231
|
+
try {
|
|
232
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
233
|
+
const { MMKV } = require('react-native-mmkv');
|
|
234
|
+
const storage = new MMKV();
|
|
235
|
+
const KEY = 'nitrofetch_autoprefetch_queue';
|
|
236
|
+
let arr = [];
|
|
237
|
+
try {
|
|
238
|
+
const raw = storage.getString(KEY);
|
|
239
|
+
if (raw)
|
|
240
|
+
arr = JSON.parse(raw);
|
|
241
|
+
if (!Array.isArray(arr))
|
|
242
|
+
arr = [];
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
arr = [];
|
|
246
|
+
}
|
|
247
|
+
const next = arr.filter((e) => e && e.prefetchKey !== prefetchKey);
|
|
248
|
+
if (next.length === 0) {
|
|
249
|
+
if (typeof storage.delete === 'function') {
|
|
250
|
+
storage.delete(KEY);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
storage.set(KEY, JSON.stringify([]));
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
else if (next.length !== arr.length) {
|
|
257
|
+
storage.set(KEY, JSON.stringify(next));
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
catch (e) {
|
|
261
|
+
console.warn('react-native-mmkv not available; removeFromAutoPrefetch is a no-op', e);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
// Remove all entries from the auto-prefetch queue in MMKV.
|
|
265
|
+
export async function removeAllFromAutoprefetch() {
|
|
266
|
+
try {
|
|
267
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
268
|
+
const { MMKV } = require('react-native-mmkv');
|
|
269
|
+
const storage = new MMKV();
|
|
270
|
+
const KEY = 'nitrofetch_autoprefetch_queue';
|
|
271
|
+
if (typeof storage.delete === 'function') {
|
|
272
|
+
storage.delete(KEY);
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
storage.set(KEY, JSON.stringify([]));
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
catch (e) {
|
|
279
|
+
console.warn('react-native-mmkv not available; removeAllFromAutoprefetch is a no-op', e);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
let nitroRuntime;
|
|
283
|
+
let WorkletsRef;
|
|
284
|
+
function ensureWorkletRuntime(name = 'nitro-fetch') {
|
|
285
|
+
console.log('ensuring worklet runtime');
|
|
286
|
+
try {
|
|
287
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
288
|
+
const { Worklets } = require('react-native-worklets-core');
|
|
289
|
+
nitroRuntime = nitroRuntime ?? Worklets.createRuntime(name);
|
|
290
|
+
console.log('nitroRuntime:', !!nitroRuntime);
|
|
291
|
+
return nitroRuntime;
|
|
292
|
+
}
|
|
293
|
+
catch {
|
|
294
|
+
console.warn('react-native-worklets-core not available');
|
|
295
|
+
return undefined;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
function getWorklets() {
|
|
299
|
+
try {
|
|
300
|
+
if (WorkletsRef)
|
|
301
|
+
return WorkletsRef;
|
|
302
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
303
|
+
const { Worklets } = require('react-native-worklets-core');
|
|
304
|
+
WorkletsRef = Worklets;
|
|
305
|
+
return WorkletsRef;
|
|
306
|
+
}
|
|
307
|
+
catch {
|
|
308
|
+
console.warn('react-native-worklets-core not available');
|
|
309
|
+
return undefined;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
export async function nitroFetchOnWorklet(input, init, mapWorklet, options) {
|
|
313
|
+
console.log('nitroFetchOnWorklet: starting');
|
|
314
|
+
const preferBytes = options?.preferBytes === true; // default true
|
|
315
|
+
console.log('nitroFetchOnWorklet: preferBytes:', preferBytes);
|
|
316
|
+
let rt;
|
|
317
|
+
let Worklets;
|
|
318
|
+
try {
|
|
319
|
+
rt = ensureWorkletRuntime(options?.runtimeName);
|
|
320
|
+
console.log('nitroFetchOnWorklet: runtime created?', !!rt);
|
|
321
|
+
Worklets = getWorklets();
|
|
322
|
+
console.log('nitroFetchOnWorklet: Worklets available?', !!Worklets);
|
|
323
|
+
}
|
|
324
|
+
catch (e) {
|
|
325
|
+
console.error('nitroFetchOnWorklet: setup failed', e);
|
|
326
|
+
}
|
|
327
|
+
// Fallback: if runtime is not available, do the work on JS
|
|
328
|
+
if (!rt || !Worklets || typeof rt.run !== 'function') {
|
|
329
|
+
console.warn('nitroFetchOnWorklet: no runtime, mapping on JS thread');
|
|
330
|
+
const res = await nitroFetchRaw(input, init);
|
|
331
|
+
const payload = {
|
|
332
|
+
url: res.url,
|
|
333
|
+
status: res.status,
|
|
334
|
+
statusText: res.statusText,
|
|
335
|
+
ok: res.ok,
|
|
336
|
+
redirected: res.redirected,
|
|
337
|
+
headers: res.headers,
|
|
338
|
+
bodyBytes: preferBytes ? res.bodyBytes : undefined,
|
|
339
|
+
bodyString: preferBytes ? undefined : res.bodyString,
|
|
340
|
+
};
|
|
341
|
+
return mapWorklet(payload);
|
|
342
|
+
}
|
|
343
|
+
return await new Promise((resolve, reject) => {
|
|
344
|
+
try {
|
|
345
|
+
console.log('nitroFetchOnWorklet: about to call rt.run');
|
|
346
|
+
rt.run(async (map) => {
|
|
347
|
+
'worklet';
|
|
348
|
+
try {
|
|
349
|
+
console.log('nitroFetchOnWorklet: running fetch on worklet thread');
|
|
350
|
+
const res = await nitroFetchRaw(input, init);
|
|
351
|
+
console.log('nitroFetchOnWorklet: fetch completed');
|
|
352
|
+
const url = res.url;
|
|
353
|
+
const status = res.status;
|
|
354
|
+
const statusText = res.statusText;
|
|
355
|
+
const ok = res.ok;
|
|
356
|
+
const redirected = res.redirected;
|
|
357
|
+
const headersPairs = res.headers;
|
|
358
|
+
const bodyBytes = undefined; // preferBytes ? res.bodyBytes : undefined;
|
|
359
|
+
const bodyString = preferBytes ? undefined : res.bodyString;
|
|
360
|
+
const payload = { url, status, statusText, ok, redirected, headers: headersPairs, bodyBytes, bodyString };
|
|
361
|
+
const out = map(payload);
|
|
362
|
+
// Resolve back on JS thread
|
|
363
|
+
Worklets.runOnJS(resolve)(out);
|
|
364
|
+
}
|
|
365
|
+
catch (e) {
|
|
366
|
+
Worklets.runOnJS(reject)(e);
|
|
367
|
+
}
|
|
368
|
+
}, mapWorklet);
|
|
369
|
+
}
|
|
370
|
+
catch (e) {
|
|
371
|
+
console.error('nitroFetchOnWorklet: rt.run failed', e);
|
|
372
|
+
reject(e);
|
|
373
|
+
}
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
export const x = ensureWorkletRuntime();
|
|
377
|
+
export const y = getWorklets();
|
package/src/fetch.ts
CHANGED
|
@@ -102,7 +102,7 @@ function buildNitroRequest(input: RequestInfo | URL, init?: RequestInit): NitroR
|
|
|
102
102
|
method: (method?.toUpperCase() as any) ?? 'GET',
|
|
103
103
|
headers,
|
|
104
104
|
bodyString: normalized?.bodyString,
|
|
105
|
-
bodyBytes: normalized?.bodyBytes,
|
|
105
|
+
bodyBytes: "",//normalized?.bodyBytes,
|
|
106
106
|
followRedirects: true,
|
|
107
107
|
};
|
|
108
108
|
}
|
|
@@ -127,7 +127,7 @@ async function nitroFetchRaw(input: RequestInfo | URL, init?: RequestInit): Prom
|
|
|
127
127
|
headers,
|
|
128
128
|
bodyBytes: bytes,
|
|
129
129
|
bodyString: undefined,
|
|
130
|
-
} as NitroResponse;
|
|
130
|
+
} as any as NitroResponse; // bleee
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
const req = buildNitroRequest(input, init);
|
|
@@ -148,31 +148,12 @@ export async function nitroFetch(input: RequestInfo | URL, init?: RequestInit):
|
|
|
148
148
|
|
|
149
149
|
const res = await nitroFetchRaw(input, init);
|
|
150
150
|
|
|
151
|
-
const bytes = res.bodyBytes
|
|
152
|
-
? new Uint8Array(res.bodyBytes)
|
|
153
|
-
: res.bodyString != null
|
|
154
|
-
? new TextEncoder().encode(res.bodyString)
|
|
155
|
-
: new Uint8Array();
|
|
156
|
-
|
|
157
|
-
// If Response is available, construct a real Response object for compatibility
|
|
158
|
-
if (typeof Response !== 'undefined') {
|
|
159
|
-
const respInit: ResponseInit = {
|
|
160
|
-
status: res.status,
|
|
161
|
-
statusText: res.statusText,
|
|
162
|
-
headers: res.headers.reduce((acc, { key, value }) => {
|
|
163
|
-
acc[key] = value;
|
|
164
|
-
return acc;
|
|
165
|
-
}, {} as Record<string, string>),
|
|
166
|
-
};
|
|
167
|
-
// Prefer native bytes if available
|
|
168
|
-
return new Response(res.bodyBytes ?? bytes, respInit);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
151
|
// Fallback lightweight Response-like object (minimal methods)
|
|
172
152
|
const headersObj = res.headers.reduce((acc, { key, value }) => {
|
|
173
153
|
acc[key] = value;
|
|
174
154
|
return acc;
|
|
175
155
|
}, {} as Record<string, string>);
|
|
156
|
+
|
|
176
157
|
const light: any = {
|
|
177
158
|
url: res.url,
|
|
178
159
|
ok: res.ok,
|
|
@@ -180,9 +161,9 @@ export async function nitroFetch(input: RequestInfo | URL, init?: RequestInit):
|
|
|
180
161
|
statusText: res.statusText,
|
|
181
162
|
redirected: res.redirected,
|
|
182
163
|
headers: headersObj,
|
|
183
|
-
arrayBuffer: async () =>
|
|
184
|
-
text: async () => res.bodyString
|
|
185
|
-
json: async () => JSON.parse(res.bodyString ??
|
|
164
|
+
arrayBuffer: async () => res.bodyBytes,
|
|
165
|
+
text: async () => res.bodyString,
|
|
166
|
+
json: async () => JSON.parse(res.bodyString ?? '{}'),
|
|
186
167
|
};
|
|
187
168
|
return light as Response;
|
|
188
169
|
}
|
|
@@ -356,9 +337,8 @@ export async function nitroFetchOnWorklet<T>(
|
|
|
356
337
|
mapWorklet: NitroWorkletMapper<T>,
|
|
357
338
|
options?: { preferBytes?: boolean; runtimeName?: string }
|
|
358
339
|
): Promise<T> {
|
|
359
|
-
|
|
360
340
|
console.log('nitroFetchOnWorklet: starting');
|
|
361
|
-
const preferBytes = options?.preferBytes
|
|
341
|
+
const preferBytes = options?.preferBytes === true; // default true
|
|
362
342
|
console.log('nitroFetchOnWorklet: preferBytes:', preferBytes);
|
|
363
343
|
let rt: any | undefined;
|
|
364
344
|
let Worklets: any | undefined;
|
|
@@ -403,7 +383,7 @@ export async function nitroFetchOnWorklet<T>(
|
|
|
403
383
|
const ok = res.ok;
|
|
404
384
|
const redirected = res.redirected;
|
|
405
385
|
const headersPairs: NitroHeader[] = res.headers;
|
|
406
|
-
const bodyBytes: ArrayBuffer | undefined = preferBytes ? res.bodyBytes : undefined;
|
|
386
|
+
const bodyBytes: ArrayBuffer | undefined = undefined; // preferBytes ? res.bodyBytes : undefined;
|
|
407
387
|
const bodyString: string | undefined = preferBytes ? undefined : res.bodyString;
|
|
408
388
|
const payload = { url, status, statusText, ok, redirected, headers: headersPairs, bodyBytes, bodyString };
|
|
409
389
|
const out = map(payload);
|
package/src/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { nitroFetch as fetch, nitroFetchOnWorklet, prefetch, prefetchOnAppStart, removeFromAutoPrefetch, removeAllFromAutoprefetch, } from './fetch';
|
|
2
|
+
export { NitroFetch } from './NitroInstances';
|
|
3
|
+
import './fetch';
|
|
4
|
+
// Keep legacy export to avoid breaking any local tests/usages during scaffolding.
|
|
5
|
+
// Will be removed once native Cronet path is ready.
|
|
6
|
+
export function multiply(a, b) {
|
|
7
|
+
return a * b;
|
|
8
|
+
}
|