expo-modules-core 58.0.13 → 58.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/android/build.gradle +2 -2
- package/android/prebuilt/metadata.json +2 -2
- package/android/prebuilt/native-libs.tar.xz +0 -0
- package/android/src/main/cpp/fabric/ExpoComponentDescriptorFactory.cpp +2 -0
- package/android/src/main/cpp/fabric/ExpoComponentDescriptorFactory.h +6 -0
- package/android/src/main/cpp/fabric/FabricComponentsRegistry.cpp +8 -4
- package/build/NativeViewManagerAdapter.native.d.ts +1 -1
- package/build/NativeViewManagerAdapter.native.js +2 -4
- package/build/NativeViewManagerAdapter.native.js.map +1 -1
- package/package.json +2 -2
- package/prebuilds/output/debug/xcframeworks/ExpoModulesCore.tar.gz +0 -0
- package/prebuilds/output/debug/xcframeworks/ExpoModulesWorklets.tar.gz +0 -0
- package/prebuilds/output/release/xcframeworks/ExpoModulesCore.tar.gz +0 -0
- package/prebuilds/output/release/xcframeworks/ExpoModulesWorklets.tar.gz +0 -0
- package/src/NativeViewManagerAdapter.native.tsx +10 -8
- package/build/ts-declarations/NativeComponentRegistry.d.ts +0 -12
- package/src/ts-declarations/NativeComponentRegistry.d.ts +0 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 58.0.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [Android] Fixed a data race on the Fabric view state-prop map when Expo registers its view components while React Native builds a component descriptor registry on another thread. ([#51044](https://github.com/expo/expo/pull/51044) by [@hirvesh](https://github.com/hirvesh))
|
|
8
|
+
- [Internal] Import `LogBox`, `DevSettings`, and `NativeComponentRegistry` from the `react-native` public API. ([#50862](https://github.com/expo/expo/pull/50862) by [@huntie](https://github.com/huntie))
|
|
9
|
+
|
|
3
10
|
## 58.0.13
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
package/android/build.gradle
CHANGED
|
@@ -46,7 +46,7 @@ if (shouldIncludeCompose) {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
group = 'host.exp.exponent'
|
|
49
|
-
version = '58.0.
|
|
49
|
+
version = '58.0.14'
|
|
50
50
|
|
|
51
51
|
def isExpoModulesCoreTests = {
|
|
52
52
|
Gradle gradle = getGradle()
|
|
@@ -175,7 +175,7 @@ android {
|
|
|
175
175
|
defaultConfig {
|
|
176
176
|
consumerProguardFiles 'proguard-rules.pro'
|
|
177
177
|
versionCode 1
|
|
178
|
-
versionName "58.0.
|
|
178
|
+
versionName "58.0.14"
|
|
179
179
|
buildConfigField "String", "EXPO_MODULES_CORE_VERSION", "\"${versionName}\""
|
|
180
180
|
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", "true"
|
|
181
181
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"reactNativeVersion": "0.88.0",
|
|
3
|
-
"sourceHash": "
|
|
3
|
+
"sourceHash": "cfbedf19c9c9a434a2d9cd5dc4c91880",
|
|
4
4
|
"variants": [
|
|
5
5
|
"debug",
|
|
6
6
|
"release"
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
"libexpo-modules-jsi.so"
|
|
17
17
|
],
|
|
18
18
|
"stripped": true,
|
|
19
|
-
"createdAt": "2026-10-
|
|
19
|
+
"createdAt": "2026-10-06T16:00:54.933258624Z"
|
|
20
20
|
}
|
|
Binary file
|
|
@@ -8,6 +8,7 @@ namespace react = facebook::react;
|
|
|
8
8
|
namespace expo {
|
|
9
9
|
|
|
10
10
|
StatePropMapType statePropMap = {};
|
|
11
|
+
std::shared_mutex statePropMapMutex;
|
|
11
12
|
|
|
12
13
|
react::ComponentDescriptor::Unique concreteExpoComponentDescriptorConstructor(
|
|
13
14
|
const react::ComponentDescriptorParameters ¶meters
|
|
@@ -17,6 +18,7 @@ react::ComponentDescriptor::Unique concreteExpoComponentDescriptorConstructor(
|
|
|
17
18
|
react::RawPropsParser(/*useRawPropsJsiValue=*/true)
|
|
18
19
|
);
|
|
19
20
|
|
|
21
|
+
std::shared_lock lock(statePropMapMutex);
|
|
20
22
|
if (statePropMap.contains(std::static_pointer_cast<std::string const>(parameters.flavor))) {
|
|
21
23
|
descriptor->setStateProps(
|
|
22
24
|
statePropMap.at(
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
#include <react/renderer/core/ComponentDescriptor.h>
|
|
6
6
|
#include "../types/FrontendConverter.h"
|
|
7
7
|
|
|
8
|
+
#include <shared_mutex>
|
|
9
|
+
|
|
8
10
|
namespace react = facebook::react;
|
|
9
11
|
|
|
10
12
|
namespace expo {
|
|
@@ -16,6 +18,10 @@ using StatePropMapType = std::unordered_map<
|
|
|
16
18
|
|
|
17
19
|
extern StatePropMapType statePropMap;
|
|
18
20
|
|
|
21
|
+
// Guards `statePropMap`. It is written when Expo registers its view components and read
|
|
22
|
+
// when React Native builds a component descriptor registry, and these can run on different threads.
|
|
23
|
+
extern std::shared_mutex statePropMapMutex;
|
|
24
|
+
|
|
19
25
|
react::ComponentDescriptor::Unique concreteExpoComponentDescriptorConstructor(
|
|
20
26
|
const react::ComponentDescriptorParameters ¶meters
|
|
21
27
|
);
|
|
@@ -58,10 +58,14 @@ void FabricComponentsRegistry::registerComponentsRegistry(
|
|
|
58
58
|
propMap.emplace(propName, converter);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
{
|
|
62
|
+
// Released before `add` below, which constructs descriptors that take the shared lock.
|
|
63
|
+
std::unique_lock lock(statePropMapMutex);
|
|
64
|
+
statePropMap.insert_or_assign(
|
|
65
|
+
flavor,
|
|
66
|
+
propMap
|
|
67
|
+
);
|
|
68
|
+
}
|
|
65
69
|
|
|
66
70
|
providerRegistry->add(react::ComponentDescriptorProvider{
|
|
67
71
|
reinterpret_cast<react::ComponentHandle>(componentName),
|
|
@@ -2,4 +2,4 @@ import { type ComponentType } from 'react';
|
|
|
2
2
|
/**
|
|
3
3
|
* A drop-in replacement for `requireNativeComponent`.
|
|
4
4
|
*/
|
|
5
|
-
export declare function requireNativeViewManager<P>(moduleName: string, viewName?: string): ComponentType<P>;
|
|
5
|
+
export declare function requireNativeViewManager<P extends object>(moduleName: string, viewName?: string): ComponentType<P>;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
// Copyright © 2024 650 Industries.
|
|
2
|
-
/// <reference path="ts-declarations/NativeComponentRegistry.d.ts" />
|
|
3
2
|
'use client';
|
|
4
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
4
|
import { createRef, PureComponent } from 'react';
|
|
6
|
-
import { findNodeHandle } from 'react-native';
|
|
7
|
-
import { get as componentRegistryGet } from 'react-native/Libraries/NativeComponent/NativeComponentRegistry';
|
|
5
|
+
import { findNodeHandle, NativeComponentRegistry } from 'react-native';
|
|
8
6
|
import { SharedObject } from './SharedObject';
|
|
9
7
|
import { requireNativeModule } from './requireNativeModule';
|
|
10
8
|
// To make the transition from React Native's `requireNativeComponent` to Expo's
|
|
@@ -24,7 +22,7 @@ import { requireNativeModule } from './requireNativeModule';
|
|
|
24
22
|
const appIdentifier = globalThis.expo?.['__expo_app_identifier__'] ?? '';
|
|
25
23
|
const viewNameSuffix = appIdentifier ? `_${appIdentifier}` : '';
|
|
26
24
|
const nativeViewName = viewName ? `ViewManagerAdapter_${moduleName}_${viewName}${viewNameSuffix}` : `ViewManagerAdapter_${moduleName}${viewNameSuffix}`;
|
|
27
|
-
return
|
|
25
|
+
return NativeComponentRegistry.get(nativeViewName, ()=>{
|
|
28
26
|
const expoViewConfig = globalThis.expo?.getViewConfig(moduleName, viewName);
|
|
29
27
|
if (!expoViewConfig) {
|
|
30
28
|
console.warn('Unable to get the view config for %s from module %s', viewName ?? 'default view', moduleName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["NativeViewManagerAdapter.native.tsx"],"sourcesContent":[null],"names":["createRef","PureComponent","findNodeHandle","
|
|
1
|
+
{"version":3,"sources":["NativeViewManagerAdapter.native.tsx"],"sourcesContent":[null],"names":["createRef","PureComponent","findNodeHandle","NativeComponentRegistry","SharedObject","requireNativeModule","nativeComponentsCache","Map","requireNativeComponent","moduleName","viewName","appIdentifier","globalThis","expo","viewNameSuffix","nativeViewName","get","expoViewConfig","getViewConfig","console","warn","uiViewClassName","directEventTypes","validAttributes","addAttributeProcessing","processPropValue","value","sharedObjectId","__expo_shared_object_id__","descriptor","process","attributes","key","Object","keys","requireCachedNativeComponent","cacheKey","cachedNativeComponent","nativeComponent","set","mapAriaProps","props","accessibilityState","accessibilityValue","ariaBusy","ariaChecked","ariaDisabled","ariaExpanded","ariaHidden","ariaLabel","ariaLabelledBy","ariaLive","ariaSelected","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","id","tabIndex","resolvedProps","undefined","accessibilityLabelledBy","split","accessibilityLabel","accessibilityLiveRegion","accessibilityElementsHidden","importantForAccessibility","nativeID","focusable","busy","checked","disabled","expanded","selected","max","min","now","text","requireNativeViewManager","ReactNativeComponent","NativeComponent","displayName","nativeRef","nativeTag","componentDidMount","current","getNativeRef","render","ref","nativeModule","nativeViewPrototype","ViewPrototypes","assign","prototype"],"mappings":"AAAA,mCAAmC;AAEnC;;AAEA,SAA6CA,SAAS,EAAEC,aAAa,QAAQ,QAAQ;AACrF,SAEEC,cAAc,EAEdC,uBAAuB,QAClB,eAAe;AAEtB,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,mBAAmB,QAAQ,wBAAwB;AAE5D,gFAAgF;AAChF,0FAA0F;AAC1F,4CAA4C;AAC5C,EAAE;AACF,+FAA+F;AAC/F,mGAAmG;AACnG,mGAAmG;AACnG,+DAA+D;AAE/D;;CAEC,GACD,MAAMC,wBAAwB,IAAIC;AAkBlC;;CAEC,GACD,SAASC,uBACPC,UAAkB,EAClBC,QAAiB;IAEjB,MAAMC,gBAAgBC,WAAWC,IAAI,EAAE,CAAC,0BAA0B,IAAI;IACtE,MAAMC,iBAAiBH,gBAAgB,CAAC,CAAC,EAAEA,eAAe,GAAG;IAE7D,MAAMI,iBAAiBL,WACnB,CAAC,mBAAmB,EAAED,WAAW,CAAC,EAAEC,WAAWI,gBAAgB,GAC/D,CAAC,mBAAmB,EAAEL,aAAaK,gBAAgB;IAEvD,OAAOX,wBAAwBa,GAAG,CAAQD,gBAAgB;QACxD,MAAME,iBAAiBL,WAAWC,IAAI,EAAEK,cAAcT,YAAYC;QAElE,IAAI,CAACO,gBAAgB;YACnBE,QAAQC,IAAI,CACV,uDACAV,YAAY,gBACZD;YAEF,OAAO;gBAAEY,iBAAiBN;YAAe;QAC3C;QAEA,OAAO;YACLM,iBAAiBN;YACjBO,kBAAkBL,eAAeK,gBAAgB;YACjDC,iBAAiBC,uBAAuBP,eAAeM,eAAe;QACxE;IACF;AACF;AAEA;;;CAGC,GACD,SAASE,iBAAiBC,KAAc;IACtC,IAAIA,SAAS,QAAQ,OAAOA,UAAU,YAAYA,iBAAiBtB,cAAc;QAC/E,uFAAuF;QACvF,qFAAqF;QACrF,wBAAwB;QACxB,mBAAmB;QACnB,MAAMuB,iBAAiBD,MAAME,yBAAyB;QACtD,IAAI,OAAOD,mBAAmB,UAAU;YACtC,OAAOA;QACT;IACF;IACA,OAAOD;AACT;AAEA;;;;;CAKC,GACD,SAASF,uBAAuBD,eAAoC;IAClE,MAAMM,aAAa;QAAEC,SAASL;IAAiB;IAC/C,MAAMM,aAAkC,CAAC;IACzC,KAAK,MAAMC,OAAOC,OAAOC,IAAI,CAACX,iBAAkB;QAC9CQ,UAAU,CAACC,IAAI,GAAGH;IACpB;IACA,OAAOE;AACT;AAEA;;;;CAIC,GACD,SAASI,6BACP1B,UAAkB,EAClBC,QAAiB;IAEjB,MAAM0B,WAAW,GAAG3B,WAAW,CAAC,EAAEC,UAAU;IAC5C,MAAM2B,wBAAwB/B,sBAAsBU,GAAG,CAACoB;IAExD,IAAI,CAACC,uBAAuB;QAC1B,MAAMC,kBAAkB9B,uBAA8BC,YAAYC;QAClEJ,sBAAsBiC,GAAG,CAACH,UAAUE;QACpC,OAAOA;IACT;IACA,OAAOD;AACT;AAEA;;;CAGC,GACD,SAASG,aAAaC,KAA0B;IAC9C,MAAM,EACJC,kBAAkB,EAClBC,kBAAkB,EAClB,aAAaC,QAAQ,EACrB,gBAAgBC,WAAW,EAC3B,iBAAiBC,YAAY,EAC7B,iBAAiBC,YAAY,EAC7B,eAAeC,UAAU,EACzB,cAAcC,SAAS,EACvB,mBAAmBC,cAAc,EACjC,aAAaC,QAAQ,EACrB,iBAAiBC,YAAY,EAC7B,iBAAiBC,YAAY,EAC7B,iBAAiBC,YAAY,EAC7B,iBAAiBC,YAAY,EAC7B,kBAAkBC,aAAa,EAC/BC,EAAE,EACFC,QAAQ,EACR,GAAGC,eACJ,GAAGlB;IAEJ,IAAIS,mBAAmBU,WAAW;QAChCD,cAAcE,uBAAuB,GAAGX,eAAeY,KAAK,CAAC;IAC/D;IACA,IAAIb,cAAcW,WAAW;QAC3BD,cAAcI,kBAAkB,GAAGd;IACrC;IACA,IAAIE,aAAaS,WAAW;QAC1BD,cAAcK,uBAAuB,GAAGb,aAAa,QAAQ,SAASA;IACxE;IACA,IAAIH,eAAeY,WAAW;QAC5BD,cAAcM,2BAA2B,GAAGjB;QAC5C,IAAIA,eAAe,MAAM;YACvBW,cAAcO,yBAAyB,GAAG;QAC5C;IACF;IACA,IAAIT,OAAOG,WAAW;QACpBD,cAAcQ,QAAQ,GAAGV;IAC3B;IACA,IAAIC,aAAaE,WAAW;QAC1BD,cAAcS,SAAS,GAAG,CAACV;IAC7B;IACA,IACEhB,sBAAsB,QACtBE,YAAY,QACZC,eAAe,QACfC,gBAAgB,QAChBC,gBAAgB,QAChBK,gBAAgB,MAChB;QACAO,cAAcjB,kBAAkB,GAAG;YACjC2B,MAAMzB,YAAYF,oBAAoB2B;YACtCC,SAASzB,eAAeH,oBAAoB4B;YAC5CC,UAAUzB,gBAAgBJ,oBAAoB6B;YAC9CC,UAAUzB,gBAAgBL,oBAAoB8B;YAC9CC,UAAUrB,gBAAgBV,oBAAoB+B;QAChD;IACF;IACA,IACE9B,sBAAsB,QACtBU,gBAAgB,QAChBC,gBAAgB,QAChBC,gBAAgB,QAChBC,iBAAiB,MACjB;QACAG,cAAchB,kBAAkB,GAAG;YACjC+B,KAAKrB,gBAAgBV,oBAAoB+B;YACzCC,KAAKrB,gBAAgBX,oBAAoBgC;YACzCC,KAAKrB,gBAAgBZ,oBAAoBiC;YACzCC,MAAMrB,iBAAiBb,oBAAoBkC;QAC7C;IACF;IACA,OAAOlB;AACT;AAEA;;CAEC,GACD,OAAO,SAASmB,yBACdrE,UAAkB,EAClBC,QAAiB;IAEjB,MAAMqE,uBAAuB5C,6BAA6B1B,YAAYC;IAEtE,MAAMsE,wBAAwB/E;QAC5B,OAAOgF,cAAcvE,WAAWA,WAAWD,WAAW;QAEtDyE,0BAAYlF,YAA4C;QAExD,6EAA6E;QAC7E,+CAA+C;QAC/CmF,YAA2B,KAAK;QAEhCC,oBAA0B;YACxB,IAAI,CAACD,SAAS,GAAGjF,eAAe,IAAI,CAACgF,SAAS,CAACG,OAAO;QACxD;QAEA;;KAEC,GACDC,eAAwD;YACtD,OAAO,IAAI,CAACJ,SAAS,CAACG,OAAO;QAC/B;QAEAE,SAAS;YACP,qBAAO,KAACR;gBAAsB,GAAGvC,aAAa,IAAI,CAACC,KAAK,CAAC;gBAAE+C,KAAK,IAAI,CAACN,SAAS;;QAChF;IACF;IAEA,IAAI;QACF,MAAMO,eAAepF,oBAAoBI;QACzC,MAAMiF,sBACJD,aAAaE,cAAc,CAACjF,WAAW,GAAGD,WAAW,CAAC,EAAEC,UAAU,GAAGD,WAAW;QAClF,IAAIiF,qBAAqB;YACvB,iGAAiG;YACjGzD,OAAO2D,MAAM,CAACZ,gBAAgBa,SAAS,EAAEH;QAC3C;IACF,EAAE,OAAM;IACN,mFAAmF;IACnF,gGAAgG;IAChG,8FAA8F;IAC9F,gEAAgE;IAChE,gIAAgI;IAClI;IAEA,OAAOV;AACT"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-modules-core",
|
|
3
|
-
"version": "58.0.
|
|
3
|
+
"version": "58.0.14",
|
|
4
4
|
"description": "The core of Expo Modules architecture",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"expo",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"@types/invariant": "^2.2.33",
|
|
74
74
|
"@types/react": "~19.3.0",
|
|
75
75
|
"@types/react-dom": "^19.1.7",
|
|
76
|
-
"expo-module-scripts": "56.0.
|
|
76
|
+
"expo-module-scripts": "56.0.8",
|
|
77
77
|
"react-dom": "19.3.0"
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
// Copyright © 2024 650 Industries.
|
|
2
2
|
|
|
3
|
-
/// <reference path="ts-declarations/NativeComponentRegistry.d.ts" />
|
|
4
|
-
|
|
5
3
|
'use client';
|
|
6
4
|
|
|
7
5
|
import { type Component, type ComponentType, createRef, PureComponent } from 'react';
|
|
8
|
-
import {
|
|
9
|
-
|
|
6
|
+
import {
|
|
7
|
+
type ReactNativeElement,
|
|
8
|
+
findNodeHandle,
|
|
9
|
+
type HostComponent,
|
|
10
|
+
NativeComponentRegistry,
|
|
11
|
+
} from 'react-native';
|
|
10
12
|
|
|
11
13
|
import { SharedObject } from './SharedObject';
|
|
12
14
|
import { requireNativeModule } from './requireNativeModule';
|
|
@@ -44,7 +46,7 @@ declare namespace globalThis {
|
|
|
44
46
|
/**
|
|
45
47
|
* Requires a React Native component using the static view config from an Expo module.
|
|
46
48
|
*/
|
|
47
|
-
function requireNativeComponent<Props>(
|
|
49
|
+
function requireNativeComponent<Props extends object>(
|
|
48
50
|
moduleName: string,
|
|
49
51
|
viewName?: string
|
|
50
52
|
): HostComponent<Props> {
|
|
@@ -55,7 +57,7 @@ function requireNativeComponent<Props>(
|
|
|
55
57
|
? `ViewManagerAdapter_${moduleName}_${viewName}${viewNameSuffix}`
|
|
56
58
|
: `ViewManagerAdapter_${moduleName}${viewNameSuffix}`;
|
|
57
59
|
|
|
58
|
-
return
|
|
60
|
+
return NativeComponentRegistry.get<Props>(nativeViewName, () => {
|
|
59
61
|
const expoViewConfig = globalThis.expo?.getViewConfig(moduleName, viewName);
|
|
60
62
|
|
|
61
63
|
if (!expoViewConfig) {
|
|
@@ -113,7 +115,7 @@ function addAttributeProcessing(validAttributes: Record<string, any>): Record<st
|
|
|
113
115
|
* "Tried to register two views with the same name" errors on fast refresh, but
|
|
114
116
|
* also when there are multiple versions of the same package with native component.
|
|
115
117
|
*/
|
|
116
|
-
function requireCachedNativeComponent<Props>(
|
|
118
|
+
function requireCachedNativeComponent<Props extends object>(
|
|
117
119
|
moduleName: string,
|
|
118
120
|
viewName?: string
|
|
119
121
|
): HostComponent<Props> {
|
|
@@ -211,7 +213,7 @@ function mapAriaProps(props: Record<string, any>): Record<string, any> {
|
|
|
211
213
|
/**
|
|
212
214
|
* A drop-in replacement for `requireNativeComponent`.
|
|
213
215
|
*/
|
|
214
|
-
export function requireNativeViewManager<P>(
|
|
216
|
+
export function requireNativeViewManager<P extends object>(
|
|
215
217
|
moduleName: string,
|
|
216
218
|
viewName?: string
|
|
217
219
|
): ComponentType<P> {
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
declare module 'react-native/Libraries/NativeComponent/NativeComponentRegistry' {
|
|
2
|
-
import type { HostComponent } from 'react-native';
|
|
3
|
-
|
|
4
|
-
export function get<Props>(
|
|
5
|
-
name: string,
|
|
6
|
-
register: () => {
|
|
7
|
-
uiViewClassName: string;
|
|
8
|
-
validAttributes?: Record<string, any>;
|
|
9
|
-
directEventTypes?: Record<string, { registrationName: string }>;
|
|
10
|
-
}
|
|
11
|
-
): HostComponent<Props>;
|
|
12
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
declare module 'react-native/Libraries/NativeComponent/NativeComponentRegistry' {
|
|
2
|
-
import type { HostComponent } from 'react-native';
|
|
3
|
-
|
|
4
|
-
export function get<Props>(
|
|
5
|
-
name: string,
|
|
6
|
-
register: () => {
|
|
7
|
-
uiViewClassName: string;
|
|
8
|
-
validAttributes?: Record<string, any>;
|
|
9
|
-
directEventTypes?: Record<string, { registrationName: string }>;
|
|
10
|
-
}
|
|
11
|
-
): HostComponent<Props>;
|
|
12
|
-
}
|