@applicaster/zapp-react-native-utils 12.0.3-alpha.5953460913 → 13.0.0-alpha.1102149799

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 (40) hide show
  1. package/actionsExecutor/ActionExecutorContext.tsx +15 -1
  2. package/appUtils/HooksManager/{Hook.js → Hook.ts} +35 -23
  3. package/appUtils/HooksManager/__tests__/__snapshots__/hook.test.js.snap +4 -2
  4. package/appUtils/HooksManager/__tests__/__snapshots__/hooksManager.test.js.snap +693 -0
  5. package/appUtils/HooksManager/__tests__/hook.test.js +196 -184
  6. package/appUtils/HooksManager/__tests__/hooksManager.test.js +96 -99
  7. package/appUtils/HooksManager/{constants.js → constants.ts} +1 -1
  8. package/appUtils/HooksManager/{index.js → index.ts} +121 -112
  9. package/appUtils/HooksManager/types.ts +116 -0
  10. package/appUtils/RiverFocusManager/index.js +17 -12
  11. package/appUtils/focusManager/index.ts +63 -90
  12. package/appUtils/focusManager/treeDataStructure/Tree/index.js +2 -26
  13. package/appUtils/focusManager/treeDataStructure/Utils/index.js +1 -3
  14. package/appUtils/{index.js → index.ts} +1 -1
  15. package/appUtils/keyCodes/__tests__/keyCodes.test.js +3 -3
  16. package/appUtils/keyCodes/{index.js → index.ts} +2 -0
  17. package/appUtils/keyCodes/keys/index.ts +3 -0
  18. package/appUtils/keyCodes/{keys.android.js → keys/keyEventMapper.ts} +0 -19
  19. package/appUtils/keyCodes/keys/keys.android.ts +18 -0
  20. package/appUtils/keyCodes/keys/keys.ios.ts +25 -0
  21. package/appUtils/keyCodes/keys/keys.ts +15 -0
  22. package/appUtils/keyCodes/keysByPlatform.ts +8 -0
  23. package/appUtils/platform/platformUtils.ts +0 -14
  24. package/appUtils/playerManager/index.ts +6 -2
  25. package/domUtils/{cookieManager.js → cookieManager.ts} +1 -2
  26. package/functionUtils/index.ts +15 -11
  27. package/modalState/index.ts +1 -5
  28. package/navigationUtils/index.ts +14 -5
  29. package/package.json +3 -2
  30. package/reactHooks/navigation/index.ts +7 -4
  31. package/reactUtils/index.ts +0 -14
  32. package/appUtils/focusManager/utils/enums.ts +0 -4
  33. package/appUtils/keyCodes/keys.ios.js +0 -46
  34. /package/appUtils/HooksManager/{logger.js → logger.ts} +0 -0
  35. /package/appUtils/{directionHelper.js → directionHelper.ts} +0 -0
  36. /package/appUtils/keyCodes/{androidTVKeys.js → androidTVKeys.ts} +0 -0
  37. /package/appUtils/keyCodes/{keys.web.js → keys/keys.web.ts} +0 -0
  38. /package/appUtils/keyCodes/{keysByPlatform.js → keys/keysByPlatform.ts} +0 -0
  39. /package/appUtils/{localizationsHelper.js → localizationsHelper.ts} +0 -0
  40. /package/domUtils/{logger.js → logger.ts} +0 -0
