Files
react-native/packages/virtualized-lists/index.js
T
Iwo Plaza be8393c41b Limit @react-native/virtualized-lists subpath imports (#50392)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50392

## This diff
Defines an exports field for the "react-native/virtualized-lists" package. Limits internal use of subpath
imports to virtualized-lists package, and exports all currently used APIs one the root level.

Changelog:
[General][Breaking] - Subpath imports to the internal react-native/virtualized-lists package are not allowed.

Reviewed By: huntie

Differential Revision: D72162344

fbshipit-source-id: 828dab8e569f019fc48084af475e152b898f5bb5
2025-04-01 03:26:25 -07:00

82 lines
2.5 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
* @flow
*/
'use strict';
import typeof ChildListCollection from './Lists/ChildListCollection';
import typeof FillRateHelper from './Lists/FillRateHelper';
import typeof ViewabilityHelper from './Lists/ViewabilityHelper';
import typeof VirtualizedList from './Lists/VirtualizedList';
import typeof VirtualizedSectionList from './Lists/VirtualizedSectionList';
import {
typeof VirtualizedListCellContextProvider,
typeof VirtualizedListContext,
typeof VirtualizedListContextProvider,
typeof VirtualizedListContextResetter,
} from './Lists/VirtualizedListContext';
import {keyExtractor} from './Lists/VirtualizeUtils';
export type {
ViewToken,
ViewabilityConfig,
ViewabilityConfigCallbackPair,
ViewabilityConfigCallbackPairs,
} from './Lists/ViewabilityHelper';
export type {
CellRendererProps,
ListRenderItemInfo,
ListRenderItem,
Separators,
VirtualizedListProps,
} from './Lists/VirtualizedListProps';
export type {
VirtualizedSectionListProps,
ScrollToLocationParamsType,
SectionBase,
SectionData,
} from './Lists/VirtualizedSectionList';
export type {FillRateInfo} from './Lists/FillRateHelper';
export default {
keyExtractor,
get VirtualizedList(): VirtualizedList {
return require('./Lists/VirtualizedList').default;
},
get VirtualizedSectionList(): VirtualizedSectionList<any, any> {
return require('./Lists/VirtualizedSectionList').default;
},
get VirtualizedListContextResetter(): VirtualizedListContextResetter {
return require('./Lists/VirtualizedListContext')
.VirtualizedListContextResetter;
},
get VirtualizedListContext(): VirtualizedListContext {
return require('./Lists/VirtualizedListContext').VirtualizedListContext;
},
get VirtualizedListContextProvider(): VirtualizedListContextProvider {
return require('./Lists/VirtualizedListContext')
.VirtualizedListContextProvider;
},
get VirtualizedListCellContextProvider(): VirtualizedListCellContextProvider {
return require('./Lists/VirtualizedListContext')
.VirtualizedListCellContextProvider;
},
get ViewabilityHelper(): ViewabilityHelper {
return require('./Lists/ViewabilityHelper').default;
},
get FillRateHelper(): FillRateHelper {
return require('./Lists/FillRateHelper').default;
},
get ChildListCollection(): ChildListCollection {
return require('./Lists/ChildListCollection').default;
},
};