@applicaster/zapp-react-native-utils 15.0.0-rc.99 → 15.1.0-alpha.4285753931

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 (165) hide show
  1. package/actionsExecutor/ActionExecutorContext.tsx +51 -5
  2. package/actionsExecutor/feedDecorator.ts +6 -6
  3. package/adsUtils/index.ts +2 -2
  4. package/analyticsUtils/AnalyticsEvents/sendMenuClickEvent.ts +2 -2
  5. package/analyticsUtils/PlayerAnalyticsManager.ts +11 -1
  6. package/analyticsUtils/README.md +1 -1
  7. package/analyticsUtils/__tests__/analyticsMapper.test.ts +35 -0
  8. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testACP_events.json +1 -1
  9. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testBlockUnlistedParams_rules.json +1 -1
  10. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testEmptyRenameKeepsName_events.json +4 -0
  11. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testEmptyRenameKeepsName_rules.json +6 -0
  12. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testEventRegex_events.json +3 -9
  13. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testIgnoreOrdering_events.json +18 -0
  14. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testIgnoreOrdering_rules.json +16 -0
  15. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testRegexEventNoFallback_events.json +4 -0
  16. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testRegexEventNoFallback_rules.json +6 -0
  17. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testRegexMultiGroupRename_events.json +4 -0
  18. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testRegexMultiGroupRename_rules.json +6 -0
  19. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testRegexNonNamedFullMatch_events.json +4 -0
  20. package/analyticsUtils/__tests__/fixtures/analytics_mapper_testRegexNonNamedFullMatch_rules.json +6 -0
  21. package/analyticsUtils/__tests__/fixtures/index.js +20 -0
  22. package/analyticsUtils/analyticsMapper.ts +4 -1
  23. package/analyticsUtils/playerAnalyticsTracker.ts +26 -3
  24. package/appUtils/HooksManager/__tests__/__snapshots__/hooksManager.test.js.snap +188 -0
  25. package/appUtils/HooksManager/__tests__/hooksManager.test.js +2 -16
  26. package/appUtils/HooksManager/index.ts +47 -17
  27. package/appUtils/RiverFocusManager/{index.ts → index.js} +18 -25
  28. package/appUtils/accessibilityManager/const.ts +0 -4
  29. package/appUtils/accessibilityManager/utils.ts +1 -0
  30. package/appUtils/contextKeysManager/__tests__/getKeys/failure.test.ts +2 -7
  31. package/appUtils/contextKeysManager/__tests__/getKeys/success.test.ts +0 -48
  32. package/appUtils/contextKeysManager/contextResolver.ts +22 -51
  33. package/appUtils/contextKeysManager/index.ts +10 -65
  34. package/appUtils/focusManager/__tests__/__snapshots__/focusManager.test.js.snap +0 -3
  35. package/appUtils/focusManager/index.ios.ts +4 -43
  36. package/appUtils/focusManagerAux/utils/index.ts +3 -5
  37. package/appUtils/focusManagerAux/utils/utils.ios.ts +3 -199
  38. package/appUtils/keyCodes/keys/keys.web.ts +4 -1
  39. package/appUtils/localizationsHelper.ts +4 -0
  40. package/appUtils/orientationHelper.ts +4 -2
  41. package/appUtils/platform/platformUtils.ts +1 -1
  42. package/appUtils/playerManager/__tests__/playerFactory.test.ts +150 -0
  43. package/appUtils/playerManager/index.ts +9 -0
  44. package/appUtils/playerManager/player.ts +1 -5
  45. package/appUtils/playerManager/playerFactory.ts +17 -34
  46. package/appUtils/playerManager/playerNative.ts +22 -30
  47. package/appUtils/playerManager/usePlayer.tsx +5 -3
  48. package/appUtils/playerManager/usePlayerState.tsx +2 -14
  49. package/cellUtils/__tests__/cellUtils.test.ts +39 -0
  50. package/cellUtils/index.ts +11 -1
  51. package/cloudEventsUtils/index.ts +1 -65
  52. package/configurationUtils/__tests__/manifestKeyParser.test.ts +26 -26
  53. package/dateUtils/__tests__/dayjs.test.ts +0 -3
  54. package/dateUtils/index.ts +2 -0
  55. package/focusManager/aux/index.ts +1 -1
  56. package/headersUtils/__tests__/headersUtils.test.js +1 -11
  57. package/headersUtils/index.ts +1 -2
  58. package/manifestUtils/defaultManifestConfigurations/player.js +7 -75
  59. package/manifestUtils/tvAction/container/index.js +1 -1
  60. package/numberUtils/__tests__/toNumber.test.ts +0 -12
  61. package/numberUtils/index.ts +1 -19
  62. package/package.json +4 -4
  63. package/pipesUtils/__tests__/buildUrlWithQuery.test.ts +33 -0
  64. package/pipesUtils/__tests__/withPipesEndpoint.test.tsx +56 -0
  65. package/pipesUtils/index.ts +1 -0
  66. package/pipesUtils/withPipesEndpoint.tsx +54 -0
  67. package/playerUtils/index.ts +24 -2
  68. package/pluginUtils/index.ts +4 -9
  69. package/reactHooks/advertising/index.ts +2 -2
  70. package/reactHooks/app/__tests__/useAppState.test.ts +1 -1
  71. package/reactHooks/autoscrolling/__tests__/useTrackCurrentAutoScrollingElement.test.ts +1 -1
  72. package/reactHooks/autoscrolling/__tests__/useTrackedView.test.tsx +2 -1
  73. package/reactHooks/casting/index.ts +1 -0
  74. package/reactHooks/casting/useIsCasting.tsx +57 -0
  75. package/reactHooks/cell-click/__tests__/index.test.js +3 -1
  76. package/reactHooks/componentsMap/index.ts +55 -0
  77. package/reactHooks/configuration/__tests__/index.test.tsx +1 -1
  78. package/reactHooks/connection/__tests__/index.test.js +1 -1
  79. package/reactHooks/debugging/__tests__/index.test.js +4 -4
  80. package/reactHooks/device/useIsTablet.tsx +19 -14
  81. package/reactHooks/device/useMemoizedIsTablet.ts +3 -3
  82. package/reactHooks/feed/__tests__/useBatchLoading.test.tsx +23 -32
  83. package/reactHooks/feed/__tests__/useBuildPipesUrl.test.tsx +19 -19
  84. package/reactHooks/feed/__tests__/useEntryScreenId.test.tsx +1 -4
  85. package/reactHooks/feed/__tests__/useFeedLoader.test.tsx +30 -42
  86. package/reactHooks/feed/__tests__/useFeedRefresh.test.tsx +1 -1
  87. package/reactHooks/feed/__tests__/useInflatedUrl.test.tsx +1 -1
  88. package/reactHooks/feed/useBatchLoading.ts +1 -7
  89. package/reactHooks/feed/useEntryScreenId.ts +2 -2
  90. package/reactHooks/feed/useInflatedUrl.ts +1 -1
  91. package/reactHooks/feed/usePipesCacheReset.ts +1 -3
  92. package/reactHooks/flatList/useLoadNextPageIfNeeded.ts +16 -13
  93. package/reactHooks/layout/__tests__/index.test.tsx +1 -1
  94. package/reactHooks/layout/__tests__/useLayoutVersion.test.tsx +1 -1
  95. package/reactHooks/layout/useDimensions/__tests__/{useDimensions.test.tsx → useDimensions.test.ts} +25 -105
  96. package/reactHooks/layout/useDimensions/useDimensions.ts +2 -2
  97. package/reactHooks/navigation/__tests__/index.test.tsx +4 -2
  98. package/reactHooks/navigation/index.ts +6 -7
  99. package/reactHooks/navigation/useRoute.ts +6 -8
  100. package/reactHooks/player/TVSeekControlller/TVSeekController.ts +10 -27
  101. package/reactHooks/player/__tests__/useAutoSeek._test.tsx +1 -1
  102. package/reactHooks/player/__tests__/useTapSeek._test.ts +1 -1
  103. package/reactHooks/resolvers/__tests__/useCellResolver.test.tsx +1 -1
  104. package/reactHooks/resolvers/__tests__/useComponentResolver.test.tsx +1 -1
  105. package/reactHooks/resolvers/useCellResolver.ts +2 -6
  106. package/reactHooks/resolvers/useComponentResolver.ts +13 -9
  107. package/reactHooks/screen/__tests__/useCurrentScreenData.test.tsx +2 -2
  108. package/reactHooks/screen/__tests__/useCurrentScreenIsHook.test.ts +103 -0
  109. package/reactHooks/screen/__tests__/useCurrentScreenIsStartupHook.test.ts +94 -0
  110. package/reactHooks/screen/__tests__/useScreenBackgroundColor.test.tsx +1 -1
  111. package/reactHooks/screen/__tests__/useScreenData.test.tsx +1 -1
  112. package/reactHooks/screen/__tests__/useTargetScreenData.test.tsx +4 -12
  113. package/reactHooks/screen/index.ts +6 -0
  114. package/reactHooks/screen/useCurrentScreenIsHook.ts +9 -0
  115. package/reactHooks/screen/useCurrentScreenIsStartupHook.ts +8 -0
  116. package/reactHooks/screen/useIsStandaloneFullscreen.ts +12 -0
  117. package/reactHooks/screen/useTargetScreenData.ts +2 -4
  118. package/reactHooks/state/__tests__/useComponentScreenState.test.ts +246 -0
  119. package/reactHooks/state/index.ts +2 -0
  120. package/reactHooks/state/useComponentScreenState.ts +45 -0
  121. package/reactHooks/state/useRivers.ts +1 -1
  122. package/reactHooks/usePluginConfiguration.ts +2 -2
  123. package/reactHooks/utils/__tests__/index.test.js +1 -1
  124. package/reactHooks/videoModal/hooks/useVideoModalScreenData.tsx +22 -4
  125. package/rectUtils/index.ts +2 -2
  126. package/riverComponetsMeasurementProvider/index.tsx +13 -13
  127. package/screenPickerUtils/index.ts +5 -0
  128. package/screenState/__tests__/index.test.ts +1 -1
  129. package/stringUtils/index.ts +1 -1
  130. package/testUtils/index.tsx +21 -30
  131. package/typeGuards/index.ts +0 -4
  132. package/utils/__tests__/clone.test.ts +158 -0
  133. package/utils/clone.ts +7 -0
  134. package/utils/index.ts +1 -13
  135. package/utils/path.ts +3 -6
  136. package/utils/pathOr.ts +1 -5
  137. package/zappFrameworkUtils/HookCallback/callbackNavigationAction.ts +2 -2
  138. package/zappFrameworkUtils/HookCallback/hookCallbackManifestExtensions.config.js +1 -1
  139. package/zappFrameworkUtils/loginPluginUtils.ts +1 -1
  140. package/adsUtils/__tests__/createVMAP.test.ts +0 -419
  141. package/appDataUtils/__tests__/urlScheme.test.ts +0 -678
  142. package/appUtils/focusManagerAux/utils/index.ios.ts +0 -122
  143. package/cloudEventsUtils/__tests__/index.test.ts +0 -529
  144. package/enumUtils/__tests__/getEnumKeyByEnumValue.test.ts +0 -207
  145. package/errorUtils/__tests__/GeneralError.test.ts +0 -97
  146. package/errorUtils/__tests__/HttpStatusCode.test.ts +0 -344
  147. package/errorUtils/__tests__/MissingPluginError.test.ts +0 -113
  148. package/errorUtils/__tests__/NetworkError.test.ts +0 -202
  149. package/errorUtils/__tests__/getParsedResponse.test.ts +0 -188
  150. package/errorUtils/__tests__/invariant.test.ts +0 -112
  151. package/numberUtils/__tests__/toPositiveNumber.test.ts +0 -165
  152. package/reactHooks/analytics/__tests__/useSendAnalyticsOnPress.test.ts +0 -537
  153. package/reactHooks/dev/__tests__/useReRenderLog.test.ts +0 -188
  154. package/reactHooks/ui/__tests__/useFadeOutWhenBlurred.test.ts +0 -580
  155. package/rectUtils/__tests__/index.test.ts +0 -549
  156. package/screenPickerUtils/__tests__/index.test.ts +0 -333
  157. package/searchUtils/const.ts +0 -7
  158. package/searchUtils/index.ts +0 -3
  159. package/time/__tests__/BackgroundTimer.test.ts +0 -156
  160. package/time/__tests__/Timer.test.ts +0 -236
  161. package/typeGuards/__tests__/isString.test.ts +0 -21
  162. package/utils/__tests__/mergeRight.test.ts +0 -48
  163. package/utils/__tests__/selectors.test.ts +0 -124
  164. package/utils/mergeRight.ts +0 -5
  165. package/utils/selectors.ts +0 -46
