@applicaster/zapp-react-native-utils 14.0.0-rc.34 → 14.0.0-rc.36
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.
|
@@ -65,10 +65,6 @@ export class Hook implements HookInterface {
|
|
|
65
65
|
event: (typeof HOOKS_EVENTS)[keyof typeof HOOKS_EVENTS],
|
|
66
66
|
...args
|
|
67
67
|
) {
|
|
68
|
-
if (this.state === hookState(HOOKS_EVENTS.CANCEL)) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
68
|
this.state = hookState(event);
|
|
73
69
|
this.manager.subscriber.invokeHandler(event, ...args);
|
|
74
70
|
}
|
|
@@ -198,4 +194,8 @@ export class Hook implements HookInterface {
|
|
|
198
194
|
R.eqProps("weight", nextHook, this)
|
|
199
195
|
);
|
|
200
196
|
}
|
|
197
|
+
|
|
198
|
+
isCancelled(): boolean {
|
|
199
|
+
return this.state === hookState(HOOKS_EVENTS.CANCEL);
|
|
200
|
+
}
|
|
201
201
|
}
|
|
@@ -255,7 +255,7 @@ export function HooksManager({
|
|
|
255
255
|
* @param {Array<Hook>} restOfHooks to run
|
|
256
256
|
* @returns {function} callback function
|
|
257
257
|
*/
|
|
258
|
-
function hookCallback(hookPlugin, restOfHooks, initialPayload) {
|
|
258
|
+
function hookCallback(hookPlugin: Hook, restOfHooks: Hook[], initialPayload) {
|
|
259
259
|
/**
|
|
260
260
|
* callback invoked after a hook is executed
|
|
261
261
|
* @param {object} options
|
|
@@ -273,6 +273,16 @@ export function HooksManager({
|
|
|
273
273
|
}) {
|
|
274
274
|
let callback = callbackArg;
|
|
275
275
|
|
|
276
|
+
if (hookPlugin.isCancelled()) {
|
|
277
|
+
logHookEvent(
|
|
278
|
+
hooksManagerLogger.info,
|
|
279
|
+
`hookCallback: hook was cancelled: ${hookPlugin["identifier"]}`,
|
|
280
|
+
{}
|
|
281
|
+
);
|
|
282
|
+
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
|
|
276
286
|
if (error) {
|
|
277
287
|
logHookEvent(
|
|
278
288
|
hooksManagerLogger.error,
|
package/arrayUtils/index.ts
CHANGED
|
@@ -93,7 +93,7 @@ export const isIndexInRange = (index: number, length: number): boolean => {
|
|
|
93
93
|
export const makeListOfIndexes = (size: number): number[] =>
|
|
94
94
|
Array.from({ length: size }, (_, index) => index);
|
|
95
95
|
|
|
96
|
-
export const makeListOf = (value:
|
|
96
|
+
export const makeListOf = <T>(value: T, size: number): T[] => {
|
|
97
97
|
return Array(size).fill(value);
|
|
98
98
|
};
|
|
99
99
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { isTabsScreen } from "..";
|
|
2
|
+
|
|
3
|
+
describe("isTabsScreen", () => {
|
|
4
|
+
it("should return true if the component type is 'screen-picker-qb-tv' and tabs_screen=true", () => {
|
|
5
|
+
const item = { component_type: "screen-picker-qb-tv", tabs_screen: true };
|
|
6
|
+
expect(isTabsScreen(item)).toBe(true);
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
it("should return true if the component type is 'screen-picker-qb-tv' and tabs_screen=false", () => {
|
|
10
|
+
const item = { component_type: "screen-picker-qb-tv", tabs_screen: false };
|
|
11
|
+
expect(isTabsScreen(item)).toBe(false);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("should return false if the component type is not 'screen-picker-qb-tv'", () => {
|
|
15
|
+
const item = { component_type: "other-component" };
|
|
16
|
+
expect(isTabsScreen(item)).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it("should return false if the component type is undefined", () => {
|
|
20
|
+
const item = { component_type: undefined };
|
|
21
|
+
expect(isTabsScreen(item)).toBe(false);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it("should return false if the item is null", () => {
|
|
25
|
+
const item = null;
|
|
26
|
+
expect(isTabsScreen(item)).toBe(false);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it("should return false if the item is undefined", () => {
|
|
30
|
+
const item = undefined;
|
|
31
|
+
expect(isTabsScreen(item)).toBe(false);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it("should return false if the item is an empty object", () => {
|
|
35
|
+
const item = {};
|
|
36
|
+
expect(isTabsScreen(item)).toBe(false);
|
|
37
|
+
});
|
|
38
|
+
});
|
package/componentsUtils/index.ts
CHANGED
|
@@ -5,7 +5,7 @@ const EMPTY_GROUP_COMPONENT = "empty_group_component";
|
|
|
5
5
|
|
|
6
6
|
const GALLERY = "gallery-qb";
|
|
7
7
|
|
|
8
|
-
const SCREEN_PICKER = "screen-picker-qb-tv";
|
|
8
|
+
export const SCREEN_PICKER = "screen-picker-qb-tv";
|
|
9
9
|
|
|
10
10
|
const HORIZONTAL_LIST = "horizontal_list_qb";
|
|
11
11
|
|
|
@@ -37,3 +37,6 @@ export const isEmptyGroup = (item): boolean =>
|
|
|
37
37
|
export const isGroupInfo = (item): boolean =>
|
|
38
38
|
item?.component_type === GROUP_INFO ||
|
|
39
39
|
item?.component_type === GROUP_INFO_OLD;
|
|
40
|
+
|
|
41
|
+
export const isTabsScreen = (item): boolean =>
|
|
42
|
+
isScreenPicker(item) && item?.tabs_screen;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applicaster/zapp-react-native-utils",
|
|
3
|
-
"version": "14.0.0-rc.
|
|
3
|
+
"version": "14.0.0-rc.36",
|
|
4
4
|
"description": "Applicaster Zapp React Native utilities package",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"homepage": "https://github.com/applicaster/quickbrick#readme",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@applicaster/applicaster-types": "14.0.0-rc.
|
|
30
|
+
"@applicaster/applicaster-types": "14.0.0-rc.36",
|
|
31
31
|
"buffer": "^5.2.1",
|
|
32
32
|
"camelize": "^1.0.0",
|
|
33
33
|
"dayjs": "^1.11.10",
|