react-native-nitro-modules 0.19.0 → 0.20.0
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/NitroModules.podspec +1 -0
- package/android/src/main/cpp/core/JPromise.hpp +4 -2
- package/android/src/main/cpp/registry/JHybridObjectRegistry.cpp +17 -14
- package/cpp/core/AnyMap.hpp +2 -1
- package/cpp/core/Promise.hpp +19 -32
- package/cpp/jsi/JSIConverter+Function.hpp +18 -10
- package/cpp/utils/NitroDefines.hpp +13 -14
- package/cpp/utils/TypeInfo.hpp +1 -1
- package/ios/core/ArrayBufferHolder.hpp +1 -1
- package/ios/core/ArrayBufferHolder.swift +1 -1
- package/ios/core/Promise.swift +10 -10
- package/ios/core/PromiseHolder.hpp +93 -0
- package/ios/utils/SwiftClosure.hpp +4 -4
- package/ios/utils/SwiftClosure.swift +3 -4
- package/lib/commonjs/Constructor.js +1 -1
- package/lib/module/Constructor.js +1 -1
- package/lib/tsconfig.build.tsbuildinfo +1 -1
- package/lib/typescript/Constructor.d.ts +1 -1
- package/package.json +1 -1
- package/src/Constructor.ts +1 -1
package/NitroModules.podspec
CHANGED
|
@@ -103,7 +103,8 @@ private:
|
|
|
103
103
|
} else {
|
|
104
104
|
// Promise is not yet resolved, put the listener in our queue.
|
|
105
105
|
auto sharedCallback = jni::make_global(callback);
|
|
106
|
-
_onResolvedListeners.emplace_back(
|
|
106
|
+
_onResolvedListeners.emplace_back(
|
|
107
|
+
[sharedCallback = std::move(sharedCallback)](const auto& result) { sharedCallback->onResolved(result); });
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
void addOnRejectedListenerJava(jni::alias_ref<JOnRejectedCallback> callback) {
|
|
@@ -114,7 +115,8 @@ private:
|
|
|
114
115
|
} else {
|
|
115
116
|
// Promise is not yet rejected, put the listener in our queue.
|
|
116
117
|
auto sharedCallback = jni::make_global(callback);
|
|
117
|
-
_onRejectedListeners.emplace_back(
|
|
118
|
+
_onRejectedListeners.emplace_back(
|
|
119
|
+
[sharedCallback = std::move(sharedCallback)](const auto& error) { sharedCallback->onRejected(error); });
|
|
118
120
|
}
|
|
119
121
|
}
|
|
120
122
|
|
|
@@ -15,23 +15,26 @@ namespace margelo::nitro {
|
|
|
15
15
|
void JHybridObjectRegistry::registerHybridObjectConstructor(jni::alias_ref<jni::JClass> clazz, std::string hybridObjectName,
|
|
16
16
|
jni::alias_ref<JHybridObjectInitializer> constructorFn) {
|
|
17
17
|
auto sharedInitializer = jni::make_global(constructorFn);
|
|
18
|
-
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
19
|
+
hybridObjectName,
|
|
20
|
+
[sharedInitializer = std::move(sharedInitializer),
|
|
21
|
+
hybridObjectName = std::move(hybridObjectName)]() -> std::shared_ptr<HybridObject> {
|
|
22
|
+
// 1. Call the Java initializer function
|
|
23
|
+
jni::local_ref<JHybridObject::javaobject> hybridObject = sharedInitializer->call();
|
|
21
24
|
#ifdef NITRO_DEBUG
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
if (hybridObject == nullptr) [[unlikely]] {
|
|
26
|
+
throw std::runtime_error("Failed to create HybridObject \"" + hybridObjectName + "\" - the constructor returned null!");
|
|
27
|
+
}
|
|
25
28
|
#endif
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
// 2. Make the resulting HybridObject a global (shared) reference
|
|
31
|
+
jni::global_ref<JHybridObject::javaobject> globalHybridObject = jni::make_global(hybridObject);
|
|
32
|
+
// 3. Create a shared_ptr from the JNI global reference
|
|
33
|
+
std::shared_ptr<JHybridObject> sharedCppPart = JNISharedPtr::make_shared_from_jni<JHybridObject>(globalHybridObject);
|
|
34
|
+
// 4. Up-cast to a HybridObject (kinda unsafe)
|
|
35
|
+
std::shared_ptr<HybridObject> cast = std::static_pointer_cast<HybridObject>(sharedCppPart);
|
|
36
|
+
return cast;
|
|
37
|
+
});
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
void JHybridObjectRegistry::registerNatives() {
|
package/cpp/core/AnyMap.hpp
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
#pragma once
|
|
6
6
|
|
|
7
|
+
#include "NitroDefines.hpp"
|
|
7
8
|
#include <map>
|
|
8
9
|
#include <memory>
|
|
9
10
|
#include <string>
|
|
@@ -199,6 +200,6 @@ public:
|
|
|
199
200
|
|
|
200
201
|
private:
|
|
201
202
|
std::unordered_map<std::string, AnyValue> _map;
|
|
202
|
-
};
|
|
203
|
+
} SWIFT_NONCOPYABLE;
|
|
203
204
|
|
|
204
205
|
} // namespace margelo::nitro
|
package/cpp/core/Promise.hpp
CHANGED
|
@@ -28,13 +28,9 @@ public:
|
|
|
28
28
|
public:
|
|
29
29
|
// Promise cannot be copied.
|
|
30
30
|
Promise(const Promise&) = delete;
|
|
31
|
-
// Promise can be moved.
|
|
32
|
-
Promise(Promise&&) = default;
|
|
33
31
|
|
|
34
32
|
private:
|
|
35
|
-
Promise() {
|
|
36
|
-
_mutex = std::make_unique<std::mutex>();
|
|
37
|
-
}
|
|
33
|
+
Promise() {}
|
|
38
34
|
|
|
39
35
|
public:
|
|
40
36
|
/**
|
|
@@ -94,7 +90,7 @@ public:
|
|
|
94
90
|
* Resolves this Promise with the given result, and calls any pending listeners.
|
|
95
91
|
*/
|
|
96
92
|
void resolve(TResult&& result) {
|
|
97
|
-
std::unique_lock lock(
|
|
93
|
+
std::unique_lock lock(_mutex);
|
|
98
94
|
#ifdef NITRO_DEBUG
|
|
99
95
|
assertPromiseState(*this, PromiseTask::WANTS_TO_RESOLVE);
|
|
100
96
|
#endif
|
|
@@ -104,7 +100,7 @@ public:
|
|
|
104
100
|
}
|
|
105
101
|
}
|
|
106
102
|
void resolve(const TResult& result) {
|
|
107
|
-
std::unique_lock lock(
|
|
103
|
+
std::unique_lock lock(_mutex);
|
|
108
104
|
#ifdef NITRO_DEBUG
|
|
109
105
|
assertPromiseState(*this, PromiseTask::WANTS_TO_RESOLVE);
|
|
110
106
|
#endif
|
|
@@ -121,7 +117,7 @@ public:
|
|
|
121
117
|
throw std::runtime_error("Cannot reject Promise with a null exception_ptr!");
|
|
122
118
|
}
|
|
123
119
|
|
|
124
|
-
std::unique_lock lock(
|
|
120
|
+
std::unique_lock lock(_mutex);
|
|
125
121
|
#ifdef NITRO_DEBUG
|
|
126
122
|
assertPromiseState(*this, PromiseTask::WANTS_TO_REJECT);
|
|
127
123
|
#endif
|
|
@@ -137,7 +133,7 @@ public:
|
|
|
137
133
|
* If the Promise is already resolved, the listener will be immediately called.
|
|
138
134
|
*/
|
|
139
135
|
void addOnResolvedListener(OnResolvedFunc&& onResolved) {
|
|
140
|
-
std::unique_lock lock(
|
|
136
|
+
std::unique_lock lock(_mutex);
|
|
141
137
|
if (std::holds_alternative<TResult>(_state)) {
|
|
142
138
|
// Promise is already resolved! Call the callback immediately
|
|
143
139
|
onResolved(std::get<TResult>(_state));
|
|
@@ -147,7 +143,7 @@ public:
|
|
|
147
143
|
}
|
|
148
144
|
}
|
|
149
145
|
void addOnResolvedListener(const OnResolvedFunc& onResolved) {
|
|
150
|
-
std::unique_lock lock(
|
|
146
|
+
std::unique_lock lock(_mutex);
|
|
151
147
|
if (std::holds_alternative<TResult>(_state)) {
|
|
152
148
|
// Promise is already resolved! Call the callback immediately
|
|
153
149
|
onResolved(std::get<TResult>(_state));
|
|
@@ -156,15 +152,9 @@ public:
|
|
|
156
152
|
_onResolvedListeners.push_back(onResolved);
|
|
157
153
|
}
|
|
158
154
|
}
|
|
155
|
+
[[deprecated("Upgrade Nitro to use PromiseHolder<T> instead.")]]
|
|
159
156
|
void addOnResolvedListenerCopy(const std::function<void(TResult)>& onResolved) {
|
|
160
|
-
|
|
161
|
-
if (std::holds_alternative<TResult>(_state)) {
|
|
162
|
-
// Promise is already resolved! Call the callback immediately
|
|
163
|
-
onResolved(std::get<TResult>(_state));
|
|
164
|
-
} else {
|
|
165
|
-
// Promise is not yet resolved, put the listener in our queue.
|
|
166
|
-
_onResolvedListeners.push_back(onResolved);
|
|
167
|
-
}
|
|
157
|
+
addOnResolvedListener([=](const TResult& value) { onResolved(value); });
|
|
168
158
|
}
|
|
169
159
|
|
|
170
160
|
/**
|
|
@@ -172,7 +162,7 @@ public:
|
|
|
172
162
|
* If the Promise is already rejected, the listener will be immediately called.
|
|
173
163
|
*/
|
|
174
164
|
void addOnRejectedListener(OnRejectedFunc&& onRejected) {
|
|
175
|
-
std::unique_lock lock(
|
|
165
|
+
std::unique_lock lock(_mutex);
|
|
176
166
|
if (std::holds_alternative<std::exception_ptr>(_state)) {
|
|
177
167
|
// Promise is already rejected! Call the callback immediately
|
|
178
168
|
onRejected(std::get<std::exception_ptr>(_state));
|
|
@@ -182,7 +172,7 @@ public:
|
|
|
182
172
|
}
|
|
183
173
|
}
|
|
184
174
|
void addOnRejectedListener(const OnRejectedFunc& onRejected) {
|
|
185
|
-
std::unique_lock lock(
|
|
175
|
+
std::unique_lock lock(_mutex);
|
|
186
176
|
if (std::holds_alternative<std::exception_ptr>(_state)) {
|
|
187
177
|
// Promise is already rejected! Call the callback immediately
|
|
188
178
|
onRejected(std::get<std::exception_ptr>(_state));
|
|
@@ -252,7 +242,7 @@ private:
|
|
|
252
242
|
std::variant<std::monostate, TResult, std::exception_ptr> _state;
|
|
253
243
|
std::vector<OnResolvedFunc> _onResolvedListeners;
|
|
254
244
|
std::vector<OnRejectedFunc> _onRejectedListeners;
|
|
255
|
-
std::
|
|
245
|
+
std::mutex _mutex;
|
|
256
246
|
};
|
|
257
247
|
|
|
258
248
|
// Specialization for void
|
|
@@ -264,12 +254,9 @@ public:
|
|
|
264
254
|
|
|
265
255
|
public:
|
|
266
256
|
Promise(const Promise&) = delete;
|
|
267
|
-
Promise(Promise&&) = default;
|
|
268
257
|
|
|
269
258
|
private:
|
|
270
|
-
Promise() {
|
|
271
|
-
_mutex = std::make_unique<std::mutex>();
|
|
272
|
-
}
|
|
259
|
+
Promise() {}
|
|
273
260
|
|
|
274
261
|
public:
|
|
275
262
|
static std::shared_ptr<Promise> create() {
|
|
@@ -309,7 +296,7 @@ public:
|
|
|
309
296
|
|
|
310
297
|
public:
|
|
311
298
|
void resolve() {
|
|
312
|
-
std::unique_lock lock(
|
|
299
|
+
std::unique_lock lock(_mutex);
|
|
313
300
|
#ifdef NITRO_DEBUG
|
|
314
301
|
assertPromiseState(*this, PromiseTask::WANTS_TO_RESOLVE);
|
|
315
302
|
#endif
|
|
@@ -323,7 +310,7 @@ public:
|
|
|
323
310
|
throw std::runtime_error("Cannot reject Promise with a null exception_ptr!");
|
|
324
311
|
}
|
|
325
312
|
|
|
326
|
-
std::unique_lock lock(
|
|
313
|
+
std::unique_lock lock(_mutex);
|
|
327
314
|
#ifdef NITRO_DEBUG
|
|
328
315
|
assertPromiseState(*this, PromiseTask::WANTS_TO_REJECT);
|
|
329
316
|
#endif
|
|
@@ -335,7 +322,7 @@ public:
|
|
|
335
322
|
|
|
336
323
|
public:
|
|
337
324
|
void addOnResolvedListener(OnResolvedFunc&& onResolved) {
|
|
338
|
-
std::unique_lock lock(
|
|
325
|
+
std::unique_lock lock(_mutex);
|
|
339
326
|
if (_isResolved) {
|
|
340
327
|
onResolved();
|
|
341
328
|
} else {
|
|
@@ -343,7 +330,7 @@ public:
|
|
|
343
330
|
}
|
|
344
331
|
}
|
|
345
332
|
void addOnResolvedListener(const OnResolvedFunc& onResolved) {
|
|
346
|
-
std::unique_lock lock(
|
|
333
|
+
std::unique_lock lock(_mutex);
|
|
347
334
|
if (_isResolved) {
|
|
348
335
|
onResolved();
|
|
349
336
|
} else {
|
|
@@ -351,7 +338,7 @@ public:
|
|
|
351
338
|
}
|
|
352
339
|
}
|
|
353
340
|
void addOnRejectedListener(OnRejectedFunc&& onRejected) {
|
|
354
|
-
std::unique_lock lock(
|
|
341
|
+
std::unique_lock lock(_mutex);
|
|
355
342
|
if (_error) {
|
|
356
343
|
onRejected(_error);
|
|
357
344
|
} else {
|
|
@@ -360,7 +347,7 @@ public:
|
|
|
360
347
|
}
|
|
361
348
|
}
|
|
362
349
|
void addOnRejectedListener(const OnRejectedFunc& onRejected) {
|
|
363
|
-
std::unique_lock lock(
|
|
350
|
+
std::unique_lock lock(_mutex);
|
|
364
351
|
if (_error) {
|
|
365
352
|
onRejected(_error);
|
|
366
353
|
} else {
|
|
@@ -400,7 +387,7 @@ public:
|
|
|
400
387
|
}
|
|
401
388
|
|
|
402
389
|
private:
|
|
403
|
-
std::
|
|
390
|
+
std::mutex _mutex;
|
|
404
391
|
bool _isResolved = false;
|
|
405
392
|
std::exception_ptr _error;
|
|
406
393
|
std::vector<OnResolvedFunc> _onResolvedListeners;
|
|
@@ -41,7 +41,7 @@ struct JSIConverter<std::function<ReturnType(Args...)>> final {
|
|
|
41
41
|
|
|
42
42
|
// Create a C++ function that can be called by the consumer.
|
|
43
43
|
// This will call the jsi::Function if it is still alive.
|
|
44
|
-
return [&runtime, weakDispatcher, sharedFunction = std::move(sharedFunction)](Args... args) -> ReturnType {
|
|
44
|
+
return [&runtime, weakDispatcher = std::move(weakDispatcher), sharedFunction = std::move(sharedFunction)](Args... args) -> ReturnType {
|
|
45
45
|
// Try to get the JS Dispatcher if the Runtime is still alive
|
|
46
46
|
std::shared_ptr<Dispatcher> dispatcher = weakDispatcher.lock();
|
|
47
47
|
if (!dispatcher) {
|
|
@@ -55,26 +55,34 @@ struct JSIConverter<std::function<ReturnType(Args...)>> final {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
if constexpr (std::is_void_v<ResultingType>) {
|
|
58
|
-
dispatcher->runAsync(
|
|
59
|
-
|
|
60
|
-
} else {
|
|
61
|
-
return dispatcher->runAsyncAwaitable<ResultingType>([&runtime, sharedFunction, ... args = std::move(args)]() -> ResultingType {
|
|
62
|
-
return callJSFunction(runtime, sharedFunction, args...);
|
|
58
|
+
dispatcher->runAsync([&runtime, sharedFunction = std::move(sharedFunction), ... args = std::move(args)]() {
|
|
59
|
+
callJSFunction(runtime, sharedFunction, args...);
|
|
63
60
|
});
|
|
61
|
+
} else {
|
|
62
|
+
return dispatcher->runAsyncAwaitable<ResultingType>(
|
|
63
|
+
[&runtime, sharedFunction = std::move(sharedFunction), ... args = std::move(args)]() -> ResultingType {
|
|
64
|
+
return callJSFunction(runtime, sharedFunction, args...);
|
|
65
|
+
});
|
|
64
66
|
}
|
|
65
67
|
};
|
|
66
68
|
}
|
|
67
69
|
|
|
68
|
-
static inline jsi::Value toJSI(jsi::Runtime& runtime,
|
|
69
|
-
jsi::HostFunctionType jsFunction = [function](jsi::Runtime& runtime, const jsi::Value& thisValue,
|
|
70
|
-
|
|
70
|
+
static inline jsi::Value toJSI(jsi::Runtime& runtime, std::function<ReturnType(Args...)>&& function) {
|
|
71
|
+
jsi::HostFunctionType jsFunction = [function = std::move(function)](jsi::Runtime& runtime, const jsi::Value& thisValue,
|
|
72
|
+
const jsi::Value* args, size_t count) -> jsi::Value {
|
|
71
73
|
if (count != sizeof...(Args)) [[unlikely]] {
|
|
72
74
|
throw jsi::JSError(runtime, "Function expected " + std::to_string(sizeof...(Args)) + " arguments, but received " +
|
|
73
75
|
std::to_string(count) + "!");
|
|
74
76
|
}
|
|
75
77
|
return callHybridFunction(function, runtime, args, std::index_sequence_for<Args...>{});
|
|
76
78
|
};
|
|
77
|
-
return jsi::Function::createFromHostFunction(runtime, jsi::PropNameID::forUtf8(runtime, "hostFunction"), sizeof...(Args),
|
|
79
|
+
return jsi::Function::createFromHostFunction(runtime, jsi::PropNameID::forUtf8(runtime, "hostFunction"), sizeof...(Args),
|
|
80
|
+
std::move(jsFunction));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
static inline jsi::Value toJSI(jsi::Runtime& runtime, const std::function<ReturnType(Args...)>& function) {
|
|
84
|
+
std::function<ReturnType(Args...)> copy = function;
|
|
85
|
+
return toJSI(runtime, std::move(copy));
|
|
78
86
|
}
|
|
79
87
|
|
|
80
88
|
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
#define NitroDefines_h
|
|
10
10
|
|
|
11
11
|
// Sets the version of the native Nitro core library
|
|
12
|
-
#define NITRO_VERSION "0.
|
|
12
|
+
#define NITRO_VERSION "0.20.0"
|
|
13
13
|
|
|
14
14
|
// Sets whether to use debug or optimized production build flags
|
|
15
15
|
#ifdef DEBUG
|
|
@@ -31,19 +31,6 @@
|
|
|
31
31
|
#define _CXX_INTEROP_HAS_ATTRIBUTE(x) 0
|
|
32
32
|
#endif
|
|
33
33
|
|
|
34
|
-
#if _CXX_INTEROP_HAS_ATTRIBUTE(swift_attr)
|
|
35
|
-
// Rename Type for Swift
|
|
36
|
-
#define SWIFT_NAME(_name) __attribute__((swift_name(#_name)))
|
|
37
|
-
// Make Swift type private
|
|
38
|
-
#define SWIFT_PRIVATE __attribute__((swift_private))
|
|
39
|
-
// Make getter + setter a computed property
|
|
40
|
-
#define SWIFT_COMPUTED_PROPERTY __attribute__((swift_attr("import_computed_property")))
|
|
41
|
-
#else
|
|
42
|
-
#define SWIFT_NAME(_name)
|
|
43
|
-
#define SWIFT_PRIVATE
|
|
44
|
-
#define SWIFT_COMPUTED_PROPERTY
|
|
45
|
-
#endif
|
|
46
|
-
|
|
47
34
|
#if _CXX_INTEROP_HAS_ATTRIBUTE(enum_extensibility)
|
|
48
35
|
// Enum is marked as closed/not extensible
|
|
49
36
|
#define CLOSED_ENUM __attribute__((enum_extensibility(closed)))
|
|
@@ -51,4 +38,16 @@
|
|
|
51
38
|
#define CLOSED_ENUM
|
|
52
39
|
#endif
|
|
53
40
|
|
|
41
|
+
#if __has_include(<swift/bridging>)
|
|
42
|
+
// Swift's bridging header defines those things
|
|
43
|
+
#include <swift/bridging>
|
|
44
|
+
#define SWIFT_PRIVATE __attribute__((swift_private))
|
|
45
|
+
#else
|
|
46
|
+
// If we don't have Swift bridging header, those macros do nothing
|
|
47
|
+
#define SWIFT_NAME(_name)
|
|
48
|
+
#define SWIFT_PRIVATE
|
|
49
|
+
#define SWIFT_COMPUTED_PROPERTY
|
|
50
|
+
#define SWIFT_NONCOPYABLE
|
|
51
|
+
#endif
|
|
52
|
+
|
|
54
53
|
#endif /* NitroDefines_h */
|
package/cpp/utils/TypeInfo.hpp
CHANGED
|
@@ -48,7 +48,7 @@ public:
|
|
|
48
48
|
#endif
|
|
49
49
|
|
|
50
50
|
// Make a few edge-cases nicer.
|
|
51
|
-
name = replaceRegex(name, R"(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char
|
|
51
|
+
name = replaceRegex(name, R"(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> ?>)", "std::string");
|
|
52
52
|
name = replaceRegex(name, R"(std::__1::vector<([^>]+), std::__1::allocator<\1>>)", "std::vector<$1>");
|
|
53
53
|
name = replaceRegex(name, R"(std::__1::map<([^,]+), ([^>]+), std::__1::less<\1>, std::__1::allocator<std::__1::pair<const \1, \2>>>)",
|
|
54
54
|
"std::map<$1, $2>");
|
|
@@ -50,7 +50,7 @@ public extension ArrayBufferHolder {
|
|
|
50
50
|
/**
|
|
51
51
|
* Copy the given `ArrayBufferHolder` into a new **owning** `ArrayBufferHolder`.
|
|
52
52
|
*/
|
|
53
|
-
static func copy(of other: ArrayBufferHolder) -> ArrayBufferHolder {
|
|
53
|
+
static func copy(of other: borrowing ArrayBufferHolder) -> ArrayBufferHolder {
|
|
54
54
|
let data = UnsafeMutablePointer<UInt8>.allocate(capacity: other.size)
|
|
55
55
|
let pointer = other.data.assumingMemoryBound(to: UInt8.self)
|
|
56
56
|
data.initialize(from: pointer, count: other.size)
|
package/ios/core/Promise.swift
CHANGED
|
@@ -17,16 +17,16 @@ import Foundation
|
|
|
17
17
|
* - `Promise<T>.rejected(withError:)` - Creates a new already rejected Promise.
|
|
18
18
|
* - `Promise<T>()` - Creates a new Promise with fully manual control over the `resolve(..)`/`reject(..)` functions.
|
|
19
19
|
*/
|
|
20
|
-
public class Promise<T> {
|
|
20
|
+
public final class Promise<T> {
|
|
21
21
|
private enum State {
|
|
22
22
|
case result(T)
|
|
23
23
|
case error(Error)
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
private var state: State?
|
|
27
27
|
private var onResolvedListeners: [(T) -> Void] = []
|
|
28
28
|
private var onRejectedListeners: [(Error) -> Void] = []
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
/**
|
|
31
31
|
* Create a new pending Promise.
|
|
32
32
|
* It can (and must) be resolved **or** rejected later.
|
|
@@ -34,13 +34,13 @@ public class Promise<T> {
|
|
|
34
34
|
public init() {
|
|
35
35
|
state = nil
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
deinit {
|
|
39
39
|
if state == nil {
|
|
40
40
|
print("⚠️ Promise<\(String(describing: T.self))> got destroyed, but was never resolved or rejected! It is probably left hanging in JS now.")
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
|
|
44
44
|
/**
|
|
45
45
|
* Resolves this `Promise<T>` with the given `T` and notifies all listeners.
|
|
46
46
|
*/
|
|
@@ -51,7 +51,7 @@ public class Promise<T> {
|
|
|
51
51
|
state = .result(result)
|
|
52
52
|
onResolvedListeners.forEach { listener in listener(result) }
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
|
|
55
55
|
/**
|
|
56
56
|
* Rejects this `Promise<T>` with the given `Error` and notifies all listeners.
|
|
57
57
|
*/
|
|
@@ -76,7 +76,7 @@ extension Promise {
|
|
|
76
76
|
promise.state = .result(result)
|
|
77
77
|
return promise
|
|
78
78
|
}
|
|
79
|
-
|
|
79
|
+
|
|
80
80
|
/**
|
|
81
81
|
* Create a new `Promise<T>` already rejected with the given `Error`.
|
|
82
82
|
*/
|
|
@@ -85,7 +85,7 @@ extension Promise {
|
|
|
85
85
|
promise.state = .error(error)
|
|
86
86
|
return promise
|
|
87
87
|
}
|
|
88
|
-
|
|
88
|
+
|
|
89
89
|
/**
|
|
90
90
|
* Create a new `Promise<T>` that runs the given `async` code in a `Task`.
|
|
91
91
|
* This does not necessarily run the code in a different Thread, but supports Swift's `async`/`await`.
|
|
@@ -103,7 +103,7 @@ extension Promise {
|
|
|
103
103
|
}
|
|
104
104
|
return promise
|
|
105
105
|
}
|
|
106
|
-
|
|
106
|
+
|
|
107
107
|
/**
|
|
108
108
|
* Create a new `Promise<T>` that runs the given `run` function on a parallel Thread/`DispatchQueue`.
|
|
109
109
|
*/
|
|
@@ -142,7 +142,7 @@ extension Promise {
|
|
|
142
142
|
}
|
|
143
143
|
return self
|
|
144
144
|
}
|
|
145
|
-
|
|
145
|
+
|
|
146
146
|
/**
|
|
147
147
|
* Add an error continuation listener to this `Promise<T>`.
|
|
148
148
|
* Once the `Promise<T>` rejects, the `onRejectedListener` will be called with the error.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
//
|
|
2
|
+
// ArrayBufferHolder.hpp
|
|
3
|
+
// react-native-nitro
|
|
4
|
+
//
|
|
5
|
+
// Created by Marc Rousavy on 14.08.24.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "NitroDefines.hpp"
|
|
11
|
+
#include "Promise.hpp"
|
|
12
|
+
#include <exception>
|
|
13
|
+
#include <memory>
|
|
14
|
+
#include <type_traits>
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro {
|
|
17
|
+
|
|
18
|
+
using namespace facebook;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Holds instances of `std::shared_ptr<Promise<T>>`.
|
|
22
|
+
* The reason this exists is for performance optimizations, as well as easier listeners for Swift.
|
|
23
|
+
*/
|
|
24
|
+
template <typename T>
|
|
25
|
+
class PromiseHolder final {
|
|
26
|
+
public:
|
|
27
|
+
PromiseHolder(const std::shared_ptr<Promise<T>>& promise) : _promise(promise) {}
|
|
28
|
+
PromiseHolder(std::shared_ptr<Promise<T>>&& promise) : _promise(std::move(promise)) {}
|
|
29
|
+
|
|
30
|
+
public:
|
|
31
|
+
static PromiseHolder<T> create() {
|
|
32
|
+
return PromiseHolder<T>(Promise<T>::create());
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public:
|
|
36
|
+
void resolve(T value) const {
|
|
37
|
+
_promise->resolve(std::move(value));
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
void reject(const std::exception_ptr& exception) const {
|
|
41
|
+
_promise->reject(exception);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public:
|
|
45
|
+
void addOnResolvedListener(std::function<void(const T&)> onResolved) const {
|
|
46
|
+
_promise->addOnResolvedListener([onResolved = std::move(onResolved)](const T& result) { onResolved(result); });
|
|
47
|
+
}
|
|
48
|
+
void addOnResolvedListenerCopy(std::function<void(T)> onResolved) const {
|
|
49
|
+
_promise->addOnResolvedListener([onResolved = std::move(onResolved)](const T& result) { onResolved(result); });
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
void addOnRejectedListener(std::function<void(const std::exception_ptr&)> onRejected) const {
|
|
53
|
+
_promise->addOnRejectedListener([onRejected = std::move(onRejected)](const std::exception_ptr& error) { onRejected(error); });
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
private:
|
|
57
|
+
std::shared_ptr<Promise<T>> _promise;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
template <>
|
|
61
|
+
class PromiseHolder<void> final {
|
|
62
|
+
public:
|
|
63
|
+
PromiseHolder(const std::shared_ptr<Promise<void>>& promise) : _promise(promise) {}
|
|
64
|
+
PromiseHolder(std::shared_ptr<Promise<void>>&& promise) : _promise(std::move(promise)) {}
|
|
65
|
+
|
|
66
|
+
public:
|
|
67
|
+
static PromiseHolder<void> create() {
|
|
68
|
+
return PromiseHolder<void>(Promise<void>::create());
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
public:
|
|
72
|
+
void resolve() const {
|
|
73
|
+
_promise->resolve();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
void reject(const std::exception_ptr& exception) const {
|
|
77
|
+
_promise->reject(exception);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public:
|
|
81
|
+
void addOnResolvedListener(std::function<void()> onResolved) const {
|
|
82
|
+
_promise->addOnResolvedListener([onResolved = std::move(onResolved)]() { onResolved(); });
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
void addOnRejectedListener(std::function<void(const std::exception_ptr&)> onRejected) const {
|
|
86
|
+
_promise->addOnRejectedListener([onRejected = std::move(onRejected)](const std::exception_ptr& error) { onRejected(error); });
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
private:
|
|
90
|
+
std::shared_ptr<Promise<void>> _promise;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
} // namespace margelo::nitro
|
|
@@ -21,14 +21,14 @@ namespace margelo::nitro {
|
|
|
21
21
|
*/
|
|
22
22
|
struct SwiftClosure final {
|
|
23
23
|
public:
|
|
24
|
-
using CallFn = void(void*);
|
|
25
|
-
using DeleteFn = void(void*);
|
|
24
|
+
using CallFn = void(void* _Nonnull);
|
|
25
|
+
using DeleteFn = void(void* _Nonnull);
|
|
26
26
|
|
|
27
27
|
private:
|
|
28
28
|
std::function<void()> _function;
|
|
29
29
|
|
|
30
30
|
public:
|
|
31
|
-
explicit SwiftClosure(void* context, CallFn* call, DeleteFn* destroy) {
|
|
31
|
+
explicit SwiftClosure(void* _Nonnull context, CallFn* _Nonnull call, DeleteFn* _Nonnull destroy) {
|
|
32
32
|
// Create a std::shared_ptr of the `void* context` which calls `destroy`
|
|
33
33
|
// once no references of it exist anymore.
|
|
34
34
|
// Since the std::function captures this std::shared_ptr, it can now be
|
|
@@ -37,7 +37,7 @@ public:
|
|
|
37
37
|
std::shared_ptr<void> sharedContext(context, destroy);
|
|
38
38
|
// Create a std::function that captures `sharedContext`.
|
|
39
39
|
// Once it gets destroyed, `destroy()` gets called.
|
|
40
|
-
_function = [sharedContext, call]() {
|
|
40
|
+
_function = [sharedContext = std::move(sharedContext), call]() {
|
|
41
41
|
// Call the actual Swift closure.
|
|
42
42
|
call(sharedContext.get());
|
|
43
43
|
};
|
|
@@ -39,16 +39,15 @@ public extension SwiftClosure {
|
|
|
39
39
|
let context = Unmanaged.passRetained(ClosureWrapper(closure: closure)).toOpaque()
|
|
40
40
|
|
|
41
41
|
// Create a C-style Function Pointer, which calls the actual Swift closure.
|
|
42
|
-
|
|
42
|
+
func call(context: UnsafeMutableRawPointer) {
|
|
43
43
|
// Unwrap context from void* to closure again. We are assuming that it has not been deleted yet.
|
|
44
|
-
let closure = Unmanaged<ClosureWrapper>.fromOpaque(context
|
|
44
|
+
let closure = Unmanaged<ClosureWrapper>.fromOpaque(context).takeUnretainedValue()
|
|
45
45
|
// Call it!
|
|
46
46
|
closure.invoke()
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
// Create a C-style Function Pointer, which deletes the `ClosureWrapper`.
|
|
50
|
-
|
|
51
|
-
guard let context else { return }
|
|
50
|
+
func destroy(context: UnsafeMutableRawPointer) {
|
|
52
51
|
// Release the void* holding our `ClosureWrapper`
|
|
53
52
|
Unmanaged<ClosureWrapper>.fromOpaque(context).release()
|
|
54
53
|
}
|
|
@@ -10,7 +10,7 @@ const cache = new Map();
|
|
|
10
10
|
/**
|
|
11
11
|
* Get a constructor function for the given `HybridObject` {@linkcode T}.
|
|
12
12
|
* @param name The name of the `HybridObject` under which it was registered at.
|
|
13
|
-
* @returns
|
|
13
|
+
* @returns A constructor that creates instances of {@linkcode T}
|
|
14
14
|
* @example
|
|
15
15
|
* ```ts
|
|
16
16
|
* export const HybridImage = getHybridObjectConstructor<Image>('Image')
|
|
@@ -6,7 +6,7 @@ const cache = new Map();
|
|
|
6
6
|
/**
|
|
7
7
|
* Get a constructor function for the given `HybridObject` {@linkcode T}.
|
|
8
8
|
* @param name The name of the `HybridObject` under which it was registered at.
|
|
9
|
-
* @returns
|
|
9
|
+
* @returns A constructor that creates instances of {@linkcode T}
|
|
10
10
|
* @example
|
|
11
11
|
* ```ts
|
|
12
12
|
* export const HybridImage = getHybridObjectConstructor<Image>('Image')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/anymap.ts","../src/hybridobject.ts","../src/boxedhybridobject.ts","../../../node_modules/react-native/types/modules/batchedbridge.d.ts","../../../node_modules/react-native/libraries/vendor/emitter/eventemitter.d.ts","../../../node_modules/react-native/types/modules/codegen.d.ts","../../../node_modules/react-native/types/modules/devtools.d.ts","../../../node_modules/react-native/types/modules/globals.d.ts","../../../node_modules/react-native/types/modules/launchscreen.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/react-native/types/private/utilities.d.ts","../../../node_modules/react-native/types/public/insets.d.ts","../../../node_modules/react-native/types/public/reactnativetypes.d.ts","../../../node_modules/react-native/libraries/types/coreeventtypes.d.ts","../../../node_modules/react-native/types/public/reactnativerenderer.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchable.d.ts","../../../node_modules/react-native/libraries/components/view/viewaccessibility.d.ts","../../../node_modules/react-native/libraries/components/view/viewproptypes.d.ts","../../../node_modules/react-native/libraries/components/refreshcontrol/refreshcontrol.d.ts","../../../node_modules/react-native/libraries/components/scrollview/scrollview.d.ts","../../../node_modules/react-native/libraries/components/view/view.d.ts","../../../node_modules/react-native/libraries/image/imageresizemode.d.ts","../../../node_modules/react-native/libraries/image/imagesource.d.ts","../../../node_modules/react-native/libraries/image/image.d.ts","../../../node_modules/@react-native/virtualized-lists/lists/virtualizedlist.d.ts","../../../node_modules/@react-native/virtualized-lists/index.d.ts","../../../node_modules/react-native/libraries/lists/flatlist.d.ts","../../../node_modules/react-native/libraries/reactnative/rendererproxy.d.ts","../../../node_modules/react-native/libraries/lists/sectionlist.d.ts","../../../node_modules/react-native/libraries/text/text.d.ts","../../../node_modules/react-native/libraries/animated/animated.d.ts","../../../node_modules/react-native/libraries/stylesheet/stylesheettypes.d.ts","../../../node_modules/react-native/libraries/stylesheet/stylesheet.d.ts","../../../node_modules/react-native/libraries/stylesheet/processcolor.d.ts","../../../node_modules/react-native/libraries/actionsheetios/actionsheetios.d.ts","../../../node_modules/react-native/libraries/alert/alert.d.ts","../../../node_modules/react-native/libraries/animated/easing.d.ts","../../../node_modules/react-native/libraries/animated/useanimatedvalue.d.ts","../../../node_modules/react-native/libraries/eventemitter/rctdeviceeventemitter.d.ts","../../../node_modules/react-native/libraries/eventemitter/rctnativeappeventemitter.d.ts","../../../node_modules/react-native/libraries/appstate/appstate.d.ts","../../../node_modules/react-native/libraries/batchedbridge/nativemodules.d.ts","../../../node_modules/react-native/libraries/components/accessibilityinfo/accessibilityinfo.d.ts","../../../node_modules/react-native/libraries/components/activityindicator/activityindicator.d.ts","../../../node_modules/react-native/libraries/components/clipboard/clipboard.d.ts","../../../node_modules/react-native/libraries/components/drawerandroid/drawerlayoutandroid.d.ts","../../../node_modules/react-native/libraries/eventemitter/nativeeventemitter.d.ts","../../../node_modules/react-native/libraries/components/keyboard/keyboard.d.ts","../../../node_modules/react-native/types/private/timermixin.d.ts","../../../node_modules/react-native/libraries/components/keyboard/keyboardavoidingview.d.ts","../../../node_modules/react-native/libraries/components/pressable/pressable.d.ts","../../../node_modules/react-native/libraries/components/progressbarandroid/progressbarandroid.d.ts","../../../node_modules/react-native/libraries/components/safeareaview/safeareaview.d.ts","../../../node_modules/react-native/libraries/components/statusbar/statusbar.d.ts","../../../node_modules/react-native/libraries/components/switch/switch.d.ts","../../../node_modules/react-native/libraries/components/textinput/inputaccessoryview.d.ts","../../../node_modules/react-native/libraries/components/textinput/textinput.d.ts","../../../node_modules/react-native/libraries/components/toastandroid/toastandroid.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchablewithoutfeedback.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchablehighlight.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchableopacity.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchablenativefeedback.d.ts","../../../node_modules/react-native/libraries/components/button.d.ts","../../../node_modules/react-native/libraries/core/registercallablemodule.d.ts","../../../node_modules/react-native/libraries/devtoolssettings/devtoolssettingsmanager.d.ts","../../../node_modules/react-native/libraries/interaction/interactionmanager.d.ts","../../../node_modules/react-native/libraries/interaction/panresponder.d.ts","../../../node_modules/react-native/libraries/layoutanimation/layoutanimation.d.ts","../../../node_modules/react-native/libraries/linking/linking.d.ts","../../../node_modules/react-native/libraries/logbox/logbox.d.ts","../../../node_modules/react-native/libraries/modal/modal.d.ts","../../../node_modules/react-native/libraries/performance/systrace.d.ts","../../../node_modules/react-native/libraries/permissionsandroid/permissionsandroid.d.ts","../../../node_modules/react-native/libraries/pushnotificationios/pushnotificationios.d.ts","../../../node_modules/react-native/libraries/utilities/iperformancelogger.d.ts","../../../node_modules/react-native/libraries/reactnative/appregistry.d.ts","../../../node_modules/react-native/libraries/reactnative/i18nmanager.d.ts","../../../node_modules/react-native/libraries/reactnative/roottag.d.ts","../../../node_modules/react-native/libraries/reactnative/uimanager.d.ts","../../../node_modules/react-native/libraries/reactnative/requirenativecomponent.d.ts","../../../node_modules/react-native/libraries/settings/settings.d.ts","../../../node_modules/react-native/libraries/share/share.d.ts","../../../node_modules/react-native/libraries/stylesheet/platformcolorvaluetypesios.d.ts","../../../node_modules/react-native/libraries/stylesheet/platformcolorvaluetypes.d.ts","../../../node_modules/react-native/libraries/turbomodule/rctexport.d.ts","../../../node_modules/react-native/libraries/turbomodule/turbomoduleregistry.d.ts","../../../node_modules/react-native/libraries/utilities/appearance.d.ts","../../../node_modules/react-native/libraries/utilities/backhandler.d.ts","../../../node_modules/react-native/libraries/utilities/devsettings.d.ts","../../../node_modules/react-native/libraries/utilities/dimensions.d.ts","../../../node_modules/react-native/libraries/utilities/pixelratio.d.ts","../../../node_modules/react-native/libraries/utilities/platform.d.ts","../../../node_modules/react-native/libraries/vibration/vibration.d.ts","../../../node_modules/react-native/libraries/yellowbox/yellowboxdeprecated.d.ts","../../../node_modules/react-native/libraries/vendor/core/errorutils.d.ts","../../../node_modules/react-native/types/public/deprecatedpropertiesalias.d.ts","../../../node_modules/react-native/types/index.d.ts","../src/modulenotfounderror.ts","../src/nitromodulesproxy.ts","../src/turbomodule/nativenitromodules.ts","../src/nitromodules.ts","../src/constructor.ts","../src/index.ts","../src/__tests__/index.test.tsx","../src/turbomodule/nativenitromodules.web.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","17edc026abf73c5c2dd508652d63f68ec4efd9d4856e3469890d27598209feb5",{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"9d540251809289a05349b70ab5f4b7b99f922af66ab3c39ba56a475dcf95d5ff","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"a064b82533d211b1f97d1dc7c82e8d622d82d873a3dbb7e225f6e17814f40003","signature":"5d6084b922921ea84fce8617204272f5fb30ef8bedd91da18102c160fcf591aa"},{"version":"75c983a06ae990d5d05e9e6bcc5b20e52c1008f10a4d18af7561ce33ced01d23","signature":"90538ea42b1b8f3ac4ec7306a0a27ba7afee541df9684991e87202ffc9a6beb7"},{"version":"7cdf8681726690f80e41a5dcae289e664e78e0a0f81682d38b0f86ce9439f2aa","signature":"e5d121b23622c120b8e60e5efccd1436d9212b89f4cb180eb330f7d00cbe0e5d"},{"version":"3a909e8789a4f8b5377ef3fb8dc10d0c0a090c03f2e40aab599534727457475a","affectsGlobalScope":true},"fd412dd6372493eb8e3e95cae8687d35e4d34dde905a33e0ee47b74224cdd6ab","9d3b119c15e8eeb9a8fbeca47e0165ca7120704d90bf123b16ee5b612e2ecc9d","b8dd45aa6e099a5f564edcabfe8114096b096eb1ffaa343dd6f3fe73f1a6e85e",{"version":"38e8ac2d182bd3f85d28de9bdf1386c19a319f9c0280aa43960204c353b07878","affectsGlobalScope":true},"bc4db28f3510994e45bbabba1ee33e9a0d27dab33d4c8a5844cee8c85438a058",{"version":"36a2e4c9a67439aca5f91bb304611d5ae6e20d420503e96c230cf8fcdc948d94","affectsGlobalScope":true},"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","247a952efd811d780e5630f8cfd76f495196f5fa74f6f0fee39ac8ba4a3c9800",{"version":"c469d07daf4f88b613f0c99d95389e049e85c14f28f58120abca6785a0b3813d","affectsGlobalScope":true},"232f660363b3b189f7be7822ed71e907195d1a85bc8d55d2b7ce3f09b2136938","e745388cfad9efb4e5a9a15a2c6b66d54094dd82f8d0c2551064e216f7b51526","53390c21d095fb54e6c0b8351cbf7f4008f096ade9717bc5ee75e340bc3dfa30","71493b2c538dffa1e3e968b55b70984b542cc6e488012850865f72768ff32630","8ebf448e9837fda1a368acbb575b0e28843d5b2a3fda04bce76248b64326ea49","91b9f6241fca7843985aa31157cfa08cc724c77d91145a4d834d27cdde099c05","8b94ac8c460c9a2578ca3308fecfcf034e21af89e9c287c97710e9717ffae133","a7266bcc42f8ec0f31f319c2dd8100411b4d7b8a534235cb00a719f1c8a2a42e","3dfa3a6f2a62259b56fa7bcebfbacf886848dfa037298be5bed07c7a0381ee4f","a1e3cda52746919d2a95784ce0b1b9ffa22052209aab5f54e079e7b920f5339e","1882680f8c88c5648d603408dd1943857ca831a815e33d3126be8368f7a69252","f387a979388291b2688ba0f604e3ae78874f5f777616b448d34109762a4f05a9","cae0fb826d8a88749189b8a924dfcb5d3ad629e3bc5ec934195fbd83fa48b068","376b8482d1224aa83f4521590672304e30ba847d0b87b9e1a62b2e60a5c788f2","488242948cc48ee6413a159c60bcaf70de15db01364741737a962662f1a127a5","42bacb33cddecbcfe3e043ee1117ba848801749e44f947626765b3e0aec74b1c","b326790c20287ad266b5fcd0c388e2a83320a24747856727dcb70c7bbd489dfc","cd2156bc8e4d54d52a2817d1b6f4629a5dd3173b1d8bb0fc893ee678d6a78ecd","60526d9010e8ccb2a76a59821061463464c3acd5bc7a50320df6d2e4e0d6e4f7","562cce1c8e14e8d5a55d1931cb1848b1df49cc7b1024356d56f3550ed57ad67f","623fa4efc706bb9956d0ae94b13321c6617655bf8ebdb270c9792bb398f82e44","f20c96192f5841cbf982d2c1989c1e9fdef41c4a9db7543edff131007bf1dbfb","79d6871ce0da76f4c865a58daa509d5c8a10545d510b804501daa5d0626e7028","9054417b5760061bc5fe31f9eee5dc9bf018339b0617d3c65dd1673c8e3c0f25","442856ad0787bc213f659e134c204ad0d502179aa216bf700faefb5572208358","443702ca8101ef0adc827c2cc530ca93cf98d41e36ce4399efb9bc833ad9cb62","c94f70562ae60797cce564c3bebbaaf1752c327d5063d6ac152aa5ca1616c267","2aeb5fcdfc884b16015617d263fd8d1a8513f7efe23880be4e5f0bdb3794b37c","b561170fbe8d4292425e1dfa52406c8d97575681f7a5e420d11d9f72f7c29e38","5fe94f3f6411a0f6293f16fdc8e02ee61138941847ce91d6f6800c97fac22fcd","7f7c0ecc3eeeef905a3678e540947f4fbbc1a9c76075419dcc5fbfc3df59cb0b","df3303018d45c92be73fb4a282d5a242579f96235f5e0f8981983102caf5feca","35db266b474b3b9dfd0bc7d25dff3926cc227de45394262f3783b8b174182a16","8205e62a7310ac0513747f6d84175400680cff372559bc5fbe2df707194a295d","084d0df6805570b6dc6c8b49c3a71d5bdfe59606901e0026c63945b68d4b080a","8387fa3287992c71702756fe6ecea68e2f8f2c5aa434493e3afe4817dd4a4787","0f066f9654e700a9cf79c75553c934eb14296aa80583bd2b5d07e2d582a3f4ee","269c5d54104033b70331343bd931c9933852a882391ed6bd98c3d8b7d6465d22","a56b8577aaf471d9e60582065a8193269310e8cae48c1ce4111ed03216f5f715","486ae83cd51b813095f6716f06cc9b2cf480ad1d6c7f8ec59674d6c858cd2407","fff527e2567a24dd634a30268f1aa8a220315fed9c513d70ee872e54f67f27f3","5dd0ff735b3f2e642c3f16bcfb3dc4ecebb679a70e43cfb19ab5fd84d8faaeed","d1d78d1ef0f21ac77cdc436d2a4d56592453a8a2e51af2040ec9a69a5d35e4de","bc55b91274e43f88030c9cfe2c4217fae57894c3c302173ab6e9743c29484e3d","8bb22f70bfd7bf186631fa565c9202ee6a1009ffb961197b7d092b5a1e1d56b1","77282216c61bcef9a700db98e142301d5a7d988d3076286029da63e415e98a42","6c28f4f95aaa6c3c8b1a0681c29f446b0bf0ed1aa5aa11e8b2ca6fc9e066e9f2","64ce8e260a1362d4cadd6c753581a912a9869d4a53ec6e733dc61018f9250f5d","85a915dbb768b89cb92f5e6c165d776bfebd065883c34fee4e0219c3ed321b47","83df2f39cb14971adea51d1c84e7d146a34e9b7f84ad118450a51bdc3138412c","b96364fcb0c9d521e7618346b00acf3fe16ccf9368404ceac1658edee7b6332c","bdb2b70c74908c92ec41d8dd8375a195cb3bb07523e4de642b2b2dfbde249ca6","7b329f4137a552073f504022acbf8cd90d49cc5e5529791bef508f76ff774854","f63bbbffcfc897d22f34cf19ae13405cd267b1783cd21ec47d8a2d02947c98c1","7889f4932dfa7b1126cdc17914d85d80b5860cc3d62ba329494007e8aab45430","d9725ef7f60a791668f7fb808eb90b1789feaaef989a686fefc0f7546a51dcdc","df55b9be6ba19a6f77487e09dc7a94d7c9bf66094d35ea168dbd4bac42c46b8f","595125f3e088b883d104622ef10e6b7d5875ff6976bbe4d7dca090a3e2dca513","8ebb6f0603bf481e893311c49e4d2e2061413c51b9ba5898cd9b0a01f5ef19c8","e0d7eed4ba363df3faadb8e617f95f9fc8adfbb00b87db7ade4a1098d6cf1e90","38faab59a79924ce5eb4f2f3e7e7db91e74d425b4183f908cc014be213f0d971","de115595321ce012c456f512a799679bfc874f0ac0a4928a8429557bb25086aa","cdca67bd898deff48e3acb05fb44500b5ebce16c26a8ec99dee1522cf9879795","0524cab11ba9048d151d93cc666d3908fda329eec6b1642e9a936093e6d79f28","869073d7523e75f45bd65b2072865c60002d5e0cbd3d17831e999cf011312778","bc7b5906a6ce6c5744a640c314e020856be6c50a693e77dc12aff2d77b12ca76","56503e377bc1344f155e4e3115a772cb4e59350c0b8131e3e1fb2750ac491608","6b579287217ee1320ee1c6cfec5f6730f3a1f91daab000f7131558ee531b2bf8","e2ddb2877f5a841866f4fc772a601b58e90ac8399b35f9a06535be81b8e08b47","a793636667598e739a52684033037a67dc2d9db37fab727623626ef19aa5abb9","b15d6238a86bc0fc2368da429249b96c260debc0cec3eb7b5f838ad32587c129","9a9fba3a20769b0a74923e7032997451b61c1bd371c519429b29019399040d74","4b10e2fe52cb61035e58df3f1fdd926dd0fe9cf1a2302f92916da324332fb4e0","d1092ae8d6017f359f4758115f588e089848cc8fb359f7ba045b1a1cf3668a49","ddae9195b0da7b25a585ef43365f4dc5204a746b155fbee71e6ee1a9193fb69f","32dbced998ce74c5e76ce87044d0b4071857576dde36b0c6ed1d5957ce9cf5b5","5bc29a9918feba88816b71e32960cf11243b77b76630e9e87cad961e5e1d31d0","341ffa358628577f490f128f3880c01d50ef31412d1be012bb1cd959b0a383ea","ecc1b8878c8033bde0204b85e26fe1af6847805427759e5723882c848a11e134","cfc9c32553ad3b5be38342bc8731397438a93531118e1a226a8c79ad255b4f0c","16e5b5b023c2a1119c1878a51714861c56255778de0a7fe378391876a15f7433","52e8612d284467b4417143ca8fe54d30145fdfc3815f5b5ea9b14b677f422be5","a090a8a3b0ef2cceeb089acf4df95df72e7d934215896afe264ff6f734d66d15","a0259c6054e3ed2c5fb705b6638e384446cbcdf7fd2072c659b43bd56e214b9a","005319c82222e57934c7b211013eb6931829e46b2a61c5d9a1c3c25f8dc3ea90","151f422f08c8ca67b77c5c39d49278b4df452ef409237c8219be109ae3cdae9d",{"version":"6466cbb0aa561e1c1a87850a1f066692f1692a0a9513c508a3886cd66a62dae8","affectsGlobalScope":true},{"version":"445f7bb9b132395763d2fd00e88167a7b7d5c514728cfe462c17d044fe9f27d2","signature":"5423eff0aeb3d2eba041721efabde15d1c06709724dea6ae79b48559f86ed9b8","affectsGlobalScope":true},{"version":"a05feefa8c48750d2bbf1eafb7259a1970fb6b58c468cf36adf66ca37385f750","signature":"12c88d6421521d8a083fbf31ebc1e3927dfc991ab22e68a9b0f237b6cc416a76"},{"version":"ee0cd52125f0a6012ad0f39327bf21ee6d8cf9f82036677b7b984b5866ee2156","signature":"c071991397ba57b75b07574dd2d11efe990aea9c59136423d149ce6c3f301eea","affectsGlobalScope":true},{"version":"725586b511f51bca1589b2476a469a9335db4cb1fe1b8fd0e94c189d7335fa98","signature":"edac49118a9eb46d842c8d24a567e31f0290ecdf8d44a5fc78da3112c2fdda54"},{"version":"c1bfa934a0edef8d1e8a7360d4c67d3e3df4f3c45867ea6f8925c6ffbc907b79","signature":"a94e72e6c01437b8fa4f74fe9f192a8cc62b76e4c67730ca240f8db734f7c75e"},{"version":"c8f28aeb6a262efc544fd09ee8d16da12884d06b8c7168fa331deff3df5a182e","signature":"ab8b3b5fdcd840447d69c2dd1b62b0104e7f4a6242e8af92d26433fa3dd9ff39"},{"version":"844f2848bfe787dc98769ea4edc2e30371a5bfb15ef9f3e6afd625e76f6dc5c8","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","affectsGlobalScope":true},{"version":"1c18d5790d0f5e15e84827cbf08982aef0339fb034b7971cff0535fc20a77879","signature":"68724f2c23cf02888072a2830ca5b336b6af536abce6094d3392e884c9293e52"},"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true}],"root":[[72,74],[172,179]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":2,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noImplicitUseStrict":false,"noStrictGenericChecks":false,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./typescript","rootDir":"../src","skipLibCheck":true,"strict":true,"target":99,"verbatimModuleSyntax":true},"fileIdsList":[[182],[99],[84,171],[184,187],[81,82,83],[180,186],[184],[181,185],[183],[107,108],[84,88,94,95,98,101,103,104,107],[105],[114],[76,84,87],[84,85,87,88,92,106,107],[84,107,135,136],[84,85,87,88,92,107],[76,121],[84,85,92,106,107,123],[84,86,88,91,92,95,106,107],[84,85,87,92,107],[84,85,87,92],[84,85,86,88,90,92,93,106,107],[84,107],[84,106,107],[76,84,85,87,88,91,92,106,107,123],[84,86,88],[84,95,106,107,133],[84,85,90,107,133,135],[84,95,133],[84,85,86,88,90,91,106,107,123],[88],[84,86,88,89,90,91,106,107],[76],[113],[84,85,86,87,88,91,96,97,106,107],[88,89],[84,94,95,100,106,107],[84,94,100,102,106,107],[84,88,92],[84,106,149],[84],[87],[84,87],[107],[106],[96,105,107],[84,85,87,88,91,106,107],[159],[121],[75,76,77,78,79,80,86,87,88,89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[76,171],[78],[171],[73],[73,175],[72,73,175,176],[174],[73,74],[171,172,173]],"referencedMap":[[183,1],[100,2],[99,3],[188,4],[84,5],[187,6],[185,7],[186,8],[184,9],[109,10],[105,11],[112,12],[115,13],[117,14],[118,15],[137,16],[120,17],[122,18],[124,19],[125,20],[126,21],[93,21],[127,22],[94,23],[128,24],[129,15],[130,25],[131,26],[90,27],[134,28],[136,29],[135,30],[133,31],[95,22],[91,32],[92,33],[121,34],[113,34],[114,35],[98,36],[140,34],[141,37],[143,18],[101,38],[103,39],[145,40],[150,41],[102,42],[154,43],[152,42],[153,44],[156,45],[158,45],[157,45],[108,45],[107,46],[106,47],[104,48],[160,49],[88,44],[161,13],[162,13],[163,50],[164,34],[168,42],[171,51],[77,52],[78,53],[170,54],[89,32],[87,42],[74,55],[176,56],[177,57],[172,54],[175,58],[173,59],[174,60],[179,54]],"latestChangedDtsFile":"./typescript/turbomodule/NativeNitroModules.web.d.ts"},"version":"5.5.4"}
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/anymap.ts","../src/hybridobject.ts","../src/boxedhybridobject.ts","../../../node_modules/react-native/types/modules/batchedbridge.d.ts","../../../node_modules/react-native/libraries/vendor/emitter/eventemitter.d.ts","../../../node_modules/react-native/types/modules/codegen.d.ts","../../../node_modules/react-native/types/modules/devtools.d.ts","../../../node_modules/react-native/types/modules/globals.d.ts","../../../node_modules/react-native/types/modules/launchscreen.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/react-native/types/private/utilities.d.ts","../../../node_modules/react-native/types/public/insets.d.ts","../../../node_modules/react-native/types/public/reactnativetypes.d.ts","../../../node_modules/react-native/libraries/types/coreeventtypes.d.ts","../../../node_modules/react-native/types/public/reactnativerenderer.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchable.d.ts","../../../node_modules/react-native/libraries/components/view/viewaccessibility.d.ts","../../../node_modules/react-native/libraries/components/view/viewproptypes.d.ts","../../../node_modules/react-native/libraries/components/refreshcontrol/refreshcontrol.d.ts","../../../node_modules/react-native/libraries/components/scrollview/scrollview.d.ts","../../../node_modules/react-native/libraries/components/view/view.d.ts","../../../node_modules/react-native/libraries/image/imageresizemode.d.ts","../../../node_modules/react-native/libraries/image/imagesource.d.ts","../../../node_modules/react-native/libraries/image/image.d.ts","../../../node_modules/@react-native/virtualized-lists/lists/virtualizedlist.d.ts","../../../node_modules/@react-native/virtualized-lists/index.d.ts","../../../node_modules/react-native/libraries/lists/flatlist.d.ts","../../../node_modules/react-native/libraries/reactnative/rendererproxy.d.ts","../../../node_modules/react-native/libraries/lists/sectionlist.d.ts","../../../node_modules/react-native/libraries/text/text.d.ts","../../../node_modules/react-native/libraries/animated/animated.d.ts","../../../node_modules/react-native/libraries/stylesheet/stylesheettypes.d.ts","../../../node_modules/react-native/libraries/stylesheet/stylesheet.d.ts","../../../node_modules/react-native/libraries/stylesheet/processcolor.d.ts","../../../node_modules/react-native/libraries/actionsheetios/actionsheetios.d.ts","../../../node_modules/react-native/libraries/alert/alert.d.ts","../../../node_modules/react-native/libraries/animated/easing.d.ts","../../../node_modules/react-native/libraries/animated/useanimatedvalue.d.ts","../../../node_modules/react-native/libraries/eventemitter/rctdeviceeventemitter.d.ts","../../../node_modules/react-native/libraries/eventemitter/rctnativeappeventemitter.d.ts","../../../node_modules/react-native/libraries/appstate/appstate.d.ts","../../../node_modules/react-native/libraries/batchedbridge/nativemodules.d.ts","../../../node_modules/react-native/libraries/components/accessibilityinfo/accessibilityinfo.d.ts","../../../node_modules/react-native/libraries/components/activityindicator/activityindicator.d.ts","../../../node_modules/react-native/libraries/components/clipboard/clipboard.d.ts","../../../node_modules/react-native/libraries/components/drawerandroid/drawerlayoutandroid.d.ts","../../../node_modules/react-native/libraries/eventemitter/nativeeventemitter.d.ts","../../../node_modules/react-native/libraries/components/keyboard/keyboard.d.ts","../../../node_modules/react-native/types/private/timermixin.d.ts","../../../node_modules/react-native/libraries/components/keyboard/keyboardavoidingview.d.ts","../../../node_modules/react-native/libraries/components/pressable/pressable.d.ts","../../../node_modules/react-native/libraries/components/progressbarandroid/progressbarandroid.d.ts","../../../node_modules/react-native/libraries/components/safeareaview/safeareaview.d.ts","../../../node_modules/react-native/libraries/components/statusbar/statusbar.d.ts","../../../node_modules/react-native/libraries/components/switch/switch.d.ts","../../../node_modules/react-native/libraries/components/textinput/inputaccessoryview.d.ts","../../../node_modules/react-native/libraries/components/textinput/textinput.d.ts","../../../node_modules/react-native/libraries/components/toastandroid/toastandroid.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchablewithoutfeedback.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchablehighlight.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchableopacity.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchablenativefeedback.d.ts","../../../node_modules/react-native/libraries/components/button.d.ts","../../../node_modules/react-native/libraries/core/registercallablemodule.d.ts","../../../node_modules/react-native/libraries/devtoolssettings/devtoolssettingsmanager.d.ts","../../../node_modules/react-native/libraries/interaction/interactionmanager.d.ts","../../../node_modules/react-native/libraries/interaction/panresponder.d.ts","../../../node_modules/react-native/libraries/layoutanimation/layoutanimation.d.ts","../../../node_modules/react-native/libraries/linking/linking.d.ts","../../../node_modules/react-native/libraries/logbox/logbox.d.ts","../../../node_modules/react-native/libraries/modal/modal.d.ts","../../../node_modules/react-native/libraries/performance/systrace.d.ts","../../../node_modules/react-native/libraries/permissionsandroid/permissionsandroid.d.ts","../../../node_modules/react-native/libraries/pushnotificationios/pushnotificationios.d.ts","../../../node_modules/react-native/libraries/utilities/iperformancelogger.d.ts","../../../node_modules/react-native/libraries/reactnative/appregistry.d.ts","../../../node_modules/react-native/libraries/reactnative/i18nmanager.d.ts","../../../node_modules/react-native/libraries/reactnative/roottag.d.ts","../../../node_modules/react-native/libraries/reactnative/uimanager.d.ts","../../../node_modules/react-native/libraries/reactnative/requirenativecomponent.d.ts","../../../node_modules/react-native/libraries/settings/settings.d.ts","../../../node_modules/react-native/libraries/share/share.d.ts","../../../node_modules/react-native/libraries/stylesheet/platformcolorvaluetypesios.d.ts","../../../node_modules/react-native/libraries/stylesheet/platformcolorvaluetypes.d.ts","../../../node_modules/react-native/libraries/turbomodule/rctexport.d.ts","../../../node_modules/react-native/libraries/turbomodule/turbomoduleregistry.d.ts","../../../node_modules/react-native/libraries/utilities/appearance.d.ts","../../../node_modules/react-native/libraries/utilities/backhandler.d.ts","../../../node_modules/react-native/libraries/utilities/devsettings.d.ts","../../../node_modules/react-native/libraries/utilities/dimensions.d.ts","../../../node_modules/react-native/libraries/utilities/pixelratio.d.ts","../../../node_modules/react-native/libraries/utilities/platform.d.ts","../../../node_modules/react-native/libraries/vibration/vibration.d.ts","../../../node_modules/react-native/libraries/yellowbox/yellowboxdeprecated.d.ts","../../../node_modules/react-native/libraries/vendor/core/errorutils.d.ts","../../../node_modules/react-native/types/public/deprecatedpropertiesalias.d.ts","../../../node_modules/react-native/types/index.d.ts","../src/modulenotfounderror.ts","../src/nitromodulesproxy.ts","../src/turbomodule/nativenitromodules.ts","../src/nitromodules.ts","../src/constructor.ts","../src/index.ts","../src/__tests__/index.test.tsx","../src/turbomodule/nativenitromodules.web.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","17edc026abf73c5c2dd508652d63f68ec4efd9d4856e3469890d27598209feb5",{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"9d540251809289a05349b70ab5f4b7b99f922af66ab3c39ba56a475dcf95d5ff","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"a064b82533d211b1f97d1dc7c82e8d622d82d873a3dbb7e225f6e17814f40003","signature":"5d6084b922921ea84fce8617204272f5fb30ef8bedd91da18102c160fcf591aa"},{"version":"75c983a06ae990d5d05e9e6bcc5b20e52c1008f10a4d18af7561ce33ced01d23","signature":"90538ea42b1b8f3ac4ec7306a0a27ba7afee541df9684991e87202ffc9a6beb7"},{"version":"7cdf8681726690f80e41a5dcae289e664e78e0a0f81682d38b0f86ce9439f2aa","signature":"e5d121b23622c120b8e60e5efccd1436d9212b89f4cb180eb330f7d00cbe0e5d"},{"version":"3a909e8789a4f8b5377ef3fb8dc10d0c0a090c03f2e40aab599534727457475a","affectsGlobalScope":true},"fd412dd6372493eb8e3e95cae8687d35e4d34dde905a33e0ee47b74224cdd6ab","9d3b119c15e8eeb9a8fbeca47e0165ca7120704d90bf123b16ee5b612e2ecc9d","b8dd45aa6e099a5f564edcabfe8114096b096eb1ffaa343dd6f3fe73f1a6e85e",{"version":"38e8ac2d182bd3f85d28de9bdf1386c19a319f9c0280aa43960204c353b07878","affectsGlobalScope":true},"bc4db28f3510994e45bbabba1ee33e9a0d27dab33d4c8a5844cee8c85438a058",{"version":"36a2e4c9a67439aca5f91bb304611d5ae6e20d420503e96c230cf8fcdc948d94","affectsGlobalScope":true},"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","247a952efd811d780e5630f8cfd76f495196f5fa74f6f0fee39ac8ba4a3c9800",{"version":"c469d07daf4f88b613f0c99d95389e049e85c14f28f58120abca6785a0b3813d","affectsGlobalScope":true},"232f660363b3b189f7be7822ed71e907195d1a85bc8d55d2b7ce3f09b2136938","e745388cfad9efb4e5a9a15a2c6b66d54094dd82f8d0c2551064e216f7b51526","53390c21d095fb54e6c0b8351cbf7f4008f096ade9717bc5ee75e340bc3dfa30","71493b2c538dffa1e3e968b55b70984b542cc6e488012850865f72768ff32630","8ebf448e9837fda1a368acbb575b0e28843d5b2a3fda04bce76248b64326ea49","91b9f6241fca7843985aa31157cfa08cc724c77d91145a4d834d27cdde099c05","8b94ac8c460c9a2578ca3308fecfcf034e21af89e9c287c97710e9717ffae133","a7266bcc42f8ec0f31f319c2dd8100411b4d7b8a534235cb00a719f1c8a2a42e","3dfa3a6f2a62259b56fa7bcebfbacf886848dfa037298be5bed07c7a0381ee4f","a1e3cda52746919d2a95784ce0b1b9ffa22052209aab5f54e079e7b920f5339e","1882680f8c88c5648d603408dd1943857ca831a815e33d3126be8368f7a69252","f387a979388291b2688ba0f604e3ae78874f5f777616b448d34109762a4f05a9","cae0fb826d8a88749189b8a924dfcb5d3ad629e3bc5ec934195fbd83fa48b068","376b8482d1224aa83f4521590672304e30ba847d0b87b9e1a62b2e60a5c788f2","488242948cc48ee6413a159c60bcaf70de15db01364741737a962662f1a127a5","42bacb33cddecbcfe3e043ee1117ba848801749e44f947626765b3e0aec74b1c","b326790c20287ad266b5fcd0c388e2a83320a24747856727dcb70c7bbd489dfc","cd2156bc8e4d54d52a2817d1b6f4629a5dd3173b1d8bb0fc893ee678d6a78ecd","60526d9010e8ccb2a76a59821061463464c3acd5bc7a50320df6d2e4e0d6e4f7","562cce1c8e14e8d5a55d1931cb1848b1df49cc7b1024356d56f3550ed57ad67f","623fa4efc706bb9956d0ae94b13321c6617655bf8ebdb270c9792bb398f82e44","f20c96192f5841cbf982d2c1989c1e9fdef41c4a9db7543edff131007bf1dbfb","79d6871ce0da76f4c865a58daa509d5c8a10545d510b804501daa5d0626e7028","9054417b5760061bc5fe31f9eee5dc9bf018339b0617d3c65dd1673c8e3c0f25","442856ad0787bc213f659e134c204ad0d502179aa216bf700faefb5572208358","443702ca8101ef0adc827c2cc530ca93cf98d41e36ce4399efb9bc833ad9cb62","c94f70562ae60797cce564c3bebbaaf1752c327d5063d6ac152aa5ca1616c267","2aeb5fcdfc884b16015617d263fd8d1a8513f7efe23880be4e5f0bdb3794b37c","b561170fbe8d4292425e1dfa52406c8d97575681f7a5e420d11d9f72f7c29e38","5fe94f3f6411a0f6293f16fdc8e02ee61138941847ce91d6f6800c97fac22fcd","7f7c0ecc3eeeef905a3678e540947f4fbbc1a9c76075419dcc5fbfc3df59cb0b","df3303018d45c92be73fb4a282d5a242579f96235f5e0f8981983102caf5feca","35db266b474b3b9dfd0bc7d25dff3926cc227de45394262f3783b8b174182a16","8205e62a7310ac0513747f6d84175400680cff372559bc5fbe2df707194a295d","084d0df6805570b6dc6c8b49c3a71d5bdfe59606901e0026c63945b68d4b080a","8387fa3287992c71702756fe6ecea68e2f8f2c5aa434493e3afe4817dd4a4787","0f066f9654e700a9cf79c75553c934eb14296aa80583bd2b5d07e2d582a3f4ee","269c5d54104033b70331343bd931c9933852a882391ed6bd98c3d8b7d6465d22","a56b8577aaf471d9e60582065a8193269310e8cae48c1ce4111ed03216f5f715","486ae83cd51b813095f6716f06cc9b2cf480ad1d6c7f8ec59674d6c858cd2407","fff527e2567a24dd634a30268f1aa8a220315fed9c513d70ee872e54f67f27f3","5dd0ff735b3f2e642c3f16bcfb3dc4ecebb679a70e43cfb19ab5fd84d8faaeed","d1d78d1ef0f21ac77cdc436d2a4d56592453a8a2e51af2040ec9a69a5d35e4de","bc55b91274e43f88030c9cfe2c4217fae57894c3c302173ab6e9743c29484e3d","8bb22f70bfd7bf186631fa565c9202ee6a1009ffb961197b7d092b5a1e1d56b1","77282216c61bcef9a700db98e142301d5a7d988d3076286029da63e415e98a42","6c28f4f95aaa6c3c8b1a0681c29f446b0bf0ed1aa5aa11e8b2ca6fc9e066e9f2","64ce8e260a1362d4cadd6c753581a912a9869d4a53ec6e733dc61018f9250f5d","85a915dbb768b89cb92f5e6c165d776bfebd065883c34fee4e0219c3ed321b47","83df2f39cb14971adea51d1c84e7d146a34e9b7f84ad118450a51bdc3138412c","b96364fcb0c9d521e7618346b00acf3fe16ccf9368404ceac1658edee7b6332c","bdb2b70c74908c92ec41d8dd8375a195cb3bb07523e4de642b2b2dfbde249ca6","7b329f4137a552073f504022acbf8cd90d49cc5e5529791bef508f76ff774854","f63bbbffcfc897d22f34cf19ae13405cd267b1783cd21ec47d8a2d02947c98c1","7889f4932dfa7b1126cdc17914d85d80b5860cc3d62ba329494007e8aab45430","d9725ef7f60a791668f7fb808eb90b1789feaaef989a686fefc0f7546a51dcdc","df55b9be6ba19a6f77487e09dc7a94d7c9bf66094d35ea168dbd4bac42c46b8f","595125f3e088b883d104622ef10e6b7d5875ff6976bbe4d7dca090a3e2dca513","8ebb6f0603bf481e893311c49e4d2e2061413c51b9ba5898cd9b0a01f5ef19c8","e0d7eed4ba363df3faadb8e617f95f9fc8adfbb00b87db7ade4a1098d6cf1e90","38faab59a79924ce5eb4f2f3e7e7db91e74d425b4183f908cc014be213f0d971","de115595321ce012c456f512a799679bfc874f0ac0a4928a8429557bb25086aa","cdca67bd898deff48e3acb05fb44500b5ebce16c26a8ec99dee1522cf9879795","0524cab11ba9048d151d93cc666d3908fda329eec6b1642e9a936093e6d79f28","869073d7523e75f45bd65b2072865c60002d5e0cbd3d17831e999cf011312778","bc7b5906a6ce6c5744a640c314e020856be6c50a693e77dc12aff2d77b12ca76","56503e377bc1344f155e4e3115a772cb4e59350c0b8131e3e1fb2750ac491608","6b579287217ee1320ee1c6cfec5f6730f3a1f91daab000f7131558ee531b2bf8","e2ddb2877f5a841866f4fc772a601b58e90ac8399b35f9a06535be81b8e08b47","a793636667598e739a52684033037a67dc2d9db37fab727623626ef19aa5abb9","b15d6238a86bc0fc2368da429249b96c260debc0cec3eb7b5f838ad32587c129","9a9fba3a20769b0a74923e7032997451b61c1bd371c519429b29019399040d74","4b10e2fe52cb61035e58df3f1fdd926dd0fe9cf1a2302f92916da324332fb4e0","d1092ae8d6017f359f4758115f588e089848cc8fb359f7ba045b1a1cf3668a49","ddae9195b0da7b25a585ef43365f4dc5204a746b155fbee71e6ee1a9193fb69f","32dbced998ce74c5e76ce87044d0b4071857576dde36b0c6ed1d5957ce9cf5b5","5bc29a9918feba88816b71e32960cf11243b77b76630e9e87cad961e5e1d31d0","341ffa358628577f490f128f3880c01d50ef31412d1be012bb1cd959b0a383ea","ecc1b8878c8033bde0204b85e26fe1af6847805427759e5723882c848a11e134","cfc9c32553ad3b5be38342bc8731397438a93531118e1a226a8c79ad255b4f0c","16e5b5b023c2a1119c1878a51714861c56255778de0a7fe378391876a15f7433","52e8612d284467b4417143ca8fe54d30145fdfc3815f5b5ea9b14b677f422be5","a090a8a3b0ef2cceeb089acf4df95df72e7d934215896afe264ff6f734d66d15","a0259c6054e3ed2c5fb705b6638e384446cbcdf7fd2072c659b43bd56e214b9a","005319c82222e57934c7b211013eb6931829e46b2a61c5d9a1c3c25f8dc3ea90","151f422f08c8ca67b77c5c39d49278b4df452ef409237c8219be109ae3cdae9d",{"version":"6466cbb0aa561e1c1a87850a1f066692f1692a0a9513c508a3886cd66a62dae8","affectsGlobalScope":true},{"version":"445f7bb9b132395763d2fd00e88167a7b7d5c514728cfe462c17d044fe9f27d2","signature":"5423eff0aeb3d2eba041721efabde15d1c06709724dea6ae79b48559f86ed9b8","affectsGlobalScope":true},{"version":"a05feefa8c48750d2bbf1eafb7259a1970fb6b58c468cf36adf66ca37385f750","signature":"12c88d6421521d8a083fbf31ebc1e3927dfc991ab22e68a9b0f237b6cc416a76"},{"version":"ee0cd52125f0a6012ad0f39327bf21ee6d8cf9f82036677b7b984b5866ee2156","signature":"c071991397ba57b75b07574dd2d11efe990aea9c59136423d149ce6c3f301eea","affectsGlobalScope":true},{"version":"725586b511f51bca1589b2476a469a9335db4cb1fe1b8fd0e94c189d7335fa98","signature":"edac49118a9eb46d842c8d24a567e31f0290ecdf8d44a5fc78da3112c2fdda54"},{"version":"c1a0e5e95335f3543144ae3343f67669817f88865ecddce2927152b5e0382d96","signature":"ae6311df7457b1396ee9675a75181a275b0d548a92d551642c851380e63221c6"},{"version":"c8f28aeb6a262efc544fd09ee8d16da12884d06b8c7168fa331deff3df5a182e","signature":"ab8b3b5fdcd840447d69c2dd1b62b0104e7f4a6242e8af92d26433fa3dd9ff39"},{"version":"844f2848bfe787dc98769ea4edc2e30371a5bfb15ef9f3e6afd625e76f6dc5c8","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","affectsGlobalScope":true},{"version":"1c18d5790d0f5e15e84827cbf08982aef0339fb034b7971cff0535fc20a77879","signature":"68724f2c23cf02888072a2830ca5b336b6af536abce6094d3392e884c9293e52"},"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true}],"root":[[72,74],[172,179]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":2,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noImplicitUseStrict":false,"noStrictGenericChecks":false,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./typescript","rootDir":"../src","skipLibCheck":true,"strict":true,"target":99,"verbatimModuleSyntax":true},"fileIdsList":[[182],[99],[84,171],[184,187],[81,82,83],[180,186],[184],[181,185],[183],[107,108],[84,88,94,95,98,101,103,104,107],[105],[114],[76,84,87],[84,85,87,88,92,106,107],[84,107,135,136],[84,85,87,88,92,107],[76,121],[84,85,92,106,107,123],[84,86,88,91,92,95,106,107],[84,85,87,92,107],[84,85,87,92],[84,85,86,88,90,92,93,106,107],[84,107],[84,106,107],[76,84,85,87,88,91,92,106,107,123],[84,86,88],[84,95,106,107,133],[84,85,90,107,133,135],[84,95,133],[84,85,86,88,90,91,106,107,123],[88],[84,86,88,89,90,91,106,107],[76],[113],[84,85,86,87,88,91,96,97,106,107],[88,89],[84,94,95,100,106,107],[84,94,100,102,106,107],[84,88,92],[84,106,149],[84],[87],[84,87],[107],[106],[96,105,107],[84,85,87,88,91,106,107],[159],[121],[75,76,77,78,79,80,86,87,88,89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],[76,171],[78],[171],[73],[73,175],[72,73,175,176],[174],[73,74],[171,172,173]],"referencedMap":[[183,1],[100,2],[99,3],[188,4],[84,5],[187,6],[185,7],[186,8],[184,9],[109,10],[105,11],[112,12],[115,13],[117,14],[118,15],[137,16],[120,17],[122,18],[124,19],[125,20],[126,21],[93,21],[127,22],[94,23],[128,24],[129,15],[130,25],[131,26],[90,27],[134,28],[136,29],[135,30],[133,31],[95,22],[91,32],[92,33],[121,34],[113,34],[114,35],[98,36],[140,34],[141,37],[143,18],[101,38],[103,39],[145,40],[150,41],[102,42],[154,43],[152,42],[153,44],[156,45],[158,45],[157,45],[108,45],[107,46],[106,47],[104,48],[160,49],[88,44],[161,13],[162,13],[163,50],[164,34],[168,42],[171,51],[77,52],[78,53],[170,54],[89,32],[87,42],[74,55],[176,56],[177,57],[172,54],[175,58],[173,59],[174,60],[179,54]],"latestChangedDtsFile":"./typescript/turbomodule/NativeNitroModules.web.d.ts"},"version":"5.5.4"}
|
|
@@ -2,7 +2,7 @@ import type { HybridObject } from './HybridObject';
|
|
|
2
2
|
/**
|
|
3
3
|
* Get a constructor function for the given `HybridObject` {@linkcode T}.
|
|
4
4
|
* @param name The name of the `HybridObject` under which it was registered at.
|
|
5
|
-
* @returns
|
|
5
|
+
* @returns A constructor that creates instances of {@linkcode T}
|
|
6
6
|
* @example
|
|
7
7
|
* ```ts
|
|
8
8
|
* export const HybridImage = getHybridObjectConstructor<Image>('Image')
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-modules",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "Insanely fast native C++, Swift or Kotlin modules with a statically compiled binding layer to JSI.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
package/src/Constructor.ts
CHANGED
|
@@ -6,7 +6,7 @@ const cache = new Map<string, Function>()
|
|
|
6
6
|
/**
|
|
7
7
|
* Get a constructor function for the given `HybridObject` {@linkcode T}.
|
|
8
8
|
* @param name The name of the `HybridObject` under which it was registered at.
|
|
9
|
-
* @returns
|
|
9
|
+
* @returns A constructor that creates instances of {@linkcode T}
|
|
10
10
|
* @example
|
|
11
11
|
* ```ts
|
|
12
12
|
* export const HybridImage = getHybridObjectConstructor<Image>('Image')
|