react-native-nitro-modules 0.22.1 → 0.23.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.
@@ -7,7 +7,7 @@ buildscript {
7
7
  }
8
8
 
9
9
  dependencies {
10
- classpath "com.android.tools.build:gradle:8.8.0"
10
+ classpath "com.android.tools.build:gradle:8.8.1"
11
11
  }
12
12
  }
13
13
 
@@ -1,5 +1,5 @@
1
1
  Nitro_kotlinVersion=2.0.21
2
2
  Nitro_minSdkVersion=23
3
- Nitro_targetSdkVersion=34
3
+ Nitro_targetSdkVersion=35
4
4
  Nitro_compileSdkVersion=34
5
5
  Nitro_ndkVersion=27.1.12297006
@@ -20,4 +20,15 @@ abstract class HybridView: HybridObject() {
20
20
  @get:DoNotStrip
21
21
  @get:Keep
22
22
  abstract val view: View
23
+
24
+ /**
25
+ * Called right before updating props.
26
+ * React props are updated in a single batch/transaction.
27
+ */
28
+ open fun beforeUpdate() { /* noop */ }
29
+ /**
30
+ * Called right after updating props.
31
+ * React props are updated in a single batch/transaction.
32
+ */
33
+ open fun afterUpdate() { /* noop */ }
23
34
  }
@@ -109,12 +109,15 @@ public:
109
109
  std::string message = exception.what();
110
110
  throw jsi::JSError(runtime, funcName + ": " + message);
111
111
  #ifdef ANDROID
112
+ #pragma clang diagnostic push
113
+ #pragma clang diagnostic ignored "-Wexceptions"
112
114
  // Workaround for https://github.com/mrousavy/nitro/issues/382
113
115
  } catch (const std::runtime_error& exception) {
114
116
  // Some exception was thrown - add method name information and re-throw as `JSError`.
115
117
  std::string funcName = getHybridFuncFullName<THybrid>(kind, name, hybridInstance.get());
116
118
  std::string message = exception.what();
117
119
  throw jsi::JSError(runtime, funcName + ": " + message);
120
+ #pragma clang diagnostic pop
118
121
  #endif
119
122
  } catch (...) {
120
123
  // Some unknown exception was thrown - add method name information and re-throw as `JSError`.
@@ -30,7 +30,7 @@ public:
30
30
  Promise(const Promise&) = delete;
31
31
 
32
32
  private:
33
- Promise() {}
33
+ Promise() = default;
34
34
 
35
35
  public:
36
36
  ~Promise() {
@@ -264,13 +264,13 @@ public:
264
264
  Promise(const Promise&) = delete;
265
265
 
266
266
  private:
267
- Promise() {}
267
+ Promise() = default;
268
268
 
269
269
  public:
270
270
  ~Promise() {
271
271
  if (isPending()) [[unlikely]] {
272
272
  std::runtime_error error("Timeouted: Promise<void> was destroyed!");
273
- reject(std::make_exception_ptr(std::move(error)));
273
+ reject(std::make_exception_ptr(error));
274
274
  }
275
275
  }
276
276
 
@@ -32,6 +32,9 @@ std::vector<std::string> HybridObjectRegistry::getAllHybridObjectNames() {
32
32
 
33
33
  std::string HybridObjectRegistry::getAllRegisteredHybridObjectNamesToString() {
34
34
  std::vector<std::string> names = getAllHybridObjectNames();
35
+ if (names.empty()) {
36
+ return "";
37
+ }
35
38
  return std::accumulate(std::next(names.begin()), names.end(), names[0], [](std::string a, std::string b) { return a + ", " + b; });
36
39
  }
37
40
 
@@ -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.22.1"
12
+ #define NITRO_VERSION "0.23.0"
13
13
 
14
14
  // Sets whether to use debug or optimized production build flags
15
15
  #ifdef DEBUG
@@ -52,11 +52,4 @@
52
52
  #define SWIFT_NONCOPYABLE
53
53
  #endif
54
54
 
55
- // React Native Support (right now it's only stubbed out)
56
- #ifndef REACT_NATIVE_VERSION_MINOR
57
- #define REACT_NATIVE_VERSION_MAJOR 0
58
- #define REACT_NATIVE_VERSION_MINOR 0
59
- #define REACT_NATIVE_VERSION_PATCH 0
60
- #endif
61
-
62
55
  #endif /* NitroDefines_h */
@@ -58,4 +58,15 @@ Object.keys(_HybridView).forEach(function (key) {
58
58
  }
59
59
  });
60
60
  });
61
+ var _getHostComponent = require("./views/getHostComponent");
62
+ Object.keys(_getHostComponent).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _getHostComponent[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _getHostComponent[key];
69
+ }
70
+ });
71
+ });
61
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_HybridObject","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_NitroModules","_AnyMap","_Constructor","_HybridView"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,OAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,OAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,OAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,OAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,YAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,YAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,YAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,YAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,WAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,WAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,WAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,WAAA,CAAAR,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_HybridObject","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_NitroModules","_AnyMap","_Constructor","_HybridView","_getHostComponent"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,OAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,OAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,OAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,OAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,YAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,YAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,YAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,YAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAQ,WAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,WAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,WAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,WAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,iBAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,iBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,iBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,iBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -3,15 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _getHostComponent = require("./getHostComponent");
7
- Object.keys(_getHostComponent).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _getHostComponent[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _getHostComponent[key];
14
- }
15
- });
16
- });
17
6
  //# sourceMappingURL=HybridView.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_getHostComponent","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sourceRoot":"../../../src","sources":["views/HybridView.ts"],"mappings":";;;;;AAoCA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["views/HybridView.ts"],"mappings":"","ignoreList":[]}
@@ -11,7 +11,26 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
11
11
  // @ts-expect-error this unfortunately isn't typed or default-exported.
12
12
 
13
13
  /**
14
- * Finds and returns a native view (aka {@linkcode HostComponent}) via the given {@linkcode name}.
14
+ * Represents all default props a Nitro HybridView has.
15
+ */
16
+
17
+ // Due to a React limitation, functions cannot be passed to native directly
18
+ // because RN converts them to booleans (`true`). Nitro knows this and just
19
+ // wraps functions as objects - the original function is stored in `f`.
20
+
21
+ /**
22
+ * Represents a React Native view, implemented as a Nitro View, with the given props and methods.
23
+ *
24
+ * @note Every React Native view has a {@linkcode DefaultHybridViewProps.hybridRef hybridRef} which can be used to gain access
25
+ * to the underlying Nitro {@linkcode HybridView}.
26
+ * @note Every function/callback is wrapped as a `{ f: … }` object.
27
+ * @note Every method can be called on the Ref. Including setting properties directly.
28
+ */
29
+
30
+ /**
31
+ * Finds and returns a native view (aka "HostComponent") via the given {@linkcode name}.
32
+ *
33
+ * The view is bridged to a native Hybrid Object using Nitro Views.
15
34
  */
