@applicaster/zapp-react-native-utils 16.0.0-alpha.1593888345 → 16.0.0-alpha.1733304298

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 (110) hide show
  1. package/actionUtils/index.ts +3 -1
  2. package/actionsExecutor/ActionExecutor.ts +10 -1
  3. package/actionsExecutor/ActionExecutorContext.tsx +3 -0
  4. package/actionsExecutor/__tests__/ActionExecutor.test.ts +71 -0
  5. package/actionsExecutor/__tests__/StorageActions.test.ts +98 -0
  6. package/actionsExecutor/__tests__/feedDecorator.test.ts +30 -0
  7. package/actionsExecutor/__tests__/screenToggleFlag.test.ts +90 -0
  8. package/actionsExecutor/actions/__tests__/navigateToScreen.test.ts +139 -5
  9. package/actionsExecutor/actions/__tests__/openBottomSheet.customContent.test.ts +24 -0
  10. package/actionsExecutor/actions/__tests__/openBottomSheet.inlineItems.test.ts +160 -0
  11. package/actionsExecutor/actions/__tests__/showAlert.test.ts +49 -0
  12. package/actionsExecutor/actions/__tests__/showToast.test.ts +2 -2
  13. package/actionsExecutor/actions/index.ts +2 -0
  14. package/actionsExecutor/actions/navigateToScreen.ts +29 -45
  15. package/actionsExecutor/actions/openBottomSheet.ts +21 -6
  16. package/actionsExecutor/actions/screenToggleFlag.ts +1 -3
  17. package/actionsExecutor/actions/showAlert.ts +51 -0
  18. package/actionsExecutor/actions/showToast.ts +2 -2
  19. package/actionsExecutor/consts.ts +1 -0
  20. package/actionsExecutor/feedDecorator.ts +6 -0
  21. package/analyticsUtils/__tests__/playerAnalyticsSafeguard.test.ts +62 -0
  22. package/analyticsUtils/playerAnalyticsTracker.ts +1 -0
  23. package/appUtils/contextKeysManager/__tests__/getKey/failure.test.ts +1 -22
  24. package/appUtils/contextKeysManager/__tests__/getKey/success/fullSearch.test.ts +1 -25
  25. package/appUtils/contextKeysManager/__tests__/getKey/success/searchInSecure.test.ts +1 -7
  26. package/appUtils/contextKeysManager/__tests__/removeKey/failure.test.ts +0 -25
  27. package/appUtils/contextKeysManager/__tests__/removeKey/success.test.ts +0 -6
  28. package/appUtils/contextKeysManager/__tests__/setKey/failure/failedToSaveInStorage.test.ts +0 -40
  29. package/appUtils/contextKeysManager/__tests__/setKey/{success/saveItemAndReference.test.ts → success.test.ts} +2 -42
  30. package/appUtils/contextKeysManager/index.ts +28 -129
  31. package/appUtils/playerManager/OverlayObserver/OverlaysObserver.ts +4 -11
  32. package/appUtils/playerManager/OverlayObserver/__tests__/getUpcomingQueue.test.ts +67 -0
  33. package/appUtils/playerManager/OverlayObserver/__tests__/utils.test.ts +9 -2
  34. package/appUtils/playerManager/OverlayObserver/getUpcomingQueue.ts +15 -2
  35. package/appUtils/playerManager/OverlayObserver/utils.ts +2 -5
  36. package/appUtils/playerManager/__tests__/playerDiagnostics.test.ts +62 -0
  37. package/appUtils/playerManager/__tests__/playerNative.test.ts +76 -0
  38. package/appUtils/playerManager/__tests__/playerNativeCommand.test.ts +62 -0
  39. package/appUtils/playerManager/__tests__/playerToolbox.test.ts +281 -0
  40. package/appUtils/playerManager/__tests__/usePlayerControllerSetup.test.tsx +62 -0
  41. package/appUtils/playerManager/const.ts +13 -0
  42. package/appUtils/playerManager/index.ts +7 -0
  43. package/appUtils/playerManager/player.ts +25 -0
  44. package/appUtils/playerManager/playerNative.ts +22 -0
  45. package/appUtils/playerManager/playerNativeCommand.ts +3 -6
  46. package/appUtils/playerManager/playerToolbox.ts +196 -0
  47. package/appUtils/playerManager/usePlayerControllerSetup.tsx +6 -0
  48. package/arrayUtils/__tests__/reorderByIds.test.ts +13 -0
  49. package/arrayUtils/index.ts +26 -43
  50. package/cellUtils/__tests__/getButtonsEnabled.test.ts +28 -0
  51. package/cellUtils/__tests__/getCellNavigationEnabled.test.ts +36 -0
  52. package/cellUtils/__tests__/getIsCellNavigationEnabled.test.ts +35 -0
  53. package/cellUtils/__tests__/isCellNavigationEnabled.test.ts +21 -0
  54. package/cellUtils/index.ts +40 -0
  55. package/configurationUtils/__tests__/modalBlocksParser.test.ts +189 -46
  56. package/configurationUtils/modalBlocksParser.ts +57 -101
  57. package/entryActions/__tests__/buildEntryActions.test.ts +97 -18
  58. package/entryActions/aliasPresentation.ts +26 -42
  59. package/entryActions/buildEntryActions.ts +1 -0
  60. package/entryActions/index.ts +0 -2
  61. package/focusManager/FocusManager.ts +26 -0
  62. package/focusManager/__tests__/FocusManager.test.ts +9 -0
  63. package/localizationUtils/index.ts +12 -6
  64. package/logger/__tests__/xrayToolbox.test.ts +69 -0
  65. package/logger/xrayToolbox.ts +67 -0
  66. package/manifestUtils/defaultManifestConfigurations/player.js +8 -0
  67. package/manifestUtils/keys.js +7 -2
  68. package/manifestUtils/mobileAction/container/__tests__/mobileActionButtonsContainer.test.js +21 -0
  69. package/manifestUtils/mobileAction/groups/__tests__/buildMobileActionButtonGroups.test.js +1 -1
  70. package/manifestUtils/mobileAction/groups/defaults.js +2 -1
  71. package/modalState/ModalOrchestrator.ts +2 -0
  72. package/modalState/RemoteEditableCollection.ts +9 -1
  73. package/modalState/__tests__/ModalOrchestrator.phase3.test.ts +39 -0
  74. package/modalState/__tests__/RemoteEditableCollection.test.ts +90 -1
  75. package/modalState/__tests__/useModalStoreState.test.ts +142 -0
  76. package/modalState/index.ts +2 -0
  77. package/modalState/store.ts +9 -2
  78. package/modalState/types.ts +14 -0
  79. package/modalState/useBottomSheetContent.ts +17 -12
  80. package/navigationUtils/xrayNavigator.ts +12 -0
  81. package/package.json +3 -2
  82. package/pluginUtils/__tests__/pluginUtils.test.js +32 -0
  83. package/pluginUtils/index.ts +29 -0
  84. package/quickBrickAssets/__tests__/index.test.ts +18 -0
  85. package/quickBrickAssets/index.ts +35 -0
  86. package/reactHooks/__tests__/getPluginConfiguration.test.ts +82 -0
  87. package/reactHooks/actions/index.ts +29 -23
  88. package/reactHooks/cell-click/__tests__/index.test.js +64 -0
  89. package/reactHooks/cell-click/index.ts +21 -14
  90. package/reactHooks/connection/index.tsx +8 -5
  91. package/reactHooks/feed/__tests__/feedInvalidation.test.tsx +338 -0
  92. package/reactHooks/feed/__tests__/useBatchLoading.test.tsx +8 -2
  93. package/reactHooks/feed/__tests__/useMarkPipesDataStale.test.tsx +243 -0
  94. package/reactHooks/feed/useFeedLoader.tsx +28 -1
  95. package/reactHooks/feed/useLoadPipesDataDispatch.ts +12 -11
  96. package/reactHooks/feed/useMarkPipesDataStale.ts +68 -23
  97. package/reactHooks/navigation/__tests__/index.test.tsx +128 -1
  98. package/reactHooks/navigation/useRoute.ts +8 -4
  99. package/reactHooks/usePluginConfiguration.ts +84 -46
  100. package/riverComponetsMeasurementProvider/index.tsx +3 -1
  101. package/uiActionsRegistrator/__tests__/subscribe.test.ts +26 -0
  102. package/uiActionsRegistrator/registry.ts +16 -0
  103. package/appUtils/contextKeysManager/__tests__/getKey/success/byReference.test.ts +0 -56
  104. package/appUtils/contextKeysManager/__tests__/getKeyByReference/failure.test.ts +0 -265
  105. package/appUtils/contextKeysManager/__tests__/getKeyByReference/success.test.ts +0 -303
  106. package/appUtils/contextKeysManager/__tests__/removeReferenceForKey/failure.test.ts +0 -82
  107. package/appUtils/contextKeysManager/__tests__/removeReferenceForKey/success.test.ts +0 -41
  108. package/appUtils/contextKeysManager/__tests__/setKey/success/saveItemButNotReference.test.ts +0 -208
  109. package/appUtils/contextKeysManager/__tests__/setReferenceForKey/failure.test.ts +0 -93
  110. package/appUtils/contextKeysManager/__tests__/setReferenceForKey/success.test.ts +0 -45
