@applicaster/quick-brick-core 13.0.0-alpha.5033140607 → 13.0.0-alpha.5304771702

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 (21) hide show
  1. package/App/ActionsProvider/__tests__/__snapshots__/ActionsProvider.test.js.snap +7 -7
  2. package/App/AssetCache/__tests__/__snapshots__/assetCache.test.ts.snap +103 -103
  3. package/App/AssetCache/__tests__/assetCache.test.ts +3 -2
  4. package/App/DeepLinking/URLSchemeHandler/SchemeHandlerHooks/__tests__/__snapshots__/schemeHandlerHooks.test.ts.snap +1 -1
  5. package/App/DeepLinking/URLSchemeHandler/SchemeHandlerHooks/__tests__/useOpenSchemeHandler.test.tsx +45 -116
  6. package/App/DeepLinking/URLSchemeHandler/__tests__/__snapshots__/URLSchemeHandler.test.tsx.snap +3 -3
  7. package/App/DeepLinking/URLSchemeListener/URLSchemeContextProvider.tsx +30 -3
  8. package/App/NavigationProvider/NavigationProvider.tsx +21 -20
  9. package/App/NavigationProvider/__tests__/__snapshots__/navigationProvider.test.tsx.snap +20 -22
  10. package/App/NavigationProvider/navigator/__tests__/__snapshots__/reducer.test.ts.snap +189 -189
  11. package/App/RouteManager/__tests__/__snapshots__/routeManager.test.js.snap +2 -2
  12. package/App/StoreConnector/__tests__/__snapshots__/storeConnector.test.js.snap +5 -5
  13. package/App/appLifeCycleManager/__tests__/__snapshots__/appLifeCycleManager.test.js.snap +4 -4
  14. package/App/appLifeCycleManager/__tests__/appLifeCycleManager.test.js +5 -5
  15. package/App/appLifeCycleManager/index.tsx +2 -3
  16. package/App/remoteContextReloader/__tests__/__snapshots__/remoteContextReloader.test.js.snap +9 -9
  17. package/App/remoteContextReloader/consts.ts +2 -0
  18. package/App/remoteContextReloader/getRemoteContextData/getNativeRemoteContextData.ts +17 -6
  19. package/createZappApp/__tests__/__snapshots__/createZappApp.test.js.snap +33 -33
  20. package/index.d.ts +1 -1
  21. package/package.json +25 -9
@@ -4,8 +4,8 @@ exports[`<RouteManager /> renders correctly 1`] = `
4
4
  <RNCSafeAreaProvider
5
5
  onInsetsChange={[Function]}
6
6
  style={
7
- Array [
8
- Object {
7
+ [
8
+ {
9
9
  "flex": 1,
10
10
  },
11
11
  undefined,
@@ -3,26 +3,26 @@
3
3
  exports[`storeConnector passes the props to the component 1`] = `
4
4
  <Component
