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

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 (137) 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/README.md +1 -1
  5. package/appUtils/HooksManager/__tests__/__snapshots__/hooksManager.test.js.snap +188 -0
  6. package/appUtils/HooksManager/__tests__/hooksManager.test.js +2 -16
  7. package/appUtils/HooksManager/index.ts +45 -10
  8. package/appUtils/RiverFocusManager/{index.ts → index.js} +18 -25
  9. package/appUtils/accessibilityManager/const.ts +0 -4
  10. package/appUtils/accessibilityManager/utils.ts +1 -0
  11. package/appUtils/contextKeysManager/__tests__/getKeys/failure.test.ts +2 -7
  12. package/appUtils/contextKeysManager/__tests__/getKeys/success.test.ts +0 -48
  13. package/appUtils/contextKeysManager/contextResolver.ts +22 -51
  14. package/appUtils/contextKeysManager/index.ts +10 -65
  15. package/appUtils/focusManager/__tests__/__snapshots__/focusManager.test.js.snap +0 -3
  16. package/appUtils/focusManager/index.ios.ts +4 -43
  17. package/appUtils/focusManagerAux/utils/index.ts +3 -5
  18. package/appUtils/focusManagerAux/utils/utils.ios.ts +3 -199
  19. package/appUtils/keyCodes/keys/keys.web.ts +4 -1
  20. package/appUtils/localizationsHelper.ts +4 -0
  21. package/appUtils/orientationHelper.ts +4 -2
  22. package/appUtils/platform/platformUtils.ts +1 -1
  23. package/appUtils/playerManager/index.ts +9 -0
  24. package/appUtils/playerManager/player.ts +1 -5
  25. package/appUtils/playerManager/playerNative.ts +22 -30
  26. package/appUtils/playerManager/usePlayer.tsx +5 -3
  27. package/appUtils/playerManager/usePlayerState.tsx +2 -14
  28. package/cellUtils/__tests__/cellUtils.test.ts +39 -0
  29. package/cellUtils/index.ts +11 -1
  30. package/cloudEventsUtils/index.ts +1 -65
  31. package/configurationUtils/__tests__/manifestKeyParser.test.ts +26 -26
  32. package/dateUtils/__tests__/dayjs.test.ts +0 -3
  33. package/dateUtils/index.ts +2 -0
  34. package/focusManager/aux/index.ts +1 -1
  35. package/headersUtils/__tests__/headersUtils.test.js +1 -11
  36. package/headersUtils/index.ts +1 -2
  37. package/manifestUtils/defaultManifestConfigurations/player.js +7 -75
  38. package/manifestUtils/tvAction/container/index.js +1 -1
  39. package/numberUtils/__tests__/toNumber.test.ts +0 -12
  40. package/numberUtils/index.ts +1 -19
  41. package/package.json +4 -4
  42. package/pluginUtils/index.ts +4 -9
  43. package/reactHooks/advertising/index.ts +2 -2
  44. package/reactHooks/app/__tests__/useAppState.test.ts +1 -1
  45. package/reactHooks/autoscrolling/__tests__/useTrackCurrentAutoScrollingElement.test.ts +1 -1
  46. package/reactHooks/autoscrolling/__tests__/useTrackedView.test.tsx +2 -1
  47. package/reactHooks/casting/index.ts +1 -0
  48. package/reactHooks/casting/useIsCasting.tsx +57 -0
  49. package/reactHooks/cell-click/__tests__/index.test.js +3 -1
  50. package/reactHooks/componentsMap/index.ts +55 -0
  51. package/reactHooks/configuration/__tests__/index.test.tsx +1 -1
  52. package/reactHooks/connection/__tests__/index.test.js +1 -1
  53. package/reactHooks/debugging/__tests__/index.test.js +4 -4
  54. package/reactHooks/device/useIsTablet.tsx +19 -14
  55. package/reactHooks/device/useMemoizedIsTablet.ts +3 -3
  56. package/reactHooks/feed/__tests__/useBatchLoading.test.tsx +23 -32
  57. package/reactHooks/feed/__tests__/useBuildPipesUrl.test.tsx +19 -19
  58. package/reactHooks/feed/__tests__/useEntryScreenId.test.tsx +1 -4
  59. package/reactHooks/feed/__tests__/useFeedLoader.test.tsx +30 -42
  60. package/reactHooks/feed/__tests__/useFeedRefresh.test.tsx +1 -1
  61. package/reactHooks/feed/__tests__/useInflatedUrl.test.tsx +1 -1
  62. package/reactHooks/feed/useBatchLoading.ts +1 -7
  63. package/reactHooks/feed/useEntryScreenId.ts +2 -2
  64. package/reactHooks/feed/useInflatedUrl.ts +1 -1
  65. package/reactHooks/feed/usePipesCacheReset.ts +1 -3
  66. package/reactHooks/flatList/useLoadNextPageIfNeeded.ts +16 -13
  67. package/reactHooks/layout/__tests__/index.test.tsx +1 -1
  68. package/reactHooks/layout/__tests__/useLayoutVersion.test.tsx +1 -1
  69. package/reactHooks/layout/useDimensions/__tests__/{useDimensions.test.tsx → useDimensions.test.ts} +25 -105
  70. package/reactHooks/layout/useDimensions/useDimensions.ts +2 -2
  71. package/reactHooks/navigation/__tests__/index.test.tsx +4 -2
  72. package/reactHooks/navigation/index.ts +6 -7
  73. package/reactHooks/navigation/useRoute.ts +6 -8
  74. package/reactHooks/player/TVSeekControlller/TVSeekController.ts +10 -27
  75. package/reactHooks/player/__tests__/useAutoSeek._test.tsx +1 -1
  76. package/reactHooks/player/__tests__/useTapSeek._test.ts +1 -1
  77. package/reactHooks/resolvers/__tests__/useCellResolver.test.tsx +1 -1
  78. package/reactHooks/resolvers/__tests__/useComponentResolver.test.tsx +1 -1
  79. package/reactHooks/resolvers/useCellResolver.ts +2 -6
  80. package/reactHooks/resolvers/useComponentResolver.ts +13 -9
  81. package/reactHooks/screen/__tests__/useCurrentScreenData.test.tsx +2 -2
  82. package/reactHooks/screen/__tests__/useCurrentScreenIsHook.test.ts +103 -0
  83. package/reactHooks/screen/__tests__/useCurrentScreenIsStartupHook.test.ts +94 -0
  84. package/reactHooks/screen/__tests__/useScreenBackgroundColor.test.tsx +1 -1
  85. package/reactHooks/screen/__tests__/useScreenData.test.tsx +1 -1
  86. package/reactHooks/screen/__tests__/useTargetScreenData.test.tsx +4 -12
  87. package/reactHooks/screen/index.ts +6 -0
  88. package/reactHooks/screen/useCurrentScreenIsHook.ts +9 -0
  89. package/reactHooks/screen/useCurrentScreenIsStartupHook.ts +8 -0
  90. package/reactHooks/screen/useIsStandaloneFullscreen.ts +12 -0
  91. package/reactHooks/screen/useTargetScreenData.ts +2 -4
  92. package/reactHooks/state/__tests__/useComponentScreenState.test.ts +246 -0
  93. package/reactHooks/state/index.ts +2 -0
  94. package/reactHooks/state/useComponentScreenState.ts +45 -0
  95. package/reactHooks/state/useRivers.ts +1 -1
  96. package/reactHooks/usePluginConfiguration.ts +2 -2
  97. package/reactHooks/utils/__tests__/index.test.js +1 -1
  98. package/rectUtils/index.ts +2 -2
  99. package/screenPickerUtils/index.ts +5 -0
  100. package/screenState/__tests__/index.test.ts +1 -1
  101. package/stringUtils/index.ts +1 -1
  102. package/testUtils/index.tsx +21 -30
  103. package/typeGuards/index.ts +0 -4
  104. package/utils/__tests__/clone.test.ts +158 -0
  105. package/utils/clone.ts +7 -0
  106. package/utils/index.ts +1 -13
  107. package/utils/path.ts +3 -6
  108. package/utils/pathOr.ts +1 -5
  109. package/zappFrameworkUtils/HookCallback/callbackNavigationAction.ts +1 -1
  110. package/zappFrameworkUtils/HookCallback/hookCallbackManifestExtensions.config.js +1 -1
  111. package/zappFrameworkUtils/loginPluginUtils.ts +1 -1
  112. package/adsUtils/__tests__/createVMAP.test.ts +0 -419
  113. package/appDataUtils/__tests__/urlScheme.test.ts +0 -678
  114. package/appUtils/focusManagerAux/utils/index.ios.ts +0 -122
  115. package/cloudEventsUtils/__tests__/index.test.ts +0 -529
  116. package/enumUtils/__tests__/getEnumKeyByEnumValue.test.ts +0 -207
  117. package/errorUtils/__tests__/GeneralError.test.ts +0 -97
  118. package/errorUtils/__tests__/HttpStatusCode.test.ts +0 -344
  119. package/errorUtils/__tests__/MissingPluginError.test.ts +0 -113
  120. package/errorUtils/__tests__/NetworkError.test.ts +0 -202
  121. package/errorUtils/__tests__/getParsedResponse.test.ts +0 -188
  122. package/errorUtils/__tests__/invariant.test.ts +0 -112
  123. package/numberUtils/__tests__/toPositiveNumber.test.ts +0 -165
  124. package/reactHooks/analytics/__tests__/useSendAnalyticsOnPress.test.ts +0 -537
  125. package/reactHooks/dev/__tests__/useReRenderLog.test.ts +0 -188
  126. package/reactHooks/ui/__tests__/useFadeOutWhenBlurred.test.ts +0 -580
  127. package/rectUtils/__tests__/index.test.ts +0 -549
  128. package/screenPickerUtils/__tests__/index.test.ts +0 -333
  129. package/searchUtils/const.ts +0 -7
  130. package/searchUtils/index.ts +0 -3
  131. package/time/__tests__/BackgroundTimer.test.ts +0 -156
  132. package/time/__tests__/Timer.test.ts +0 -236
  133. package/typeGuards/__tests__/isString.test.ts +0 -21
  134. package/utils/__tests__/mergeRight.test.ts +0 -48
  135. package/utils/__tests__/selectors.test.ts +0 -124
  136. package/utils/mergeRight.ts +0 -5
  137. 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
- });