@@ -1,4 +1,4 @@
1
- import { ContextKeysManager, NOTHING } from "../../..";
1
+ import { ContextKeysManager } from "../../..";
2
2
 
3
3
  describe("Context Keys Manager - getKey", () => {
4
4
  it("returns value if found in session-storage", async () => {
@@ -35,10 +35,6 @@ describe("Context Keys Manager - getKey", () => {
35
35
  secureStorage: mockedSecureStorage,
36
36
  });
37
37
 
38
- const getKeyByReference = jest
39
- .spyOn(contextManager, "getKeyByReference")
40
- .mockResolvedValueOnce(NOTHING);
41
-
42
38
  // run
43
39
  const result = await contextManager.getKey(key);
44
40
 
@@ -47,8 +43,6 @@ describe("Context Keys Manager - getKey", () => {
47
43
 
48
44
  expect(mockedLogger.warn).not.toHaveBeenCalled();
49
45
 
50
- expect(getKeyByReference).toHaveBeenCalledWith("key", "namespace");
51
-
52
46
  expect(mockedSessionStorage.getItem).toHaveBeenCalledWith(
53
47
  "key",
54
48
  "namespace"
@@ -92,10 +86,6 @@ describe("Context Keys Manager - getKey", () => {
92
86
  secureStorage: mockedSecureStorage,
93
87
  });
94
88
 
95
- const getKeyByReference = jest
96
- .spyOn(contextManager, "getKeyByReference")
97
- .mockResolvedValueOnce(NOTHING);
98
-
99
89
  // run
100
90
  const result = await contextManager.getKey(key);
101
91
 
@@ -104,8 +94,6 @@ describe("Context Keys Manager - getKey", () => {
104
94
 
105
95
  expect(mockedLogger.warn).not.toHaveBeenCalled();
106
96
 
107
- expect(getKeyByReference).toHaveBeenCalledWith("key", "namespace");
108
-
109
97
  expect(mockedSessionStorage.getItem).toHaveBeenCalledWith(
110
98
  "key",
111
99
  "namespace"
@@ -149,10 +137,6 @@ describe("Context Keys Manager - getKey", () => {
149
137
  secureStorage: mockedSecureStorage,
150
138
  });
151
139
 
152
- const getKeyByReference = jest
153
- .spyOn(contextManager, "getKeyByReference")
154
- .mockResolvedValueOnce(NOTHING);
155
-
156
140
  // run
157
141
  const result = await contextManager.getKey(key);
158
142
 
@@ -161,8 +145,6 @@ describe("Context Keys Manager - getKey", () => {
161
145
 
162
146
  expect(mockedLogger.warn).not.toHaveBeenCalled();
163
147
 
164
- expect(getKeyByReference).toHaveBeenCalledWith("key", "namespace");
165
-
166
148
  expect(mockedSessionStorage.getItem).toHaveBeenCalledWith(
167
149
  "key",
168
150
  "namespace"
@@ -209,10 +191,6 @@ describe("Context Keys Manager - getKey", () => {
209
191
  secureStorage: mockedSecureStorage,
210
192
  });
211
193
 
212
- const getKeyByReference = jest
213
- .spyOn(contextManager, "getKeyByReference")
214
- .mockResolvedValueOnce(NOTHING);
215
-
216
194
  // run
217
195
  const result = await contextManager.getKey(key);
218
196
 
@@ -221,8 +199,6 @@ describe("Context Keys Manager - getKey", () => {
221
199
 
222
200
  expect(mockedLogger.warn).not.toHaveBeenCalled();
223
201
 
224
- expect(getKeyByReference).toHaveBeenCalledWith("key", "namespace");
225
-
226
202
  expect(mockedSessionStorage.getItem).toHaveBeenCalledWith(
227
203
  "key",
228
204
  "namespace"
@@ -1,4 +1,4 @@
1
- import { ContextKeysManager, NOTHING } from "../../..";
1
+ import { ContextKeysManager } from "../../..";
2
2
  import { DEFAULT_NAMESPACE } from "../../../consts";
3
3
 
4
4
  describe("Context Keys Manager - getKey", () => {
@@ -36,10 +36,6 @@ describe("Context Keys Manager - getKey", () => {
36
36
  secureStorage: mockedSecureStorage,
37
37
  });
38
38
 
39
- const getKeyByReference = jest
40
- .spyOn(contextManager, "getKeyByReference")
41
- .mockResolvedValueOnce(NOTHING);
42
-
43
39
  // run
44
40
  const result = await contextManager.getKey(key);
45
41
 
@@ -48,8 +44,6 @@ describe("Context Keys Manager - getKey", () => {
48
44
 
49
45
  expect(mockedLogger.warn).not.toHaveBeenCalled();
50
46
 
51
- expect(getKeyByReference).toHaveBeenCalledWith("key", DEFAULT_NAMESPACE);
52
-
53
47
  expect(mockedSessionStorage.getItem).toHaveBeenCalledWith(
54
48
  "key",
55
49
  DEFAULT_NAMESPACE
@@ -34,11 +34,6 @@ describe("Context Keys Manager - removeKey", () => {
34
34
  secureStorage: mockedSecureStorage,
35
35
  });
36
36
 
37
- const removeReferenceForKey = jest.spyOn(
38
- contextManager,
39
- "removeReferenceForKey"
40
- );
41
-
42
37
  // run
43
38
  const result = await contextManager.removeKey(key);
44
39
 
@@ -51,8 +46,6 @@ describe("Context Keys Manager - removeKey", () => {
51
46
  data: { key },
52
47
  });
53
48
 
54
- expect(removeReferenceForKey).not.toHaveBeenCalled();
55
-
56
49
  expect(mockedSessionStorage.removeItem).not.toHaveBeenCalled();
57
50
  expect(mockedLocalStorage.removeItem).not.toHaveBeenCalled();
58
51
  expect(mockedSecureStorage.removeItem).not.toHaveBeenCalled();
@@ -92,10 +85,6 @@ describe("Context Keys Manager - removeKey", () => {
92
85
  secureStorage: mockedSecureStorage,
93
86
  });
94
87
 
95
- const removeReferenceForKey = jest
96
- .spyOn(contextManager, "removeReferenceForKey")
97
- .mockResolvedValueOnce(true);
98
-
99
88
  // run
100
89
  const result = await contextManager.removeKey(key);
101
90
 
@@ -107,8 +96,6 @@ describe("Context Keys Manager - removeKey", () => {
107
96
  data: { key },
108
97
  });
109
98
 
110
- expect(removeReferenceForKey).toHaveBeenCalledWith("key", "namespace");
111
-
112
99
  expect(mockedSessionStorage.removeItem).toHaveBeenCalledWith(
113
100
  "key",
114
101
  "namespace"
@@ -159,10 +146,6 @@ describe("Context Keys Manager - removeKey", () => {
159
146
  secureStorage: mockedSecureStorage,
160
147
  });
161
148
 
162
- const removeReferenceForKey = jest
163
- .spyOn(contextManager, "removeReferenceForKey")
164
- .mockResolvedValueOnce(true);
165
-
166
149
  // run
167
150
  const result = await contextManager.removeKey(key);
168
151
 
@@ -174,8 +157,6 @@ describe("Context Keys Manager - removeKey", () => {
174
157
  data: { key },
175
158
  });
176
159
 
177
- expect(removeReferenceForKey).toHaveBeenCalledWith("key", "namespace");
178
-
179
160
  expect(mockedSessionStorage.removeItem).toHaveBeenCalledWith(
180
161
  "key",
181
162
  "namespace"
@@ -226,10 +207,6 @@ describe("Context Keys Manager - removeKey", () => {
226
207
  secureStorage: mockedSecureStorage,
227
208
  });
228
209
 
229
- const removeReferenceForKey = jest
230
- .spyOn(contextManager, "removeReferenceForKey")
231
- .mockResolvedValueOnce(true);
232
-
233
210
  // run
234
211
  const result = await contextManager.removeKey(key);
235
212
 
@@ -241,8 +218,6 @@ describe("Context Keys Manager - removeKey", () => {
241
218
  data: { key },
242
219
  });
243
220
 
244
- expect(removeReferenceForKey).toHaveBeenCalledWith("key", "namespace");
245
-
246
221
  expect(mockedSessionStorage.removeItem).toHaveBeenCalledWith(
247
222
  "key",
248
223
  "namespace"
@@ -34,10 +34,6 @@ describe("Context Keys Manager - removeKey", () => {
34
34
  secureStorage: mockedSecureStorage,
35
35
  });
36
36
 
37
- const removeReferenceForKey = jest
38
- .spyOn(contextManager, "removeReferenceForKey")
39
- .mockResolvedValueOnce(true);
40
-
41
37
  // run
42
38
  const result = await contextManager.removeKey(key);
43
39
 
@@ -46,8 +42,6 @@ describe("Context Keys Manager - removeKey", () => {
46
42
 
47
43
  expect(mockedLogger.warn).not.toHaveBeenCalled();
48
44
 
49
- expect(removeReferenceForKey).toHaveBeenCalledWith("key", "namespace");
50
-
51
45
  expect(mockedSessionStorage.removeItem).toHaveBeenCalledWith(
52
46
  "key",
53
47
  "namespace"
@@ -38,10 +38,6 @@ describe("Context Keys Manager - setKey", () => {
38
38
  secureStorage: mockedSecureStorage,
39
39
  });
40
40
 
41
- const setReferenceForKey = jest
42
- .spyOn(contextManager, "setReferenceForKey")
43
- .mockResolvedValueOnce(true);
44
-
45
41
  // run
46
42
  const result = await contextManager.setKey({ key, value, storageLevel });
47
43
 
@@ -68,12 +64,6 @@ describe("Context Keys Manager - setKey", () => {
68
64
 
69
65
  expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
70
66
  expect(mockedSecureStorage.setItem).not.toHaveBeenCalled();
71
-
72
- expect(setReferenceForKey).toHaveBeenCalledWith(
73
- "key",
74
- "namespace",
75
- storageLevel
76
- );
77
67
  });
78
68
 
79
69
  it("returns false if failed to saved with storage-level=persisted", async () => {
@@ -112,10 +102,6 @@ describe("Context Keys Manager - setKey", () => {
112
102
  secureStorage: mockedSecureStorage,
113
103
  });
114
104
 
115
- const setReferenceForKey = jest
116
- .spyOn(contextManager, "setReferenceForKey")
117
- .mockResolvedValueOnce(true);
118
-
119
105
  // run
120
106
  const result = await contextManager.setKey({ key, value, storageLevel });
121
107
 
@@ -142,12 +128,6 @@ describe("Context Keys Manager - setKey", () => {
142
128
 
143
129
  expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
144
130
  expect(mockedSecureStorage.setItem).not.toHaveBeenCalled();
145
-
146
- expect(setReferenceForKey).toHaveBeenCalledWith(
147
- "key",
148
- "namespace",
149
- storageLevel
150
- );
151
131
  });
152
132
 
153
133
  it("returns false if failed to saved with storage-level=secure", async () => {
@@ -186,10 +166,6 @@ describe("Context Keys Manager - setKey", () => {
186
166
  secureStorage: mockedSecureStorage,
187
167
  });
188
168
 
189
- const setReferenceForKey = jest
190
- .spyOn(contextManager, "setReferenceForKey")
191
- .mockResolvedValueOnce(true);
192
-
193
169
  // run
194
170
  const result = await contextManager.setKey({ key, value, storageLevel });
195
171
 
@@ -216,12 +192,6 @@ describe("Context Keys Manager - setKey", () => {
216
192
  value,
217
193
  "namespace"
218
194
  );
219
-
220
- expect(setReferenceForKey).toHaveBeenCalledWith(
221
- "key",
222
- "namespace",
223
- storageLevel
224
- );
225
195
  });
226
196
 
227
197
  it("returns false if failed to saved with storage-level=undefined", async () => {
@@ -259,10 +229,6 @@ describe("Context Keys Manager - setKey", () => {
259
229
  secureStorage: mockedSecureStorage,
260
230
  });
261
231
 
262
- const setReferenceForKey = jest
263
- .spyOn(contextManager, "setReferenceForKey")
264
- .mockResolvedValueOnce(true);
265
-
266
232
  // run
267
233
  const result = await contextManager.setKey({ key, value });
268
234
 
@@ -289,11 +255,5 @@ describe("Context Keys Manager - setKey", () => {
289
255
 
290
256
  expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
291
257
  expect(mockedSecureStorage.setItem).not.toHaveBeenCalled();
292
-
293
- expect(setReferenceForKey).toHaveBeenCalledWith(
294
- "key",
295
- "namespace",
296
- StorageLevel.default
297
- );
298
258
  });
299
259
  });
@@ -1,5 +1,5 @@
1
- import { ContextKeysManager } from "../../..";
2
- import { StorageLevel } from "../../../consts";
1
+ import { ContextKeysManager } from "../..";
2
+ import { StorageLevel } from "../../consts";
3
3
 
4
4
  describe("Context Keys Manager - setKey", () => {
5
5
  it("returns true if saved with success with storage-level=undefined", async () => {
@@ -37,10 +37,6 @@ describe("Context Keys Manager - setKey", () => {
37
37
  secureStorage: mockedSecureStorage,
38
38
  });
39
39
 
40
- const setReferenceForKey = jest
41
- .spyOn(contextManager, "setReferenceForKey")
42
- .mockResolvedValueOnce(true);
43
-
44
40
  // run
45
41
  const result = await contextManager.setKey({ key, value, storageLevel });
46
42
 
@@ -62,12 +58,6 @@ describe("Context Keys Manager - setKey", () => {
62
58
 
63
59
  expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
64
60
  expect(mockedSecureStorage.setItem).not.toHaveBeenCalled();
65
-
66
- expect(setReferenceForKey).toHaveBeenCalledWith(
67
- "key",
68
- "namespace",
69
- StorageLevel.default
70
- );
71
61
  });
72
62
 
73
63
  it("returns true if saved with success with storage-level=default", async () => {
@@ -105,10 +95,6 @@ describe("Context Keys Manager - setKey", () => {
105
95
  secureStorage: mockedSecureStorage,
106
96
  });
107
97
 
108
- const setReferenceForKey = jest
109
- .spyOn(contextManager, "setReferenceForKey")
110
- .mockResolvedValueOnce(true);
111
-
112
98
  // run
113
99
  const result = await contextManager.setKey({ key, value, storageLevel });
114
100
 
@@ -130,12 +116,6 @@ describe("Context Keys Manager - setKey", () => {
130
116
 
131
117
  expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
132
118
  expect(mockedSecureStorage.setItem).not.toHaveBeenCalled();
133
-
134
- expect(setReferenceForKey).toHaveBeenCalledWith(
135
- "key",
136
- "namespace",
137
- StorageLevel.default
138
- );
139
119
  });
140
120
 
141
121
  it("returns true if saved with success with storage-level=persisted", async () => {
@@ -173,10 +153,6 @@ describe("Context Keys Manager - setKey", () => {
173
153
  secureStorage: mockedSecureStorage,
174
154
  });
175
155
 
176
- const setReferenceForKey = jest
177
- .spyOn(contextManager, "setReferenceForKey")
178
- .mockResolvedValueOnce(true);
179
-
180
156
  // run
181
157
  const result = await contextManager.setKey({ key, value, storageLevel });
182
158
 
@@ -198,12 +174,6 @@ describe("Context Keys Manager - setKey", () => {
198
174
 
199
175
  expect(mockedSecureStorage.getItem).not.toHaveBeenCalled();
200
176
  expect(mockedSecureStorage.setItem).not.toHaveBeenCalled();
201
-
202
- expect(setReferenceForKey).toHaveBeenCalledWith(
203
- "key",
204
- "namespace",
205
- storageLevel
206
- );
207
177
  });
208
178
 
209
179
  it("returns true if saved with success with storage-level=secure", async () => {
@@ -241,10 +211,6 @@ describe("Context Keys Manager - setKey", () => {
241
211
  secureStorage: mockedSecureStorage,
242
212
  });
243
213
 
244
- const setReferenceForKey = jest
245
- .spyOn(contextManager, "setReferenceForKey")
246
- .mockResolvedValueOnce(true);
247
-
248
214
  // run
249
215
  const result = await contextManager.setKey({ key, value, storageLevel });
250
216
 
@@ -266,11 +232,5 @@ describe("Context Keys Manager - setKey", () => {
266
232
  value,
267
233
  "namespace"
268
234
  );
269
-
270
- expect(setReferenceForKey).toHaveBeenCalledWith(
271
- "key",
272
- "namespace",
273
- storageLevel
274
- );
275
235
  });
276
236
  });
@@ -1,6 +1,6 @@
1
1
  import { isNil } from "@applicaster/zapp-react-native-utils/utils";
2
2
 
3
- import { StorageLevel, StorageType } from "./consts";
3
+ import { StorageLevel } from "./consts";
4
4
  import {
5
5
  getNamespaceAndKey,
6
6
  keyIsValid,
@@ -59,18 +59,14 @@ type Setup = {
59
59
  sessionStorage?: Storage;
60
60
  localStorage?: Storage;
61
61
  secureStorage?: Storage;
62
- referenceStorage?: Storage;
63
62
  };
64
63
 
65
- export const REFERENCE_NAMESPACE = "applicaster.v2.references";
66
-
67
64
  export class ContextKeysManager {
68
65
  private static _instance: ContextKeysManager;
69
66
  private _logger: Logger;
70
67
  private _sessionStorage: Storage;
71
68
  private _localStorage: Storage;
72
69
  private _secureStorage: Storage;
73
- private _referenceStorage: Storage;
74
70
 
75
71
  public static get instance() {
76
72
  if (!this._instance) {
@@ -79,7 +75,6 @@ export class ContextKeysManager {
79
75
  sessionStorage: SessionStorage,
80
76
  localStorage: LocalStorage,
81
77
  secureStorage: SecureStorage,
82
- referenceStorage: SessionStorage,
83
78
  });
84
79
 
85
80
  this._instance = instance;
@@ -94,13 +89,11 @@ export class ContextKeysManager {
94
89
  sessionStorage = SessionStorage,
95
90
  localStorage = LocalStorage,
96
91
  secureStorage = SecureStorage,
97
- referenceStorage = SessionStorage,
98
- }: Setup) {
92
+ }: Setup = {}) {
99
93
  this._logger = logger;
100
94
  this._sessionStorage = sessionStorage;
101
95
  this._localStorage = localStorage;
102
96
  this._secureStorage = secureStorage;
103
- this._referenceStorage = referenceStorage;
104
97
  }
105
98
 
106
99
  private parseKey(key: KeyName): ParsedKeyAndNamespace {
@@ -119,41 +112,6 @@ export class ContextKeysManager {
119
112
  return { isValid: true, ...parsedKey };
120
113
  }
121
114
 
122
- // GET
123
- public async getKeyByReference(
124
- key: string,
125
- namespace: string
126
- ): Promise<ValueOrNothing> {
127
- // 1) look for storage
128
- // 2) if storage found - look value in it
129
- // 3) if storage not found return NOTHING
130
-
131
- return this._referenceStorage
132
- .getItem(buildNamespaceKey(key, namespace), REFERENCE_NAMESPACE)
133
- .then((storage: StorageType | unknown) => {
134
- switch (storage) {
135
- case StorageType.session:
136
- return this._sessionStorage.getItem(key, namespace);
137
- case StorageType.local:
138
- return this._localStorage.getItem(key, namespace);
139
- case StorageType.secure:
140
- return this._secureStorage.getItem(key, namespace);
141
- default:
142
- // unknown storage
143
- return NOTHING;
144
- }
145
- })
146
- .catch((error) => {
147
- // something went wrong
148
- this._logger.warn({
149
- message: error.message,
150
- data: { key, namespace },
151
- });
152
-
153
- return NOTHING;
154
- });
155
- }
156
-
157
115
  public async getKeys(
158
116
  keys: Array<KeyName>,
159
117
  contextObj?: { key: string; required?: boolean }[]
@@ -228,19 +186,7 @@ export class ContextKeysManager {
228
186
  return NOTHING;
229
187
  }
230
188
 
231
- // at first - try to find by reference
232
- // if not found, look in session > local > secure
233
-
234
- const resultByReference = await this.getKeyByReference(
235
- parsedKey,
236
- parsedNamespace
237
- );
238
-
239
- if (!isNil(resultByReference)) {
240
- return resultByReference;
241
- }
242
-
243
- // try to full-search
189
+ // look in session > local > secure
244
190
  try {
245
191
  const resultFromSessionStorage = await this._sessionStorage.getItem(
246
192
  parsedKey,
@@ -284,41 +230,6 @@ export class ContextKeysManager {
284
230
  // GET
285
231
 
286
232
  // SET
287
- public async setReferenceForKey(
288
- key: string,
289
- namespace: string,
290
- storageLevel: StorageLevel
291
- ): Promise<boolean> {
292
- return this._referenceStorage
293
- .setItem(
294
- buildNamespaceKey(key, namespace),
295
- storageLevel,
296
- REFERENCE_NAMESPACE
297
- )
298
- .then((result) => {
299
- if (savingResultIsSuccess(result)) {
300
- return true;
301
- }
302
-
303
- this._logger.warn({
304
- message:
305
- "While saving reference - reference storage return non expected value: true",
306
- data: { key, namespace, storageLevel },
307
- });
308
-
309
- return false;
310
- })
311
- .catch((error) => {
312
- // something went wrong
313
- this._logger.warn({
314
- message: error.message,
315
- data: { key, namespace, storageLevel },
316
- });
317
-
318
- return false;
319
- });
320
- }
321
-
322
233
  // for all keys where saving were succeed return true
323
234
  // for others return false
324
235
  public async setKeys(
@@ -352,29 +263,36 @@ export class ContextKeysManager {
352
263
  }
353
264
 
354
265
  try {
266
+ let setItemResult: boolean;
267
+
355
268
  switch (storageLevel) {
356
269
  case StorageLevel.persisted:
357
- return await Promise.all([
358
- this._localStorage.setItem(parsedKey, value, parsedNamespace),
359
- this.setReferenceForKey(parsedKey, parsedNamespace, storageLevel),
360
- ]).then(([setItemResult]) => {
361
- return savingResultIsSuccess(setItemResult);
362
- });
270
+ setItemResult = await this._localStorage.setItem(
271
+ parsedKey,
272
+ value,
273
+ parsedNamespace
274
+ );
275
+
276
+ break;
363
277
  case StorageLevel.secure:
364
- return await Promise.all([
365
- this._secureStorage.setItem(parsedKey, value, parsedNamespace),
366
- this.setReferenceForKey(parsedKey, parsedNamespace, storageLevel),
367
- ]).then(([setItemResult]) => {
368
- return savingResultIsSuccess(setItemResult);
369
- });
278
+ setItemResult = await this._secureStorage.setItem(
279
+ parsedKey,
280
+ value,
281
+ parsedNamespace
282
+ );
283
+
284
+ break;
370
285
  default:
371
- return await Promise.all([
372
- this._sessionStorage.setItem(parsedKey, value, parsedNamespace),
373
- this.setReferenceForKey(parsedKey, parsedNamespace, storageLevel),
374
- ]).then(([setItemResult]) => {
375
- return savingResultIsSuccess(setItemResult);
376
- });
286
+ setItemResult = await this._sessionStorage.setItem(
287
+ parsedKey,
288
+ value,
289
+ parsedNamespace
290
+ );
291
+
292
+ break;
377
293
  }
294
+
295
+ return savingResultIsSuccess(setItemResult);
378
296
  } catch (error) {
379
297
  // something went wrong
380
298
  this._logger.warn({
@@ -388,24 +306,6 @@ export class ContextKeysManager {
388
306
  // SET
389
307
 
390
308
  // REMOVE
391
- public async removeReferenceForKey(
392
- key: string,
393
- namespace: string
394
- ): Promise<boolean> {
395
- return this._referenceStorage
396
- .removeItem(buildNamespaceKey(key, namespace), REFERENCE_NAMESPACE)
397
- .then(() => true)
398
- .catch((error) => {
399
- // something went wrong
400
- this._logger.warn({
401
- message: error.message,
402
- data: { key, namespace },
403
- });
404
-
405
- return false;
406
- });
407
- }
408
-
409
309
  public async removeKey(key: KeyName): Promise<boolean> {
410
310
  const {
411
311
  isValid: isValidKey,
@@ -422,7 +322,6 @@ export class ContextKeysManager {
422
322
  this._sessionStorage.removeItem(parsedKey, parsedNamespace),
423
323
  this._localStorage.removeItem(parsedKey, parsedNamespace),
424
324
  this._secureStorage.removeItem(parsedKey, parsedNamespace),
425
- this.removeReferenceForKey(parsedKey, parsedNamespace),
426
325
  ])
427
326
  .then(() => true)
428
327
  .catch((error) => {
@@ -2,8 +2,7 @@ import { BehaviorSubject, Observable } from "rxjs";
2
2
  import { distinctUntilChanged } from "rxjs/operators";
3
3
  import { Player } from "../player";
4
4
  import { createLogger, utilsLogger } from "../../../logger";
5
- import { appStore } from "@applicaster/zapp-react-native-redux/AppStore";
6
- import { findPluginByIdentifier } from "../../../pluginUtils";
5
+ import { getPluginByIdentifier } from "@applicaster/zapp-react-native-utils/pluginUtils";
7
6
  import {
8
7
  loadFeedEntry,
9
8
  loadFeedAndPrefetchThumbnailImage,
@@ -237,11 +236,8 @@ export class OverlaysObserver {
237
236
 
238
237
  preparePlayNext = async () => {
239
238
  try {
240
- const plugins = appStore.get("plugins");
241
-
242
- const playNextPlugin: any = findPluginByIdentifier(
243
- "QuickBrickPlayNextOverlay",
244
- plugins
239
+ const playNextPlugin: any = getPluginByIdentifier(
240
+ "QuickBrickPlayNextOverlay"
245
241
  );
246
242
 
247
243
  if (!playNextPlugin) {
@@ -252,10 +248,7 @@ export class OverlaysObserver {
252
248
  return;
253
249
  }
254
250
 
255
- const playNextFeedUrl: string = await retrieveFeedUrl(
256
- this.entry,
257
- plugins
258
- );
251
+ const playNextFeedUrl: string = await retrieveFeedUrl(this.entry);
259
252
 
260
253
  if (!playNextFeedUrl || typeof playNextFeedUrl !== "string") {
261
254
  log_debug(