reactive-route 0.0.1-alpha.4 → 0.0.1-alpha.6
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/dist/cjs/adapters/kr-observable/index.js +42 -0
- package/dist/cjs/adapters/kr-observable/package.json +1 -0
- package/dist/cjs/adapters/mobx/index.js +44 -0
- package/dist/cjs/adapters/mobx/package.json +1 -0
- package/dist/cjs/adapters/solid/index.js +48 -0
- package/dist/cjs/adapters/solid/package.json +1 -0
- package/dist/cjs/index.js +11 -19
- package/dist/cjs/react/index.js +17 -14
- package/dist/cjs/solid/index.js +8 -9
- package/dist/esm/adapters/kr-observable/index.js +21 -0
- package/dist/esm/adapters/kr-observable/package.json +1 -0
- package/dist/esm/adapters/mobx/index.js +23 -0
- package/dist/esm/adapters/mobx/package.json +1 -0
- package/dist/esm/adapters/solid/index.js +27 -0
- package/dist/esm/adapters/solid/package.json +1 -0
- package/dist/esm/index.js +11 -19
- package/dist/esm/react/index.js +17 -14
- package/dist/esm/solid/index.js +8 -9
- package/dist/types/adapters/kr-observable.d.ts +3 -0
- package/dist/types/adapters/kr-observable.d.ts.map +1 -0
- package/dist/types/adapters/mobx.d.ts +3 -0
- package/dist/types/adapters/mobx.d.ts.map +1 -0
- package/dist/types/adapters/solid.d.ts +3 -0
- package/dist/types/adapters/solid.d.ts.map +1 -0
- package/dist/types/core/createRouterStore.d.ts +1 -1
- package/dist/types/core/createRouterStore.d.ts.map +1 -1
- package/dist/types/core/index.d.ts +1 -1
- package/dist/types/core/index.d.ts.map +1 -1
- package/dist/types/core/types/InterfaceRouterStore.d.ts +6 -4
- package/dist/types/core/types/InterfaceRouterStore.d.ts.map +1 -1
- package/dist/types/react/Router.d.ts +1 -3
- package/dist/types/react/Router.d.ts.map +1 -1
- package/dist/types/solid/Router.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +23 -2
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// packages/adapters/kr-observable.ts
|
|
21
|
+
var kr_observable_exports = {};
|
|
22
|
+
__export(kr_observable_exports, {
|
|
23
|
+
adapters: () => adapters
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(kr_observable_exports);
|
|
26
|
+
var import_kr_observable = require("kr-observable");
|
|
27
|
+
var import_react = require("kr-observable/react");
|
|
28
|
+
var adapters = {
|
|
29
|
+
batch: (cb) => cb(),
|
|
30
|
+
autorun: import_kr_observable.autorun,
|
|
31
|
+
replaceObject: (obj, newObj) => {
|
|
32
|
+
for (const variableKey in obj) {
|
|
33
|
+
if (obj.hasOwnProperty(variableKey)) {
|
|
34
|
+
delete obj[variableKey];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
Object.assign(obj, newObj);
|
|
38
|
+
},
|
|
39
|
+
makeObservable: import_kr_observable.makeObservable,
|
|
40
|
+
makeAutoObservable: import_kr_observable.makeObservable,
|
|
41
|
+
observer: import_react.observer
|
|
42
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "commonjs"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// packages/adapters/mobx.ts
|
|
21
|
+
var mobx_exports = {};
|
|
22
|
+
__export(mobx_exports, {
|
|
23
|
+
adapters: () => adapters
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(mobx_exports);
|
|
26
|
+
var import_mobx = require("mobx");
|
|
27
|
+
var import_mobx_react_lite = require("mobx-react-lite");
|
|
28
|
+
var adapters = {
|
|
29
|
+
batch: import_mobx.runInAction,
|
|
30
|
+
autorun: import_mobx.autorun,
|
|
31
|
+
observer: import_mobx_react_lite.observer,
|
|
32
|
+
replaceObject: (obj, newObj) => {
|
|
33
|
+
(0, import_mobx.runInAction)(() => {
|
|
34
|
+
for (const variableKey in obj) {
|
|
35
|
+
if (obj.hasOwnProperty(variableKey)) {
|
|
36
|
+
delete obj[variableKey];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
Object.assign(obj, newObj);
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
makeObservable: import_mobx.observable,
|
|
43
|
+
makeAutoObservable: import_mobx.makeAutoObservable
|
|
44
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "commonjs"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// packages/adapters/solid.ts
|
|
21
|
+
var solid_exports = {};
|
|
22
|
+
__export(solid_exports, {
|
|
23
|
+
adapters: () => adapters
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(solid_exports);
|
|
26
|
+
var import_solid_js = require("solid-js");
|
|
27
|
+
var import_store = require("solid-js/store");
|
|
28
|
+
var adapters = {
|
|
29
|
+
batch: import_solid_js.batch,
|
|
30
|
+
autorun: import_solid_js.createRenderEffect,
|
|
31
|
+
replaceObject: (obj, newObj) => {
|
|
32
|
+
(0, import_store.modifyMutable)(
|
|
33
|
+
obj,
|
|
34
|
+
(0, import_store.produce)((state) => {
|
|
35
|
+
if (typeof state === "object" && state != null) {
|
|
36
|
+
for (const variableKey in state) {
|
|
37
|
+
if (state.hasOwnProperty(variableKey)) {
|
|
38
|
+
delete state[variableKey];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
Object.assign(state || {}, newObj);
|
|
43
|
+
})
|
|
44
|
+
);
|
|
45
|
+
},
|
|
46
|
+
makeObservable: import_store.createMutable,
|
|
47
|
+
makeAutoObservable: import_store.createMutable
|
|
48
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "commonjs"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -191,30 +191,22 @@ function replaceDynamicValues({
|
|
|
191
191
|
|
|
192
192
|
// packages/core/createRouterStore.ts
|
|
193
193
|
function createRouterStore({
|
|
194
|
-
|
|
194
|
+
adapters,
|
|
195
195
|
routes,
|
|
196
|
-
autorun,
|
|
197
|
-
replaceObject,
|
|
198
196
|
routeError500,
|
|
199
|
-
makeObservable,
|
|
200
197
|
lifecycleParams
|
|
201
198
|
}) {
|
|
202
|
-
const routerStore = makeObservable({
|
|
199
|
+
const routerStore = adapters.makeObservable({
|
|
203
200
|
routesHistory: [],
|
|
204
201
|
currentRoute: {},
|
|
205
202
|
isRedirecting: false,
|
|
206
203
|
redirectTo: void 0,
|
|
207
204
|
restoreFromURL: void 0,
|
|
208
205
|
restoreFromServer: void 0,
|
|
209
|
-
|
|
210
|
-
batch,
|
|
211
|
-
autorun,
|
|
212
|
-
replaceObject,
|
|
213
|
-
makeObservable
|
|
214
|
-
}
|
|
206
|
+
adapters
|
|
215
207
|
});
|
|
216
208
|
routerStore.restoreFromServer = function restoreFromServer(obj) {
|
|
217
|
-
batch(() => {
|
|
209
|
+
adapters.batch(() => {
|
|
218
210
|
routerStore.routesHistory.push(...obj.routesHistory || []);
|
|
219
211
|
Object.assign(routerStore.currentRoute, obj.currentRoute);
|
|
220
212
|
});
|
|
@@ -269,8 +261,8 @@ function createRouterStore({
|
|
|
269
261
|
if (currentUrl === nextUrl) return Promise.resolve();
|
|
270
262
|
if (currentPathname === nextPathname) {
|
|
271
263
|
if (currentSearch !== nextSearch) {
|
|
272
|
-
batch(() => {
|
|
273
|
-
replaceObject(routerStore.currentRoute.query, nextQuery || {});
|
|
264
|
+
adapters.batch(() => {
|
|
265
|
+
adapters.replaceObject(routerStore.currentRoute.query, nextQuery || {});
|
|
274
266
|
routerStore.routesHistory.push(nextUrl);
|
|
275
267
|
});
|
|
276
268
|
if (history && !noHistoryPush) {
|
|
@@ -283,7 +275,7 @@ function createRouterStore({
|
|
|
283
275
|
}
|
|
284
276
|
return Promise.resolve();
|
|
285
277
|
}
|
|
286
|
-
batch(() => {
|
|
278
|
+
adapters.batch(() => {
|
|
287
279
|
routerStore.isRedirecting = true;
|
|
288
280
|
});
|
|
289
281
|
try {
|
|
@@ -344,8 +336,8 @@ function createRouterStore({
|
|
|
344
336
|
}
|
|
345
337
|
console.error(error);
|
|
346
338
|
await loadComponentToConfig({ route: routeError500 });
|
|
347
|
-
batch(() => {
|
|
348
|
-
replaceObject(routerStore.currentRoute, {
|
|
339
|
+
adapters.batch(() => {
|
|
340
|
+
adapters.replaceObject(routerStore.currentRoute, {
|
|
349
341
|
name: routeError500.name,
|
|
350
342
|
path: routeError500.path,
|
|
351
343
|
props: routes[routeError500.name].props,
|
|
@@ -357,8 +349,8 @@ function createRouterStore({
|
|
|
357
349
|
});
|
|
358
350
|
return Promise.resolve();
|
|
359
351
|
}
|
|
360
|
-
batch(() => {
|
|
361
|
-
replaceObject(routerStore.currentRoute, {
|
|
352
|
+
adapters.batch(() => {
|
|
353
|
+
adapters.replaceObject(routerStore.currentRoute, {
|
|
362
354
|
name: nextRoute.name,
|
|
363
355
|
path: nextRoute.path,
|
|
364
356
|
props: routes[nextRoute.name].props,
|
package/dist/cjs/react/index.js
CHANGED
|
@@ -25,8 +25,7 @@ __export(react_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(react_exports);
|
|
26
26
|
|
|
27
27
|
// packages/react/Router.tsx
|
|
28
|
-
var
|
|
29
|
-
var import_mobx_react_lite = require("mobx-react-lite");
|
|
28
|
+
var import_react2 = require("react");
|
|
30
29
|
var import_reactive_route = require("reactive-route");
|
|
31
30
|
|
|
32
31
|
// packages/react/useStore.ts
|
|
@@ -64,7 +63,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
64
63
|
var VM = class {
|
|
65
64
|
constructor(props) {
|
|
66
65
|
this.props = props;
|
|
67
|
-
|
|
66
|
+
return this.adapters.makeAutoObservable(
|
|
68
67
|
this,
|
|
69
68
|
{ loadedComponent: false, setLoadedComponent: false, props: false },
|
|
70
69
|
{ autoBind: true }
|
|
@@ -75,14 +74,14 @@ var VM = class {
|
|
|
75
74
|
loadedComponentPage = void 0;
|
|
76
75
|
loadedComponent;
|
|
77
76
|
currentProps = {};
|
|
78
|
-
get
|
|
79
|
-
return this.props.routerStore.
|
|
77
|
+
get adapters() {
|
|
78
|
+
return this.props.routerStore.adapters;
|
|
80
79
|
}
|
|
81
80
|
beforeMount() {
|
|
82
81
|
this.props.beforeMount?.();
|
|
83
82
|
this.redirectOnHistoryPop();
|
|
84
83
|
this.setLoadedComponent();
|
|
85
|
-
this.autorunDisposers.push(this.
|
|
84
|
+
this.autorunDisposers.push(this.adapters.autorun(this.setLoadedComponent));
|
|
86
85
|
}
|
|
87
86
|
redirectOnHistoryPop() {
|
|
88
87
|
if (!import_reactive_route.history) return;
|
|
@@ -90,7 +89,7 @@ var VM = class {
|
|
|
90
89
|
if (params.action !== "POP") return;
|
|
91
90
|
const previousRoutePathname = this.props.routerStore.routesHistory[this.props.routerStore.routesHistory.length - 2];
|
|
92
91
|
if (previousRoutePathname === params.location.pathname) {
|
|
93
|
-
this.
|
|
92
|
+
this.adapters.batch(() => this.props.routerStore.routesHistory.pop());
|
|
94
93
|
}
|
|
95
94
|
void this.props.routerStore.redirectTo({
|
|
96
95
|
noHistoryPush: true,
|
|
@@ -113,14 +112,14 @@ var VM = class {
|
|
|
113
112
|
else if (loadedComponentPage != null && currentRouteName != null) {
|
|
114
113
|
if (loadedComponentPage === currentRoutePage) {
|
|
115
114
|
const componentConfig = this.props.routes[currentRouteName];
|
|
116
|
-
this.
|
|
115
|
+
this.adapters.batch(() => {
|
|
117
116
|
this.currentProps = "props" in componentConfig ? componentConfig.props || {} : {};
|
|
118
117
|
});
|
|
119
118
|
preventRedirect = true;
|
|
120
119
|
}
|
|
121
120
|
}
|
|
122
121
|
if (preventRedirect) return;
|
|
123
|
-
this.
|
|
122
|
+
this.adapters.batch(() => {
|
|
124
123
|
if (!loadedComponentName) {
|
|
125
124
|
this.setComponent(currentRouteName);
|
|
126
125
|
} else {
|
|
@@ -139,11 +138,15 @@ var VM = class {
|
|
|
139
138
|
this.loadedComponent = RouteComponent;
|
|
140
139
|
}
|
|
141
140
|
};
|
|
142
|
-
|
|
141
|
+
function RouterInner(props) {
|
|
142
|
+
const vm = useStore(VM, props);
|
|
143
|
+
const LoadedComponent = vm.loadedComponentName ? vm.loadedComponent : null;
|
|
144
|
+
if (LoadedComponent) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LoadedComponent, { ...vm.currentProps });
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
var Router = (0, import_react2.memo)(
|
|
143
148
|
(props) => {
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
if (LoadedComponent) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LoadedComponent, { ...vm.currentProps });
|
|
147
|
-
return null;
|
|
149
|
+
const Component = props.routerStore.adapters.observer ? props.routerStore.adapters.observer(RouterInner) : RouterInner;
|
|
150
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, { ...props });
|
|
148
151
|
}
|
|
149
152
|
);
|
package/dist/cjs/solid/index.js
CHANGED
|
@@ -29,7 +29,6 @@ var import_web = require("solid-js/web");
|
|
|
29
29
|
var import_web2 = require("solid-js/web");
|
|
30
30
|
var import_reactive_route = require("reactive-route");
|
|
31
31
|
var import_solid_js2 = require("solid-js");
|
|
32
|
-
var import_store = require("solid-js/store");
|
|
33
32
|
var import_web3 = require("solid-js/web");
|
|
34
33
|
|
|
35
34
|
// packages/solid/useStore.ts
|
|
@@ -47,18 +46,18 @@ function useStore(ViewModel, props) {
|
|
|
47
46
|
var VM = class {
|
|
48
47
|
constructor(props) {
|
|
49
48
|
this.props = props;
|
|
50
|
-
return
|
|
49
|
+
return this.adapters.makeAutoObservable(this);
|
|
51
50
|
}
|
|
52
51
|
loadedComponentName = void 0;
|
|
53
52
|
loadedComponentPage = void 0;
|
|
54
53
|
currentProps = {};
|
|
55
|
-
get
|
|
56
|
-
return this.props.routerStore.
|
|
54
|
+
get adapters() {
|
|
55
|
+
return this.props.routerStore.adapters;
|
|
57
56
|
}
|
|
58
57
|
beforeMount() {
|
|
59
58
|
this.props.beforeMount?.();
|
|
60
59
|
this.redirectOnHistoryPop();
|
|
61
|
-
this.
|
|
60
|
+
this.adapters.autorun(() => this.setLoadedComponent());
|
|
62
61
|
}
|
|
63
62
|
redirectOnHistoryPop() {
|
|
64
63
|
if (!import_reactive_route.history) return;
|
|
@@ -88,12 +87,12 @@ var VM = class {
|
|
|
88
87
|
} else if (this.loadedComponentPage != null && currentRouteName != null) {
|
|
89
88
|
if (this.loadedComponentPage === currentRoutePage) {
|
|
90
89
|
const componentConfig = this.props.routes[currentRouteName];
|
|
91
|
-
this.
|
|
90
|
+
this.adapters.replaceObject(this.currentProps, "props" in componentConfig ? componentConfig.props : {});
|
|
92
91
|
preventRedirect = true;
|
|
93
92
|
}
|
|
94
93
|
}
|
|
95
94
|
if (preventRedirect) return;
|
|
96
|
-
this.
|
|
95
|
+
this.adapters.batch(() => {
|
|
97
96
|
if (!this.loadedComponentName) {
|
|
98
97
|
this.setComponent();
|
|
99
98
|
} else {
|
|
@@ -106,8 +105,8 @@ var VM = class {
|
|
|
106
105
|
const currentRouteName = this.props.routerStore.currentRoute.name;
|
|
107
106
|
const componentConfig = this.props.routes[currentRouteName];
|
|
108
107
|
this.props.beforeSetPageComponent?.(componentConfig);
|
|
109
|
-
this.
|
|
110
|
-
this.
|
|
108
|
+
this.adapters.batch(() => {
|
|
109
|
+
this.adapters.replaceObject(this.currentProps, "props" in componentConfig ? componentConfig.props : {});
|
|
111
110
|
this.loadedComponentName = currentRouteName;
|
|
112
111
|
this.loadedComponentPage = componentConfig.pageName;
|
|
113
112
|
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// packages/adapters/kr-observable.ts
|
|
2
|
+
import { autorun, makeObservable } from "kr-observable";
|
|
3
|
+
import { observer } from "kr-observable/react";
|
|
4
|
+
var adapters = {
|
|
5
|
+
batch: (cb) => cb(),
|
|
6
|
+
autorun,
|
|
7
|
+
replaceObject: (obj, newObj) => {
|
|
8
|
+
for (const variableKey in obj) {
|
|
9
|
+
if (obj.hasOwnProperty(variableKey)) {
|
|
10
|
+
delete obj[variableKey];
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
Object.assign(obj, newObj);
|
|
14
|
+
},
|
|
15
|
+
makeObservable,
|
|
16
|
+
makeAutoObservable: makeObservable,
|
|
17
|
+
observer
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
adapters
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "module"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// packages/adapters/mobx.ts
|
|
2
|
+
import { autorun, makeAutoObservable, observable, runInAction } from "mobx";
|
|
3
|
+
import { observer } from "mobx-react-lite";
|
|
4
|
+
var adapters = {
|
|
5
|
+
batch: runInAction,
|
|
6
|
+
autorun,
|
|
7
|
+
observer,
|
|
8
|
+
replaceObject: (obj, newObj) => {
|
|
9
|
+
runInAction(() => {
|
|
10
|
+
for (const variableKey in obj) {
|
|
11
|
+
if (obj.hasOwnProperty(variableKey)) {
|
|
12
|
+
delete obj[variableKey];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
Object.assign(obj, newObj);
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
makeObservable: observable,
|
|
19
|
+
makeAutoObservable
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
adapters
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "module"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// packages/adapters/solid.ts
|
|
2
|
+
import { batch, createRenderEffect } from "solid-js";
|
|
3
|
+
import { createMutable, modifyMutable, produce } from "solid-js/store";
|
|
4
|
+
var adapters = {
|
|
5
|
+
batch,
|
|
6
|
+
autorun: createRenderEffect,
|
|
7
|
+
replaceObject: (obj, newObj) => {
|
|
8
|
+
modifyMutable(
|
|
9
|
+
obj,
|
|
10
|
+
produce((state) => {
|
|
11
|
+
if (typeof state === "object" && state != null) {
|
|
12
|
+
for (const variableKey in state) {
|
|
13
|
+
if (state.hasOwnProperty(variableKey)) {
|
|
14
|
+
delete state[variableKey];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
Object.assign(state || {}, newObj);
|
|
19
|
+
})
|
|
20
|
+
);
|
|
21
|
+
},
|
|
22
|
+
makeObservable: createMutable,
|
|
23
|
+
makeAutoObservable: createMutable
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
adapters
|
|
27
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "module"}
|
package/dist/esm/index.js
CHANGED
|
@@ -148,30 +148,22 @@ function replaceDynamicValues({
|
|
|
148
148
|
|
|
149
149
|
// packages/core/createRouterStore.ts
|
|
150
150
|
function createRouterStore({
|
|
151
|
-
|
|
151
|
+
adapters,
|
|
152
152
|
routes,
|
|
153
|
-
autorun,
|
|
154
|
-
replaceObject,
|
|
155
153
|
routeError500,
|
|
156
|
-
makeObservable,
|
|
157
154
|
lifecycleParams
|
|
158
155
|
}) {
|
|
159
|
-
const routerStore = makeObservable({
|
|
156
|
+
const routerStore = adapters.makeObservable({
|
|
160
157
|
routesHistory: [],
|
|
161
158
|
currentRoute: {},
|
|
162
159
|
isRedirecting: false,
|
|
163
160
|
redirectTo: void 0,
|
|
164
161
|
restoreFromURL: void 0,
|
|
165
162
|
restoreFromServer: void 0,
|
|
166
|
-
|
|
167
|
-
batch,
|
|
168
|
-
autorun,
|
|
169
|
-
replaceObject,
|
|
170
|
-
makeObservable
|
|
171
|
-
}
|
|
163
|
+
adapters
|
|
172
164
|
});
|
|
173
165
|
routerStore.restoreFromServer = function restoreFromServer(obj) {
|
|
174
|
-
batch(() => {
|
|
166
|
+
adapters.batch(() => {
|
|
175
167
|
routerStore.routesHistory.push(...obj.routesHistory || []);
|
|
176
168
|
Object.assign(routerStore.currentRoute, obj.currentRoute);
|
|
177
169
|
});
|
|
@@ -226,8 +218,8 @@ function createRouterStore({
|
|
|
226
218
|
if (currentUrl === nextUrl) return Promise.resolve();
|
|
227
219
|
if (currentPathname === nextPathname) {
|
|
228
220
|
if (currentSearch !== nextSearch) {
|
|
229
|
-
batch(() => {
|
|
230
|
-
replaceObject(routerStore.currentRoute.query, nextQuery || {});
|
|
221
|
+
adapters.batch(() => {
|
|
222
|
+
adapters.replaceObject(routerStore.currentRoute.query, nextQuery || {});
|
|
231
223
|
routerStore.routesHistory.push(nextUrl);
|
|
232
224
|
});
|
|
233
225
|
if (history && !noHistoryPush) {
|
|
@@ -240,7 +232,7 @@ function createRouterStore({
|
|
|
240
232
|
}
|
|
241
233
|
return Promise.resolve();
|
|
242
234
|
}
|
|
243
|
-
batch(() => {
|
|
235
|
+
adapters.batch(() => {
|
|
244
236
|
routerStore.isRedirecting = true;
|
|
245
237
|
});
|
|
246
238
|
try {
|
|
@@ -301,8 +293,8 @@ function createRouterStore({
|
|
|
301
293
|
}
|
|
302
294
|
console.error(error);
|
|
303
295
|
await loadComponentToConfig({ route: routeError500 });
|
|
304
|
-
batch(() => {
|
|
305
|
-
replaceObject(routerStore.currentRoute, {
|
|
296
|
+
adapters.batch(() => {
|
|
297
|
+
adapters.replaceObject(routerStore.currentRoute, {
|
|
306
298
|
name: routeError500.name,
|
|
307
299
|
path: routeError500.path,
|
|
308
300
|
props: routes[routeError500.name].props,
|
|
@@ -314,8 +306,8 @@ function createRouterStore({
|
|
|
314
306
|
});
|
|
315
307
|
return Promise.resolve();
|
|
316
308
|
}
|
|
317
|
-
batch(() => {
|
|
318
|
-
replaceObject(routerStore.currentRoute, {
|
|
309
|
+
adapters.batch(() => {
|
|
310
|
+
adapters.replaceObject(routerStore.currentRoute, {
|
|
319
311
|
name: nextRoute.name,
|
|
320
312
|
path: nextRoute.path,
|
|
321
313
|
props: routes[nextRoute.name].props,
|
package/dist/esm/react/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// packages/react/Router.tsx
|
|
2
|
-
import {
|
|
3
|
-
import { observer } from "mobx-react-lite";
|
|
2
|
+
import { memo } from "react";
|
|
4
3
|
import { getInitialRoute, history } from "reactive-route";
|
|
5
4
|
|
|
6
5
|
// packages/react/useStore.ts
|
|
@@ -38,7 +37,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
38
37
|
var VM = class {
|
|
39
38
|
constructor(props) {
|
|
40
39
|
this.props = props;
|
|
41
|
-
makeAutoObservable(
|
|
40
|
+
return this.adapters.makeAutoObservable(
|
|
42
41
|
this,
|
|
43
42
|
{ loadedComponent: false, setLoadedComponent: false, props: false },
|
|
44
43
|
{ autoBind: true }
|
|
@@ -49,14 +48,14 @@ var VM = class {
|
|
|
49
48
|
loadedComponentPage = void 0;
|
|
50
49
|
loadedComponent;
|
|
51
50
|
currentProps = {};
|
|
52
|
-
get
|
|
53
|
-
return this.props.routerStore.
|
|
51
|
+
get adapters() {
|
|
52
|
+
return this.props.routerStore.adapters;
|
|
54
53
|
}
|
|
55
54
|
beforeMount() {
|
|
56
55
|
this.props.beforeMount?.();
|
|
57
56
|
this.redirectOnHistoryPop();
|
|
58
57
|
this.setLoadedComponent();
|
|
59
|
-
this.autorunDisposers.push(this.
|
|
58
|
+
this.autorunDisposers.push(this.adapters.autorun(this.setLoadedComponent));
|
|
60
59
|
}
|
|
61
60
|
redirectOnHistoryPop() {
|
|
62
61
|
if (!history) return;
|
|
@@ -64,7 +63,7 @@ var VM = class {
|
|
|
64
63
|
if (params.action !== "POP") return;
|
|
65
64
|
const previousRoutePathname = this.props.routerStore.routesHistory[this.props.routerStore.routesHistory.length - 2];
|
|
66
65
|
if (previousRoutePathname === params.location.pathname) {
|
|
67
|
-
this.
|
|
66
|
+
this.adapters.batch(() => this.props.routerStore.routesHistory.pop());
|
|
68
67
|
}
|
|
69
68
|
void this.props.routerStore.redirectTo({
|
|
70
69
|
noHistoryPush: true,
|
|
@@ -87,14 +86,14 @@ var VM = class {
|
|
|
87
86
|
else if (loadedComponentPage != null && currentRouteName != null) {
|
|
88
87
|
if (loadedComponentPage === currentRoutePage) {
|
|
89
88
|
const componentConfig = this.props.routes[currentRouteName];
|
|
90
|
-
this.
|
|
89
|
+
this.adapters.batch(() => {
|
|
91
90
|
this.currentProps = "props" in componentConfig ? componentConfig.props || {} : {};
|
|
92
91
|
});
|
|
93
92
|
preventRedirect = true;
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
95
|
if (preventRedirect) return;
|
|
97
|
-
this.
|
|
96
|
+
this.adapters.batch(() => {
|
|
98
97
|
if (!loadedComponentName) {
|
|
99
98
|
this.setComponent(currentRouteName);
|
|
100
99
|
} else {
|
|
@@ -113,12 +112,16 @@ var VM = class {
|
|
|
113
112
|
this.loadedComponent = RouteComponent;
|
|
114
113
|
}
|
|
115
114
|
};
|
|
116
|
-
|
|
115
|
+
function RouterInner(props) {
|
|
116
|
+
const vm = useStore(VM, props);
|
|
117
|
+
const LoadedComponent = vm.loadedComponentName ? vm.loadedComponent : null;
|
|
118
|
+
if (LoadedComponent) return /* @__PURE__ */ jsx(LoadedComponent, { ...vm.currentProps });
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
var Router = memo(
|
|
117
122
|
(props) => {
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
if (LoadedComponent) return /* @__PURE__ */ jsx(LoadedComponent, { ...vm.currentProps });
|
|
121
|
-
return null;
|
|
123
|
+
const Component = props.routerStore.adapters.observer ? props.routerStore.adapters.observer(RouterInner) : RouterInner;
|
|
124
|
+
return /* @__PURE__ */ jsx(Component, { ...props });
|
|
122
125
|
}
|
|
123
126
|
);
|
|
124
127
|
export {
|
package/dist/esm/solid/index.js
CHANGED
|
@@ -3,7 +3,6 @@ import { createComponent as _$createComponent } from "solid-js/web";
|
|
|
3
3
|
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
4
4
|
import { getInitialRoute, history } from "reactive-route";
|
|
5
5
|
import { Show } from "solid-js";
|
|
6
|
-
import { createMutable } from "solid-js/store";
|
|
7
6
|
import { Dynamic } from "solid-js/web";
|
|
8
7
|
|
|
9
8
|
// packages/solid/useStore.ts
|
|
@@ -21,18 +20,18 @@ function useStore(ViewModel, props) {
|
|
|
21
20
|
var VM = class {
|
|
22
21
|
constructor(props) {
|
|
23
22
|
this.props = props;
|
|
24
|
-
return
|
|
23
|
+
return this.adapters.makeAutoObservable(this);
|
|
25
24
|
}
|
|
26
25
|
loadedComponentName = void 0;
|
|
27
26
|
loadedComponentPage = void 0;
|
|
28
27
|
currentProps = {};
|
|
29
|
-
get
|
|
30
|
-
return this.props.routerStore.
|
|
28
|
+
get adapters() {
|
|
29
|
+
return this.props.routerStore.adapters;
|
|
31
30
|
}
|
|
32
31
|
beforeMount() {
|
|
33
32
|
this.props.beforeMount?.();
|
|
34
33
|
this.redirectOnHistoryPop();
|
|
35
|
-
this.
|
|
34
|
+
this.adapters.autorun(() => this.setLoadedComponent());
|
|
36
35
|
}
|
|
37
36
|
redirectOnHistoryPop() {
|
|
38
37
|
if (!history) return;
|
|
@@ -62,12 +61,12 @@ var VM = class {
|
|
|
62
61
|
} else if (this.loadedComponentPage != null && currentRouteName != null) {
|
|
63
62
|
if (this.loadedComponentPage === currentRoutePage) {
|
|
64
63
|
const componentConfig = this.props.routes[currentRouteName];
|
|
65
|
-
this.
|
|
64
|
+
this.adapters.replaceObject(this.currentProps, "props" in componentConfig ? componentConfig.props : {});
|
|
66
65
|
preventRedirect = true;
|
|
67
66
|
}
|
|
68
67
|
}
|
|
69
68
|
if (preventRedirect) return;
|
|
70
|
-
this.
|
|
69
|
+
this.adapters.batch(() => {
|
|
71
70
|
if (!this.loadedComponentName) {
|
|
72
71
|
this.setComponent();
|
|
73
72
|
} else {
|
|
@@ -80,8 +79,8 @@ var VM = class {
|
|
|
80
79
|
const currentRouteName = this.props.routerStore.currentRoute.name;
|
|
81
80
|
const componentConfig = this.props.routes[currentRouteName];
|
|
82
81
|
this.props.beforeSetPageComponent?.(componentConfig);
|
|
83
|
-
this.
|
|
84
|
-
this.
|
|
82
|
+
this.adapters.batch(() => {
|
|
83
|
+
this.adapters.replaceObject(this.currentProps, "props" in componentConfig ? componentConfig.props : {});
|
|
85
84
|
this.loadedComponentName = currentRouteName;
|
|
86
85
|
this.loadedComponentPage = componentConfig.pageName;
|
|
87
86
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kr-observable.d.ts","sourceRoot":"","sources":["../../../packages/adapters/kr-observable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,YActB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobx.d.ts","sourceRoot":"","sources":["../../../packages/adapters/mobx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,YAgBtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solid.d.ts","sourceRoot":"","sources":["../../../packages/adapters/solid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,eAAO,MAAM,QAAQ,EAAE,YAqBtB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { InterfaceRouterStore, TypeCreateRouterStore } from './types/InterfaceRouterStore';
|
|
2
2
|
import { TypeRoute } from './types/TypeRoute';
|
|
3
|
-
export declare function createRouterStore<TRoutes extends Record<string, TypeRoute>>({
|
|
3
|
+
export declare function createRouterStore<TRoutes extends Record<string, TypeRoute>>({ adapters, routes, routeError500, lifecycleParams, }: TypeCreateRouterStore<TRoutes>): InterfaceRouterStore<TRoutes>;
|
|
4
4
|
//# sourceMappingURL=createRouterStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRouterStore.d.ts","sourceRoot":"","sources":["../../../packages/core/createRouterStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE3F,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAS9C,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAC3E,
|
|
1
|
+
{"version":3,"file":"createRouterStore.d.ts","sourceRoot":"","sources":["../../../packages/core/createRouterStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE3F,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAS9C,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAC3E,QAAQ,EACR,MAAM,EACN,aAAa,EACb,eAAe,GAChB,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,CA0PhE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { createRouterConfig } from './createRouterConfig';
|
|
2
2
|
export { createRouterStore } from './createRouterStore';
|
|
3
|
-
export type { InterfaceRouterStore } from './types/InterfaceRouterStore';
|
|
3
|
+
export type { InterfaceRouterStore, TypeAdapters } from './types/InterfaceRouterStore';
|
|
4
4
|
export type { TypeCurrentRoute } from './types/TypeCurrentRoute';
|
|
5
5
|
export type { TypePropsRouter } from './types/TypePropsRouter';
|
|
6
6
|
export type { TypeRedirectToParams } from './types/TypeRedirectToParams';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvF,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { TypeCurrentRoute } from './TypeCurrentRoute';
|
|
2
2
|
import { TypeRedirectToParams } from './TypeRedirectToParams';
|
|
3
3
|
import { TypeRoute } from './TypeRoute';
|
|
4
|
-
type
|
|
4
|
+
export type TypeAdapters = {
|
|
5
5
|
batch: (cb: () => void) => void;
|
|
6
6
|
autorun: (cb: () => void) => any;
|
|
7
7
|
replaceObject: <TObj extends Record<string, any>>(obj: TObj, newObj: TObj) => void;
|
|
8
8
|
makeObservable: <TObj extends Record<string, any>>(obj: TObj) => TObj;
|
|
9
|
+
makeAutoObservable: (...args: Array<any>) => any;
|
|
10
|
+
observer?: (comp: any) => any;
|
|
9
11
|
};
|
|
10
|
-
export type TypeCreateRouterStore<TRoutes extends Record<string, TypeRoute>> =
|
|
12
|
+
export type TypeCreateRouterStore<TRoutes extends Record<string, TypeRoute>> = {
|
|
11
13
|
routes: TRoutes;
|
|
12
14
|
routeError500: TRoutes[keyof TRoutes];
|
|
13
15
|
lifecycleParams?: Array<any>;
|
|
16
|
+
adapters: TypeAdapters;
|
|
14
17
|
};
|
|
15
18
|
export type InterfaceRouterStore<TRoutes extends Record<string, TypeRoute>> = {
|
|
16
|
-
|
|
19
|
+
adapters: TypeAdapters;
|
|
17
20
|
currentRoute: TypeCurrentRoute<TRoutes[keyof TRoutes]>;
|
|
18
21
|
routesHistory: Array<string>;
|
|
19
22
|
isRedirecting: boolean;
|
|
@@ -24,5 +27,4 @@ export type InterfaceRouterStore<TRoutes extends Record<string, TypeRoute>> = {
|
|
|
24
27
|
}): Promise<void>;
|
|
25
28
|
restoreFromServer(obj: InterfaceRouterStore<TRoutes>): Promise<void>;
|
|
26
29
|
};
|
|
27
|
-
export {};
|
|
28
30
|
//# sourceMappingURL=InterfaceRouterStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InterfaceRouterStore.d.ts","sourceRoot":"","sources":["../../../../packages/core/types/InterfaceRouterStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,
|
|
1
|
+
{"version":3,"file":"InterfaceRouterStore.d.ts","sourceRoot":"","sources":["../../../../packages/core/types/InterfaceRouterStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,GAAG,CAAC;IACjC,aAAa,EAAE,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC;IACnF,cAAc,EAAE,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC;IACtE,kBAAkB,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;IACjD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI;IAC7E,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI;IAC5E,QAAQ,EAAE,YAAY,CAAC;IACvB,YAAY,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC;IACvD,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,UAAU,SAAS,MAAM,OAAO,EACzC,MAAM,EAAE,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;KAC1C,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,iBAAiB,CAAC,GAAG,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import { TypePropsRouter, TypeRoute } from 'reactive-route';
|
|
2
|
-
export declare const Router: (<TRoutes extends Record<string, TypeRoute>>(props: TypePropsRouter<TRoutes>) => any)
|
|
3
|
-
displayName: string;
|
|
4
|
-
};
|
|
2
|
+
export declare const Router: import("react").MemoExoticComponent<(<TRoutes extends Record<string, TypeRoute>>(props: TypePropsRouter<TRoutes>) => any)>;
|
|
5
3
|
//# sourceMappingURL=Router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../packages/react/Router.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../packages/react/Router.tsx"],"names":[],"mappings":"AACA,OAAO,EAA4B,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAgHtF,eAAO,MAAM,MAAM,wCAChB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,eAAe,CAAC,OAAO,CAAC,KAKpC,GAAG,EAE3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../packages/solid/Router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../packages/solid/Router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAmGtF,wBAAgB,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,kCAWhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../packages/core/createRouterConfig.ts","../../packages/core/createRouterStore.ts","../../packages/core/index.ts","../../packages/core/types/InterfaceRouterStore.ts","../../packages/core/types/TypeCurrentRoute.ts","../../packages/core/types/TypeLifecycleConfig.ts","../../packages/core/types/TypePropsRouter.ts","../../packages/core/types/TypeRedirectToParams.ts","../../packages/core/types/TypeRoute.ts","../../packages/core/types/TypeRouteRaw.ts","../../packages/core/types/TypeRouteWithParams.ts","../../packages/core/types/TypeValidator.ts","../../packages/core/utils/addNames.ts","../../packages/core/utils/constants.ts","../../packages/core/utils/dynamic.ts","../../packages/core/utils/findRouteByPathname.ts","../../packages/core/utils/getDynamicValues.ts","../../packages/core/utils/getInitialRoute.ts","../../packages/core/utils/getQueryValues.ts","../../packages/core/utils/getTypedEntries.ts","../../packages/core/utils/history.ts","../../packages/core/utils/loadComponentToConfig.ts","../../packages/core/utils/replaceDynamicValues.ts","../../packages/react/Router.tsx","../../packages/react/index.ts","../../packages/react/useStore.ts","../../packages/solid/Router.tsx","../../packages/solid/index.ts","../../packages/solid/useStore.ts"],"version":"5.9.2"}
|
|
1
|
+
{"root":["../../packages/adapters/kr-observable.ts","../../packages/adapters/mobx.ts","../../packages/adapters/solid.ts","../../packages/core/createRouterConfig.ts","../../packages/core/createRouterStore.ts","../../packages/core/index.ts","../../packages/core/types/InterfaceRouterStore.ts","../../packages/core/types/TypeCurrentRoute.ts","../../packages/core/types/TypeLifecycleConfig.ts","../../packages/core/types/TypePropsRouter.ts","../../packages/core/types/TypeRedirectToParams.ts","../../packages/core/types/TypeRoute.ts","../../packages/core/types/TypeRouteRaw.ts","../../packages/core/types/TypeRouteWithParams.ts","../../packages/core/types/TypeValidator.ts","../../packages/core/utils/addNames.ts","../../packages/core/utils/constants.ts","../../packages/core/utils/dynamic.ts","../../packages/core/utils/findRouteByPathname.ts","../../packages/core/utils/getDynamicValues.ts","../../packages/core/utils/getInitialRoute.ts","../../packages/core/utils/getQueryValues.ts","../../packages/core/utils/getTypedEntries.ts","../../packages/core/utils/history.ts","../../packages/core/utils/loadComponentToConfig.ts","../../packages/core/utils/replaceDynamicValues.ts","../../packages/react/Router.tsx","../../packages/react/index.ts","../../packages/react/useStore.ts","../../packages/solid/Router.tsx","../../packages/solid/index.ts","../../packages/solid/useStore.ts"],"version":"5.9.2"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "reactive-route",
|
|
3
3
|
"author": "Dmitry Kazakov",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "0.0.1-alpha.
|
|
5
|
+
"version": "0.0.1-alpha.6",
|
|
6
6
|
"description": "Reactive Router for different frameworks",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -17,9 +17,14 @@
|
|
|
17
17
|
"analyze:js": "biome check --no-errors-on-unmatched .",
|
|
18
18
|
"format:js": "biome check --no-errors-on-unmatched --write",
|
|
19
19
|
"check-types": "tsc --project tsconfig.json",
|
|
20
|
-
"check-types-example": "tsc --project
|
|
20
|
+
"check-types-example": "tsc --project examples/react-mobx/tsconfig.json",
|
|
21
21
|
"prepare": "husky"
|
|
22
22
|
},
|
|
23
|
+
"lint-staged": {
|
|
24
|
+
"(*.js|*.ts|*.tsx|*.mjs)": [
|
|
25
|
+
"pnpm run format:js"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
23
28
|
"dependencies": {
|
|
24
29
|
"history": "5.3.0",
|
|
25
30
|
"query-string": "7.1.3"
|
|
@@ -37,6 +42,7 @@
|
|
|
37
42
|
"lodash": "4.17.21",
|
|
38
43
|
"mobx": "6.13.7",
|
|
39
44
|
"mobx-react-lite": "4.1.0",
|
|
45
|
+
"kr-observable": "3.0.19",
|
|
40
46
|
"react": "19.1.1",
|
|
41
47
|
"solid-js": "1.9.9",
|
|
42
48
|
"@babel/core": "7.28.3",
|
|
@@ -69,6 +75,21 @@
|
|
|
69
75
|
"types": "./dist/types/solid/index.d.ts",
|
|
70
76
|
"require": "./dist/cjs/solid/index.js",
|
|
71
77
|
"import": "./dist/esm/solid/index.js"
|
|
78
|
+
},
|
|
79
|
+
"./adapters/mobx": {
|
|
80
|
+
"types": "./dist/types/adapters/mobx.d.ts",
|
|
81
|
+
"require": "./dist/cjs/adapters/mobx/index.js",
|
|
82
|
+
"import": "./dist/esm/adapters/mobx/index.js"
|
|
83
|
+
},
|
|
84
|
+
"./adapters/solid": {
|
|
85
|
+
"types": "./dist/types/adapters/solid.d.ts",
|
|
86
|
+
"require": "./dist/cjs/adapters/solid/index.js",
|
|
87
|
+
"import": "./dist/esm/adapters/solid/index.js"
|
|
88
|
+
},
|
|
89
|
+
"./adapters/kr-observable": {
|
|
90
|
+
"types": "./dist/types/adapters/kr-observable.d.ts",
|
|
91
|
+
"require": "./dist/cjs/adapters/kr-observable/index.js",
|
|
92
|
+
"import": "./dist/esm/adapters/kr-observable/index.js"
|
|
72
93
|
}
|
|
73
94
|
},
|
|
74
95
|
"main": "dist/cjs/index.js",
|