5
5
  appSettings={
6
- Object {
6
+ {
7
7
  "bundleIdentifier": "com.app.test",
8
8
  }
9
9
  }
10
10
  components={
11
- Object {
11
+ {
12
12
  "grid": [MockFunction],
13
13
  }
14
14
  }
15
15
  dispatch={[Function]}
16
16
  rivers={
17
- Object {
18
- "A123": Object {
17
+ {
18
+ "A123": {
19
19
  "id": "A123",
20
20
  "name": "home",
21
21
  },
22
22
  }
23
23
  }
24
24
  store={
25
- Object {
25
+ {
26
26
  "clearActions": [Function],
27
27
  "dispatch": [Function],
28
28
  "getActions": [Function],
@@ -17,10 +17,10 @@ exports[`appLifeCycleManager sends the quickBrickReady event when a loader doesn
17
17
  `;
18
18
 
19
19
  exports[`appLifeCycleManager sends the quickBrickReady event when a loader doesn't resolves 2`] = `
20
- Array [
21
- Array [
22
- Object {
23
- "data": Object {
20
+ [
21
+ [
22
+ {
23
+ "data": {
24
24
  "error": [Error: loading failed],
25
25
  },
26
26
  "message": "AppLifeCycleManager: A loading operation failed: loading failed",
@@ -8,7 +8,7 @@ const Component = () => (
8
8
  </View>
9
9
  );
10
10
 
11
- const logger = {
11
+ const mockLogger = {
12
12
  warning: jest.fn(),
13
13
  log: jest.fn(),
14
14
  debug: jest.fn(),
@@ -17,7 +17,7 @@ const logger = {
17
17
 
18
18
  jest.mock("../../logger", () => ({
19
19
  coreAppLogger: {
20
- addSubsystem: jest.fn(() => logger),
20
+ addSubsystem: jest.fn(() => mockLogger),
21
21
  },
22
22
  }));
23
23
 
@@ -45,7 +45,7 @@ const QUICK_BRICK_READY_EVENT = "quickBrickReady";
45
45
 
46
46
  const actions = {};
47
47
 
48
- jest.mock("@applicaster/zapp-react-native-utils/reactHooks/actions", () => ({
48
+ jest.doMock("@applicaster/zapp-react-native-utils/reactHooks/actions", () => ({
49
49
  useActions: jest.fn(() => ({ actions })),
50
50
  }));
51
51
 
@@ -55,7 +55,7 @@ describe("appLifeCycleManager", () => {
55
55
  const decorator = appLifeCycleManager(appLoader, QuickBrickManager);
56
56
 
57
57
  beforeEach(() => {
58
- logger.warning.mockClear();
58
+ mockLogger.warning.mockClear();
59
59
  appLoader.mockClear();
60
60
  QuickBrickManager.sendQuickBrickEvent.mockClear();
61
61
  dispatch.mockClear();
@@ -111,7 +111,7 @@ describe("appLifeCycleManager", () => {
111
111
  QUICK_BRICK_READY_EVENT
112
112
  );
113
113
 
114
- expect(logger.warning.mock.calls).toMatchSnapshot();
114
+ expect(mockLogger.warning.mock.calls).toMatchSnapshot();
115
115
 
116
116
  done();
117
117
  };
@@ -131,9 +131,8 @@ export function appLifeCycleManager(appLoader, QuickBrickManager) {
131
131
  )
132
132
  .map((plugin: any) => plugin.module?.getLoginProtocol?.());
133
133
 
134
- const loginProtocols: LoginProtocol[] = await Promise.all(
135
- promiseProtocols
136
- );
134
+ const loginProtocols: LoginProtocol[] =
135
+ await Promise.all(promiseProtocols);
137
136
 
138
137
  // Await all does not work here
139
138
  for (const protocol of loginProtocols) {
@@ -3,41 +3,41 @@
3
3
  exports[`remoteContextReloader adds a componentDidMount method 1`] = `
4
4
  <Component
5
5
  appSettings={
6
- Object {
7
- "runtimeConfigurationUrls": Object {
6
+ {
7
+ "runtimeConfigurationUrls": {
8
8
  "foo": "bar",
9
9
  },
10
10
  }
11
11
  }
12
12
  dispatch={[MockFunction]}
13
- plugins={Array []}
13
+ plugins={[]}
14
14
  />
15
15
  `;
16
16
 
17
17
  exports[`remoteContextReloader when in __DEV__ doesn't invoke the context reloader 1`] = `
18
18
  <Component
19
19
  appSettings={
20
- Object {
21
- "runtimeConfigurationUrls": Object {
20
+ {
21
+ "runtimeConfigurationUrls": {
22
22
  "foo": "bar",
23
23
  },
24
24
  }
25
25
  }
26
26
  dispatch={[MockFunction]}
27
- plugins={Array []}
27
+ plugins={[]}
28
28
  />
29
29
  `;
30
30
 
31
31
  exports[`remoteContextReloader when not in __DEV__ invokes the context reloader 1`] = `
32
32
  <Component
33
33
  appSettings={
34
- Object {
35
- "runtimeConfigurationUrls": Object {
34
+ {
35
+ "runtimeConfigurationUrls": {
36
36
  "foo": "bar",
37
37
  },
38
38
  }
39
39
  }
40
40
  dispatch={[MockFunction]}
41
- plugins={Array []}
41
+ plugins={[]}
42
42
  />
43
43
  `;
@@ -19,3 +19,5 @@ export const TYPE_KEYS = [
19
19
  "layout",
20
20
  "pipesEndpoints",
21
21
  ];
22
+
23
+ export const ACTIVE_LAYOUT_ID_STORAGE_KEY = "active_layout_id";
@@ -1,5 +1,5 @@
1
1
  import * as R from "ramda";
2
- import { Dimensions } from "react-native";
2
+ import { Dimensions, NativeModules } from "react-native";
3
3
  import { loadAppContextData } from "@applicaster/zapp-react-native-redux";
4
4
  import { isTablet } from "@applicaster/zapp-react-native-utils/reactHooks";
5
5
  import { mapPromises } from "@applicaster/zapp-react-native-utils/arrayUtils";
@@ -7,6 +7,9 @@ import { fetchPluginConfiguration, getPromiseForType } from "../helpers";
7
7
  import { cacheAssets } from "../../AssetCache";
8
8
  import { actions as appDataActions } from "@applicaster/zapp-react-native-redux/AppData";
9
9
  import { logger } from "@applicaster/zapp-react-native-utils/logger";
10
+ import { ACTIVE_LAYOUT_ID_STORAGE_KEY } from "../consts";
11
+ const { AppLoaderBridge } = NativeModules;
12
+ import { localStorage } from "@applicaster/zapp-react-native-bridge/ZappStorage/LocalStorage";
10
13
 
11
14
  export async function getNativeRemoteContextData(
12
15
  dispatch,
@@ -33,11 +36,19 @@ export async function getNativeRemoteContextData(
33
36
  R.pathSatisfies(R.is(Function), ["module", "selectLayout"])
34
37
  )(plugins);
35
38
 
36
- await layoutManagerPlugin?.module?.selectLayout({
37
- runtimeConfigurationUrls,
38
- plugin: layoutManagerPlugin,
39
- isTablet: isTabletDevice,
40
- });
39
+ if (layoutManagerPlugin) {
40
+ await layoutManagerPlugin.module?.selectLayout({
41
+ runtimeConfigurationUrls,
42
+ plugin: layoutManagerPlugin,
43
+ isTablet: isTabletDevice,
44
+ });
45
+ } else {
46
+ const layoutId = await localStorage.getItem(ACTIVE_LAYOUT_ID_STORAGE_KEY);
47
+
48
+ if (layoutId) {
49
+ await AppLoaderBridge?.switchLayout(layoutId, null);
50
+ }
51
+ }
41
52
  } catch (error) {
42
53
  logger.error({
43
54
  message: "Error selecting layout using layout manager plugin",
@@ -1,35 +1,35 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`createZappApp has a <Provider /> component with an initialized store 1`] = `
4
- Object {
5
- "appData": Object {
4
+ {
5
+ "appData": {
6
6
  "countryLocale": "GB",
7
7
  "languageLocale": "en",
8
8
  "layoutVersion": "v1",
9
9
  "quickBrickEvent": [MockFunction],
10
10
  },
11
- "appSettings": Object {
12
- "runtimeConfigurationUrls": Object {},
11
+ "appSettings": {
12
+ "runtimeConfigurationUrls": {},
13
13
  },
14
- "appState": Object {
14
+ "appState": {
15
15
  "appLaunched": false,
16
16
  "appReady": false,
17
- "appState": Object {
17
+ "appState": {
18
18
  "currentState": null,
19
19
  "eventType": null,
20
20
  "isAvailable": null,
21
21
  "nextState": null,
22
22
  },
23
23
  },
24
- "cellStyles": Object {},
25
- "components": Object {
24
+ "cellStyles": {},
25
+ "components": {
26
26
  "AppContainer": [Function],
27
27
  "ContentScreen": [Function],
28
28
  "HookRenderer": [Function],
29
29
  "ModalComponent": [Function],
30
- "PlayerContainer": Object {
30
+ "PlayerContainer": {
31
31
  "$$typeof": Symbol(react.memo),
32
- "WrappedComponent": Object {
32
+ "WrappedComponent": {
33
33
  "$$typeof": Symbol(react.memo),
34
34
  "compare": null,
35
35
  "type": [Function],
@@ -38,49 +38,49 @@ Object {
38
38
  "type": [Function],
39
39
  },
40
40
  "QBImage": [Function],
41
- "River": Object {
41
+ "River": {
42
42
  "$$typeof": Symbol(react.memo),
43
43
  "WrappedComponent": [Function],
44
44
  "compare": null,
45
45
  "type": [Function],
46
46
  },
47
- "TextInputTv": Object {
47
+ "TextInputTv": {
48
48
  "$$typeof": Symbol(react.forward_ref),
49
49
  "render": [Function],
50
50
  },
51
51
  "Touchable": [Function],
52
52
  },
53
53
  "contentTypes": null,
54
- "localizations": Object {},
54
+ "localizations": {},
55
55
  "pipesEndpoints": null,
56
- "pluginConfigurations": Object {
57
- "pc1": Object {
56
+ "pluginConfigurations": {
57
+ "pc1": {
58
58
  "configuration_json": null,
59
- "plugin": Object {
60
- "api": Object {},
59
+ "plugin": {
60
+ "api": {},
61
61
  "identifier": "pc1",
62
62
  },
63
63
  },
64
- "pc2": Object {
65
- "configuration_json": Object {
64
+ "pc2": {
65
+ "configuration_json": {
66
66
  "foo": "bar",
67
67
  },
68
- "plugin": Object {
69
- "api": Object {},
68
+ "plugin": {
69
+ "api": {},
70
70
  "identifier": "pc2",
71
71
  },
72
72
  },
73
73
  },
74
- "plugins": Array [
75
- Object {
74
+ "plugins": [
75
+ {
76
76
  "configuration": null,
77
77
  "identifier": "pc1",
78
78
  "module": [MockFunction],
79
79
  "name": "Plugin1",
80
80
  "type": "general",
81
81
  },
82
- Object {
83
- "configuration": Object {
82
+ {
83
+ "configuration": {
84
84
  "foo": "bar",
85
85
  },
86
86
  "identifier": "pc2",
@@ -89,20 +89,20 @@ Object {
89
89
  "type": "general",
90
90
  },
91
91
  ],
92
- "presetsMapping": Object {},
93
- "remoteConfigurations": Object {
94
- "localizations": Object {},
92
+ "presetsMapping": {},
93
+ "remoteConfigurations": {
94
+ "localizations": {},
95
95
  },
96
- "rivers": Object {},
97
- "styles": Object {},
98
- "zappPipes": Object {},
96
+ "rivers": {},
97
+ "styles": {},
98
+ "zappPipes": {},
99
99
  }
100
100
  `;
101
101
 
102
102
  exports[`createZappApp renders the provided React App 1`] = `
103
103
  <Provider
104
104
  store={
105
- Object {
105
+ {
106
106
  "@@observable": [Function],
107
107
  "dispatch": [Function],
108
108
  "getState": [Function],
@@ -118,7 +118,7 @@ exports[`createZappApp renders the provided React App 1`] = `
118
118
  exports[`createZappApp returns a react component 1`] = `
119
119
  <Provider
120
120
  store={
121
- Object {
121
+ {
122
122
  "@@observable": [Function],
123
123
  "dispatch": [Function],
124
124
  "getState": [Function],
package/index.d.ts CHANGED
@@ -24,7 +24,7 @@ type AnyValue = void | string | number | boolean | AnyArray | AnyRecord;
24
24
  declare type ReducerAction<
25
25
  T extends string = string,
26
26
  P extends AnyValue = AnyValue,
27
- M extends AnyRecord = AnyRecord
27
+ M extends AnyRecord = AnyRecord,
28
28
  > = {
29
29
  type: T;
30
30
  payload?: P;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applicaster/quick-brick-core",
3
- "version": "13.0.0-alpha.5033140607",
3
+ "version": "13.0.0-alpha.5304771702",
4
4
  "description": "Core package for Applicaster's Quick Brick App",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -29,13 +29,13 @@
29
29
  },
30
30
  "homepage": "https://github.com/applicaster/quickbrick#readme",
31
31
  "dependencies": {
32
- "@applicaster/applicaster-types": "13.0.0-alpha.5033140607",
33
- "@applicaster/quick-brick-core-plugins": "13.0.0-alpha.5033140607",
34
- "@applicaster/zapp-pipes-v2-client": "13.0.0-alpha.5033140607",
35
- "@applicaster/zapp-react-native-bridge": "13.0.0-alpha.5033140607",
36
- "@applicaster/zapp-react-native-redux": "13.0.0-alpha.5033140607",
37
- "@applicaster/zapp-react-native-ui-components": "13.0.0-alpha.5033140607",
38
- "@applicaster/zapp-react-native-utils": "13.0.0-alpha.5033140607",
32
+ "@applicaster/applicaster-types": "13.0.0-alpha.5304771702",
33
+ "@applicaster/quick-brick-core-plugins": "13.0.0-alpha.5304771702",
34
+ "@applicaster/zapp-pipes-v2-client": "13.0.0-alpha.5304771702",
35
+ "@applicaster/zapp-react-native-bridge": "13.0.0-alpha.5304771702",
36
+ "@applicaster/zapp-react-native-redux": "13.0.0-alpha.5304771702",
37
+ "@applicaster/zapp-react-native-ui-components": "13.0.0-alpha.5304771702",
38
+ "@applicaster/zapp-react-native-utils": "13.0.0-alpha.5304771702",
39
39
  "atob": "^2.1.2",
40
40
  "axios": "^0.28.0",
41
41
  "btoa": "^1.2.1",
@@ -50,11 +50,27 @@
50
50
  "uuid": "3.3.2"
51
51
  },
52
52
  "peerDependencies": {
53
+ "@applicaster/blur": "*",
54
+ "@applicaster/quick-brick-xray": "*",
55
+ "@applicaster/zapp-react-dom-ui-components": "*",
56
+ "@applicaster/zapp-react-native-tvos-app": "*",
57
+ "@applicaster/zapp-react-native-tvos-ui-components": "*",
58
+ "@babel/runtime": "*",
53
59
  "@react-native-community/netinfo": "*",
60
+ "@types/node": "*",
61
+ "immer": "*",
54
62
  "react": "17.0.2",
55
63
  "react-native": "0.68.6",
64
+ "react-native-fs": "*",
56
65
  "react-native-gesture-handler": "*",
57
- "react-native-safe-area-context": "*"
66
+ "react-native-linear-gradient": "*",
67
+ "react-native-safe-area-context": "*",
68
+ "react-native-svg": "*",
69
+ "react-native-web": "*",
70
+ "react-native-webview": "*",
71
+ "uglify-js": "*",
72
+ "validate-color": "*",
73
+ "zustand": "*"
58
74
  },
59
75
  "devDependencies": {
60
76
  "@types/react-native": "0.69.6",