@@ -1,188 +0,0 @@
1
- import { renderHook } from "@testing-library/react-native";
2
- import { useReRenderLog } from "../index";
3
-
4
- describe("useReRenderLog", () => {
5
- let consoleLogSpy: jest.SpyInstance;
6
-
7
- beforeEach(() => {
8
- consoleLogSpy = jest.spyOn(console, "log").mockImplementation();
9
- });
10
-
11
- afterEach(() => {
12
- consoleLogSpy.mockRestore();
13
- });
14
-
15
- it("should log on initial render", () => {
16
- const message = "Test Component";
17
-
18
- renderHook(() => useReRenderLog(message));
19
-
20
- expect(consoleLogSpy).toHaveBeenCalledWith(
21
- expect.stringContaining("<<RE-RENDERED>>")
22
- );
23
-
24
- expect(consoleLogSpy).toHaveBeenCalledWith(
25
- expect.stringContaining("<<COUNT: 1>>")
26
- );
27
-
28
- expect(consoleLogSpy).toHaveBeenCalledWith(
29
- expect.stringContaining(message)
30
- );
31
- });
32
-
33
- it("should increment count on each re-render", () => {
34
- const message = "Counter Test";
35
-
36
- const { rerender } = renderHook(() => useReRenderLog(message));
37
-
38
- expect(consoleLogSpy).toHaveBeenCalledWith(
39
- expect.stringContaining("<<COUNT: 1>>")
40
- );
41
-
42
- rerender();
43
-
44
- expect(consoleLogSpy).toHaveBeenCalledWith(
45
- expect.stringContaining("<<COUNT: 2>>")
46
- );
47
-
48
- rerender();
49
-
50
- expect(consoleLogSpy).toHaveBeenCalledWith(
51
- expect.stringContaining("<<COUNT: 3>>")
52
- );
53
- });
54
-
55
- it("should log correct message format", () => {
56
- const message = "MyComponent";
57
-
58
- renderHook(() => useReRenderLog(message));
59
-
60
- expect(consoleLogSpy).toHaveBeenCalledWith(
61
- "<<RE-RENDERED>><<COUNT: 1>>: MyComponent"
62
- );
63
- });
64
-
65
- it("should track renders independently for different hook instances", () => {
66
- const message1 = "Component1";
67
- const message2 = "Component2";
68
-
69
- const { rerender: rerender1 } = renderHook(() => useReRenderLog(message1));
70
-
71
- const { rerender: rerender2 } = renderHook(() => useReRenderLog(message2));
72
-
73
- consoleLogSpy.mockClear();
74
-
75
- rerender1();
76
-
77
- expect(consoleLogSpy).toHaveBeenLastCalledWith(
78
- expect.stringContaining("Component1")
79
- );
80
-
81
- rerender2();
82
-
83
- expect(consoleLogSpy).toHaveBeenLastCalledWith(
84
- expect.stringContaining("Component2")
85
- );
86
- });
87
-
88
- it("should handle empty string message", () => {
89
- renderHook(() => useReRenderLog(""));
90
-
91
- expect(consoleLogSpy).toHaveBeenCalledWith("<<RE-RENDERED>><<COUNT: 1>>: ");
92
- });
93
-
94
- it("should handle message with special characters", () => {
95
- const message = "Test!@#$%^&*()";
96
-
97
- renderHook(() => useReRenderLog(message));
98
-
99
- expect(consoleLogSpy).toHaveBeenCalledWith(
100
- expect.stringContaining(message)
101
- );
102
- });
103
-
104
- it("should handle long messages", () => {
105
- const message = "A".repeat(1000);
106
-
107
- renderHook(() => useReRenderLog(message));
108
-
109
- expect(consoleLogSpy).toHaveBeenCalledWith(
110
- expect.stringContaining(message)
111
- );
112
- });
113
-
114
- it("should persist count across multiple re-renders", () => {
115
- const message = "Persistence Test";
116
-
117
- const { rerender } = renderHook(() => useReRenderLog(message));
118
-
119
- for (let i = 2; i <= 10; i++) {
120
- rerender();
121
-
122
- expect(consoleLogSpy).toHaveBeenLastCalledWith(
123
- expect.stringContaining(`<<COUNT: ${i}>>`)
124
- );
125
- }
126
- });
127
-
128
- it("should log on every render without dependencies", () => {
129
- const message = "Every Render";
130
-
131
- const { rerender } = renderHook(() => useReRenderLog(message));
132
-
133
- const initialCallCount = consoleLogSpy.mock.calls.length;
134
-
135
- rerender();
136
- rerender();
137
- rerender();
138
-
139
- // Should have 4 total calls (initial + 3 rerenders)
140
- expect(consoleLogSpy).toHaveBeenCalledTimes(initialCallCount + 3);
141
- });
142
-
143
- it("should handle numeric messages", () => {
144
- renderHook(() => useReRenderLog(123 as any));
145
-
146
- expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining("123"));
147
- });
148
-
149
- it("should handle object messages", () => {
150
- const obj = { key: "value" };
151
-
152
- renderHook(() => useReRenderLog(obj as any));
153
-
154
- expect(consoleLogSpy).toHaveBeenCalled();
155
- });
156
-
157
- it("should maintain separate refs for each instance", () => {
158
- const { rerender: rerender1 } = renderHook(() =>
159
- useReRenderLog("Instance1")
160
- );
161
-
162
- const { rerender: rerender2 } = renderHook(() =>
163
- useReRenderLog("Instance2")
164
- );
165
-
166
- consoleLogSpy.mockClear();
167
-
168
- // Render instance 1 twice more
169
- rerender1();
170
- rerender1();
171
-
172
- // Render instance 2 once more
173
- rerender2();
174
-
175
- const calls = consoleLogSpy.mock.calls;
176
-
177
- // Instance 1 should be at count 2 and 3
178
- expect(calls[0][0]).toContain("Instance1");
179
- expect(calls[0][0]).toContain("<<COUNT: 2>>");
180
-
181
- expect(calls[1][0]).toContain("Instance1");
182
- expect(calls[1][0]).toContain("<<COUNT: 3>>");
183
-
184
- // Instance 2 should be at count 2
185
- expect(calls[2][0]).toContain("Instance2");
186
- expect(calls[2][0]).toContain("<<COUNT: 2>>");
187
- });
188
- });