@multiplatform.one/router 0.0.8
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/LICENSE +201 -0
- package/dist/cjs/index.cjs +140 -0
- package/dist/cjs/index.cjs.map +6 -0
- package/dist/cjs/index.native.js +146 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/esm/index.js +113 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +113 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +123 -0
- package/dist/esm/index.native.js.map +6 -0
- package/dist/jsx/index.js +113 -0
- package/dist/jsx/index.js.map +6 -0
- package/dist/jsx/index.mjs +113 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +123 -0
- package/dist/jsx/index.native.js.map +6 -0
- package/package.json +61 -0
- package/src/index.ts +181 -0
- package/types/index.d.ts +36 -0
- package/types/index.d.ts.map +1 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { useLinkTo as useOneLinkTo, useNavigation as useOneNavigation, useParams as useOneParams, usePathname as useOnePathname, useRouter as useOneRouter } from "one";
|
|
2
|
+
import { useLocation, useNavigate, useParams as useReactParams } from "react-router-dom";
|
|
3
|
+
const ROUTER_ERROR = "must use one or react-router-dom for router";
|
|
4
|
+
function useRouter() {
|
|
5
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
6
|
+
if (typeof useOneRouter > "u") throw new Error(ROUTER_ERROR);
|
|
7
|
+
return useOneRouter();
|
|
8
|
+
}
|
|
9
|
+
const location = useLocation(),
|
|
10
|
+
navigate = useNavigate(),
|
|
11
|
+
oneRouter = useOneRouter();
|
|
12
|
+
return {
|
|
13
|
+
onLoadState: oneRouter.onLoadState,
|
|
14
|
+
subscribe: oneRouter.subscribe,
|
|
15
|
+
back() {
|
|
16
|
+
navigate(-1);
|
|
17
|
+
},
|
|
18
|
+
canGoBack() {
|
|
19
|
+
return window.history.length > 1;
|
|
20
|
+
},
|
|
21
|
+
push(href, options) {
|
|
22
|
+
navigate(href.toString(), {
|
|
23
|
+
replace: !1,
|
|
24
|
+
...options
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
navigate(href, options) {
|
|
28
|
+
navigate(href.toString(), {
|
|
29
|
+
replace: !1,
|
|
30
|
+
...options
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
replace(href, options) {
|
|
34
|
+
navigate(href.toString(), {
|
|
35
|
+
replace: !0,
|
|
36
|
+
...options
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
dismiss(count = 1) {
|
|
40
|
+
navigate(-count);
|
|
41
|
+
},
|
|
42
|
+
dismissAll() {
|
|
43
|
+
navigate("/");
|
|
44
|
+
},
|
|
45
|
+
canDismiss() {
|
|
46
|
+
return location.pathname !== "/";
|
|
47
|
+
},
|
|
48
|
+
setParams(params) {
|
|
49
|
+
const searchParams = new URLSearchParams(location.search);
|
|
50
|
+
params && Object.entries(params).forEach(([key, value]) => {
|
|
51
|
+
value == null ? searchParams.delete(key) : searchParams.set(key, String(value));
|
|
52
|
+
}), navigate(`${location.pathname}?${searchParams.toString()}`);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function usePathname() {
|
|
57
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
58
|
+
if (typeof useOnePathname > "u") throw new Error(ROUTER_ERROR);
|
|
59
|
+
return useOnePathname();
|
|
60
|
+
}
|
|
61
|
+
return useLocation().pathname;
|
|
62
|
+
}
|
|
63
|
+
function useParams() {
|
|
64
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
65
|
+
if (typeof useOneParams > "u") throw new Error(ROUTER_ERROR);
|
|
66
|
+
return useOneParams();
|
|
67
|
+
}
|
|
68
|
+
return useReactParams();
|
|
69
|
+
}
|
|
70
|
+
function useNavigation(parent) {
|
|
71
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
72
|
+
if (typeof useOneNavigation > "u") throw new Error(ROUTER_ERROR);
|
|
73
|
+
return useOneNavigation(parent);
|
|
74
|
+
}
|
|
75
|
+
const navigate = useNavigate(),
|
|
76
|
+
location = useLocation();
|
|
77
|
+
return {
|
|
78
|
+
navigate(name, params) {
|
|
79
|
+
navigate(name, {
|
|
80
|
+
state: params
|
|
81
|
+
});
|
|
82
|
+
},
|
|
83
|
+
goBack() {
|
|
84
|
+
navigate(-1);
|
|
85
|
+
},
|
|
86
|
+
setParams(params) {
|
|
87
|
+
navigate(location.pathname, {
|
|
88
|
+
state: {
|
|
89
|
+
...location.state,
|
|
90
|
+
...params
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function useLinkTo(props) {
|
|
97
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
98
|
+
if (typeof useOneLinkTo > "u") throw new Error(ROUTER_ERROR);
|
|
99
|
+
return useOneLinkTo(props);
|
|
100
|
+
}
|
|
101
|
+
const navigate = useNavigate();
|
|
102
|
+
return {
|
|
103
|
+
href: props.href.toString(),
|
|
104
|
+
role: "link",
|
|
105
|
+
onPress: e => {
|
|
106
|
+
e?.preventDefault && e.preventDefault(), navigate(props.href.toString(), {
|
|
107
|
+
replace: props.replace
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export { useLinkTo, useNavigation, useParams, usePathname, useRouter };
|
|
113
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useLinkTo","useOneLinkTo","useNavigation","useOneNavigation","useParams","useOneParams","usePathname","useOnePathname","useRouter","useOneRouter","useLocation","useNavigate","useReactParams","ROUTER_ERROR","Error","location","navigate","oneRouter","onLoadState","subscribe","back","canGoBack","window","history","length","push","href","options","toString","replace","dismiss","count","dismissAll","canDismiss","pathname","setParams","params","searchParams","URLSearchParams","search","Object","entries","forEach","key","value","delete","set","String","parent","name","state","goBack","props","role","onPress","e","preventDefault"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { useLinkTo as useOneLinkTo, useNavigation as useOneNavigation, useParams as useOneParams, usePathname as useOnePathname, useRouter as useOneRouter } from "one";
|
|
2
|
+
import { useLocation, useNavigate, useParams as useReactParams } from "react-router-dom";
|
|
3
|
+
var ROUTER_ERROR = "must use one or react-router-dom for router";
|
|
4
|
+
function useRouter() {
|
|
5
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
6
|
+
if (typeof useOneRouter > "u")
|
|
7
|
+
throw new Error(ROUTER_ERROR);
|
|
8
|
+
return useOneRouter();
|
|
9
|
+
}
|
|
10
|
+
var location = useLocation(), navigate = useNavigate(), oneRouter = useOneRouter();
|
|
11
|
+
return {
|
|
12
|
+
onLoadState: oneRouter.onLoadState,
|
|
13
|
+
subscribe: oneRouter.subscribe,
|
|
14
|
+
back() {
|
|
15
|
+
navigate(-1);
|
|
16
|
+
},
|
|
17
|
+
canGoBack() {
|
|
18
|
+
return window.history.length > 1;
|
|
19
|
+
},
|
|
20
|
+
push(href, options) {
|
|
21
|
+
navigate(href.toString(), {
|
|
22
|
+
replace: !1,
|
|
23
|
+
...options
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
navigate(href, options) {
|
|
27
|
+
navigate(href.toString(), {
|
|
28
|
+
replace: !1,
|
|
29
|
+
...options
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
replace(href, options) {
|
|
33
|
+
navigate(href.toString(), {
|
|
34
|
+
replace: !0,
|
|
35
|
+
...options
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
dismiss() {
|
|
39
|
+
var count = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1;
|
|
40
|
+
navigate(-count);
|
|
41
|
+
},
|
|
42
|
+
dismissAll() {
|
|
43
|
+
navigate("/");
|
|
44
|
+
},
|
|
45
|
+
canDismiss() {
|
|
46
|
+
return location.pathname !== "/";
|
|
47
|
+
},
|
|
48
|
+
setParams(params) {
|
|
49
|
+
var searchParams = new URLSearchParams(location.search);
|
|
50
|
+
params && Object.entries(params).forEach(function(param) {
|
|
51
|
+
var [key, value] = param;
|
|
52
|
+
value == null ? searchParams.delete(key) : searchParams.set(key, String(value));
|
|
53
|
+
}), navigate(`${location.pathname}?${searchParams.toString()}`);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function usePathname() {
|
|
58
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
59
|
+
if (typeof useOnePathname > "u")
|
|
60
|
+
throw new Error(ROUTER_ERROR);
|
|
61
|
+
return useOnePathname();
|
|
62
|
+
}
|
|
63
|
+
return useLocation().pathname;
|
|
64
|
+
}
|
|
65
|
+
function useParams() {
|
|
66
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
67
|
+
if (typeof useOneParams > "u")
|
|
68
|
+
throw new Error(ROUTER_ERROR);
|
|
69
|
+
return useOneParams();
|
|
70
|
+
}
|
|
71
|
+
return useReactParams();
|
|
72
|
+
}
|
|
73
|
+
function useNavigation(parent) {
|
|
74
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
75
|
+
if (typeof useOneNavigation > "u")
|
|
76
|
+
throw new Error(ROUTER_ERROR);
|
|
77
|
+
return useOneNavigation(parent);
|
|
78
|
+
}
|
|
79
|
+
var navigate = useNavigate(), location = useLocation();
|
|
80
|
+
return {
|
|
81
|
+
navigate(name, params) {
|
|
82
|
+
navigate(name, {
|
|
83
|
+
state: params
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
goBack() {
|
|
87
|
+
navigate(-1);
|
|
88
|
+
},
|
|
89
|
+
setParams(params) {
|
|
90
|
+
navigate(location.pathname, {
|
|
91
|
+
state: {
|
|
92
|
+
...location.state,
|
|
93
|
+
...params
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function useLinkTo(props) {
|
|
100
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
101
|
+
if (typeof useOneLinkTo > "u")
|
|
102
|
+
throw new Error(ROUTER_ERROR);
|
|
103
|
+
return useOneLinkTo(props);
|
|
104
|
+
}
|
|
105
|
+
var navigate = useNavigate();
|
|
106
|
+
return {
|
|
107
|
+
href: props.href.toString(),
|
|
108
|
+
role: "link",
|
|
109
|
+
onPress: function(e) {
|
|
110
|
+
e?.preventDefault && e.preventDefault(), navigate(props.href.toString(), {
|
|
111
|
+
replace: props.replace
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export {
|
|
117
|
+
useLinkTo,
|
|
118
|
+
useNavigation,
|
|
119
|
+
useParams,
|
|
120
|
+
usePathname,
|
|
121
|
+
useRouter
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/workspace/development/packages/router/src/index.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["useLinkTo", "useOneLinkTo", "useNavigation", "useOneNavigation", "useParams", "useOneParams", "usePathname", "useOnePathname", "useRouter", "useOneRouter", "useLocation", "useNavigate", "useReactParams", "ROUTER_ERROR", "Error", "location", "navigate", "oneRouter", "onLoadState", "subscribe", "back", "canGoBack", "window", "history", "length", "push", "href", "options", "toString", "replace", "dismiss", "count", "dismissAll", "canDismiss", "pathname", "setParams", "params", "searchParams", "URLSearchParams", "search", "Object", "entries", "forEach", "key", "value", "delete", "set", "String", "parent", "name", "state", "goBack", "props", "role", "onPress", "e", "preventDefault"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useLinkTo as useOneLinkTo,
|
|
3
|
+
useNavigation as useOneNavigation,
|
|
4
|
+
useParams as useOneParams,
|
|
5
|
+
usePathname as useOnePathname,
|
|
6
|
+
useRouter as useOneRouter
|
|
7
|
+
} from "one";
|
|
8
|
+
import {
|
|
9
|
+
useLocation,
|
|
10
|
+
useNavigate,
|
|
11
|
+
useParams as useReactParams
|
|
12
|
+
} from "react-router-dom";
|
|
13
|
+
const ROUTER_ERROR = "must use one or react-router-dom for router";
|
|
14
|
+
function useRouter() {
|
|
15
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
16
|
+
if (typeof useOneRouter > "u")
|
|
17
|
+
throw new Error(ROUTER_ERROR);
|
|
18
|
+
return useOneRouter();
|
|
19
|
+
}
|
|
20
|
+
const location = useLocation(), navigate = useNavigate(), oneRouter = useOneRouter();
|
|
21
|
+
return {
|
|
22
|
+
onLoadState: oneRouter.onLoadState,
|
|
23
|
+
subscribe: oneRouter.subscribe,
|
|
24
|
+
back() {
|
|
25
|
+
navigate(-1);
|
|
26
|
+
},
|
|
27
|
+
canGoBack() {
|
|
28
|
+
return window.history.length > 1;
|
|
29
|
+
},
|
|
30
|
+
push(href, options) {
|
|
31
|
+
navigate(href.toString(), { replace: !1, ...options });
|
|
32
|
+
},
|
|
33
|
+
navigate(href, options) {
|
|
34
|
+
navigate(href.toString(), { replace: !1, ...options });
|
|
35
|
+
},
|
|
36
|
+
replace(href, options) {
|
|
37
|
+
navigate(href.toString(), { replace: !0, ...options });
|
|
38
|
+
},
|
|
39
|
+
dismiss(count = 1) {
|
|
40
|
+
navigate(-count);
|
|
41
|
+
},
|
|
42
|
+
dismissAll() {
|
|
43
|
+
navigate("/");
|
|
44
|
+
},
|
|
45
|
+
canDismiss() {
|
|
46
|
+
return location.pathname !== "/";
|
|
47
|
+
},
|
|
48
|
+
setParams(params) {
|
|
49
|
+
const searchParams = new URLSearchParams(location.search);
|
|
50
|
+
params && Object.entries(params).forEach(([key, value]) => {
|
|
51
|
+
value == null ? searchParams.delete(key) : searchParams.set(key, String(value));
|
|
52
|
+
}), navigate(`${location.pathname}?${searchParams.toString()}`);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function usePathname() {
|
|
57
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
58
|
+
if (typeof useOnePathname > "u")
|
|
59
|
+
throw new Error(ROUTER_ERROR);
|
|
60
|
+
return useOnePathname();
|
|
61
|
+
}
|
|
62
|
+
return useLocation().pathname;
|
|
63
|
+
}
|
|
64
|
+
function useParams() {
|
|
65
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
66
|
+
if (typeof useOneParams > "u")
|
|
67
|
+
throw new Error(ROUTER_ERROR);
|
|
68
|
+
return useOneParams();
|
|
69
|
+
}
|
|
70
|
+
return useReactParams();
|
|
71
|
+
}
|
|
72
|
+
function useNavigation(parent) {
|
|
73
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
74
|
+
if (typeof useOneNavigation > "u")
|
|
75
|
+
throw new Error(ROUTER_ERROR);
|
|
76
|
+
return useOneNavigation(parent);
|
|
77
|
+
}
|
|
78
|
+
const navigate = useNavigate(), location = useLocation();
|
|
79
|
+
return {
|
|
80
|
+
navigate(name, params) {
|
|
81
|
+
navigate(name, { state: params });
|
|
82
|
+
},
|
|
83
|
+
goBack() {
|
|
84
|
+
navigate(-1);
|
|
85
|
+
},
|
|
86
|
+
setParams(params) {
|
|
87
|
+
navigate(location.pathname, { state: { ...location.state, ...params } });
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function useLinkTo(props) {
|
|
92
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
93
|
+
if (typeof useOneLinkTo > "u")
|
|
94
|
+
throw new Error(ROUTER_ERROR);
|
|
95
|
+
return useOneLinkTo(props);
|
|
96
|
+
}
|
|
97
|
+
const navigate = useNavigate();
|
|
98
|
+
return {
|
|
99
|
+
href: props.href.toString(),
|
|
100
|
+
role: "link",
|
|
101
|
+
onPress: (e) => {
|
|
102
|
+
e?.preventDefault && e.preventDefault(), navigate(props.href.toString(), { replace: props.replace });
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
export {
|
|
107
|
+
useLinkTo,
|
|
108
|
+
useNavigation,
|
|
109
|
+
useParams,
|
|
110
|
+
usePathname,
|
|
111
|
+
useRouter
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/index.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { useLinkTo as useOneLinkTo, useNavigation as useOneNavigation, useParams as useOneParams, usePathname as useOnePathname, useRouter as useOneRouter } from "one";
|
|
2
|
+
import { useLocation, useNavigate, useParams as useReactParams } from "react-router-dom";
|
|
3
|
+
const ROUTER_ERROR = "must use one or react-router-dom for router";
|
|
4
|
+
function useRouter() {
|
|
5
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
6
|
+
if (typeof useOneRouter > "u") throw new Error(ROUTER_ERROR);
|
|
7
|
+
return useOneRouter();
|
|
8
|
+
}
|
|
9
|
+
const location = useLocation(),
|
|
10
|
+
navigate = useNavigate(),
|
|
11
|
+
oneRouter = useOneRouter();
|
|
12
|
+
return {
|
|
13
|
+
onLoadState: oneRouter.onLoadState,
|
|
14
|
+
subscribe: oneRouter.subscribe,
|
|
15
|
+
back() {
|
|
16
|
+
navigate(-1);
|
|
17
|
+
},
|
|
18
|
+
canGoBack() {
|
|
19
|
+
return window.history.length > 1;
|
|
20
|
+
},
|
|
21
|
+
push(href, options) {
|
|
22
|
+
navigate(href.toString(), {
|
|
23
|
+
replace: !1,
|
|
24
|
+
...options
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
navigate(href, options) {
|
|
28
|
+
navigate(href.toString(), {
|
|
29
|
+
replace: !1,
|
|
30
|
+
...options
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
replace(href, options) {
|
|
34
|
+
navigate(href.toString(), {
|
|
35
|
+
replace: !0,
|
|
36
|
+
...options
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
dismiss(count = 1) {
|
|
40
|
+
navigate(-count);
|
|
41
|
+
},
|
|
42
|
+
dismissAll() {
|
|
43
|
+
navigate("/");
|
|
44
|
+
},
|
|
45
|
+
canDismiss() {
|
|
46
|
+
return location.pathname !== "/";
|
|
47
|
+
},
|
|
48
|
+
setParams(params) {
|
|
49
|
+
const searchParams = new URLSearchParams(location.search);
|
|
50
|
+
params && Object.entries(params).forEach(([key, value]) => {
|
|
51
|
+
value == null ? searchParams.delete(key) : searchParams.set(key, String(value));
|
|
52
|
+
}), navigate(`${location.pathname}?${searchParams.toString()}`);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function usePathname() {
|
|
57
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
58
|
+
if (typeof useOnePathname > "u") throw new Error(ROUTER_ERROR);
|
|
59
|
+
return useOnePathname();
|
|
60
|
+
}
|
|
61
|
+
return useLocation().pathname;
|
|
62
|
+
}
|
|
63
|
+
function useParams() {
|
|
64
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
65
|
+
if (typeof useOneParams > "u") throw new Error(ROUTER_ERROR);
|
|
66
|
+
return useOneParams();
|
|
67
|
+
}
|
|
68
|
+
return useReactParams();
|
|
69
|
+
}
|
|
70
|
+
function useNavigation(parent) {
|
|
71
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
72
|
+
if (typeof useOneNavigation > "u") throw new Error(ROUTER_ERROR);
|
|
73
|
+
return useOneNavigation(parent);
|
|
74
|
+
}
|
|
75
|
+
const navigate = useNavigate(),
|
|
76
|
+
location = useLocation();
|
|
77
|
+
return {
|
|
78
|
+
navigate(name, params) {
|
|
79
|
+
navigate(name, {
|
|
80
|
+
state: params
|
|
81
|
+
});
|
|
82
|
+
},
|
|
83
|
+
goBack() {
|
|
84
|
+
navigate(-1);
|
|
85
|
+
},
|
|
86
|
+
setParams(params) {
|
|
87
|
+
navigate(location.pathname, {
|
|
88
|
+
state: {
|
|
89
|
+
...location.state,
|
|
90
|
+
...params
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function useLinkTo(props) {
|
|
97
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
98
|
+
if (typeof useOneLinkTo > "u") throw new Error(ROUTER_ERROR);
|
|
99
|
+
return useOneLinkTo(props);
|
|
100
|
+
}
|
|
101
|
+
const navigate = useNavigate();
|
|
102
|
+
return {
|
|
103
|
+
href: props.href.toString(),
|
|
104
|
+
role: "link",
|
|
105
|
+
onPress: e => {
|
|
106
|
+
e?.preventDefault && e.preventDefault(), navigate(props.href.toString(), {
|
|
107
|
+
replace: props.replace
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export { useLinkTo, useNavigation, useParams, usePathname, useRouter };
|
|
113
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useLinkTo","useOneLinkTo","useNavigation","useOneNavigation","useParams","useOneParams","usePathname","useOnePathname","useRouter","useOneRouter","useLocation","useNavigate","useReactParams","ROUTER_ERROR","Error","location","navigate","oneRouter","onLoadState","subscribe","back","canGoBack","window","history","length","push","href","options","toString","replace","dismiss","count","dismissAll","canDismiss","pathname","setParams","params","searchParams","URLSearchParams","search","Object","entries","forEach","key","value","delete","set","String","parent","name","state","goBack","props","role","onPress","e","preventDefault"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAsBA,SAEEA,SAAA,IAAaC,YAAA,EACbC,aAAA,IAAiBC,gBAAA,EACjBC,SAAA,IAAaC,YAAA,EACbC,WAAA,IAAeC,cAAA,EACfC,SAAA,IAAaC,YAAA,QACR;AAEP,SACEC,WAAA,EACAC,WAAA,EACAP,SAAA,IAAaQ,cAAA,QACR;AAEP,MAAMC,YAAA,GAAe;AAEd,SAASL,UAAA,EAA8B;EAC5C,IACE,OAAOE,WAAA,GAAgB,OACvB,OAAOC,WAAA,GAAgB,KACvB;IACA,IAAI,OAAOF,YAAA,GAAiB,KAC1B,MAAM,IAAIK,KAAA,CAAMD,YAAY;IAE9B,OAAOJ,YAAA,CAAa;EACtB;EACA,MAAMM,QAAA,GAAWL,WAAA,CAAY;IACvBM,QAAA,GAAWL,WAAA,CAAY;IACvBM,SAAA,GAAYR,YAAA,CAAa;EAC/B,OAAO;IACLS,WAAA,EAAaD,SAAA,CAAUC,WAAA;IACvBC,SAAA,EAAWF,SAAA,CAAUE,SAAA;IACrBC,KAAA,EAAO;MACLJ,QAAA,CAAS,EAAE;IACb;IACAK,UAAA,EAAY;MACV,OAAOC,MAAA,CAAOC,OAAA,CAAQC,MAAA,GAAS;IACjC;IACAC,KAAKC,IAAA,EAAsBC,OAAA,EAAmC;MAC5DX,QAAA,CAASU,IAAA,CAAKE,QAAA,CAAS,GAAG;QAAEC,OAAA,EAAS;QAAO,GAAGF;MAAQ,CAAC;IAC1D;IACAX,SAASU,IAAA,EAAsBC,OAAA,EAAmC;MAChEX,QAAA,CAASU,IAAA,CAAKE,QAAA,CAAS,GAAG;QAAEC,OAAA,EAAS;QAAO,GAAGF;MAAQ,CAAC;IAC1D;IACAE,QAAQH,IAAA,EAAsBC,OAAA,EAAmC;MAC/DX,QAAA,CAASU,IAAA,CAAKE,QAAA,CAAS,GAAG;QAAEC,OAAA,EAAS;QAAM,GAAGF;MAAQ,CAAC;IACzD;IACAG,QAAQC,KAAA,GAAQ,GAAG;MACjBf,QAAA,CAAS,CAACe,KAAK;IACjB;IACAC,WAAA,EAAa;MACXhB,QAAA,CAAS,GAAG;IACd;IACAiB,WAAA,EAAa;MACX,OAAOlB,QAAA,CAASmB,QAAA,KAAa;IAC/B;IACAC,UACEC,MAAA,EAGA;MACA,MAAMC,YAAA,GAAe,IAAIC,eAAA,CAAgBvB,QAAA,CAASwB,MAAM;MACpDH,MAAA,IACFI,MAAA,CAAOC,OAAA,CAAQL,MAAM,EAAEM,OAAA,CAAQ,CAAC,CAACC,GAAA,EAAKC,KAAK,MAAM;QACpBA,KAAA,IAAU,OACnCP,YAAA,CAAaQ,MAAA,CAAOF,GAAG,IAEvBN,YAAA,CAAaS,GAAA,CAAIH,GAAA,EAAKI,MAAA,CAAOH,KAAK,CAAC;MAEvC,CAAC,GAEH5B,QAAA,CAAS,GAAGD,QAAA,CAASmB,QAAQ,IAAIG,YAAA,CAAaT,QAAA,CAAS,CAAC,EAAE;IAC5D;EACF;AACF;AAEO,SAAStB,YAAA,EAAsB;EACpC,IACE,OAAOI,WAAA,GAAgB,OACvB,OAAOC,WAAA,GAAgB,KACvB;IACA,IAAI,OAAOJ,cAAA,GAAmB,KAC5B,MAAM,IAAIO,KAAA,CAAMD,YAAY;IAE9B,OAAON,cAAA,CAAe;EACxB;EACA,OAAOG,WAAA,CAAY,EAAEwB,QAAA;AACvB;AAEO,SAAS9B,UAAA,EAGd;EACA,IACE,OAAOM,WAAA,GAAgB,OACvB,OAAOC,WAAA,GAAgB,KACvB;IACA,IAAI,OAAON,YAAA,GAAiB,KAC1B,MAAM,IAAIS,KAAA,CAAMD,YAAY;IAE9B,OAAOR,YAAA,CAAa;EACtB;EACA,OAAOO,cAAA,CAAe;AACxB;AAEO,SAASV,cAEd8C,MAAA,EAAoB;EACpB,IACE,OAAOtC,WAAA,GAAgB,OACvB,OAAOC,WAAA,GAAgB,KACvB;IACA,IAAI,OAAOR,gBAAA,GAAqB,KAC9B,MAAM,IAAIW,KAAA,CAAMD,YAAY;IAE9B,OAAOV,gBAAA,CAAiB6C,MAAM;EAChC;EACA,MAAMhC,QAAA,GAAWL,WAAA,CAAY;IACvBI,QAAA,GAAWL,WAAA,CAAY;EAC7B,OAAO;IACLM,SAASiC,IAAA,EAAcb,MAAA,EAA8B;MACnDpB,QAAA,CAASiC,IAAA,EAAM;QAAEC,KAAA,EAAOd;MAAO,CAAC;IAClC;IACAe,OAAA,EAAS;MACPnC,QAAA,CAAS,EAAE;IACb;IACAmB,UAAUC,MAAA,EAA6B;MACrCpB,QAAA,CAASD,QAAA,CAASmB,QAAA,EAAU;QAAEgB,KAAA,EAAO;UAAE,GAAGnC,QAAA,CAASmC,KAAA;UAAO,GAAGd;QAAO;MAAE,CAAC;IACzE;EACF;AACF;AAEO,SAASpC,UAAUoD,KAAA,EAA4C;EACpE,IACE,OAAO1C,WAAA,GAAgB,OACvB,OAAOC,WAAA,GAAgB,KACvB;IACA,IAAI,OAAOV,YAAA,GAAiB,KAC1B,MAAM,IAAIa,KAAA,CAAMD,YAAY;IAE9B,OAAOZ,YAAA,CAAamD,KAAK;EAC3B;EACA,MAAMpC,QAAA,GAAWL,WAAA,CAAY;EAC7B,OAAO;IACLe,IAAA,EAAM0B,KAAA,CAAM1B,IAAA,CAAKE,QAAA,CAAS;IAC1ByB,IAAA,EAAM;IACNC,OAAA,EACEC,CAAA,IAGG;MACCA,CAAA,EAAGC,cAAA,IACLD,CAAA,CAAEC,cAAA,CAAe,GAEnBxC,QAAA,CAASoC,KAAA,CAAM1B,IAAA,CAAKE,QAAA,CAAS,GAAG;QAAEC,OAAA,EAASuB,KAAA,CAAMvB;MAAQ,CAAC;IAC5D;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { useLinkTo as useOneLinkTo, useNavigation as useOneNavigation, useParams as useOneParams, usePathname as useOnePathname, useRouter as useOneRouter } from "one";
|
|
2
|
+
import { useLocation, useNavigate, useParams as useReactParams } from "react-router-dom";
|
|
3
|
+
var ROUTER_ERROR = "must use one or react-router-dom for router";
|
|
4
|
+
function useRouter() {
|
|
5
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
6
|
+
if (typeof useOneRouter > "u")
|
|
7
|
+
throw new Error(ROUTER_ERROR);
|
|
8
|
+
return useOneRouter();
|
|
9
|
+
}
|
|
10
|
+
var location = useLocation(), navigate = useNavigate(), oneRouter = useOneRouter();
|
|
11
|
+
return {
|
|
12
|
+
onLoadState: oneRouter.onLoadState,
|
|
13
|
+
subscribe: oneRouter.subscribe,
|
|
14
|
+
back() {
|
|
15
|
+
navigate(-1);
|
|
16
|
+
},
|
|
17
|
+
canGoBack() {
|
|
18
|
+
return window.history.length > 1;
|
|
19
|
+
},
|
|
20
|
+
push(href, options) {
|
|
21
|
+
navigate(href.toString(), {
|
|
22
|
+
replace: !1,
|
|
23
|
+
...options
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
navigate(href, options) {
|
|
27
|
+
navigate(href.toString(), {
|
|
28
|
+
replace: !1,
|
|
29
|
+
...options
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
replace(href, options) {
|
|
33
|
+
navigate(href.toString(), {
|
|
34
|
+
replace: !0,
|
|
35
|
+
...options
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
dismiss() {
|
|
39
|
+
var count = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1;
|
|
40
|
+
navigate(-count);
|
|
41
|
+
},
|
|
42
|
+
dismissAll() {
|
|
43
|
+
navigate("/");
|
|
44
|
+
},
|
|
45
|
+
canDismiss() {
|
|
46
|
+
return location.pathname !== "/";
|
|
47
|
+
},
|
|
48
|
+
setParams(params) {
|
|
49
|
+
var searchParams = new URLSearchParams(location.search);
|
|
50
|
+
params && Object.entries(params).forEach(function(param) {
|
|
51
|
+
var [key, value] = param;
|
|
52
|
+
value == null ? searchParams.delete(key) : searchParams.set(key, String(value));
|
|
53
|
+
}), navigate(`${location.pathname}?${searchParams.toString()}`);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function usePathname() {
|
|
58
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
59
|
+
if (typeof useOnePathname > "u")
|
|
60
|
+
throw new Error(ROUTER_ERROR);
|
|
61
|
+
return useOnePathname();
|
|
62
|
+
}
|
|
63
|
+
return useLocation().pathname;
|
|
64
|
+
}
|
|
65
|
+
function useParams() {
|
|
66
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
67
|
+
if (typeof useOneParams > "u")
|
|
68
|
+
throw new Error(ROUTER_ERROR);
|
|
69
|
+
return useOneParams();
|
|
70
|
+
}
|
|
71
|
+
return useReactParams();
|
|
72
|
+
}
|
|
73
|
+
function useNavigation(parent) {
|
|
74
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
75
|
+
if (typeof useOneNavigation > "u")
|
|
76
|
+
throw new Error(ROUTER_ERROR);
|
|
77
|
+
return useOneNavigation(parent);
|
|
78
|
+
}
|
|
79
|
+
var navigate = useNavigate(), location = useLocation();
|
|
80
|
+
return {
|
|
81
|
+
navigate(name, params) {
|
|
82
|
+
navigate(name, {
|
|
83
|
+
state: params
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
goBack() {
|
|
87
|
+
navigate(-1);
|
|
88
|
+
},
|
|
89
|
+
setParams(params) {
|
|
90
|
+
navigate(location.pathname, {
|
|
91
|
+
state: {
|
|
92
|
+
...location.state,
|
|
93
|
+
...params
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function useLinkTo(props) {
|
|
100
|
+
if (typeof useLocation > "u" || typeof useNavigate > "u") {
|
|
101
|
+
if (typeof useOneLinkTo > "u")
|
|
102
|
+
throw new Error(ROUTER_ERROR);
|
|
103
|
+
return useOneLinkTo(props);
|
|
104
|
+
}
|
|
105
|
+
var navigate = useNavigate();
|
|
106
|
+
return {
|
|
107
|
+
href: props.href.toString(),
|
|
108
|
+
role: "link",
|
|
109
|
+
onPress: function(e) {
|
|
110
|
+
e != null && e.preventDefault && e.preventDefault(), navigate(props.href.toString(), {
|
|
111
|
+
replace: props.replace
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export {
|
|
117
|
+
useLinkTo,
|
|
118
|
+
useNavigation,
|
|
119
|
+
useParams,
|
|
120
|
+
usePathname,
|
|
121
|
+
useRouter
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/workspace/development/packages/router/src/index.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["useLinkTo", "useOneLinkTo", "useNavigation", "useOneNavigation", "useParams", "useOneParams", "usePathname", "useOnePathname", "useRouter", "useOneRouter", "useLocation", "useNavigate", "useReactParams", "ROUTER_ERROR", "Error", "location", "navigate", "oneRouter", "onLoadState", "subscribe", "back", "canGoBack", "window", "history", "length", "push", "href", "options", "toString", "replace", "dismiss", "count", "dismissAll", "canDismiss", "pathname", "setParams", "params", "searchParams", "URLSearchParams", "search", "Object", "entries", "forEach", "key", "value", "delete", "set", "String", "parent", "name", "state", "goBack", "props", "role", "onPress", "e", "preventDefault"]
|
|
6
|
+
}
|