@shopify/flash-list 2.0.4-alpha.1 → 2.1.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.
Files changed (191) hide show
  1. package/dist/AnimatedFlashList.js +4 -6
  2. package/dist/AnimatedFlashList.js.map +1 -1
  3. package/dist/FlashList.js +1 -5
  4. package/dist/FlashList.js.map +1 -1
  5. package/dist/FlashListProps.d.ts +9 -1
  6. package/dist/FlashListProps.d.ts.map +1 -1
  7. package/dist/FlashListProps.js +1 -4
  8. package/dist/FlashListProps.js.map +1 -1
  9. package/dist/FlashListRef.js +1 -2
  10. package/dist/benchmark/AutoScrollHelper.js +22 -30
  11. package/dist/benchmark/AutoScrollHelper.js.map +1 -1
  12. package/dist/benchmark/JSFPSMonitor.js +27 -33
  13. package/dist/benchmark/JSFPSMonitor.js.map +1 -1
  14. package/dist/benchmark/roundToDecimalPlaces.js +2 -5
  15. package/dist/benchmark/roundToDecimalPlaces.js.map +1 -1
  16. package/dist/benchmark/useBenchmark.d.ts +9 -1
  17. package/dist/benchmark/useBenchmark.d.ts.map +1 -1
  18. package/dist/benchmark/useBenchmark.js +86 -95
  19. package/dist/benchmark/useBenchmark.js.map +1 -1
  20. package/dist/benchmark/useDataMultiplier.js +6 -10
  21. package/dist/benchmark/useDataMultiplier.js.map +1 -1
  22. package/dist/benchmark/useFlatListBenchmark.d.ts +4 -1
  23. package/dist/benchmark/useFlatListBenchmark.d.ts.map +1 -1
  24. package/dist/benchmark/useFlatListBenchmark.js +73 -81
  25. package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
  26. package/dist/errors/ErrorMessages.js +1 -4
  27. package/dist/errors/ErrorMessages.js.map +1 -1
  28. package/dist/errors/WarningMessages.js +1 -4
  29. package/dist/errors/WarningMessages.js.map +1 -1
  30. package/dist/index.js +17 -35
  31. package/dist/index.js.map +1 -1
  32. package/dist/isNewArch.js +6 -9
  33. package/dist/isNewArch.js.map +1 -1
  34. package/dist/native/config/PlatformHelper.android.js +2 -5
  35. package/dist/native/config/PlatformHelper.android.js.map +1 -1
  36. package/dist/native/config/PlatformHelper.ios.js +2 -5
  37. package/dist/native/config/PlatformHelper.ios.js.map +1 -1
  38. package/dist/native/config/PlatformHelper.js +2 -5
  39. package/dist/native/config/PlatformHelper.js.map +1 -1
  40. package/dist/native/config/PlatformHelper.web.js +2 -5
  41. package/dist/native/config/PlatformHelper.web.js.map +1 -1
  42. package/dist/recyclerview/LayoutCommitObserver.js +20 -24
  43. package/dist/recyclerview/LayoutCommitObserver.js.map +1 -1
  44. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  45. package/dist/recyclerview/RecyclerView.js +109 -107
  46. package/dist/recyclerview/RecyclerView.js.map +1 -1
  47. package/dist/recyclerview/RecyclerViewContextProvider.js +7 -12
  48. package/dist/recyclerview/RecyclerViewContextProvider.js.map +1 -1
  49. package/dist/recyclerview/RecyclerViewManager.js +138 -167
  50. package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
  51. package/dist/recyclerview/RecyclerViewProps.js +1 -2
  52. package/dist/recyclerview/RenderStackManager.js +97 -188
  53. package/dist/recyclerview/RenderStackManager.js.map +1 -1
  54. package/dist/recyclerview/ViewHolder.js +16 -20
  55. package/dist/recyclerview/ViewHolder.js.map +1 -1
  56. package/dist/recyclerview/ViewHolderCollection.js +26 -30
  57. package/dist/recyclerview/ViewHolderCollection.js.map +1 -1
  58. package/dist/recyclerview/components/CompatScroller.js +6 -7
  59. package/dist/recyclerview/components/CompatScroller.js.map +1 -1
  60. package/dist/recyclerview/components/CompatView.js +6 -7
  61. package/dist/recyclerview/components/CompatView.js.map +1 -1
  62. package/dist/recyclerview/components/ScrollAnchor.js +10 -15
  63. package/dist/recyclerview/components/ScrollAnchor.js.map +1 -1
  64. package/dist/recyclerview/components/StickyHeaders.js +34 -40
  65. package/dist/recyclerview/components/StickyHeaders.js.map +1 -1
  66. package/dist/recyclerview/helpers/ConsecutiveNumbers.js +39 -66
  67. package/dist/recyclerview/helpers/ConsecutiveNumbers.js.map +1 -1
  68. package/dist/recyclerview/helpers/EngagedIndicesTracker.js +57 -63
  69. package/dist/recyclerview/helpers/EngagedIndicesTracker.js.map +1 -1
  70. package/dist/recyclerview/helpers/RenderTimeTracker.js +19 -24
  71. package/dist/recyclerview/helpers/RenderTimeTracker.js.map +1 -1
  72. package/dist/recyclerview/helpers/VelocityTracker.js +16 -22
  73. package/dist/recyclerview/helpers/VelocityTracker.js.map +1 -1
  74. package/dist/recyclerview/hooks/useBoundDetection.js +37 -40
  75. package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -1
  76. package/dist/recyclerview/hooks/useLayoutState.js +9 -15
  77. package/dist/recyclerview/hooks/useLayoutState.js.map +1 -1
  78. package/dist/recyclerview/hooks/useMappingHelper.js +6 -10
  79. package/dist/recyclerview/hooks/useMappingHelper.js.map +1 -1
  80. package/dist/recyclerview/hooks/useOnLoad.js +16 -22
  81. package/dist/recyclerview/hooks/useOnLoad.js.map +1 -1
  82. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
  83. package/dist/recyclerview/hooks/useRecyclerViewController.js +169 -188
  84. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
  85. package/dist/recyclerview/hooks/useRecyclerViewManager.js +12 -17
  86. package/dist/recyclerview/hooks/useRecyclerViewManager.js.map +1 -1
  87. package/dist/recyclerview/hooks/useRecyclingState.js +10 -14
  88. package/dist/recyclerview/hooks/useRecyclingState.js.map +1 -1
  89. package/dist/recyclerview/hooks/useSecondaryProps.js +24 -30
  90. package/dist/recyclerview/hooks/useSecondaryProps.js.map +1 -1
  91. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js +17 -22
  92. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js.map +1 -1
  93. package/dist/recyclerview/hooks/useUnmountFlag.js +5 -9
  94. package/dist/recyclerview/hooks/useUnmountFlag.js.map +1 -1
  95. package/dist/recyclerview/layout-managers/GridLayoutManager.js +61 -80
  96. package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -1
  97. package/dist/recyclerview/layout-managers/LayoutManager.js +83 -123
  98. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  99. package/dist/recyclerview/layout-managers/LinearLayoutManager.js +51 -91
  100. package/dist/recyclerview/layout-managers/LinearLayoutManager.js.map +1 -1
  101. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +77 -96
  102. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -1
  103. package/dist/recyclerview/utils/adjustOffsetForRTL.js +1 -4
  104. package/dist/recyclerview/utils/adjustOffsetForRTL.js.map +1 -1
  105. package/dist/recyclerview/utils/componentUtils.js +4 -9
  106. package/dist/recyclerview/utils/componentUtils.js.map +1 -1
  107. package/dist/recyclerview/utils/findVisibleIndex.js +9 -13
  108. package/dist/recyclerview/utils/findVisibleIndex.js.map +1 -1
  109. package/dist/recyclerview/utils/measureLayout.js +12 -20
  110. package/dist/recyclerview/utils/measureLayout.js.map +1 -1
  111. package/dist/recyclerview/utils/measureLayout.web.js +15 -23
  112. package/dist/recyclerview/utils/measureLayout.web.js.map +1 -1
  113. package/dist/recyclerview/viewability/ViewToken.js +1 -2
  114. package/dist/recyclerview/viewability/ViewabilityHelper.js +34 -41
  115. package/dist/recyclerview/viewability/ViewabilityHelper.js.map +1 -1
  116. package/dist/recyclerview/viewability/ViewabilityManager.js +48 -61
  117. package/dist/recyclerview/viewability/ViewabilityManager.js.map +1 -1
  118. package/dist/tsconfig.tsbuildinfo +1 -1
  119. package/dist/utils/AverageWindow.js +28 -39
  120. package/dist/utils/AverageWindow.js.map +1 -1
  121. package/package.json +4 -6
  122. package/src/FlashListProps.ts +8 -1
  123. package/src/benchmark/useBenchmark.ts +47 -4
  124. package/src/benchmark/useFlatListBenchmark.ts +38 -5
  125. package/src/recyclerview/RecyclerView.tsx +7 -5
  126. package/src/recyclerview/hooks/useRecyclerViewController.tsx +7 -4
  127. package/dist/__tests__/AverageWindow.test.d.ts +0 -2
  128. package/dist/__tests__/AverageWindow.test.d.ts.map +0 -1
  129. package/dist/__tests__/AverageWindow.test.js +0 -104
  130. package/dist/__tests__/AverageWindow.test.js.map +0 -1
  131. package/dist/__tests__/ConsecutiveNumbers.test.d.ts +0 -2
  132. package/dist/__tests__/ConsecutiveNumbers.test.d.ts.map +0 -1
  133. package/dist/__tests__/ConsecutiveNumbers.test.js +0 -224
  134. package/dist/__tests__/ConsecutiveNumbers.test.js.map +0 -1
  135. package/dist/__tests__/GridLayoutManager.test.d.ts +0 -2
  136. package/dist/__tests__/GridLayoutManager.test.d.ts.map +0 -1
  137. package/dist/__tests__/GridLayoutManager.test.js +0 -69
  138. package/dist/__tests__/GridLayoutManager.test.js.map +0 -1
  139. package/dist/__tests__/LayoutCommitObserver.test.d.ts +0 -2
  140. package/dist/__tests__/LayoutCommitObserver.test.d.ts.map +0 -1
  141. package/dist/__tests__/LayoutCommitObserver.test.js +0 -37
  142. package/dist/__tests__/LayoutCommitObserver.test.js.map +0 -1
  143. package/dist/__tests__/LinearLayoutManager.test.d.ts +0 -2
  144. package/dist/__tests__/LinearLayoutManager.test.d.ts.map +0 -1
  145. package/dist/__tests__/LinearLayoutManager.test.js +0 -140
  146. package/dist/__tests__/LinearLayoutManager.test.js.map +0 -1
  147. package/dist/__tests__/MasonryLayoutManager.test.d.ts +0 -2
  148. package/dist/__tests__/MasonryLayoutManager.test.d.ts.map +0 -1
  149. package/dist/__tests__/MasonryLayoutManager.test.js +0 -148
  150. package/dist/__tests__/MasonryLayoutManager.test.js.map +0 -1
  151. package/dist/__tests__/RecyclerView.test.d.ts +0 -2
  152. package/dist/__tests__/RecyclerView.test.d.ts.map +0 -1
  153. package/dist/__tests__/RecyclerView.test.js +0 -103
  154. package/dist/__tests__/RecyclerView.test.js.map +0 -1
  155. package/dist/__tests__/RecyclerViewManager.test.d.ts +0 -2
  156. package/dist/__tests__/RecyclerViewManager.test.d.ts.map +0 -1
  157. package/dist/__tests__/RecyclerViewManager.test.js +0 -56
  158. package/dist/__tests__/RecyclerViewManager.test.js.map +0 -1
  159. package/dist/__tests__/RenderStackManager.test.d.ts +0 -2
  160. package/dist/__tests__/RenderStackManager.test.d.ts.map +0 -1
  161. package/dist/__tests__/RenderStackManager.test.js +0 -485
  162. package/dist/__tests__/RenderStackManager.test.js.map +0 -1
  163. package/dist/__tests__/ViewabilityHelper.test.d.ts +0 -2
  164. package/dist/__tests__/ViewabilityHelper.test.d.ts.map +0 -1
  165. package/dist/__tests__/ViewabilityHelper.test.js +0 -186
  166. package/dist/__tests__/ViewabilityHelper.test.js.map +0 -1
  167. package/dist/__tests__/findVisibleIndex.test.d.ts +0 -2
  168. package/dist/__tests__/findVisibleIndex.test.d.ts.map +0 -1
  169. package/dist/__tests__/findVisibleIndex.test.js +0 -259
  170. package/dist/__tests__/findVisibleIndex.test.js.map +0 -1
  171. package/dist/__tests__/helpers/createLayoutManager.d.ts +0 -34
  172. package/dist/__tests__/helpers/createLayoutManager.d.ts.map +0 -1
  173. package/dist/__tests__/helpers/createLayoutManager.js +0 -110
  174. package/dist/__tests__/helpers/createLayoutManager.js.map +0 -1
  175. package/dist/__tests__/useUnmountAwareCallbacks.test.d.ts +0 -2
  176. package/dist/__tests__/useUnmountAwareCallbacks.test.d.ts.map +0 -1
  177. package/dist/__tests__/useUnmountAwareCallbacks.test.js +0 -185
  178. package/dist/__tests__/useUnmountAwareCallbacks.test.js.map +0 -1
  179. package/src/__tests__/AverageWindow.test.ts +0 -128
  180. package/src/__tests__/ConsecutiveNumbers.test.ts +0 -232
  181. package/src/__tests__/GridLayoutManager.test.ts +0 -113
  182. package/src/__tests__/LayoutCommitObserver.test.tsx +0 -63
  183. package/src/__tests__/LinearLayoutManager.test.ts +0 -227
  184. package/src/__tests__/MasonryLayoutManager.test.ts +0 -202
  185. package/src/__tests__/RecyclerView.test.tsx +0 -144
  186. package/src/__tests__/RecyclerViewManager.test.ts +0 -74
  187. package/src/__tests__/RenderStackManager.test.ts +0 -574
  188. package/src/__tests__/ViewabilityHelper.test.ts +0 -282
  189. package/src/__tests__/findVisibleIndex.test.ts +0 -369
  190. package/src/__tests__/helpers/createLayoutManager.ts +0 -141
  191. package/src/__tests__/useUnmountAwareCallbacks.test.tsx +0 -285
