react-native-nitro-fetch 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/margelo/nitro/nitrofetch/AutoPrefetcher.kt +7 -28
- package/android/src/main/java/com/margelo/nitro/nitrofetch/FetchCache.kt +11 -1
- package/android/src/main/java/com/margelo/nitro/nitrofetch/NativeStorage.kt +102 -0
- package/android/src/main/java/com/margelo/nitro/nitrofetch/NitroFetchClient.kt +53 -29
- package/ios/NativeStorage.swift +61 -0
- package/ios/NitroAutoPrefetcher.swift +5 -41
- package/ios/NitroFetchClient.swift +25 -0
- package/lib/module/NitroFetch.nitro.js +0 -3
- package/lib/module/NitroFetch.nitro.js.map +1 -1
- package/lib/module/NitroInstances.js +2 -0
- package/lib/module/NitroInstances.js.map +1 -1
- package/lib/module/fetch.js +79 -125
- package/lib/module/fetch.js.map +1 -1
- package/lib/typescript/src/NitroFetch.nitro.d.ts +9 -0
- package/lib/typescript/src/NitroFetch.nitro.d.ts.map +1 -1
- package/lib/typescript/src/NitroInstances.d.ts +3 -1
- package/lib/typescript/src/NitroInstances.d.ts.map +1 -1
- package/lib/typescript/src/fetch.d.ts.map +1 -1
- package/nitro.json +4 -0
- package/nitrogen/generated/android/c++/JHybridNativeStorageSpec.cpp +54 -0
- package/nitrogen/generated/android/c++/JHybridNativeStorageSpec.hpp +66 -0
- 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/HybridNativeStorageSpec.kt +60 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrofetch/HybridNitroFetchClientSpec.kt +4 -0
- package/nitrogen/generated/android/nitrofetch+autolinking.cmake +9 -4
- package/nitrogen/generated/android/nitrofetchOnLoad.cpp +10 -0
- package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Bridge.cpp +17 -0
- package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Bridge.hpp +44 -0
- package/nitrogen/generated/ios/NitroFetch-Swift-Cxx-Umbrella.hpp +5 -0
- package/nitrogen/generated/ios/NitroFetchAutolinking.mm +8 -0
- package/nitrogen/generated/ios/NitroFetchAutolinking.swift +15 -0
- package/nitrogen/generated/ios/c++/HybridNativeStorageSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridNativeStorageSpecSwift.hpp +85 -0
- package/nitrogen/generated/ios/c++/HybridNitroFetchClientSpecSwift.hpp +8 -0
- package/nitrogen/generated/ios/swift/HybridNativeStorageSpec.swift +51 -0
- package/nitrogen/generated/ios/swift/HybridNativeStorageSpec_cxx.swift +145 -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++/HybridNativeStorageSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridNativeStorageSpec.hpp +64 -0
- package/nitrogen/generated/shared/c++/HybridNitroFetchClientSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridNitroFetchClientSpec.hpp +1 -0
- package/package.json +8 -24
- package/src/NitroFetch.nitro.ts +15 -5
- package/src/NitroInstances.ts +7 -1
- package/src/fetch.ts +158 -122
- package/LICENSE +0 -20
- package/README.md +0 -151
package/lib/module/fetch.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { NitroFetch as NitroFetchSingleton } from "./NitroInstances.js";
|
|
3
|
+
import { boxedNitroFetch, NitroFetch as NitroFetchSingleton } from "./NitroInstances.js";
|
|
4
|
+
import { NativeStorage as NativeStorageSingleton } from "./NitroInstances.js";
|
|
4
5
|
|
|
5
6
|
// No base64: pass strings/ArrayBuffers directly
|
|
6
7
|
|
|
@@ -55,26 +56,14 @@ function normalizeBody(body) {
|
|
|
55
56
|
if (ArrayBuffer.isView(body)) {
|
|
56
57
|
const view = body;
|
|
57
58
|
// Pass a copy/slice of the underlying bytes without base64
|
|
58
|
-
//@ts-ignore
|
|
59
59
|
return {
|
|
60
|
+
//@ts-ignore
|
|
60
61
|
bodyBytes: view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength)
|
|
61
62
|
};
|
|
62
63
|
}
|
|
63
64
|
// TODO: Blob/FormData support can be added later
|
|
64
65
|
throw new Error('Unsupported body type for nitro fetch');
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
-
// @ts-ignore
|
|
68
|
-
function pairsToHeaders(pairs) {
|
|
69
|
-
'worklet';
|
|
70
|
-
|
|
71
|
-
const h = new Headers();
|
|
72
|
-
for (const {
|
|
73
|
-
key,
|
|
74
|
-
value
|
|
75
|
-
} of pairs) h.append(key, value);
|
|
76
|
-
return h;
|
|
77
|
-
}
|
|
78
67
|
const NitroFetchHybrid = NitroFetchSingleton;
|
|
79
68
|
let client;
|
|
80
69
|
function ensureClient() {
|
|
@@ -114,14 +103,12 @@ function buildNitroRequest(input, init) {
|
|
|
114
103
|
method: method?.toUpperCase() ?? 'GET',
|
|
115
104
|
headers,
|
|
116
105
|
bodyString: normalized?.bodyString,
|
|
117
|
-
bodyBytes
|
|
118
|
-
|
|
106
|
+
// Only include bodyBytes when provided to avoid signaling upload data unintentionally
|
|
107
|
+
bodyBytes: undefined,
|
|
119
108
|
followRedirects: true
|
|
120
109
|
};
|
|
121
110
|
}
|
|
122
111
|
async function nitroFetchRaw(input, init) {
|
|
123
|
-
'worklet';
|
|
124
|
-
|
|
125
112
|
const hasNative = typeof NitroFetchHybrid?.createClient === 'function';
|
|
126
113
|
if (!hasNative) {
|
|
127
114
|
// Fallback path not supported for raw; use global fetch and synthesize minimal shape
|
|
@@ -151,36 +138,56 @@ async function nitroFetchRaw(input, init) {
|
|
|
151
138
|
const res = await client.request(req);
|
|
152
139
|
return res;
|
|
153
140
|
}
|
|
154
|
-
export async function nitroFetch(input, init) {
|
|
155
|
-
'worklet';
|
|
156
141
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
142
|
+
// Simple Headers-like class that supports get() method
|
|
143
|
+
class NitroHeaders {
|
|
144
|
+
constructor(headers) {
|
|
145
|
+
this._headers = new Map();
|
|
146
|
+
for (const {
|
|
147
|
+
key,
|
|
148
|
+
value
|
|
149
|
+
} of headers) {
|
|
150
|
+
// Headers are case-insensitive, normalize to lowercase
|
|
151
|
+
this._headers.set(key.toLowerCase(), value);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
get(name) {
|
|
155
|
+
return this._headers.get(name.toLowerCase()) ?? null;
|
|
156
|
+
}
|
|
157
|
+
has(name) {
|
|
158
|
+
return this._headers.has(name.toLowerCase());
|
|
159
|
+
}
|
|
160
|
+
forEach(callback) {
|
|
161
|
+
this._headers.forEach(callback);
|
|
162
|
+
}
|
|
163
|
+
entries() {
|
|
164
|
+
return this._headers.entries();
|
|
165
|
+
}
|
|
166
|
+
keys() {
|
|
167
|
+
return this._headers.keys();
|
|
168
|
+
}
|
|
169
|
+
values() {
|
|
170
|
+
return this._headers.values();
|
|
162
171
|
}
|
|
172
|
+
}
|
|
173
|
+
export async function nitroFetch(input, init) {
|
|
163
174
|
const res = await nitroFetchRaw(input, init);
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
value
|
|
169
|
-
}) => {
|
|
170
|
-
acc[key] = value;
|
|
171
|
-
return acc;
|
|
172
|
-
}, {});
|
|
173
|
-
const light = {
|
|
175
|
+
const headersObj = new NitroHeaders(res.headers);
|
|
176
|
+
const bodyBytes = res.bodyBytes;
|
|
177
|
+
const bodyString = res.bodyString;
|
|
178
|
+
const makeLight = () => ({
|
|
174
179
|
url: res.url,
|
|
175
180
|
ok: res.ok,
|
|
176
181
|
status: res.status,
|
|
177
182
|
statusText: res.statusText,
|
|
178
183
|
redirected: res.redirected,
|
|
179
184
|
headers: headersObj,
|
|
180
|
-
arrayBuffer: async () =>
|
|
181
|
-
text: async () =>
|
|
182
|
-
json: async () => JSON.parse(
|
|
183
|
-
|
|
185
|
+
arrayBuffer: async () => bodyBytes,
|
|
186
|
+
text: async () => bodyString,
|
|
187
|
+
json: async () => JSON.parse(bodyString ?? '{}'),
|
|
188
|
+
clone: () => makeLight()
|
|
189
|
+
});
|
|
190
|
+
const light = makeLight();
|
|
184
191
|
return light;
|
|
185
192
|
}
|
|
186
193
|
|
|
@@ -203,7 +210,7 @@ export async function prefetch(input, init) {
|
|
|
203
210
|
}
|
|
204
211
|
const finalHasKey = req.headers?.some(h => h.key.toLowerCase() === 'prefetchkey');
|
|
205
212
|
if (!finalHasKey) {
|
|
206
|
-
throw new Error('prefetch requires a
|
|
213
|
+
throw new Error('prefetch requires a "prefetchKey" header');
|
|
207
214
|
}
|
|
208
215
|
|
|
209
216
|
// Ensure client and call native prefetch
|
|
@@ -212,8 +219,7 @@ export async function prefetch(input, init) {
|
|
|
212
219
|
await client.prefetch(req);
|
|
213
220
|
}
|
|
214
221
|
|
|
215
|
-
// Persist a request to
|
|
216
|
-
// Stores an array of entries under the same key Android reads: "nitrofetch_autoprefetch_queue".
|
|
222
|
+
// Persist a request to storage so native can prefetch it on app start.
|
|
217
223
|
export async function prefetchOnAppStart(input, init) {
|
|
218
224
|
// Resolve request and prefetchKey
|
|
219
225
|
const req = buildNitroRequest(input, init);
|
|
@@ -238,18 +244,12 @@ export async function prefetchOnAppStart(input, init) {
|
|
|
238
244
|
headers: headersObj
|
|
239
245
|
};
|
|
240
246
|
|
|
241
|
-
// Write or append to
|
|
247
|
+
// Write or append to storage queue
|
|
242
248
|
try {
|
|
243
|
-
// Dynamically require to keep it optional for consumers
|
|
244
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
245
|
-
const {
|
|
246
|
-
MMKV
|
|
247
|
-
} = require('react-native-mmkv');
|
|
248
|
-
const storage = new MMKV(); // default instance matches Android's defaultMMKV
|
|
249
249
|
const KEY = 'nitrofetch_autoprefetch_queue';
|
|
250
250
|
let arr = [];
|
|
251
251
|
try {
|
|
252
|
-
const raw =
|
|
252
|
+
const raw = NativeStorageSingleton.getString('nitrofetch_autoprefetch_queue');
|
|
253
253
|
if (raw) arr = JSON.parse(raw);
|
|
254
254
|
if (!Array.isArray(arr)) arr = [];
|
|
255
255
|
} catch {
|
|
@@ -259,25 +259,19 @@ export async function prefetchOnAppStart(input, init) {
|
|
|
259
259
|
arr = arr.filter(e => e && e.prefetchKey !== prefetchKey);
|
|
260
260
|
}
|
|
261
261
|
arr.push(entry);
|
|
262
|
-
|
|
262
|
+
NativeStorageSingleton.setString(KEY, JSON.stringify(arr));
|
|
263
263
|
} catch (e) {
|
|
264
|
-
console.warn('
|
|
264
|
+
console.warn('Failed to persist prefetch queue', e);
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
267
|
|
|
268
|
-
// Remove one entry (by prefetchKey) from the auto-prefetch queue
|
|
268
|
+
// Remove one entry (by prefetchKey) from the auto-prefetch queue.
|
|
269
269
|
export async function removeFromAutoPrefetch(prefetchKey) {
|
|
270
|
-
// No-op on iOS
|
|
271
270
|
try {
|
|
272
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
273
|
-
const {
|
|
274
|
-
MMKV
|
|
275
|
-
} = require('react-native-mmkv');
|
|
276
|
-
const storage = new MMKV();
|
|
277
271
|
const KEY = 'nitrofetch_autoprefetch_queue';
|
|
278
272
|
let arr = [];
|
|
279
273
|
try {
|
|
280
|
-
const raw =
|
|
274
|
+
const raw = NativeStorageSingleton.getString('nitrofetch_autoprefetch_queue');
|
|
281
275
|
if (raw) arr = JSON.parse(raw);
|
|
282
276
|
if (!Array.isArray(arr)) arr = [];
|
|
283
277
|
} catch {
|
|
@@ -285,36 +279,19 @@ export async function removeFromAutoPrefetch(prefetchKey) {
|
|
|
285
279
|
}
|
|
286
280
|
const next = arr.filter(e => e && e.prefetchKey !== prefetchKey);
|
|
287
281
|
if (next.length === 0) {
|
|
288
|
-
|
|
289
|
-
storage.delete(KEY);
|
|
290
|
-
} else {
|
|
291
|
-
storage.set(KEY, JSON.stringify([]));
|
|
292
|
-
}
|
|
282
|
+
NativeStorageSingleton.removeString(KEY);
|
|
293
283
|
} else if (next.length !== arr.length) {
|
|
294
|
-
|
|
284
|
+
NativeStorageSingleton.setString(KEY, JSON.stringify(next));
|
|
295
285
|
}
|
|
296
286
|
} catch (e) {
|
|
297
|
-
console.warn('
|
|
287
|
+
console.warn('Failed to remove from prefetch queue', e);
|
|
298
288
|
}
|
|
299
289
|
}
|
|
300
290
|
|
|
301
|
-
// Remove all entries from the auto-prefetch queue
|
|
291
|
+
// Remove all entries from the auto-prefetch queue.
|
|
302
292
|
export async function removeAllFromAutoprefetch() {
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
const {
|
|
306
|
-
MMKV
|
|
307
|
-
} = require('react-native-mmkv');
|
|
308
|
-
const storage = new MMKV();
|
|
309
|
-
const KEY = 'nitrofetch_autoprefetch_queue';
|
|
310
|
-
if (typeof storage.delete === 'function') {
|
|
311
|
-
storage.delete(KEY);
|
|
312
|
-
} else {
|
|
313
|
-
storage.set(KEY, JSON.stringify([]));
|
|
314
|
-
}
|
|
315
|
-
} catch (e) {
|
|
316
|
-
console.warn('react-native-mmkv not available; removeAllFromAutoprefetch is a no-op', e);
|
|
317
|
-
}
|
|
293
|
+
const KEY = 'nitrofetch_autoprefetch_queue';
|
|
294
|
+
NativeStorageSingleton.setString(KEY, JSON.stringify([]));
|
|
318
295
|
}
|
|
319
296
|
|
|
320
297
|
// Optional off-thread processing using react-native-worklets-core
|
|
@@ -324,11 +301,10 @@ let WorkletsRef;
|
|
|
324
301
|
function ensureWorkletRuntime(name = 'nitro-fetch') {
|
|
325
302
|
console.log('ensuring worklet runtime');
|
|
326
303
|
try {
|
|
327
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
328
304
|
const {
|
|
329
305
|
Worklets
|
|
330
306
|
} = require('react-native-worklets-core');
|
|
331
|
-
nitroRuntime = nitroRuntime ?? Worklets.
|
|
307
|
+
nitroRuntime = nitroRuntime ?? Worklets.createContext(name);
|
|
332
308
|
console.log('nitroRuntime:', !!nitroRuntime);
|
|
333
309
|
return nitroRuntime;
|
|
334
310
|
} catch {
|
|
@@ -339,7 +315,6 @@ function ensureWorkletRuntime(name = 'nitro-fetch') {
|
|
|
339
315
|
function getWorklets() {
|
|
340
316
|
try {
|
|
341
317
|
if (WorkletsRef) return WorkletsRef;
|
|
342
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
343
318
|
const {
|
|
344
319
|
Worklets
|
|
345
320
|
} = require('react-native-worklets-core');
|
|
@@ -366,7 +341,7 @@ export async function nitroFetchOnWorklet(input, init, mapWorklet, options) {
|
|
|
366
341
|
}
|
|
367
342
|
|
|
368
343
|
// Fallback: if runtime is not available, do the work on JS
|
|
369
|
-
if (!rt || !Worklets || typeof rt.
|
|
344
|
+
if (!rt || !Worklets || typeof rt.runAsync !== 'function') {
|
|
370
345
|
console.warn('nitroFetchOnWorklet: no runtime, mapping on JS thread');
|
|
371
346
|
const res = await nitroFetchRaw(input, init);
|
|
372
347
|
const payload = {
|
|
@@ -381,45 +356,24 @@ export async function nitroFetchOnWorklet(input, init, mapWorklet, options) {
|
|
|
381
356
|
};
|
|
382
357
|
return mapWorklet(payload);
|
|
383
358
|
}
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
rt.run(async map => {
|
|
388
|
-
'worklet';
|
|
359
|
+
console.log('nitroFetchOnWorklet: running on worklet thread');
|
|
360
|
+
return await rt.runAsync(() => {
|
|
361
|
+
'worklet';
|
|
389
362
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
status,
|
|
405
|
-
statusText,
|
|
406
|
-
ok,
|
|
407
|
-
redirected,
|
|
408
|
-
headers: headersPairs,
|
|
409
|
-
bodyBytes,
|
|
410
|
-
bodyString
|
|
411
|
-
};
|
|
412
|
-
const out = map(payload);
|
|
413
|
-
// Resolve back on JS thread
|
|
414
|
-
Worklets.runOnJS(resolve)(out);
|
|
415
|
-
} catch (e) {
|
|
416
|
-
Worklets.runOnJS(reject)(e);
|
|
417
|
-
}
|
|
418
|
-
}, mapWorklet);
|
|
419
|
-
} catch (e) {
|
|
420
|
-
console.error('nitroFetchOnWorklet: rt.run failed', e);
|
|
421
|
-
reject(e);
|
|
422
|
-
}
|
|
363
|
+
const unboxedNitroFetch = boxedNitroFetch.unbox();
|
|
364
|
+
const unboxedClient = unboxedNitroFetch.createClient();
|
|
365
|
+
const res = unboxedClient.requestSync(buildNitroRequest(input, init));
|
|
366
|
+
const payload = {
|
|
367
|
+
url: res.url,
|
|
368
|
+
status: res.status,
|
|
369
|
+
statusText: res.statusText,
|
|
370
|
+
ok: res.ok,
|
|
371
|
+
redirected: res.redirected,
|
|
372
|
+
headers: res.headers,
|
|
373
|
+
bodyBytes: preferBytes ? res.bodyBytes : undefined,
|
|
374
|
+
bodyString: preferBytes ? undefined : res.bodyString
|
|
375
|
+
};
|
|
376
|
+
return mapWorklet(payload);
|
|
423
377
|
});
|
|
424
378
|
}
|
|
425
379
|
export const x = ensureWorkletRuntime();
|
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","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","e","filter","set","stringify","warn","removeFromAutoPrefetch","next","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":["boxedNitroFetch","NitroFetch","NitroFetchSingleton","NativeStorage","NativeStorageSingleton","headersToPairs","headers","undefined","pairs","Headers","forEach","v","k","push","key","value","Array","isArray","entry","length","String","Object","entries","normalizeBody","body","bodyString","URLSearchParams","toString","ArrayBuffer","bodyBytes","isView","view","buffer","slice","byteOffset","byteLength","Error","NitroFetchHybrid","client","ensureClient","createClient","err","console","error","buildNitroRequest","input","init","url","method","headersInit","URL","normalized","toUpperCase","followRedirects","nitroFetchRaw","hasNative","res","fetch","bytes","arrayBuffer","status","statusText","ok","redirected","req","request","NitroHeaders","constructor","_headers","Map","set","toLowerCase","get","name","has","callback","keys","values","nitroFetch","headersObj","makeLight","text","json","JSON","parse","clone","light","prefetch","hasKey","some","h","fromInit","prefetchKey","concat","finalHasKey","prefetchOnAppStart","fromHeader","find","reduce","acc","KEY","arr","raw","getString","e","filter","setString","stringify","warn","removeFromAutoPrefetch","next","removeString","removeAllFromAutoprefetch","nitroRuntime","WorkletsRef","ensureWorkletRuntime","log","Worklets","require","createContext","getWorklets","nitroFetchOnWorklet","mapWorklet","options","preferBytes","rt","runtimeName","runAsync","payload","unboxedNitroFetch","unbox","unboxedClient","requestSync","x","y"],"sourceRoot":"../../src","sources":["fetch.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -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';
|
|
@@ -36,4 +37,12 @@ export interface NitroFetch extends HybridObject<{
|
|
|
36
37
|
}> {
|
|
37
38
|
createClient(): NitroFetchClient;
|
|
38
39
|
}
|
|
40
|
+
export interface NativeStorage extends HybridObject<{
|
|
41
|
+
ios: 'swift';
|
|
42
|
+
android: 'kotlin';
|
|
43
|
+
}> {
|
|
44
|
+
getString(key: string): string;
|
|
45
|
+
setString(key: string, value: string): void;
|
|
46
|
+
removeString(key: string): void;
|
|
47
|
+
}
|
|
39
48
|
//# sourceMappingURL=NitroFetch.nitro.d.ts.map
|
|
@@ -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,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,3 +1,5 @@
|
|
|
1
|
-
import type { NitroFetch as NitroFetchType } from './NitroFetch.nitro';
|
|
1
|
+
import type { NitroFetch as NitroFetchType, NativeStorage as NativeStorageType } from './NitroFetch.nitro';
|
|
2
2
|
export declare const NitroFetch: NitroFetchType;
|
|
3
|
+
export declare const NativeStorage: NativeStorageType;
|
|
4
|
+
export declare const boxedNitroFetch: import("react-native-nitro-modules/lib/typescript/BoxedHybridObject").BoxedHybridObject<NitroFetchType>;
|
|
3
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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,oBAAoB,CAAC;AA4L5B,wBAAsB,UAAU,CAC9B,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,QAAQ,CAAC,CAuBnB;AAGD,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAGD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAkDf;AAGD,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAGD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/D;AAGD,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KAAK,CAAC,CAAC;AA8BR,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACjC,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,CAAC,CAAC,CAkDZ;AAED,eAAO,MAAM,CAAC,KAAyB,CAAC;AACxC,eAAO,MAAM,CAAC,KAAgB,CAAC;AAE/B,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
package/nitro.json
CHANGED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridNativeStorageSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridNativeStorageSpec.hpp"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
#include <string>
|
|
13
|
+
|
|
14
|
+
namespace margelo::nitro::nitrofetch {
|
|
15
|
+
|
|
16
|
+
jni::local_ref<JHybridNativeStorageSpec::jhybriddata> JHybridNativeStorageSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
17
|
+
return makeCxxInstance(jThis);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
void JHybridNativeStorageSpec::registerNatives() {
|
|
21
|
+
registerHybrid({
|
|
22
|
+
makeNativeMethod("initHybrid", JHybridNativeStorageSpec::initHybrid),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
size_t JHybridNativeStorageSpec::getExternalMemorySize() noexcept {
|
|
27
|
+
static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
|
|
28
|
+
return method(_javaPart);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
void JHybridNativeStorageSpec::dispose() noexcept {
|
|
32
|
+
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
33
|
+
method(_javaPart);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Properties
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
// Methods
|
|
40
|
+
std::string JHybridNativeStorageSpec::getString(const std::string& key) {
|
|
41
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>(jni::alias_ref<jni::JString> /* key */)>("getString");
|
|
42
|
+
auto __result = method(_javaPart, jni::make_jstring(key));
|
|
43
|
+
return __result->toStdString();
|
|
44
|
+
}
|
|
45
|
+
void JHybridNativeStorageSpec::setString(const std::string& key, const std::string& value) {
|
|
46
|
+
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* key */, jni::alias_ref<jni::JString> /* value */)>("setString");
|
|
47
|
+
method(_javaPart, jni::make_jstring(key), jni::make_jstring(value));
|
|
48
|
+
}
|
|
49
|
+
void JHybridNativeStorageSpec::removeString(const std::string& key) {
|
|
50
|
+
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* key */)>("removeString");
|
|
51
|
+
method(_javaPart, jni::make_jstring(key));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
} // namespace margelo::nitro::nitrofetch
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridNativeStorageSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <NitroModules/JHybridObject.hpp>
|
|
11
|
+
#include <fbjni/fbjni.h>
|
|
12
|
+
#include "HybridNativeStorageSpec.hpp"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::nitrofetch {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
class JHybridNativeStorageSpec: public jni::HybridClass<JHybridNativeStorageSpec, JHybridObject>,
|
|
22
|
+
public virtual HybridNativeStorageSpec {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/nitrofetch/HybridNativeStorageSpec;";
|
|
25
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
26
|
+
static void registerNatives();
|
|
27
|
+
|
|
28
|
+
protected:
|
|
29
|
+
// C++ constructor (called from Java via `initHybrid()`)
|
|
30
|
+
explicit JHybridNativeStorageSpec(jni::alias_ref<jhybridobject> jThis) :
|
|
31
|
+
HybridObject(HybridNativeStorageSpec::TAG),
|
|
32
|
+
HybridBase(jThis),
|
|
33
|
+
_javaPart(jni::make_global(jThis)) {}
|
|
34
|
+
|
|
35
|
+
public:
|
|
36
|
+
~JHybridNativeStorageSpec() override {
|
|
37
|
+
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
38
|
+
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public:
|
|
42
|
+
size_t getExternalMemorySize() noexcept override;
|
|
43
|
+
void dispose() noexcept override;
|
|
44
|
+
|
|
45
|
+
public:
|
|
46
|
+
inline const jni::global_ref<JHybridNativeStorageSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
return _javaPart;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public:
|
|
51
|
+
// Properties
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
// Methods
|
|
56
|
+
std::string getString(const std::string& key) override;
|
|
57
|
+
void setString(const std::string& key, const std::string& value) override;
|
|
58
|
+
void removeString(const std::string& key) override;
|
|
59
|
+
|
|
60
|
+
private:
|
|
61
|
+
friend HybridBase;
|
|
62
|
+
using HybridBase::HybridBase;
|
|
63
|
+
jni::global_ref<JHybridNativeStorageSpec::javaobject> _javaPart;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
} // namespace margelo::nitro::nitrofetch
|
|
@@ -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;
|