Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions packages/react-native/src/unstable-internals-do-not-use.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
// ----------------------------------------------------------------------------

import type * as React from 'react';
import type {ColorValue} from '../types_generated/Libraries/StyleSheet/StyleSheet';
import type {ProcessedColorValue} from '../types_generated/Libraries/StyleSheet/processColor';

// #region AppContainer

Expand Down Expand Up @@ -64,6 +66,17 @@ export class AssetSourceResolver {
static pickScale(scales: number[], deviceScale?: number): number;
}

// #endregion
// #region ConditionallyIgnoredEventHandlers

/**
* Marks generated event-handler view-config attributes as conditionally
* ignored on platforms that do not synthesize them from native view managers.
*/
export function ConditionallyIgnoredEventHandlers<
T extends Readonly<Record<string, true>>,
>(value: T): T | undefined;

// #endregion
// #region customDirectEventTypes

Expand Down Expand Up @@ -212,3 +225,41 @@ interface PressabilityDebugViewProps {
export const PressabilityDebugView: React.ComponentType<PressabilityDebugViewProps>;

// #endregion
// #region Renderer

/** Renderer APIs used by generated Codegen modules. */
export * as Renderer from '../types_generated/Libraries/ReactNative/RendererImplementation';

// #endregion
// #region Codegen view config helpers

export const colorAttribute:
| true
| Readonly<{
process: typeof import('../types_generated/Libraries/StyleSheet/processColor').default;
}>;

export function processColorArray(
colors: ReadonlyArray<ColorValue> | null | undefined,
): ReadonlyArray<ProcessedColorValue> | null;

type Point = {
x: number | null | undefined;
y: number | null | undefined;
};

export function pointsDiffer(
one: Point | null | undefined,
two: Point | null | undefined,
): boolean;

type EdgeInsets = {
top: number | null | undefined;
left: number | null | undefined;
right: number | null | undefined;
bottom: number | null | undefined;
};

export function insetsDiffer(one: EdgeInsets, two: EdgeInsets): boolean;

// #endregion
30 changes: 30 additions & 0 deletions packages/react-native/src/unstable-internals-do-not-use.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,21 @@
// and unstable-internals-do-not-use.js.flow.
// ----------------------------------------------------------------------------

import typeof {colorAttribute} from '../Libraries/Components/View/ReactNativeStyleAttributes';
import typeof getDevServer from '../Libraries/Core/Devtools/getDevServer';
import typeof NativeExceptionsManager from '../Libraries/Core/NativeExceptionsManager';
import typeof AssetSourceResolver from '../Libraries/Image/AssetSourceResolver';
import typeof {ConditionallyIgnoredEventHandlers} from '../Libraries/NativeComponent/ViewConfigIgnore';
import typeof NativeRedBox from '../Libraries/NativeModules/specs/NativeRedBox';
import typeof NativeSourceCode from '../Libraries/NativeModules/specs/NativeSourceCode';
import typeof {PressabilityDebugView} from '../Libraries/Pressability/PressabilityDebug';
import typeof AppContainer from '../Libraries/ReactNative/AppContainer';
import typeof * as Renderer from '../Libraries/ReactNative/RendererProxy';
import typeof {customDirectEventTypes} from '../Libraries/Renderer/shims/ReactNativeViewConfigRegistry';
import typeof processColorArray from '../Libraries/StyleSheet/processColorArray';
import typeof DevLoadingView from '../Libraries/Utilities/DevLoadingView';
import typeof insetsDiffer from '../Libraries/Utilities/differ/insetsDiffer';
import typeof pointsDiffer from '../Libraries/Utilities/differ/pointsDiffer';
import typeof HMRClient from '../Libraries/Utilities/HMRClient';

// flowlint unsafe-getters-setters:off
Expand All @@ -60,6 +66,12 @@ module.exports = {
get AssetSourceResolver(): AssetSourceResolver {
return require('../Libraries/Image/AssetSourceResolver').default;
},
get ConditionallyIgnoredEventHandlers(): ConditionallyIgnoredEventHandlers<{
readonly [name: string]: true,
}> {
return require('../Libraries/NativeComponent/ViewConfigIgnore')
.ConditionallyIgnoredEventHandlers;
},
get customDirectEventTypes(): customDirectEventTypes {
return require('../Libraries/Renderer/shims/ReactNativeViewConfigRegistry')
.customDirectEventTypes;
Expand All @@ -86,4 +98,22 @@ module.exports = {
return require('../Libraries/Pressability/PressabilityDebug')
.PressabilityDebugView;
},
// Generated Codegen modules can be emitted outside this package, so they
// cannot use package-relative imports to access these implementations.
get colorAttribute(): colorAttribute {
return require('../Libraries/Components/View/ReactNativeStyleAttributes')
.colorAttribute;
},
get insetsDiffer(): insetsDiffer {
return require('../Libraries/Utilities/differ/insetsDiffer').default;
},
get pointsDiffer(): pointsDiffer {
return require('../Libraries/Utilities/differ/pointsDiffer').default;
},
get processColorArray(): processColorArray {
return require('../Libraries/StyleSheet/processColorArray').default;
},
get Renderer(): Renderer {
return require('../Libraries/ReactNative/RendererProxy');
},
};
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

export {default as AppContainer} from '../Libraries/ReactNative/AppContainer';
export {default as AssetSourceResolver} from '../Libraries/Image/AssetSourceResolver';
export {colorAttribute} from '../Libraries/Components/View/ReactNativeStyleAttributes';
export {ConditionallyIgnoredEventHandlers} from '../Libraries/NativeComponent/ViewConfigIgnore';
export {customDirectEventTypes} from '../Libraries/Renderer/shims/ReactNativeViewConfigRegistry';
export {default as DevLoadingView} from '../Libraries/Utilities/DevLoadingView';
export {default as getDevServer} from '../Libraries/Core/Devtools/getDevServer';
Expand All @@ -24,3 +26,7 @@ export {default as NativeExceptionsManager} from '../Libraries/Core/NativeExcept
export {default as NativeRedBox} from '../Libraries/NativeModules/specs/NativeRedBox';
export {default as NativeSourceCode} from '../Libraries/NativeModules/specs/NativeSourceCode';
export {PressabilityDebugView} from '../Libraries/Pressability/PressabilityDebug';
export {default as insetsDiffer} from '../Libraries/Utilities/differ/insetsDiffer';
export {default as pointsDiffer} from '../Libraries/Utilities/differ/pointsDiffer';
export {default as processColorArray} from '../Libraries/StyleSheet/processColorArray';
export * as Renderer from '../Libraries/ReactNative/RendererProxy';
Loading