@common-stack/client-react 0.6.1-alpha.4 → 1.0.1-alpha.1
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.
- package/lib/__tests__/fill-register-test.js +16 -41
- package/lib/__tests__/fill-register-test.js.map +1 -1
- package/lib/__tests__/helpers/sample-menu.js +1 -4
- package/lib/__tests__/helpers/sample-menu.js.map +1 -1
- package/lib/__tests__/integrated-routes.test.js +17 -44
- package/lib/__tests__/integrated-routes.test.js.map +1 -1
- package/lib/__tests__/router-render.test.js +14 -57
- package/lib/__tests__/router-render.test.js.map +1 -1
- package/lib/connector/base-connector.d.ts +53 -0
- package/lib/connector/base-connector.js +129 -0
- package/lib/connector/base-connector.js.map +1 -0
- package/lib/connector/connector.d.ts +9 -0
- package/lib/connector/connector.js +14 -0
- package/lib/connector/connector.js.map +1 -0
- package/lib/connector/connector.native.d.ts +9 -0
- package/lib/connector/connector.native.js +15 -0
- package/lib/connector/connector.native.js.map +1 -0
- package/lib/connector/connector.test.js +11 -0
- package/lib/connector/connector.test.js.map +1 -0
- package/lib/connector/index.d.ts +1 -0
- package/lib/connector/index.js +2 -0
- package/lib/connector/index.js.map +1 -0
- package/lib/index.d.ts +1 -2
- package/lib/index.js +10 -29
- package/lib/index.js.map +1 -1
- package/lib/index.native.d.ts +1 -1
- package/lib/index.native.js +10 -28
- package/lib/index.native.js.map +1 -1
- package/lib/interfaces/extended-feature.d.ts +50 -0
- package/lib/interfaces/extended-feature.js +1 -56
- package/lib/interfaces/extended-feature.js.map +1 -1
- package/lib/interfaces/feature.d.ts +13 -0
- package/lib/interfaces/feature.js +2 -0
- package/lib/interfaces/feature.js.map +1 -0
- package/lib/interfaces/index.d.ts +2 -0
- package/lib/interfaces/index.js +5 -20
- package/lib/interfaces/index.js.map +1 -1
- package/lib/interfaces/menu.js +2 -5
- package/lib/interfaces/menu.js.map +1 -1
- package/lib/interfaces/new-router.js +1 -2
- package/lib/interfaces/router.js +1 -2
- package/lib/inversify/InversifyContext.d.ts +3 -3
- package/lib/inversify/InversifyContext.js +6 -34
- package/lib/inversify/InversifyContext.js.map +1 -1
- package/lib/inversify/index.js +1 -17
- package/lib/inversify/index.js.map +1 -1
- package/lib/plugin-area/__tests__/higher-order-component-util.test.js +13 -38
- package/lib/plugin-area/__tests__/higher-order-component-util.test.js.map +1 -1
- package/lib/plugin-area/__tests__/plugin-api.test.js +11 -13
- package/lib/plugin-area/__tests__/plugin-api.test.js.map +1 -1
- package/lib/plugin-area/base-plugin-area.js +18 -39
- package/lib/plugin-area/base-plugin-area.js.map +1 -1
- package/lib/plugin-area/higher-order-component-util.js +3 -7
- package/lib/plugin-area/higher-order-component-util.js.map +1 -1
- package/lib/plugin-area/index.js +5 -35
- package/lib/plugin-area/index.js.map +1 -1
- package/lib/plugin-area/index.native.js +7 -37
- package/lib/plugin-area/index.native.js.map +1 -1
- package/lib/plugin-area/plugin-api.js +15 -18
- package/lib/plugin-area/plugin-api.js.map +1 -1
- package/lib/plugin-area/plugin-context.js +5 -32
- package/lib/plugin-area/plugin-context.js.map +1 -1
- package/lib/route/__tests__/admin-new-routes.test.js +11 -45
- package/lib/route/__tests__/admin-new-routes.test.js.map +1 -1
- package/lib/route/__tests__/getFlatMenus.test.js +5 -7
- package/lib/route/__tests__/getFlatMenus.test.js.map +1 -1
- package/lib/route/__tests__/render-routes-config.test.js +6 -18
- package/lib/route/__tests__/render-routes-config.test.js.map +1 -1
- package/lib/route/__tests__/route-type.test.js +1 -2
- package/lib/route/__tests__/route-type.test.js.map +1 -1
- package/lib/route/get-routes.js +22 -29
- package/lib/route/get-routes.js.map +1 -1
- package/lib/route/get-routes.test.js +6 -17
- package/lib/route/get-routes.test.js.map +1 -1
- package/lib/route/index.js +2 -18
- package/lib/route/index.js.map +1 -1
- package/lib/route/index.native.js +1 -17
- package/lib/route/index.native.js.map +1 -1
- package/lib/route/old/__tests__/config-sidebar-menu.test.d.ts +1 -0
- package/lib/route/old/__tests__/config-sidebar-menu.test.js +199 -198
- package/lib/route/old/__tests__/config-sidebar-menu.test.js.map +1 -1
- package/lib/route/old/get-menus.js +14 -21
- package/lib/route/old/get-menus.js.map +1 -1
- package/lib/route/old/get-routes-notused.js +14 -12
- package/lib/route/old/get-routes-notused.js.map +1 -1
- package/lib/route/old/render.js +4 -31
- package/lib/route/old/render.js.map +1 -1
- package/lib/route/react-navigation/get-navigation-utils.js +35 -40
- package/lib/route/react-navigation/get-navigation-utils.js.map +1 -1
- package/lib/route/react-navigation/get-navigation-utils.test.js +19 -21
- package/lib/route/react-navigation/get-navigation-utils.test.js.map +1 -1
- package/lib/route/react-navigation/index.js +2 -18
- package/lib/route/react-navigation/index.js.map +1 -1
- package/lib/route/react-navigation/react-native.sample.test.js +8 -22
- package/lib/route/react-navigation/react-native.sample.test.js.map +1 -1
- package/lib/route/react-navigation/react-native.sample1.test.js +14 -48
- package/lib/route/react-navigation/react-native.sample1.test.js.map +1 -1
- package/lib/route/react-navigation/react-navigation-render.js +16 -31
- package/lib/route/react-navigation/react-navigation-render.js.map +1 -1
- package/lib/route/react-navigation/react-navigation-render.test.js +23 -37
- package/lib/route/react-navigation/react-navigation-render.test.js.map +1 -1
- package/lib/route/react-navigation/root-navigation.js +5 -9
- package/lib/route/react-navigation/root-navigation.js.map +1 -1
- package/lib/route/react-navigation/routes.js +1 -2
- package/lib/route/react-navigation/types.js +1 -5
- package/lib/route/react-navigation/types.js.map +1 -1
- package/lib/route/render-routes.js +33 -66
- package/lib/route/render-routes.js.map +1 -1
- package/lib/route/render-routes.native.js +33 -66
- package/lib/route/render-routes.native.js.map +1 -1
- package/lib/route/render-routes.test.js +112 -126
- package/lib/route/render-routes.test.js.map +1 -1
- package/lib/route/root-navigation.js +3 -7
- package/lib/route/root-navigation.js.map +1 -1
- package/lib/route-based-plugin-area/__tests__/higher-order-component-util.test.js +13 -38
- package/lib/route-based-plugin-area/__tests__/higher-order-component-util.test.js.map +1 -1
- package/lib/route-based-plugin-area/__tests__/plugin-api.test.js +11 -13
- package/lib/route-based-plugin-area/__tests__/plugin-api.test.js.map +1 -1
- package/lib/route-based-plugin-area/higher-order-component-util.js +3 -7
- package/lib/route-based-plugin-area/higher-order-component-util.js.map +1 -1
- package/lib/route-based-plugin-area/index.js +2 -18
- package/lib/route-based-plugin-area/index.js.map +1 -1
- package/lib/route-based-plugin-area/plugin-api.js +15 -18
- package/lib/route-based-plugin-area/plugin-api.js.map +1 -1
- package/lib/route-based-plugin-area/plugin-context.js +5 -32
- package/lib/route-based-plugin-area/plugin-context.js.map +1 -1
- package/lib/route-based-plugin-area/route-based-plugin-area.js +12 -39
- package/lib/route-based-plugin-area/route-based-plugin-area.js.map +1 -1
- package/lib/router-factory/index.d.ts +1 -1
- package/lib/router-factory/index.js +6 -32
- package/lib/router-factory/index.js.map +1 -1
- package/lib/router-factory/index.native.d.ts +1 -1
- package/lib/router-factory/index.native.js +6 -32
- package/lib/router-factory/index.native.js.map +1 -1
- package/lib/utils/before-ssr.d.ts +5 -0
- package/lib/utils/before-ssr.js +9 -0
- package/lib/utils/before-ssr.js.map +1 -0
- package/lib/utils/combine.d.ts +1 -0
- package/lib/utils/combine.js +3 -0
- package/lib/utils/combine.js.map +1 -0
- package/lib/utils/hydrate.d.ts +4 -0
- package/lib/utils/hydrate.js +14 -0
- package/lib/utils/hydrate.js.map +1 -0
- package/lib/utils/index.d.ts +3 -0
- package/lib/utils/index.js +5 -18
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/sort-keys.js +3 -10
- package/lib/utils/sort-keys.js.map +1 -1
- package/lib/utils/sort-keys.test.js +2 -4
- package/lib/utils/sort-keys.test.js.map +1 -1
- package/lib/utils/utils.js +1 -5
- package/lib/utils/utils.js.map +1 -1
- package/package.json +6 -5
- package/lib/application/__tests__/react-client.test.d.ts +0 -1
- package/lib/application/__tests__/react-client.test.js +0 -23
- package/lib/application/__tests__/react-client.test.js.map +0 -1
- package/lib/application/base-apollo-client.d.ts +0 -21
- package/lib/application/base-apollo-client.js +0 -161
- package/lib/application/base-apollo-client.js.map +0 -1
- package/lib/application/base-redux-config.d.ts +0 -22
- package/lib/application/base-redux-config.js +0 -58
- package/lib/application/base-redux-config.js.map +0 -1
- package/lib/application/config.d.ts +0 -4
- package/lib/application/config.js +0 -38
- package/lib/application/config.js.map +0 -1
- package/lib/application/react-client.d.ts +0 -7
- package/lib/application/react-client.js +0 -152
- package/lib/application/react-client.js.map +0 -1
- package/lib/connector/base-react-client-feature.d.ts +0 -31
- package/lib/connector/base-react-client-feature.js +0 -102
- package/lib/connector/base-react-client-feature.js.map +0 -1
- package/lib/connector/monaco-connector.d.ts +0 -19
- package/lib/connector/monaco-connector.js +0 -76
- package/lib/connector/monaco-connector.js.map +0 -1
- package/lib/connector/react-client-feature.d.ts +0 -7
- package/lib/connector/react-client-feature.js +0 -15
- package/lib/connector/react-client-feature.js.map +0 -1
- package/lib/connector/react-client-feature.native.d.ts +0 -7
- package/lib/connector/react-client-feature.native.js +0 -18
- package/lib/connector/react-client-feature.native.js.map +0 -1
- package/lib/connector/react-client-feature.test.js +0 -10
- package/lib/connector/react-client-feature.test.js.map +0 -1
- package/lib/interfaces/monaco-feature.d.ts +0 -46
- package/lib/interfaces/monaco-feature.js +0 -3
- package/lib/interfaces/monaco-feature.js.map +0 -1
- package/lib/interfaces/react-client-feature.d.ts +0 -77
- package/lib/interfaces/react-client-feature.js +0 -3
- package/lib/interfaces/react-client-feature.js.map +0 -1
- /package/lib/connector/{react-client-feature.test.d.ts → connector.test.d.ts} +0 -0
|
@@ -1,40 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const react_1 = __importDefault(require("react"));
|
|
1
|
+
import React from 'react';
|
|
16
2
|
// import { Ionicons } from '@expo/vector-icons';
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
3
|
+
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
|
|
4
|
+
import { createStackNavigator } from '@react-navigation/stack';
|
|
5
|
+
import { render, screen } from '@testing-library/react-native';
|
|
6
|
+
import { NavigationContainer } from '@react-navigation/native';
|
|
7
|
+
import resolveRootRoute from './react-navigation-render';
|
|
8
|
+
import '@testing-library/jest-dom';
|
|
9
|
+
import { Text, View } from 'react-native';
|
|
24
10
|
function DetailsScreen(props) {
|
|
25
11
|
const item = Object.keys(props).find((item) => item === 'navigation') || "";
|
|
26
|
-
return (
|
|
27
|
-
|
|
12
|
+
return (React.createElement(View, null,
|
|
13
|
+
React.createElement(Text, null, item)));
|
|
28
14
|
}
|
|
29
15
|
function SampleComponent(props) {
|
|
30
|
-
return (
|
|
31
|
-
|
|
32
|
-
|
|
16
|
+
return (React.createElement(View, null,
|
|
17
|
+
React.createElement(Text, null, "Showing details for"),
|
|
18
|
+
React.createElement(Text, null, "the number you have chosen is")));
|
|
33
19
|
}
|
|
34
20
|
describe('react-navigation ', () => {
|
|
35
21
|
const rootRoutes = [
|
|
36
22
|
{
|
|
37
|
-
container:
|
|
23
|
+
container: createStackNavigator(),
|
|
38
24
|
name: 'MainStack',
|
|
39
25
|
props: {
|
|
40
26
|
initialRouteName: 'Guest',
|
|
@@ -45,7 +31,7 @@ describe('react-navigation ', () => {
|
|
|
45
31
|
children: [
|
|
46
32
|
{
|
|
47
33
|
name: 'Guest',
|
|
48
|
-
container:
|
|
34
|
+
container: createBottomTabNavigator(),
|
|
49
35
|
props: {
|
|
50
36
|
initialRouteName: 'Home',
|
|
51
37
|
screenOptions: {
|
|
@@ -70,7 +56,7 @@ describe('react-navigation ', () => {
|
|
|
70
56
|
},
|
|
71
57
|
{
|
|
72
58
|
name: 'About',
|
|
73
|
-
container:
|
|
59
|
+
container: createStackNavigator(),
|
|
74
60
|
props: {
|
|
75
61
|
initialRouteName: 'Hello',
|
|
76
62
|
},
|
|
@@ -114,14 +100,14 @@ describe('react-navigation ', () => {
|
|
|
114
100
|
],
|
|
115
101
|
},
|
|
116
102
|
];
|
|
117
|
-
const MainStack = (
|
|
103
|
+
const MainStack = resolveRootRoute(rootRoutes[0], 'MainStack');
|
|
118
104
|
it('test component', () => {
|
|
119
105
|
expect(MainStack).toMatchSnapshot();
|
|
120
106
|
});
|
|
121
|
-
it('tests that child screen component has navigation props ', () =>
|
|
107
|
+
it('tests that child screen component has navigation props ', async () => {
|
|
122
108
|
const sampleRoutes = [
|
|
123
109
|
{
|
|
124
|
-
container:
|
|
110
|
+
container: createStackNavigator(),
|
|
125
111
|
name: 'MainStack',
|
|
126
112
|
props: {
|
|
127
113
|
initialRouteName: 'MainStack.Setting',
|
|
@@ -145,9 +131,9 @@ describe('react-navigation ', () => {
|
|
|
145
131
|
],
|
|
146
132
|
},
|
|
147
133
|
];
|
|
148
|
-
const MainStack = (
|
|
149
|
-
|
|
150
|
-
expect(
|
|
151
|
-
})
|
|
134
|
+
const MainStack = resolveRootRoute(sampleRoutes[0], 'MainStack');
|
|
135
|
+
render(React.createElement(NavigationContainer, null, MainStack));
|
|
136
|
+
expect(await screen.findByText('navigation')).toBeOnTheScreen();
|
|
137
|
+
});
|
|
152
138
|
});
|
|
153
139
|
//# sourceMappingURL=react-navigation-render.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-navigation-render.test.js","sourceRoot":"","sources":["../../../src/route/react-navigation/react-navigation-render.test.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"react-navigation-render.test.js","sourceRoot":"","sources":["../../../src/route/react-navigation/react-navigation-render.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function navigate(name, params) {
|
|
7
|
-
if (exports.navigationRef.isReady()) {
|
|
8
|
-
exports.navigationRef.navigate(name, params);
|
|
1
|
+
import { createNavigationContainerRef } from '@react-navigation/native';
|
|
2
|
+
export const navigationRef = createNavigationContainerRef();
|
|
3
|
+
export function navigate(name, params) {
|
|
4
|
+
if (navigationRef.isReady()) {
|
|
5
|
+
navigationRef.navigate(name, params);
|
|
9
6
|
}
|
|
10
7
|
}
|
|
11
|
-
exports.navigate = navigate;
|
|
12
8
|
//# sourceMappingURL=root-navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-navigation.js","sourceRoot":"","sources":["../../../src/route/react-navigation/root-navigation.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"root-navigation.js","sourceRoot":"","sources":["../../../src/route/react-navigation/root-navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,4BAA4B,EAAE,CAAA;AAE3D,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAa;IAClD,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE;QAC3B,aAAa,CAAC,QAAQ,CAAC,IAAa,EAAE,MAAM,CAAC,CAAC;KAC/C;AACH,CAAC"}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isStackOrTab = void 0;
|
|
4
|
-
const isStackOrTab = (s) => s.hasOwnProperty('children');
|
|
5
|
-
exports.isStackOrTab = isStackOrTab;
|
|
1
|
+
export const isStackOrTab = (s) => s.hasOwnProperty('children');
|
|
6
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/route/react-navigation/types.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/route/react-navigation/types.tsx"],"names":[],"mappings":"AA2BA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAgB,EAAuB,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -1,68 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
35
|
-
var t = {};
|
|
36
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
37
|
-
t[p] = s[p];
|
|
38
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
39
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
40
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
41
|
-
t[p[i]] = s[p[i]];
|
|
42
|
-
}
|
|
43
|
-
return t;
|
|
44
|
-
};
|
|
45
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
-
exports.renderRoutes2 = void 0;
|
|
47
|
-
const React = __importStar(require("react"));
|
|
48
|
-
const react_1 = require("react");
|
|
49
|
-
const react_router_1 = require("react-router");
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useEffect, useState, createElement } from 'react';
|
|
3
|
+
import { Switch, Route, Redirect } from 'react-router';
|
|
50
4
|
function wrapInitialPropsFetch(route, opts) {
|
|
51
|
-
const { component
|
|
5
|
+
const { component, ...restRouteParams } = route;
|
|
52
6
|
let Component = route.component;
|
|
53
7
|
function ComponentWithInitialPropsFetch(props) {
|
|
54
|
-
const [initialProps, setInitialProps] =
|
|
55
|
-
|
|
8
|
+
const [initialProps, setInitialProps] = useState(() => window.g_initialProps);
|
|
9
|
+
useEffect(() => {
|
|
56
10
|
/**
|
|
57
11
|
* 1. 首次渲染时,此时 window.g_initialProps 变量存在,不需要再走一次 getInitialProps,这样一次 SSR 就走了 2 次 getInitialProps
|
|
58
12
|
* 2. 但是路由切换时,window.getInitialProps 会被赋为 null,这时候就走 getInitialProps 逻辑
|
|
59
13
|
* 3. 如果任何时候都走 2 次,配置 forceInitial: true,这个场景用于静态站点的首屏加载希望走最新数据
|
|
60
14
|
* 4. 开启动态加载后,会在执行 getInitialProps 前预加载下
|
|
61
15
|
*/
|
|
62
|
-
const handleGetInitialProps = () =>
|
|
16
|
+
const handleGetInitialProps = async () => {
|
|
63
17
|
// preload when enalbe dynamicImport
|
|
64
18
|
if (Component.preload) {
|
|
65
|
-
const preloadComponent =
|
|
19
|
+
const preloadComponent = await Component.preload();
|
|
66
20
|
// for test case, really use .default
|
|
67
21
|
Component = preloadComponent.default || preloadComponent;
|
|
68
22
|
}
|
|
@@ -87,13 +41,13 @@ function wrapInitialPropsFetch(route, opts) {
|
|
|
87
41
|
// );
|
|
88
42
|
// setInitialProps(initialProps);
|
|
89
43
|
// }
|
|
90
|
-
}
|
|
44
|
+
};
|
|
91
45
|
// null 时,一定会触发 getInitialProps 执行
|
|
92
46
|
if (!window.g_initialProps) {
|
|
93
47
|
handleGetInitialProps();
|
|
94
48
|
}
|
|
95
49
|
}, [window.location.pathname, window.location.search]);
|
|
96
|
-
return React.createElement(Component,
|
|
50
|
+
return React.createElement(Component, { ...props, ...initialProps });
|
|
97
51
|
}
|
|
98
52
|
// flag for having wrappered
|
|
99
53
|
ComponentWithInitialPropsFetch.wrapInitialPropsLoaded = true;
|
|
@@ -101,20 +55,30 @@ function wrapInitialPropsFetch(route, opts) {
|
|
|
101
55
|
return ComponentWithInitialPropsFetch;
|
|
102
56
|
}
|
|
103
57
|
function render({ route, opts, props, }) {
|
|
104
|
-
const routes = renderRoutes(
|
|
58
|
+
const routes = renderRoutes({
|
|
59
|
+
...opts,
|
|
60
|
+
routes: route.routes || [],
|
|
61
|
+
rootRoutes: opts.rootRoutes,
|
|
62
|
+
});
|
|
105
63
|
let { component: Component, wrappers } = route;
|
|
106
64
|
if (Component) {
|
|
107
65
|
const defaultPageInitialProps = opts.isServer
|
|
108
66
|
? {}
|
|
109
67
|
: window.g_initialProps;
|
|
110
|
-
const newProps =
|
|
68
|
+
const newProps = {
|
|
69
|
+
...props,
|
|
70
|
+
...opts.extraProps,
|
|
71
|
+
...(opts.pageInitialProps || defaultPageInitialProps),
|
|
72
|
+
route,
|
|
73
|
+
routes: opts.rootRoutes,
|
|
74
|
+
};
|
|
111
75
|
// @ts-ignore
|
|
112
|
-
let ret = React.createElement(Component,
|
|
76
|
+
let ret = React.createElement(Component, { ...newProps }, routes);
|
|
113
77
|
// route.wrappers
|
|
114
78
|
if (wrappers) {
|
|
115
79
|
let len = wrappers.length - 1;
|
|
116
80
|
while (len >= 0) {
|
|
117
|
-
ret =
|
|
81
|
+
ret = createElement(wrappers[len], newProps, ret);
|
|
118
82
|
len -= 1;
|
|
119
83
|
}
|
|
120
84
|
}
|
|
@@ -133,7 +97,7 @@ function getRouteElement({ route, index, opts }) {
|
|
|
133
97
|
path: route.path,
|
|
134
98
|
};
|
|
135
99
|
if (route.redirect) {
|
|
136
|
-
return React.createElement(
|
|
100
|
+
return React.createElement(Redirect, { ...routeProps, from: route.path, to: route.redirect });
|
|
137
101
|
}
|
|
138
102
|
else {
|
|
139
103
|
// avoid mount and unmount with url hash change
|
|
@@ -149,20 +113,23 @@ function getRouteElement({ route, index, opts }) {
|
|
|
149
113
|
// // client Render for enable ssr, but not sure SSR success
|
|
150
114
|
// route.component = wrapInitialPropsFetch(route, opts);
|
|
151
115
|
// }
|
|
152
|
-
return (React.createElement(
|
|
116
|
+
return (React.createElement(Route, { ...routeProps, render: (props) => {
|
|
153
117
|
return render({ route, opts, props });
|
|
154
|
-
} }))
|
|
118
|
+
} }));
|
|
155
119
|
}
|
|
156
120
|
}
|
|
157
121
|
function renderRoutes(opts) {
|
|
158
|
-
return opts.routes ? (React.createElement(
|
|
122
|
+
return opts.routes ? (React.createElement(Switch, null, opts.routes.map((route, index) => {
|
|
159
123
|
const renderedR = getRouteElement({
|
|
160
124
|
route,
|
|
161
125
|
index,
|
|
162
|
-
opts:
|
|
126
|
+
opts: {
|
|
127
|
+
...opts,
|
|
128
|
+
rootRoutes: opts.rootRoutes || opts.routes,
|
|
129
|
+
},
|
|
163
130
|
});
|
|
164
131
|
return renderedR;
|
|
165
132
|
}))) : null;
|
|
166
133
|
}
|
|
167
|
-
|
|
134
|
+
export { renderRoutes as renderRoutes2 };
|
|
168
135
|
//# sourceMappingURL=render-routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-routes.js","sourceRoot":"","sources":["../../src/route/render-routes.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render-routes.js","sourceRoot":"","sources":["../../src/route/render-routes.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
35
|
-
var t = {};
|
|
36
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
37
|
-
t[p] = s[p];
|
|
38
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
39
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
40
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
41
|
-
t[p[i]] = s[p[i]];
|
|
42
|
-
}
|
|
43
|
-
return t;
|
|
44
|
-
};
|
|
45
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
-
exports.renderRoutes = void 0;
|
|
47
|
-
const React = __importStar(require("react"));
|
|
48
|
-
const react_1 = require("react");
|
|
49
|
-
const react_router_native_1 = require("react-router-native");
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useEffect, useState, createElement } from 'react';
|
|
3
|
+
import { Switch, Route, Redirect } from 'react-router-native';
|
|
50
4
|
function wrapInitialPropsFetch(route, opts) {
|
|
51
|
-
const { component
|
|
5
|
+
const { component, ...restRouteParams } = route;
|
|
52
6
|
let Component = route.component;
|
|
53
7
|
function ComponentWithInitialPropsFetch(props) {
|
|
54
|
-
const [initialProps, setInitialProps] =
|
|
55
|
-
|
|
8
|
+
const [initialProps, setInitialProps] = useState(() => window.g_initialProps);
|
|
9
|
+
useEffect(() => {
|
|
56
10
|
/**
|
|
57
11
|
* 1. 首次渲染时,此时 window.g_initialProps 变量存在,不需要再走一次 getInitialProps,这样一次 SSR 就走了 2 次 getInitialProps
|
|
58
12
|
* 2. 但是路由切换时,window.getInitialProps 会被赋为 null,这时候就走 getInitialProps 逻辑
|
|
59
13
|
* 3. 如果任何时候都走 2 次,配置 forceInitial: true,这个场景用于静态站点的首屏加载希望走最新数据
|
|
60
14
|
* 4. 开启动态加载后,会在执行 getInitialProps 前预加载下
|
|
61
15
|
*/
|
|
62
|
-
const handleGetInitialProps = () =>
|
|
16
|
+
const handleGetInitialProps = async () => {
|
|
63
17
|
// preload when enalbe dynamicImport
|
|
64
18
|
if (Component.preload) {
|
|
65
|
-
const preloadComponent =
|
|
19
|
+
const preloadComponent = await Component.preload();
|
|
66
20
|
// for test case, really use .default
|
|
67
21
|
Component = preloadComponent.default || preloadComponent;
|
|
68
22
|
}
|
|
@@ -87,13 +41,13 @@ function wrapInitialPropsFetch(route, opts) {
|
|
|
87
41
|
// );
|
|
88
42
|
// setInitialProps(initialProps);
|
|
89
43
|
// }
|
|
90
|
-
}
|
|
44
|
+
};
|
|
91
45
|
// null 时,一定会触发 getInitialProps 执行
|
|
92
46
|
if (!window.g_initialProps) {
|
|
93
47
|
handleGetInitialProps();
|
|
94
48
|
}
|
|
95
49
|
}, [window.location.pathname, window.location.search]);
|
|
96
|
-
return React.createElement(Component,
|
|
50
|
+
return React.createElement(Component, { ...props, ...initialProps });
|
|
97
51
|
}
|
|
98
52
|
// flag for having wrappered
|
|
99
53
|
ComponentWithInitialPropsFetch.wrapInitialPropsLoaded = true;
|
|
@@ -101,18 +55,28 @@ function wrapInitialPropsFetch(route, opts) {
|
|
|
101
55
|
return ComponentWithInitialPropsFetch;
|
|
102
56
|
}
|
|
103
57
|
function render({ route, opts, props }) {
|
|
104
|
-
const routes = renderRoutes(
|
|
58
|
+
const routes = renderRoutes({
|
|
59
|
+
...opts,
|
|
60
|
+
routes: route.routes || [],
|
|
61
|
+
rootRoutes: opts.rootRoutes,
|
|
62
|
+
});
|
|
105
63
|
const { component: Component, wrappers } = route;
|
|
106
64
|
if (Component) {
|
|
107
65
|
const defaultPageInitialProps = opts.isServer ? {} : window.g_initialProps;
|
|
108
|
-
const newProps =
|
|
66
|
+
const newProps = {
|
|
67
|
+
...props,
|
|
68
|
+
...opts.extraProps,
|
|
69
|
+
...(opts.pageInitialProps || defaultPageInitialProps),
|
|
70
|
+
route,
|
|
71
|
+
routes: opts.rootRoutes,
|
|
72
|
+
};
|
|
109
73
|
// @ts-ignore
|
|
110
|
-
let ret = React.createElement(Component,
|
|
74
|
+
let ret = React.createElement(Component, { ...newProps }, routes);
|
|
111
75
|
// route.wrappers
|
|
112
76
|
if (wrappers) {
|
|
113
77
|
let len = wrappers.length - 1;
|
|
114
78
|
while (len >= 0) {
|
|
115
|
-
ret =
|
|
79
|
+
ret = createElement(wrappers[len], newProps, ret);
|
|
116
80
|
len -= 1;
|
|
117
81
|
}
|
|
118
82
|
}
|
|
@@ -129,7 +93,7 @@ function getRouteElement({ route, index, opts }) {
|
|
|
129
93
|
path: route.path,
|
|
130
94
|
};
|
|
131
95
|
if (route.redirect) {
|
|
132
|
-
return React.createElement(
|
|
96
|
+
return React.createElement(Redirect, { ...routeProps, from: route.path, to: route.redirect });
|
|
133
97
|
}
|
|
134
98
|
// avoid mount and unmount with url hash change
|
|
135
99
|
// @sri not supproted yet
|
|
@@ -144,19 +108,22 @@ function getRouteElement({ route, index, opts }) {
|
|
|
144
108
|
// // client Render for enable ssr, but not sure SSR success
|
|
145
109
|
// route.component = wrapInitialPropsFetch(route, opts);
|
|
146
110
|
// }
|
|
147
|
-
return (React.createElement(
|
|
111
|
+
return (React.createElement(Route, { ...routeProps, render: (props) => {
|
|
148
112
|
return render({ route, opts, props });
|
|
149
|
-
} }))
|
|
113
|
+
} }));
|
|
150
114
|
}
|
|
151
115
|
function renderRoutes(opts) {
|
|
152
|
-
return opts.routes ? (React.createElement(
|
|
116
|
+
return opts.routes ? (React.createElement(Switch, null, opts.routes.map((route, index) => {
|
|
153
117
|
const renderedR = getRouteElement({
|
|
154
118
|
route,
|
|
155
119
|
index,
|
|
156
|
-
opts:
|
|
120
|
+
opts: {
|
|
121
|
+
...opts,
|
|
122
|
+
rootRoutes: opts.rootRoutes || opts.routes,
|
|
123
|
+
},
|
|
157
124
|
});
|
|
158
125
|
return renderedR;
|
|
159
126
|
}))) : null;
|
|
160
127
|
}
|
|
161
|
-
|
|
128
|
+
export { renderRoutes };
|
|
162
129
|
//# sourceMappingURL=render-routes.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-routes.native.js","sourceRoot":"","sources":["../../src/route/render-routes.native.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render-routes.native.js","sourceRoot":"","sources":["../../src/route/render-routes.native.tsx"],"names":[],"mappings":"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"}
|