@xmachines/play-solid-router 1.0.0-beta.6 → 1.0.0-beta.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/README.md +4 -1
- package/dist/play-router-provider.d.ts +1 -1
- package/dist/play-router-provider.d.ts.map +1 -1
- package/dist/route-map.d.ts +4 -1
- package/dist/route-map.d.ts.map +1 -1
- package/dist/route-map.js +68 -14
- package/dist/route-map.js.map +1 -1
- package/dist/solid-router-bridge.d.ts +1 -2
- package/dist/solid-router-bridge.d.ts.map +1 -1
- package/dist/solid-router-bridge.js +1 -4
- package/dist/solid-router-bridge.js.map +1 -1
- package/package.json +11 -9
package/README.md
CHANGED
|
@@ -634,4 +634,7 @@ routeMap.getStateIdByPath("/settings/privacy"); // '#settings'
|
|
|
634
634
|
|
|
635
635
|
## License
|
|
636
636
|
|
|
637
|
-
|
|
637
|
+
Copyright (c) 2016 [Mikael Karon](mailto:mikael@karon.se). All rights reserved.
|
|
638
|
+
|
|
639
|
+
This work is licensed under the terms of the MIT license.
|
|
640
|
+
For a copy, see <https://opensource.org/licenses/MIT>.
|
|
@@ -17,5 +17,5 @@ export interface PlayRouterProviderProps {
|
|
|
17
17
|
router: SolidRouterHooks;
|
|
18
18
|
renderer: (actor: RoutableActor, router: SolidRouterHooks) => JSX.Element;
|
|
19
19
|
}
|
|
20
|
-
export declare function PlayRouterProvider(props: PlayRouterProviderProps):
|
|
20
|
+
export declare function PlayRouterProvider(props: PlayRouterProviderProps): JSX.Element;
|
|
21
21
|
//# sourceMappingURL=play-router-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"play-router-provider.d.ts","sourceRoot":"","sources":["../src/play-router-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC/E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC;IACrF,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,KAAK,GAAG,CAAC,OAAO,CAAC;CAC1E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"play-router-provider.d.ts","sourceRoot":"","sources":["../src/play-router-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC/E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC;IACrF,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,KAAK,GAAG,CAAC,OAAO,CAAC;CAC1E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,eAehE"}
|
package/dist/route-map.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ import type { RouteMapping } from "./types.js";
|
|
|
8
8
|
export declare class RouteMap {
|
|
9
9
|
private stateToPath;
|
|
10
10
|
private pathToState;
|
|
11
|
+
private patternBuckets;
|
|
12
|
+
private pathMatchCache;
|
|
11
13
|
/**
|
|
12
14
|
* Create a RouteMap with bidirectional mappings
|
|
13
15
|
*
|
|
@@ -70,6 +72,7 @@ export declare class RouteMap {
|
|
|
70
72
|
* matchesPattern('/settings/account', '/settings/:section?'); // true
|
|
71
73
|
* ```
|
|
72
74
|
*/
|
|
73
|
-
private
|
|
75
|
+
private getIndexKey;
|
|
76
|
+
private getCandidates;
|
|
74
77
|
}
|
|
75
78
|
//# sourceMappingURL=route-map.d.ts.map
|
package/dist/route-map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-map.d.ts","sourceRoot":"","sources":["../src/route-map.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,qBAAa,QAAQ;IACpB,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,WAAW,CAA6B;
|
|
1
|
+
{"version":3,"file":"route-map.d.ts","sourceRoot":"","sources":["../src/route-map.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,qBAAa,QAAQ;IACpB,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,cAAc,CAAoC;IAE1D;;;;;;;;;;;;;OAaG;gBACS,QAAQ,EAAE,YAAY,EAAE;IAuBpC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI5C;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA4BlD;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,aAAa;CAwCrB"}
|
package/dist/route-map.js
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
export class RouteMap {
|
|
8
8
|
stateToPath = new Map();
|
|
9
9
|
pathToState = new Map();
|
|
10
|
+
patternBuckets = new Map();
|
|
11
|
+
pathMatchCache = new Map();
|
|
10
12
|
/**
|
|
11
13
|
* Create a RouteMap with bidirectional mappings
|
|
12
14
|
*
|
|
@@ -22,8 +24,23 @@ export class RouteMap {
|
|
|
22
24
|
* ```
|
|
23
25
|
*/
|
|
24
26
|
constructor(mappings) {
|
|
27
|
+
let patternOrder = 0;
|
|
25
28
|
mappings.forEach(({ stateId, path }) => {
|
|
26
29
|
this.stateToPath.set(stateId, path);
|
|
30
|
+
if (path.includes(":")) {
|
|
31
|
+
const pattern = path
|
|
32
|
+
.replace(/\/:(\w+)\?/g, "(?:/([^/]+))?")
|
|
33
|
+
.replace(/\/:(\w+)/g, "/([^/]+)");
|
|
34
|
+
const bucketKey = this.getIndexKey(path);
|
|
35
|
+
const bucket = this.patternBuckets.get(bucketKey) ?? [];
|
|
36
|
+
bucket.push({
|
|
37
|
+
pattern: new RegExp(`^${pattern}$`),
|
|
38
|
+
stateId,
|
|
39
|
+
order: patternOrder++,
|
|
40
|
+
});
|
|
41
|
+
this.patternBuckets.set(bucketKey, bucket);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
27
44
|
this.pathToState.set(path, stateId);
|
|
28
45
|
});
|
|
29
46
|
}
|
|
@@ -64,12 +81,19 @@ export class RouteMap {
|
|
|
64
81
|
if (this.pathToState.has(cleanPath)) {
|
|
65
82
|
return this.pathToState.get(cleanPath);
|
|
66
83
|
}
|
|
84
|
+
const cachedMatch = this.pathMatchCache.get(cleanPath);
|
|
85
|
+
if (cachedMatch !== undefined) {
|
|
86
|
+
return cachedMatch ?? undefined;
|
|
87
|
+
}
|
|
67
88
|
// Fuzzy match for dynamic routes
|
|
68
|
-
|
|
69
|
-
|
|
89
|
+
const candidates = this.getCandidates(this.getIndexKey(cleanPath));
|
|
90
|
+
for (const { pattern, stateId } of candidates) {
|
|
91
|
+
if (pattern.test(cleanPath)) {
|
|
92
|
+
this.pathMatchCache.set(cleanPath, stateId);
|
|
70
93
|
return stateId;
|
|
71
94
|
}
|
|
72
95
|
}
|
|
96
|
+
this.pathMatchCache.set(cleanPath, null);
|
|
73
97
|
return undefined;
|
|
74
98
|
}
|
|
75
99
|
/**
|
|
@@ -90,18 +114,48 @@ export class RouteMap {
|
|
|
90
114
|
* matchesPattern('/settings/account', '/settings/:section?'); // true
|
|
91
115
|
* ```
|
|
92
116
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
117
|
+
getIndexKey(path) {
|
|
118
|
+
const trimmed = path.startsWith("/") ? path.slice(1) : path;
|
|
119
|
+
if (trimmed.length === 0) {
|
|
120
|
+
return "/";
|
|
121
|
+
}
|
|
122
|
+
const segment = trimmed.split("/")[0];
|
|
123
|
+
if (segment.startsWith(":")) {
|
|
124
|
+
return "*";
|
|
125
|
+
}
|
|
126
|
+
return segment;
|
|
127
|
+
}
|
|
128
|
+
getCandidates(indexKey) {
|
|
129
|
+
const bucket = this.patternBuckets.get(indexKey) ?? [];
|
|
130
|
+
const wildcardBucket = this.patternBuckets.get("*") ?? [];
|
|
131
|
+
if (bucket.length === 0) {
|
|
132
|
+
return wildcardBucket;
|
|
133
|
+
}
|
|
134
|
+
if (wildcardBucket.length === 0) {
|
|
135
|
+
return bucket;
|
|
136
|
+
}
|
|
137
|
+
const merged = [];
|
|
138
|
+
let bucketIndex = 0;
|
|
139
|
+
let wildcardIndex = 0;
|
|
140
|
+
while (bucketIndex < bucket.length && wildcardIndex < wildcardBucket.length) {
|
|
141
|
+
if (bucket[bucketIndex].order < wildcardBucket[wildcardIndex].order) {
|
|
142
|
+
merged.push(bucket[bucketIndex]);
|
|
143
|
+
bucketIndex += 1;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
merged.push(wildcardBucket[wildcardIndex]);
|
|
147
|
+
wildcardIndex += 1;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
while (bucketIndex < bucket.length) {
|
|
151
|
+
merged.push(bucket[bucketIndex]);
|
|
152
|
+
bucketIndex += 1;
|
|
153
|
+
}
|
|
154
|
+
while (wildcardIndex < wildcardBucket.length) {
|
|
155
|
+
merged.push(wildcardBucket[wildcardIndex]);
|
|
156
|
+
wildcardIndex += 1;
|
|
157
|
+
}
|
|
158
|
+
return merged;
|
|
105
159
|
}
|
|
106
160
|
}
|
|
107
161
|
//# sourceMappingURL=route-map.js.map
|
package/dist/route-map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-map.js","sourceRoot":"","sources":["../src/route-map.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,QAAQ;IACZ,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"route-map.js","sourceRoot":"","sources":["../src/route-map.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,QAAQ;IACZ,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,cAAc,GAAG,IAAI,GAAG,EAG7B,CAAC;IACI,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE1D;;;;;;;;;;;;;OAaG;IACH,YAAY,QAAwB;QACnC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI;qBAClB,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC;qBACvC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC;oBACX,OAAO,EAAE,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC;oBACnC,OAAO;oBACP,KAAK,EAAE,YAAY,EAAE;iBACrB,CAAC,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC3C,OAAO;YACR,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAe;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,IAAY;QAC5B,oDAAoD;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,oCAAoC;QACpC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,WAAW,IAAI,SAAS,CAAC;QACjC,CAAC;QAED,iCAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,UAAU,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC5C,OAAO,OAAO,CAAC;YAChB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEzC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACK,WAAW,CAAC,IAAY;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAEO,aAAa,CACpB,QAAgB;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAE1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,cAAc,CAAC;QACvB,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAA+D,EAAE,CAAC;QAC9E,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,OAAO,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;YAC7E,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjC,WAAW,IAAI,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC3C,aAAa,IAAI,CAAC,CAAC;YACpB,CAAC;QACF,CAAC;QAED,OAAO,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACjC,WAAW,IAAI,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3C,aAAa,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;CACD"}
|
|
@@ -55,7 +55,7 @@ export declare class SolidRouterBridge extends RouterBridgeBase {
|
|
|
55
55
|
* @param actor - XMachines actor instance
|
|
56
56
|
* @param routeMap - Bidirectional state ID ↔ path mapping
|
|
57
57
|
*/
|
|
58
|
-
constructor(solidNavigate: (
|
|
58
|
+
constructor(solidNavigate: (path: string, ...args: unknown[]) => unknown, location: {
|
|
59
59
|
pathname: string;
|
|
60
60
|
search: string;
|
|
61
61
|
}, _params: Record<string, string | undefined>, actor: AbstractActor<AnyActorLogic> & Routable, routeMap: RouteMap);
|
|
@@ -78,7 +78,6 @@ export declare class SolidRouterBridge extends RouterBridgeBase {
|
|
|
78
78
|
* Stop watching SolidJS Router changes.
|
|
79
79
|
*
|
|
80
80
|
* Solid auto-cleans createEffect subscriptions when component unmounts.
|
|
81
|
-
* This sets the processing flag to prevent pending operations.
|
|
82
81
|
*/
|
|
83
82
|
protected unwatchRouterChanges(): void;
|
|
84
83
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid-router-bridge.d.ts","sourceRoot":"","sources":["../src/solid-router-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IAarD,OAAO,CAAC,QAAQ,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"solid-router-bridge.d.ts","sourceRoot":"","sources":["../src/solid-router-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IAarD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAb1B;;;;;;;;;;OAUG;gBAEe,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAC5D,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAC/D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,QAAQ,EAC9C,QAAQ,EAAE,QAAQ;IAQnB;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5C;;OAEG;cACgB,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAIxD;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAcpC;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAItC;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI;CAGf"}
|
|
@@ -91,12 +91,9 @@ export class SolidRouterBridge extends RouterBridgeBase {
|
|
|
91
91
|
* Stop watching SolidJS Router changes.
|
|
92
92
|
*
|
|
93
93
|
* Solid auto-cleans createEffect subscriptions when component unmounts.
|
|
94
|
-
* This sets the processing flag to prevent pending operations.
|
|
95
94
|
*/
|
|
96
95
|
unwatchRouterChanges() {
|
|
97
|
-
// Solid auto-cleans createEffect on component unmount
|
|
98
|
-
// Set flag to prevent any pending operations
|
|
99
|
-
this.isProcessingNavigation = true;
|
|
96
|
+
// Solid auto-cleans createEffect on component unmount.
|
|
100
97
|
}
|
|
101
98
|
/**
|
|
102
99
|
* Dispose the bridge (alias for disconnect).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid-router-bridge.js","sourceRoot":"","sources":["../src/solid-router-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK1D;;;;;;GAMG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IAapC;
|
|
1
|
+
{"version":3,"file":"solid-router-bridge.js","sourceRoot":"","sources":["../src/solid-router-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK1D;;;;;;GAMG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IAapC;IACA;IAblB;;;;;;;;;;OAUG;IACH,YACkB,aAA4D,EAC5D,QAA8C,EAC/D,OAA2C,EAC3C,KAA8C,EAC9C,QAAkB;QAElB,KAAK,CAAC,KAAK,EAAE;YACZ,gBAAgB,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACnE,gBAAgB,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;SACtD,CAAC,CAAC;QATc,kBAAa,GAAb,aAAa,CAA+C;QAC5D,aAAQ,GAAR,QAAQ,CAAsC;IAShE,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,IAAY;QACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACgB,oBAAoB;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACO,kBAAkB;QAC3B,uEAAuE;QACvE,yEAAyE;QACzE,YAAY,CACX,EAAE,CACD,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAC5B,CAAC,QAAgB,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC,CACD,CACD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,oBAAoB;QAC7B,uDAAuD;IACxD,CAAC;IAED;;;;;;;OAOG;IACH,OAAO;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;CACD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xmachines/play-solid-router",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.8",
|
|
4
4
|
"description": "SolidJS Router adapter for XMachines Universal Player Architecture",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "XMachines Contributors",
|
|
@@ -28,24 +28,26 @@
|
|
|
28
28
|
},
|
|
29
29
|
"scripts": {
|
|
30
30
|
"build": "tsc --build",
|
|
31
|
-
"test": "vitest
|
|
31
|
+
"test": "vitest",
|
|
32
32
|
"test:watch": "vitest",
|
|
33
33
|
"typecheck": "tsc --noEmit",
|
|
34
|
-
"clean": "rm -rf dist *.tsbuildinfo",
|
|
34
|
+
"clean": "rm -rf dist *.tsbuildinfo node_modules/.vite node_modules/.vite-temp",
|
|
35
35
|
"prepublishOnly": "npm run build"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@xmachines/play": "1.0.0-beta.
|
|
39
|
-
"@xmachines/play-actor": "1.0.0-beta.
|
|
40
|
-
"@xmachines/play-router": "1.0.0-beta.
|
|
41
|
-
"@xmachines/play-signals": "1.0.0-beta.
|
|
38
|
+
"@xmachines/play": "1.0.0-beta.8",
|
|
39
|
+
"@xmachines/play-actor": "1.0.0-beta.8",
|
|
40
|
+
"@xmachines/play-router": "1.0.0-beta.8",
|
|
41
|
+
"@xmachines/play-signals": "1.0.0-beta.8"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@solidjs/router": "^0.16.1",
|
|
45
45
|
"@solidjs/testing-library": "^0.8.10",
|
|
46
|
-
"@xmachines/shared": "1.0.0-beta.
|
|
46
|
+
"@xmachines/shared": "1.0.0-beta.8",
|
|
47
47
|
"solid-js": "^1.9.11",
|
|
48
|
-
"vite-plugin-solid": "^2.11.11"
|
|
48
|
+
"vite-plugin-solid": "^2.11.11",
|
|
49
|
+
"vitest": "^4.1.0",
|
|
50
|
+
"xstate": "^5.28.0"
|
|
49
51
|
},
|
|
50
52
|
"peerDependencies": {
|
|
51
53
|
"@solidjs/router": "^0.16.1",
|