@analogjs/router 0.1.0-alpha.5 → 0.1.0-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/esm2020/index.mjs +2 -2
- package/esm2020/lib/meta-tags.mjs +50 -0
- package/esm2020/lib/models.mjs +1 -1
- package/esm2020/lib/provide-file-router.mjs +25 -0
- package/esm2020/lib/route-config.mjs +24 -0
- package/esm2020/lib/routes.mjs +9 -13
- package/fesm2015/analogjs-router.mjs +91 -14
- package/fesm2015/analogjs-router.mjs.map +1 -1
- package/fesm2020/analogjs-router.mjs +92 -17
- package/fesm2020/analogjs-router.mjs.map +1 -1
- package/index.d.ts +2 -1
- package/lib/meta-tags.d.ts +28 -0
- package/lib/models.d.ts +6 -3
- package/lib/{provide-file-routes.d.ts → provide-file-router.d.ts} +2 -1
- package/lib/route-config.d.ts +2 -0
- package/lib/routes.d.ts +1 -1
- package/package.json +1 -1
- package/esm2020/lib/provide-file-routes.mjs +0 -14
package/esm2020/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { routes } from './lib/routes';
|
|
2
2
|
export { defineRouteMeta, injectActivatedRoute, injectRouter, } from './lib/define-route';
|
|
3
|
-
export { provideFileRouter } from './lib/provide-file-
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
export { provideFileRouter } from './lib/provide-file-router';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUNMLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsWUFBWSxHQUNiLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyByb3V0ZXMgfSBmcm9tICcuL2xpYi9yb3V0ZXMnO1xuZXhwb3J0IHtcbiAgZGVmaW5lUm91dGVNZXRhLFxuICBpbmplY3RBY3RpdmF0ZWRSb3V0ZSxcbiAgaW5qZWN0Um91dGVyLFxufSBmcm9tICcuL2xpYi9kZWZpbmUtcm91dGUnO1xuZXhwb3J0IHsgUm91dGVNZXRhIH0gZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCB7IHByb3ZpZGVGaWxlUm91dGVyIH0gZnJvbSAnLi9saWIvcHJvdmlkZS1maWxlLXJvdXRlcic7XG5leHBvcnQgeyBNZXRhVGFnIH0gZnJvbSAnLi9saWIvbWV0YS10YWdzJztcbiJdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { Meta } from '@angular/platform-browser';
|
|
3
|
+
import { NavigationEnd, Router } from '@angular/router';
|
|
4
|
+
import { filter } from 'rxjs/operators';
|
|
5
|
+
export const ROUTE_META_TAGS_KEY = Symbol('@analogjs/router Route Meta Tags Key');
|
|
6
|
+
const CHARSET_KEY = 'charset';
|
|
7
|
+
const HTTP_EQUIV_KEY = 'httpEquiv';
|
|
8
|
+
// httpEquiv selector key needs to be in kebab case format
|
|
9
|
+
const HTTP_EQUIV_SELECTOR_KEY = 'http-equiv';
|
|
10
|
+
const NAME_KEY = 'name';
|
|
11
|
+
const PROPERTY_KEY = 'property';
|
|
12
|
+
const CONTENT_KEY = 'content';
|
|
13
|
+
export function updateMetaTagsOnRouteChange() {
|
|
14
|
+
const router = inject(Router);
|
|
15
|
+
const metaService = inject(Meta);
|
|
16
|
+
router.events
|
|
17
|
+
.pipe(filter((event) => event instanceof NavigationEnd))
|
|
18
|
+
.subscribe(() => {
|
|
19
|
+
const metaTagMap = getMetaTagMap(router.routerState.snapshot.root);
|
|
20
|
+
for (const metaTagSelector in metaTagMap) {
|
|
21
|
+
const metaTag = metaTagMap[metaTagSelector];
|
|
22
|
+
metaService.updateTag(metaTag, metaTagSelector);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function getMetaTagMap(route) {
|
|
27
|
+
const metaTagMap = {};
|
|
28
|
+
let currentRoute = route;
|
|
29
|
+
while (currentRoute) {
|
|
30
|
+
const metaTags = currentRoute.data[ROUTE_META_TAGS_KEY] ?? [];
|
|
31
|
+
for (const metaTag of metaTags) {
|
|
32
|
+
metaTagMap[getMetaTagSelector(metaTag)] = metaTag;
|
|
33
|
+
}
|
|
34
|
+
currentRoute = currentRoute.firstChild;
|
|
35
|
+
}
|
|
36
|
+
return metaTagMap;
|
|
37
|
+
}
|
|
38
|
+
function getMetaTagSelector(metaTag) {
|
|
39
|
+
if (metaTag.name) {
|
|
40
|
+
return `${NAME_KEY}="${metaTag.name}"`;
|
|
41
|
+
}
|
|
42
|
+
if (metaTag.property) {
|
|
43
|
+
return `${PROPERTY_KEY}="${metaTag.property}"`;
|
|
44
|
+
}
|
|
45
|
+
if (metaTag.httpEquiv) {
|
|
46
|
+
return `${HTTP_EQUIV_SELECTOR_KEY}="${metaTag.httpEquiv}"`;
|
|
47
|
+
}
|
|
48
|
+
return CHARSET_KEY;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS10YWdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvbWV0YS10YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBK0IsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQTBCLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUN2QyxzQ0FBc0MsQ0FDdkMsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQztBQUM5QixNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUM7QUFDbkMsMERBQTBEO0FBQzFELE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDO0FBQzdDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQztBQUN4QixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7QUFDaEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBOEI5QixNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsTUFBTSxDQUFDLE1BQU07U0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7U0FDdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNkLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSxLQUFLLE1BQU0sZUFBZSxJQUFJLFVBQVUsRUFBRTtZQUN4QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQ3hCLGVBQWtDLENBQ3RCLENBQUM7WUFDZixXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLEtBQTZCO0lBQ2xELE1BQU0sVUFBVSxHQUFHLEVBQWdCLENBQUM7SUFDcEMsSUFBSSxZQUFZLEdBQWtDLEtBQUssQ0FBQztJQUV4RCxPQUFPLFlBQVksRUFBRTtRQUNuQixNQUFNLFFBQVEsR0FBYyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pFLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFO1lBQzlCLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztTQUNuRDtRQUVELFlBQVksR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO0tBQ3hDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsT0FBZ0I7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1FBQ2hCLE9BQU8sR0FBRyxRQUFRLEtBQUssT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDO0tBQ3hDO0lBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1FBQ3BCLE9BQU8sR0FBRyxZQUFZLEtBQUssT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDO0tBQ2hEO0lBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1FBQ3JCLE9BQU8sR0FBRyx1QkFBdUIsS0FBSyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUM7S0FDNUQ7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXRhLCBNZXRhRGVmaW5pdGlvbiBhcyBOZ01ldGFUYWcgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBST1VURV9NRVRBX1RBR1NfS0VZID0gU3ltYm9sKFxuICAnQGFuYWxvZ2pzL3JvdXRlciBSb3V0ZSBNZXRhIFRhZ3MgS2V5J1xuKTtcblxuY29uc3QgQ0hBUlNFVF9LRVkgPSAnY2hhcnNldCc7XG5jb25zdCBIVFRQX0VRVUlWX0tFWSA9ICdodHRwRXF1aXYnO1xuLy8gaHR0cEVxdWl2IHNlbGVjdG9yIGtleSBuZWVkcyB0byBiZSBpbiBrZWJhYiBjYXNlIGZvcm1hdFxuY29uc3QgSFRUUF9FUVVJVl9TRUxFQ1RPUl9LRVkgPSAnaHR0cC1lcXVpdic7XG5jb25zdCBOQU1FX0tFWSA9ICduYW1lJztcbmNvbnN0IFBST1BFUlRZX0tFWSA9ICdwcm9wZXJ0eSc7XG5jb25zdCBDT05URU5UX0tFWSA9ICdjb250ZW50JztcblxuZXhwb3J0IHR5cGUgTWV0YVRhZyA9XG4gIHwgKENoYXJzZXRNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgQ0hBUlNFVF9LRVk+KVxuICB8IChIdHRwRXF1aXZNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgSFRUUF9FUVVJVl9LRVk+KVxuICB8IChOYW1lTWV0YVRhZyAmIEV4Y2x1ZGVSZXN0TWV0YVRhZ0tleXM8dHlwZW9mIE5BTUVfS0VZPilcbiAgfCAoUHJvcGVydHlNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgUFJPUEVSVFlfS0VZPik7XG5cbnR5cGUgQ2hhcnNldE1ldGFUYWcgPSB7IFtDSEFSU0VUX0tFWV06IHN0cmluZyB9O1xudHlwZSBIdHRwRXF1aXZNZXRhVGFnID0geyBbSFRUUF9FUVVJVl9LRVldOiBzdHJpbmc7IFtDT05URU5UX0tFWV06IHN0cmluZyB9O1xudHlwZSBOYW1lTWV0YVRhZyA9IHsgW05BTUVfS0VZXTogc3RyaW5nOyBbQ09OVEVOVF9LRVldOiBzdHJpbmcgfTtcbnR5cGUgUHJvcGVydHlNZXRhVGFnID0geyBbUFJPUEVSVFlfS0VZXTogc3RyaW5nOyBbQ09OVEVOVF9LRVldOiBzdHJpbmcgfTtcblxudHlwZSBNZXRhVGFnS2V5ID1cbiAgfCB0eXBlb2YgQ0hBUlNFVF9LRVlcbiAgfCB0eXBlb2YgSFRUUF9FUVVJVl9LRVlcbiAgfCB0eXBlb2YgTkFNRV9LRVlcbiAgfCB0eXBlb2YgUFJPUEVSVFlfS0VZO1xudHlwZSBFeGNsdWRlUmVzdE1ldGFUYWdLZXlzPEtleSBleHRlbmRzIE1ldGFUYWdLZXk+ID0ge1xuICBbSyBpbiBFeGNsdWRlPE1ldGFUYWdLZXksIEtleT5dPzogbmV2ZXI7XG59O1xuXG50eXBlIE1ldGFUYWdTZWxlY3RvciA9XG4gIHwgdHlwZW9mIENIQVJTRVRfS0VZXG4gIHwgYCR7XG4gICAgICB8IHR5cGVvZiBIVFRQX0VRVUlWX1NFTEVDVE9SX0tFWVxuICAgICAgfCB0eXBlb2YgTkFNRV9LRVlcbiAgICAgIHwgdHlwZW9mIFBST1BFUlRZX0tFWX09XCIke3N0cmluZ31cImA7XG50eXBlIE1ldGFUYWdNYXAgPSBSZWNvcmQ8TWV0YVRhZ1NlbGVjdG9yLCBNZXRhVGFnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU1ldGFUYWdzT25Sb3V0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IG1ldGFTZXJ2aWNlID0gaW5qZWN0KE1ldGEpO1xuXG4gIHJvdXRlci5ldmVudHNcbiAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgbWV0YVRhZ01hcCA9IGdldE1ldGFUYWdNYXAocm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3QpO1xuXG4gICAgICBmb3IgKGNvbnN0IG1ldGFUYWdTZWxlY3RvciBpbiBtZXRhVGFnTWFwKSB7XG4gICAgICAgIGNvbnN0IG1ldGFUYWcgPSBtZXRhVGFnTWFwW1xuICAgICAgICAgIG1ldGFUYWdTZWxlY3RvciBhcyBNZXRhVGFnU2VsZWN0b3JcbiAgICAgICAgXSBhcyBOZ01ldGFUYWc7XG4gICAgICAgIG1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyhtZXRhVGFnLCBtZXRhVGFnU2VsZWN0b3IpO1xuICAgICAgfVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRNZXRhVGFnTWFwKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogTWV0YVRhZ01hcCB7XG4gIGNvbnN0IG1ldGFUYWdNYXAgPSB7fSBhcyBNZXRhVGFnTWFwO1xuICBsZXQgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCA9IHJvdXRlO1xuXG4gIHdoaWxlIChjdXJyZW50Um91dGUpIHtcbiAgICBjb25zdCBtZXRhVGFnczogTWV0YVRhZ1tdID0gY3VycmVudFJvdXRlLmRhdGFbUk9VVEVfTUVUQV9UQUdTX0tFWV0gPz8gW107XG4gICAgZm9yIChjb25zdCBtZXRhVGFnIG9mIG1ldGFUYWdzKSB7XG4gICAgICBtZXRhVGFnTWFwW2dldE1ldGFUYWdTZWxlY3RvcihtZXRhVGFnKV0gPSBtZXRhVGFnO1xuICAgIH1cblxuICAgIGN1cnJlbnRSb3V0ZSA9IGN1cnJlbnRSb3V0ZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFUYWdNYXA7XG59XG5cbmZ1bmN0aW9uIGdldE1ldGFUYWdTZWxlY3RvcihtZXRhVGFnOiBNZXRhVGFnKTogTWV0YVRhZ1NlbGVjdG9yIHtcbiAgaWYgKG1ldGFUYWcubmFtZSkge1xuICAgIHJldHVybiBgJHtOQU1FX0tFWX09XCIke21ldGFUYWcubmFtZX1cImA7XG4gIH1cblxuICBpZiAobWV0YVRhZy5wcm9wZXJ0eSkge1xuICAgIHJldHVybiBgJHtQUk9QRVJUWV9LRVl9PVwiJHttZXRhVGFnLnByb3BlcnR5fVwiYDtcbiAgfVxuXG4gIGlmIChtZXRhVGFnLmh0dHBFcXVpdikge1xuICAgIHJldHVybiBgJHtIVFRQX0VRVUlWX1NFTEVDVE9SX0tFWX09XCIke21ldGFUYWcuaHR0cEVxdWl2fVwiYDtcbiAgfVxuXG4gIHJldHVybiBDSEFSU0VUX0tFWTtcbn1cbiJdfQ==
|
package/esm2020/lib/models.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDYW5BY3RpdmF0ZUNoaWxkRm4sXG4gIENhbkFjdGl2YXRlRm4sXG4gIENhbkRlYWN0aXZhdGVGbixcbiAgQ2FuTWF0Y2hGbixcbiAgUmVzb2x2ZUZuLFxuICBSb3V0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgZGVmaW5lUm91dGVNZXRhIH0gZnJvbSAnLi9kZWZpbmUtcm91dGUnO1xuaW1wb3J0IHsgTWV0YVRhZyB9IGZyb20gJy4vbWV0YS10YWdzJztcblxudHlwZSBPbWl0dGVkUm91dGVQcm9wcyA9XG4gIHwgJ3BhdGgnXG4gIHwgJ21hdGNoZXInXG4gIHwgJ2NvbXBvbmVudCdcbiAgfCAnbG9hZENvbXBvbmVudCdcbiAgfCAnY2hpbGRyZW4nXG4gIHwgJ2xvYWRDaGlsZHJlbidcbiAgfCAnY2FuTG9hZCdcbiAgfCAnb3V0bGV0JztcblxuZXhwb3J0IHR5cGUgUm91dGVDb25maWcgPSBPbWl0PFJvdXRlLCBPbWl0dGVkUm91dGVQcm9wcz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdFJvdXRlTWV0YVxuICBleHRlbmRzIE9taXQ8Um91dGUsIE9taXR0ZWRSb3V0ZVByb3BzIHwga2V5b2YgUmVkaXJlY3RSb3V0ZU1ldGE+IHtcbiAgY2FuQWN0aXZhdGU/OiBDYW5BY3RpdmF0ZUZuW107XG4gIGNhbkFjdGl2YXRlQ2hpbGQ/OiBDYW5BY3RpdmF0ZUNoaWxkRm5bXTtcbiAgY2FuRGVhY3RpdmF0ZT86IENhbkRlYWN0aXZhdGVGbjx1bmtub3duPltdO1xuICBjYW5NYXRjaD86IENhbk1hdGNoRm5bXTtcbiAgcmVzb2x2ZT86IHsgW2tleTogc3RyaW5nIHwgc3ltYm9sXTogUmVzb2x2ZUZuPHVua25vd24+IH07XG4gIHRpdGxlPzogc3RyaW5nIHwgUmVzb2x2ZUZuPHN0cmluZz47XG4gIG1ldGE/OiBNZXRhVGFnW10gfCBSZXNvbHZlRm48TWV0YVRhZ1tdPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWRpcmVjdFJvdXRlTWV0YSB7XG4gIHJlZGlyZWN0VG86IHN0cmluZztcbiAgcGF0aE1hdGNoPzogUm91dGVbJ3BhdGhNYXRjaCddO1xufVxuXG5leHBvcnQgdHlwZSBSb3V0ZU1ldGEgPVxuICAvLyBlbmZvcmNlIGV4Y2x1c2l2ZSB1bmlvblxuICAoRGVmYXVsdFJvdXRlTWV0YSAmIHsgcmVkaXJlY3RUbz86IG5ldmVyIH0pIHwgUmVkaXJlY3RSb3V0ZU1ldGE7XG5cbmV4cG9ydCB0eXBlIFJvdXRlRXhwb3J0ID0ge1xuICBkZWZhdWx0OiBUeXBlPHVua25vd24+O1xuICByb3V0ZU1ldGE/OiBSb3V0ZU1ldGEgfCBSZXR1cm5UeXBlPHR5cGVvZiBkZWZpbmVSb3V0ZU1ldGE+O1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ENVIRONMENT_INITIALIZER, makeEnvironmentProviders, } from '@angular/core';
|
|
2
|
+
import { provideRouter } from '@angular/router';
|
|
3
|
+
import { routes } from './routes';
|
|
4
|
+
import { updateMetaTagsOnRouteChange } from './meta-tags';
|
|
5
|
+
/**
|
|
6
|
+
* Sets up providers for the Angular router, and registers
|
|
7
|
+
* file-based routes. Additional features can be provided
|
|
8
|
+
* to further configure the behavior of the router.
|
|
9
|
+
*
|
|
10
|
+
* @param features
|
|
11
|
+
* @returns Providers and features to configure the router with routes
|
|
12
|
+
*/
|
|
13
|
+
export function provideFileRouter(...features) {
|
|
14
|
+
return makeEnvironmentProviders([
|
|
15
|
+
// TODO: remove type casting after Angular >=15.1.1 upgrade
|
|
16
|
+
// https://github.com/angular/angular/pull/48720
|
|
17
|
+
provideRouter(routes, ...features).ɵproviders,
|
|
18
|
+
{
|
|
19
|
+
provide: ENVIRONMENT_INITIALIZER,
|
|
20
|
+
multi: true,
|
|
21
|
+
useValue: () => updateMetaTagsOnRouteChange(),
|
|
22
|
+
},
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1maWxlLXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci9zcmMvbGliL3Byb3ZpZGUtZmlsZS1yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2Qix3QkFBd0IsR0FFekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixHQUFHLFFBQTBCO0lBRTdCLE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsMkRBQTJEO1FBQzNELGdEQUFnRDtRQUU5QyxhQUFhLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUdsQyxDQUFDLFVBQVU7UUFDWjtZQUNFLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsMkJBQTJCLEVBQUU7U0FDOUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gIEVudmlyb25tZW50UHJvdmlkZXJzLFxuICBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIFByb3ZpZGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVSb3V0ZXIsIFJvdXRlckZlYXR1cmVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgcm91dGVzIH0gZnJvbSAnLi9yb3V0ZXMnO1xuaW1wb3J0IHsgdXBkYXRlTWV0YVRhZ3NPblJvdXRlQ2hhbmdlIH0gZnJvbSAnLi9tZXRhLXRhZ3MnO1xuXG4vKipcbiAqIFNldHMgdXAgcHJvdmlkZXJzIGZvciB0aGUgQW5ndWxhciByb3V0ZXIsIGFuZCByZWdpc3RlcnNcbiAqIGZpbGUtYmFzZWQgcm91dGVzLiBBZGRpdGlvbmFsIGZlYXR1cmVzIGNhbiBiZSBwcm92aWRlZFxuICogdG8gZnVydGhlciBjb25maWd1cmUgdGhlIGJlaGF2aW9yIG9mIHRoZSByb3V0ZXIuXG4gKlxuICogQHBhcmFtIGZlYXR1cmVzXG4gKiBAcmV0dXJucyBQcm92aWRlcnMgYW5kIGZlYXR1cmVzIHRvIGNvbmZpZ3VyZSB0aGUgcm91dGVyIHdpdGggcm91dGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRmlsZVJvdXRlcihcbiAgLi4uZmVhdHVyZXM6IFJvdXRlckZlYXR1cmVzW11cbik6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgLy8gVE9ETzogcmVtb3ZlIHR5cGUgY2FzdGluZyBhZnRlciBBbmd1bGFyID49MTUuMS4xIHVwZ3JhZGVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL3B1bGwvNDg3MjBcbiAgICAoXG4gICAgICBwcm92aWRlUm91dGVyKHJvdXRlcywgLi4uZmVhdHVyZXMpIGFzIHVua25vd24gYXMge1xuICAgICAgICDJtXByb3ZpZGVyczogUHJvdmlkZXJbXTtcbiAgICAgIH1cbiAgICApLsm1cHJvdmlkZXJzLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VWYWx1ZTogKCkgPT4gdXBkYXRlTWV0YVRhZ3NPblJvdXRlQ2hhbmdlKCksXG4gICAgfSxcbiAgXSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ROUTE_META_TAGS_KEY } from './meta-tags';
|
|
2
|
+
export function toRouteConfig(routeMeta) {
|
|
3
|
+
if (!routeMeta) {
|
|
4
|
+
return {};
|
|
5
|
+
}
|
|
6
|
+
if (isRedirectRouteMeta(routeMeta)) {
|
|
7
|
+
return routeMeta;
|
|
8
|
+
}
|
|
9
|
+
const { meta, ...routeConfig } = routeMeta;
|
|
10
|
+
if (Array.isArray(meta)) {
|
|
11
|
+
routeConfig.data = { ...routeConfig.data, [ROUTE_META_TAGS_KEY]: meta };
|
|
12
|
+
}
|
|
13
|
+
else if (typeof meta === 'function') {
|
|
14
|
+
routeConfig.resolve = {
|
|
15
|
+
...routeConfig.resolve,
|
|
16
|
+
[ROUTE_META_TAGS_KEY]: meta,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return routeConfig;
|
|
20
|
+
}
|
|
21
|
+
function isRedirectRouteMeta(routeMeta) {
|
|
22
|
+
return !!routeMeta.redirectTo;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQWdDO0lBQzVELElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNsQyxPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFFM0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3ZCLFdBQVcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ3pFO1NBQU0sSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVLEVBQUU7UUFDckMsV0FBVyxDQUFDLE9BQU8sR0FBRztZQUNwQixHQUFHLFdBQVcsQ0FBQyxPQUFPO1lBQ3RCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJO1NBQzVCLENBQUM7S0FDSDtJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUMxQixTQUFvQjtJQUVwQixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWRpcmVjdFJvdXRlTWV0YSwgUm91dGVDb25maWcsIFJvdXRlTWV0YSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFJPVVRFX01FVEFfVEFHU19LRVkgfSBmcm9tICcuL21ldGEtdGFncyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1JvdXRlQ29uZmlnKHJvdXRlTWV0YTogUm91dGVNZXRhIHwgdW5kZWZpbmVkKTogUm91dGVDb25maWcge1xuICBpZiAoIXJvdXRlTWV0YSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGlmIChpc1JlZGlyZWN0Um91dGVNZXRhKHJvdXRlTWV0YSkpIHtcbiAgICByZXR1cm4gcm91dGVNZXRhO1xuICB9XG5cbiAgY29uc3QgeyBtZXRhLCAuLi5yb3V0ZUNvbmZpZyB9ID0gcm91dGVNZXRhO1xuXG4gIGlmIChBcnJheS5pc0FycmF5KG1ldGEpKSB7XG4gICAgcm91dGVDb25maWcuZGF0YSA9IHsgLi4ucm91dGVDb25maWcuZGF0YSwgW1JPVVRFX01FVEFfVEFHU19LRVldOiBtZXRhIH07XG4gIH0gZWxzZSBpZiAodHlwZW9mIG1ldGEgPT09ICdmdW5jdGlvbicpIHtcbiAgICByb3V0ZUNvbmZpZy5yZXNvbHZlID0ge1xuICAgICAgLi4ucm91dGVDb25maWcucmVzb2x2ZSxcbiAgICAgIFtST1VURV9NRVRBX1RBR1NfS0VZXTogbWV0YSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHJvdXRlQ29uZmlnO1xufVxuXG5mdW5jdGlvbiBpc1JlZGlyZWN0Um91dGVNZXRhKFxuICByb3V0ZU1ldGE6IFJvdXRlTWV0YVxuKTogcm91dGVNZXRhIGlzIFJlZGlyZWN0Um91dGVNZXRhIHtcbiAgcmV0dXJuICEhcm91dGVNZXRhLnJlZGlyZWN0VG87XG59XG4iXX0=
|
package/esm2020/lib/routes.mjs
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
/// <reference types="vite/client" />
|
|
2
|
+
import { toRouteConfig } from './route-config';
|
|
2
3
|
const FILES = import.meta.glob([
|
|
3
4
|
'/app/routes/**/*.ts',
|
|
4
5
|
'/src/app/routes/**/*.ts',
|
|
5
6
|
]);
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
...curr,
|
|
10
|
-
[key]: () => Promise.resolve(CONTENT_FILES_GLOB[key]),
|
|
11
|
-
};
|
|
12
|
-
return curr;
|
|
13
|
-
}, {});
|
|
7
|
+
const CONTENT_FILES = import.meta.glob(['/src/app/routes/**/*.md'], {
|
|
8
|
+
as: 'raw',
|
|
9
|
+
});
|
|
14
10
|
/**
|
|
15
11
|
* Function used to parse list of files and return
|
|
16
12
|
* configuration of routes.
|
|
@@ -58,7 +54,7 @@ export function getRoutes(files) {
|
|
|
58
54
|
{
|
|
59
55
|
path: '',
|
|
60
56
|
component: m.default,
|
|
61
|
-
...m.routeMeta,
|
|
57
|
+
...toRouteConfig(m.routeMeta),
|
|
62
58
|
},
|
|
63
59
|
]),
|
|
64
60
|
};
|
|
@@ -84,7 +80,7 @@ export function getRoutes(files) {
|
|
|
84
80
|
{
|
|
85
81
|
path: '',
|
|
86
82
|
component: m.default,
|
|
87
|
-
...m.routeMeta,
|
|
83
|
+
...toRouteConfig(m.routeMeta),
|
|
88
84
|
},
|
|
89
85
|
]),
|
|
90
86
|
});
|
|
@@ -101,7 +97,7 @@ export function getRoutes(files) {
|
|
|
101
97
|
{
|
|
102
98
|
path: '',
|
|
103
99
|
component: m.default,
|
|
104
|
-
...m.routeMeta,
|
|
100
|
+
...toRouteConfig(m.routeMeta),
|
|
105
101
|
},
|
|
106
102
|
]),
|
|
107
103
|
});
|
|
@@ -113,7 +109,7 @@ export function getRoutes(files) {
|
|
|
113
109
|
{
|
|
114
110
|
path: '',
|
|
115
111
|
children: parent._children,
|
|
116
|
-
...m.routeMeta,
|
|
112
|
+
...toRouteConfig(m.routeMeta),
|
|
117
113
|
},
|
|
118
114
|
];
|
|
119
115
|
});
|
|
@@ -125,4 +121,4 @@ export function getRoutes(files) {
|
|
|
125
121
|
return routeConfigs;
|
|
126
122
|
}
|
|
127
123
|
export const routes = [...getRoutes({ ...FILES, ...CONTENT_FILES })];
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQU1yQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBYztJQUMxQyxxQkFBcUI7SUFDckIseUJBQXlCO0NBQzFCLENBQUMsQ0FBQztBQUVILE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3pDLENBQUMseUJBQXlCLENBQUMsRUFDM0IsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FDM0IsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUErQyxNQUFNLENBQUMsSUFBSSxDQUMzRSxrQkFBa0IsQ0FDbkIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7SUFDckIsSUFBSSxHQUFHO1FBQ0wsR0FBRyxJQUFJO1FBQ1AsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3RELENBQUM7SUFFRixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUVQOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBaUQ7SUFDekUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV0RSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNoQyxDQUFDLE1BQWUsRUFBRSxH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QUUsRUFBRSxDQUFDO3dCQUNuQjs0QkFDRSxJQUFJLEVBQUUsRUFBRTs0QkFDUixTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU87NEJBQ3BCLEdBQUcsQ0FBQyxDQUFDLFNBQVM7eUJBQ2Y7cUJBQ0YsQ0FBQztpQkFDTCxDQUFDLENBQUM7YUFDSjtZQUVELElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtnQkFDcEIsTUFBTSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FDMUIsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2RCxNQUFNLENBQUMsWUFBWSxHQUFHLEdBQUcsRUFBRSxDQUN6QixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBYyxFQUFFLEVBQUU7b0JBQ3ZDLE9BQU87d0JBQ0w7NEJBQ0UsSUFBSSxFQUFFLEVBQUU7NEJBQ1IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxTQUFTOzRCQUMxQixHQUFHLENBQUMsQ0FBQyxTQUFTO3lCQUNmO3FCQUNGLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7YUFDTjtZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsRUFBRSxFQUF1RSxDQUFDLENBQUM7UUFFNUUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxFQUNELEVBQUUsQ0FDSCxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBWSxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGUvY2xpZW50XCIgLz5cblxuaW1wb3J0IHR5cGUgeyBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFJvdXRlRXhwb3J0IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5jb25zdCBGSUxFUyA9IGltcG9ydC5tZXRhLmdsb2I8Um91dGVFeHBvcnQ+KFtcbiAgJy9hcHAvcm91dGVzLyoqLyoudHMnLFxuICAnL3NyYy9hcHAvcm91dGVzLyoqLyoudHMnLFxuXSk7XG5cbmNvbnN0IENPTlRFTlRfRklMRVNfR0xPQiA9IGltcG9ydC5tZXRhLmdsb2I8Um91dGVFeHBvcnQ+KFxuICBbJy9zcmMvYXBwL3JvdXRlcy8qKi8qLm1kJ10sXG4gIHsgYXM6ICdyYXcnLCBlYWdlcjogdHJ1ZSB9XG4pO1xuXG5jb25zdCBDT05URU5UX0ZJTEVTOiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiBQcm9taXNlPFJvdXRlRXhwb3J0Pj4gPSBPYmplY3Qua2V5cyhcbiAgQ09OVEVOVF9GSUxFU19HTE9CXG4pLnJlZHVjZSgoY3Vyciwga2V5KSA9PiB7XG4gIGN1cnIgPSB7XG4gICAgLi4uY3VycixcbiAgICBba2V5XTogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKENPTlRFTlRfRklMRVNfR0xPQltrZXldKSxcbiAgfTtcblxuICByZXR1cm4gY3Vycjtcbn0sIHt9KTtcblxuLyoqXG4gKiBGdW5jdGlvbiB1c2VkIHRvIHBhcnNlIGxpc3Qgb2YgZmlsZXMgYW5kIHJldHVyblxuICogY29uZmlndXJhdGlvbiBvZiByb3V0ZXMuXG4gKlxuICogQHBhcmFtIGZpbGVzXG4gKiBAcmV0dXJucyBBcnJheSBvZiByb3V0ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlcyhmaWxlczogUmVjb3JkPHN0cmluZywgKCkgPT4gUHJvbWlzZTxSb3V0ZUV4cG9ydD4+KSB7XG4gIGNvbnN0IFJPVVRFUyA9IE9iamVjdC5rZXlzKGZpbGVzKS5zb3J0KChhLCBiKSA9PiBhLmxlbmd0aCAtIGIubGVuZ3RoKTtcblxuICBjb25zdCByb3V0ZUNvbmZpZ3MgPSBST1VURVMucmVkdWNlPFJvdXRlW10+KFxuICAgIChyb3V0ZXM6IFJvdXRlW10sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGUgPSBrZXkuZW5kc1dpdGgoJy5tZCcpXG4gICAgICAgID8gKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnQGFuYWxvZ2pzL2NvbnRlbnQnKS50aGVuKChtKSA9PiAoe1xuICAgICAgICAgICAgICBkZWZhdWx0OiBtLk1hcmtkb3duQ29tcG9uZW50LFxuICAgICAgICAgICAgICByb3V0ZU1ldGE6IHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7IF9hbmFsb2dDb250ZW50OiBmaWxlc1trZXldIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgOiBmaWxlc1trZXldO1xuXG4gICAgICBjb25zdCBzZWdtZW50cyA9IGtleVxuICAgICAgICAucmVwbGFjZSgvXlxcLyguKj8pXFwvcm91dGVzfFxcL2FwcFxcL3JvdXRlc3xcXC4oanN8dHN8bWQpJC9nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcW1xcLnszfS4rXFxdLywgJyoqJylcbiAgICAgICAgLnJlcGxhY2UoL1xcWyhbXlxcXV0rKVxcXS9nLCAnOiQxJylcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgc2VnbWVudHMucmVkdWNlKChwYXJlbnQsIHNlZ21lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBzZWdtZW50LnJlcGxhY2UoL2luZGV4fF5cXCguKj9cXCkkL2csICcnKS5yZXBsYWNlKCcuJywgJy8nKTtcbiAgICAgICAgY29uc3QgaXNJbmRleCA9ICFwYXRoO1xuICAgICAgICBjb25zdCBpc0NhdGNoYWxsID0gcGF0aCA9PT0gJyoqJztcbiAgICAgICAgY29uc3QgcGF0aE1hdGNoID0gaXNJbmRleCA/ICdmdWxsJyA6ICdwcmVmaXgnO1xuICAgICAgICBjb25zdCByb290ID0gaW5kZXggPT09IDA7XG4gICAgICAgIGNvbnN0IGxlYWYgPSBpbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSAmJiBzZWdtZW50cy5sZW5ndGggPiAxO1xuICAgICAgICBjb25zdCBub2RlID0gIXJvb3QgJiYgIWxlYWY7XG4gICAgICAgIGNvbnN0IGluc2VydCA9IC9eXFx3fFxcLy8udGVzdChwYXRoKSAmJiAhaXNDYXRjaGFsbCA/ICd1bnNoaWZ0JyA6ICdwdXNoJztcblxuICAgICAgICBpZiAocm9vdCkge1xuICAgICAgICAgIGNvbnN0IGR5bmFtaWMgPSBwYXRoLnN0YXJ0c1dpdGgoJzonKTtcbiAgICAgICAgICBpZiAoZHluYW1pYykgcmV0dXJuIHBhcmVudDtcblxuICAgICAgICAgIGNvbnN0IGxhc3QgPSBzZWdtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgICAgaWYgKGxhc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdXRlID0ge1xuICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICBwYXRoTWF0Y2gsXG4gICAgICAgICAgICAgIF9tb2R1bGU6ICgpID0+IG1vZHVsZSgpLFxuICAgICAgICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+XG4gICAgICAgICAgICAgICAgbW9kdWxlKCkudGhlbigobSkgPT4gW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBtLmRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgIC4uLm0ucm91dGVNZXRhLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJvdXRlcz8uW2luc2VydF0obmV3Um91dGUgYXMgUm91dGUpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocm9vdCB8fCBub2RlKSB7XG4gICAgICAgICAgY29uc3QgY3VycmVudCA9IHJvb3QgPyByb3V0ZXMgOiBwYXJlbnQuX2NoaWxkcmVuO1xuICAgICAgICAgIGNvbnN0IGZvdW5kID0gY3VycmVudD8uZmluZCgocm91dGU6IGFueSkgPT4gcm91dGUucGF0aCA9PT0gcGF0aCk7XG5cbiAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgIGlmICghZm91bmQuX2NoaWxkcmVuKSB7XG4gICAgICAgICAgICAgIGZvdW5kLl9jaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3VuZC5wYXRoTWF0Y2ggPSBwYXRoTWF0Y2g7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnQ/LltpbnNlcnRdKHtcbiAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgcGF0aE1hdGNoLFxuICAgICAgICAgICAgICBfbW9kdWxlOiAoKSA9PiBtb2R1bGUoKSxcbiAgICAgICAgICAgICAgbG9hZENoaWxkcmVuOiAoKSA9PlxuICAgICAgICAgICAgICAgIG1vZHVsZSgpLnRoZW4oKG0pID0+IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogbS5kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgICAuLi5tLnJvdXRlTWV0YSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZm91bmQgfHxcbiAgICAgICAgICAgIChjdXJyZW50Py5baW5zZXJ0ID09PSAndW5zaGlmdCcgPyAwIDogY3VycmVudC5sZW5ndGggLSAxXSBhcyBSb3V0ZSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxlYWYpIHtcbiAgICAgICAgICBwYXJlbnQ/Ll9jaGlsZHJlbj8uW2luc2VydF0oe1xuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIHBhdGhNYXRjaCxcbiAgICAgICAgICAgIF9tb2R1bGU6ICgpID0+IG1vZHVsZSgpLFxuICAgICAgICAgICAgbG9hZENoaWxkcmVuOiAoKSA9PlxuICAgICAgICAgICAgICBtb2R1bGUoKS50aGVuKChtKSA9PiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IG0uZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgIC4uLm0ucm91dGVNZXRhLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcmVudC5fY2hpbGRyZW4pIHtcbiAgICAgICAgICBwYXJlbnQubG9hZENvbXBvbmVudCA9ICgpID0+XG4gICAgICAgICAgICBwYXJlbnQuX21vZHVsZSgpLnRoZW4oKG06IFJvdXRlRXhwb3J0KSA9PiBtLmRlZmF1bHQpO1xuICAgICAgICAgIHBhcmVudC5sb2FkQ2hpbGRyZW4gPSAoKSA9PlxuICAgICAgICAgICAgcGFyZW50Ll9tb2R1bGUoKS50aGVuKChtOiBSb3V0ZUV4cG9ydCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHBhcmVudC5fY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAuLi5tLnJvdXRlTWV0YSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgfSwge30gYXMgUm91dGUgJiB7IF9tb2R1bGU6ICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQ+OyBfY2hpbGRyZW46IGFueVtdIH0pO1xuXG4gICAgICByZXR1cm4gcm91dGVzO1xuICAgIH0sXG4gICAgW11cbiAgKTtcblxuICByZXR1cm4gcm91dGVDb25maWdzO1xufVxuXG5leHBvcnQgY29uc3Qgcm91dGVzOiBSb3V0ZVtdID0gWy4uLmdldFJvdXRlcyh7IC4uLkZJTEVTLCAuLi5DT05URU5UX0ZJTEVTIH0pXTtcbiJdfQ==
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUtyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWM7SUFDMUMscUJBQXFCO0lBQ3JCLHlCQUF5QjtDQUMxQixDQUFDLENBQUM7QUFFSCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBUyxDQUFDLHlCQUF5QixDQUFDLEVBQUU7SUFDMUUsRUFBRSxFQUFFLEtBQUs7Q0FDVixDQUFDLENBQUM7QUFFSDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUN2QixLQUEwRDtJQUUxRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXRFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2hDLENBQUMsTUFBZSxFQUFFLEdBQVcsRUFBRSxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUErQixHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUM1RCxDQUFDLENBQUMsR0FBRyxFQUFFLENBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN2QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtnQkFDNUIsU0FBUyxFQUFFO29CQUNULElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsR0FB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QUMxQixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3ZELE1BQU0sQ0FBQyxZQUFZLEdBQUcsR0FBRyxFQUFFLENBQ3pCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFjLEVBQUUsRUFBRTtvQkFDdkMsT0FBTzt3QkFDTDs0QkFDRSxJQUFJLEVBQUUsRUFBRTs0QkFDUixRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVM7NEJBQzFCLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFrQyxDQUFDO3lCQUN2RDtxQkFDRixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO2FBQ047WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQUUsRUFBdUUsQ0FBQyxDQUFDO1FBRTVFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQztJQUVGLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlL2NsaWVudFwiIC8+XG5cbmltcG9ydCB0eXBlIHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBSb3V0ZUV4cG9ydCwgUm91dGVNZXRhIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgdG9Sb3V0ZUNvbmZpZyB9IGZyb20gJy4vcm91dGUtY29uZmlnJztcblxuY29uc3QgRklMRVMgPSBpbXBvcnQubWV0YS5nbG9iPFJvdXRlRXhwb3J0PihbXG4gICcvYXBwL3JvdXRlcy8qKi8qLnRzJyxcbiAgJy9zcmMvYXBwL3JvdXRlcy8qKi8qLnRzJyxcbl0pO1xuXG5jb25zdCBDT05URU5UX0ZJTEVTID0gaW1wb3J0Lm1ldGEuZ2xvYjxzdHJpbmc+KFsnL3NyYy9hcHAvcm91dGVzLyoqLyoubWQnXSwge1xuICBhczogJ3JhdycsXG59KTtcblxuLyoqXG4gKiBGdW5jdGlvbiB1c2VkIHRvIHBhcnNlIGxpc3Qgb2YgZmlsZXMgYW5kIHJldHVyblxuICogY29uZmlndXJhdGlvbiBvZiByb3V0ZXMuXG4gKlxuICogQHBhcmFtIGZpbGVzXG4gKiBAcmV0dXJucyBBcnJheSBvZiByb3V0ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlcyhcbiAgZmlsZXM6IFJlY29yZDxzdHJpbmcsICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQgfCBzdHJpbmc+PlxuKSB7XG4gIGNvbnN0IFJPVVRFUyA9IE9iamVjdC5rZXlzKGZpbGVzKS5zb3J0KChhLCBiKSA9PiBhLmxlbmd0aCAtIGIubGVuZ3RoKTtcblxuICBjb25zdCByb3V0ZUNvbmZpZ3MgPSBST1VURVMucmVkdWNlPFJvdXRlW10+KFxuICAgIChyb3V0ZXM6IFJvdXRlW10sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGU6ICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQ+ID0ga2V5LmVuZHNXaXRoKCcubWQnKVxuICAgICAgICA/ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJ0BhbmFsb2dqcy9jb250ZW50JykudGhlbigobSkgPT4gKHtcbiAgICAgICAgICAgICAgZGVmYXVsdDogbS5NYXJrZG93bkNvbXBvbmVudCxcbiAgICAgICAgICAgICAgcm91dGVNZXRhOiB7XG4gICAgICAgICAgICAgICAgZGF0YTogeyBfYW5hbG9nQ29udGVudDogZmlsZXNba2V5XSB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpXG4gICAgICAgIDogKGZpbGVzW2tleV0gYXMgKCkgPT4gUHJvbWlzZTxSb3V0ZUV4cG9ydD4pO1xuXG4gICAgICBjb25zdCBzZWdtZW50cyA9IGtleVxuICAgICAgICAucmVwbGFjZSgvXlxcLyguKj8pXFwvcm91dGVzfFxcL2FwcFxcL3JvdXRlc3xcXC4oanN8dHN8bWQpJC9nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcW1xcLnszfS4rXFxdLywgJyoqJylcbiAgICAgICAgLnJlcGxhY2UoL1xcWyhbXlxcXV0rKVxcXS9nLCAnOiQxJylcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgc2VnbWVudHMucmVkdWNlKChwYXJlbnQsIHNlZ21lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBzZWdtZW50LnJlcGxhY2UoL2luZGV4fF5cXCguKj9cXCkkL2csICcnKS5yZXBsYWNlKCcuJywgJy8nKTtcbiAgICAgICAgY29uc3QgaXNJbmRleCA9ICFwYXRoO1xuICAgICAgICBjb25zdCBpc0NhdGNoYWxsID0gcGF0aCA9PT0gJyoqJztcbiAgICAgICAgY29uc3QgcGF0aE1hdGNoID0gaXNJbmRleCA/ICdmdWxsJyA6ICdwcmVmaXgnO1xuICAgICAgICBjb25zdCByb290ID0gaW5kZXggPT09IDA7XG4gICAgICAgIGNvbnN0IGxlYWYgPSBpbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSAmJiBzZWdtZW50cy5sZW5ndGggPiAxO1xuICAgICAgICBjb25zdCBub2RlID0gIXJvb3QgJiYgIWxlYWY7XG4gICAgICAgIGNvbnN0IGluc2VydCA9IC9eXFx3fFxcLy8udGVzdChwYXRoKSAmJiAhaXNDYXRjaGFsbCA/ICd1bnNoaWZ0JyA6ICdwdXNoJztcblxuICAgICAgICBpZiAocm9vdCkge1xuICAgICAgICAgIGNvbnN0IGR5bmFtaWMgPSBwYXRoLnN0YXJ0c1dpdGgoJzonKTtcbiAgICAgICAgICBpZiAoZHluYW1pYykgcmV0dXJuIHBhcmVudDtcblxuICAgICAgICAgIGNvbnN0IGxhc3QgPSBzZWdtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgICAgaWYgKGxhc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdXRlID0ge1xuICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICBwYXRoTWF0Y2gsXG4gICAgICAgICAgICAgIF9tb2R1bGU6ICgpID0+IG1vZHVsZSgpLFxuICAgICAgICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+XG4gICAgICAgICAgICAgICAgbW9kdWxlKCkudGhlbigobSkgPT4gW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBtLmRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRvUm91dGVDb25maWcobS5yb3V0ZU1ldGEgYXMgUm91dGVNZXRhIHwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByb3V0ZXM/LltpbnNlcnRdKG5ld1JvdXRlIGFzIFJvdXRlKTtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJvb3QgfHwgbm9kZSkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSByb290ID8gcm91dGVzIDogcGFyZW50Ll9jaGlsZHJlbjtcbiAgICAgICAgICBjb25zdCBmb3VuZCA9IGN1cnJlbnQ/LmZpbmQoKHJvdXRlOiBhbnkpID0+IHJvdXRlLnBhdGggPT09IHBhdGgpO1xuXG4gICAgICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgICAgICBpZiAoIWZvdW5kLl9jaGlsZHJlbikge1xuICAgICAgICAgICAgICBmb3VuZC5fY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm91bmQucGF0aE1hdGNoID0gcGF0aE1hdGNoO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50Py5baW5zZXJ0XSh7XG4gICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgIHBhdGhNYXRjaCxcbiAgICAgICAgICAgICAgX21vZHVsZTogKCkgPT4gbW9kdWxlKCksXG4gICAgICAgICAgICAgIGxvYWRDaGlsZHJlbjogKCkgPT5cbiAgICAgICAgICAgICAgICBtb2R1bGUoKS50aGVuKChtKSA9PiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IG0uZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgLi4udG9Sb3V0ZUNvbmZpZyhtLnJvdXRlTWV0YSBhcyBSb3V0ZU1ldGEgfCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBmb3VuZCB8fFxuICAgICAgICAgICAgKGN1cnJlbnQ/LltpbnNlcnQgPT09ICd1bnNoaWZ0JyA/IDAgOiBjdXJyZW50Lmxlbmd0aCAtIDFdIGFzIFJvdXRlKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGVhZikge1xuICAgICAgICAgIHBhcmVudD8uX2NoaWxkcmVuPy5baW5zZXJ0XSh7XG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgcGF0aE1hdGNoLFxuICAgICAgICAgICAgX21vZHVsZTogKCkgPT4gbW9kdWxlKCksXG4gICAgICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+XG4gICAgICAgICAgICAgIG1vZHVsZSgpLnRoZW4oKG0pID0+IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogbS5kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgLi4udG9Sb3V0ZUNvbmZpZyhtLnJvdXRlTWV0YSBhcyBSb3V0ZU1ldGEgfCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcmVudC5fY2hpbGRyZW4pIHtcbiAgICAgICAgICBwYXJlbnQubG9hZENvbXBvbmVudCA9ICgpID0+XG4gICAgICAgICAgICBwYXJlbnQuX21vZHVsZSgpLnRoZW4oKG06IFJvdXRlRXhwb3J0KSA9PiBtLmRlZmF1bHQpO1xuICAgICAgICAgIHBhcmVudC5sb2FkQ2hpbGRyZW4gPSAoKSA9PlxuICAgICAgICAgICAgcGFyZW50Ll9tb2R1bGUoKS50aGVuKChtOiBSb3V0ZUV4cG9ydCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHBhcmVudC5fY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAuLi50b1JvdXRlQ29uZmlnKG0ucm91dGVNZXRhIGFzIFJvdXRlTWV0YSB8IHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIH0sIHt9IGFzIFJvdXRlICYgeyBfbW9kdWxlOiAoKSA9PiBQcm9taXNlPFJvdXRlRXhwb3J0PjsgX2NoaWxkcmVuOiBhbnlbXSB9KTtcblxuICAgICAgcmV0dXJuIHJvdXRlcztcbiAgICB9LFxuICAgIFtdXG4gICk7XG5cbiAgcmV0dXJuIHJvdXRlQ29uZmlncztcbn1cblxuZXhwb3J0IGNvbnN0IHJvdXRlczogUm91dGVbXSA9IFsuLi5nZXRSb3V0ZXMoeyAuLi5GSUxFUywgLi4uQ09OVEVOVF9GSUxFUyB9KV07XG4iXX0=
|
|
@@ -1,16 +1,84 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import { inject, makeEnvironmentProviders, ENVIRONMENT_INITIALIZER } from '@angular/core';
|
|
3
|
+
import { Meta } from '@angular/platform-browser';
|
|
4
|
+
import { Router, NavigationEnd, ActivatedRoute, provideRouter } from '@angular/router';
|
|
5
|
+
import { filter } from 'rxjs/operators';
|
|
6
|
+
|
|
7
|
+
const ROUTE_META_TAGS_KEY = Symbol('@analogjs/router Route Meta Tags Key');
|
|
8
|
+
const CHARSET_KEY = 'charset';
|
|
9
|
+
const HTTP_EQUIV_KEY = 'httpEquiv';
|
|
10
|
+
// httpEquiv selector key needs to be in kebab case format
|
|
11
|
+
const HTTP_EQUIV_SELECTOR_KEY = 'http-equiv';
|
|
12
|
+
const NAME_KEY = 'name';
|
|
13
|
+
const PROPERTY_KEY = 'property';
|
|
14
|
+
const CONTENT_KEY = 'content';
|
|
15
|
+
function updateMetaTagsOnRouteChange() {
|
|
16
|
+
const router = inject(Router);
|
|
17
|
+
const metaService = inject(Meta);
|
|
18
|
+
router.events
|
|
19
|
+
.pipe(filter((event) => event instanceof NavigationEnd))
|
|
20
|
+
.subscribe(() => {
|
|
21
|
+
const metaTagMap = getMetaTagMap(router.routerState.snapshot.root);
|
|
22
|
+
for (const metaTagSelector in metaTagMap) {
|
|
23
|
+
const metaTag = metaTagMap[metaTagSelector];
|
|
24
|
+
metaService.updateTag(metaTag, metaTagSelector);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function getMetaTagMap(route) {
|
|
29
|
+
var _a;
|
|
30
|
+
const metaTagMap = {};
|
|
31
|
+
let currentRoute = route;
|
|
32
|
+
while (currentRoute) {
|
|
33
|
+
const metaTags = (_a = currentRoute.data[ROUTE_META_TAGS_KEY]) !== null && _a !== void 0 ? _a : [];
|
|
34
|
+
for (const metaTag of metaTags) {
|
|
35
|
+
metaTagMap[getMetaTagSelector(metaTag)] = metaTag;
|
|
36
|
+
}
|
|
37
|
+
currentRoute = currentRoute.firstChild;
|
|
38
|
+
}
|
|
39
|
+
return metaTagMap;
|
|
40
|
+
}
|
|
41
|
+
function getMetaTagSelector(metaTag) {
|
|
42
|
+
if (metaTag.name) {
|
|
43
|
+
return `${NAME_KEY}="${metaTag.name}"`;
|
|
44
|
+
}
|
|
45
|
+
if (metaTag.property) {
|
|
46
|
+
return `${PROPERTY_KEY}="${metaTag.property}"`;
|
|
47
|
+
}
|
|
48
|
+
if (metaTag.httpEquiv) {
|
|
49
|
+
return `${HTTP_EQUIV_SELECTOR_KEY}="${metaTag.httpEquiv}"`;
|
|
50
|
+
}
|
|
51
|
+
return CHARSET_KEY;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function toRouteConfig(routeMeta) {
|
|
55
|
+
if (!routeMeta) {
|
|
56
|
+
return {};
|
|
57
|
+
}
|
|
58
|
+
if (isRedirectRouteMeta(routeMeta)) {
|
|
59
|
+
return routeMeta;
|
|
60
|
+
}
|
|
61
|
+
const { meta } = routeMeta, routeConfig = __rest(routeMeta, ["meta"]);
|
|
62
|
+
if (Array.isArray(meta)) {
|
|
63
|
+
routeConfig.data = Object.assign(Object.assign({}, routeConfig.data), { [ROUTE_META_TAGS_KEY]: meta });
|
|
64
|
+
}
|
|
65
|
+
else if (typeof meta === 'function') {
|
|
66
|
+
routeConfig.resolve = Object.assign(Object.assign({}, routeConfig.resolve), { [ROUTE_META_TAGS_KEY]: meta });
|
|
67
|
+
}
|
|
68
|
+
return routeConfig;
|
|
69
|
+
}
|
|
70
|
+
function isRedirectRouteMeta(routeMeta) {
|
|
71
|
+
return !!routeMeta.redirectTo;
|
|
72
|
+
}
|
|
3
73
|
|
|
4
74
|
/// <reference types="vite/client" />
|
|
5
75
|
const FILES = import.meta.glob([
|
|
6
76
|
'/app/routes/**/*.ts',
|
|
7
77
|
'/src/app/routes/**/*.ts',
|
|
8
78
|
]);
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return curr;
|
|
13
|
-
}, {});
|
|
79
|
+
const CONTENT_FILES = import.meta.glob(['/src/app/routes/**/*.md'], {
|
|
80
|
+
as: 'raw',
|
|
81
|
+
});
|
|
14
82
|
/**
|
|
15
83
|
* Function used to parse list of files and return
|
|
16
84
|
* configuration of routes.
|
|
@@ -56,7 +124,7 @@ function getRoutes(files) {
|
|
|
56
124
|
pathMatch,
|
|
57
125
|
_module: () => module(),
|
|
58
126
|
loadChildren: () => module().then((m) => [
|
|
59
|
-
Object.assign({ path: '', component: m.default }, m.routeMeta),
|
|
127
|
+
Object.assign({ path: '', component: m.default }, toRouteConfig(m.routeMeta)),
|
|
60
128
|
]),
|
|
61
129
|
};
|
|
62
130
|
routes === null || routes === void 0 ? void 0 : routes[insert](newRoute);
|
|
@@ -78,7 +146,7 @@ function getRoutes(files) {
|
|
|
78
146
|
pathMatch,
|
|
79
147
|
_module: () => module(),
|
|
80
148
|
loadChildren: () => module().then((m) => [
|
|
81
|
-
Object.assign({ path: '', component: m.default }, m.routeMeta),
|
|
149
|
+
Object.assign({ path: '', component: m.default }, toRouteConfig(m.routeMeta)),
|
|
82
150
|
]),
|
|
83
151
|
});
|
|
84
152
|
}
|
|
@@ -91,7 +159,7 @@ function getRoutes(files) {
|
|
|
91
159
|
pathMatch,
|
|
92
160
|
_module: () => module(),
|
|
93
161
|
loadChildren: () => module().then((m) => [
|
|
94
|
-
Object.assign({ path: '', component: m.default }, m.routeMeta),
|
|
162
|
+
Object.assign({ path: '', component: m.default }, toRouteConfig(m.routeMeta)),
|
|
95
163
|
]),
|
|
96
164
|
});
|
|
97
165
|
}
|
|
@@ -99,7 +167,7 @@ function getRoutes(files) {
|
|
|
99
167
|
parent.loadComponent = () => parent._module().then((m) => m.default);
|
|
100
168
|
parent.loadChildren = () => parent._module().then((m) => {
|
|
101
169
|
return [
|
|
102
|
-
Object.assign({ path: '', children: parent._children }, m.routeMeta),
|
|
170
|
+
Object.assign({ path: '', children: parent._children }, toRouteConfig(m.routeMeta)),
|
|
103
171
|
];
|
|
104
172
|
});
|
|
105
173
|
}
|
|
@@ -167,9 +235,18 @@ const injectActivatedRoute = () => {
|
|
|
167
235
|
* @param features
|
|
168
236
|
* @returns Providers and features to configure the router with routes
|
|
169
237
|
*/
|
|
170
|
-
|
|
171
|
-
return
|
|
172
|
-
|
|
238
|
+
function provideFileRouter(...features) {
|
|
239
|
+
return makeEnvironmentProviders([
|
|
240
|
+
// TODO: remove type casting after Angular >=15.1.1 upgrade
|
|
241
|
+
// https://github.com/angular/angular/pull/48720
|
|
242
|
+
provideRouter(routes, ...features).ɵproviders,
|
|
243
|
+
{
|
|
244
|
+
provide: ENVIRONMENT_INITIALIZER,
|
|
245
|
+
multi: true,
|
|
246
|
+
useValue: () => updateMetaTagsOnRouteChange(),
|
|
247
|
+
},
|
|
248
|
+
]);
|
|
249
|
+
}
|
|
173
250
|
|
|
174
251
|
/**
|
|
175
252
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analogjs-router.mjs","sources":["../esm2020/lib/routes.mjs","../esm2020/lib/define-route.mjs","../esm2020/lib/provide-file-routes.mjs","../esm2020/analogjs-router.mjs"],"sourcesContent":["/// <reference types=\"vite/client\" />\nconst FILES = import.meta.glob([\n '/app/routes/**/*.ts',\n '/src/app/routes/**/*.ts',\n]);\nconst CONTENT_FILES_GLOB = import.meta.glob(['/src/app/routes/**/*.md'], { as: 'raw', eager: true });\nconst CONTENT_FILES = Object.keys(CONTENT_FILES_GLOB).reduce((curr, key) => {\n curr = {\n ...curr,\n [key]: () => Promise.resolve(CONTENT_FILES_GLOB[key]),\n };\n return curr;\n}, {});\n/**\n * Function used to parse list of files and return\n * configuration of routes.\n *\n * @param files\n * @returns Array of routes\n */\nexport function getRoutes(files) {\n const ROUTES = Object.keys(files).sort((a, b) => a.length - b.length);\n const routeConfigs = ROUTES.reduce((routes, key) => {\n const module = key.endsWith('.md')\n ? () => import('@analogjs/content').then((m) => ({\n default: m.MarkdownComponent,\n routeMeta: {\n data: { _analogContent: files[key] },\n },\n }))\n : files[key];\n const segments = key\n .replace(/^\\/(.*?)\\/routes|\\/app\\/routes|\\.(js|ts|md)$/g, '')\n .replace(/\\[\\.{3}.+\\]/, '**')\n .replace(/\\[([^\\]]+)\\]/g, ':$1')\n .split('/')\n .filter(Boolean);\n segments.reduce((parent, segment, index) => {\n const path = segment.replace(/index|^\\(.*?\\)$/g, '').replace('.', '/');\n const isIndex = !path;\n const isCatchall = path === '**';\n const pathMatch = isIndex ? 'full' : 'prefix';\n const root = index === 0;\n const leaf = index === segments.length - 1 && segments.length > 1;\n const node = !root && !leaf;\n const insert = /^\\w|\\//.test(path) && !isCatchall ? 'unshift' : 'push';\n if (root) {\n const dynamic = path.startsWith(':');\n if (dynamic)\n return parent;\n const last = segments.length === 1;\n if (last) {\n const newRoute = {\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...m.routeMeta,\n },\n ]),\n };\n routes?.[insert](newRoute);\n return parent;\n }\n }\n if (root || node) {\n const current = root ? routes : parent._children;\n const found = current?.find((route) => route.path === path);\n if (found) {\n if (!found._children) {\n found._children = [];\n }\n found.pathMatch = pathMatch;\n }\n else {\n current?.[insert]({\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...m.routeMeta,\n },\n ]),\n });\n }\n return (found ||\n current?.[insert === 'unshift' ? 0 : current.length - 1]);\n }\n if (leaf) {\n parent?._children?.[insert]({\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...m.routeMeta,\n },\n ]),\n });\n }\n if (parent._children) {\n parent.loadComponent = () => parent._module().then((m) => m.default);\n parent.loadChildren = () => parent._module().then((m) => {\n return [\n {\n path: '',\n children: parent._children,\n ...m.routeMeta,\n },\n ];\n });\n }\n return parent;\n }, {});\n return routes;\n }, []);\n return routeConfigs;\n}\nexport const routes = [...getRoutes({ ...FILES, ...CONTENT_FILES })];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQU1yQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBYztJQUMxQyxxQkFBcUI7SUFDckIseUJBQXlCO0NBQzFCLENBQUMsQ0FBQztBQUVILE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3pDLENBQUMseUJBQXlCLENBQUMsRUFDM0IsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FDM0IsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUErQyxNQUFNLENBQUMsSUFBSSxDQUMzRSxrQkFBa0IsQ0FDbkIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7SUFDckIsSUFBSSxHQUFHO1FBQ0wsR0FBRyxJQUFJO1FBQ1AsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3RELENBQUM7SUFFRixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUVQOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBaUQ7SUFDekUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV0RSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNoQyxDQUFDLE1BQWUsRUFBRSxH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QUUsRUFBRSxDQUFDO3dCQUNuQjs0QkFDRSxJQUFJLEVBQUUsRUFBRTs0QkFDUixTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU87NEJBQ3BCLEdBQUcsQ0FBQyxDQUFDLFNBQVM7eUJBQ2Y7cUJBQ0YsQ0FBQztpQkFDTCxDQUFDLENBQUM7YUFDSjtZQUVELElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtnQkFDcEIsTUFBTSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FDMUIsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2RCxNQUFNLENBQUMsWUFBWSxHQUFHLEdBQUcsRUFBRSxDQUN6QixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBYyxFQUFFLEVBQUU7b0JBQ3ZDLE9BQU87d0JBQ0w7NEJBQ0UsSUFBSSxFQUFFLEVBQUU7NEJBQ1IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxTQUFTOzRCQUMxQixHQUFHLENBQUMsQ0FBQyxTQUFTO3lCQUNmO3FCQUNGLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7YUFDTjtZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsRUFBRSxFQUF1RSxDQUFDLENBQUM7UUFFNUUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxFQUNELEVBQUUsQ0FDSCxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBWSxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGUvY2xpZW50XCIgLz5cblxuaW1wb3J0IHR5cGUgeyBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFJvdXRlRXhwb3J0IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5jb25zdCBGSUxFUyA9IGltcG9ydC5tZXRhLmdsb2I8Um91dGVFeHBvcnQ+KFtcbiAgJy9hcHAvcm91dGVzLyoqLyoudHMnLFxuICAnL3NyYy9hcHAvcm91dGVzLyoqLyoudHMnLFxuXSk7XG5cbmNvbnN0IENPTlRFTlRfRklMRVNfR0xPQiA9IGltcG9ydC5tZXRhLmdsb2I8Um91dGVFeHBvcnQ+KFxuICBbJy9zcmMvYXBwL3JvdXRlcy8qKi8qLm1kJ10sXG4gIHsgYXM6ICdyYXcnLCBlYWdlcjogdHJ1ZSB9XG4pO1xuXG5jb25zdCBDT05URU5UX0ZJTEVTOiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiBQcm9taXNlPFJvdXRlRXhwb3J0Pj4gPSBPYmplY3Qua2V5cyhcbiAgQ09OVEVOVF9GSUxFU19HTE9CXG4pLnJlZHVjZSgoY3Vyciwga2V5KSA9PiB7XG4gIGN1cnIgPSB7XG4gICAgLi4uY3VycixcbiAgICBba2V5XTogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKENPTlRFTlRfRklMRVNfR0xPQltrZXldKSxcbiAgfTtcblxuICByZXR1cm4gY3Vycjtcbn0sIHt9KTtcblxuLyoqXG4gKiBGdW5jdGlvbiB1c2VkIHRvIHBhcnNlIGxpc3Qgb2YgZmlsZXMgYW5kIHJldHVyblxuICogY29uZmlndXJhdGlvbiBvZiByb3V0ZXMuXG4gKlxuICogQHBhcmFtIGZpbGVzXG4gKiBAcmV0dXJucyBBcnJheSBvZiByb3V0ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlcyhmaWxlczogUmVjb3JkPHN0cmluZywgKCkgPT4gUHJvbWlzZTxSb3V0ZUV4cG9ydD4+KSB7XG4gIGNvbnN0IFJPVVRFUyA9IE9iamVjdC5rZXlzKGZpbGVzKS5zb3J0KChhLCBiKSA9PiBhLmxlbmd0aCAtIGIubGVuZ3RoKTtcblxuICBjb25zdCByb3V0ZUNvbmZpZ3MgPSBST1VURVMucmVkdWNlPFJvdXRlW10+KFxuICAgIChyb3V0ZXM6IFJvdXRlW10sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGUgPSBrZXkuZW5kc1dpdGgoJy5tZCcpXG4gICAgICAgID8gKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnQGFuYWxvZ2pzL2NvbnRlbnQnKS50aGVuKChtKSA9PiAoe1xuICAgICAgICAgICAgICBkZWZhdWx0OiBtLk1hcmtkb3duQ29tcG9uZW50LFxuICAgICAgICAgICAgICByb3V0ZU1ldGE6IHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7IF9hbmFsb2dDb250ZW50OiBmaWxlc1trZXldIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgOiBmaWxlc1trZXldO1xuXG4gICAgICBjb25zdCBzZWdtZW50cyA9IGtleVxuICAgICAgICAucmVwbGFjZSgvXlxcLyguKj8pXFwvcm91dGVzfFxcL2FwcFxcL3JvdXRlc3xcXC4oanN8dHN8bWQpJC9nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcW1xcLnszfS4rXFxdLywgJyoqJylcbiAgICAgICAgLnJlcGxhY2UoL1xcWyhbXlxcXV0rKVxcXS9nLCAnOiQxJylcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgc2VnbWVudHMucmVkdWNlKChwYXJlbnQsIHNlZ21lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBzZWdtZW50LnJlcGxhY2UoL2luZGV4fF5cXCguKj9cXCkkL2csICcnKS5yZXBsYWNlKCcuJywgJy8nKTtcbiAgICAgICAgY29uc3QgaXNJbmRleCA9ICFwYXRoO1xuICAgICAgICBjb25zdCBpc0NhdGNoYWxsID0gcGF0aCA9PT0gJyoqJztcbiAgICAgICAgY29uc3QgcGF0aE1hdGNoID0gaXNJbmRleCA/ICdmdWxsJyA6ICdwcmVmaXgnO1xuICAgICAgICBjb25zdCByb290ID0gaW5kZXggPT09IDA7XG4gICAgICAgIGNvbnN0IGxlYWYgPSBpbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSAmJiBzZWdtZW50cy5sZW5ndGggPiAxO1xuICAgICAgICBjb25zdCBub2RlID0gIXJvb3QgJiYgIWxlYWY7XG4gICAgICAgIGNvbnN0IGluc2VydCA9IC9eXFx3fFxcLy8udGVzdChwYXRoKSAmJiAhaXNDYXRjaGFsbCA/ICd1bnNoaWZ0JyA6ICdwdXNoJztcblxuICAgICAgICBpZiAocm9vdCkge1xuICAgICAgICAgIGNvbnN0IGR5bmFtaWMgPSBwYXRoLnN0YXJ0c1dpdGgoJzonKTtcbiAgICAgICAgICBpZiAoZHluYW1pYykgcmV0dXJuIHBhcmVudDtcblxuICAgICAgICAgIGNvbnN0IGxhc3QgPSBzZWdtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgICAgaWYgKGxhc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdXRlID0ge1xuICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICBwYXRoTWF0Y2gsXG4gICAgICAgICAgICAgIF9tb2R1bGU6ICgpID0+IG1vZHVsZSgpLFxuICAgICAgICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+XG4gICAgICAgICAgICAgICAgbW9kdWxlKCkudGhlbigobSkgPT4gW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBtLmRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgIC4uLm0ucm91dGVNZXRhLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJvdXRlcz8uW2luc2VydF0obmV3Um91dGUgYXMgUm91dGUpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocm9vdCB8fCBub2RlKSB7XG4gICAgICAgICAgY29uc3QgY3VycmVudCA9IHJvb3QgPyByb3V0ZXMgOiBwYXJlbnQuX2NoaWxkcmVuO1xuICAgICAgICAgIGNvbnN0IGZvdW5kID0gY3VycmVudD8uZmluZCgocm91dGU6IGFueSkgPT4gcm91dGUucGF0aCA9PT0gcGF0aCk7XG5cbiAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgIGlmICghZm91bmQuX2NoaWxkcmVuKSB7XG4gICAgICAgICAgICAgIGZvdW5kLl9jaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3VuZC5wYXRoTWF0Y2ggPSBwYXRoTWF0Y2g7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnQ/LltpbnNlcnRdKHtcbiAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgcGF0aE1hdGNoLFxuICAgICAgICAgICAgICBfbW9kdWxlOiAoKSA9PiBtb2R1bGUoKSxcbiAgICAgICAgICAgICAgbG9hZENoaWxkcmVuOiAoKSA9PlxuICAgICAgICAgICAgICAgIG1vZHVsZSgpLnRoZW4oKG0pID0+IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogbS5kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgICAuLi5tLnJvdXRlTWV0YSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZm91bmQgfHxcbiAgICAgICAgICAgIChjdXJyZW50Py5baW5zZXJ0ID09PSAndW5zaGlmdCcgPyAwIDogY3VycmVudC5sZW5ndGggLSAxXSBhcyBSb3V0ZSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxlYWYpIHtcbiAgICAgICAgICBwYXJlbnQ/Ll9jaGlsZHJlbj8uW2luc2VydF0oe1xuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIHBhdGhNYXRjaCxcbiAgICAgICAgICAgIF9tb2R1bGU6ICgpID0+IG1vZHVsZSgpLFxuICAgICAgICAgICAgbG9hZENoaWxkcmVuOiAoKSA9PlxuICAgICAgICAgICAgICBtb2R1bGUoKS50aGVuKChtKSA9PiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IG0uZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgIC4uLm0ucm91dGVNZXRhLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcmVudC5fY2hpbGRyZW4pIHtcbiAgICAgICAgICBwYXJlbnQubG9hZENvbXBvbmVudCA9ICgpID0+XG4gICAgICAgICAgICBwYXJlbnQuX21vZHVsZSgpLnRoZW4oKG06IFJvdXRlRXhwb3J0KSA9PiBtLmRlZmF1bHQpO1xuICAgICAgICAgIHBhcmVudC5sb2FkQ2hpbGRyZW4gPSAoKSA9PlxuICAgICAgICAgICAgcGFyZW50Ll9tb2R1bGUoKS50aGVuKChtOiBSb3V0ZUV4cG9ydCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHBhcmVudC5fY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAuLi5tLnJvdXRlTWV0YSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgfSwge30gYXMgUm91dGUgJiB7IF9tb2R1bGU6ICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQ+OyBfY2hpbGRyZW46IGFueVtdIH0pO1xuXG4gICAgICByZXR1cm4gcm91dGVzO1xuICAgIH0sXG4gICAgW11cbiAgKTtcblxuICByZXR1cm4gcm91dGVDb25maWdzO1xufVxuXG5leHBvcnQgY29uc3Qgcm91dGVzOiBSb3V0ZVtdID0gWy4uLmdldFJvdXRlcyh7IC4uLkZJTEVTLCAuLi5DT05URU5UX0ZJTEVTIH0pXTtcbiJdfQ==","import { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ActivatedRoute } from '@angular/router';\n/**\n * @deprecated Use `RouteMeta` type instead.\n * For more info see: https://github.com/analogjs/analog/issues/223\n *\n * Defines additional route config metadata. This\n * object is merged into the route config with\n * the predefined file-based route.\n *\n * @usageNotes\n *\n * ```\n * import { Component } from '@angular/core';\n * import { defineRouteMeta } from '@analogjs/router';\n *\n * export const routeMeta = defineRouteMeta({\n * title: 'Welcome'\n * });\n *\n * @Component({\n * template: `Home`,\n * standalone: true,\n * })\n * export default class HomeComponent {}\n * ```\n *\n * @param route\n * @returns\n */\nexport const defineRouteMeta = (route) => {\n return route;\n};\n/**\n * Returns the instance of Angular Router\n *\n * @returns The router\n */\nexport const injectRouter = () => {\n return inject(Router);\n};\n/**\n * Returns the instance of the Activate Route for the component\n *\n * @returns The activated route\n */\nexport const injectActivatedRoute = () => {\n return inject(ActivatedRoute);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLXJvdXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvZGVmaW5lLXJvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFvQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFXakQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQXNCLEVBQUUsRUFBRTtJQUN4RCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO0lBQy9CLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUU7SUFDdkMsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZSBhcyBOZ1JvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG50eXBlIFJvdXRlT21pdHRlZCA9XG4gIHwgJ2NvbXBvbmVudCdcbiAgfCAnbG9hZENvbXBvbmVudCdcbiAgfCAnbG9hZENoaWxkcmVuJ1xuICB8ICdwYXRoJ1xuICB8ICdwYXRoTWF0Y2gnO1xuXG50eXBlIFJlc3RyaWN0ZWRSb3V0ZSA9IE9taXQ8TmdSb3V0ZSwgUm91dGVPbWl0dGVkPjtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFJvdXRlTWV0YWAgdHlwZSBpbnN0ZWFkLlxuICogRm9yIG1vcmUgaW5mbyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmFsb2dqcy9hbmFsb2cvaXNzdWVzLzIyM1xuICpcbiAqIERlZmluZXMgYWRkaXRpb25hbCByb3V0ZSBjb25maWcgbWV0YWRhdGEuIFRoaXNcbiAqIG9iamVjdCBpcyBtZXJnZWQgaW50byB0aGUgcm91dGUgY29uZmlnIHdpdGhcbiAqIHRoZSBwcmVkZWZpbmVkIGZpbGUtYmFzZWQgcm91dGUuXG4gKlxuICogQHVzYWdlTm90ZXNcbiAqXG4gKiBgYGBcbiAqIGltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuICogaW1wb3J0IHsgZGVmaW5lUm91dGVNZXRhIH0gZnJvbSAnQGFuYWxvZ2pzL3JvdXRlcic7XG4gKlxuICogIGV4cG9ydCBjb25zdCByb3V0ZU1ldGEgPSBkZWZpbmVSb3V0ZU1ldGEoe1xuICogICAgdGl0bGU6ICdXZWxjb21lJ1xuICogIH0pO1xuICpcbiAqIEBDb21wb25lbnQoe1xuICogICB0ZW1wbGF0ZTogYEhvbWVgLFxuICogICBzdGFuZGFsb25lOiB0cnVlLFxuICogfSlcbiAqIGV4cG9ydCBkZWZhdWx0IGNsYXNzIEhvbWVDb21wb25lbnQge31cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSByb3V0ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IGRlZmluZVJvdXRlTWV0YSA9IChyb3V0ZTogUmVzdHJpY3RlZFJvdXRlKSA9PiB7XG4gIHJldHVybiByb3V0ZTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgQW5ndWxhciBSb3V0ZXJcbiAqXG4gKiBAcmV0dXJucyBUaGUgcm91dGVyXG4gKi9cbmV4cG9ydCBjb25zdCBpbmplY3RSb3V0ZXIgPSAoKSA9PiB7XG4gIHJldHVybiBpbmplY3QoUm91dGVyKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIEFjdGl2YXRlIFJvdXRlIGZvciB0aGUgY29tcG9uZW50XG4gKlxuICogQHJldHVybnMgVGhlIGFjdGl2YXRlZCByb3V0ZVxuICovXG5leHBvcnQgY29uc3QgaW5qZWN0QWN0aXZhdGVkUm91dGUgPSAoKSA9PiB7XG4gIHJldHVybiBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xufTtcbiJdfQ==","import { provideRouter } from '@angular/router';\nimport { routes } from './routes';\n/**\n * Sets up providers for the Angular router, and registers\n * file-based routes. Additional features can be provided\n * to further configure the behavior of the router.\n *\n * @param features\n * @returns Providers and features to configure the router with routes\n */\nexport const provideFileRouter = (...features) => {\n return provideRouter(routes, ...features);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1maWxlLXJvdXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci9zcmMvbGliL3Byb3ZpZGUtZmlsZS1yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsUUFBMEIsRUFBRSxFQUFFO0lBQ2pFLE9BQU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb3ZpZGVSb3V0ZXIsIFJvdXRlckZlYXR1cmVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHJvdXRlcyB9IGZyb20gJy4vcm91dGVzJztcblxuLyoqXG4gKiBTZXRzIHVwIHByb3ZpZGVycyBmb3IgdGhlIEFuZ3VsYXIgcm91dGVyLCBhbmQgcmVnaXN0ZXJzXG4gKiBmaWxlLWJhc2VkIHJvdXRlcy4gQWRkaXRpb25hbCBmZWF0dXJlcyBjYW4gYmUgcHJvdmlkZWRcbiAqIHRvIGZ1cnRoZXIgY29uZmlndXJlIHRoZSBiZWhhdmlvciBvZiB0aGUgcm91dGVyLlxuICpcbiAqIEBwYXJhbSBmZWF0dXJlc1xuICogQHJldHVybnMgUHJvdmlkZXJzIGFuZCBmZWF0dXJlcyB0byBjb25maWd1cmUgdGhlIHJvdXRlciB3aXRoIHJvdXRlc1xuICovXG5leHBvcnQgY29uc3QgcHJvdmlkZUZpbGVSb3V0ZXIgPSAoLi4uZmVhdHVyZXM6IFJvdXRlckZlYXR1cmVzW10pID0+IHtcbiAgcmV0dXJuIHByb3ZpZGVSb3V0ZXIocm91dGVzLCAuLi5mZWF0dXJlcyk7XG59O1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtcm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9hbmFsb2dqcy1yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analogjs-router.mjs","sources":["../esm2020/lib/meta-tags.mjs","../esm2020/lib/route-config.mjs","../esm2020/lib/routes.mjs","../esm2020/lib/define-route.mjs","../esm2020/lib/provide-file-router.mjs","../esm2020/analogjs-router.mjs"],"sourcesContent":["import { inject } from '@angular/core';\nimport { Meta } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nexport const ROUTE_META_TAGS_KEY = Symbol('@analogjs/router Route Meta Tags Key');\nconst CHARSET_KEY = 'charset';\nconst HTTP_EQUIV_KEY = 'httpEquiv';\n// httpEquiv selector key needs to be in kebab case format\nconst HTTP_EQUIV_SELECTOR_KEY = 'http-equiv';\nconst NAME_KEY = 'name';\nconst PROPERTY_KEY = 'property';\nconst CONTENT_KEY = 'content';\nexport function updateMetaTagsOnRouteChange() {\n const router = inject(Router);\n const metaService = inject(Meta);\n router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe(() => {\n const metaTagMap = getMetaTagMap(router.routerState.snapshot.root);\n for (const metaTagSelector in metaTagMap) {\n const metaTag = metaTagMap[metaTagSelector];\n metaService.updateTag(metaTag, metaTagSelector);\n }\n });\n}\nfunction getMetaTagMap(route) {\n const metaTagMap = {};\n let currentRoute = route;\n while (currentRoute) {\n const metaTags = currentRoute.data[ROUTE_META_TAGS_KEY] ?? [];\n for (const metaTag of metaTags) {\n metaTagMap[getMetaTagSelector(metaTag)] = metaTag;\n }\n currentRoute = currentRoute.firstChild;\n }\n return metaTagMap;\n}\nfunction getMetaTagSelector(metaTag) {\n if (metaTag.name) {\n return `${NAME_KEY}=\"${metaTag.name}\"`;\n }\n if (metaTag.property) {\n return `${PROPERTY_KEY}=\"${metaTag.property}\"`;\n }\n if (metaTag.httpEquiv) {\n return `${HTTP_EQUIV_SELECTOR_KEY}=\"${metaTag.httpEquiv}\"`;\n }\n return CHARSET_KEY;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS10YWdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvbWV0YS10YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBK0IsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQTBCLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUN2QyxzQ0FBc0MsQ0FDdkMsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQztBQUM5QixNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUM7QUFDbkMsMERBQTBEO0FBQzFELE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDO0FBQzdDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQztBQUN4QixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7QUFDaEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBOEI5QixNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsTUFBTSxDQUFDLE1BQU07U0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7U0FDdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNkLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSxLQUFLLE1BQU0sZUFBZSxJQUFJLFVBQVUsRUFBRTtZQUN4QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQ3hCLGVBQWtDLENBQ3RCLENBQUM7WUFDZixXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLEtBQTZCO0lBQ2xELE1BQU0sVUFBVSxHQUFHLEVBQWdCLENBQUM7SUFDcEMsSUFBSSxZQUFZLEdBQWtDLEtBQUssQ0FBQztJQUV4RCxPQUFPLFlBQVksRUFBRTtRQUNuQixNQUFNLFFBQVEsR0FBYyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pFLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFO1lBQzlCLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztTQUNuRDtRQUVELFlBQVksR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO0tBQ3hDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsT0FBZ0I7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1FBQ2hCLE9BQU8sR0FBRyxRQUFRLEtBQUssT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDO0tBQ3hDO0lBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1FBQ3BCLE9BQU8sR0FBRyxZQUFZLEtBQUssT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDO0tBQ2hEO0lBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1FBQ3JCLE9BQU8sR0FBRyx1QkFBdUIsS0FBSyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUM7S0FDNUQ7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXRhLCBNZXRhRGVmaW5pdGlvbiBhcyBOZ01ldGFUYWcgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBST1VURV9NRVRBX1RBR1NfS0VZID0gU3ltYm9sKFxuICAnQGFuYWxvZ2pzL3JvdXRlciBSb3V0ZSBNZXRhIFRhZ3MgS2V5J1xuKTtcblxuY29uc3QgQ0hBUlNFVF9LRVkgPSAnY2hhcnNldCc7XG5jb25zdCBIVFRQX0VRVUlWX0tFWSA9ICdodHRwRXF1aXYnO1xuLy8gaHR0cEVxdWl2IHNlbGVjdG9yIGtleSBuZWVkcyB0byBiZSBpbiBrZWJhYiBjYXNlIGZvcm1hdFxuY29uc3QgSFRUUF9FUVVJVl9TRUxFQ1RPUl9LRVkgPSAnaHR0cC1lcXVpdic7XG5jb25zdCBOQU1FX0tFWSA9ICduYW1lJztcbmNvbnN0IFBST1BFUlRZX0tFWSA9ICdwcm9wZXJ0eSc7XG5jb25zdCBDT05URU5UX0tFWSA9ICdjb250ZW50JztcblxuZXhwb3J0IHR5cGUgTWV0YVRhZyA9XG4gIHwgKENoYXJzZXRNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgQ0hBUlNFVF9LRVk+KVxuICB8IChIdHRwRXF1aXZNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgSFRUUF9FUVVJVl9LRVk+KVxuICB8IChOYW1lTWV0YVRhZyAmIEV4Y2x1ZGVSZXN0TWV0YVRhZ0tleXM8dHlwZW9mIE5BTUVfS0VZPilcbiAgfCAoUHJvcGVydHlNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgUFJPUEVSVFlfS0VZPik7XG5cbnR5cGUgQ2hhcnNldE1ldGFUYWcgPSB7IFtDSEFSU0VUX0tFWV06IHN0cmluZyB9O1xudHlwZSBIdHRwRXF1aXZNZXRhVGFnID0geyBbSFRUUF9FUVVJVl9LRVldOiBzdHJpbmc7IFtDT05URU5UX0tFWV06IHN0cmluZyB9O1xudHlwZSBOYW1lTWV0YVRhZyA9IHsgW05BTUVfS0VZXTogc3RyaW5nOyBbQ09OVEVOVF9LRVldOiBzdHJpbmcgfTtcbnR5cGUgUHJvcGVydHlNZXRhVGFnID0geyBbUFJPUEVSVFlfS0VZXTogc3RyaW5nOyBbQ09OVEVOVF9LRVldOiBzdHJpbmcgfTtcblxudHlwZSBNZXRhVGFnS2V5ID1cbiAgfCB0eXBlb2YgQ0hBUlNFVF9LRVlcbiAgfCB0eXBlb2YgSFRUUF9FUVVJVl9LRVlcbiAgfCB0eXBlb2YgTkFNRV9LRVlcbiAgfCB0eXBlb2YgUFJPUEVSVFlfS0VZO1xudHlwZSBFeGNsdWRlUmVzdE1ldGFUYWdLZXlzPEtleSBleHRlbmRzIE1ldGFUYWdLZXk+ID0ge1xuICBbSyBpbiBFeGNsdWRlPE1ldGFUYWdLZXksIEtleT5dPzogbmV2ZXI7XG59O1xuXG50eXBlIE1ldGFUYWdTZWxlY3RvciA9XG4gIHwgdHlwZW9mIENIQVJTRVRfS0VZXG4gIHwgYCR7XG4gICAgICB8IHR5cGVvZiBIVFRQX0VRVUlWX1NFTEVDVE9SX0tFWVxuICAgICAgfCB0eXBlb2YgTkFNRV9LRVlcbiAgICAgIHwgdHlwZW9mIFBST1BFUlRZX0tFWX09XCIke3N0cmluZ31cImA7XG50eXBlIE1ldGFUYWdNYXAgPSBSZWNvcmQ8TWV0YVRhZ1NlbGVjdG9yLCBNZXRhVGFnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU1ldGFUYWdzT25Sb3V0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IG1ldGFTZXJ2aWNlID0gaW5qZWN0KE1ldGEpO1xuXG4gIHJvdXRlci5ldmVudHNcbiAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgbWV0YVRhZ01hcCA9IGdldE1ldGFUYWdNYXAocm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3QpO1xuXG4gICAgICBmb3IgKGNvbnN0IG1ldGFUYWdTZWxlY3RvciBpbiBtZXRhVGFnTWFwKSB7XG4gICAgICAgIGNvbnN0IG1ldGFUYWcgPSBtZXRhVGFnTWFwW1xuICAgICAgICAgIG1ldGFUYWdTZWxlY3RvciBhcyBNZXRhVGFnU2VsZWN0b3JcbiAgICAgICAgXSBhcyBOZ01ldGFUYWc7XG4gICAgICAgIG1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyhtZXRhVGFnLCBtZXRhVGFnU2VsZWN0b3IpO1xuICAgICAgfVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRNZXRhVGFnTWFwKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogTWV0YVRhZ01hcCB7XG4gIGNvbnN0IG1ldGFUYWdNYXAgPSB7fSBhcyBNZXRhVGFnTWFwO1xuICBsZXQgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCA9IHJvdXRlO1xuXG4gIHdoaWxlIChjdXJyZW50Um91dGUpIHtcbiAgICBjb25zdCBtZXRhVGFnczogTWV0YVRhZ1tdID0gY3VycmVudFJvdXRlLmRhdGFbUk9VVEVfTUVUQV9UQUdTX0tFWV0gPz8gW107XG4gICAgZm9yIChjb25zdCBtZXRhVGFnIG9mIG1ldGFUYWdzKSB7XG4gICAgICBtZXRhVGFnTWFwW2dldE1ldGFUYWdTZWxlY3RvcihtZXRhVGFnKV0gPSBtZXRhVGFnO1xuICAgIH1cblxuICAgIGN1cnJlbnRSb3V0ZSA9IGN1cnJlbnRSb3V0ZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFUYWdNYXA7XG59XG5cbmZ1bmN0aW9uIGdldE1ldGFUYWdTZWxlY3RvcihtZXRhVGFnOiBNZXRhVGFnKTogTWV0YVRhZ1NlbGVjdG9yIHtcbiAgaWYgKG1ldGFUYWcubmFtZSkge1xuICAgIHJldHVybiBgJHtOQU1FX0tFWX09XCIke21ldGFUYWcubmFtZX1cImA7XG4gIH1cblxuICBpZiAobWV0YVRhZy5wcm9wZXJ0eSkge1xuICAgIHJldHVybiBgJHtQUk9QRVJUWV9LRVl9PVwiJHttZXRhVGFnLnByb3BlcnR5fVwiYDtcbiAgfVxuXG4gIGlmIChtZXRhVGFnLmh0dHBFcXVpdikge1xuICAgIHJldHVybiBgJHtIVFRQX0VRVUlWX1NFTEVDVE9SX0tFWX09XCIke21ldGFUYWcuaHR0cEVxdWl2fVwiYDtcbiAgfVxuXG4gIHJldHVybiBDSEFSU0VUX0tFWTtcbn1cbiJdfQ==","import { ROUTE_META_TAGS_KEY } from './meta-tags';\nexport function toRouteConfig(routeMeta) {\n if (!routeMeta) {\n return {};\n }\n if (isRedirectRouteMeta(routeMeta)) {\n return routeMeta;\n }\n const { meta, ...routeConfig } = routeMeta;\n if (Array.isArray(meta)) {\n routeConfig.data = { ...routeConfig.data, [ROUTE_META_TAGS_KEY]: meta };\n }\n else if (typeof meta === 'function') {\n routeConfig.resolve = {\n ...routeConfig.resolve,\n [ROUTE_META_TAGS_KEY]: meta,\n };\n }\n return routeConfig;\n}\nfunction isRedirectRouteMeta(routeMeta) {\n return !!routeMeta.redirectTo;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQWdDO0lBQzVELElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNsQyxPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFFM0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3ZCLFdBQVcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ3pFO1NBQU0sSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVLEVBQUU7UUFDckMsV0FBVyxDQUFDLE9BQU8sR0FBRztZQUNwQixHQUFHLFdBQVcsQ0FBQyxPQUFPO1lBQ3RCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJO1NBQzVCLENBQUM7S0FDSDtJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUMxQixTQUFvQjtJQUVwQixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWRpcmVjdFJvdXRlTWV0YSwgUm91dGVDb25maWcsIFJvdXRlTWV0YSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFJPVVRFX01FVEFfVEFHU19LRVkgfSBmcm9tICcuL21ldGEtdGFncyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1JvdXRlQ29uZmlnKHJvdXRlTWV0YTogUm91dGVNZXRhIHwgdW5kZWZpbmVkKTogUm91dGVDb25maWcge1xuICBpZiAoIXJvdXRlTWV0YSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGlmIChpc1JlZGlyZWN0Um91dGVNZXRhKHJvdXRlTWV0YSkpIHtcbiAgICByZXR1cm4gcm91dGVNZXRhO1xuICB9XG5cbiAgY29uc3QgeyBtZXRhLCAuLi5yb3V0ZUNvbmZpZyB9ID0gcm91dGVNZXRhO1xuXG4gIGlmIChBcnJheS5pc0FycmF5KG1ldGEpKSB7XG4gICAgcm91dGVDb25maWcuZGF0YSA9IHsgLi4ucm91dGVDb25maWcuZGF0YSwgW1JPVVRFX01FVEFfVEFHU19LRVldOiBtZXRhIH07XG4gIH0gZWxzZSBpZiAodHlwZW9mIG1ldGEgPT09ICdmdW5jdGlvbicpIHtcbiAgICByb3V0ZUNvbmZpZy5yZXNvbHZlID0ge1xuICAgICAgLi4ucm91dGVDb25maWcucmVzb2x2ZSxcbiAgICAgIFtST1VURV9NRVRBX1RBR1NfS0VZXTogbWV0YSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHJvdXRlQ29uZmlnO1xufVxuXG5mdW5jdGlvbiBpc1JlZGlyZWN0Um91dGVNZXRhKFxuICByb3V0ZU1ldGE6IFJvdXRlTWV0YVxuKTogcm91dGVNZXRhIGlzIFJlZGlyZWN0Um91dGVNZXRhIHtcbiAgcmV0dXJuICEhcm91dGVNZXRhLnJlZGlyZWN0VG87XG59XG4iXX0=","/// <reference types=\"vite/client\" />\nimport { toRouteConfig } from './route-config';\nconst FILES = import.meta.glob([\n '/app/routes/**/*.ts',\n '/src/app/routes/**/*.ts',\n]);\nconst CONTENT_FILES = import.meta.glob(['/src/app/routes/**/*.md'], {\n as: 'raw',\n});\n/**\n * Function used to parse list of files and return\n * configuration of routes.\n *\n * @param files\n * @returns Array of routes\n */\nexport function getRoutes(files) {\n const ROUTES = Object.keys(files).sort((a, b) => a.length - b.length);\n const routeConfigs = ROUTES.reduce((routes, key) => {\n const module = key.endsWith('.md')\n ? () => import('@analogjs/content').then((m) => ({\n default: m.MarkdownComponent,\n routeMeta: {\n data: { _analogContent: files[key] },\n },\n }))\n : files[key];\n const segments = key\n .replace(/^\\/(.*?)\\/routes|\\/app\\/routes|\\.(js|ts|md)$/g, '')\n .replace(/\\[\\.{3}.+\\]/, '**')\n .replace(/\\[([^\\]]+)\\]/g, ':$1')\n .split('/')\n .filter(Boolean);\n segments.reduce((parent, segment, index) => {\n const path = segment.replace(/index|^\\(.*?\\)$/g, '').replace('.', '/');\n const isIndex = !path;\n const isCatchall = path === '**';\n const pathMatch = isIndex ? 'full' : 'prefix';\n const root = index === 0;\n const leaf = index === segments.length - 1 && segments.length > 1;\n const node = !root && !leaf;\n const insert = /^\\w|\\//.test(path) && !isCatchall ? 'unshift' : 'push';\n if (root) {\n const dynamic = path.startsWith(':');\n if (dynamic)\n return parent;\n const last = segments.length === 1;\n if (last) {\n const newRoute = {\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...toRouteConfig(m.routeMeta),\n },\n ]),\n };\n routes?.[insert](newRoute);\n return parent;\n }\n }\n if (root || node) {\n const current = root ? routes : parent._children;\n const found = current?.find((route) => route.path === path);\n if (found) {\n if (!found._children) {\n found._children = [];\n }\n found.pathMatch = pathMatch;\n }\n else {\n current?.[insert]({\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...toRouteConfig(m.routeMeta),\n },\n ]),\n });\n }\n return (found ||\n current?.[insert === 'unshift' ? 0 : current.length - 1]);\n }\n if (leaf) {\n parent?._children?.[insert]({\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...toRouteConfig(m.routeMeta),\n },\n ]),\n });\n }\n if (parent._children) {\n parent.loadComponent = () => parent._module().then((m) => m.default);\n parent.loadChildren = () => parent._module().then((m) => {\n return [\n {\n path: '',\n children: parent._children,\n ...toRouteConfig(m.routeMeta),\n },\n ];\n });\n }\n return parent;\n }, {});\n return routes;\n }, []);\n return routeConfigs;\n}\nexport const routes = [...getRoutes({ ...FILES, ...CONTENT_FILES })];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUtyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWM7SUFDMUMscUJBQXFCO0lBQ3JCLHlCQUF5QjtDQUMxQixDQUFDLENBQUM7QUFFSCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBUyxDQUFDLHlCQUF5QixDQUFDLEVBQUU7SUFDMUUsRUFBRSxFQUFFLEtBQUs7Q0FDVixDQUFDLENBQUM7QUFFSDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUN2QixLQUEwRDtJQUUxRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXRFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2hDLENBQUMsTUFBZSxFQUFFLEdBQVcsRUFBRSxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUErQixHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUM1RCxDQUFDLENBQUMsR0FBRyxFQUFFLENBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN2QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtnQkFDNUIsU0FBUyxFQUFFO29CQUNULElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsR0FB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QUMxQixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3ZELE1BQU0sQ0FBQyxZQUFZLEdBQUcsR0FBRyxFQUFFLENBQ3pCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFjLEVBQUUsRUFBRTtvQkFDdkMsT0FBTzt3QkFDTDs0QkFDRSxJQUFJLEVBQUUsRUFBRTs0QkFDUixRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVM7NEJBQzFCLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFrQyxDQUFDO3lCQUN2RDtxQkFDRixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO2FBQ047WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQUUsRUFBdUUsQ0FBQyxDQUFDO1FBRTVFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQztJQUVGLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlL2NsaWVudFwiIC8+XG5cbmltcG9ydCB0eXBlIHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBSb3V0ZUV4cG9ydCwgUm91dGVNZXRhIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgdG9Sb3V0ZUNvbmZpZyB9IGZyb20gJy4vcm91dGUtY29uZmlnJztcblxuY29uc3QgRklMRVMgPSBpbXBvcnQubWV0YS5nbG9iPFJvdXRlRXhwb3J0PihbXG4gICcvYXBwL3JvdXRlcy8qKi8qLnRzJyxcbiAgJy9zcmMvYXBwL3JvdXRlcy8qKi8qLnRzJyxcbl0pO1xuXG5jb25zdCBDT05URU5UX0ZJTEVTID0gaW1wb3J0Lm1ldGEuZ2xvYjxzdHJpbmc+KFsnL3NyYy9hcHAvcm91dGVzLyoqLyoubWQnXSwge1xuICBhczogJ3JhdycsXG59KTtcblxuLyoqXG4gKiBGdW5jdGlvbiB1c2VkIHRvIHBhcnNlIGxpc3Qgb2YgZmlsZXMgYW5kIHJldHVyblxuICogY29uZmlndXJhdGlvbiBvZiByb3V0ZXMuXG4gKlxuICogQHBhcmFtIGZpbGVzXG4gKiBAcmV0dXJucyBBcnJheSBvZiByb3V0ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlcyhcbiAgZmlsZXM6IFJlY29yZDxzdHJpbmcsICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQgfCBzdHJpbmc+PlxuKSB7XG4gIGNvbnN0IFJPVVRFUyA9IE9iamVjdC5rZXlzKGZpbGVzKS5zb3J0KChhLCBiKSA9PiBhLmxlbmd0aCAtIGIubGVuZ3RoKTtcblxuICBjb25zdCByb3V0ZUNvbmZpZ3MgPSBST1VURVMucmVkdWNlPFJvdXRlW10+KFxuICAgIChyb3V0ZXM6IFJvdXRlW10sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGU6ICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQ+ID0ga2V5LmVuZHNXaXRoKCcubWQnKVxuICAgICAgICA/ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJ0BhbmFsb2dqcy9jb250ZW50JykudGhlbigobSkgPT4gKHtcbiAgICAgICAgICAgICAgZGVmYXVsdDogbS5NYXJrZG93bkNvbXBvbmVudCxcbiAgICAgICAgICAgICAgcm91dGVNZXRhOiB7XG4gICAgICAgICAgICAgICAgZGF0YTogeyBfYW5hbG9nQ29udGVudDogZmlsZXNba2V5XSB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpXG4gICAgICAgIDogKGZpbGVzW2tleV0gYXMgKCkgPT4gUHJvbWlzZTxSb3V0ZUV4cG9ydD4pO1xuXG4gICAgICBjb25zdCBzZWdtZW50cyA9IGtleVxuICAgICAgICAucmVwbGFjZSgvXlxcLyguKj8pXFwvcm91dGVzfFxcL2FwcFxcL3JvdXRlc3xcXC4oanN8dHN8bWQpJC9nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcW1xcLnszfS4rXFxdLywgJyoqJylcbiAgICAgICAgLnJlcGxhY2UoL1xcWyhbXlxcXV0rKVxcXS9nLCAnOiQxJylcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgc2VnbWVudHMucmVkdWNlKChwYXJlbnQsIHNlZ21lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBzZWdtZW50LnJlcGxhY2UoL2luZGV4fF5cXCguKj9cXCkkL2csICcnKS5yZXBsYWNlKCcuJywgJy8nKTtcbiAgICAgICAgY29uc3QgaXNJbmRleCA9ICFwYXRoO1xuICAgICAgICBjb25zdCBpc0NhdGNoYWxsID0gcGF0aCA9PT0gJyoqJztcbiAgICAgICAgY29uc3QgcGF0aE1hdGNoID0gaXNJbmRleCA/ICdmdWxsJyA6ICdwcmVmaXgnO1xuICAgICAgICBjb25zdCByb290ID0gaW5kZXggPT09IDA7XG4gICAgICAgIGNvbnN0IGxlYWYgPSBpbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSAmJiBzZWdtZW50cy5sZW5ndGggPiAxO1xuICAgICAgICBjb25zdCBub2RlID0gIXJvb3QgJiYgIWxlYWY7XG4gICAgICAgIGNvbnN0IGluc2VydCA9IC9eXFx3fFxcLy8udGVzdChwYXRoKSAmJiAhaXNDYXRjaGFsbCA/ICd1bnNoaWZ0JyA6ICdwdXNoJztcblxuICAgICAgICBpZiAocm9vdCkge1xuICAgICAgICAgIGNvbnN0IGR5bmFtaWMgPSBwYXRoLnN0YXJ0c1dpdGgoJzonKTtcbiAgICAgICAgICBpZiAoZHluYW1pYykgcmV0dXJuIHBhcmVudDtcblxuICAgICAgICAgIGNvbnN0IGxhc3QgPSBzZWdtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgICAgaWYgKGxhc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdXRlID0ge1xuICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICBwYXRoTWF0Y2gsXG4gICAgICAgICAgICAgIF9tb2R1bGU6ICgpID0+IG1vZHVsZSgpLFxuICAgICAgICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+XG4gICAgICAgICAgICAgICAgbW9kdWxlKCkudGhlbigobSkgPT4gW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBtLmRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRvUm91dGVDb25maWcobS5yb3V0ZU1ldGEgYXMgUm91dGVNZXRhIHwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByb3V0ZXM/LltpbnNlcnRdKG5ld1JvdXRlIGFzIFJvdXRlKTtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJvb3QgfHwgbm9kZSkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSByb290ID8gcm91dGVzIDogcGFyZW50Ll9jaGlsZHJlbjtcbiAgICAgICAgICBjb25zdCBmb3VuZCA9IGN1cnJlbnQ/LmZpbmQoKHJvdXRlOiBhbnkpID0+IHJvdXRlLnBhdGggPT09IHBhdGgpO1xuXG4gICAgICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgICAgICBpZiAoIWZvdW5kLl9jaGlsZHJlbikge1xuICAgICAgICAgICAgICBmb3VuZC5fY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm91bmQucGF0aE1hdGNoID0gcGF0aE1hdGNoO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50Py5baW5zZXJ0XSh7XG4gICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgIHBhdGhNYXRjaCxcbiAgICAgICAgICAgICAgX21vZHVsZTogKCkgPT4gbW9kdWxlKCksXG4gICAgICAgICAgICAgIGxvYWRDaGlsZHJlbjogKCkgPT5cbiAgICAgICAgICAgICAgICBtb2R1bGUoKS50aGVuKChtKSA9PiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IG0uZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgLi4udG9Sb3V0ZUNvbmZpZyhtLnJvdXRlTWV0YSBhcyBSb3V0ZU1ldGEgfCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBmb3VuZCB8fFxuICAgICAgICAgICAgKGN1cnJlbnQ/LltpbnNlcnQgPT09ICd1bnNoaWZ0JyA/IDAgOiBjdXJyZW50Lmxlbmd0aCAtIDFdIGFzIFJvdXRlKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGVhZikge1xuICAgICAgICAgIHBhcmVudD8uX2NoaWxkcmVuPy5baW5zZXJ0XSh7XG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgcGF0aE1hdGNoLFxuICAgICAgICAgICAgX21vZHVsZTogKCkgPT4gbW9kdWxlKCksXG4gICAgICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+XG4gICAgICAgICAgICAgIG1vZHVsZSgpLnRoZW4oKG0pID0+IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogbS5kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgLi4udG9Sb3V0ZUNvbmZpZyhtLnJvdXRlTWV0YSBhcyBSb3V0ZU1ldGEgfCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcmVudC5fY2hpbGRyZW4pIHtcbiAgICAgICAgICBwYXJlbnQubG9hZENvbXBvbmVudCA9ICgpID0+XG4gICAgICAgICAgICBwYXJlbnQuX21vZHVsZSgpLnRoZW4oKG06IFJvdXRlRXhwb3J0KSA9PiBtLmRlZmF1bHQpO1xuICAgICAgICAgIHBhcmVudC5sb2FkQ2hpbGRyZW4gPSAoKSA9PlxuICAgICAgICAgICAgcGFyZW50Ll9tb2R1bGUoKS50aGVuKChtOiBSb3V0ZUV4cG9ydCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHBhcmVudC5fY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAuLi50b1JvdXRlQ29uZmlnKG0ucm91dGVNZXRhIGFzIFJvdXRlTWV0YSB8IHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIH0sIHt9IGFzIFJvdXRlICYgeyBfbW9kdWxlOiAoKSA9PiBQcm9taXNlPFJvdXRlRXhwb3J0PjsgX2NoaWxkcmVuOiBhbnlbXSB9KTtcblxuICAgICAgcmV0dXJuIHJvdXRlcztcbiAgICB9LFxuICAgIFtdXG4gICk7XG5cbiAgcmV0dXJuIHJvdXRlQ29uZmlncztcbn1cblxuZXhwb3J0IGNvbnN0IHJvdXRlczogUm91dGVbXSA9IFsuLi5nZXRSb3V0ZXMoeyAuLi5GSUxFUywgLi4uQ09OVEVOVF9GSUxFUyB9KV07XG4iXX0=","import { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ActivatedRoute } from '@angular/router';\n/**\n * @deprecated Use `RouteMeta` type instead.\n * For more info see: https://github.com/analogjs/analog/issues/223\n *\n * Defines additional route config metadata. This\n * object is merged into the route config with\n * the predefined file-based route.\n *\n * @usageNotes\n *\n * ```\n * import { Component } from '@angular/core';\n * import { defineRouteMeta } from '@analogjs/router';\n *\n * export const routeMeta = defineRouteMeta({\n * title: 'Welcome'\n * });\n *\n * @Component({\n * template: `Home`,\n * standalone: true,\n * })\n * export default class HomeComponent {}\n * ```\n *\n * @param route\n * @returns\n */\nexport const defineRouteMeta = (route) => {\n return route;\n};\n/**\n * Returns the instance of Angular Router\n *\n * @returns The router\n */\nexport const injectRouter = () => {\n return inject(Router);\n};\n/**\n * Returns the instance of the Activate Route for the component\n *\n * @returns The activated route\n */\nexport const injectActivatedRoute = () => {\n return inject(ActivatedRoute);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLXJvdXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvZGVmaW5lLXJvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFvQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFXakQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQXNCLEVBQUUsRUFBRTtJQUN4RCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO0lBQy9CLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUU7SUFDdkMsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZSBhcyBOZ1JvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG50eXBlIFJvdXRlT21pdHRlZCA9XG4gIHwgJ2NvbXBvbmVudCdcbiAgfCAnbG9hZENvbXBvbmVudCdcbiAgfCAnbG9hZENoaWxkcmVuJ1xuICB8ICdwYXRoJ1xuICB8ICdwYXRoTWF0Y2gnO1xuXG50eXBlIFJlc3RyaWN0ZWRSb3V0ZSA9IE9taXQ8TmdSb3V0ZSwgUm91dGVPbWl0dGVkPjtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFJvdXRlTWV0YWAgdHlwZSBpbnN0ZWFkLlxuICogRm9yIG1vcmUgaW5mbyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmFsb2dqcy9hbmFsb2cvaXNzdWVzLzIyM1xuICpcbiAqIERlZmluZXMgYWRkaXRpb25hbCByb3V0ZSBjb25maWcgbWV0YWRhdGEuIFRoaXNcbiAqIG9iamVjdCBpcyBtZXJnZWQgaW50byB0aGUgcm91dGUgY29uZmlnIHdpdGhcbiAqIHRoZSBwcmVkZWZpbmVkIGZpbGUtYmFzZWQgcm91dGUuXG4gKlxuICogQHVzYWdlTm90ZXNcbiAqXG4gKiBgYGBcbiAqIGltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuICogaW1wb3J0IHsgZGVmaW5lUm91dGVNZXRhIH0gZnJvbSAnQGFuYWxvZ2pzL3JvdXRlcic7XG4gKlxuICogIGV4cG9ydCBjb25zdCByb3V0ZU1ldGEgPSBkZWZpbmVSb3V0ZU1ldGEoe1xuICogICAgdGl0bGU6ICdXZWxjb21lJ1xuICogIH0pO1xuICpcbiAqIEBDb21wb25lbnQoe1xuICogICB0ZW1wbGF0ZTogYEhvbWVgLFxuICogICBzdGFuZGFsb25lOiB0cnVlLFxuICogfSlcbiAqIGV4cG9ydCBkZWZhdWx0IGNsYXNzIEhvbWVDb21wb25lbnQge31cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSByb3V0ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IGRlZmluZVJvdXRlTWV0YSA9IChyb3V0ZTogUmVzdHJpY3RlZFJvdXRlKSA9PiB7XG4gIHJldHVybiByb3V0ZTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgQW5ndWxhciBSb3V0ZXJcbiAqXG4gKiBAcmV0dXJucyBUaGUgcm91dGVyXG4gKi9cbmV4cG9ydCBjb25zdCBpbmplY3RSb3V0ZXIgPSAoKSA9PiB7XG4gIHJldHVybiBpbmplY3QoUm91dGVyKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIEFjdGl2YXRlIFJvdXRlIGZvciB0aGUgY29tcG9uZW50XG4gKlxuICogQHJldHVybnMgVGhlIGFjdGl2YXRlZCByb3V0ZVxuICovXG5leHBvcnQgY29uc3QgaW5qZWN0QWN0aXZhdGVkUm91dGUgPSAoKSA9PiB7XG4gIHJldHVybiBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xufTtcbiJdfQ==","import { ENVIRONMENT_INITIALIZER, makeEnvironmentProviders, } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './routes';\nimport { updateMetaTagsOnRouteChange } from './meta-tags';\n/**\n * Sets up providers for the Angular router, and registers\n * file-based routes. Additional features can be provided\n * to further configure the behavior of the router.\n *\n * @param features\n * @returns Providers and features to configure the router with routes\n */\nexport function provideFileRouter(...features) {\n return makeEnvironmentProviders([\n // TODO: remove type casting after Angular >=15.1.1 upgrade\n // https://github.com/angular/angular/pull/48720\n provideRouter(routes, ...features).ɵproviders,\n {\n provide: ENVIRONMENT_INITIALIZER,\n multi: true,\n useValue: () => updateMetaTagsOnRouteChange(),\n },\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1maWxlLXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci9zcmMvbGliL3Byb3ZpZGUtZmlsZS1yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2Qix3QkFBd0IsR0FFekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixHQUFHLFFBQTBCO0lBRTdCLE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsMkRBQTJEO1FBQzNELGdEQUFnRDtRQUU5QyxhQUFhLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUdsQyxDQUFDLFVBQVU7UUFDWjtZQUNFLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsMkJBQTJCLEVBQUU7U0FDOUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gIEVudmlyb25tZW50UHJvdmlkZXJzLFxuICBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIFByb3ZpZGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVSb3V0ZXIsIFJvdXRlckZlYXR1cmVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgcm91dGVzIH0gZnJvbSAnLi9yb3V0ZXMnO1xuaW1wb3J0IHsgdXBkYXRlTWV0YVRhZ3NPblJvdXRlQ2hhbmdlIH0gZnJvbSAnLi9tZXRhLXRhZ3MnO1xuXG4vKipcbiAqIFNldHMgdXAgcHJvdmlkZXJzIGZvciB0aGUgQW5ndWxhciByb3V0ZXIsIGFuZCByZWdpc3RlcnNcbiAqIGZpbGUtYmFzZWQgcm91dGVzLiBBZGRpdGlvbmFsIGZlYXR1cmVzIGNhbiBiZSBwcm92aWRlZFxuICogdG8gZnVydGhlciBjb25maWd1cmUgdGhlIGJlaGF2aW9yIG9mIHRoZSByb3V0ZXIuXG4gKlxuICogQHBhcmFtIGZlYXR1cmVzXG4gKiBAcmV0dXJucyBQcm92aWRlcnMgYW5kIGZlYXR1cmVzIHRvIGNvbmZpZ3VyZSB0aGUgcm91dGVyIHdpdGggcm91dGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRmlsZVJvdXRlcihcbiAgLi4uZmVhdHVyZXM6IFJvdXRlckZlYXR1cmVzW11cbik6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgLy8gVE9ETzogcmVtb3ZlIHR5cGUgY2FzdGluZyBhZnRlciBBbmd1bGFyID49MTUuMS4xIHVwZ3JhZGVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL3B1bGwvNDg3MjBcbiAgICAoXG4gICAgICBwcm92aWRlUm91dGVyKHJvdXRlcywgLi4uZmVhdHVyZXMpIGFzIHVua25vd24gYXMge1xuICAgICAgICDJtXByb3ZpZGVyczogUHJvdmlkZXJbXTtcbiAgICAgIH1cbiAgICApLsm1cHJvdmlkZXJzLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VWYWx1ZTogKCkgPT4gdXBkYXRlTWV0YVRhZ3NPblJvdXRlQ2hhbmdlKCksXG4gICAgfSxcbiAgXSk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtcm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9hbmFsb2dqcy1yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,85 @@
|
|
|
1
|
-
import { inject } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { inject, makeEnvironmentProviders, ENVIRONMENT_INITIALIZER } from '@angular/core';
|
|
2
|
+
import { Meta } from '@angular/platform-browser';
|
|
3
|
+
import { Router, NavigationEnd, ActivatedRoute, provideRouter } from '@angular/router';
|
|
4
|
+
import { filter } from 'rxjs/operators';
|
|
5
|
+
|
|
6
|
+
const ROUTE_META_TAGS_KEY = Symbol('@analogjs/router Route Meta Tags Key');
|
|
7
|
+
const CHARSET_KEY = 'charset';
|
|
8
|
+
const HTTP_EQUIV_KEY = 'httpEquiv';
|
|
9
|
+
// httpEquiv selector key needs to be in kebab case format
|
|
10
|
+
const HTTP_EQUIV_SELECTOR_KEY = 'http-equiv';
|
|
11
|
+
const NAME_KEY = 'name';
|
|
12
|
+
const PROPERTY_KEY = 'property';
|
|
13
|
+
const CONTENT_KEY = 'content';
|
|
14
|
+
function updateMetaTagsOnRouteChange() {
|
|
15
|
+
const router = inject(Router);
|
|
16
|
+
const metaService = inject(Meta);
|
|
17
|
+
router.events
|
|
18
|
+
.pipe(filter((event) => event instanceof NavigationEnd))
|
|
19
|
+
.subscribe(() => {
|
|
20
|
+
const metaTagMap = getMetaTagMap(router.routerState.snapshot.root);
|
|
21
|
+
for (const metaTagSelector in metaTagMap) {
|
|
22
|
+
const metaTag = metaTagMap[metaTagSelector];
|
|
23
|
+
metaService.updateTag(metaTag, metaTagSelector);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function getMetaTagMap(route) {
|
|
28
|
+
const metaTagMap = {};
|
|
29
|
+
let currentRoute = route;
|
|
30
|
+
while (currentRoute) {
|
|
31
|
+
const metaTags = currentRoute.data[ROUTE_META_TAGS_KEY] ?? [];
|
|
32
|
+
for (const metaTag of metaTags) {
|
|
33
|
+
metaTagMap[getMetaTagSelector(metaTag)] = metaTag;
|
|
34
|
+
}
|
|
35
|
+
currentRoute = currentRoute.firstChild;
|
|
36
|
+
}
|
|
37
|
+
return metaTagMap;
|
|
38
|
+
}
|
|
39
|
+
function getMetaTagSelector(metaTag) {
|
|
40
|
+
if (metaTag.name) {
|
|
41
|
+
return `${NAME_KEY}="${metaTag.name}"`;
|
|
42
|
+
}
|
|
43
|
+
if (metaTag.property) {
|
|
44
|
+
return `${PROPERTY_KEY}="${metaTag.property}"`;
|
|
45
|
+
}
|
|
46
|
+
if (metaTag.httpEquiv) {
|
|
47
|
+
return `${HTTP_EQUIV_SELECTOR_KEY}="${metaTag.httpEquiv}"`;
|
|
48
|
+
}
|
|
49
|
+
return CHARSET_KEY;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function toRouteConfig(routeMeta) {
|
|
53
|
+
if (!routeMeta) {
|
|
54
|
+
return {};
|
|
55
|
+
}
|
|
56
|
+
if (isRedirectRouteMeta(routeMeta)) {
|
|
57
|
+
return routeMeta;
|
|
58
|
+
}
|
|
59
|
+
const { meta, ...routeConfig } = routeMeta;
|
|
60
|
+
if (Array.isArray(meta)) {
|
|
61
|
+
routeConfig.data = { ...routeConfig.data, [ROUTE_META_TAGS_KEY]: meta };
|
|
62
|
+
}
|
|
63
|
+
else if (typeof meta === 'function') {
|
|
64
|
+
routeConfig.resolve = {
|
|
65
|
+
...routeConfig.resolve,
|
|
66
|
+
[ROUTE_META_TAGS_KEY]: meta,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return routeConfig;
|
|
70
|
+
}
|
|
71
|
+
function isRedirectRouteMeta(routeMeta) {
|
|
72
|
+
return !!routeMeta.redirectTo;
|
|
73
|
+
}
|
|
3
74
|
|
|
4
75
|
/// <reference types="vite/client" />
|
|
5
76
|
const FILES = import.meta.glob([
|
|
6
77
|
'/app/routes/**/*.ts',
|
|
7
78
|
'/src/app/routes/**/*.ts',
|
|
8
79
|
]);
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
...curr,
|
|
13
|
-
[key]: () => Promise.resolve(CONTENT_FILES_GLOB[key]),
|
|
14
|
-
};
|
|
15
|
-
return curr;
|
|
16
|
-
}, {});
|
|
80
|
+
const CONTENT_FILES = import.meta.glob(['/src/app/routes/**/*.md'], {
|
|
81
|
+
as: 'raw',
|
|
82
|
+
});
|
|
17
83
|
/**
|
|
18
84
|
* Function used to parse list of files and return
|
|
19
85
|
* configuration of routes.
|
|
@@ -61,7 +127,7 @@ function getRoutes(files) {
|
|
|
61
127
|
{
|
|
62
128
|
path: '',
|
|
63
129
|
component: m.default,
|
|
64
|
-
...m.routeMeta,
|
|
130
|
+
...toRouteConfig(m.routeMeta),
|
|
65
131
|
},
|
|
66
132
|
]),
|
|
67
133
|
};
|
|
@@ -87,7 +153,7 @@ function getRoutes(files) {
|
|
|
87
153
|
{
|
|
88
154
|
path: '',
|
|
89
155
|
component: m.default,
|
|
90
|
-
...m.routeMeta,
|
|
156
|
+
...toRouteConfig(m.routeMeta),
|
|
91
157
|
},
|
|
92
158
|
]),
|
|
93
159
|
});
|
|
@@ -104,7 +170,7 @@ function getRoutes(files) {
|
|
|
104
170
|
{
|
|
105
171
|
path: '',
|
|
106
172
|
component: m.default,
|
|
107
|
-
...m.routeMeta,
|
|
173
|
+
...toRouteConfig(m.routeMeta),
|
|
108
174
|
},
|
|
109
175
|
]),
|
|
110
176
|
});
|
|
@@ -116,7 +182,7 @@ function getRoutes(files) {
|
|
|
116
182
|
{
|
|
117
183
|
path: '',
|
|
118
184
|
children: parent._children,
|
|
119
|
-
...m.routeMeta,
|
|
185
|
+
...toRouteConfig(m.routeMeta),
|
|
120
186
|
},
|
|
121
187
|
];
|
|
122
188
|
});
|
|
@@ -185,9 +251,18 @@ const injectActivatedRoute = () => {
|
|
|
185
251
|
* @param features
|
|
186
252
|
* @returns Providers and features to configure the router with routes
|
|
187
253
|
*/
|
|
188
|
-
|
|
189
|
-
return
|
|
190
|
-
|
|
254
|
+
function provideFileRouter(...features) {
|
|
255
|
+
return makeEnvironmentProviders([
|
|
256
|
+
// TODO: remove type casting after Angular >=15.1.1 upgrade
|
|
257
|
+
// https://github.com/angular/angular/pull/48720
|
|
258
|
+
provideRouter(routes, ...features).ɵproviders,
|
|
259
|
+
{
|
|
260
|
+
provide: ENVIRONMENT_INITIALIZER,
|
|
261
|
+
multi: true,
|
|
262
|
+
useValue: () => updateMetaTagsOnRouteChange(),
|
|
263
|
+
},
|
|
264
|
+
]);
|
|
265
|
+
}
|
|
191
266
|
|
|
192
267
|
/**
|
|
193
268
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analogjs-router.mjs","sources":["../esm2020/lib/routes.mjs","../esm2020/lib/define-route.mjs","../esm2020/lib/provide-file-routes.mjs","../esm2020/analogjs-router.mjs"],"sourcesContent":["/// <reference types=\"vite/client\" />\nconst FILES = import.meta.glob([\n '/app/routes/**/*.ts',\n '/src/app/routes/**/*.ts',\n]);\nconst CONTENT_FILES_GLOB = import.meta.glob(['/src/app/routes/**/*.md'], { as: 'raw', eager: true });\nconst CONTENT_FILES = Object.keys(CONTENT_FILES_GLOB).reduce((curr, key) => {\n curr = {\n ...curr,\n [key]: () => Promise.resolve(CONTENT_FILES_GLOB[key]),\n };\n return curr;\n}, {});\n/**\n * Function used to parse list of files and return\n * configuration of routes.\n *\n * @param files\n * @returns Array of routes\n */\nexport function getRoutes(files) {\n const ROUTES = Object.keys(files).sort((a, b) => a.length - b.length);\n const routeConfigs = ROUTES.reduce((routes, key) => {\n const module = key.endsWith('.md')\n ? () => import('@analogjs/content').then((m) => ({\n default: m.MarkdownComponent,\n routeMeta: {\n data: { _analogContent: files[key] },\n },\n }))\n : files[key];\n const segments = key\n .replace(/^\\/(.*?)\\/routes|\\/app\\/routes|\\.(js|ts|md)$/g, '')\n .replace(/\\[\\.{3}.+\\]/, '**')\n .replace(/\\[([^\\]]+)\\]/g, ':$1')\n .split('/')\n .filter(Boolean);\n segments.reduce((parent, segment, index) => {\n const path = segment.replace(/index|^\\(.*?\\)$/g, '').replace('.', '/');\n const isIndex = !path;\n const isCatchall = path === '**';\n const pathMatch = isIndex ? 'full' : 'prefix';\n const root = index === 0;\n const leaf = index === segments.length - 1 && segments.length > 1;\n const node = !root && !leaf;\n const insert = /^\\w|\\//.test(path) && !isCatchall ? 'unshift' : 'push';\n if (root) {\n const dynamic = path.startsWith(':');\n if (dynamic)\n return parent;\n const last = segments.length === 1;\n if (last) {\n const newRoute = {\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...m.routeMeta,\n },\n ]),\n };\n routes?.[insert](newRoute);\n return parent;\n }\n }\n if (root || node) {\n const current = root ? routes : parent._children;\n const found = current?.find((route) => route.path === path);\n if (found) {\n if (!found._children) {\n found._children = [];\n }\n found.pathMatch = pathMatch;\n }\n else {\n current?.[insert]({\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...m.routeMeta,\n },\n ]),\n });\n }\n return (found ||\n current?.[insert === 'unshift' ? 0 : current.length - 1]);\n }\n if (leaf) {\n parent?._children?.[insert]({\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...m.routeMeta,\n },\n ]),\n });\n }\n if (parent._children) {\n parent.loadComponent = () => parent._module().then((m) => m.default);\n parent.loadChildren = () => parent._module().then((m) => {\n return [\n {\n path: '',\n children: parent._children,\n ...m.routeMeta,\n },\n ];\n });\n }\n return parent;\n }, {});\n return routes;\n }, []);\n return routeConfigs;\n}\nexport const routes = [...getRoutes({ ...FILES, ...CONTENT_FILES })];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQU1yQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBYztJQUMxQyxxQkFBcUI7SUFDckIseUJBQXlCO0NBQzFCLENBQUMsQ0FBQztBQUVILE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3pDLENBQUMseUJBQXlCLENBQUMsRUFDM0IsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FDM0IsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUErQyxNQUFNLENBQUMsSUFBSSxDQUMzRSxrQkFBa0IsQ0FDbkIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7SUFDckIsSUFBSSxHQUFHO1FBQ0wsR0FBRyxJQUFJO1FBQ1AsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3RELENBQUM7SUFFRixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUVQOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBaUQ7SUFDekUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV0RSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNoQyxDQUFDLE1BQWUsRUFBRSxH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QUUsRUFBRSxDQUFDO3dCQUNuQjs0QkFDRSxJQUFJLEVBQUUsRUFBRTs0QkFDUixTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU87NEJBQ3BCLEdBQUcsQ0FBQyxDQUFDLFNBQVM7eUJBQ2Y7cUJBQ0YsQ0FBQztpQkFDTCxDQUFDLENBQUM7YUFDSjtZQUVELElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtnQkFDcEIsTUFBTSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FDMUIsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2RCxNQUFNLENBQUMsWUFBWSxHQUFHLEdBQUcsRUFBRSxDQUN6QixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBYyxFQUFFLEVBQUU7b0JBQ3ZDLE9BQU87d0JBQ0w7NEJBQ0UsSUFBSSxFQUFFLEVBQUU7NEJBQ1IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxTQUFTOzRCQUMxQixHQUFHLENBQUMsQ0FBQyxTQUFTO3lCQUNmO3FCQUNGLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7YUFDTjtZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsRUFBRSxFQUF1RSxDQUFDLENBQUM7UUFFNUUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxFQUNELEVBQUUsQ0FDSCxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBWSxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGUvY2xpZW50XCIgLz5cblxuaW1wb3J0IHR5cGUgeyBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFJvdXRlRXhwb3J0IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5jb25zdCBGSUxFUyA9IGltcG9ydC5tZXRhLmdsb2I8Um91dGVFeHBvcnQ+KFtcbiAgJy9hcHAvcm91dGVzLyoqLyoudHMnLFxuICAnL3NyYy9hcHAvcm91dGVzLyoqLyoudHMnLFxuXSk7XG5cbmNvbnN0IENPTlRFTlRfRklMRVNfR0xPQiA9IGltcG9ydC5tZXRhLmdsb2I8Um91dGVFeHBvcnQ+KFxuICBbJy9zcmMvYXBwL3JvdXRlcy8qKi8qLm1kJ10sXG4gIHsgYXM6ICdyYXcnLCBlYWdlcjogdHJ1ZSB9XG4pO1xuXG5jb25zdCBDT05URU5UX0ZJTEVTOiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiBQcm9taXNlPFJvdXRlRXhwb3J0Pj4gPSBPYmplY3Qua2V5cyhcbiAgQ09OVEVOVF9GSUxFU19HTE9CXG4pLnJlZHVjZSgoY3Vyciwga2V5KSA9PiB7XG4gIGN1cnIgPSB7XG4gICAgLi4uY3VycixcbiAgICBba2V5XTogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKENPTlRFTlRfRklMRVNfR0xPQltrZXldKSxcbiAgfTtcblxuICByZXR1cm4gY3Vycjtcbn0sIHt9KTtcblxuLyoqXG4gKiBGdW5jdGlvbiB1c2VkIHRvIHBhcnNlIGxpc3Qgb2YgZmlsZXMgYW5kIHJldHVyblxuICogY29uZmlndXJhdGlvbiBvZiByb3V0ZXMuXG4gKlxuICogQHBhcmFtIGZpbGVzXG4gKiBAcmV0dXJucyBBcnJheSBvZiByb3V0ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlcyhmaWxlczogUmVjb3JkPHN0cmluZywgKCkgPT4gUHJvbWlzZTxSb3V0ZUV4cG9ydD4+KSB7XG4gIGNvbnN0IFJPVVRFUyA9IE9iamVjdC5rZXlzKGZpbGVzKS5zb3J0KChhLCBiKSA9PiBhLmxlbmd0aCAtIGIubGVuZ3RoKTtcblxuICBjb25zdCByb3V0ZUNvbmZpZ3MgPSBST1VURVMucmVkdWNlPFJvdXRlW10+KFxuICAgIChyb3V0ZXM6IFJvdXRlW10sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGUgPSBrZXkuZW5kc1dpdGgoJy5tZCcpXG4gICAgICAgID8gKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnQGFuYWxvZ2pzL2NvbnRlbnQnKS50aGVuKChtKSA9PiAoe1xuICAgICAgICAgICAgICBkZWZhdWx0OiBtLk1hcmtkb3duQ29tcG9uZW50LFxuICAgICAgICAgICAgICByb3V0ZU1ldGE6IHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7IF9hbmFsb2dDb250ZW50OiBmaWxlc1trZXldIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgOiBmaWxlc1trZXldO1xuXG4gICAgICBjb25zdCBzZWdtZW50cyA9IGtleVxuICAgICAgICAucmVwbGFjZSgvXlxcLyguKj8pXFwvcm91dGVzfFxcL2FwcFxcL3JvdXRlc3xcXC4oanN8dHN8bWQpJC9nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcW1xcLnszfS4rXFxdLywgJyoqJylcbiAgICAgICAgLnJlcGxhY2UoL1xcWyhbXlxcXV0rKVxcXS9nLCAnOiQxJylcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgc2VnbWVudHMucmVkdWNlKChwYXJlbnQsIHNlZ21lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBzZWdtZW50LnJlcGxhY2UoL2luZGV4fF5cXCguKj9cXCkkL2csICcnKS5yZXBsYWNlKCcuJywgJy8nKTtcbiAgICAgICAgY29uc3QgaXNJbmRleCA9ICFwYXRoO1xuICAgICAgICBjb25zdCBpc0NhdGNoYWxsID0gcGF0aCA9PT0gJyoqJztcbiAgICAgICAgY29uc3QgcGF0aE1hdGNoID0gaXNJbmRleCA/ICdmdWxsJyA6ICdwcmVmaXgnO1xuICAgICAgICBjb25zdCByb290ID0gaW5kZXggPT09IDA7XG4gICAgICAgIGNvbnN0IGxlYWYgPSBpbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSAmJiBzZWdtZW50cy5sZW5ndGggPiAxO1xuICAgICAgICBjb25zdCBub2RlID0gIXJvb3QgJiYgIWxlYWY7XG4gICAgICAgIGNvbnN0IGluc2VydCA9IC9eXFx3fFxcLy8udGVzdChwYXRoKSAmJiAhaXNDYXRjaGFsbCA/ICd1bnNoaWZ0JyA6ICdwdXNoJztcblxuICAgICAgICBpZiAocm9vdCkge1xuICAgICAgICAgIGNvbnN0IGR5bmFtaWMgPSBwYXRoLnN0YXJ0c1dpdGgoJzonKTtcbiAgICAgICAgICBpZiAoZHluYW1pYykgcmV0dXJuIHBhcmVudDtcblxuICAgICAgICAgIGNvbnN0IGxhc3QgPSBzZWdtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgICAgaWYgKGxhc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdXRlID0ge1xuICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICBwYXRoTWF0Y2gsXG4gICAgICAgICAgICAgIF9tb2R1bGU6ICgpID0+IG1vZHVsZSgpLFxuICAgICAgICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+XG4gICAgICAgICAgICAgICAgbW9kdWxlKCkudGhlbigobSkgPT4gW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBtLmRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgIC4uLm0ucm91dGVNZXRhLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJvdXRlcz8uW2luc2VydF0obmV3Um91dGUgYXMgUm91dGUpO1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocm9vdCB8fCBub2RlKSB7XG4gICAgICAgICAgY29uc3QgY3VycmVudCA9IHJvb3QgPyByb3V0ZXMgOiBwYXJlbnQuX2NoaWxkcmVuO1xuICAgICAgICAgIGNvbnN0IGZvdW5kID0gY3VycmVudD8uZmluZCgocm91dGU6IGFueSkgPT4gcm91dGUucGF0aCA9PT0gcGF0aCk7XG5cbiAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgIGlmICghZm91bmQuX2NoaWxkcmVuKSB7XG4gICAgICAgICAgICAgIGZvdW5kLl9jaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3VuZC5wYXRoTWF0Y2ggPSBwYXRoTWF0Y2g7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnQ/LltpbnNlcnRdKHtcbiAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgcGF0aE1hdGNoLFxuICAgICAgICAgICAgICBfbW9kdWxlOiAoKSA9PiBtb2R1bGUoKSxcbiAgICAgICAgICAgICAgbG9hZENoaWxkcmVuOiAoKSA9PlxuICAgICAgICAgICAgICAgIG1vZHVsZSgpLnRoZW4oKG0pID0+IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogbS5kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgICAuLi5tLnJvdXRlTWV0YSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZm91bmQgfHxcbiAgICAgICAgICAgIChjdXJyZW50Py5baW5zZXJ0ID09PSAndW5zaGlmdCcgPyAwIDogY3VycmVudC5sZW5ndGggLSAxXSBhcyBSb3V0ZSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxlYWYpIHtcbiAgICAgICAgICBwYXJlbnQ/Ll9jaGlsZHJlbj8uW2luc2VydF0oe1xuICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgIHBhdGhNYXRjaCxcbiAgICAgICAgICAgIF9tb2R1bGU6ICgpID0+IG1vZHVsZSgpLFxuICAgICAgICAgICAgbG9hZENoaWxkcmVuOiAoKSA9PlxuICAgICAgICAgICAgICBtb2R1bGUoKS50aGVuKChtKSA9PiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IG0uZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgIC4uLm0ucm91dGVNZXRhLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcmVudC5fY2hpbGRyZW4pIHtcbiAgICAgICAgICBwYXJlbnQubG9hZENvbXBvbmVudCA9ICgpID0+XG4gICAgICAgICAgICBwYXJlbnQuX21vZHVsZSgpLnRoZW4oKG06IFJvdXRlRXhwb3J0KSA9PiBtLmRlZmF1bHQpO1xuICAgICAgICAgIHBhcmVudC5sb2FkQ2hpbGRyZW4gPSAoKSA9PlxuICAgICAgICAgICAgcGFyZW50Ll9tb2R1bGUoKS50aGVuKChtOiBSb3V0ZUV4cG9ydCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHBhcmVudC5fY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAuLi5tLnJvdXRlTWV0YSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgfSwge30gYXMgUm91dGUgJiB7IF9tb2R1bGU6ICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQ+OyBfY2hpbGRyZW46IGFueVtdIH0pO1xuXG4gICAgICByZXR1cm4gcm91dGVzO1xuICAgIH0sXG4gICAgW11cbiAgKTtcblxuICByZXR1cm4gcm91dGVDb25maWdzO1xufVxuXG5leHBvcnQgY29uc3Qgcm91dGVzOiBSb3V0ZVtdID0gWy4uLmdldFJvdXRlcyh7IC4uLkZJTEVTLCAuLi5DT05URU5UX0ZJTEVTIH0pXTtcbiJdfQ==","import { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ActivatedRoute } from '@angular/router';\n/**\n * @deprecated Use `RouteMeta` type instead.\n * For more info see: https://github.com/analogjs/analog/issues/223\n *\n * Defines additional route config metadata. This\n * object is merged into the route config with\n * the predefined file-based route.\n *\n * @usageNotes\n *\n * ```\n * import { Component } from '@angular/core';\n * import { defineRouteMeta } from '@analogjs/router';\n *\n * export const routeMeta = defineRouteMeta({\n * title: 'Welcome'\n * });\n *\n * @Component({\n * template: `Home`,\n * standalone: true,\n * })\n * export default class HomeComponent {}\n * ```\n *\n * @param route\n * @returns\n */\nexport const defineRouteMeta = (route) => {\n return route;\n};\n/**\n * Returns the instance of Angular Router\n *\n * @returns The router\n */\nexport const injectRouter = () => {\n return inject(Router);\n};\n/**\n * Returns the instance of the Activate Route for the component\n *\n * @returns The activated route\n */\nexport const injectActivatedRoute = () => {\n return inject(ActivatedRoute);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLXJvdXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvZGVmaW5lLXJvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFvQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFXakQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQXNCLEVBQUUsRUFBRTtJQUN4RCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO0lBQy9CLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUU7SUFDdkMsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZSBhcyBOZ1JvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG50eXBlIFJvdXRlT21pdHRlZCA9XG4gIHwgJ2NvbXBvbmVudCdcbiAgfCAnbG9hZENvbXBvbmVudCdcbiAgfCAnbG9hZENoaWxkcmVuJ1xuICB8ICdwYXRoJ1xuICB8ICdwYXRoTWF0Y2gnO1xuXG50eXBlIFJlc3RyaWN0ZWRSb3V0ZSA9IE9taXQ8TmdSb3V0ZSwgUm91dGVPbWl0dGVkPjtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFJvdXRlTWV0YWAgdHlwZSBpbnN0ZWFkLlxuICogRm9yIG1vcmUgaW5mbyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmFsb2dqcy9hbmFsb2cvaXNzdWVzLzIyM1xuICpcbiAqIERlZmluZXMgYWRkaXRpb25hbCByb3V0ZSBjb25maWcgbWV0YWRhdGEuIFRoaXNcbiAqIG9iamVjdCBpcyBtZXJnZWQgaW50byB0aGUgcm91dGUgY29uZmlnIHdpdGhcbiAqIHRoZSBwcmVkZWZpbmVkIGZpbGUtYmFzZWQgcm91dGUuXG4gKlxuICogQHVzYWdlTm90ZXNcbiAqXG4gKiBgYGBcbiAqIGltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuICogaW1wb3J0IHsgZGVmaW5lUm91dGVNZXRhIH0gZnJvbSAnQGFuYWxvZ2pzL3JvdXRlcic7XG4gKlxuICogIGV4cG9ydCBjb25zdCByb3V0ZU1ldGEgPSBkZWZpbmVSb3V0ZU1ldGEoe1xuICogICAgdGl0bGU6ICdXZWxjb21lJ1xuICogIH0pO1xuICpcbiAqIEBDb21wb25lbnQoe1xuICogICB0ZW1wbGF0ZTogYEhvbWVgLFxuICogICBzdGFuZGFsb25lOiB0cnVlLFxuICogfSlcbiAqIGV4cG9ydCBkZWZhdWx0IGNsYXNzIEhvbWVDb21wb25lbnQge31cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSByb3V0ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IGRlZmluZVJvdXRlTWV0YSA9IChyb3V0ZTogUmVzdHJpY3RlZFJvdXRlKSA9PiB7XG4gIHJldHVybiByb3V0ZTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgQW5ndWxhciBSb3V0ZXJcbiAqXG4gKiBAcmV0dXJucyBUaGUgcm91dGVyXG4gKi9cbmV4cG9ydCBjb25zdCBpbmplY3RSb3V0ZXIgPSAoKSA9PiB7XG4gIHJldHVybiBpbmplY3QoUm91dGVyKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIEFjdGl2YXRlIFJvdXRlIGZvciB0aGUgY29tcG9uZW50XG4gKlxuICogQHJldHVybnMgVGhlIGFjdGl2YXRlZCByb3V0ZVxuICovXG5leHBvcnQgY29uc3QgaW5qZWN0QWN0aXZhdGVkUm91dGUgPSAoKSA9PiB7XG4gIHJldHVybiBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xufTtcbiJdfQ==","import { provideRouter } from '@angular/router';\nimport { routes } from './routes';\n/**\n * Sets up providers for the Angular router, and registers\n * file-based routes. Additional features can be provided\n * to further configure the behavior of the router.\n *\n * @param features\n * @returns Providers and features to configure the router with routes\n */\nexport const provideFileRouter = (...features) => {\n return provideRouter(routes, ...features);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1maWxlLXJvdXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci9zcmMvbGliL3Byb3ZpZGUtZmlsZS1yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsUUFBMEIsRUFBRSxFQUFFO0lBQ2pFLE9BQU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb3ZpZGVSb3V0ZXIsIFJvdXRlckZlYXR1cmVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHJvdXRlcyB9IGZyb20gJy4vcm91dGVzJztcblxuLyoqXG4gKiBTZXRzIHVwIHByb3ZpZGVycyBmb3IgdGhlIEFuZ3VsYXIgcm91dGVyLCBhbmQgcmVnaXN0ZXJzXG4gKiBmaWxlLWJhc2VkIHJvdXRlcy4gQWRkaXRpb25hbCBmZWF0dXJlcyBjYW4gYmUgcHJvdmlkZWRcbiAqIHRvIGZ1cnRoZXIgY29uZmlndXJlIHRoZSBiZWhhdmlvciBvZiB0aGUgcm91dGVyLlxuICpcbiAqIEBwYXJhbSBmZWF0dXJlc1xuICogQHJldHVybnMgUHJvdmlkZXJzIGFuZCBmZWF0dXJlcyB0byBjb25maWd1cmUgdGhlIHJvdXRlciB3aXRoIHJvdXRlc1xuICovXG5leHBvcnQgY29uc3QgcHJvdmlkZUZpbGVSb3V0ZXIgPSAoLi4uZmVhdHVyZXM6IFJvdXRlckZlYXR1cmVzW10pID0+IHtcbiAgcmV0dXJuIHByb3ZpZGVSb3V0ZXIocm91dGVzLCAuLi5mZWF0dXJlcyk7XG59O1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtcm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9hbmFsb2dqcy1yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analogjs-router.mjs","sources":["../esm2020/lib/meta-tags.mjs","../esm2020/lib/route-config.mjs","../esm2020/lib/routes.mjs","../esm2020/lib/define-route.mjs","../esm2020/lib/provide-file-router.mjs","../esm2020/analogjs-router.mjs"],"sourcesContent":["import { inject } from '@angular/core';\nimport { Meta } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nexport const ROUTE_META_TAGS_KEY = Symbol('@analogjs/router Route Meta Tags Key');\nconst CHARSET_KEY = 'charset';\nconst HTTP_EQUIV_KEY = 'httpEquiv';\n// httpEquiv selector key needs to be in kebab case format\nconst HTTP_EQUIV_SELECTOR_KEY = 'http-equiv';\nconst NAME_KEY = 'name';\nconst PROPERTY_KEY = 'property';\nconst CONTENT_KEY = 'content';\nexport function updateMetaTagsOnRouteChange() {\n const router = inject(Router);\n const metaService = inject(Meta);\n router.events\n .pipe(filter((event) => event instanceof NavigationEnd))\n .subscribe(() => {\n const metaTagMap = getMetaTagMap(router.routerState.snapshot.root);\n for (const metaTagSelector in metaTagMap) {\n const metaTag = metaTagMap[metaTagSelector];\n metaService.updateTag(metaTag, metaTagSelector);\n }\n });\n}\nfunction getMetaTagMap(route) {\n const metaTagMap = {};\n let currentRoute = route;\n while (currentRoute) {\n const metaTags = currentRoute.data[ROUTE_META_TAGS_KEY] ?? [];\n for (const metaTag of metaTags) {\n metaTagMap[getMetaTagSelector(metaTag)] = metaTag;\n }\n currentRoute = currentRoute.firstChild;\n }\n return metaTagMap;\n}\nfunction getMetaTagSelector(metaTag) {\n if (metaTag.name) {\n return `${NAME_KEY}=\"${metaTag.name}\"`;\n }\n if (metaTag.property) {\n return `${PROPERTY_KEY}=\"${metaTag.property}\"`;\n }\n if (metaTag.httpEquiv) {\n return `${HTTP_EQUIV_SELECTOR_KEY}=\"${metaTag.httpEquiv}\"`;\n }\n return CHARSET_KEY;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS10YWdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvbWV0YS10YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBK0IsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQTBCLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUN2QyxzQ0FBc0MsQ0FDdkMsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQztBQUM5QixNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUM7QUFDbkMsMERBQTBEO0FBQzFELE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDO0FBQzdDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQztBQUN4QixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7QUFDaEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBOEI5QixNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsTUFBTSxDQUFDLE1BQU07U0FDVixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7U0FDdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNkLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSxLQUFLLE1BQU0sZUFBZSxJQUFJLFVBQVUsRUFBRTtZQUN4QyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQ3hCLGVBQWtDLENBQ3RCLENBQUM7WUFDZixXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLEtBQTZCO0lBQ2xELE1BQU0sVUFBVSxHQUFHLEVBQWdCLENBQUM7SUFDcEMsSUFBSSxZQUFZLEdBQWtDLEtBQUssQ0FBQztJQUV4RCxPQUFPLFlBQVksRUFBRTtRQUNuQixNQUFNLFFBQVEsR0FBYyxZQUFZLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pFLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFO1lBQzlCLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztTQUNuRDtRQUVELFlBQVksR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO0tBQ3hDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsT0FBZ0I7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1FBQ2hCLE9BQU8sR0FBRyxRQUFRLEtBQUssT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDO0tBQ3hDO0lBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1FBQ3BCLE9BQU8sR0FBRyxZQUFZLEtBQUssT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDO0tBQ2hEO0lBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1FBQ3JCLE9BQU8sR0FBRyx1QkFBdUIsS0FBSyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUM7S0FDNUQ7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXRhLCBNZXRhRGVmaW5pdGlvbiBhcyBOZ01ldGFUYWcgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBST1VURV9NRVRBX1RBR1NfS0VZID0gU3ltYm9sKFxuICAnQGFuYWxvZ2pzL3JvdXRlciBSb3V0ZSBNZXRhIFRhZ3MgS2V5J1xuKTtcblxuY29uc3QgQ0hBUlNFVF9LRVkgPSAnY2hhcnNldCc7XG5jb25zdCBIVFRQX0VRVUlWX0tFWSA9ICdodHRwRXF1aXYnO1xuLy8gaHR0cEVxdWl2IHNlbGVjdG9yIGtleSBuZWVkcyB0byBiZSBpbiBrZWJhYiBjYXNlIGZvcm1hdFxuY29uc3QgSFRUUF9FUVVJVl9TRUxFQ1RPUl9LRVkgPSAnaHR0cC1lcXVpdic7XG5jb25zdCBOQU1FX0tFWSA9ICduYW1lJztcbmNvbnN0IFBST1BFUlRZX0tFWSA9ICdwcm9wZXJ0eSc7XG5jb25zdCBDT05URU5UX0tFWSA9ICdjb250ZW50JztcblxuZXhwb3J0IHR5cGUgTWV0YVRhZyA9XG4gIHwgKENoYXJzZXRNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgQ0hBUlNFVF9LRVk+KVxuICB8IChIdHRwRXF1aXZNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgSFRUUF9FUVVJVl9LRVk+KVxuICB8IChOYW1lTWV0YVRhZyAmIEV4Y2x1ZGVSZXN0TWV0YVRhZ0tleXM8dHlwZW9mIE5BTUVfS0VZPilcbiAgfCAoUHJvcGVydHlNZXRhVGFnICYgRXhjbHVkZVJlc3RNZXRhVGFnS2V5czx0eXBlb2YgUFJPUEVSVFlfS0VZPik7XG5cbnR5cGUgQ2hhcnNldE1ldGFUYWcgPSB7IFtDSEFSU0VUX0tFWV06IHN0cmluZyB9O1xudHlwZSBIdHRwRXF1aXZNZXRhVGFnID0geyBbSFRUUF9FUVVJVl9LRVldOiBzdHJpbmc7IFtDT05URU5UX0tFWV06IHN0cmluZyB9O1xudHlwZSBOYW1lTWV0YVRhZyA9IHsgW05BTUVfS0VZXTogc3RyaW5nOyBbQ09OVEVOVF9LRVldOiBzdHJpbmcgfTtcbnR5cGUgUHJvcGVydHlNZXRhVGFnID0geyBbUFJPUEVSVFlfS0VZXTogc3RyaW5nOyBbQ09OVEVOVF9LRVldOiBzdHJpbmcgfTtcblxudHlwZSBNZXRhVGFnS2V5ID1cbiAgfCB0eXBlb2YgQ0hBUlNFVF9LRVlcbiAgfCB0eXBlb2YgSFRUUF9FUVVJVl9LRVlcbiAgfCB0eXBlb2YgTkFNRV9LRVlcbiAgfCB0eXBlb2YgUFJPUEVSVFlfS0VZO1xudHlwZSBFeGNsdWRlUmVzdE1ldGFUYWdLZXlzPEtleSBleHRlbmRzIE1ldGFUYWdLZXk+ID0ge1xuICBbSyBpbiBFeGNsdWRlPE1ldGFUYWdLZXksIEtleT5dPzogbmV2ZXI7XG59O1xuXG50eXBlIE1ldGFUYWdTZWxlY3RvciA9XG4gIHwgdHlwZW9mIENIQVJTRVRfS0VZXG4gIHwgYCR7XG4gICAgICB8IHR5cGVvZiBIVFRQX0VRVUlWX1NFTEVDVE9SX0tFWVxuICAgICAgfCB0eXBlb2YgTkFNRV9LRVlcbiAgICAgIHwgdHlwZW9mIFBST1BFUlRZX0tFWX09XCIke3N0cmluZ31cImA7XG50eXBlIE1ldGFUYWdNYXAgPSBSZWNvcmQ8TWV0YVRhZ1NlbGVjdG9yLCBNZXRhVGFnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU1ldGFUYWdzT25Sb3V0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IG1ldGFTZXJ2aWNlID0gaW5qZWN0KE1ldGEpO1xuXG4gIHJvdXRlci5ldmVudHNcbiAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgbWV0YVRhZ01hcCA9IGdldE1ldGFUYWdNYXAocm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3QpO1xuXG4gICAgICBmb3IgKGNvbnN0IG1ldGFUYWdTZWxlY3RvciBpbiBtZXRhVGFnTWFwKSB7XG4gICAgICAgIGNvbnN0IG1ldGFUYWcgPSBtZXRhVGFnTWFwW1xuICAgICAgICAgIG1ldGFUYWdTZWxlY3RvciBhcyBNZXRhVGFnU2VsZWN0b3JcbiAgICAgICAgXSBhcyBOZ01ldGFUYWc7XG4gICAgICAgIG1ldGFTZXJ2aWNlLnVwZGF0ZVRhZyhtZXRhVGFnLCBtZXRhVGFnU2VsZWN0b3IpO1xuICAgICAgfVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRNZXRhVGFnTWFwKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogTWV0YVRhZ01hcCB7XG4gIGNvbnN0IG1ldGFUYWdNYXAgPSB7fSBhcyBNZXRhVGFnTWFwO1xuICBsZXQgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCA9IHJvdXRlO1xuXG4gIHdoaWxlIChjdXJyZW50Um91dGUpIHtcbiAgICBjb25zdCBtZXRhVGFnczogTWV0YVRhZ1tdID0gY3VycmVudFJvdXRlLmRhdGFbUk9VVEVfTUVUQV9UQUdTX0tFWV0gPz8gW107XG4gICAgZm9yIChjb25zdCBtZXRhVGFnIG9mIG1ldGFUYWdzKSB7XG4gICAgICBtZXRhVGFnTWFwW2dldE1ldGFUYWdTZWxlY3RvcihtZXRhVGFnKV0gPSBtZXRhVGFnO1xuICAgIH1cblxuICAgIGN1cnJlbnRSb3V0ZSA9IGN1cnJlbnRSb3V0ZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFUYWdNYXA7XG59XG5cbmZ1bmN0aW9uIGdldE1ldGFUYWdTZWxlY3RvcihtZXRhVGFnOiBNZXRhVGFnKTogTWV0YVRhZ1NlbGVjdG9yIHtcbiAgaWYgKG1ldGFUYWcubmFtZSkge1xuICAgIHJldHVybiBgJHtOQU1FX0tFWX09XCIke21ldGFUYWcubmFtZX1cImA7XG4gIH1cblxuICBpZiAobWV0YVRhZy5wcm9wZXJ0eSkge1xuICAgIHJldHVybiBgJHtQUk9QRVJUWV9LRVl9PVwiJHttZXRhVGFnLnByb3BlcnR5fVwiYDtcbiAgfVxuXG4gIGlmIChtZXRhVGFnLmh0dHBFcXVpdikge1xuICAgIHJldHVybiBgJHtIVFRQX0VRVUlWX1NFTEVDVE9SX0tFWX09XCIke21ldGFUYWcuaHR0cEVxdWl2fVwiYDtcbiAgfVxuXG4gIHJldHVybiBDSEFSU0VUX0tFWTtcbn1cbiJdfQ==","import { ROUTE_META_TAGS_KEY } from './meta-tags';\nexport function toRouteConfig(routeMeta) {\n if (!routeMeta) {\n return {};\n }\n if (isRedirectRouteMeta(routeMeta)) {\n return routeMeta;\n }\n const { meta, ...routeConfig } = routeMeta;\n if (Array.isArray(meta)) {\n routeConfig.data = { ...routeConfig.data, [ROUTE_META_TAGS_KEY]: meta };\n }\n else if (typeof meta === 'function') {\n routeConfig.resolve = {\n ...routeConfig.resolve,\n [ROUTE_META_TAGS_KEY]: meta,\n };\n }\n return routeConfig;\n}\nfunction isRedirectRouteMeta(routeMeta) {\n return !!routeMeta.redirectTo;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsRCxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQWdDO0lBQzVELElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNsQyxPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFFM0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3ZCLFdBQVcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ3pFO1NBQU0sSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVLEVBQUU7UUFDckMsV0FBVyxDQUFDLE9BQU8sR0FBRztZQUNwQixHQUFHLFdBQVcsQ0FBQyxPQUFPO1lBQ3RCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJO1NBQzVCLENBQUM7S0FDSDtJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUMxQixTQUFvQjtJQUVwQixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWRpcmVjdFJvdXRlTWV0YSwgUm91dGVDb25maWcsIFJvdXRlTWV0YSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFJPVVRFX01FVEFfVEFHU19LRVkgfSBmcm9tICcuL21ldGEtdGFncyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1JvdXRlQ29uZmlnKHJvdXRlTWV0YTogUm91dGVNZXRhIHwgdW5kZWZpbmVkKTogUm91dGVDb25maWcge1xuICBpZiAoIXJvdXRlTWV0YSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGlmIChpc1JlZGlyZWN0Um91dGVNZXRhKHJvdXRlTWV0YSkpIHtcbiAgICByZXR1cm4gcm91dGVNZXRhO1xuICB9XG5cbiAgY29uc3QgeyBtZXRhLCAuLi5yb3V0ZUNvbmZpZyB9ID0gcm91dGVNZXRhO1xuXG4gIGlmIChBcnJheS5pc0FycmF5KG1ldGEpKSB7XG4gICAgcm91dGVDb25maWcuZGF0YSA9IHsgLi4ucm91dGVDb25maWcuZGF0YSwgW1JPVVRFX01FVEFfVEFHU19LRVldOiBtZXRhIH07XG4gIH0gZWxzZSBpZiAodHlwZW9mIG1ldGEgPT09ICdmdW5jdGlvbicpIHtcbiAgICByb3V0ZUNvbmZpZy5yZXNvbHZlID0ge1xuICAgICAgLi4ucm91dGVDb25maWcucmVzb2x2ZSxcbiAgICAgIFtST1VURV9NRVRBX1RBR1NfS0VZXTogbWV0YSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHJvdXRlQ29uZmlnO1xufVxuXG5mdW5jdGlvbiBpc1JlZGlyZWN0Um91dGVNZXRhKFxuICByb3V0ZU1ldGE6IFJvdXRlTWV0YVxuKTogcm91dGVNZXRhIGlzIFJlZGlyZWN0Um91dGVNZXRhIHtcbiAgcmV0dXJuICEhcm91dGVNZXRhLnJlZGlyZWN0VG87XG59XG4iXX0=","/// <reference types=\"vite/client\" />\nimport { toRouteConfig } from './route-config';\nconst FILES = import.meta.glob([\n '/app/routes/**/*.ts',\n '/src/app/routes/**/*.ts',\n]);\nconst CONTENT_FILES = import.meta.glob(['/src/app/routes/**/*.md'], {\n as: 'raw',\n});\n/**\n * Function used to parse list of files and return\n * configuration of routes.\n *\n * @param files\n * @returns Array of routes\n */\nexport function getRoutes(files) {\n const ROUTES = Object.keys(files).sort((a, b) => a.length - b.length);\n const routeConfigs = ROUTES.reduce((routes, key) => {\n const module = key.endsWith('.md')\n ? () => import('@analogjs/content').then((m) => ({\n default: m.MarkdownComponent,\n routeMeta: {\n data: { _analogContent: files[key] },\n },\n }))\n : files[key];\n const segments = key\n .replace(/^\\/(.*?)\\/routes|\\/app\\/routes|\\.(js|ts|md)$/g, '')\n .replace(/\\[\\.{3}.+\\]/, '**')\n .replace(/\\[([^\\]]+)\\]/g, ':$1')\n .split('/')\n .filter(Boolean);\n segments.reduce((parent, segment, index) => {\n const path = segment.replace(/index|^\\(.*?\\)$/g, '').replace('.', '/');\n const isIndex = !path;\n const isCatchall = path === '**';\n const pathMatch = isIndex ? 'full' : 'prefix';\n const root = index === 0;\n const leaf = index === segments.length - 1 && segments.length > 1;\n const node = !root && !leaf;\n const insert = /^\\w|\\//.test(path) && !isCatchall ? 'unshift' : 'push';\n if (root) {\n const dynamic = path.startsWith(':');\n if (dynamic)\n return parent;\n const last = segments.length === 1;\n if (last) {\n const newRoute = {\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...toRouteConfig(m.routeMeta),\n },\n ]),\n };\n routes?.[insert](newRoute);\n return parent;\n }\n }\n if (root || node) {\n const current = root ? routes : parent._children;\n const found = current?.find((route) => route.path === path);\n if (found) {\n if (!found._children) {\n found._children = [];\n }\n found.pathMatch = pathMatch;\n }\n else {\n current?.[insert]({\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...toRouteConfig(m.routeMeta),\n },\n ]),\n });\n }\n return (found ||\n current?.[insert === 'unshift' ? 0 : current.length - 1]);\n }\n if (leaf) {\n parent?._children?.[insert]({\n path,\n pathMatch,\n _module: () => module(),\n loadChildren: () => module().then((m) => [\n {\n path: '',\n component: m.default,\n ...toRouteConfig(m.routeMeta),\n },\n ]),\n });\n }\n if (parent._children) {\n parent.loadComponent = () => parent._module().then((m) => m.default);\n parent.loadChildren = () => parent._module().then((m) => {\n return [\n {\n path: '',\n children: parent._children,\n ...toRouteConfig(m.routeMeta),\n },\n ];\n });\n }\n return parent;\n }, {});\n return routes;\n }, []);\n return routeConfigs;\n}\nexport const routes = [...getRoutes({ ...FILES, ...CONTENT_FILES })];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUtyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWM7SUFDMUMscUJBQXFCO0lBQ3JCLHlCQUF5QjtDQUMxQixDQUFDLENBQUM7QUFFSCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBUyxDQUFDLHlCQUF5QixDQUFDLEVBQUU7SUFDMUUsRUFBRSxFQUFFLEtBQUs7Q0FDVixDQUFDLENBQUM7QUFFSDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUN2QixLQUEwRDtJQUUxRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXRFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2hDLENBQUMsTUFBZSxFQUFFLEdBQVcsRUFBRSxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUErQixHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUM1RCxDQUFDLENBQUMsR0FBRyxFQUFFLENBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN2QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtnQkFDNUIsU0FBUyxFQUFFO29CQUNULElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsR0FB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QUMxQixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3ZELE1BQU0sQ0FBQyxZQUFZLEdBQUcsR0FBRyxFQUFFLENBQ3pCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFjLEVBQUUsRUFBRTtvQkFDdkMsT0FBTzt3QkFDTDs0QkFDRSxJQUFJLEVBQUUsRUFBRTs0QkFDUixRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVM7NEJBQzFCLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFrQyxDQUFDO3lCQUN2RDtxQkFDRixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO2FBQ047WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQUUsRUFBdUUsQ0FBQyxDQUFDO1FBRTVFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQztJQUVGLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlL2NsaWVudFwiIC8+XG5cbmltcG9ydCB0eXBlIHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBSb3V0ZUV4cG9ydCwgUm91dGVNZXRhIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgdG9Sb3V0ZUNvbmZpZyB9IGZyb20gJy4vcm91dGUtY29uZmlnJztcblxuY29uc3QgRklMRVMgPSBpbXBvcnQubWV0YS5nbG9iPFJvdXRlRXhwb3J0PihbXG4gICcvYXBwL3JvdXRlcy8qKi8qLnRzJyxcbiAgJy9zcmMvYXBwL3JvdXRlcy8qKi8qLnRzJyxcbl0pO1xuXG5jb25zdCBDT05URU5UX0ZJTEVTID0gaW1wb3J0Lm1ldGEuZ2xvYjxzdHJpbmc+KFsnL3NyYy9hcHAvcm91dGVzLyoqLyoubWQnXSwge1xuICBhczogJ3JhdycsXG59KTtcblxuLyoqXG4gKiBGdW5jdGlvbiB1c2VkIHRvIHBhcnNlIGxpc3Qgb2YgZmlsZXMgYW5kIHJldHVyblxuICogY29uZmlndXJhdGlvbiBvZiByb3V0ZXMuXG4gKlxuICogQHBhcmFtIGZpbGVzXG4gKiBAcmV0dXJucyBBcnJheSBvZiByb3V0ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlcyhcbiAgZmlsZXM6IFJlY29yZDxzdHJpbmcsICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQgfCBzdHJpbmc+PlxuKSB7XG4gIGNvbnN0IFJPVVRFUyA9IE9iamVjdC5rZXlzKGZpbGVzKS5zb3J0KChhLCBiKSA9PiBhLmxlbmd0aCAtIGIubGVuZ3RoKTtcblxuICBjb25zdCByb3V0ZUNvbmZpZ3MgPSBST1VURVMucmVkdWNlPFJvdXRlW10+KFxuICAgIChyb3V0ZXM6IFJvdXRlW10sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGU6ICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQ+ID0ga2V5LmVuZHNXaXRoKCcubWQnKVxuICAgICAgICA/ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJ0BhbmFsb2dqcy9jb250ZW50JykudGhlbigobSkgPT4gKHtcbiAgICAgICAgICAgICAgZGVmYXVsdDogbS5NYXJrZG93bkNvbXBvbmVudCxcbiAgICAgICAgICAgICAgcm91dGVNZXRhOiB7XG4gICAgICAgICAgICAgICAgZGF0YTogeyBfYW5hbG9nQ29udGVudDogZmlsZXNba2V5XSB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSkpXG4gICAgICAgIDogKGZpbGVzW2tleV0gYXMgKCkgPT4gUHJvbWlzZTxSb3V0ZUV4cG9ydD4pO1xuXG4gICAgICBjb25zdCBzZWdtZW50cyA9IGtleVxuICAgICAgICAucmVwbGFjZSgvXlxcLyguKj8pXFwvcm91dGVzfFxcL2FwcFxcL3JvdXRlc3xcXC4oanN8dHN8bWQpJC9nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcW1xcLnszfS4rXFxdLywgJyoqJylcbiAgICAgICAgLnJlcGxhY2UoL1xcWyhbXlxcXV0rKVxcXS9nLCAnOiQxJylcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgICAgc2VnbWVudHMucmVkdWNlKChwYXJlbnQsIHNlZ21lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBzZWdtZW50LnJlcGxhY2UoL2luZGV4fF5cXCguKj9cXCkkL2csICcnKS5yZXBsYWNlKCcuJywgJy8nKTtcbiAgICAgICAgY29uc3QgaXNJbmRleCA9ICFwYXRoO1xuICAgICAgICBjb25zdCBpc0NhdGNoYWxsID0gcGF0aCA9PT0gJyoqJztcbiAgICAgICAgY29uc3QgcGF0aE1hdGNoID0gaXNJbmRleCA/ICdmdWxsJyA6ICdwcmVmaXgnO1xuICAgICAgICBjb25zdCByb290ID0gaW5kZXggPT09IDA7XG4gICAgICAgIGNvbnN0IGxlYWYgPSBpbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSAmJiBzZWdtZW50cy5sZW5ndGggPiAxO1xuICAgICAgICBjb25zdCBub2RlID0gIXJvb3QgJiYgIWxlYWY7XG4gICAgICAgIGNvbnN0IGluc2VydCA9IC9eXFx3fFxcLy8udGVzdChwYXRoKSAmJiAhaXNDYXRjaGFsbCA/ICd1bnNoaWZ0JyA6ICdwdXNoJztcblxuICAgICAgICBpZiAocm9vdCkge1xuICAgICAgICAgIGNvbnN0IGR5bmFtaWMgPSBwYXRoLnN0YXJ0c1dpdGgoJzonKTtcbiAgICAgICAgICBpZiAoZHluYW1pYykgcmV0dXJuIHBhcmVudDtcblxuICAgICAgICAgIGNvbnN0IGxhc3QgPSBzZWdtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgICAgaWYgKGxhc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdXRlID0ge1xuICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICBwYXRoTWF0Y2gsXG4gICAgICAgICAgICAgIF9tb2R1bGU6ICgpID0+IG1vZHVsZSgpLFxuICAgICAgICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+XG4gICAgICAgICAgICAgICAgbW9kdWxlKCkudGhlbigobSkgPT4gW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiBtLmRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRvUm91dGVDb25maWcobS5yb3V0ZU1ldGEgYXMgUm91dGVNZXRhIHwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByb3V0ZXM/LltpbnNlcnRdKG5ld1JvdXRlIGFzIFJvdXRlKTtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJvb3QgfHwgbm9kZSkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSByb290ID8gcm91dGVzIDogcGFyZW50Ll9jaGlsZHJlbjtcbiAgICAgICAgICBjb25zdCBmb3VuZCA9IGN1cnJlbnQ/LmZpbmQoKHJvdXRlOiBhbnkpID0+IHJvdXRlLnBhdGggPT09IHBhdGgpO1xuXG4gICAgICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgICAgICBpZiAoIWZvdW5kLl9jaGlsZHJlbikge1xuICAgICAgICAgICAgICBmb3VuZC5fY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm91bmQucGF0aE1hdGNoID0gcGF0aE1hdGNoO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50Py5baW5zZXJ0XSh7XG4gICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgIHBhdGhNYXRjaCxcbiAgICAgICAgICAgICAgX21vZHVsZTogKCkgPT4gbW9kdWxlKCksXG4gICAgICAgICAgICAgIGxvYWRDaGlsZHJlbjogKCkgPT5cbiAgICAgICAgICAgICAgICBtb2R1bGUoKS50aGVuKChtKSA9PiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IG0uZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgLi4udG9Sb3V0ZUNvbmZpZyhtLnJvdXRlTWV0YSBhcyBSb3V0ZU1ldGEgfCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBmb3VuZCB8fFxuICAgICAgICAgICAgKGN1cnJlbnQ/LltpbnNlcnQgPT09ICd1bnNoaWZ0JyA/IDAgOiBjdXJyZW50Lmxlbmd0aCAtIDFdIGFzIFJvdXRlKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGVhZikge1xuICAgICAgICAgIHBhcmVudD8uX2NoaWxkcmVuPy5baW5zZXJ0XSh7XG4gICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgcGF0aE1hdGNoLFxuICAgICAgICAgICAgX21vZHVsZTogKCkgPT4gbW9kdWxlKCksXG4gICAgICAgICAgICBsb2FkQ2hpbGRyZW46ICgpID0+XG4gICAgICAgICAgICAgIG1vZHVsZSgpLnRoZW4oKG0pID0+IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogbS5kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgLi4udG9Sb3V0ZUNvbmZpZyhtLnJvdXRlTWV0YSBhcyBSb3V0ZU1ldGEgfCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcmVudC5fY2hpbGRyZW4pIHtcbiAgICAgICAgICBwYXJlbnQubG9hZENvbXBvbmVudCA9ICgpID0+XG4gICAgICAgICAgICBwYXJlbnQuX21vZHVsZSgpLnRoZW4oKG06IFJvdXRlRXhwb3J0KSA9PiBtLmRlZmF1bHQpO1xuICAgICAgICAgIHBhcmVudC5sb2FkQ2hpbGRyZW4gPSAoKSA9PlxuICAgICAgICAgICAgcGFyZW50Ll9tb2R1bGUoKS50aGVuKChtOiBSb3V0ZUV4cG9ydCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHBhcmVudC5fY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAuLi50b1JvdXRlQ29uZmlnKG0ucm91dGVNZXRhIGFzIFJvdXRlTWV0YSB8IHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIH0sIHt9IGFzIFJvdXRlICYgeyBfbW9kdWxlOiAoKSA9PiBQcm9taXNlPFJvdXRlRXhwb3J0PjsgX2NoaWxkcmVuOiBhbnlbXSB9KTtcblxuICAgICAgcmV0dXJuIHJvdXRlcztcbiAgICB9LFxuICAgIFtdXG4gICk7XG5cbiAgcmV0dXJuIHJvdXRlQ29uZmlncztcbn1cblxuZXhwb3J0IGNvbnN0IHJvdXRlczogUm91dGVbXSA9IFsuLi5nZXRSb3V0ZXMoeyAuLi5GSUxFUywgLi4uQ09OVEVOVF9GSUxFUyB9KV07XG4iXX0=","import { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ActivatedRoute } from '@angular/router';\n/**\n * @deprecated Use `RouteMeta` type instead.\n * For more info see: https://github.com/analogjs/analog/issues/223\n *\n * Defines additional route config metadata. This\n * object is merged into the route config with\n * the predefined file-based route.\n *\n * @usageNotes\n *\n * ```\n * import { Component } from '@angular/core';\n * import { defineRouteMeta } from '@analogjs/router';\n *\n * export const routeMeta = defineRouteMeta({\n * title: 'Welcome'\n * });\n *\n * @Component({\n * template: `Home`,\n * standalone: true,\n * })\n * export default class HomeComponent {}\n * ```\n *\n * @param route\n * @returns\n */\nexport const defineRouteMeta = (route) => {\n return route;\n};\n/**\n * Returns the instance of Angular Router\n *\n * @returns The router\n */\nexport const injectRouter = () => {\n return inject(Router);\n};\n/**\n * Returns the instance of the Activate Route for the component\n *\n * @returns The activated route\n */\nexport const injectActivatedRoute = () => {\n return inject(ActivatedRoute);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLXJvdXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvZGVmaW5lLXJvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFvQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFXakQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQXNCLEVBQUUsRUFBRTtJQUN4RCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFO0lBQy9CLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUU7SUFDdkMsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZSBhcyBOZ1JvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG50eXBlIFJvdXRlT21pdHRlZCA9XG4gIHwgJ2NvbXBvbmVudCdcbiAgfCAnbG9hZENvbXBvbmVudCdcbiAgfCAnbG9hZENoaWxkcmVuJ1xuICB8ICdwYXRoJ1xuICB8ICdwYXRoTWF0Y2gnO1xuXG50eXBlIFJlc3RyaWN0ZWRSb3V0ZSA9IE9taXQ8TmdSb3V0ZSwgUm91dGVPbWl0dGVkPjtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFJvdXRlTWV0YWAgdHlwZSBpbnN0ZWFkLlxuICogRm9yIG1vcmUgaW5mbyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmFsb2dqcy9hbmFsb2cvaXNzdWVzLzIyM1xuICpcbiAqIERlZmluZXMgYWRkaXRpb25hbCByb3V0ZSBjb25maWcgbWV0YWRhdGEuIFRoaXNcbiAqIG9iamVjdCBpcyBtZXJnZWQgaW50byB0aGUgcm91dGUgY29uZmlnIHdpdGhcbiAqIHRoZSBwcmVkZWZpbmVkIGZpbGUtYmFzZWQgcm91dGUuXG4gKlxuICogQHVzYWdlTm90ZXNcbiAqXG4gKiBgYGBcbiAqIGltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuICogaW1wb3J0IHsgZGVmaW5lUm91dGVNZXRhIH0gZnJvbSAnQGFuYWxvZ2pzL3JvdXRlcic7XG4gKlxuICogIGV4cG9ydCBjb25zdCByb3V0ZU1ldGEgPSBkZWZpbmVSb3V0ZU1ldGEoe1xuICogICAgdGl0bGU6ICdXZWxjb21lJ1xuICogIH0pO1xuICpcbiAqIEBDb21wb25lbnQoe1xuICogICB0ZW1wbGF0ZTogYEhvbWVgLFxuICogICBzdGFuZGFsb25lOiB0cnVlLFxuICogfSlcbiAqIGV4cG9ydCBkZWZhdWx0IGNsYXNzIEhvbWVDb21wb25lbnQge31cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSByb3V0ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IGRlZmluZVJvdXRlTWV0YSA9IChyb3V0ZTogUmVzdHJpY3RlZFJvdXRlKSA9PiB7XG4gIHJldHVybiByb3V0ZTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgQW5ndWxhciBSb3V0ZXJcbiAqXG4gKiBAcmV0dXJucyBUaGUgcm91dGVyXG4gKi9cbmV4cG9ydCBjb25zdCBpbmplY3RSb3V0ZXIgPSAoKSA9PiB7XG4gIHJldHVybiBpbmplY3QoUm91dGVyKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIEFjdGl2YXRlIFJvdXRlIGZvciB0aGUgY29tcG9uZW50XG4gKlxuICogQHJldHVybnMgVGhlIGFjdGl2YXRlZCByb3V0ZVxuICovXG5leHBvcnQgY29uc3QgaW5qZWN0QWN0aXZhdGVkUm91dGUgPSAoKSA9PiB7XG4gIHJldHVybiBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xufTtcbiJdfQ==","import { ENVIRONMENT_INITIALIZER, makeEnvironmentProviders, } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './routes';\nimport { updateMetaTagsOnRouteChange } from './meta-tags';\n/**\n * Sets up providers for the Angular router, and registers\n * file-based routes. Additional features can be provided\n * to further configure the behavior of the router.\n *\n * @param features\n * @returns Providers and features to configure the router with routes\n */\nexport function provideFileRouter(...features) {\n return makeEnvironmentProviders([\n // TODO: remove type casting after Angular >=15.1.1 upgrade\n // https://github.com/angular/angular/pull/48720\n provideRouter(routes, ...features).ɵproviders,\n {\n provide: ENVIRONMENT_INITIALIZER,\n multi: true,\n useValue: () => updateMetaTagsOnRouteChange(),\n },\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1maWxlLXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci9zcmMvbGliL3Byb3ZpZGUtZmlsZS1yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2Qix3QkFBd0IsR0FFekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixHQUFHLFFBQTBCO0lBRTdCLE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsMkRBQTJEO1FBQzNELGdEQUFnRDtRQUU5QyxhQUFhLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUdsQyxDQUFDLFVBQVU7UUFDWjtZQUNFLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsMkJBQTJCLEVBQUU7U0FDOUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRU5WSVJPTk1FTlRfSU5JVElBTElaRVIsXG4gIEVudmlyb25tZW50UHJvdmlkZXJzLFxuICBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIFByb3ZpZGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVSb3V0ZXIsIFJvdXRlckZlYXR1cmVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgcm91dGVzIH0gZnJvbSAnLi9yb3V0ZXMnO1xuaW1wb3J0IHsgdXBkYXRlTWV0YVRhZ3NPblJvdXRlQ2hhbmdlIH0gZnJvbSAnLi9tZXRhLXRhZ3MnO1xuXG4vKipcbiAqIFNldHMgdXAgcHJvdmlkZXJzIGZvciB0aGUgQW5ndWxhciByb3V0ZXIsIGFuZCByZWdpc3RlcnNcbiAqIGZpbGUtYmFzZWQgcm91dGVzLiBBZGRpdGlvbmFsIGZlYXR1cmVzIGNhbiBiZSBwcm92aWRlZFxuICogdG8gZnVydGhlciBjb25maWd1cmUgdGhlIGJlaGF2aW9yIG9mIHRoZSByb3V0ZXIuXG4gKlxuICogQHBhcmFtIGZlYXR1cmVzXG4gKiBAcmV0dXJucyBQcm92aWRlcnMgYW5kIGZlYXR1cmVzIHRvIGNvbmZpZ3VyZSB0aGUgcm91dGVyIHdpdGggcm91dGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRmlsZVJvdXRlcihcbiAgLi4uZmVhdHVyZXM6IFJvdXRlckZlYXR1cmVzW11cbik6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgLy8gVE9ETzogcmVtb3ZlIHR5cGUgY2FzdGluZyBhZnRlciBBbmd1bGFyID49MTUuMS4xIHVwZ3JhZGVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL3B1bGwvNDg3MjBcbiAgICAoXG4gICAgICBwcm92aWRlUm91dGVyKHJvdXRlcywgLi4uZmVhdHVyZXMpIGFzIHVua25vd24gYXMge1xuICAgICAgICDJtXByb3ZpZGVyczogUHJvdmlkZXJbXTtcbiAgICAgIH1cbiAgICApLsm1cHJvdmlkZXJzLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VWYWx1ZTogKCkgPT4gdXBkYXRlTWV0YVRhZ3NPblJvdXRlQ2hhbmdlKCksXG4gICAgfSxcbiAgXSk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtcm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9hbmFsb2dqcy1yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { routes } from './lib/routes';
|
|
2
2
|
export { defineRouteMeta, injectActivatedRoute, injectRouter, } from './lib/define-route';
|
|
3
3
|
export { RouteMeta } from './lib/models';
|
|
4
|
-
export { provideFileRouter } from './lib/provide-file-
|
|
4
|
+
export { provideFileRouter } from './lib/provide-file-router';
|
|
5
|
+
export { MetaTag } from './lib/meta-tags';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare const ROUTE_META_TAGS_KEY: unique symbol;
|
|
2
|
+
declare const CHARSET_KEY = "charset";
|
|
3
|
+
declare const HTTP_EQUIV_KEY = "httpEquiv";
|
|
4
|
+
declare const NAME_KEY = "name";
|
|
5
|
+
declare const PROPERTY_KEY = "property";
|
|
6
|
+
declare const CONTENT_KEY = "content";
|
|
7
|
+
export declare type MetaTag = (CharsetMetaTag & ExcludeRestMetaTagKeys<typeof CHARSET_KEY>) | (HttpEquivMetaTag & ExcludeRestMetaTagKeys<typeof HTTP_EQUIV_KEY>) | (NameMetaTag & ExcludeRestMetaTagKeys<typeof NAME_KEY>) | (PropertyMetaTag & ExcludeRestMetaTagKeys<typeof PROPERTY_KEY>);
|
|
8
|
+
declare type CharsetMetaTag = {
|
|
9
|
+
[CHARSET_KEY]: string;
|
|
10
|
+
};
|
|
11
|
+
declare type HttpEquivMetaTag = {
|
|
12
|
+
[HTTP_EQUIV_KEY]: string;
|
|
13
|
+
[CONTENT_KEY]: string;
|
|
14
|
+
};
|
|
15
|
+
declare type NameMetaTag = {
|
|
16
|
+
[NAME_KEY]: string;
|
|
17
|
+
[CONTENT_KEY]: string;
|
|
18
|
+
};
|
|
19
|
+
declare type PropertyMetaTag = {
|
|
20
|
+
[PROPERTY_KEY]: string;
|
|
21
|
+
[CONTENT_KEY]: string;
|
|
22
|
+
};
|
|
23
|
+
declare type MetaTagKey = typeof CHARSET_KEY | typeof HTTP_EQUIV_KEY | typeof NAME_KEY | typeof PROPERTY_KEY;
|
|
24
|
+
declare type ExcludeRestMetaTagKeys<Key extends MetaTagKey> = {
|
|
25
|
+
[K in Exclude<MetaTagKey, Key>]?: never;
|
|
26
|
+
};
|
|
27
|
+
export declare function updateMetaTagsOnRouteChange(): void;
|
|
28
|
+
export {};
|
package/lib/models.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Type } from '@angular/core';
|
|
2
2
|
import { CanActivateChildFn, CanActivateFn, CanDeactivateFn, CanMatchFn, ResolveFn, Route } from '@angular/router';
|
|
3
3
|
import { defineRouteMeta } from './define-route';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { MetaTag } from './meta-tags';
|
|
5
|
+
declare type OmittedRouteProps = 'path' | 'matcher' | 'component' | 'loadComponent' | 'children' | 'loadChildren' | 'canLoad' | 'outlet';
|
|
6
|
+
export declare type RouteConfig = Omit<Route, OmittedRouteProps>;
|
|
7
|
+
export interface DefaultRouteMeta extends Omit<Route, OmittedRouteProps | keyof RedirectRouteMeta> {
|
|
6
8
|
canActivate?: CanActivateFn[];
|
|
7
9
|
canActivateChild?: CanActivateChildFn[];
|
|
8
10
|
canDeactivate?: CanDeactivateFn<unknown>[];
|
|
@@ -11,8 +13,9 @@ interface DefaultRouteMeta extends Omit<Route, OmittedRouteProps> {
|
|
|
11
13
|
[key: string | symbol]: ResolveFn<unknown>;
|
|
12
14
|
};
|
|
13
15
|
title?: string | ResolveFn<string>;
|
|
16
|
+
meta?: MetaTag[] | ResolveFn<MetaTag[]>;
|
|
14
17
|
}
|
|
15
|
-
interface RedirectRouteMeta {
|
|
18
|
+
export interface RedirectRouteMeta {
|
|
16
19
|
redirectTo: string;
|
|
17
20
|
pathMatch?: Route['pathMatch'];
|
|
18
21
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EnvironmentProviders } from '@angular/core';
|
|
1
2
|
import { RouterFeatures } from '@angular/router';
|
|
2
3
|
/**
|
|
3
4
|
* Sets up providers for the Angular router, and registers
|
|
@@ -7,4 +8,4 @@ import { RouterFeatures } from '@angular/router';
|
|
|
7
8
|
* @param features
|
|
8
9
|
* @returns Providers and features to configure the router with routes
|
|
9
10
|
*/
|
|
10
|
-
export declare
|
|
11
|
+
export declare function provideFileRouter(...features: RouterFeatures[]): EnvironmentProviders;
|
package/lib/routes.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ import { RouteExport } from './models';
|
|
|
7
7
|
* @param files
|
|
8
8
|
* @returns Array of routes
|
|
9
9
|
*/
|
|
10
|
-
export declare function getRoutes(files: Record<string, () => Promise<RouteExport>>): Route[];
|
|
10
|
+
export declare function getRoutes(files: Record<string, () => Promise<RouteExport | string>>): Route[];
|
|
11
11
|
export declare const routes: Route[];
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { provideRouter } from '@angular/router';
|
|
2
|
-
import { routes } from './routes';
|
|
3
|
-
/**
|
|
4
|
-
* Sets up providers for the Angular router, and registers
|
|
5
|
-
* file-based routes. Additional features can be provided
|
|
6
|
-
* to further configure the behavior of the router.
|
|
7
|
-
*
|
|
8
|
-
* @param features
|
|
9
|
-
* @returns Providers and features to configure the router with routes
|
|
10
|
-
*/
|
|
11
|
-
export const provideFileRouter = (...features) => {
|
|
12
|
-
return provideRouter(routes, ...features);
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1maWxlLXJvdXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci9zcmMvbGliL3Byb3ZpZGUtZmlsZS1yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsUUFBMEIsRUFBRSxFQUFFO0lBQ2pFLE9BQU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb3ZpZGVSb3V0ZXIsIFJvdXRlckZlYXR1cmVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHJvdXRlcyB9IGZyb20gJy4vcm91dGVzJztcblxuLyoqXG4gKiBTZXRzIHVwIHByb3ZpZGVycyBmb3IgdGhlIEFuZ3VsYXIgcm91dGVyLCBhbmQgcmVnaXN0ZXJzXG4gKiBmaWxlLWJhc2VkIHJvdXRlcy4gQWRkaXRpb25hbCBmZWF0dXJlcyBjYW4gYmUgcHJvdmlkZWRcbiAqIHRvIGZ1cnRoZXIgY29uZmlndXJlIHRoZSBiZWhhdmlvciBvZiB0aGUgcm91dGVyLlxuICpcbiAqIEBwYXJhbSBmZWF0dXJlc1xuICogQHJldHVybnMgUHJvdmlkZXJzIGFuZCBmZWF0dXJlcyB0byBjb25maWd1cmUgdGhlIHJvdXRlciB3aXRoIHJvdXRlc1xuICovXG5leHBvcnQgY29uc3QgcHJvdmlkZUZpbGVSb3V0ZXIgPSAoLi4uZmVhdHVyZXM6IFJvdXRlckZlYXR1cmVzW10pID0+IHtcbiAgcmV0dXJuIHByb3ZpZGVSb3V0ZXIocm91dGVzLCAuLi5mZWF0dXJlcyk7XG59O1xuIl19
|