@@ -111,12 +111,12 @@ type SubscriberFn<T> = (
111
111
 
112
112
  export type EventHandlerFn<T> = (event: string, ...args: unknown[]) => T;
113
113
 
114
- type SubscriberObj = Partial<{
115
- on?: SubscriberFn<SubscriberObj>;
116
- invokeHandler: EventHandlerFn<SubscriberObj>;
117
- removeHandler: EventHandlerFn<SubscriberObj>;
118
- handlers: Record<string, SubscriberFn<SubscriberObj>[] | []>;
119
- }>;
114
+ export type SubscriberObj<T extends {} = {}> = {
115
+ on: SubscriberFn<SubscriberObj<T>>;
116
+ invokeHandler: EventHandlerFn<SubscriberObj<T>>;
117
+ removeHandler: EventHandlerFn<SubscriberObj<T>>;
118
+ handlers: Record<string, SubscriberFn<SubscriberObj<T>>[] | []>;
119
+ } & T;
120
120
 
121
121
  export const clearObject = (object: { [key: string]: unknown }) =>
122
122
  Object.keys(object).forEach((key) => delete object[key]);
@@ -126,7 +126,11 @@ export const clearObject = (object: { [key: string]: unknown }) =>
126
126
  * @param {Object} obj to add the subscription feature on
127
127
  * @returns {Object} subscriber object
128
128
  */
129
- export function subscriber(obj: SubscriberObj = {}): SubscriberObj {
129
+ export function subscriber<T extends Partial<SubscriberObj> = {}>(
130
+ _obj: T = {} as T
131
+ ): SubscriberObj {
132
+ const obj: T = _obj;
133
+
130
134
  if (!obj.handlers) {
131
135
  obj.handlers = {};
132
136
  }
@@ -172,7 +176,7 @@ export function subscriber(obj: SubscriberObj = {}): SubscriberObj {
172
176
  | SubscriberFn<SubscriberObj>[]
173
177
  | [];
174
178
 
175
- return obj;
179
+ return obj as SubscriberObj;
176
180
  };
177
181
 
178
182
  /**
@@ -188,16 +192,16 @@ export function subscriber(obj: SubscriberObj = {}): SubscriberObj {
188
192
 
189
193
  R.compose(R.forEach(callHandlerWithDispose), R.propOr([], event))(handlers);
190
194
 
191
- return obj;
195
+ return obj as SubscriberObj;
192
196
  };
193
197
 
194
198
  obj.removeHandler = function (event, handler) {
195
199
  handlers[event] = R.reject(R.equals(handler), handlers[event]);
196
200
 
197
- return obj;
201
+ return obj as SubscriberObj;
198
202
  };
199
203
 
200
- return obj;
204
+ return obj as SubscriberObj;
201
205
  }
202
206
 
203
207
  /**
@@ -31,11 +31,7 @@ export const useModalStore = create<ModalStore>((set) => ({
31
31
  set((state) => ({
32
32
  modalState: { ...state.modalState, ...newState },
33
33
  })),
34
- openModal: ({
35
- item,
36
- options = {},
37
- props = { screenData: {} },
38
- }: OpenModalArg) =>
34
+ openModal: ({ item, options = {}, props }: OpenModalArg) =>
39
35
  set({
40
36
  modalState: {
41
37
  visible: true,
@@ -324,7 +324,13 @@ export function getPathAttributes({
324
324
  * @param {object} rivers
325
325
  * @returns {object}
326
326
  */
327
- export function getRiverFromRoute({ route, rivers }) {
327
+ export function getRiverFromRoute({
328
+ route,
329
+ rivers,
330
+ }: {
331
+ route: string;
332
+ rivers: Record<string, ZappRiver>;
333
+ }) {
328
334
  if (!route) {
329
335
  return null;
330
336
  }
@@ -437,7 +443,7 @@ export const runZappHooksForEntry = async (
437
443
 
438
444
  let success;
439
445
  let payload;
440
- const rivers = appStore.get("rivers");
446
+ const rivers: Record<string, ZappRiver> = appStore.get("rivers");
441
447
  const plugins = appStore.get("plugins");
442
448
  const appData = appStore.get("appData");
443
449
 
@@ -492,13 +498,16 @@ export const runZappHooksForEntry = async (
492
498
  payload = _payload;
493
499
  };
494
500
 
495
- HooksManager(hooksOptions)
501
+ const hooksManager = HooksManager(hooksOptions);
502
+
503
+ hooksManager.subscriber
496
504
  .on(HOOKS_EVENTS.PRESENT_SCREEN_HOOK, handleHookPresent)
497
505
  .on(HOOKS_EVENTS.START_BACKGROUND_HOOK, handleBackgroundHook)
498
506
  .on(HOOKS_EVENTS.ERROR, onFinished(false))
499
507
  .on(HOOKS_EVENTS.CANCEL, onFinished(false))
500
- .on(HOOKS_EVENTS.COMPLETE, onFinished(true))
501
- .handleHooks(entry);
508
+ .on(HOOKS_EVENTS.COMPLETE, onFinished(true));
509
+
510
+ hooksManager.handleHooks(entry);
502
511
 
503
512
  // eslint-disable-next-line no-unmodified-loop-condition
504
513
  while (success === undefined) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applicaster/zapp-react-native-utils",
3
- "version": "12.0.3-alpha.5953460913",
3
+ "version": "13.0.0-alpha.1102149799",
4
4
  "description": "Applicaster Zapp React Native utilities package",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "homepage": "https://github.com/applicaster/quickbrick#readme",
30
30
  "dependencies": {
31
- "@applicaster/applicaster-types": "12.0.3-alpha.5953460913",
31
+ "@applicaster/applicaster-types": "13.0.0-alpha.1102149799",
32
32
  "buffer": "^5.2.1",
33
33
  "camelize": "^1.0.0",
34
34
  "create-react-context": "^0.2.3",
@@ -44,6 +44,7 @@
44
44
  "immer": "*",
45
45
  "react": "17.0.2",
46
46
  "react-native": "0.68.6",
47
+ "uglify-js": "*",
47
48
  "validate-color": "*",
48
49
  "zustand": "*"
49
50
  },
@@ -320,16 +320,19 @@ export const useZappHooksForEntry = (
320
320
  callbacks?.handleHookComplete?.(props);
321
321
  };
322
322
 
323
- const hookManager = HooksManager(hooksOptions)
323
+ const hookManager = HooksManager(hooksOptions);
324
+
325
+ hookManager.subscriber
324
326
  .on(HOOKS_EVENTS.PRESENT_SCREEN_HOOK, handleHookPresent)
325
327
  .on(HOOKS_EVENTS.ERROR, handleHookError)
326
328
  .on(HOOKS_EVENTS.CANCEL, handleHookCancel)
327
329
  .on(HOOKS_EVENTS.START_BACKGROUND_HOOK, handleBackgroundHook)
328
- .on(HOOKS_EVENTS.COMPLETE, handleHookComplete)
329
- .handleHooks(entry);
330
+ .on(HOOKS_EVENTS.COMPLETE, handleHookComplete);
331
+
332
+ hookManager.handleHooks(entry);
330
333
 
331
334
  return () => {
332
- hookManager
335
+ hookManager.subscriber
333
336
  .removeHandler(HOOKS_EVENTS.PRESENT_SCREEN_HOOK, handleHookPresent)
334
337
  .removeHandler(HOOKS_EVENTS.ERROR, handleHookError)
335
338
  .removeHandler(HOOKS_EVENTS.CANCEL, handleHookCancel)
@@ -109,20 +109,6 @@ export const isTvOSPlatform = () => getPlatform() === "tvos";
109
109
 
110
110
  export const isAndroidTVPlatform = () => getPlatform() === "android_tv";
111
111
 
112
- declare global {
113
- interface Window {
114
- VIZIO?: {
115
- Chromevox: {
116
- play: (text: string) => void;
117
- };
118
- exitApplication: () => void;
119
- setClosedCaptionHandler: (
120
- callback: (isCCEnabled: boolean) => void
121
- ) => void;
122
- };
123
- }
124
- }
125
-
126
112
  /**
127
113
  * Platforms found in userAgent string, please note that simulators
128
114
  * might not have the same agents that the devices have
@@ -1,4 +0,0 @@
1
- export enum ACTION {
2
- FOCUS = "focus",
3
- BLUR = "blur",
4
- }
@@ -1,46 +0,0 @@
1
- /* global tizen */
2
- const isTizen = typeof tizen !== "undefined";
3
-
4
- export const KEYS = {
5
- Enter: { code: "Enter", keyCode: 13 },
6
- Space: { code: "Space", keyCode: 32 },
7
- m: { code: "m", keyCode: 77 },
8
- ArrowLeft: { code: "ArrowLeft", keyCode: 37 },
9
- ArrowUp: { code: "ArrowUp", keyCode: 38 },
10
- ArrowRight: { code: "ArrowRight", keyCode: 39 },
11
- ArrowDown: { code: "ArrowDown", keyCode: 40 },
12
- Back: isTizen
13
- ? { code: "Back", keyCode: 10009 }
14
- : { code: "Backspace", keyCode: 8 },
15
- Play: isTizen
16
- ? { code: "MediaPlay", keyCode: 10252 }
17
- : { code: "PlayPause", keyCode: 179 },
18
- Pause: isTizen
19
- ? { code: "MediaPause", keyCode: 19 }
20
- : { code: "Pause", keyCode: 179 },
21
- Forward: isTizen
22
- ? { code: "MediaFastForward", keyCode: 417 }
23
- : { code: "Forward", keyCode: 176 },
24
- Rewind: isTizen
25
- ? { code: "MediaRewind", keyCode: 412 }
26
- : { code: "Rewind", keyCode: 177 },
27
- VolumeUp: isTizen
28
- ? { code: "VolumeUp", keyCode: 447 }
29
- : { code: "VolumeUp", keyCode: 175 },
30
- VolumeDown: isTizen
31
- ? { code: "VolumeDown", keyCode: 448 }
32
- : { code: "VolumeDown", keyCode: 174 },
33
- ToggleMute: isTizen
34
- ? { code: "VolumeMute", keyCode: 449 }
35
- : { code: "VolumeMute", keyCode: 173 },
36
- Stop: isTizen
37
- ? { code: "MediaStop", keyCode: 413 }
38
- : { code: "Q", keyCode: 81 },
39
- };
40
-
41
- export const ARROW_KEYS = [
42
- KEYS.ArrowUp,
43
- KEYS.ArrowLeft,
44
- KEYS.ArrowDown,
45
- KEYS.ArrowRight,
46
- ];
File without changes
File without changes