@solar-angular/router 20.0.4 → 20.0.5
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.
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class RouteReuseManager {
|
|
2
5
|
constructor() {
|
|
3
6
|
this.handlers = new Map();
|
|
4
7
|
}
|
|
@@ -43,10 +46,23 @@ class BaseRouteReuse {
|
|
|
43
46
|
* 但如果 params、queryParams 或 data 发生变化,则不复用
|
|
44
47
|
*/
|
|
45
48
|
shouldReuseRoute(future, curr) {
|
|
46
|
-
// 修改: 使用增强的对比逻辑
|
|
47
49
|
return isRouteEqual(future, curr);
|
|
48
50
|
}
|
|
51
|
+
clear() {
|
|
52
|
+
for (const { handle } of this.handlers.values()) {
|
|
53
|
+
destroyDetachedRouteHandle(handle);
|
|
54
|
+
}
|
|
55
|
+
this.handlers.clear();
|
|
56
|
+
}
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: RouteReuseManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: RouteReuseManager, providedIn: 'root' }); }
|
|
49
59
|
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: RouteReuseManager, decorators: [{
|
|
61
|
+
type: Injectable,
|
|
62
|
+
args: [{
|
|
63
|
+
providedIn: 'root'
|
|
64
|
+
}]
|
|
65
|
+
}] });
|
|
50
66
|
function isRouteEqual(future, curr) {
|
|
51
67
|
if (future.routeConfig !== curr.routeConfig) {
|
|
52
68
|
return false;
|
|
@@ -75,10 +91,17 @@ function compareObjects(obj1, obj2) {
|
|
|
75
91
|
}
|
|
76
92
|
return true;
|
|
77
93
|
}
|
|
94
|
+
// TODO 该函数移植自 ng21,更新到 ng21 后可以删除
|
|
95
|
+
function destroyDetachedRouteHandle(handle) {
|
|
96
|
+
const internalHandle = handle;
|
|
97
|
+
if (internalHandle && internalHandle.componentRef) {
|
|
98
|
+
internalHandle.componentRef.destroy();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
78
101
|
|
|
79
102
|
/**
|
|
80
103
|
* Generated bundle index. Do not edit.
|
|
81
104
|
*/
|
|
82
105
|
|
|
83
|
-
export {
|
|
106
|
+
export { RouteReuseManager };
|
|
84
107
|
//# sourceMappingURL=solar-angular-router.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solar-angular-router.mjs","sources":["../tmp-esm2022/route-reuse-strategy.js","../tmp-esm2022/solar-angular-router.js"],"sourcesContent":["export class BaseRouteReuse {\n constructor() {\n this.handlers = new Map();\n }\n /**\n * 是否缓存离开的路由组件\n */\n shouldDetach(route) {\n return route.data['reuse'];\n }\n /**\n * 当路由离开时将该组件存入缓存\n */\n store(route, handle) {\n if (route.routeConfig) {\n this.handlers.set(route.routeConfig, { handle, snapshot: route });\n }\n }\n /**\n * 是否使用缓存的路由组件\n */\n shouldAttach(route) {\n const config = route.routeConfig;\n if (!config || !this.handlers.has(config)) {\n return false;\n }\n const cached = this.handlers.get(config);\n // 修改: 只有当 params、queryParams 和 data 完全一致时才允许还原缓存\n return isRouteEqual(route, cached.snapshot);\n }\n /**\n * 获取缓存的组件\n */\n retrieve(route) {\n if (!route.routeConfig)\n return null;\n const cached = this.handlers.get(route.routeConfig);\n return cached ? cached.handle : null;\n }\n /**\n * 判断是否复用当前路由\n * 当导航到相同的路由时,复用当前路由\n * 但如果 params、queryParams 或 data 发生变化,则不复用\n */\n shouldReuseRoute(future, curr) {\n // 修改: 使用增强的对比逻辑\n return isRouteEqual(future, curr);\n }\n}\nfunction isRouteEqual(future, curr) {\n if (future.routeConfig !== curr.routeConfig) {\n return false;\n }\n if (!compareObjects(future.params, curr.params)) {\n return false;\n }\n if (!compareObjects(future.queryParams, curr.queryParams)) {\n return false;\n }\n // if (!compareObjects(future.data, curr.data)) {\n // return false;\n // }\n return true;\n}\nfunction compareObjects(obj1, obj2) {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n if (obj1[key] !== obj2[key]) {\n return false;\n }\n }\n return true;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcmV1c2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvc3JjL3JvdXRlLXJldXNlLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxjQUFjO0lBQTNCO1FBQ1UsYUFBUSxHQUFHLElBQUksR0FBRyxFQUE0RSxDQUFDO0lBbUR6RyxDQUFDO0lBakRDOztPQUVHO0lBQ0gsWUFBWSxDQUFDLEtBQTZCO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsS0FBNkIsRUFBRSxNQUEyQjtRQUM5RCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsS0FBNkI7UUFDeEMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUUsQ0FBQztRQUMxQyxpREFBaUQ7UUFDakQsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsS0FBNkI7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxNQUE4QixFQUFFLElBQTRCO1FBQzNFLGdCQUFnQjtRQUNoQixPQUFPLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUVGO0FBRUQsU0FBUyxZQUFZLENBQUMsTUFBOEIsRUFBRSxJQUE0QjtJQUNoRixJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDMUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsaURBQWlEO0lBQ2pELGtCQUFrQjtJQUNsQixJQUFJO0lBRUosT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsSUFBUyxFQUFFLElBQVM7SUFDMUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGV0YWNoZWRSb3V0ZUhhbmRsZSwgUm91dGUsIFJvdXRlUmV1c2VTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBjbGFzcyBCYXNlUm91dGVSZXVzZSBpbXBsZW1lbnRzIFJvdXRlUmV1c2VTdHJhdGVneSB7XG4gIHByaXZhdGUgaGFuZGxlcnMgPSBuZXcgTWFwPFJvdXRlLCB7IGhhbmRsZTogRGV0YWNoZWRSb3V0ZUhhbmRsZTsgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfT4oKTtcblxuICAvKipcbiAgICog5piv5ZCm57yT5a2Y56a75byA55qE6Lev55Sx57uE5Lu2XG4gICAqL1xuICBzaG91bGREZXRhY2gocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcm91dGUuZGF0YVsncmV1c2UnXTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlvZPot6/nlLHnprvlvIDml7blsIbor6Xnu4Tku7blrZjlhaXnvJPlrZhcbiAgICovXG4gIHN0b3JlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBoYW5kbGU6IERldGFjaGVkUm91dGVIYW5kbGUpOiB2b2lkIHtcbiAgICBpZiAocm91dGUucm91dGVDb25maWcpIHtcbiAgICAgIHRoaXMuaGFuZGxlcnMuc2V0KHJvdXRlLnJvdXRlQ29uZmlnLCB7IGhhbmRsZSwgc25hcHNob3Q6IHJvdXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDmmK/lkKbkvb/nlKjnvJPlrZjnmoTot6/nlLHnu4Tku7ZcbiAgICovXG4gIHNob3VsZEF0dGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJvdXRlLnJvdXRlQ29uZmlnO1xuICAgIGlmICghY29uZmlnIHx8ICF0aGlzLmhhbmRsZXJzLmhhcyhjb25maWcpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGVkID0gdGhpcy5oYW5kbGVycy5nZXQoY29uZmlnKSE7XG4gICAgLy8g5L+u5pS5OiDlj6rmnInlvZMgcGFyYW1z44CBcXVlcnlQYXJhbXMg5ZKMIGRhdGEg5a6M5YWo5LiA6Ie05pe25omN5YWB6K646L+Y5Y6f57yT5a2YXG4gICAgcmV0dXJuIGlzUm91dGVFcXVhbChyb3V0ZSwgY2FjaGVkLnNuYXBzaG90KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5bnvJPlrZjnmoTnu4Tku7ZcbiAgICovXG4gIHJldHJpZXZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogRGV0YWNoZWRSb3V0ZUhhbmRsZSB8IG51bGwge1xuICAgIGlmICghcm91dGUucm91dGVDb25maWcpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuaGFuZGxlcnMuZ2V0KHJvdXRlLnJvdXRlQ29uZmlnKTtcbiAgICByZXR1cm4gY2FjaGVkID8gY2FjaGVkLmhhbmRsZSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICog5Yik5pat5piv5ZCm5aSN55So5b2T5YmN6Lev55SxXG4gICAqIOW9k+WvvOiIquWIsOebuOWQjOeahOi3r+eUseaXtu+8jOWkjeeUqOW9k+WJjei3r+eUsVxuICAgKiDkvYblpoLmnpwgcGFyYW1z44CBcXVlcnlQYXJhbXMg5oiWIGRhdGEg5Y+R55Sf5Y+Y5YyW77yM5YiZ5LiN5aSN55SoXG4gICAqL1xuICBzaG91bGRSZXVzZVJvdXRlKGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIC8vIOS/ruaUuTog5L2/55So5aKe5by655qE5a+55q+U6YC76L6RXG4gICAgcmV0dXJuIGlzUm91dGVFcXVhbChmdXR1cmUsIGN1cnIpO1xuICB9XG5cbn1cblxuZnVuY3Rpb24gaXNSb3V0ZUVxdWFsKGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICBpZiAoZnV0dXJlLnJvdXRlQ29uZmlnICE9PSBjdXJyLnJvdXRlQ29uZmlnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFjb21wYXJlT2JqZWN0cyhmdXR1cmUucGFyYW1zLCBjdXJyLnBhcmFtcykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWNvbXBhcmVPYmplY3RzKGZ1dHVyZS5xdWVyeVBhcmFtcywgY3Vyci5xdWVyeVBhcmFtcykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBpZiAoIWNvbXBhcmVPYmplY3RzKGZ1dHVyZS5kYXRhLCBjdXJyLmRhdGEpKSB7XG4gIC8vICAgcmV0dXJuIGZhbHNlO1xuICAvLyB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVPYmplY3RzKG9iajE6IGFueSwgb2JqMjogYW55KTogYm9vbGVhbiB7XG4gIGNvbnN0IGtleXMxID0gT2JqZWN0LmtleXMob2JqMSk7XG4gIGNvbnN0IGtleXMyID0gT2JqZWN0LmtleXMob2JqMik7XG5cbiAgaWYgKGtleXMxLmxlbmd0aCAhPT0ga2V5czIubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5czEpIHtcbiAgICBpZiAob2JqMVtrZXldICE9PSBvYmoyW2tleV0pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvc3JjL3NvbGFyLWFuZ3VsYXItcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"AAAO,MAAM,cAAc,CAAC;AAC5B,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE;AACjC,IAAI;AACJ;AACA;AACA;AACA,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAClC,IAAI;AACJ;AACA;AACA;AACA,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE;AACzB,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE;AAC/B,YAAY,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7E,QAAQ;AACR,IAAI;AACJ;AACA;AACA;AACA,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW;AACxC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACnD,YAAY,OAAO,KAAK;AACxB,QAAQ;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;AAChD;AACA,QAAQ,OAAO,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;AACnD,IAAI;AACJ;AACA;AACA;AACA,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW;AAC9B,YAAY,OAAO,IAAI;AACvB,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;AAC3D,QAAQ,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI;AAC5C,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE;AACnC;AACA,QAAQ,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;AACzC,IAAI;AACJ;AACA,SAAS,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE;AACpC,IAAI,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;AACjD,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;AACrD,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;AAC/D,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ;AACA;AACA;AACA,IAAI,OAAO,IAAI;AACf;AACA,SAAS,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;AACpC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;AACvC,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AAC7B,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE;AACrC,YAAY,OAAO,KAAK;AACxB,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,IAAI;AACf;;AC5EA;AACA;AACA;;;;"}
|
|
1
|
+
{"version":3,"file":"solar-angular-router.mjs","sources":["../tmp-esm2022/route-reuse-strategy.js","../tmp-esm2022/solar-angular-router.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class RouteReuseManager {\n constructor() {\n this.handlers = new Map();\n }\n /**\n * 是否缓存离开的路由组件\n */\n shouldDetach(route) {\n return route.data['reuse'];\n }\n /**\n * 当路由离开时将该组件存入缓存\n */\n store(route, handle) {\n if (route.routeConfig) {\n this.handlers.set(route.routeConfig, { handle, snapshot: route });\n }\n }\n /**\n * 是否使用缓存的路由组件\n */\n shouldAttach(route) {\n const config = route.routeConfig;\n if (!config || !this.handlers.has(config)) {\n return false;\n }\n const cached = this.handlers.get(config);\n // 修改: 只有当 params、queryParams 和 data 完全一致时才允许还原缓存\n return isRouteEqual(route, cached.snapshot);\n }\n /**\n * 获取缓存的组件\n */\n retrieve(route) {\n if (!route.routeConfig)\n return null;\n const cached = this.handlers.get(route.routeConfig);\n return cached ? cached.handle : null;\n }\n /**\n * 判断是否复用当前路由\n * 当导航到相同的路由时,复用当前路由\n * 但如果 params、queryParams 或 data 发生变化,则不复用\n */\n shouldReuseRoute(future, curr) {\n return isRouteEqual(future, curr);\n }\n clear() {\n for (const { handle } of this.handlers.values()) {\n destroyDetachedRouteHandle(handle);\n }\n this.handlers.clear();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: RouteReuseManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: RouteReuseManager, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: RouteReuseManager, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\nfunction isRouteEqual(future, curr) {\n if (future.routeConfig !== curr.routeConfig) {\n return false;\n }\n if (!compareObjects(future.params, curr.params)) {\n return false;\n }\n if (!compareObjects(future.queryParams, curr.queryParams)) {\n return false;\n }\n // if (!compareObjects(future.data, curr.data)) {\n // return false;\n // }\n return true;\n}\nfunction compareObjects(obj1, obj2) {\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n if (obj1[key] !== obj2[key]) {\n return false;\n }\n }\n return true;\n}\n// TODO 该函数移植自 ng21,更新到 ng21 后可以删除\nfunction destroyDetachedRouteHandle(handle) {\n const internalHandle = handle;\n if (internalHandle && internalHandle.componentRef) {\n internalHandle.componentRef.destroy();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcmV1c2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvc3JjL3JvdXRlLXJldXNlLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU96RCxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSVUsYUFBUSxHQUFHLElBQUksR0FBRyxFQUE0RSxDQUFDO0tBeUR4RztJQXZEQzs7T0FFRztJQUNILFlBQVksQ0FBQyxLQUE2QjtRQUN4QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQTZCLEVBQUUsTUFBMkI7UUFDOUQsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNwRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLEtBQTZCO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLENBQUM7UUFDMUMsaURBQWlEO1FBQ2pELE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEtBQTZCO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUMsTUFBOEIsRUFBRSxJQUE0QjtRQUMzRSxPQUFPLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUs7UUFDSCxLQUFLLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDaEQsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0F4RFUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUE2REQsU0FBUyxZQUFZLENBQUMsTUFBOEIsRUFBRSxJQUE0QjtJQUNoRixJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDMUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsaURBQWlEO0lBQ2pELGtCQUFrQjtJQUNsQixJQUFJO0lBRUosT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsSUFBUyxFQUFFLElBQVM7SUFDMUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBUUQsa0NBQWtDO0FBQ2xDLFNBQVMsMEJBQTBCLENBQUMsTUFBMkI7SUFDN0QsTUFBTSxjQUFjLEdBQUcsTUFBcUMsQ0FBQztJQUM3RCxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEQsY0FBYyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIERldGFjaGVkUm91dGVIYW5kbGUsIE91dGxldENvbnRleHQsIFJvdXRlLCBSb3V0ZVJldXNlU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICdAc29sYXIta2l0L2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSb3V0ZVJldXNlTWFuYWdlciBpbXBsZW1lbnRzIFJvdXRlUmV1c2VTdHJhdGVneSB7XG4gIHByaXZhdGUgaGFuZGxlcnMgPSBuZXcgTWFwPFJvdXRlLCB7IGhhbmRsZTogRGV0YWNoZWRSb3V0ZUhhbmRsZTsgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfT4oKTtcblxuICAvKipcbiAgICog5piv5ZCm57yT5a2Y56a75byA55qE6Lev55Sx57uE5Lu2XG4gICAqL1xuICBzaG91bGREZXRhY2gocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcm91dGUuZGF0YVsncmV1c2UnXTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlvZPot6/nlLHnprvlvIDml7blsIbor6Xnu4Tku7blrZjlhaXnvJPlrZhcbiAgICovXG4gIHN0b3JlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBoYW5kbGU6IERldGFjaGVkUm91dGVIYW5kbGUpOiB2b2lkIHtcbiAgICBpZiAocm91dGUucm91dGVDb25maWcpIHtcbiAgICAgIHRoaXMuaGFuZGxlcnMuc2V0KHJvdXRlLnJvdXRlQ29uZmlnLCB7IGhhbmRsZSwgc25hcHNob3Q6IHJvdXRlIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDmmK/lkKbkvb/nlKjnvJPlrZjnmoTot6/nlLHnu4Tku7ZcbiAgICovXG4gIHNob3VsZEF0dGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJvdXRlLnJvdXRlQ29uZmlnO1xuICAgIGlmICghY29uZmlnIHx8ICF0aGlzLmhhbmRsZXJzLmhhcyhjb25maWcpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGVkID0gdGhpcy5oYW5kbGVycy5nZXQoY29uZmlnKSE7XG4gICAgLy8g5L+u5pS5OiDlj6rmnInlvZMgcGFyYW1z44CBcXVlcnlQYXJhbXMg5ZKMIGRhdGEg5a6M5YWo5LiA6Ie05pe25omN5YWB6K646L+Y5Y6f57yT5a2YXG4gICAgcmV0dXJuIGlzUm91dGVFcXVhbChyb3V0ZSwgY2FjaGVkLnNuYXBzaG90KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5bnvJPlrZjnmoTnu4Tku7ZcbiAgICovXG4gIHJldHJpZXZlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogRGV0YWNoZWRSb3V0ZUhhbmRsZSB8IG51bGwge1xuICAgIGlmICghcm91dGUucm91dGVDb25maWcpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuaGFuZGxlcnMuZ2V0KHJvdXRlLnJvdXRlQ29uZmlnKTtcbiAgICByZXR1cm4gY2FjaGVkID8gY2FjaGVkLmhhbmRsZSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICog5Yik5pat5piv5ZCm5aSN55So5b2T5YmN6Lev55SxXG4gICAqIOW9k+WvvOiIquWIsOebuOWQjOeahOi3r+eUseaXtu+8jOWkjeeUqOW9k+WJjei3r+eUsVxuICAgKiDkvYblpoLmnpwgcGFyYW1z44CBcXVlcnlQYXJhbXMg5oiWIGRhdGEg5Y+R55Sf5Y+Y5YyW77yM5YiZ5LiN5aSN55SoXG4gICAqL1xuICBzaG91bGRSZXVzZVJvdXRlKGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1JvdXRlRXF1YWwoZnV0dXJlLCBjdXJyKTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgeyBoYW5kbGUgfSBvZiB0aGlzLmhhbmRsZXJzLnZhbHVlcygpKSB7XG4gICAgICBkZXN0cm95RGV0YWNoZWRSb3V0ZUhhbmRsZShoYW5kbGUpO1xuICAgIH1cbiAgICB0aGlzLmhhbmRsZXJzLmNsZWFyKCk7XG4gIH1cblxufVxuXG5mdW5jdGlvbiBpc1JvdXRlRXF1YWwoZnV0dXJlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gIGlmIChmdXR1cmUucm91dGVDb25maWcgIT09IGN1cnIucm91dGVDb25maWcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWNvbXBhcmVPYmplY3RzKGZ1dHVyZS5wYXJhbXMsIGN1cnIucGFyYW1zKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghY29tcGFyZU9iamVjdHMoZnV0dXJlLnF1ZXJ5UGFyYW1zLCBjdXJyLnF1ZXJ5UGFyYW1zKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIGlmICghY29tcGFyZU9iamVjdHMoZnV0dXJlLmRhdGEsIGN1cnIuZGF0YSkpIHtcbiAgLy8gICByZXR1cm4gZmFsc2U7XG4gIC8vIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gY29tcGFyZU9iamVjdHMob2JqMTogYW55LCBvYmoyOiBhbnkpOiBib29sZWFuIHtcbiAgY29uc3Qga2V5czEgPSBPYmplY3Qua2V5cyhvYmoxKTtcbiAgY29uc3Qga2V5czIgPSBPYmplY3Qua2V5cyhvYmoyKTtcblxuICBpZiAoa2V5czEubGVuZ3RoICE9PSBrZXlzMi5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzMSkge1xuICAgIGlmIChvYmoxW2tleV0gIT09IG9iajJba2V5XSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxudHlwZSBEZXRhY2hlZFJvdXRlSGFuZGxlSW50ZXJuYWwgPSB7XG4gIGNvbnRleHRzOiBNYXA8c3RyaW5nLCBPdXRsZXRDb250ZXh0PjtcbiAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcbiAgcm91dGU6IFRyZWVOb2RlPEFjdGl2YXRlZFJvdXRlPjtcbn07XG5cbi8vIFRPRE8g6K+l5Ye95pWw56e75qSN6IeqIG5nMjHvvIzmm7TmlrDliLAgbmcyMSDlkI7lj6/ku6XliKDpmaRcbmZ1bmN0aW9uIGRlc3Ryb3lEZXRhY2hlZFJvdXRlSGFuZGxlKGhhbmRsZTogRGV0YWNoZWRSb3V0ZUhhbmRsZSk6IHZvaWQge1xuICBjb25zdCBpbnRlcm5hbEhhbmRsZSA9IGhhbmRsZSBhcyBEZXRhY2hlZFJvdXRlSGFuZGxlSW50ZXJuYWw7XG4gIGlmIChpbnRlcm5hbEhhbmRsZSAmJiBpbnRlcm5hbEhhbmRsZS5jb21wb25lbnRSZWYpIHtcbiAgICBpbnRlcm5hbEhhbmRsZS5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvc3JjL3NvbGFyLWFuZ3VsYXItcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
2
3
|
|
|
3
|
-
declare class
|
|
4
|
+
declare class RouteReuseManager implements RouteReuseStrategy {
|
|
4
5
|
private handlers;
|
|
5
6
|
/**
|
|
6
7
|
* 是否缓存离开的路由组件
|
|
@@ -24,6 +25,9 @@ declare class BaseRouteReuse implements RouteReuseStrategy {
|
|
|
24
25
|
* 但如果 params、queryParams 或 data 发生变化,则不复用
|
|
25
26
|
*/
|
|
26
27
|
shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean;
|
|
28
|
+
clear(): void;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RouteReuseManager, never>;
|
|
30
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RouteReuseManager>;
|
|
27
31
|
}
|
|
28
32
|
|
|
29
|
-
export {
|
|
33
|
+
export { RouteReuseManager };
|