@applicaster/zapp-react-native-utils 15.0.0-rc.98 → 15.1.0-alpha.1852552014

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 (172) 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 +14 -6
  51. package/cloudEventsUtils/index.ts +1 -65
  52. package/colorUtils/__tests__/isTransparentColor.test.ts +76 -0
  53. package/colorUtils/__tests__/isValidColor.test.ts +70 -0
  54. package/colorUtils/index.ts +50 -0
  55. package/configurationUtils/__tests__/manifestKeyParser.test.ts +26 -26
  56. package/dateUtils/__tests__/dayjs.test.ts +0 -3
  57. package/dateUtils/index.ts +2 -0
  58. package/focusManager/aux/index.ts +1 -1
  59. package/headersUtils/__tests__/headersUtils.test.js +1 -11
  60. package/headersUtils/index.ts +1 -2
  61. package/manifestUtils/defaultManifestConfigurations/player.js +7 -75
  62. package/manifestUtils/keys.js +1 -0
  63. package/manifestUtils/platformIsTV.js +14 -0
  64. package/manifestUtils/tvAction/container/index.js +1 -1
  65. package/numberUtils/__tests__/toNumber.test.ts +0 -12
  66. package/numberUtils/index.ts +1 -19
  67. package/package.json +4 -4
  68. package/pipesUtils/__tests__/buildUrlWithQuery.test.ts +33 -0
  69. package/pipesUtils/__tests__/withPipesEndpoint.test.tsx +56 -0
  70. package/pipesUtils/index.ts +1 -0
  71. package/pipesUtils/withPipesEndpoint.tsx +54 -0
  72. package/playerUtils/index.ts +24 -2
  73. package/pluginUtils/index.ts +4 -9
  74. package/reactHooks/advertising/index.ts +2 -2
  75. package/reactHooks/app/__tests__/useAppState.test.ts +1 -1
  76. package/reactHooks/autoscrolling/__tests__/useTrackCurrentAutoScrollingElement.test.ts +1 -1
  77. package/reactHooks/autoscrolling/__tests__/useTrackedView.test.tsx +2 -1
  78. package/reactHooks/casting/index.ts +1 -0
  79. package/reactHooks/casting/useIsCasting.tsx +57 -0
  80. package/reactHooks/cell-click/__tests__/index.test.js +3 -1
  81. package/reactHooks/componentsMap/index.ts +55 -0
  82. package/reactHooks/configuration/__tests__/index.test.tsx +1 -1
  83. package/reactHooks/connection/__tests__/index.test.js +1 -1
  84. package/reactHooks/debugging/__tests__/index.test.js +4 -4
  85. package/reactHooks/device/useIsTablet.tsx +19 -14
  86. package/reactHooks/device/useMemoizedIsTablet.ts +3 -3
  87. package/reactHooks/events/index.ts +20 -0
  88. package/reactHooks/feed/__tests__/useBatchLoading.test.tsx +23 -32
  89. package/reactHooks/feed/__tests__/useBuildPipesUrl.test.tsx +19 -19
  90. package/reactHooks/feed/__tests__/useEntryScreenId.test.tsx +1 -4
  91. package/reactHooks/feed/__tests__/useFeedLoader.test.tsx +30 -42
  92. package/reactHooks/feed/__tests__/useFeedRefresh.test.tsx +1 -1
  93. package/reactHooks/feed/__tests__/useInflatedUrl.test.tsx +1 -1
  94. package/reactHooks/feed/useBatchLoading.ts +1 -7
  95. package/reactHooks/feed/useEntryScreenId.ts +2 -2
  96. package/reactHooks/feed/useInflatedUrl.ts +1 -1
  97. package/reactHooks/feed/usePipesCacheReset.ts +1 -3
  98. package/reactHooks/flatList/useLoadNextPageIfNeeded.ts +16 -13
  99. package/reactHooks/index.ts +2 -0
  100. package/reactHooks/layout/__tests__/index.test.tsx +1 -1
  101. package/reactHooks/layout/__tests__/useLayoutVersion.test.tsx +1 -1
  102. package/reactHooks/layout/useDimensions/__tests__/{useDimensions.test.tsx → useDimensions.test.ts} +25 -105
  103. package/reactHooks/layout/useDimensions/useDimensions.ts +2 -2
  104. package/reactHooks/navigation/__tests__/index.test.tsx +4 -2
  105. package/reactHooks/navigation/index.ts +6 -7
  106. package/reactHooks/navigation/useRoute.ts +6 -8
  107. package/reactHooks/player/TVSeekControlller/TVSeekController.ts +10 -27
  108. package/reactHooks/player/__tests__/useAutoSeek._test.tsx +1 -1
  109. package/reactHooks/player/__tests__/useTapSeek._test.ts +1 -1
  110. package/reactHooks/resolvers/__tests__/useCellResolver.test.tsx +1 -1
  111. package/reactHooks/resolvers/__tests__/useComponentResolver.test.tsx +1 -1
  112. package/reactHooks/resolvers/useCellResolver.ts +2 -6
  113. package/reactHooks/resolvers/useComponentResolver.ts +13 -9
  114. package/reactHooks/screen/__tests__/useCurrentScreenData.test.tsx +2 -2
  115. package/reactHooks/screen/__tests__/useCurrentScreenIsHook.test.ts +103 -0
  116. package/reactHooks/screen/__tests__/useCurrentScreenIsStartupHook.test.ts +94 -0
  117. package/reactHooks/screen/__tests__/useScreenBackgroundColor.test.tsx +1 -1
  118. package/reactHooks/screen/__tests__/useScreenData.test.tsx +1 -1
  119. package/reactHooks/screen/__tests__/useTargetScreenData.test.tsx +4 -12
  120. package/reactHooks/screen/index.ts +6 -0
  121. package/reactHooks/screen/useCurrentScreenIsHook.ts +9 -0
  122. package/reactHooks/screen/useCurrentScreenIsStartupHook.ts +8 -0
  123. package/reactHooks/screen/useIsStandaloneFullscreen.ts +12 -0
  124. package/reactHooks/screen/useTargetScreenData.ts +2 -4
  125. package/reactHooks/state/__tests__/useComponentScreenState.test.ts +246 -0
  126. package/reactHooks/state/index.ts +2 -0
  127. package/reactHooks/state/useComponentScreenState.ts +45 -0
  128. package/reactHooks/state/useRivers.ts +1 -1
  129. package/reactHooks/usePluginConfiguration.ts +2 -2
  130. package/reactHooks/utils/__tests__/index.test.js +1 -1
  131. package/reactHooks/videoModal/hooks/useVideoModalScreenData.tsx +22 -4
  132. package/rectUtils/index.ts +2 -2
  133. package/riverComponetsMeasurementProvider/index.tsx +12 -8
  134. package/screenPickerUtils/index.ts +5 -0
  135. package/screenState/__tests__/index.test.ts +1 -1
  136. package/stringUtils/index.ts +1 -1
  137. package/testUtils/index.tsx +21 -30
  138. package/typeGuards/index.ts +0 -4
  139. package/utils/__tests__/clone.test.ts +158 -0
  140. package/utils/clone.ts +7 -0
  141. package/utils/index.ts +1 -13
  142. package/utils/path.ts +3 -6
  143. package/utils/pathOr.ts +1 -5
  144. package/zappFrameworkUtils/HookCallback/callbackNavigationAction.ts +2 -2
  145. package/zappFrameworkUtils/HookCallback/hookCallbackManifestExtensions.config.js +1 -1
  146. package/zappFrameworkUtils/loginPluginUtils.ts +1 -1
  147. package/adsUtils/__tests__/createVMAP.test.ts +0 -419
  148. package/appDataUtils/__tests__/urlScheme.test.ts +0 -678
  149. package/appUtils/focusManagerAux/utils/index.ios.ts +0 -122
  150. package/cloudEventsUtils/__tests__/index.test.ts +0 -529
  151. package/enumUtils/__tests__/getEnumKeyByEnumValue.test.ts +0 -207
  152. package/errorUtils/__tests__/GeneralError.test.ts +0 -97
  153. package/errorUtils/__tests__/HttpStatusCode.test.ts +0 -344
  154. package/errorUtils/__tests__/MissingPluginError.test.ts +0 -113
  155. package/errorUtils/__tests__/NetworkError.test.ts +0 -202
  156. package/errorUtils/__tests__/getParsedResponse.test.ts +0 -188
  157. package/errorUtils/__tests__/invariant.test.ts +0 -112
  158. package/numberUtils/__tests__/toPositiveNumber.test.ts +0 -165
  159. package/reactHooks/analytics/__tests__/useSendAnalyticsOnPress.test.ts +0 -537
  160. package/reactHooks/dev/__tests__/useReRenderLog.test.ts +0 -188
  161. package/reactHooks/ui/__tests__/useFadeOutWhenBlurred.test.ts +0 -580
  162. package/rectUtils/__tests__/index.test.ts +0 -549
  163. package/screenPickerUtils/__tests__/index.test.ts +0 -333
  164. package/searchUtils/const.ts +0 -7
  165. package/searchUtils/index.ts +0 -3
  166. package/time/__tests__/BackgroundTimer.test.ts +0 -156
  167. package/time/__tests__/Timer.test.ts +0 -236
  168. package/typeGuards/__tests__/isString.test.ts +0 -21
  169. package/utils/__tests__/mergeRight.test.ts +0 -48
  170. package/utils/__tests__/selectors.test.ts +0 -124
  171. package/utils/mergeRight.ts +0 -5
  172. 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
- });