@@ -1,4 +1,4 @@
1
- import React, { useEffect } from "react";
1
+ import React, { useEffect, useState, useCallback, useRef } from "react";
2
2
 
3
3
  import { FlashListRef } from "../FlashListRef";
4
4
  import { ErrorMessages } from "../errors/ErrorMessages";
@@ -24,6 +24,12 @@ export interface BenchmarkParams {
24
24
  * Blank area is negative when list is able to draw faster than the scroll speed.
25
25
  */
26
26
  sumNegativeBlankAreaValues?: boolean;
27
+
28
+ /**
29
+ * When set to true, the benchmark will not start automatically.
30
+ * Use the returned startBenchmark function to trigger it manually.
31
+ */
32
+ startManually?: boolean;
27
33
  }
28
34
 
29
35
  export interface BenchmarkResult {
@@ -44,15 +50,27 @@ export function useBenchmark(
44
50
  callback: (benchmarkResult: BenchmarkResult) => void,
45
51
  params: BenchmarkParams = {}
46
52
  ) {
47
- useEffect(() => {
53
+ const [isBenchmarkRunning, setIsBenchmarkRunning] = useState(false);
54
+ const cancellableRef = useRef<Cancellable | null>(null);
55
+
56
+ const startBenchmark = useCallback(() => {
57
+ if (isBenchmarkRunning) {
58
+ return;
59
+ }
60
+
48
61
  const cancellable = new Cancellable();
62
+ cancellableRef.current = cancellable;
49
63
  const suggestions: string[] = [];
64
+
50
65
  if (flashListRef.current) {
51
66
  if (!(Number(flashListRef.current.props.data?.length) > 0)) {
52
67
  throw new Error(ErrorMessages.dataEmptyCannotRunBenchmark);
53
68
  }
54
69
  }
55
- const cancelTimeout = setTimeout(async () => {
70
+
71
+ setIsBenchmarkRunning(true);
72
+
73
+ const runBenchmark = async () => {
56
74
  const jsFPSMonitor = new JSFPSMonitor();
57
75
  jsFPSMonitor.startTracking();
58
76
  for (let i = 0; i < (params.repeatCount || 1); i++) {
@@ -78,13 +96,37 @@ export function useBenchmark(
78
96
  result.formattedString = getFormattedString(result);
79
97
  }
80
98
  callback(result);
99
+ setIsBenchmarkRunning(false);
100
+ };
101
+
102
+ runBenchmark();
103
+ }, [
104
+ callback,
105
+ flashListRef,
106
+ isBenchmarkRunning,
107
+ params.repeatCount,
108
+ params.speedMultiplier,
109
+ ]);
110
+
111
+ useEffect(() => {
112
+ if (params.startManually) {
113
+ return;
114
+ }
115
+
116
+ const cancelTimeout = setTimeout(() => {
117
+ startBenchmark();
81
118
  }, params.startDelayInMs || 3000);
119
+
82
120
  return () => {
83
121
  clearTimeout(cancelTimeout);
84
- cancellable.cancel();
122
+ if (cancellableRef.current) {
123
+ cancellableRef.current.cancel();
124
+ }
85
125
  };
86
126
  // eslint-disable-next-line react-hooks/exhaustive-deps
87
127
  }, []);
128
+
129
+ return { startBenchmark, isBenchmarkRunning } as const;
88
130
  }
89
131
 
90
132
  export function getFormattedString(res: BenchmarkResult) {
@@ -161,6 +203,7 @@ async function runScrollBenchmark(
161
203
  }
162
204
  }
163
205
  }
206
+
164
207
  function computeSuggestions(
165
208
  flashListRef: React.RefObject<FlashListRef<any> | null | undefined>,
166
209
  suggestions: string[]
@@ -1,4 +1,4 @@
1
- import { useEffect } from "react";
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
2
  import { FlatList } from "react-native";
3
3
 
4
4
  import { ErrorMessages } from "../errors/ErrorMessages";
@@ -25,14 +25,24 @@ export function useFlatListBenchmark(
25
25
  callback: (benchmarkResult: BenchmarkResult) => void,
26
26
  params: FlatListBenchmarkParams
27
27
  ) {
28
- useEffect(() => {
28
+ const [isBenchmarkRunning, setIsBenchmarkRunning] = useState(false);
29
+ const cancellableRef = useRef<Cancellable | null>(null);
30
+
31
+ const startBenchmark = useCallback(() => {
32
+ if (isBenchmarkRunning) {
33
+ return;
34
+ }
29
35
  const cancellable = new Cancellable();
36
+ cancellableRef.current = cancellable;
30
37
  if (flatListRef.current && flatListRef.current.props) {
31
38
  if (!(Number(flatListRef.current.props.data?.length) > 0)) {
32
39
  throw new Error(ErrorMessages.dataEmptyCannotRunBenchmark);
33
40
  }
34
41
  }
35
- const cancelTimeout = setTimeout(async () => {
42
+
43
+ setIsBenchmarkRunning(true);
44
+
45
+ const runBenchmark = async () => {
36
46
  const jsFPSMonitor = new JSFPSMonitor();
37
47
  jsFPSMonitor.startTracking();
38
48
  for (let i = 0; i < (params.repeatCount || 1); i++) {
@@ -53,14 +63,37 @@ export function useFlatListBenchmark(
53
63
  result.formattedString = getFormattedString(result);
54
64
  }
55
65
  callback(result);
66
+ setIsBenchmarkRunning(false);
67
+ };
68
+
69
+ runBenchmark();
70
+ }, [
71
+ callback,
72
+ flatListRef,
73
+ isBenchmarkRunning,
74
+ params.repeatCount,
75
+ params.speedMultiplier,
76
+ params.targetOffset,
77
+ ]);
78
+
79
+ useEffect(() => {
80
+ if (params.startManually) {
81
+ return;
82
+ }
83
+
84
+ const cancelTimeout = setTimeout(() => {
85
+ startBenchmark();
56
86
  }, params.startDelayInMs || 3000);
87
+
57
88
  return () => {
58
89
  clearTimeout(cancelTimeout);
59
- cancellable.cancel();
90
+ if (cancellableRef.current) {
91
+ cancellableRef.current.cancel();
92
+ }
60
93
  };
61
94
  // eslint-disable-next-line react-hooks/exhaustive-deps
62
95
  }, []);
63
- return [];
96
+ return { startBenchmark, isBenchmarkRunning };
64
97
  }
65
98
 
66
99
  /**
@@ -490,11 +490,13 @@ const RecyclerViewComponent = <T,>(
490
490
  return (
491
491
  <RecyclerViewContextProvider value={recyclerViewContext}>
492
492
  <CompatView
493
- style={{
494
- flex: horizontal ? undefined : 1,
495
- overflow: "hidden",
496
- ...style,
497
- }}
493
+ style={[
494
+ {
495
+ flex: horizontal ? undefined : 1,
496
+ overflow: "hidden",
497
+ },
498
+ style,
499
+ ]}
498
500
  ref={internalViewRef}
499
501
  collapsable={false}
500
502
  onLayout={(event) => {
@@ -289,7 +289,7 @@ export function useRecyclerViewController<T>(
289
289
  }
290
290
  }
291
291
  setTimeout(() => {
292
- scrollViewRef.current!.scrollToEnd({ animated });
292
+ scrollViewRef.current?.scrollToEnd({ animated });
293
293
  }, 0);
294
294
  },
295
295
 
@@ -564,7 +564,8 @@ export function useRecyclerViewController<T>(
564
564
  ]);
565
565
 
566
566
  const applyInitialScrollIndex = useCallback(() => {
567
- const { horizontal, data } = recyclerViewManager.props;
567
+ const { horizontal, data, initialScrollIndexParams } =
568
+ recyclerViewManager.props;
568
569
 
569
570
  const initialScrollIndex =
570
571
  recyclerViewManager.getInitialScrollIndex() ?? -1;
@@ -583,9 +584,11 @@ export function useRecyclerViewController<T>(
583
584
 
584
585
  pauseOffsetCorrection.current = true;
585
586
 
587
+ const additionalOffset = initialScrollIndexParams?.viewOffset ?? 0;
586
588
  const offset = horizontal
587
- ? recyclerViewManager.getLayout(initialScrollIndex).x
588
- : recyclerViewManager.getLayout(initialScrollIndex).y;
589
+ ? recyclerViewManager.getLayout(initialScrollIndex).x + additionalOffset
590
+ : recyclerViewManager.getLayout(initialScrollIndex).y +
591
+ additionalOffset;
589
592
  handlerMethods.scrollToOffset({
590
593
  offset,
591
594
  animated: false,
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=AverageWindow.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AverageWindow.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/AverageWindow.test.ts"],"names":[],"mappings":""}
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var AverageWindow_1 = require("../utils/AverageWindow");
4
- describe("AverageWindow", function () {
5
- var fillAverageWindow = function (averageWindow, from, to) {
6
- for (var i = from; i < to; i++) {
7
- averageWindow.addValue(i);
8
- }
9
- };
10
- it("all input window values should be filled with correct values", function () {
11
- var commonValue = 50;
12
- var size = 100;
13
- var averageWindow = new AverageWindow_1.AverageWindow(size);
14
- var inputValues = averageWindow["inputValues"];
15
- for (var i = 0; i < size; i++) {
16
- averageWindow.addValue(commonValue);
17
- }
18
- expect(Math.round(averageWindow.currentValue)).toBe(commonValue);
19
- expect(inputValues.every(function (val) { return val === commonValue; })).toBe(true);
20
- });
21
- it("computes correct average", function () {
22
- // We're gonna check if average from internal array matches the current average value
23
- var size = 100;
24
- var averageWindow = new AverageWindow_1.AverageWindow(size);
25
- var inputValues = averageWindow["inputValues"];
26
- fillAverageWindow(averageWindow, 0, 200);
27
- // calculate average directly
28
- var reduceObj = inputValues.reduce(function (obj, val) {
29
- if (val !== undefined) {
30
- obj.sum += val;
31
- obj.count++;
32
- }
33
- return obj;
34
- }, { sum: 0, count: 0 });
35
- // running average could be different by few decimal points so floor is required
36
- expect(Math.floor(averageWindow.currentValue)).toBe(Math.floor(reduceObj.sum / reduceObj.count));
37
- });
38
- it("should prioritize new values quickly", function () {
39
- var size = 30;
40
- var averageWindow = new AverageWindow_1.AverageWindow(size);
41
- fillAverageWindow(averageWindow, 0, 100);
42
- expect(averageWindow.currentValue).toBeGreaterThan(70);
43
- fillAverageWindow(averageWindow, 0, 30);
44
- expect(averageWindow.currentValue).toBeLessThan(30);
45
- });
46
- it("reports initial average correctly", function () {
47
- var size = 30;
48
- var averageWindow = new AverageWindow_1.AverageWindow(size, 25);
49
- expect(averageWindow.currentValue).toBe(25);
50
- });
51
- it("updates initial average correctly", function () {
52
- var size = 30;
53
- var averageWindow = new AverageWindow_1.AverageWindow(size, 10);
54
- averageWindow.addValue(20);
55
- expect(averageWindow.currentValue).toBe(15);
56
- });
57
- it("increments next index correctly", function () {
58
- var size = 30;
59
- var averageWindow = new AverageWindow_1.AverageWindow(size);
60
- for (var i = 0; i < 300; i++) {
61
- expect(averageWindow["getNextIndex"]()).toBe(i % size);
62
- }
63
- var averageWindow2 = new AverageWindow_1.AverageWindow(size, 1);
64
- for (var i = 1; i < 300; i++) {
65
- expect(averageWindow2["getNextIndex"]()).toBe(i % size);
66
- }
67
- });
68
- });
69
- describe("MultiTypeAverageWindow", function () {
70
- it("should maintain separate averages for different types", function () {
71
- var windowSize = 10;
72
- var multiTypeAverageWindow = new AverageWindow_1.MultiTypeAverageWindow(windowSize);
73
- multiTypeAverageWindow.addValue(10, "type1");
74
- multiTypeAverageWindow.addValue(20, "type2");
75
- expect(multiTypeAverageWindow.getCurrentValue("type1")).toBe(10);
76
- expect(multiTypeAverageWindow.getCurrentValue("type2")).toBe(20);
77
- });
78
- it("should update averages correctly for each type", function () {
79
- var windowSize = 5;
80
- var multiTypeAverageWindow = new AverageWindow_1.MultiTypeAverageWindow(windowSize);
81
- multiTypeAverageWindow.addValue(10, "type1");
82
- multiTypeAverageWindow.addValue(20, "type1");
83
- multiTypeAverageWindow.addValue(30, "type1");
84
- multiTypeAverageWindow.addValue(5, "type2");
85
- multiTypeAverageWindow.addValue(15, "type2");
86
- expect(multiTypeAverageWindow.getCurrentValue("type1")).toBe(20);
87
- expect(multiTypeAverageWindow.getCurrentValue("type2")).toBe(10);
88
- });
89
- it("should return 0 for non-existent types", function () {
90
- var windowSize = 5;
91
- var multiTypeAverageWindow = new AverageWindow_1.MultiTypeAverageWindow(windowSize);
92
- expect(multiTypeAverageWindow.getCurrentValue("nonExistentType")).toBe(0);
93
- });
94
- it("should reset all averages", function () {
95
- var windowSize = 5;
96
- var multiTypeAverageWindow = new AverageWindow_1.MultiTypeAverageWindow(windowSize);
97
- multiTypeAverageWindow.addValue(10, "type1");
98
- multiTypeAverageWindow.addValue(20, "type2");
99
- multiTypeAverageWindow.reset();
100
- expect(multiTypeAverageWindow.getCurrentValue("type1")).toBe(0);
101
- expect(multiTypeAverageWindow.getCurrentValue("type2")).toBe(0);
102
- });
103
- });
104
- //# sourceMappingURL=AverageWindow.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AverageWindow.test.js","sourceRoot":"","sources":["../../src/__tests__/AverageWindow.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ConsecutiveNumbers.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConsecutiveNumbers.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ConsecutiveNumbers.test.ts"],"names":[],"mappings":""}
@@ -1,224 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- /* eslint-disable id-length */
5
- var ConsecutiveNumbers_1 = require("../recyclerview/helpers/ConsecutiveNumbers");
6
- describe("ConsecutiveNumbers", function () {
7
- describe("constructor", function () {
8
- it("should initialize with start and end indices", function () {
9
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
10
- expect(numbers.startIndex).toBe(5);
11
- expect(numbers.endIndex).toBe(10);
12
- });
13
- });
14
- describe("EMPTY", function () {
15
- it("should have correct values for EMPTY constant", function () {
16
- expect(ConsecutiveNumbers_1.ConsecutiveNumbers.EMPTY.startIndex).toBe(-1);
17
- expect(ConsecutiveNumbers_1.ConsecutiveNumbers.EMPTY.endIndex).toBe(-2);
18
- expect(ConsecutiveNumbers_1.ConsecutiveNumbers.EMPTY.length).toBe(0);
19
- });
20
- });
21
- describe("length", function () {
22
- it("should return correct length for valid range", function () {
23
- expect(new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10).length).toBe(6);
24
- expect(new ConsecutiveNumbers_1.ConsecutiveNumbers(0, 0).length).toBe(1);
25
- });
26
- it("should return 0 for invalid range", function () {
27
- expect(new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 4).length).toBe(0);
28
- expect(new ConsecutiveNumbers_1.ConsecutiveNumbers(10, 5).length).toBe(0);
29
- });
30
- });
31
- describe("at", function () {
32
- it("should return correct value at index", function () {
33
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
34
- expect(numbers.at(0)).toBe(5);
35
- expect(numbers.at(3)).toBe(8);
36
- expect(numbers.at(5)).toBe(10);
37
- });
38
- it("should work with negative ranges", function () {
39
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(-3, 2);
40
- expect(numbers.at(0)).toBe(-3);
41
- expect(numbers.at(3)).toBe(0);
42
- expect(numbers.at(5)).toBe(2);
43
- });
44
- });
45
- describe("equals", function () {
46
- it("should return true for identical ranges", function () {
47
- var a = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
48
- var b = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
49
- expect(a.equals(b)).toBe(true);
50
- });
51
- it("should return false for different ranges", function () {
52
- var a = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
53
- var b = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 11);
54
- var c = new ConsecutiveNumbers_1.ConsecutiveNumbers(6, 10);
55
- expect(a.equals(b)).toBe(false);
56
- expect(a.equals(c)).toBe(false);
57
- });
58
- it("should handle empty ranges", function () {
59
- expect(ConsecutiveNumbers_1.ConsecutiveNumbers.EMPTY.equals(ConsecutiveNumbers_1.ConsecutiveNumbers.EMPTY)).toBe(true);
60
- expect(ConsecutiveNumbers_1.ConsecutiveNumbers.EMPTY.equals(new ConsecutiveNumbers_1.ConsecutiveNumbers(1, 5))).toBe(false);
61
- });
62
- });
63
- describe("toArray", function () {
64
- it("should return correct array for valid range", function () {
65
- expect(new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 8).toArray()).toEqual([5, 6, 7, 8]);
66
- expect(new ConsecutiveNumbers_1.ConsecutiveNumbers(0, 3).toArray()).toEqual([0, 1, 2, 3]);
67
- expect(new ConsecutiveNumbers_1.ConsecutiveNumbers(-2, 1).toArray()).toEqual([-2, -1, 0, 1]);
68
- });
69
- it("should return empty array for invalid ranges", function () {
70
- expect(new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 4).toArray()).toEqual([]);
71
- expect(ConsecutiveNumbers_1.ConsecutiveNumbers.EMPTY.toArray()).toEqual([]);
72
- });
73
- });
74
- describe("includes", function () {
75
- it("should return true for values in range", function () {
76
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
77
- expect(numbers.includes(5)).toBe(true);
78
- expect(numbers.includes(7)).toBe(true);
79
- expect(numbers.includes(10)).toBe(true);
80
- });
81
- it("should return false for values outside range", function () {
82
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
83
- expect(numbers.includes(4)).toBe(false);
84
- expect(numbers.includes(11)).toBe(false);
85
- });
86
- it("should handle empty ranges", function () {
87
- expect(ConsecutiveNumbers_1.ConsecutiveNumbers.EMPTY.includes(0)).toBe(false);
88
- });
89
- });
90
- describe("indexOf", function () {
91
- it("should return correct index for values in range", function () {
92
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
93
- expect(numbers.indexOf(5)).toBe(0);
94
- expect(numbers.indexOf(7)).toBe(2);
95
- expect(numbers.indexOf(10)).toBe(5);
96
- });
97
- it("should return -1 for values outside range", function () {
98
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
99
- expect(numbers.indexOf(4)).toBe(-1);
100
- expect(numbers.indexOf(11)).toBe(-1);
101
- });
102
- });
103
- describe("findValue", function () {
104
- it("should find values matching predicate", function () {
105
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
106
- expect(numbers.findValue(function (v) { return v % 2 === 0; })).toBe(6);
107
- expect(numbers.findValue(function (v) { return v > 8; })).toBe(9);
108
- });
109
- it("should return undefined when no match found", function () {
110
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
111
- expect(numbers.findValue(function (v) { return v > 100; })).toBe(undefined);
112
- });
113
- it("should provide index and array to predicate", function () {
114
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 7);
115
- var mockFn = jest.fn().mockReturnValue(false);
116
- numbers.findValue(mockFn);
117
- expect(mockFn).toHaveBeenCalledTimes(3);
118
- expect(mockFn).toHaveBeenNthCalledWith(1, 5, 0, numbers);
119
- expect(mockFn).toHaveBeenNthCalledWith(2, 6, 1, numbers);
120
- expect(mockFn).toHaveBeenNthCalledWith(3, 7, 2, numbers);
121
- });
122
- });
123
- describe("every", function () {
124
- it("should return true when all values match predicate", function () {
125
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
126
- expect(numbers.every(function (v) { return v >= 5; })).toBe(true);
127
- expect(numbers.every(function (v) { return v <= 10; })).toBe(true);
128
- });
129
- it("should return false when some values do not match predicate", function () {
130
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
131
- expect(numbers.every(function (v) { return v % 2 === 0; })).toBe(false);
132
- expect(numbers.every(function (v) { return v > 7; })).toBe(false);
133
- });
134
- it("should provide index and array to predicate", function () {
135
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 7);
136
- var mockFn = jest.fn().mockReturnValue(true);
137
- numbers.every(mockFn);
138
- expect(mockFn).toHaveBeenCalledTimes(3);
139
- expect(mockFn).toHaveBeenNthCalledWith(1, 5, 0, numbers);
140
- expect(mockFn).toHaveBeenNthCalledWith(2, 6, 1, numbers);
141
- expect(mockFn).toHaveBeenNthCalledWith(3, 7, 2, numbers);
142
- });
143
- it("should short-circuit when predicate returns false", function () {
144
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
145
- var mockFn = jest.fn().mockImplementation(function (v) { return v < 7; });
146
- numbers.every(mockFn);
147
- expect(mockFn).toHaveBeenCalledTimes(3); // Should stop after v=7
148
- });
149
- });
150
- describe("slice", function () {
151
- it("should slice with both start and end", function () {
152
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
153
- var sliced = numbers.slice(1, 4);
154
- expect(sliced.startIndex).toBe(6);
155
- expect(sliced.endIndex).toBe(8);
156
- expect(sliced.length).toBe(3);
157
- });
158
- it("should slice with only start", function () {
159
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
160
- var sliced = numbers.slice(2);
161
- expect(sliced.startIndex).toBe(7);
162
- expect(sliced.endIndex).toBe(10);
163
- expect(sliced.length).toBe(4);
164
- });
165
- it("should handle out of bounds slices", function () {
166
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
167
- var sliced = numbers.slice(0, 100);
168
- expect(sliced.length).toBe(6);
169
- expect(sliced.startIndex).toBe(5);
170
- expect(sliced.endIndex).toBe(10);
171
- });
172
- it("should handle invalid slices", function () {
173
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 10);
174
- var sliced = numbers.slice(4, 3);
175
- expect(sliced.length).toBe(0);
176
- expect(sliced.startIndex).toBe(9);
177
- expect(sliced.endIndex).toBe(8);
178
- });
179
- });
180
- describe("iterator", function () {
181
- it("should iterate over all values", function () {
182
- var e_1, _a;
183
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 8);
184
- var result = [];
185
- try {
186
- for (var numbers_1 = tslib_1.__values(numbers), numbers_1_1 = numbers_1.next(); !numbers_1_1.done; numbers_1_1 = numbers_1.next()) {
187
- var num = numbers_1_1.value;
188
- result.push(num);
189
- }
190
- }
191
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
192
- finally {
193
- try {
194
- if (numbers_1_1 && !numbers_1_1.done && (_a = numbers_1.return)) _a.call(numbers_1);
195
- }
196
- finally { if (e_1) throw e_1.error; }
197
- }
198
- expect(result).toEqual([5, 6, 7, 8]);
199
- });
200
- it("should handle empty ranges", function () {
201
- var e_2, _a;
202
- var result = [];
203
- try {
204
- for (var _b = tslib_1.__values(ConsecutiveNumbers_1.ConsecutiveNumbers.EMPTY), _c = _b.next(); !_c.done; _c = _b.next()) {
205
- var num = _c.value;
206
- result.push(num);
207
- }
208
- }
209
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
210
- finally {
211
- try {
212
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
213
- }
214
- finally { if (e_2) throw e_2.error; }
215
- }
216
- expect(result).toEqual([]);
217
- });
218
- it("should work with spread operator", function () {
219
- var numbers = new ConsecutiveNumbers_1.ConsecutiveNumbers(5, 8);
220
- expect(tslib_1.__spreadArray([], tslib_1.__read(numbers), false)).toEqual([5, 6, 7, 8]);
221
- });
222
- });
223
- });
224
- //# sourceMappingURL=ConsecutiveNumbers.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConsecutiveNumbers.test.js","sourceRoot":"","sources":["../../src/__tests__/ConsecutiveNumbers.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=GridLayoutManager.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GridLayoutManager.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/GridLayoutManager.test.ts"],"names":[],"mappings":""}