@shopify/flash-list 2.0.2-rc.1 → 2.0.3
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/README.md +27 -97
- package/dist/AnimatedFlashList.js +2 -2
- package/dist/AnimatedFlashList.js.map +1 -1
- package/dist/FlashList.d.ts +1 -167
- package/dist/FlashList.d.ts.map +1 -1
- package/dist/FlashList.js +3 -595
- package/dist/FlashList.js.map +1 -1
- package/dist/FlashListProps.d.ts +2 -63
- package/dist/FlashListProps.d.ts.map +1 -1
- package/dist/FlashListProps.js.map +1 -1
- package/dist/__tests__/LayoutCommitObserver.test.js +6 -4
- package/dist/__tests__/LayoutCommitObserver.test.js.map +1 -1
- package/dist/__tests__/RecyclerView.test.js +2 -2
- package/dist/__tests__/RecyclerView.test.js.map +1 -1
- package/dist/__tests__/ViewabilityHelper.test.js +3 -4
- package/dist/__tests__/ViewabilityHelper.test.js.map +1 -1
- package/dist/benchmark/JSFPSMonitor.d.ts.map +1 -1
- package/dist/benchmark/JSFPSMonitor.js +2 -1
- package/dist/benchmark/JSFPSMonitor.js.map +1 -1
- package/dist/benchmark/useBenchmark.d.ts +2 -4
- package/dist/benchmark/useBenchmark.d.ts.map +1 -1
- package/dist/benchmark/useBenchmark.js +12 -24
- package/dist/benchmark/useBenchmark.js.map +1 -1
- package/dist/benchmark/useFlatListBenchmark.d.ts.map +1 -1
- package/dist/benchmark/useFlatListBenchmark.js +2 -1
- package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
- package/dist/errors/ErrorMessages.d.ts +16 -0
- package/dist/errors/ErrorMessages.d.ts.map +1 -0
- package/dist/errors/ErrorMessages.js +19 -0
- package/dist/errors/ErrorMessages.js.map +1 -0
- package/dist/errors/WarningMessages.d.ts +5 -0
- package/dist/errors/WarningMessages.d.ts.map +1 -0
- package/dist/errors/WarningMessages.js +9 -0
- package/dist/errors/WarningMessages.js.map +1 -0
- package/dist/index.d.ts +3 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -29
- package/dist/index.js.map +1 -1
- package/dist/isNewArch.d.ts +2 -0
- package/dist/isNewArch.d.ts.map +1 -0
- package/dist/isNewArch.js +25 -0
- package/dist/isNewArch.js.map +1 -0
- package/dist/native/config/PlatformHelper.android.d.ts +1 -22
- package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.android.js +1 -16
- package/dist/native/config/PlatformHelper.android.js.map +1 -1
- package/dist/native/config/PlatformHelper.d.ts +1 -22
- package/dist/native/config/PlatformHelper.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.ios.d.ts +1 -22
- package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.ios.js +1 -15
- package/dist/native/config/PlatformHelper.ios.js.map +1 -1
- package/dist/native/config/PlatformHelper.js +1 -16
- package/dist/native/config/PlatformHelper.js.map +1 -1
- package/dist/native/config/PlatformHelper.web.d.ts +1 -23
- package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.web.js +1 -18
- package/dist/native/config/PlatformHelper.web.js.map +1 -1
- package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
- package/dist/recyclerview/RecyclerView.js +7 -1
- package/dist/recyclerview/RecyclerView.js.map +1 -1
- package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
- package/dist/recyclerview/RecyclerViewManager.js +9 -8
- package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
- package/dist/recyclerview/RecyclerViewProps.d.ts +1 -8
- package/dist/recyclerview/RecyclerViewProps.d.ts.map +1 -1
- package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
- package/dist/recyclerview/hooks/useRecyclerViewController.js +4 -0
- package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
- package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -1
- package/dist/recyclerview/layout-managers/LayoutManager.js +2 -1
- package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
- package/dist/recyclerview/viewability/ViewToken.d.ts.map +1 -0
- package/dist/recyclerview/viewability/ViewToken.js.map +1 -0
- package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.d.ts +2 -2
- package/dist/recyclerview/viewability/ViewabilityHelper.d.ts.map +1 -0
- package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.js +2 -4
- package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.js.map +1 -1
- package/dist/{viewability → recyclerview/viewability}/ViewabilityManager.d.ts +3 -3
- package/dist/recyclerview/viewability/ViewabilityManager.d.ts.map +1 -0
- package/dist/{viewability → recyclerview/viewability}/ViewabilityManager.js +16 -16
- package/dist/recyclerview/viewability/ViewabilityManager.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/jestSetup.js +0 -9
- package/package.json +2 -11
- package/src/AnimatedFlashList.ts +2 -2
- package/src/FlashList.ts +1 -0
- package/src/FlashListProps.ts +3 -79
- package/src/__tests__/LayoutCommitObserver.test.tsx +7 -4
- package/src/__tests__/RecyclerView.test.tsx +2 -2
- package/src/__tests__/ViewabilityHelper.test.ts +13 -14
- package/src/benchmark/JSFPSMonitor.ts +3 -3
- package/src/benchmark/useBenchmark.ts +12 -40
- package/src/benchmark/useFlatListBenchmark.ts +3 -1
- package/src/errors/ErrorMessages.ts +26 -0
- package/src/errors/WarningMessages.ts +7 -0
- package/src/index.ts +7 -43
- package/src/isNewArch.ts +25 -0
- package/src/native/config/PlatformHelper.android.ts +1 -25
- package/src/native/config/PlatformHelper.ios.ts +1 -24
- package/src/native/config/PlatformHelper.ts +1 -25
- package/src/native/config/PlatformHelper.web.ts +1 -30
- package/src/recyclerview/RecyclerView.tsx +7 -3
- package/src/recyclerview/RecyclerViewManager.ts +9 -18
- package/src/recyclerview/RecyclerViewProps.ts +1 -11
- package/src/recyclerview/hooks/useRecyclerViewController.tsx +4 -0
- package/src/recyclerview/layout-managers/LayoutManager.ts +2 -1
- package/src/{viewability → recyclerview/viewability}/ViewabilityHelper.ts +8 -9
- package/src/{viewability → recyclerview/viewability}/ViewabilityManager.ts +18 -20
- package/RNFlashList.podspec +0 -37
- package/android/build.gradle +0 -89
- package/android/src/main/AndroidManifest.xml +0 -3
- package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutShadow.kt +0 -105
- package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutView.kt +0 -158
- package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutViewManager.kt +0 -70
- package/android/src/main/kotlin/com/shopify/reactnative/flash_list/BlankAreaEvent.kt +0 -29
- package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainer.java +0 -16
- package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainerImpl.kt +0 -16
- package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainerManager.kt +0 -34
- package/android/src/main/kotlin/com/shopify/reactnative/flash_list/FlashListPackage.kt +0 -19
- package/android/src/paper/java/com/facebook/react/viewmanagers/AutoLayoutViewManagerDelegate.java +0 -47
- package/android/src/paper/java/com/facebook/react/viewmanagers/AutoLayoutViewManagerInterface.java +0 -21
- package/android/src/paper/java/com/facebook/react/viewmanagers/CellContainerManagerDelegate.java +0 -32
- package/android/src/paper/java/com/facebook/react/viewmanagers/CellContainerManagerInterface.java +0 -16
- package/android/src/test/java/com/shopify/reactnative/flash_list/AutoLayoutShadowTest.kt +0 -147
- package/android/src/test/java/com/shopify/reactnative/flash_list/models/Rect.kt +0 -61
- package/android/src/test/java/com/shopify/reactnative/flash_list/models/TestCollection.kt +0 -6
- package/android/src/test/java/com/shopify/reactnative/flash_list/models/TestDataModel.kt +0 -8
- package/android/src/test/resources/LayoutTestData.json +0 -788
- package/dist/GridLayoutProviderWithProps.d.ts +0 -42
- package/dist/GridLayoutProviderWithProps.d.ts.map +0 -1
- package/dist/GridLayoutProviderWithProps.js +0 -114
- package/dist/GridLayoutProviderWithProps.js.map +0 -1
- package/dist/MasonryFlashList.d.ts +0 -51
- package/dist/MasonryFlashList.d.ts.map +0 -1
- package/dist/MasonryFlashList.js +0 -252
- package/dist/MasonryFlashList.js.map +0 -1
- package/dist/PureComponentWrapper.d.ts +0 -22
- package/dist/PureComponentWrapper.d.ts.map +0 -1
- package/dist/PureComponentWrapper.js +0 -37
- package/dist/PureComponentWrapper.js.map +0 -1
- package/dist/__tests__/ContentContainerUtils.test.d.ts +0 -2
- package/dist/__tests__/ContentContainerUtils.test.d.ts.map +0 -1
- package/dist/__tests__/ContentContainerUtils.test.js +0 -85
- package/dist/__tests__/ContentContainerUtils.test.js.map +0 -1
- package/dist/__tests__/FlashList.test.d.ts +0 -2
- package/dist/__tests__/FlashList.test.d.ts.map +0 -1
- package/dist/__tests__/FlashList.test.js +0 -902
- package/dist/__tests__/FlashList.test.js.map +0 -1
- package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts +0 -2
- package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts.map +0 -1
- package/dist/__tests__/GridLayoutProviderWithProps.test.js +0 -143
- package/dist/__tests__/GridLayoutProviderWithProps.test.js.map +0 -1
- package/dist/__tests__/MasonryFlashList.test.d.ts +0 -2
- package/dist/__tests__/MasonryFlashList.test.d.ts.map +0 -1
- package/dist/__tests__/MasonryFlashList.test.js +0 -254
- package/dist/__tests__/MasonryFlashList.test.js.map +0 -1
- package/dist/__tests__/PlatformHelper.web.test.d.ts +0 -2
- package/dist/__tests__/PlatformHelper.web.test.d.ts.map +0 -1
- package/dist/__tests__/PlatformHelper.web.test.js +0 -33
- package/dist/__tests__/PlatformHelper.web.test.js.map +0 -1
- package/dist/__tests__/helpers/mountFlashList.d.ts +0 -19
- package/dist/__tests__/helpers/mountFlashList.d.ts.map +0 -1
- package/dist/__tests__/helpers/mountFlashList.js +0 -44
- package/dist/__tests__/helpers/mountFlashList.js.map +0 -1
- package/dist/__tests__/helpers/mountMasonryFlashList.d.ts +0 -18
- package/dist/__tests__/helpers/mountMasonryFlashList.d.ts.map +0 -1
- package/dist/__tests__/helpers/mountMasonryFlashList.js +0 -49
- package/dist/__tests__/helpers/mountMasonryFlashList.js.map +0 -1
- package/dist/__tests__/useBlankAreaTracker.test.d.ts +0 -2
- package/dist/__tests__/useBlankAreaTracker.test.d.ts.map +0 -1
- package/dist/__tests__/useBlankAreaTracker.test.js +0 -179
- package/dist/__tests__/useBlankAreaTracker.test.js.map +0 -1
- package/dist/benchmark/useBlankAreaTracker.d.ts +0 -34
- package/dist/benchmark/useBlankAreaTracker.d.ts.map +0 -1
- package/dist/benchmark/useBlankAreaTracker.js +0 -66
- package/dist/benchmark/useBlankAreaTracker.js.map +0 -1
- package/dist/enableNewCore.d.ts +0 -3
- package/dist/enableNewCore.d.ts.map +0 -1
- package/dist/enableNewCore.js +0 -25
- package/dist/enableNewCore.js.map +0 -1
- package/dist/errors/CustomError.d.ts +0 -8
- package/dist/errors/CustomError.d.ts.map +0 -1
- package/dist/errors/CustomError.js +0 -14
- package/dist/errors/CustomError.js.map +0 -1
- package/dist/errors/ExceptionList.d.ts +0 -24
- package/dist/errors/ExceptionList.d.ts.map +0 -1
- package/dist/errors/ExceptionList.js +0 -26
- package/dist/errors/ExceptionList.js.map +0 -1
- package/dist/errors/Warnings.d.ts +0 -9
- package/dist/errors/Warnings.d.ts.map +0 -1
- package/dist/errors/Warnings.js +0 -13
- package/dist/errors/Warnings.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutView.d.ts +0 -22
- package/dist/native/auto-layout/AutoLayoutView.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutView.js +0 -48
- package/dist/native/auto-layout/AutoLayoutView.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts +0 -4
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js +0 -6
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts +0 -5
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts +0 -4
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js +0 -6
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js +0 -6
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts +0 -16
- package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js +0 -3
- package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js.map +0 -1
- package/dist/native/cell-container/CellContainer.android.d.ts +0 -6
- package/dist/native/cell-container/CellContainer.android.d.ts.map +0 -1
- package/dist/native/cell-container/CellContainer.android.js +0 -9
- package/dist/native/cell-container/CellContainer.android.js.map +0 -1
- package/dist/native/cell-container/CellContainer.d.ts +0 -8
- package/dist/native/cell-container/CellContainer.d.ts.map +0 -1
- package/dist/native/cell-container/CellContainer.ios.d.ts +0 -6
- package/dist/native/cell-container/CellContainer.ios.d.ts.map +0 -1
- package/dist/native/cell-container/CellContainer.ios.js +0 -9
- package/dist/native/cell-container/CellContainer.ios.js.map +0 -1
- package/dist/native/cell-container/CellContainer.js +0 -11
- package/dist/native/cell-container/CellContainer.js.map +0 -1
- package/dist/native/cell-container/CellContainer.web.d.ts +0 -7
- package/dist/native/cell-container/CellContainer.web.d.ts.map +0 -1
- package/dist/native/cell-container/CellContainer.web.js +0 -13
- package/dist/native/cell-container/CellContainer.web.js.map +0 -1
- package/dist/specs/AutoLayoutNativeComponent.d.ts +0 -18
- package/dist/specs/AutoLayoutNativeComponent.d.ts.map +0 -1
- package/dist/specs/AutoLayoutNativeComponent.js +0 -6
- package/dist/specs/AutoLayoutNativeComponent.js.map +0 -1
- package/dist/specs/CellContainerNativeComponent.d.ts +0 -8
- package/dist/specs/CellContainerNativeComponent.d.ts.map +0 -1
- package/dist/specs/CellContainerNativeComponent.js +0 -6
- package/dist/specs/CellContainerNativeComponent.js.map +0 -1
- package/dist/utils/ContentContainerUtils.d.ts +0 -27
- package/dist/utils/ContentContainerUtils.d.ts.map +0 -1
- package/dist/utils/ContentContainerUtils.js +0 -48
- package/dist/utils/ContentContainerUtils.js.map +0 -1
- package/dist/viewability/ViewToken.d.ts.map +0 -1
- package/dist/viewability/ViewToken.js.map +0 -1
- package/dist/viewability/ViewabilityHelper.d.ts.map +0 -1
- package/dist/viewability/ViewabilityManager.d.ts.map +0 -1
- package/dist/viewability/ViewabilityManager.js.map +0 -1
- package/ios/RNFlashList.xcodeproj/project.pbxproj +0 -3
- package/ios/RNFlashList.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
- package/ios/Sources/AutoLayoutView.swift +0 -294
- package/ios/Sources/AutoLayoutViewComponentView.h +0 -16
- package/ios/Sources/AutoLayoutViewComponentView.mm +0 -90
- package/ios/Sources/AutoLayoutViewManager.mm +0 -14
- package/ios/Sources/AutoLayoutViewManager.swift +0 -12
- package/ios/Sources/CellContainerComponentView.h +0 -18
- package/ios/Sources/CellContainerComponentView.mm +0 -62
- package/ios/Sources/CellContainerManager.mm +0 -8
- package/ios/Sources/CellContainerManager.swift +0 -12
- package/ios/Sources/FlatListPro-Bridging-Header.h +0 -11
- package/ios/Tests/AutoLayoutViewTests.swift +0 -113
- package/src/FlashList.tsx +0 -953
- package/src/GridLayoutProviderWithProps.ts +0 -180
- package/src/MasonryFlashList.tsx +0 -476
- package/src/PureComponentWrapper.tsx +0 -42
- package/src/__tests__/ContentContainerUtils.test.ts +0 -130
- package/src/__tests__/FlashList.test.tsx +0 -1001
- package/src/__tests__/GridLayoutProviderWithProps.test.ts +0 -179
- package/src/__tests__/MasonryFlashList.test.ts +0 -292
- package/src/__tests__/PlatformHelper.web.test.ts +0 -45
- package/src/__tests__/helpers/mountFlashList.tsx +0 -62
- package/src/__tests__/helpers/mountMasonryFlashList.tsx +0 -70
- package/src/__tests__/useBlankAreaTracker.test.tsx +0 -206
- package/src/benchmark/useBlankAreaTracker.ts +0 -117
- package/src/enableNewCore.ts +0 -24
- package/src/errors/CustomError.ts +0 -10
- package/src/errors/ExceptionList.ts +0 -28
- package/src/errors/Warnings.ts +0 -15
- package/src/native/auto-layout/AutoLayoutView.tsx +0 -73
- package/src/native/auto-layout/AutoLayoutViewNativeComponent.android.ts +0 -7
- package/src/native/auto-layout/AutoLayoutViewNativeComponent.ios.ts +0 -7
- package/src/native/auto-layout/AutoLayoutViewNativeComponent.ts +0 -7
- package/src/native/auto-layout/AutoLayoutViewNativeComponentProps.ts +0 -17
- package/src/native/cell-container/CellContainer.android.ts +0 -7
- package/src/native/cell-container/CellContainer.ios.ts +0 -7
- package/src/native/cell-container/CellContainer.tsx +0 -14
- package/src/native/cell-container/CellContainer.web.tsx +0 -9
- package/src/specs/AutoLayoutNativeComponent.ts +0 -24
- package/src/specs/CellContainerNativeComponent.ts +0 -9
- package/src/utils/ContentContainerUtils.ts +0 -92
- /package/dist/{viewability → recyclerview/viewability}/ViewToken.d.ts +0 -0
- /package/dist/{viewability → recyclerview/viewability}/ViewToken.js +0 -0
- /package/src/{viewability → recyclerview/viewability}/ViewToken.ts +0 -0
package/dist/FlashListProps.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type React from "react";
|
|
2
2
|
import { StyleProp, ScrollViewProps, ViewabilityConfig, ViewStyle } from "react-native";
|
|
3
|
-
import
|
|
4
|
-
import ViewToken from "./viewability/ViewToken";
|
|
3
|
+
import ViewToken from "./recyclerview/viewability/ViewToken";
|
|
5
4
|
export interface ListRenderItemInfo<TItem> {
|
|
6
5
|
item: TItem;
|
|
7
6
|
index: number;
|
|
@@ -21,7 +20,6 @@ export interface OverrideProps {
|
|
|
21
20
|
export type RenderTarget = "Cell" | "StickyHeader" | "Measurement";
|
|
22
21
|
export declare const RenderTargetOptions: Record<string, RenderTarget>;
|
|
23
22
|
export type ListRenderItem<TItem> = (info: ListRenderItemInfo<TItem>) => React.ReactElement | null;
|
|
24
|
-
export type ContentStyle = Pick<ViewStyle, "backgroundColor" | "paddingTop" | "paddingLeft" | "paddingRight" | "paddingBottom" | "padding" | "paddingVertical" | "paddingHorizontal">;
|
|
25
23
|
export interface ViewabilityConfigCallbackPair<TItem> {
|
|
26
24
|
viewabilityConfig: ViewabilityConfig;
|
|
27
25
|
onViewableItemsChanged: ((info: {
|
|
@@ -51,13 +49,6 @@ export interface FlashListProps<TItem> extends Omit<ScrollViewProps, "maintainVi
|
|
|
51
49
|
* For simplicity, data is a plain array of items of a given type.
|
|
52
50
|
*/
|
|
53
51
|
data: ReadonlyArray<TItem> | null | undefined;
|
|
54
|
-
/**
|
|
55
|
-
* Average or median size for elements in the list. Doesn't have to be very accurate but a good estimate can improve performance.
|
|
56
|
-
* A quick look at `Element Inspector` can help you determine this. If you're confused between two values, the smaller value is a better choice.
|
|
57
|
-
* For vertical lists provide average height and for horizontal average width.
|
|
58
|
-
* Read more about it here: https://shopify.github.io/flash-list/docs/estimated-item-size
|
|
59
|
-
*/
|
|
60
|
-
estimatedItemSize?: number;
|
|
61
52
|
/**
|
|
62
53
|
* Each cell is rendered using this element.
|
|
63
54
|
* Can be a React Component Class, or a render function.
|
|
@@ -104,29 +95,10 @@ export interface FlashListProps<TItem> extends Omit<ScrollViewProps, "maintainVi
|
|
|
104
95
|
* Rendered as the main scrollview.
|
|
105
96
|
*/
|
|
106
97
|
renderScrollComponent?: React.ComponentType<ScrollViewProps> | React.FC<ScrollViewProps>;
|
|
107
|
-
/**
|
|
108
|
-
* You can use `contentContainerStyle` to apply padding that will be applied to the whole content itself.
|
|
109
|
-
* For example, you can apply this padding, so that all of your items have leading and trailing space.
|
|
110
|
-
*/
|
|
111
|
-
contentContainerStyle?: ContentStyle;
|
|
112
98
|
/**
|
|
113
99
|
* Draw distance for advanced rendering (in dp/px)
|
|
114
100
|
*/
|
|
115
101
|
drawDistance?: number;
|
|
116
|
-
/**
|
|
117
|
-
* Specifies how far the first item is drawn from start of the list window or, offset of the first item of the list (not the header).
|
|
118
|
-
* Needed if you're using initialScrollIndex prop. Before the initial draw the list cannot figure out the size of header or, any special margin/padding that might have been applied
|
|
119
|
-
* using header styles etc.
|
|
120
|
-
* If this isn't provided initialScrollIndex might not scroll to the provided index.
|
|
121
|
-
*/
|
|
122
|
-
estimatedFirstItemOffset?: number;
|
|
123
|
-
/**
|
|
124
|
-
* Visible height and width of the list. This is not the scroll content size.
|
|
125
|
-
*/
|
|
126
|
-
estimatedListSize?: {
|
|
127
|
-
height: number;
|
|
128
|
-
width: number;
|
|
129
|
-
};
|
|
130
102
|
/**
|
|
131
103
|
* A marker property for telling the list to re-render (since it implements PureComponent).
|
|
132
104
|
* If any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the `data` prop,
|
|
@@ -141,10 +113,6 @@ export interface FlashListProps<TItem> extends Omit<ScrollViewProps, "maintainVi
|
|
|
141
113
|
* Instead of starting at the top with the first item, start at initialScrollIndex.
|
|
142
114
|
*/
|
|
143
115
|
initialScrollIndex?: number | null | undefined;
|
|
144
|
-
/**
|
|
145
|
-
* Reverses the direction of scroll. Uses scale transforms of -1.
|
|
146
|
-
*/
|
|
147
|
-
inverted?: boolean | null | undefined;
|
|
148
116
|
/**
|
|
149
117
|
* Used to extract a unique key for a given item at the specified index.
|
|
150
118
|
* Key is used for optimizing performance. Defining `keyExtractor` is also necessary
|
|
@@ -157,17 +125,6 @@ export interface FlashListProps<TItem> extends Omit<ScrollViewProps, "maintainVi
|
|
|
157
125
|
* Items should all be the same height - masonry layouts are not supported.
|
|
158
126
|
*/
|
|
159
127
|
numColumns?: number | undefined;
|
|
160
|
-
/**
|
|
161
|
-
* Computes blank space that is visible to the user during scroll or list load. If list doesn't have enough items to fill the screen even then this will be raised.
|
|
162
|
-
* Values reported: {
|
|
163
|
-
* offsetStart -> visible blank space on top of the screen (while going up). If value is greater than 0 then it's visible to user.
|
|
164
|
-
* offsetEnd -> visible blank space at the end of the screen (while going down). If value is greater than 0 then it's visible to user.
|
|
165
|
-
* blankArea -> max(offsetStart, offsetEnd) use this directly and look for values > 0
|
|
166
|
-
* }
|
|
167
|
-
* Please note that this event isn't synced with onScroll event but works with native onDraw/layoutSubviews. Events with values > 0 are blanks.
|
|
168
|
-
* This event is raised even when there is no visible blank with negative values for extensibility however, for most use cases check blankArea > 0 and use the value.
|
|
169
|
-
*/
|
|
170
|
-
onBlankArea?: BlankAreaEventHandler;
|
|
171
128
|
/**
|
|
172
129
|
* Called once when the scroll position gets within onEndReachedThreshold of the rendered content.
|
|
173
130
|
*/
|
|
@@ -212,11 +169,7 @@ export interface FlashListProps<TItem> extends Omit<ScrollViewProps, "maintainVi
|
|
|
212
169
|
*/
|
|
213
170
|
getItemType?: (item: TItem, index: number, extraData?: any) => string | number | undefined;
|
|
214
171
|
/**
|
|
215
|
-
* This method can be used to
|
|
216
|
-
*
|
|
217
|
-
* Providing specific estimates is a good idea when you can calculate sizes reliably. FlashList will prefer this value over `estimatedItemSize` for that specific item.
|
|
218
|
-
* Precise estimates will also improve precision of `scrollToIndex` method and `initialScrollIndex` prop. If you have a `separator` below your items you can include its size in the estimate.
|
|
219
|
-
*
|
|
172
|
+
* This method can be used to change column span of an item.
|
|
220
173
|
* Changing item span is useful when you have grid layouts (numColumns > 1) and you want few items to be bigger than the rest.
|
|
221
174
|
*
|
|
222
175
|
* Modify the given layout. Do not return. FlashList will fallback to default values if this is ignored.
|
|
@@ -225,7 +178,6 @@ export interface FlashListProps<TItem> extends Omit<ScrollViewProps, "maintainVi
|
|
|
225
178
|
*/
|
|
226
179
|
overrideItemLayout?: (layout: {
|
|
227
180
|
span?: number;
|
|
228
|
-
size?: number;
|
|
229
181
|
}, item: TItem, index: number, maxColumns: number, extraData?: any) => void;
|
|
230
182
|
/**
|
|
231
183
|
* For debugging and exception use cases, internal props will be overriden with these values if used
|
|
@@ -251,19 +203,6 @@ export interface FlashListProps<TItem> extends Omit<ScrollViewProps, "maintainVi
|
|
|
251
203
|
* A specific `onViewableItemsChanged` will be called when its corresponding `ViewabilityConfig`'s conditions are met.
|
|
252
204
|
*/
|
|
253
205
|
viewabilityConfigCallbackPairs?: ViewabilityConfigCallbackPairs<TItem> | undefined;
|
|
254
|
-
/**
|
|
255
|
-
* FlashList attempts to measure size of horizontal lists by drawing an extra list item in advance. This can sometimes cause issues when used with `initialScrollIndex` in lists
|
|
256
|
-
* with very little content. You might see some amount of over scroll. When set to true the list's rendered size needs to be deterministic (i.e., height and width greater than 0)
|
|
257
|
-
* as FlashList will skip rendering the extra item for measurement. Default value is `false`.
|
|
258
|
-
*/
|
|
259
|
-
disableHorizontalListHeightMeasurement?: boolean;
|
|
260
|
-
/**
|
|
261
|
-
* FlashList applies some fixes to layouts of its children which can conflict with custom `CellRendererComponent`
|
|
262
|
-
* implementations. You can disable this behavior by setting this to `true`.
|
|
263
|
-
* Recommendation: Set this to `true` while you apply special behavior to the `CellRendererComponent`. Once done set this to
|
|
264
|
-
* `false` again.
|
|
265
|
-
*/
|
|
266
|
-
disableAutoLayout?: boolean;
|
|
267
206
|
/**
|
|
268
207
|
* New arch only
|
|
269
208
|
* Maximum number of items in the recycle pool. These are the items that are cached in the recycle pool when they are scrolled off the screen.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlashListProps.d.ts","sourceRoot":"","sources":["../src/FlashListProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,
|
|
1
|
+
{"version":3,"file":"FlashListProps.d.ts","sourceRoot":"","sources":["../src/FlashListProps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlashListProps.js","sourceRoot":"","sources":["../src/FlashListProps.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"FlashListProps.js","sourceRoot":"","sources":["../src/FlashListProps.ts"],"names":[],"mappings":";;;AA+Ba,QAAA,mBAAmB,GAAiC;IAC/D,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;CAC3B,CAAC"}
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
var react_1 = tslib_1.__importDefault(require("react"));
|
|
5
5
|
var react_testing_1 = require("@quilted/react-testing");
|
|
6
|
-
var RecyclerView_1 = require("../recyclerview/RecyclerView");
|
|
7
6
|
var RecyclerViewContextProvider_1 = require("../recyclerview/RecyclerViewContextProvider");
|
|
8
7
|
var LayoutCommitObserver_1 = require("../recyclerview/LayoutCommitObserver");
|
|
8
|
+
var __1 = require("..");
|
|
9
9
|
describe("LayoutCommitObserver", function () {
|
|
10
10
|
it("should not alter ref captured by child", function () {
|
|
11
11
|
var ChildComponent = function () {
|
|
@@ -18,18 +18,20 @@ describe("LayoutCommitObserver", function () {
|
|
|
18
18
|
return null;
|
|
19
19
|
};
|
|
20
20
|
var commitLayoutEffectCount = 0;
|
|
21
|
-
var content = (react_1.default.createElement(
|
|
21
|
+
var content = (react_1.default.createElement(__1.FlashList, { testID: "parent", data: [1], renderItem: function () { return (react_1.default.createElement(LayoutCommitObserver_1.LayoutCommitObserver, { onCommitLayoutEffect: function () {
|
|
22
22
|
commitLayoutEffectCount++;
|
|
23
23
|
} },
|
|
24
|
-
react_1.default.createElement(
|
|
24
|
+
react_1.default.createElement(__1.FlashList, { testID: "child", data: [1], renderItem: function () { return (react_1.default.createElement(LayoutCommitObserver_1.LayoutCommitObserver, { onCommitLayoutEffect: function () {
|
|
25
25
|
commitLayoutEffectCount++;
|
|
26
26
|
} },
|
|
27
27
|
react_1.default.createElement(LayoutCommitObserver_1.LayoutCommitObserver, { onCommitLayoutEffect: function () {
|
|
28
28
|
commitLayoutEffectCount++;
|
|
29
29
|
} },
|
|
30
30
|
react_1.default.createElement(ChildComponent, null)))); } }))); } }));
|
|
31
|
-
(0, react_testing_1.render)(content);
|
|
31
|
+
var renderResult = (0, react_testing_1.render)(content);
|
|
32
32
|
expect(commitLayoutEffectCount).toBe(3);
|
|
33
|
+
// Force unmount to trigger cleanup of async operations
|
|
34
|
+
renderResult.unmount();
|
|
33
35
|
});
|
|
34
36
|
});
|
|
35
37
|
//# sourceMappingURL=LayoutCommitObserver.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutCommitObserver.test.js","sourceRoot":"","sources":["../../src/__tests__/LayoutCommitObserver.test.tsx"],"names":[],"mappings":";;;AAAA,wDAA0B;AAC1B,wDAAgD;AAEhD,
|
|
1
|
+
{"version":3,"file":"LayoutCommitObserver.test.js","sourceRoot":"","sources":["../../src/__tests__/LayoutCommitObserver.test.tsx"],"names":[],"mappings":";;;AAAA,wDAA0B;AAC1B,wDAAgD;AAEhD,2FAAkF;AAClF,6EAA4E;AAC5E,wBAA+B;AAE/B,QAAQ,CAAC,sBAAsB,EAAE;IAC/B,EAAE,CAAC,wCAAwC,EAAE;QAC3C,IAAM,cAAc,GAAG;;YACrB,IAAM,OAAO,GAAG,IAAA,iDAAmB,GAAE,CAAC;YACtC,MAAM,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,0CAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE,0CAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,EAAE,0CAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChE,MAAM,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,EAAE,0CAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEvE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,uBAAuB,GAAG,CAAC,CAAC;QAEhC,IAAM,OAAO,GAAG,CACd,8BAAC,aAAS,IACR,MAAM,EAAC,QAAQ,EACf,IAAI,EAAE,CAAC,CAAC,CAAC,EACT,UAAU,EAAE,cAAM,OAAA,CAChB,8BAAC,2CAAoB,IACnB,oBAAoB,EAAE;oBACpB,uBAAuB,EAAE,CAAC;gBAC5B,CAAC;gBAED,8BAAC,aAAS,IACR,MAAM,EAAC,OAAO,EACd,IAAI,EAAE,CAAC,CAAC,CAAC,EACT,UAAU,EAAE,cAAM,OAAA,CAChB,8BAAC,2CAAoB,IACnB,oBAAoB,EAAE;4BACpB,uBAAuB,EAAE,CAAC;wBAC5B,CAAC;wBAED,8BAAC,2CAAoB,IACnB,oBAAoB,EAAE;gCACpB,uBAAuB,EAAE,CAAC;4BAC5B,CAAC;4BAED,8BAAC,cAAc,OAAG,CACG,CACF,CACxB,EAdiB,CAcjB,GACD,CACmB,CACxB,EA1BiB,CA0BjB,GACD,CACH,CAAC;QAEF,IAAM,YAAY,GAAG,IAAA,sBAAM,EAAC,OAAO,CAAC,CAAC;QAErC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAExC,uDAAuD;QACvD,YAAY,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -5,7 +5,7 @@ var react_1 = tslib_1.__importStar(require("react"));
|
|
|
5
5
|
var react_native_1 = require("react-native");
|
|
6
6
|
require("@quilted/react-testing/matchers");
|
|
7
7
|
var react_testing_1 = require("@quilted/react-testing");
|
|
8
|
-
var
|
|
8
|
+
var __1 = require("..");
|
|
9
9
|
// Mock measureLayout to return fixed dimensions
|
|
10
10
|
jest.mock("../recyclerview/utils/measureLayout", function () {
|
|
11
11
|
var originalModule = jest.requireActual("../recyclerview/utils/measureLayout");
|
|
@@ -28,7 +28,7 @@ jest.mock("../recyclerview/utils/measureLayout", function () {
|
|
|
28
28
|
});
|
|
29
29
|
var renderRecyclerView = function (args) {
|
|
30
30
|
var _a = args.numColumns, numColumns = _a === void 0 ? 1 : _a, _b = args.masonry, masonry = _b === void 0 ? false : _b, _c = args.horizontal, horizontal = _c === void 0 ? false : _c, ref = args.ref, data = args.data;
|
|
31
|
-
return (0, react_testing_1.render)(react_1.default.createElement(
|
|
31
|
+
return (0, react_testing_1.render)(react_1.default.createElement(__1.FlashList, { ref: ref, data: data !== null && data !== void 0 ? data : [
|
|
32
32
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
|
33
33
|
], masonry: masonry, overrideProps: { initialDrawBatchSize: 1 }, drawDistance: 0, numColumns: numColumns, horizontal: horizontal, renderItem: function (_a) {
|
|
34
34
|
var item = _a.item;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecyclerView.test.js","sourceRoot":"","sources":["../../src/__tests__/RecyclerView.test.tsx"],"names":[],"mappings":";;;AAAA,qDAAyC;AACzC,6CAAoC;AACpC,2CAAyC;AACzC,wDAAgD;AAGhD,
|
|
1
|
+
{"version":3,"file":"RecyclerView.test.js","sourceRoot":"","sources":["../../src/__tests__/RecyclerView.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var ViewabilityHelper_1 = tslib_1.__importDefault(require("../viewability/ViewabilityHelper"));
|
|
4
|
+
var ViewabilityHelper_1 = tslib_1.__importDefault(require("../recyclerview/viewability/ViewabilityHelper"));
|
|
5
|
+
var ErrorMessages_1 = require("../errors/ErrorMessages");
|
|
7
6
|
describe("ViewabilityHelper", function () {
|
|
8
7
|
var viewableIndicesChanged = jest.fn();
|
|
9
8
|
beforeEach(function () {
|
|
@@ -172,7 +171,7 @@ describe("ViewabilityHelper", function () {
|
|
|
172
171
|
});
|
|
173
172
|
it("throws multipleViewabilityThresholdTypesNotSupported exception when both viewAreaCoveragePercentThreshold and itemVisiblePercentThreshold are defined", function () {
|
|
174
173
|
var viewabilityHelper = new ViewabilityHelper_1.default({ viewAreaCoveragePercentThreshold: 1, itemVisiblePercentThreshold: 1 }, viewableIndicesChanged);
|
|
175
|
-
expect(function () { return updateViewableItems({ viewabilityHelper: viewabilityHelper }); }).toThrow(
|
|
174
|
+
expect(function () { return updateViewableItems({ viewabilityHelper: viewabilityHelper }); }).toThrow(ErrorMessages_1.ErrorMessages.multipleViewabilityThresholdTypesNotSupported);
|
|
176
175
|
});
|
|
177
176
|
var updateViewableItems = function (_a) {
|
|
178
177
|
var viewabilityHelper = _a.viewabilityHelper, horizontal = _a.horizontal, scrollOffset = _a.scrollOffset, listSize = _a.listSize, getLayout = _a.getLayout, runAllTimers = _a.runAllTimers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewabilityHelper.test.js","sourceRoot":"","sources":["../../src/__tests__/ViewabilityHelper.test.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ViewabilityHelper.test.js","sourceRoot":"","sources":["../../src/__tests__/ViewabilityHelper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSFPSMonitor.d.ts","sourceRoot":"","sources":["../../src/benchmark/JSFPSMonitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"JSFPSMonitor.d.ts","sourceRoot":"","sources":["../../src/benchmark/JSFPSMonitor.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAGhB;IAEF,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,oBAAoB,CAAK;IAEjC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,iBAAiB,CAiBvB;IAEK,aAAa;IASb,cAAc,IAAI,WAAW;CAYrC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.JSFPSMonitor = void 0;
|
|
4
|
+
var ErrorMessages_1 = require("../errors/ErrorMessages");
|
|
4
5
|
var roundToDecimalPlaces_1 = require("./roundToDecimalPlaces");
|
|
5
6
|
/**
|
|
6
7
|
* Can be used to monitor JS thread performance
|
|
@@ -41,7 +42,7 @@ var JSFPSMonitor = /** @class */ (function () {
|
|
|
41
42
|
};
|
|
42
43
|
JSFPSMonitor.prototype.startTracking = function () {
|
|
43
44
|
if (this.startTime !== 0) {
|
|
44
|
-
throw new Error(
|
|
45
|
+
throw new Error(ErrorMessages_1.ErrorMessages.fpsMonitorAlreadyRunning);
|
|
45
46
|
}
|
|
46
47
|
this.startTime = Date.now();
|
|
47
48
|
this.timeWindow.startTime = Date.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSFPSMonitor.js","sourceRoot":"","sources":["../../src/benchmark/JSFPSMonitor.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAE9D;;;GAGG;AACH;IAAA;QAAA,
|
|
1
|
+
{"version":3,"file":"JSFPSMonitor.js","sourceRoot":"","sources":["../../src/benchmark/JSFPSMonitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import
|
|
2
|
+
import { FlashListRef } from "../FlashListRef";
|
|
3
3
|
import { JSFPSResult } from "./JSFPSMonitor";
|
|
4
|
-
import { BlankAreaTrackerResult } from "./useBlankAreaTracker";
|
|
5
4
|
export interface BenchmarkParams {
|
|
6
5
|
startDelayInMs?: number;
|
|
7
6
|
/**
|
|
@@ -22,7 +21,6 @@ export interface BenchmarkResult {
|
|
|
22
21
|
js?: JSFPSResult;
|
|
23
22
|
interrupted: boolean;
|
|
24
23
|
suggestions: string[];
|
|
25
|
-
blankArea?: BlankAreaTrackerResult;
|
|
26
24
|
formattedString?: string;
|
|
27
25
|
}
|
|
28
26
|
/**
|
|
@@ -30,6 +28,6 @@ export interface BenchmarkResult {
|
|
|
30
28
|
* Response object has a formatted string that can be printed to the console or shown as an alert.
|
|
31
29
|
* Result is posted to the callback method passed to the hook.
|
|
32
30
|
*/
|
|
33
|
-
export declare function useBenchmark(flashListRef: React.RefObject<
|
|
31
|
+
export declare function useBenchmark(flashListRef: React.RefObject<FlashListRef<any>>, callback: (benchmarkResult: BenchmarkResult) => void, params?: BenchmarkParams): void;
|
|
34
32
|
export declare function getFormattedString(res: BenchmarkResult): string;
|
|
35
33
|
//# sourceMappingURL=useBenchmark.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBenchmark.d.ts","sourceRoot":"","sources":["../../src/benchmark/useBenchmark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,
|
|
1
|
+
{"version":3,"file":"useBenchmark.d.ts","sourceRoot":"","sources":["../../src/benchmark/useBenchmark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AAEH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAChD,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,EACpD,MAAM,GAAE,eAAoB,QA2C7B;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,UAYtD"}
|
|
@@ -4,10 +4,9 @@ exports.useBenchmark = useBenchmark;
|
|
|
4
4
|
exports.getFormattedString = getFormattedString;
|
|
5
5
|
var tslib_1 = require("tslib");
|
|
6
6
|
var react_1 = require("react");
|
|
7
|
+
var ErrorMessages_1 = require("../errors/ErrorMessages");
|
|
7
8
|
var AutoScrollHelper_1 = require("./AutoScrollHelper");
|
|
8
9
|
var JSFPSMonitor_1 = require("./JSFPSMonitor");
|
|
9
|
-
var roundToDecimalPlaces_1 = require("./roundToDecimalPlaces");
|
|
10
|
-
var useBlankAreaTracker_1 = require("./useBlankAreaTracker");
|
|
11
10
|
/**
|
|
12
11
|
* Runs the benchmark on FlashList.
|
|
13
12
|
* Response object has a formatted string that can be printed to the console or shown as an alert.
|
|
@@ -16,14 +15,13 @@ var useBlankAreaTracker_1 = require("./useBlankAreaTracker");
|
|
|
16
15
|
function useBenchmark(flashListRef, callback, params) {
|
|
17
16
|
var _this = this;
|
|
18
17
|
if (params === void 0) { params = {}; }
|
|
19
|
-
var _a = tslib_1.__read((0, useBlankAreaTracker_1.useBlankAreaTracker)(flashListRef, undefined, { sumNegativeValues: params.sumNegativeBlankAreaValues, startDelayInMs: 0 }), 2), blankAreaResult = _a[0], blankAreaTracker = _a[1];
|
|
20
18
|
(0, react_1.useEffect)(function () {
|
|
21
19
|
var _a;
|
|
22
20
|
var cancellable = new AutoScrollHelper_1.Cancellable();
|
|
23
21
|
var suggestions = [];
|
|
24
22
|
if (flashListRef.current) {
|
|
25
23
|
if (!(Number((_a = flashListRef.current.props.data) === null || _a === void 0 ? void 0 : _a.length) > 0)) {
|
|
26
|
-
throw new Error(
|
|
24
|
+
throw new Error(ErrorMessages_1.ErrorMessages.dataEmptyCannotRunBenchmark);
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
27
|
var cancelTimeout = setTimeout(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
@@ -50,7 +48,7 @@ function useBenchmark(flashListRef, callback, params) {
|
|
|
50
48
|
suggestions.push("Your average JS FPS is low. This can indicate that your components are doing too much work. Try to optimize your components and reduce re-renders if any");
|
|
51
49
|
}
|
|
52
50
|
computeSuggestions(flashListRef, suggestions);
|
|
53
|
-
result = generateResult(jsProfilerResponse,
|
|
51
|
+
result = generateResult(jsProfilerResponse, suggestions, cancellable);
|
|
54
52
|
if (!cancellable.isCancelled()) {
|
|
55
53
|
result.formattedString = getFormattedString(result);
|
|
56
54
|
}
|
|
@@ -65,30 +63,20 @@ function useBenchmark(flashListRef, callback, params) {
|
|
|
65
63
|
};
|
|
66
64
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
65
|
}, []);
|
|
68
|
-
return [blankAreaTracker];
|
|
69
66
|
}
|
|
70
67
|
function getFormattedString(res) {
|
|
71
|
-
var _a, _b, _c
|
|
68
|
+
var _a, _b, _c;
|
|
72
69
|
return ("Results:\n\n" +
|
|
73
70
|
"JS FPS: Avg: ".concat((_a = res.js) === null || _a === void 0 ? void 0 : _a.averageFPS, " | Min: ").concat((_b = res.js) === null || _b === void 0 ? void 0 : _b.minFPS, " | Max: ").concat((_c = res.js) === null || _c === void 0 ? void 0 : _c.maxFPS, "\n\n") +
|
|
74
|
-
"".concat(res.blankArea
|
|
75
|
-
? "Blank Area: Max: ".concat((_d = res.blankArea) === null || _d === void 0 ? void 0 : _d.maxBlankArea, " Cumulative: ").concat((_e = res.blankArea) === null || _e === void 0 ? void 0 : _e.cumulativeBlankArea, "\n\n")
|
|
76
|
-
: "") +
|
|
77
71
|
"".concat(res.suggestions.length > 0
|
|
78
72
|
? "Suggestions:\n\n".concat(res.suggestions
|
|
79
73
|
.map(function (value, index) { return "".concat(index + 1, ". ").concat(value); })
|
|
80
74
|
.join("\n"))
|
|
81
75
|
: ""));
|
|
82
76
|
}
|
|
83
|
-
function generateResult(jsProfilerResponse,
|
|
77
|
+
function generateResult(jsProfilerResponse, suggestions, cancellable) {
|
|
84
78
|
return {
|
|
85
79
|
js: jsProfilerResponse,
|
|
86
|
-
blankArea: blankAreaResult.maxBlankArea >= 0
|
|
87
|
-
? {
|
|
88
|
-
maxBlankArea: (0, roundToDecimalPlaces_1.roundToDecimalPlaces)(blankAreaResult.maxBlankArea, 0),
|
|
89
|
-
cumulativeBlankArea: (0, roundToDecimalPlaces_1.roundToDecimalPlaces)(blankAreaResult.cumulativeBlankArea, 0),
|
|
90
|
-
}
|
|
91
|
-
: undefined,
|
|
92
80
|
suggestions: suggestions,
|
|
93
81
|
interrupted: cancellable.isCancelled(),
|
|
94
82
|
};
|
|
@@ -98,20 +86,20 @@ function generateResult(jsProfilerResponse, blankAreaResult, suggestions, cancel
|
|
|
98
86
|
*/
|
|
99
87
|
function runScrollBenchmark(flashListRef, cancellable, scrollSpeedMultiplier) {
|
|
100
88
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
101
|
-
var horizontal_1,
|
|
89
|
+
var horizontal_1, rv, rvSize, rvContentSize, fromX, fromY, toX, toY, scrollNow;
|
|
102
90
|
return tslib_1.__generator(this, function (_a) {
|
|
103
91
|
switch (_a.label) {
|
|
104
92
|
case 0:
|
|
105
93
|
if (!flashListRef.current) return [3 /*break*/, 3];
|
|
106
94
|
horizontal_1 = flashListRef.current.props.horizontal;
|
|
107
|
-
|
|
108
|
-
if (!
|
|
109
|
-
|
|
110
|
-
|
|
95
|
+
rv = flashListRef.current;
|
|
96
|
+
if (!rv) return [3 /*break*/, 3];
|
|
97
|
+
rvSize = rv.getWindowSize();
|
|
98
|
+
rvContentSize = rv.getChildContainerDimensions();
|
|
111
99
|
fromX = 0;
|
|
112
100
|
fromY = 0;
|
|
113
|
-
toX =
|
|
114
|
-
toY =
|
|
101
|
+
toX = rvContentSize.width - rvSize.width;
|
|
102
|
+
toY = rvContentSize.height - rvSize.height;
|
|
115
103
|
scrollNow = function (x, y) {
|
|
116
104
|
var _a;
|
|
117
105
|
(_a = flashListRef.current) === null || _a === void 0 ? void 0 : _a.scrollToOffset({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBenchmark.js","sourceRoot":"","sources":["../../src/benchmark/useBenchmark.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useBenchmark.js","sourceRoot":"","sources":["../../src/benchmark/useBenchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFlatListBenchmark.d.ts","sourceRoot":"","sources":["../../src/benchmark/useFlatListBenchmark.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useFlatListBenchmark.d.ts","sourceRoot":"","sources":["../../src/benchmark/useFlatListBenchmark.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAMxC,OAAO,EACL,eAAe,EACf,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC3C,QAAQ,EAAE,CAAC,eAAe,EAAE,eAAe,KAAK,IAAI,EACpD,MAAM,EAAE,uBAAuB,WAsChC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useFlatListBenchmark = useFlatListBenchmark;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var react_1 = require("react");
|
|
6
|
+
var ErrorMessages_1 = require("../errors/ErrorMessages");
|
|
6
7
|
var AutoScrollHelper_1 = require("./AutoScrollHelper");
|
|
7
8
|
var JSFPSMonitor_1 = require("./JSFPSMonitor");
|
|
8
9
|
var useBenchmark_1 = require("./useBenchmark");
|
|
@@ -18,7 +19,7 @@ function useFlatListBenchmark(flatListRef, callback, params) {
|
|
|
18
19
|
var cancellable = new AutoScrollHelper_1.Cancellable();
|
|
19
20
|
if (flatListRef.current && flatListRef.current.props) {
|
|
20
21
|
if (!(Number((_a = flatListRef.current.props.data) === null || _a === void 0 ? void 0 : _a.length) > 0)) {
|
|
21
|
-
throw new Error(
|
|
22
|
+
throw new Error(ErrorMessages_1.ErrorMessages.dataEmptyCannotRunBenchmark);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
var cancelTimeout = setTimeout(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFlatListBenchmark.js","sourceRoot":"","sources":["../../src/benchmark/useFlatListBenchmark.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useFlatListBenchmark.js","sourceRoot":"","sources":["../../src/benchmark/useFlatListBenchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const ErrorMessages: {
|
|
2
|
+
multipleViewabilityThresholdTypesNotSupported: string;
|
|
3
|
+
flashListV2OnlySupportsNewArchitecture: string;
|
|
4
|
+
layoutManagerNotInitializedLayoutInfo: string;
|
|
5
|
+
layoutManagerNotInitializedChildContainer: string;
|
|
6
|
+
layoutManagerNotInitializedWindowSize: string;
|
|
7
|
+
horizontalPropCannotBeToggled: string;
|
|
8
|
+
layoutManagerNotInitializedVisibleIndices: string;
|
|
9
|
+
masonryAndHorizontalIncompatible: string;
|
|
10
|
+
numColumnsAndHorizontalIncompatible: string;
|
|
11
|
+
indexOutOfBounds: string;
|
|
12
|
+
fpsMonitorAlreadyRunning: string;
|
|
13
|
+
dataEmptyCannotRunBenchmark: string;
|
|
14
|
+
stickyHeadersNotSupportedForHorizontal: string;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=ErrorMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorMessages.d.ts","sourceRoot":"","sources":["../../src/errors/ErrorMessages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;CAyBzB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorMessages = void 0;
|
|
4
|
+
exports.ErrorMessages = {
|
|
5
|
+
multipleViewabilityThresholdTypesNotSupported: "You can set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold. Specifying both is not supported.",
|
|
6
|
+
flashListV2OnlySupportsNewArchitecture: "FlashList v2 is only supported on new architecture",
|
|
7
|
+
layoutManagerNotInitializedLayoutInfo: "LayoutManager is not initialized, layout info is unavailable",
|
|
8
|
+
layoutManagerNotInitializedChildContainer: "LayoutManager is not initialized, child container layout is unavailable",
|
|
9
|
+
layoutManagerNotInitializedWindowSize: "LayoutManager is not initialized, window size is unavailable",
|
|
10
|
+
horizontalPropCannotBeToggled: "Horizontal prop cannot be toggled, you can use a key on FlashList to recreate it.",
|
|
11
|
+
layoutManagerNotInitializedVisibleIndices: "LayoutManager is not initialized, visible indices are not unavailable",
|
|
12
|
+
masonryAndHorizontalIncompatible: "Masonry and horizontal props are incompatible",
|
|
13
|
+
numColumnsAndHorizontalIncompatible: "numColumns and horizontal props are incompatible",
|
|
14
|
+
indexOutOfBounds: "index out of bounds, not enough layouts",
|
|
15
|
+
fpsMonitorAlreadyRunning: "This FPS Monitor has already been run, please create a new instance",
|
|
16
|
+
dataEmptyCannotRunBenchmark: "Data is empty, cannot run benchmark",
|
|
17
|
+
stickyHeadersNotSupportedForHorizontal: "Sticky headers are not supported when list is horizontal",
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=ErrorMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorMessages.js","sourceRoot":"","sources":["../../src/errors/ErrorMessages.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,6CAA6C,EAC3C,+HAA+H;IACjI,sCAAsC,EACpC,oDAAoD;IACtD,qCAAqC,EACnC,8DAA8D;IAChE,yCAAyC,EACvC,yEAAyE;IAC3E,qCAAqC,EACnC,8DAA8D;IAChE,6BAA6B,EAC3B,mFAAmF;IACrF,yCAAyC,EACvC,uEAAuE;IACzE,gCAAgC,EAC9B,+CAA+C;IACjD,mCAAmC,EACjC,kDAAkD;IACpD,gBAAgB,EAAE,yCAAyC;IAC3D,wBAAwB,EACtB,qEAAqE;IACvE,2BAA2B,EAAE,qCAAqC;IAClE,sCAAsC,EACpC,0DAA0D;CAC7D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WarningMessages.d.ts","sourceRoot":"","sources":["../../src/errors/WarningMessages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;CAM3B,CAAC"}
|