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.
@@ -47,6 +47,7 @@ Pod::Spec.new do |s|
47
47
  "ios/core/ArrayBufferHolder.hpp",
48
48
  "ios/core/AnyMapHolder.hpp",
49
49
  "ios/core/HybridContext.hpp",
50
+ "ios/core/PromiseHolder.hpp",
50
51
  "ios/utils/Result.hpp",
51
52
  "ios/utils/RuntimeError.hpp",
52
53
  "ios/utils/SwiftClosure.hpp",
@@ -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([=](const auto& result) { sharedCallback->onResolved(result); });
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([=](const auto& error) { sharedCallback->onRejected(error); });
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(hybridObjectName, [=]() -> std::shared_ptr<HybridObject> {
19
- // 1. Call the Java initializer function
20
- jni::local_ref<JHybridObject::javaobject> hybridObject = sharedInitializer->call();
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
- if (hybridObject == nullptr) [[unlikely]] {
23
- throw std::runtime_error("Failed to create HybridObject \"" + hybridObjectName + "\" - the constructor returned null!");
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
- // 2. Make the resulting HybridObject a global (shared) reference
28
- jni::global_ref<JHybridObject::javaobject> globalHybridObject = jni::make_global(hybridObject);
29
- // 3. Create a shared_ptr from the JNI global reference
30
- std::shared_ptr<JHybridObject> sharedCppPart = JNISharedPtr::make_shared_from_jni<JHybridObject>(globalHybridObject);
31
- // 4. Up-cast to a HybridObject (kinda unsafe)
32
- std::shared_ptr<HybridObject> cast = std::static_pointer_cast<HybridObject>(sharedCppPart);
33
- return cast;
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() {
@@ -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
@@ -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(*_mutex);
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(*_mutex);
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(*_mutex);
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(*_mutex);
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(*_mutex);
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
- std::unique_lock lock(*_mutex);
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(*_mutex);
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(*_mutex);
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::unique_ptr<std::mutex> _mutex;
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(*_mutex);
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(*_mutex);
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(*_mutex);
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(*_mutex);
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(*_mutex);
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(*_mutex);
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::unique_ptr<std::mutex> _mutex;
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
- [&runtime, sharedFunction, ... args = std::move(args)]() { callJSFunction(runtime, sharedFunction, args...); });
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, const std::function<ReturnType(Args...)>& function) {
69
- jsi::HostFunctionType jsFunction = [function](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* args,
70
- size_t count) -> jsi::Value {
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), jsFunction);
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.19.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 */
@@ -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>>)", "std::string");
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>");
@@ -8,9 +8,9 @@
8
8
  #pragma once
9
9
 
10
10
  #include "ArrayBuffer.hpp"
11
+ #include "NitroDefines.hpp"
11
12
  #include "SwiftClosure.hpp"
12
13
  #include <memory>
13
- #include <swift/bridging>
14
14
 
15
15
  namespace margelo::nitro {
16
16
 
@@ -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)
@@ -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
- let call: @convention(c) (UnsafeMutableRawPointer?) -> Void = { context in
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!).takeUnretainedValue()
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
- let destroy: @convention(c) (UnsafeMutableRawPointer?) -> Void = { context in
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 An instance of {@linkcode T}
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 An instance of {@linkcode T}
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 An instance of {@linkcode T}
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.19.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",
@@ -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 An instance of {@linkcode T}
9
+ * @returns A constructor that creates instances of {@linkcode T}
10
10
  * @example
11
11
  * ```ts
12
12
  * export const HybridImage = getHybridObjectConstructor<Image>('Image')