16
35
  function getHostComponent(name, getViewConfig) {
17
36
  if (NativeComponentRegistry == null) {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","NativeComponentRegistry","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getHostComponent","name","getViewConfig","Error","Platform","OS"],"sourceRoot":"../../../src","sources":["views/getHostComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,uBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAyG,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAF,wBAAAE,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AADzG;;AAWA;AACA;AACA;AACO,SAASW,gBAAgBA,CAC9BC,IAAY,EACZC,aAAsC,EAChB;EACtB,IAAIxB,uBAAuB,IAAI,IAAI,EAAE;IACnC,MAAM,IAAIyB,KAAK,CACb,+CAA+CC,qBAAQ,CAACC,EAAE,GAC5D,CAAC;EACH;EACA,OAAO3B,uBAAuB,CAACU,GAAG,CAAQa,IAAI,EAAEC,aAAa,CAAC;AAChE","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","NativeComponentRegistry","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getHostComponent","name","getViewConfig","Error","Platform","OS"],"sourceRoot":"../../../src","sources":["views/getHostComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,uBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAyG,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAF,wBAAAE,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AADzG;;AAgBA;AACA;AACA;;AAsBA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACO,SAASW,gBAAgBA,CAI9BC,IAAY,EACZC,aAAsC,EACL;EACjC,IAAIxB,uBAAuB,IAAI,IAAI,EAAE;IACnC,MAAM,IAAIyB,KAAK,CACb,+CAA+CC,qBAAQ,CAACC,EAAE,GAC5D,CAAC;EACH;EACA,OAAO3B,uBAAuB,CAACU,GAAG,CAACa,IAAI,EAAEC,aAAa,CAAC;AACzD","ignoreList":[]}
@@ -5,4 +5,5 @@ export * from './NitroModules';
5
5
  export * from './AnyMap';
6
6
  export * from './Constructor';
7
7
  export * from './views/HybridView';
8
+ export * from './views/getHostComponent';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,eAAe;AAE7B,cAAc,oBAAoB;AAClC,cAAc,0BAA0B","ignoreList":[]}
@@ -1,30 +1,4 @@
1
1
  "use strict";
2
2
 
3
- /**
4
- * Describes the languages this view will be implemented in.
5
- */
6
-
7
- /**
8
- * Represents a Nitro `HybridView` which is implemented in a native language
9
- * like Swift or Kotlin.
10
- *
11
- * `HybridViews`s use the Nitro Tunnel for efficient, low-overhead JS <-> Native communication.
12
- *
13
- * All `HybridViews`s have a C++ Fabric View base with a backing Shadow Node.
14
- *
15
- * - TypeScript Properties (`name: Type`) will be React Props
16
- * - TypeScript Methods (`name(): Type`) will be Ref Methods
17
- *
18
- * @example
19
- * ```tsx
20
- * export interface Camera extends HybridView {
21
- * zoom: number
22
- * flash: boolean
23
- * takePhoto(): Image
24
- * }
25
- * ```
26
- */
27
-
28
- export * from './getHostComponent';
29
3
  export {};
30
4
  //# sourceMappingURL=HybridView.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["views/HybridView.ts"],"mappings":";;AAEA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,cAAc,oBAAoB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["views/HybridView.ts"],"mappings":"","ignoreList":[]}
@@ -3,8 +3,28 @@
3
3
  import { Platform } from 'react-native';
4
4
  // @ts-expect-error this unfortunately isn't typed or default-exported.
5
5
  import * as NativeComponentRegistry from 'react-native/Libraries/NativeComponent/NativeComponentRegistry';
6
+
7
+ /**
8
+ * Represents all default props a Nitro HybridView has.
9
+ */
10
+
11
+ // Due to a React limitation, functions cannot be passed to native directly
12
+ // because RN converts them to booleans (`true`). Nitro knows this and just
13
+ // wraps functions as objects - the original function is stored in `f`.
14
+
15
+ /**
16
+ * Represents a React Native view, implemented as a Nitro View, with the given props and methods.
17
+ *
18
+ * @note Every React Native view has a {@linkcode DefaultHybridViewProps.hybridRef hybridRef} which can be used to gain access
19
+ * to the underlying Nitro {@linkcode HybridView}.
20
+ * @note Every function/callback is wrapped as a `{ f: … }` object.
21
+ * @note Every method can be called on the Ref. Including setting properties directly.
22
+ */
23
+
6
24
  /**
7
- * Finds and returns a native view (aka {@linkcode HostComponent}) via the given {@linkcode name}.
25
+ * Finds and returns a native view (aka "HostComponent") via the given {@linkcode name}.
26
+ *
27
+ * The view is bridged to a native Hybrid Object using Nitro Views.
8
28
  */
9
29
  export function getHostComponent(name, getViewConfig) {
10
30
  if (NativeComponentRegistry == null) {
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","NativeComponentRegistry","getHostComponent","name","getViewConfig","Error","OS","get"],"sourceRoot":"../../../src","sources":["views/getHostComponent.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAA4B,cAAc;AAC3D;AACA,OAAO,KAAKC,uBAAuB,MAAM,gEAAgE;AAUzG;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BC,IAAY,EACZC,aAAsC,EAChB;EACtB,IAAIH,uBAAuB,IAAI,IAAI,EAAE;IACnC,MAAM,IAAII,KAAK,CACb,+CAA+CL,QAAQ,CAACM,EAAE,GAC5D,CAAC;EACH;EACA,OAAOL,uBAAuB,CAACM,GAAG,CAAQJ,IAAI,EAAEC,aAAa,CAAC;AAChE","ignoreList":[]}
1
+ {"version":3,"names":["Platform","NativeComponentRegistry","getHostComponent","name","getViewConfig","Error","OS","get"],"sourceRoot":"../../../src","sources":["views/getHostComponent.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAA4C,cAAc;AAC3E;AACA,OAAO,KAAKC,uBAAuB,MAAM,gEAAgE;;AAezG;AACA;AACA;;AAsBA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAI9BC,IAAY,EACZC,aAAsC,EACL;EACjC,IAAIH,uBAAuB,IAAI,IAAI,EAAE;IACnC,MAAM,IAAII,KAAK,CACb,+CAA+CL,QAAQ,CAACM,EAAE,GAC5D,CAAC;EACH;EACA,OAAOL,uBAAuB,CAACM,GAAG,CAACJ,IAAI,EAAEC,aAAa,CAAC;AACzD","ignoreList":[]}
@@ -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/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/src/private/devmenu/devmenu.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/views/gethostcomponent.ts","../src/views/hybridview.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","c154b73e4fb432f6bc34d1237e98a463615ae1c721e4b0ae5b3bcb5047d113a3","6a408ed36eee4e21dd4c2096cc6bc72d29283ee1a3e985e9f42ecd4d1a30613b","8ebf448e9837fda1a368acbb575b0e28843d5b2a3fda04bce76248b64326ea49","91b9f6241fca7843985aa31157cfa08cc724c77d91145a4d834d27cdde099c05","8b94ac8c460c9a2578ca3308fecfcf034e21af89e9c287c97710e9717ffae133","237b7e3abf7031f573d2303cd28e71369de5c41d9b268555f4545bc908ed76cb","3dfa3a6f2a62259b56fa7bcebfbacf886848dfa037298be5bed07c7a0381ee4f","a1e3cda52746919d2a95784ce0b1b9ffa22052209aab5f54e079e7b920f5339e","1882680f8c88c5648d603408dd1943857ca831a815e33d3126be8368f7a69252","e7d56fa3c64c44b29fa11d840b1fe04f6d782fc2e341a1f01b987f5e59f34266","6f7da03b2573c9f6f47c45fa7ae877b9493e59afdc5e5bc0948f7008c1eb5601","cbfbec26cc73a7e9359defb962c35b64922ca1549b6aa7c022a1d70b585c1184","488242948cc48ee6413a159c60bcaf70de15db01364741737a962662f1a127a5","42bacb33cddecbcfe3e043ee1117ba848801749e44f947626765b3e0aec74b1c","03cee9ed40eb490d50ebe7b999f1177d320f3ff30dadd0b3b138d18682335a7a","cd2156bc8e4d54d52a2817d1b6f4629a5dd3173b1d8bb0fc893ee678d6a78ecd","60526d9010e8ccb2a76a59821061463464c3acd5bc7a50320df6d2e4e0d6e4f7","562cce1c8e14e8d5a55d1931cb1848b1df49cc7b1024356d56f3550ed57ad67f","623fa4efc706bb9956d0ae94b13321c6617655bf8ebdb270c9792bb398f82e44","c4f6cc26bf998cec21820844d187217aadc875a879760828d9111180e122320d","79d6871ce0da76f4c865a58daa509d5c8a10545d510b804501daa5d0626e7028","9054417b5760061bc5fe31f9eee5dc9bf018339b0617d3c65dd1673c8e3c0f25","c6b68cd2e7838e91e05ede0a686815f521024281768f338644f6c0e0ad8e63cd","443702ca8101ef0adc827c2cc530ca93cf98d41e36ce4399efb9bc833ad9cb62","c94f70562ae60797cce564c3bebbaaf1752c327d5063d6ac152aa5ca1616c267","2aeb5fcdfc884b16015617d263fd8d1a8513f7efe23880be4e5f0bdb3794b37c","b561170fbe8d4292425e1dfa52406c8d97575681f7a5e420d11d9f72f7c29e38","5fe94f3f6411a0f6293f16fdc8e02ee61138941847ce91d6f6800c97fac22fcd","7f7c0ecc3eeeef905a3678e540947f4fbbc1a9c76075419dcc5fbfc3df59cb0b","df3303018d45c92be73fb4a282d5a242579f96235f5e0f8981983102caf5feca","92c10b9a2fcc6e4e4a781c22a97a0dac735e29b9059ecb6a7fa18d5b6916983b","8205e62a7310ac0513747f6d84175400680cff372559bc5fbe2df707194a295d","084d0df6805570b6dc6c8b49c3a71d5bdfe59606901e0026c63945b68d4b080a","8387fa3287992c71702756fe6ecea68e2f8f2c5aa434493e3afe4817dd4a4787","0f066f9654e700a9cf79c75553c934eb14296aa80583bd2b5d07e2d582a3f4ee","269c5d54104033b70331343bd931c9933852a882391ed6bd98c3d8b7d6465d22","a56b8577aaf471d9e60582065a8193269310e8cae48c1ce4111ed03216f5f715","486ae83cd51b813095f6716f06cc9b2cf480ad1d6c7f8ec59674d6c858cd2407","fff527e2567a24dd634a30268f1aa8a220315fed9c513d70ee872e54f67f27f3","5dd0ff735b3f2e642c3f16bcfb3dc4ecebb679a70e43cfb19ab5fd84d8faaeed","d1d78d1ef0f21ac77cdc436d2a4d56592453a8a2e51af2040ec9a69a5d35e4de","bc55b91274e43f88030c9cfe2c4217fae57894c3c302173ab6e9743c29484e3d","8bb22f70bfd7bf186631fa565c9202ee6a1009ffb961197b7d092b5a1e1d56b1","77282216c61bcef9a700db98e142301d5a7d988d3076286029da63e415e98a42","a7b50919e6ed57da56811b8c757b2eb10e3116433b64fa5ccb6cf0bdfd3a5bdd","64ce8e260a1362d4cadd6c753581a912a9869d4a53ec6e733dc61018f9250f5d","85a915dbb768b89cb92f5e6c165d776bfebd065883c34fee4e0219c3ed321b47","83df2f39cb14971adea51d1c84e7d146a34e9b7f84ad118450a51bdc3138412c","b96364fcb0c9d521e7618346b00acf3fe16ccf9368404ceac1658edee7b6332c","bdb2b70c74908c92ec41d8dd8375a195cb3bb07523e4de642b2b2dfbde249ca6","7b329f4137a552073f504022acbf8cd90d49cc5e5529791bef508f76ff774854","f63bbbffcfc897d22f34cf19ae13405cd267b1783cd21ec47d8a2d02947c98c1","d9725ef7f60a791668f7fb808eb90b1789feaaef989a686fefc0f7546a51dcdc","df55b9be6ba19a6f77487e09dc7a94d7c9bf66094d35ea168dbd4bac42c46b8f","595125f3e088b883d104622ef10e6b7d5875ff6976bbe4d7dca090a3e2dca513","8ebb6f0603bf481e893311c49e4d2e2061413c51b9ba5898cd9b0a01f5ef19c8","e0d7eed4ba363df3faadb8e617f95f9fc8adfbb00b87db7ade4a1098d6cf1e90","9670f806bd81af88e5f884098f8173e93c1704158c998fe268fd35d5c8f39113","de115595321ce012c456f512a799679bfc874f0ac0a4928a8429557bb25086aa","896e4b676a6f55ca66d40856b63ec2ff7f4f594d6350f8ae04eaee8876da0bc5","0524cab11ba9048d151d93cc666d3908fda329eec6b1642e9a936093e6d79f28","869073d7523e75f45bd65b2072865c60002d5e0cbd3d17831e999cf011312778","bc7b5906a6ce6c5744a640c314e020856be6c50a693e77dc12aff2d77b12ca76","56503e377bc1344f155e4e3115a772cb4e59350c0b8131e3e1fb2750ac491608","6b579287217ee1320ee1c6cfec5f6730f3a1f91daab000f7131558ee531b2bf8","e2ddb2877f5a841866f4fc772a601b58e90ac8399b35f9a06535be81b8e08b47","a793636667598e739a52684033037a67dc2d9db37fab727623626ef19aa5abb9","b15d6238a86bc0fc2368da429249b96c260debc0cec3eb7b5f838ad32587c129","9a9fba3a20769b0a74923e7032997451b61c1bd371c519429b29019399040d74","4b10e2fe52cb61035e58df3f1fdd926dd0fe9cf1a2302f92916da324332fb4e0","d1092ae8d6017f359f4758115f588e089848cc8fb359f7ba045b1a1cf3668a49","ddae9195b0da7b25a585ef43365f4dc5204a746b155fbee71e6ee1a9193fb69f","32dbced998ce74c5e76ce87044d0b4071857576dde36b0c6ed1d5957ce9cf5b5","5bc29a9918feba88816b71e32960cf11243b77b76630e9e87cad961e5e1d31d0","0aba767f26742d337f50e46f702a95f83ce694101fa9b8455786928a5672bb9b","8db57d8da0ab49e839fb2d0874cfe456553077d387f423a7730c54ef5f494318","ecc1b8878c8033bde0204b85e26fe1af6847805427759e5723882c848a11e134","cfc9c32553ad3b5be38342bc8731397438a93531118e1a226a8c79ad255b4f0c","16e5b5b023c2a1119c1878a51714861c56255778de0a7fe378391876a15f7433","52e8612d284467b4417143ca8fe54d30145fdfc3815f5b5ea9b14b677f422be5","a090a8a3b0ef2cceeb089acf4df95df72e7d934215896afe264ff6f734d66d15","a0259c6054e3ed2c5fb705b6638e384446cbcdf7fd2072c659b43bd56e214b9a","005319c82222e57934c7b211013eb6931829e46b2a61c5d9a1c3c25f8dc3ea90","151f422f08c8ca67b77c5c39d49278b4df452ef409237c8219be109ae3cdae9d",{"version":"0548256c356797018b04ce897284211763b058cd55c7e709c895ad1ff9dafe33","affectsGlobalScope":true},{"version":"445f7bb9b132395763d2fd00e88167a7b7d5c514728cfe462c17d044fe9f27d2","signature":"5423eff0aeb3d2eba041721efabde15d1c06709724dea6ae79b48559f86ed9b8","affectsGlobalScope":true},{"version":"489c7ab5618f45d5c1e6f9acf7ec6d980b656b659bbeffabe9024a46b9c5e616","signature":"18969c71a16d9d0ad05cf52dac1de4035dffe2de1b60b4ad7f143a3a694d1718"},{"version":"ee0cd52125f0a6012ad0f39327bf21ee6d8cf9f82036677b7b984b5866ee2156","signature":"c071991397ba57b75b07574dd2d11efe990aea9c59136423d149ce6c3f301eea","affectsGlobalScope":true},{"version":"725586b511f51bca1589b2476a469a9335db4cb1fe1b8fd0e94c189d7335fa98","signature":"edac49118a9eb46d842c8d24a567e31f0290ecdf8d44a5fc78da3112c2fdda54"},{"version":"c1a0e5e95335f3543144ae3343f67669817f88865ecddce2927152b5e0382d96","signature":"ae6311df7457b1396ee9675a75181a275b0d548a92d551642c851380e63221c6"},{"version":"d6c617e70f7ceac7231cc5933711aa884af1f4c1463642009de4fd815c53a66f","signature":"906470abc2d53531052631ce8facefad1c6812b58f7c4fd5e1eaa3e3eedf8714"},{"version":"fa8362edb012f8271d1ae4814a2d1d55b069d75d95cbec87946efbbd178501fc","signature":"33433930d5c55931a4bbf69f7f6c59c4340e639281d38c9fb177afae26320db9"},{"version":"5c02b50d3d3a2014ef18c95153163bfe09a2b5ec5525d4e69fba78cf508ec61b","signature":"19de33f5ab1eb346592350436bbc2ee68666699696ec25d703bdf2df63b3e9b7"},{"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,181]],"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":[[184],[99],[84,171],[186,189],[81,82,83],[182,188],[186],[183,187],[185],[107,108],[84,88,94,95,98,101,103,104,107],[105],[114],[76,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,107],[84,106,148],[84],[87],[84,87],[107],[106],[96,105,107],[84,85,87,88,91,106,107],[158],[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,149,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,178],[174],[73,74],[171,172,173],[73,177]],"referencedMap":[[185,1],[100,2],[99,3],[190,4],[84,5],[189,6],[187,7],[188,8],[186,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],[139,34],[140,37],[142,18],[101,38],[103,39],[144,40],[149,41],[102,42],[153,43],[151,42],[152,44],[155,45],[157,45],[156,45],[108,45],[107,46],[106,47],[104,48],[159,49],[88,44],[160,13],[161,13],[163,50],[164,34],[168,42],[171,51],[77,52],[78,53],[170,54],[89,32],[87,42],[74,55],[176,56],[179,57],[172,54],[175,58],[173,59],[174,60],[181,54],[177,54],[178,61]],"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/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/layoutconformance/layoutconformance.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/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/src/private/devmenu/devmenu.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/views/hybridview.ts","../src/views/gethostcomponent.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","51409be337d5cdf32915ace99a4c49bf62dbc124a49135120dfdff73236b0bad","232f660363b3b189f7be7822ed71e907195d1a85bc8d55d2b7ce3f09b2136938","e745388cfad9efb4e5a9a15a2c6b66d54094dd82f8d0c2551064e216f7b51526","c154b73e4fb432f6bc34d1237e98a463615ae1c721e4b0ae5b3bcb5047d113a3","6a408ed36eee4e21dd4c2096cc6bc72d29283ee1a3e985e9f42ecd4d1a30613b","8ebf448e9837fda1a368acbb575b0e28843d5b2a3fda04bce76248b64326ea49","91b9f6241fca7843985aa31157cfa08cc724c77d91145a4d834d27cdde099c05","8b94ac8c460c9a2578ca3308fecfcf034e21af89e9c287c97710e9717ffae133","a7266bcc42f8ec0f31f319c2dd8100411b4d7b8a534235cb00a719f1c8a2a42e","3dfa3a6f2a62259b56fa7bcebfbacf886848dfa037298be5bed07c7a0381ee4f","a1e3cda52746919d2a95784ce0b1b9ffa22052209aab5f54e079e7b920f5339e","1882680f8c88c5648d603408dd1943857ca831a815e33d3126be8368f7a69252","e7d56fa3c64c44b29fa11d840b1fe04f6d782fc2e341a1f01b987f5e59f34266","6f7da03b2573c9f6f47c45fa7ae877b9493e59afdc5e5bc0948f7008c1eb5601","cbfbec26cc73a7e9359defb962c35b64922ca1549b6aa7c022a1d70b585c1184","488242948cc48ee6413a159c60bcaf70de15db01364741737a962662f1a127a5","42bacb33cddecbcfe3e043ee1117ba848801749e44f947626765b3e0aec74b1c","9c4cb91aa45db16c1a85e86502b6a87d971aa65169dca3c76bba6b7455661f5c","cd2156bc8e4d54d52a2817d1b6f4629a5dd3173b1d8bb0fc893ee678d6a78ecd","60526d9010e8ccb2a76a59821061463464c3acd5bc7a50320df6d2e4e0d6e4f7","8f47ba2a4106c63d2cd5fa6cae2e1ecdbf448f3325413c63c302d4c2392c2984","623fa4efc706bb9956d0ae94b13321c6617655bf8ebdb270c9792bb398f82e44","c4f6cc26bf998cec21820844d187217aadc875a879760828d9111180e122320d","79d6871ce0da76f4c865a58daa509d5c8a10545d510b804501daa5d0626e7028","9054417b5760061bc5fe31f9eee5dc9bf018339b0617d3c65dd1673c8e3c0f25","c6b68cd2e7838e91e05ede0a686815f521024281768f338644f6c0e0ad8e63cd","443702ca8101ef0adc827c2cc530ca93cf98d41e36ce4399efb9bc833ad9cb62","c94f70562ae60797cce564c3bebbaaf1752c327d5063d6ac152aa5ca1616c267","2aeb5fcdfc884b16015617d263fd8d1a8513f7efe23880be4e5f0bdb3794b37c","b561170fbe8d4292425e1dfa52406c8d97575681f7a5e420d11d9f72f7c29e38","5fe94f3f6411a0f6293f16fdc8e02ee61138941847ce91d6f6800c97fac22fcd","7f7c0ecc3eeeef905a3678e540947f4fbbc1a9c76075419dcc5fbfc3df59cb0b","df3303018d45c92be73fb4a282d5a242579f96235f5e0f8981983102caf5feca","92c10b9a2fcc6e4e4a781c22a97a0dac735e29b9059ecb6a7fa18d5b6916983b","8205e62a7310ac0513747f6d84175400680cff372559bc5fbe2df707194a295d","084d0df6805570b6dc6c8b49c3a71d5bdfe59606901e0026c63945b68d4b080a","9235e7b554d1c15ea04977b69cd123c79bd10f81704479ad5145e34d0205bf07","0f066f9654e700a9cf79c75553c934eb14296aa80583bd2b5d07e2d582a3f4ee","269c5d54104033b70331343bd931c9933852a882391ed6bd98c3d8b7d6465d22","a56b8577aaf471d9e60582065a8193269310e8cae48c1ce4111ed03216f5f715","486ae83cd51b813095f6716f06cc9b2cf480ad1d6c7f8ec59674d6c858cd2407","039f0a1f6d67514bbfea62ffbb0822007ce35ba180853ec9034431f60f63dbe6","fff527e2567a24dd634a30268f1aa8a220315fed9c513d70ee872e54f67f27f3","5dd0ff735b3f2e642c3f16bcfb3dc4ecebb679a70e43cfb19ab5fd84d8faaeed","d1d78d1ef0f21ac77cdc436d2a4d56592453a8a2e51af2040ec9a69a5d35e4de","bc55b91274e43f88030c9cfe2c4217fae57894c3c302173ab6e9743c29484e3d","8bb22f70bfd7bf186631fa565c9202ee6a1009ffb961197b7d092b5a1e1d56b1","77282216c61bcef9a700db98e142301d5a7d988d3076286029da63e415e98a42","2ceb62a57fa08babfd78d6ce00c00d114e41a905e9f07531712aeb79197960dd","64ce8e260a1362d4cadd6c753581a912a9869d4a53ec6e733dc61018f9250f5d","85a915dbb768b89cb92f5e6c165d776bfebd065883c34fee4e0219c3ed321b47","83df2f39cb14971adea51d1c84e7d146a34e9b7f84ad118450a51bdc3138412c","b96364fcb0c9d521e7618346b00acf3fe16ccf9368404ceac1658edee7b6332c","bdb2b70c74908c92ec41d8dd8375a195cb3bb07523e4de642b2b2dfbde249ca6","7b329f4137a552073f504022acbf8cd90d49cc5e5529791bef508f76ff774854","f63bbbffcfc897d22f34cf19ae13405cd267b1783cd21ec47d8a2d02947c98c1","d9725ef7f60a791668f7fb808eb90b1789feaaef989a686fefc0f7546a51dcdc","df55b9be6ba19a6f77487e09dc7a94d7c9bf66094d35ea168dbd4bac42c46b8f","595125f3e088b883d104622ef10e6b7d5875ff6976bbe4d7dca090a3e2dca513","8ebb6f0603bf481e893311c49e4d2e2061413c51b9ba5898cd9b0a01f5ef19c8","e0d7eed4ba363df3faadb8e617f95f9fc8adfbb00b87db7ade4a1098d6cf1e90","9670f806bd81af88e5f884098f8173e93c1704158c998fe268fd35d5c8f39113","de115595321ce012c456f512a799679bfc874f0ac0a4928a8429557bb25086aa","896e4b676a6f55ca66d40856b63ec2ff7f4f594d6350f8ae04eaee8876da0bc5","0524cab11ba9048d151d93cc666d3908fda329eec6b1642e9a936093e6d79f28","869073d7523e75f45bd65b2072865c60002d5e0cbd3d17831e999cf011312778","bc7b5906a6ce6c5744a640c314e020856be6c50a693e77dc12aff2d77b12ca76","56503e377bc1344f155e4e3115a772cb4e59350c0b8131e3e1fb2750ac491608","6b579287217ee1320ee1c6cfec5f6730f3a1f91daab000f7131558ee531b2bf8","e2ddb2877f5a841866f4fc772a601b58e90ac8399b35f9a06535be81b8e08b47","a793636667598e739a52684033037a67dc2d9db37fab727623626ef19aa5abb9","b15d6238a86bc0fc2368da429249b96c260debc0cec3eb7b5f838ad32587c129","9a9fba3a20769b0a74923e7032997451b61c1bd371c519429b29019399040d74","4b10e2fe52cb61035e58df3f1fdd926dd0fe9cf1a2302f92916da324332fb4e0","d1092ae8d6017f359f4758115f588e089848cc8fb359f7ba045b1a1cf3668a49","ddae9195b0da7b25a585ef43365f4dc5204a746b155fbee71e6ee1a9193fb69f","32dbced998ce74c5e76ce87044d0b4071857576dde36b0c6ed1d5957ce9cf5b5","5bc29a9918feba88816b71e32960cf11243b77b76630e9e87cad961e5e1d31d0","0aba767f26742d337f50e46f702a95f83ce694101fa9b8455786928a5672bb9b","8db57d8da0ab49e839fb2d0874cfe456553077d387f423a7730c54ef5f494318","ecc1b8878c8033bde0204b85e26fe1af6847805427759e5723882c848a11e134","cfc9c32553ad3b5be38342bc8731397438a93531118e1a226a8c79ad255b4f0c","16e5b5b023c2a1119c1878a51714861c56255778de0a7fe378391876a15f7433","52e8612d284467b4417143ca8fe54d30145fdfc3815f5b5ea9b14b677f422be5","a090a8a3b0ef2cceeb089acf4df95df72e7d934215896afe264ff6f734d66d15","a0259c6054e3ed2c5fb705b6638e384446cbcdf7fd2072c659b43bd56e214b9a","005319c82222e57934c7b211013eb6931829e46b2a61c5d9a1c3c25f8dc3ea90","151f422f08c8ca67b77c5c39d49278b4df452ef409237c8219be109ae3cdae9d",{"version":"53f74176ec51c6a621b518db2d4004f12dc6794bb3feb504fba5b2309cbca4e7","affectsGlobalScope":true},{"version":"445f7bb9b132395763d2fd00e88167a7b7d5c514728cfe462c17d044fe9f27d2","signature":"5423eff0aeb3d2eba041721efabde15d1c06709724dea6ae79b48559f86ed9b8","affectsGlobalScope":true},{"version":"489c7ab5618f45d5c1e6f9acf7ec6d980b656b659bbeffabe9024a46b9c5e616","signature":"18969c71a16d9d0ad05cf52dac1de4035dffe2de1b60b4ad7f143a3a694d1718"},{"version":"ee0cd52125f0a6012ad0f39327bf21ee6d8cf9f82036677b7b984b5866ee2156","signature":"c071991397ba57b75b07574dd2d11efe990aea9c59136423d149ce6c3f301eea","affectsGlobalScope":true},{"version":"725586b511f51bca1589b2476a469a9335db4cb1fe1b8fd0e94c189d7335fa98","signature":"edac49118a9eb46d842c8d24a567e31f0290ecdf8d44a5fc78da3112c2fdda54"},{"version":"c1a0e5e95335f3543144ae3343f67669817f88865ecddce2927152b5e0382d96","signature":"ae6311df7457b1396ee9675a75181a275b0d548a92d551642c851380e63221c6"},{"version":"06ba2eeca898c4bd9a8e9f9b7ff8e0fc3b34cd79d791b7255f9d8b093eaedbcc","signature":"39a6002a361707e227b8d3b973aed942aa405103d5922b4d60282797840746a3"},{"version":"1c4ecff2b2a2c7228566df500f4f9b83a8760b722c55a140dfbf24594d9d68a8","signature":"046e8058170d37dc9a7db8acc064abcb450088c0423d322793e028e6baec8ffa"},{"version":"50732741dc39cc93ed8c6f545abb5caa949869366cd08890323f2dc342a234de","signature":"83d43308b78b057fd33e6baef5a62dd6b5c4d3f252e3f25624c6ac426403f36e"},{"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,181]],"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":[[184],[98],[83,171],[186,189],[81,82],[182,188],[186],[183,187],[185],[106,107],[83,87,93,94,97,100,102,103,106],[104],[113],[76,86],[83,84,86,87,91,105,106],[83,106,135,136],[83,84,86,87,91,106],[76,120],[83,84,91,105,106,122],[83],[83,85,87,90,91,94,105,106],[83,84,86,91,106],[83,84,86,91],[83,84,85,87,89,91,92,105,106],[83,106],[83,105,106],[76,83,84,86,87,90,91,105,106,122],[83,85,87],[83,94,105,106,133],[83,84,89,106,133,135],[83,94,133],[83,84,85,87,89,90,105,106,122],[87],[83,85,87,88,89,90,105,106],[76],[112],[83,84,85,86,87,90,95,96,105,106],[87,88],[83,93,94,99,105,106],[83,93,99,101,105,106],[83,87,91,106],[83,105,148],[86],[83,86],[106],[105],[95,104,106],[83,84,86,87,90,105,106],[158],[120],[75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,149,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,177,178],[174],[73,74],[171,172,173],[171,177]],"referencedMap":[[185,1],[99,2],[98,3],[190,4],[83,5],[189,6],[187,7],[188,8],[186,9],[108,10],[104,11],[111,12],[114,13],[116,14],[117,15],[137,16],[119,17],[121,18],[123,19],[124,20],[125,21],[126,22],[92,22],[127,23],[93,24],[128,25],[129,15],[130,26],[131,27],[89,28],[134,29],[136,30],[135,31],[133,32],[94,23],[90,33],[91,34],[120,35],[112,35],[113,36],[97,37],[139,35],[140,38],[142,18],[100,39],[102,40],[144,41],[149,42],[101,20],[153,43],[151,20],[152,44],[155,45],[157,45],[156,45],[107,45],[106,46],[105,47],[103,48],[159,49],[87,44],[160,13],[161,13],[163,50],[164,35],[168,20],[171,51],[77,52],[78,53],[170,54],[88,33],[86,20],[74,55],[176,56],[179,57],[172,54],[175,58],[173,59],[174,60],[181,54],[178,61],[177,55]],"latestChangedDtsFile":"./typescript/turbomodule/NativeNitroModules.web.d.ts"},"version":"5.5.4"}
@@ -3,4 +3,5 @@ export * from './NitroModules';
3
3
  export * from './AnyMap';
4
4
  export * from './Constructor';
5
5
  export * from './views/HybridView';
6
+ export * from './views/getHostComponent';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAE7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA"}
@@ -7,29 +7,102 @@ export interface ViewPlatformSpec {
7
7
  android?: 'kotlin';
8
8
  }
9
9
  /**
10
- * Represents a Nitro `HybridView` which is implemented in a native language
11
- * like Swift or Kotlin.
10
+ * Represents props for a Hybrid View.
11
+ * Such props are implemented on the native side, and can be
12
+ * set from JS using React props.
13
+ * @example
14
+ * ```ts
15
+ * // Definition:
16
+ * type Direction = 'horizontal' | 'vertical'
17
+ * interface ScrollViewProps extends HybridViewProps {
18
+ * direction: Direction
19
+ * }
20
+ * export type ScrollView = HybridView<ScrollViewProps>
21
+ *
22
+ * // in React:
23
+ * function App() {
24
+ * return <HybridScrollView direction="vertical" />
25
+ * }
26
+ * ```
27
+ */
28
+ export interface HybridViewProps {
29
+ }
30
+ /**
31
+ * Represents methods for a Hybrid View.
32
+ * Such methods are implemented on the native side, and can be
33
+ * called from JS using the `hybridRef`.
34
+ * @example
35
+ * ```ts
36
+ * // Definition:
37
+ * interface ScrollViewProps extends HybridViewProps { … }
38
+ * interface ScrollViewMethods extends HybridViewMethods {
39
+ * scrollTo(y: number): void
40
+ * }
41
+ * export type ScrollView = HybridView<ScrollViewProps, ScrollViewMethods>
42
+ *
43
+ * // in React:
44
+ * function App() {
45
+ * const ref = useRef<ScrollView>(null)
46
+ * useLayoutEffect(() => {
47
+ * ref.current.scrollTo(400)
48
+ * }, [])
49
+ * return <HybridScrollView hybridRef={ref} />
50
+ * }
51
+ * ```
52
+ */
53
+ export interface HybridViewMethods {
54
+ }
55
+ /**
56
+ * The type of a {@linkcode DefaultHybridViewProps.hybridRef hybridRef}.
57
+ * @example
58
+ * ```ts
59
+ * // declaration:
60
+ * interface ScrollViewProps extends HybridViewProps { … }
61
+ * interface ScrollViewMethods extends HybridViewMethods {
62
+ * scrollTo(y: number): void
63
+ * }
64
+ * export type ScrollView = HybridView<ScrollViewProps, ScrollViewMethods>
65
+ * export type ScrollViewRef = HybridRef<ScrollViewProps, ScrollViewMethods>
66
+ *
67
+ * // in react:
68
+ * function App() {
69
+ * const ref = useRef<ScrollViewRef>(null)
70
+ * useLayoutEffect(() => {
71
+ * ref.current.scrollTo(400)
72
+ * }, [])
73
+ * return <ScrollView hybridRef={ref} />
74
+ * }
75
+ * ```
76
+ */
77
+ export type HybridRef<Props extends HybridViewProps, Methods extends HybridViewMethods = {}> = HybridObject & Props & Methods;
78
+ /**
79
+ * This interface acts as a tag for Hybrid Views so nitrogen detects them.
80
+ */
81
+ interface HybridViewTag extends HybridObject {
82
+ }
83
+ /**
84
+ * Represents a Nitro Hybrid View.
12
85
  *
13
- * `HybridViews`s use the Nitro Tunnel for efficient, low-overhead JS <-> Native communication.
86
+ * The Hybrid View's implementation is in native iOS or Android, and is backed
87
+ * by a {@linkcode HybridObject}.
14
88
  *
15
- * All `HybridViews`s have a C++ Fabric View base with a backing Shadow Node.
89
+ * Each view has {@linkcode HybridViewProps}, and can optionally also
90
+ * have custom {@linkcode HybridViewMethods}.
16
91
  *
17
- * - TypeScript Properties (`name: Type`) will be React Props
18
- * - TypeScript Methods (`name(): Type`) will be Ref Methods
92
+ * Properties can be set using React props, and methods can be called after obtaining
93
+ * a reference to the {@linkcode HybridObject} via {@linkcode DefaultHybridViewProps.hybridRef hybridRef}.
19
94
  *
95
+ * The view can be rendered in React (Native).
20
96
  * @example
21
- * ```tsx
22
- * export interface Camera extends HybridView {
23
- * zoom: number
24
- * flash: boolean
25
- * takePhoto(): Image
26
- * }
97
+ * ```ts
98
+ * interface ScrollViewProps extends HybridViewProps { … }
99
+ * interface ScrollViewMethods extends HybridViewMethods { … }
100
+ * export type ScrollView = HybridView<ScrollViewProps, ScrollViewMethods>
27
101
  * ```
28
102
  */
29
- export interface HybridView<Platforms extends ViewPlatformSpec = {
103
+ export type HybridView<Props extends HybridViewProps, Methods extends HybridViewMethods = {}, Platforms extends ViewPlatformSpec = {
30
104
  ios: 'swift';
31
105
  android: 'kotlin';
32
- }> extends HybridObject<Platforms> {
33
- }
34
- export * from './getHostComponent';
106
+ }> = HybridViewTag & HybridObject<Platforms> & Props & Methods;
107
+ export {};
35
108
  //# sourceMappingURL=HybridView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HybridView.d.ts","sourceRoot":"","sources":["../../../src/views/HybridView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,UAAU,CACzB,SAAS,SAAS,gBAAgB,GAAG;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CACxE,SAAQ,YAAY,CAAC,SAAS,CAAC;CAEhC;AAED,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"HybridView.d.ts","sourceRoot":"","sources":["../../../src/views/HybridView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,eAAe;CAE/B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,iBAAiB;CAAG;AAErC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,SAAS,CACnB,KAAK,SAAS,eAAe,EAC7B,OAAO,SAAS,iBAAiB,GAAG,EAAE,IACpC,YAAY,GAAG,KAAK,GAAG,OAAO,CAAA;AAElC;;GAEG;AACH,UAAU,aAAc,SAAQ,YAAY;CAAG;AAE/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,eAAe,EAC7B,OAAO,SAAS,iBAAiB,GAAG,EAAE,EACtC,SAAS,SAAS,gBAAgB,GAAG;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,IACtE,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,OAAO,CAAA"}
@@ -1,4 +1,5 @@
1
- import { type HostComponent } from 'react-native';
1
+ import { type HostComponent, type ViewProps } from 'react-native';
2
+ import type { HybridView, HybridViewMethods, HybridViewProps } from './HybridView';
2
3
  export interface ViewConfig<Props> {
3
4
  uiViewClassName: string;
4
5
  supportsRawText?: boolean;
@@ -7,7 +8,49 @@ export interface ViewConfig<Props> {
7
8
  validAttributes: Record<keyof Props, boolean>;
8
9
  }
9
10
  /**
10
- * Finds and returns a native view (aka {@linkcode HostComponent}) via the given {@linkcode name}.
11
+ * Represents all default props a Nitro HybridView has.
11
12
  */
12
- export declare function getHostComponent<Props>(name: string, getViewConfig: () => ViewConfig<Props>): HostComponent<Props>;
13
+ interface DefaultHybridViewProps<RefType> extends ViewProps {
14
+ /**
15
+ * A `ref` to the {@linkcode HybridObject} this Hybrid View is rendering.
16
+ *
17
+ * The `hybridRef` property expects a stable Ref object received from `useRef` or `createRef`.
18
+ * @example
19
+ * ```jsx
20
+ * function App() {
21
+ * return (
22
+ * <HybridScrollView
23
+ * hybridRef={{ f: (ref) => {
24
+ * ref.current.scrollTo(400)
25
+ * }
26
+ * />
27
+ * )
28
+ * }
29
+ * ```
30
+ */
31
+ hybridRef?: (ref: RefType) => void;
32
+ }
33
+ type WrapFunctionsInObjects<Props> = {
34
+ [K in keyof Props]: Props[K] extends Function ? {
35
+ f: Props[K];
36
+ } : Props[K] extends Function | undefined ? {
37
+ f: Props[K];
38
+ } : Props[K];
39
+ };
40
+ /**
41
+ * Represents a React Native view, implemented as a Nitro View, with the given props and methods.
42
+ *
43
+ * @note Every React Native view has a {@linkcode DefaultHybridViewProps.hybridRef hybridRef} which can be used to gain access
44
+ * to the underlying Nitro {@linkcode HybridView}.
45
+ * @note Every function/callback is wrapped as a `{ f: … }` object.
46
+ * @note Every method can be called on the Ref. Including setting properties directly.
47
+ */
48
+ export type ReactNativeView<Props extends HybridViewProps, Methods extends HybridViewMethods> = HostComponent<WrapFunctionsInObjects<DefaultHybridViewProps<HybridView<Props, Methods>> & Props>>;
49
+ /**
50
+ * Finds and returns a native view (aka "HostComponent") via the given {@linkcode name}.
51
+ *
52
+ * The view is bridged to a native Hybrid Object using Nitro Views.
53
+ */
54
+ export declare function getHostComponent<Props extends HybridViewProps, Methods extends HybridViewMethods>(name: string, getViewConfig: () => ViewConfig<Props>): ReactNativeView<Props, Methods>;
55
+ export {};
13
56
  //# sourceMappingURL=getHostComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getHostComponent.d.ts","sourceRoot":"","sources":["../../../src/views/getHostComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAI3D,MAAM,WAAW,UAAU,CAAC,KAAK;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,eAAe,EAAE,MAAM,CAAC,MAAM,KAAK,EAAE,OAAO,CAAC,CAAA;CAC9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC,GACrC,aAAa,CAAC,KAAK,CAAC,CAOtB"}
1
+ {"version":3,"file":"getHostComponent.d.ts","sourceRoot":"","sources":["../../../src/views/getHostComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAG3E,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,cAAc,CAAA;AAErB,MAAM,WAAW,UAAU,CAAC,KAAK;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,eAAe,EAAE,MAAM,CAAC,MAAM,KAAK,EAAE,OAAO,CAAC,CAAA;CAC9C;AAED;;GAEG;AACH,UAAU,sBAAsB,CAAC,OAAO,CAAE,SAAQ,SAAS;IACzD;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CACnC;AAKD,KAAK,sBAAsB,CAAC,KAAK,IAAI;KAClC,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,QAAQ,GACzC;QAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,GACf,KAAK,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,SAAS,GACnC;QAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,GACf,KAAK,CAAC,CAAC,CAAC;CACf,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,CACzB,KAAK,SAAS,eAAe,EAC7B,OAAO,SAAS,iBAAiB,IAC/B,aAAa,CACf,sBAAsB,CACpB,sBAAsB,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAC3D,CACF,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,SAAS,eAAe,EAC7B,OAAO,SAAS,iBAAiB,EAEjC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC,GACrC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAOjC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-nitro-modules",
3
- "version": "0.22.1",
3
+ "version": "0.23.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",
@@ -73,9 +73,9 @@
73
73
  "@types/jest": "*",
74
74
  "@types/react": "*",
75
75
  "jest": "*",
76
- "react": "18.3.1",
77
- "react-native": "0.77.0",
78
- "react-native-builder-bob": "^0.35.0"
76
+ "react": "19.0.0",
77
+ "react-native": "0.78.0",
78
+ "react-native-builder-bob": "^0.37.0"
79
79
  },
80
80
  "peerDependencies": {
81
81
  "react": "*",
package/src/index.ts CHANGED
@@ -2,4 +2,6 @@ export * from './HybridObject'
2
2
  export * from './NitroModules'
3
3
  export * from './AnyMap'
4
4
  export * from './Constructor'
5
+
5
6
  export * from './views/HybridView'
7
+ export * from './views/getHostComponent'
@@ -9,29 +9,107 @@ export interface ViewPlatformSpec {
9
9
  }
10
10
 
11
11
  /**
12
- * Represents a Nitro `HybridView` which is implemented in a native language
13
- * like Swift or Kotlin.
12
+ * Represents props for a Hybrid View.
13
+ * Such props are implemented on the native side, and can be
14
+ * set from JS using React props.
15
+ * @example
16
+ * ```ts
17
+ * // Definition:
18
+ * type Direction = 'horizontal' | 'vertical'
19
+ * interface ScrollViewProps extends HybridViewProps {
20
+ * direction: Direction
21
+ * }
22
+ * export type ScrollView = HybridView<ScrollViewProps>
14
23
  *
15
- * `HybridViews`s use the Nitro Tunnel for efficient, low-overhead JS <-> Native communication.
24
+ * // in React:
25
+ * function App() {
26
+ * return <HybridScrollView direction="vertical" />
27
+ * }
28
+ * ```
29
+ */
30
+ export interface HybridViewProps {
31
+ /* no default props */
32
+ }
33
+
34
+ /**
35
+ * Represents methods for a Hybrid View.
36
+ * Such methods are implemented on the native side, and can be
37
+ * called from JS using the `hybridRef`.
38
+ * @example
39
+ * ```ts
40
+ * // Definition:
41
+ * interface ScrollViewProps extends HybridViewProps { … }
42
+ * interface ScrollViewMethods extends HybridViewMethods {
43
+ * scrollTo(y: number): void
44
+ * }
45
+ * export type ScrollView = HybridView<ScrollViewProps, ScrollViewMethods>
16
46
  *
17
- * All `HybridViews`s have a C++ Fabric View base with a backing Shadow Node.
47
+ * // in React:
48
+ * function App() {
49
+ * const ref = useRef<ScrollView>(null)
50
+ * useLayoutEffect(() => {
51
+ * ref.current.scrollTo(400)
52
+ * }, [])
53
+ * return <HybridScrollView hybridRef={ref} />
54
+ * }
55
+ * ```
56
+ */
57
+ export interface HybridViewMethods {}
58
+
59
+ /**
60
+ * The type of a {@linkcode DefaultHybridViewProps.hybridRef hybridRef}.
61
+ * @example
62
+ * ```ts
63
+ * // declaration:
64
+ * interface ScrollViewProps extends HybridViewProps { … }
65
+ * interface ScrollViewMethods extends HybridViewMethods {
66
+ * scrollTo(y: number): void
67
+ * }
68
+ * export type ScrollView = HybridView<ScrollViewProps, ScrollViewMethods>
69
+ * export type ScrollViewRef = HybridRef<ScrollViewProps, ScrollViewMethods>
18
70
  *
19
- * - TypeScript Properties (`name: Type`) will be React Props
20
- * - TypeScript Methods (`name(): Type`) will be Ref Methods
71
+ * // in react:
72
+ * function App() {
73
+ * const ref = useRef<ScrollViewRef>(null)
74
+ * useLayoutEffect(() => {
75
+ * ref.current.scrollTo(400)
76
+ * }, [])
77
+ * return <ScrollView hybridRef={ref} />
78
+ * }
79
+ * ```
80
+ */
81
+ export type HybridRef<
82
+ Props extends HybridViewProps,
83
+ Methods extends HybridViewMethods = {},
84
+ > = HybridObject & Props & Methods
85
+
86
+ /**
87
+ * This interface acts as a tag for Hybrid Views so nitrogen detects them.
88
+ */
89
+ interface HybridViewTag extends HybridObject {}
90
+
91
+ /**
92
+ * Represents a Nitro Hybrid View.
93
+ *
94
+ * The Hybrid View's implementation is in native iOS or Android, and is backed
95
+ * by a {@linkcode HybridObject}.
96
+ *
97
+ * Each view has {@linkcode HybridViewProps}, and can optionally also
98
+ * have custom {@linkcode HybridViewMethods}.
99
+ *
100
+ * Properties can be set using React props, and methods can be called after obtaining
101
+ * a reference to the {@linkcode HybridObject} via {@linkcode DefaultHybridViewProps.hybridRef hybridRef}.
21
102
  *
103
+ * The view can be rendered in React (Native).
22
104
  * @example
23
- * ```tsx
24
- * export interface Camera extends HybridView {
25
- * zoom: number
26
- * flash: boolean
27
- * takePhoto(): Image
28
- * }
105
+ * ```ts
106
+ * interface ScrollViewProps extends HybridViewProps { … }
107
+ * interface ScrollViewMethods extends HybridViewMethods { … }
108
+ * export type ScrollView = HybridView<ScrollViewProps, ScrollViewMethods>
29
109
  * ```
30
110
  */
31
- export interface HybridView<
111
+ export type HybridView<
112
+ Props extends HybridViewProps,
113
+ Methods extends HybridViewMethods = {},
32
114
  Platforms extends ViewPlatformSpec = { ios: 'swift'; android: 'kotlin' },
33
- > extends HybridObject<Platforms> {
34
- /* empty interface for now */
35
- }
36
-
37
- export * from './getHostComponent'
115
+ > = HybridViewTag & HybridObject<Platforms> & Props & Methods
@@ -1,6 +1,11 @@
1
- import { Platform, type HostComponent } from 'react-native'
1
+ import { Platform, type HostComponent, type ViewProps } from 'react-native'
2
2
  // @ts-expect-error this unfortunately isn't typed or default-exported.
3
3
  import * as NativeComponentRegistry from 'react-native/Libraries/NativeComponent/NativeComponentRegistry'
4
+ import type {
5
+ HybridView,
6
+ HybridViewMethods,
7
+ HybridViewProps,
8
+ } from './HybridView'
4
9
 
5
10
  export interface ViewConfig<Props> {
6
11
  uiViewClassName: string
@@ -11,16 +16,73 @@ export interface ViewConfig<Props> {
11
16
  }
12
17
 
13
18
  /**
14
- * Finds and returns a native view (aka {@linkcode HostComponent}) via the given {@linkcode name}.
19
+ * Represents all default props a Nitro HybridView has.
15
20
  */
16
- export function getHostComponent<Props>(
21
+ interface DefaultHybridViewProps<RefType> extends ViewProps {
22
+ /**
23
+ * A `ref` to the {@linkcode HybridObject} this Hybrid View is rendering.
24
+ *
25
+ * The `hybridRef` property expects a stable Ref object received from `useRef` or `createRef`.
26
+ * @example
27
+ * ```jsx
28
+ * function App() {
29
+ * return (
30
+ * <HybridScrollView
31
+ * hybridRef={{ f: (ref) => {
32
+ * ref.current.scrollTo(400)
33
+ * }
34
+ * />
35
+ * )
36
+ * }
37
+ * ```
38
+ */
39
+ hybridRef?: (ref: RefType) => void
40
+ }
41
+
42
+ // Due to a React limitation, functions cannot be passed to native directly
43
+ // because RN converts them to booleans (`true`). Nitro knows this and just
44
+ // wraps functions as objects - the original function is stored in `f`.
45
+ type WrapFunctionsInObjects<Props> = {
46
+ [K in keyof Props]: Props[K] extends Function
47
+ ? { f: Props[K] }
48
+ : Props[K] extends Function | undefined
49
+ ? { f: Props[K] }
50
+ : Props[K]
51
+ }
52
+
53
+ /**
54
+ * Represents a React Native view, implemented as a Nitro View, with the given props and methods.
55
+ *
56
+ * @note Every React Native view has a {@linkcode DefaultHybridViewProps.hybridRef hybridRef} which can be used to gain access
57
+ * to the underlying Nitro {@linkcode HybridView}.
58
+ * @note Every function/callback is wrapped as a `{ f: … }` object.
59
+ * @note Every method can be called on the Ref. Including setting properties directly.
60
+ */
61
+ export type ReactNativeView<
62
+ Props extends HybridViewProps,
63
+ Methods extends HybridViewMethods,
64
+ > = HostComponent<
65
+ WrapFunctionsInObjects<
66
+ DefaultHybridViewProps<HybridView<Props, Methods>> & Props
67
+ >
68
+ >
69
+
70
+ /**
71
+ * Finds and returns a native view (aka "HostComponent") via the given {@linkcode name}.
72
+ *
73
+ * The view is bridged to a native Hybrid Object using Nitro Views.
74
+ */
75
+ export function getHostComponent<
76
+ Props extends HybridViewProps,
77
+ Methods extends HybridViewMethods,
78
+ >(
17
79
  name: string,
18
80
  getViewConfig: () => ViewConfig<Props>
19
- ): HostComponent<Props> {
81
+ ): ReactNativeView<Props, Methods> {
20
82
  if (NativeComponentRegistry == null) {
21
83
  throw new Error(
22
84
  `NativeComponentRegistry is not available on ${Platform.OS}!`
23
85
  )
24
86
  }
25
- return NativeComponentRegistry.get<Props>(name, getViewConfig)
87
+ return NativeComponentRegistry.get(name, getViewConfig)
26
88
  }