@analogjs/router 1.9.2-beta.2 → 1.9.2-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,47 +0,0 @@
1
- import { ENVIRONMENT_INITIALIZER, makeEnvironmentProviders, } from '@angular/core';
2
- import { provideRouter, ROUTES } from '@angular/router';
3
- import { API_PREFIX } from '@analogjs/router/tokens';
4
- import { ɵHTTP_ROOT_INTERCEPTOR_FNS as HTTP_ROOT_INTERCEPTOR_FNS } from '@angular/common/http';
5
- import { routes } from './routes';
6
- import { updateMetaTagsOnRouteChange } from './meta-tags';
7
- import { cookieInterceptor } from './cookie-interceptor';
8
- /**
9
- * Sets up providers for the Angular router, and registers
10
- * file-based routes. Additional features can be provided
11
- * to further configure the behavior of the router.
12
- *
13
- * @param features
14
- * @returns Providers and features to configure the router with routes
15
- */
16
- export function provideFileRouter(...features) {
17
- return makeEnvironmentProviders([
18
- provideRouter(routes, ...features),
19
- {
20
- provide: ENVIRONMENT_INITIALIZER,
21
- multi: true,
22
- useValue: () => updateMetaTagsOnRouteChange(),
23
- },
24
- {
25
- provide: HTTP_ROOT_INTERCEPTOR_FNS,
26
- multi: true,
27
- useValue: cookieInterceptor,
28
- },
29
- {
30
- provide: API_PREFIX,
31
- useFactory() {
32
- return typeof ANALOG_API_PREFIX !== 'undefined'
33
- ? ANALOG_API_PREFIX
34
- : 'api';
35
- },
36
- },
37
- ]);
38
- }
39
- export function withExtraRoutes(routes) {
40
- return [
41
- {
42
- ɵkind: 100,
43
- ɵproviders: [{ provide: ROUTES, useValue: routes }],
44
- },
45
- ];
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1maWxlLXJvdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci9zcmMvbGliL3Byb3ZpZGUtZmlsZS1yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2Qix3QkFBd0IsR0FDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSwwQkFBMEIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXpEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLEdBQUcsUUFBMEI7SUFFN0IsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QixhQUFhLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDO1FBQ2xDO1lBQ0UsT0FBTyxFQUFFLHVCQUF1QjtZQUNoQyxLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsRUFBRTtTQUM5QztRQUNEO1lBQ0UsT0FBTyxFQUFFLHlCQUF5QjtZQUNsQyxLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxpQkFBaUI7U0FDNUI7UUFDRDtZQUNFLE9BQU8sRUFBRSxVQUFVO1lBQ25CLFVBQVU7Z0JBQ1IsT0FBTyxPQUFPLGlCQUFpQixLQUFLLFdBQVc7b0JBQzdDLENBQUMsQ0FBQyxpQkFBaUI7b0JBQ25CLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDWixDQUFDO1NBQ0Y7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFjO0lBQzVDLE9BQU87UUFDTDtZQUNFLEtBQUssRUFBRSxHQUFVO1lBQ2pCLFVBQVUsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDcEQ7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICBFbnZpcm9ubWVudFByb3ZpZGVycyxcbiAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVSb3V0ZXIsIFJvdXRlckZlYXR1cmVzLCBST1VURVMsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBUElfUFJFRklYIH0gZnJvbSAnQGFuYWxvZ2pzL3JvdXRlci90b2tlbnMnO1xuaW1wb3J0IHsgybVIVFRQX1JPT1RfSU5URVJDRVBUT1JfRk5TIGFzIEhUVFBfUk9PVF9JTlRFUkNFUFRPUl9GTlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IHJvdXRlcyB9IGZyb20gJy4vcm91dGVzJztcbmltcG9ydCB7IHVwZGF0ZU1ldGFUYWdzT25Sb3V0ZUNoYW5nZSB9IGZyb20gJy4vbWV0YS10YWdzJztcbmltcG9ydCB7IGNvb2tpZUludGVyY2VwdG9yIH0gZnJvbSAnLi9jb29raWUtaW50ZXJjZXB0b3InO1xuXG5kZWNsYXJlIGNvbnN0IEFOQUxPR19BUElfUFJFRklYOiBzdHJpbmc7XG5cbi8qKlxuICogU2V0cyB1cCBwcm92aWRlcnMgZm9yIHRoZSBBbmd1bGFyIHJvdXRlciwgYW5kIHJlZ2lzdGVyc1xuICogZmlsZS1iYXNlZCByb3V0ZXMuIEFkZGl0aW9uYWwgZmVhdHVyZXMgY2FuIGJlIHByb3ZpZGVkXG4gKiB0byBmdXJ0aGVyIGNvbmZpZ3VyZSB0aGUgYmVoYXZpb3Igb2YgdGhlIHJvdXRlci5cbiAqXG4gKiBAcGFyYW0gZmVhdHVyZXNcbiAqIEByZXR1cm5zIFByb3ZpZGVycyBhbmQgZmVhdHVyZXMgdG8gY29uZmlndXJlIHRoZSByb3V0ZXIgd2l0aCByb3V0ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVGaWxlUm91dGVyKFxuICAuLi5mZWF0dXJlczogUm91dGVyRmVhdHVyZXNbXVxuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICBwcm92aWRlUm91dGVyKHJvdXRlcywgLi4uZmVhdHVyZXMpLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VWYWx1ZTogKCkgPT4gdXBkYXRlTWV0YVRhZ3NPblJvdXRlQ2hhbmdlKCksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBIVFRQX1JPT1RfSU5URVJDRVBUT1JfRk5TLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VWYWx1ZTogY29va2llSW50ZXJjZXB0b3IsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBUElfUFJFRklYLFxuICAgICAgdXNlRmFjdG9yeSgpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBBTkFMT0dfQVBJX1BSRUZJWCAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICA/IEFOQUxPR19BUElfUFJFRklYXG4gICAgICAgICAgOiAnYXBpJztcbiAgICAgIH0sXG4gICAgfSxcbiAgXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoRXh0cmFSb3V0ZXMocm91dGVzOiBSb3V0ZXMpOiBSb3V0ZXJGZWF0dXJlc1tdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICDJtWtpbmQ6IDEwMCBhcyBhbnksXG4gICAgICDJtXByb3ZpZGVyczogW3sgcHJvdmlkZTogUk9VVEVTLCB1c2VWYWx1ZTogcm91dGVzIH1dLFxuICAgIH0sXG4gIF07XG59XG4iXX0=
@@ -1,121 +0,0 @@
1
- import { TransferState, inject, makeStateKey } from '@angular/core';
2
- import { HttpHeaders, HttpResponse, } from '@angular/common/http';
3
- import { from, of } from 'rxjs';
4
- import { injectBaseURL, injectAPIPrefix } from '@analogjs/router/tokens';
5
- /**
6
- * Interceptor that is server-aware when making HttpClient requests.
7
- * Server-side requests use the full URL
8
- * Prerendering uses the internal Nitro $fetch function, along with state transfer
9
- * Client-side requests use the window.location.origin
10
- *
11
- * @param req HttpRequest<unknown>
12
- * @param next HttpHandlerFn
13
- * @returns
14
- */
15
- export function requestContextInterceptor(req, next) {
16
- const apiPrefix = injectAPIPrefix();
17
- const baseUrl = injectBaseURL();
18
- const transferState = inject(TransferState);
19
- // during prerendering with Nitro
20
- if (typeof global !== 'undefined' &&
21
- global.$fetch &&
22
- baseUrl &&
23
- (req.url.startsWith('/') || req.url.startsWith(baseUrl))) {
24
- const requestUrl = new URL(req.url, baseUrl);
25
- const cacheKey = makeCacheKey(req, new URL(requestUrl).pathname);
26
- const storeKey = makeStateKey(`analog_${cacheKey}`);
27
- const fetchUrl = req.url.includes(`/${apiPrefix}/`)
28
- ? requestUrl.pathname
29
- : requestUrl.href;
30
- const responseType = req.responseType === 'arraybuffer' ? 'arrayBuffer' : req.responseType;
31
- return from(global.$fetch
32
- .raw(fetchUrl, {
33
- method: req.method,
34
- params: requestUrl.searchParams,
35
- responseType,
36
- headers: req.headers.keys().reduce((hdrs, current) => {
37
- return {
38
- ...hdrs,
39
- [current]: req.headers.get(current),
40
- };
41
- }, {}),
42
- })
43
- .then((res) => {
44
- const cacheResponse = {
45
- body: res._data,
46
- headers: new HttpHeaders(res.headers),
47
- status: 200,
48
- statusText: 'OK',
49
- url: fetchUrl,
50
- };
51
- const transferResponse = new HttpResponse(cacheResponse);
52
- transferState.set(storeKey, cacheResponse);
53
- return transferResponse;
54
- }));
55
- }
56
- // on the client
57
- if (!import.meta.env.SSR &&
58
- (req.url.startsWith('/') || req.url.includes('/_analog/'))) {
59
- // /_analog/ requests are full URLs
60
- const requestUrl = req.url.includes('/_analog/')
61
- ? req.url
62
- : `${window.location.origin}${req.url}`;
63
- const cacheKey = makeCacheKey(req, new URL(requestUrl).pathname);
64
- const storeKey = makeStateKey(`analog_${cacheKey}`);
65
- const cacheRestoreResponse = transferState.get(storeKey, null);
66
- if (cacheRestoreResponse) {
67
- transferState.remove(storeKey);
68
- return of(new HttpResponse(cacheRestoreResponse));
69
- }
70
- return next(req.clone({
71
- url: requestUrl,
72
- }));
73
- }
74
- // on the server
75
- if (baseUrl && (req.url.startsWith('/') || req.url.startsWith(baseUrl))) {
76
- const requestUrl = req.url.startsWith(baseUrl) && !req.url.startsWith('/')
77
- ? req.url
78
- : `${baseUrl}${req.url}`;
79
- return next(req.clone({
80
- url: requestUrl,
81
- }));
82
- }
83
- return next(req);
84
- }
85
- function sortAndConcatParams(params) {
86
- return [...params.keys()]
87
- .sort()
88
- .map((k) => `${k}=${params.getAll(k)}`)
89
- .join('&');
90
- }
91
- function makeCacheKey(request, mappedRequestUrl) {
92
- // make the params encoded same as a url so it's easy to identify
93
- const { params, method, responseType } = request;
94
- const encodedParams = sortAndConcatParams(params);
95
- let serializedBody = request.serializeBody();
96
- if (serializedBody instanceof URLSearchParams) {
97
- serializedBody = sortAndConcatParams(serializedBody);
98
- }
99
- else if (typeof serializedBody !== 'string') {
100
- serializedBody = '';
101
- }
102
- const key = [
103
- method,
104
- responseType,
105
- mappedRequestUrl,
106
- serializedBody,
107
- encodedParams,
108
- ].join('|');
109
- const hash = generateHash(key);
110
- return makeStateKey(hash);
111
- }
112
- function generateHash(str) {
113
- let hash = 0;
114
- for (let i = 0, len = str.length; i < len; i++) {
115
- let chr = str.charCodeAt(i);
116
- hash = (hash << 5) - hash + chr;
117
- hash |= 0; // Convert to 32bit integer
118
- }
119
- return `${hash}`;
120
- }
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcmVxdWVzdC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxhQUFhLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBRUwsV0FBVyxFQUdYLFlBQVksR0FDYixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxHQUF5QixFQUN6QixJQUFtQjtJQUVuQixNQUFNLFNBQVMsR0FBRyxlQUFlLEVBQUUsQ0FBQztJQUNwQyxNQUFNLE9BQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNoQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFNUMsaUNBQWlDO0lBQ2pDLElBQ0UsT0FBTyxNQUFNLEtBQUssV0FBVztRQUM3QixNQUFNLENBQUMsTUFBTTtRQUNiLE9BQU87UUFDUCxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3hELENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUs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QUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QyxJQUFJLGNBQWMsWUFBWSxlQUFlLEVBQUUsQ0FBQztRQUM5QyxjQUFjLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztTQUFNLElBQUksT0FBTyxjQUFjLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUc7UUFDVixNQUFNO1FBQ04sWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsYUFBYTtLQUNkLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRVosTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRS9CLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFXO0lBQy9CLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMvQyxJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQywyQkFBMkI7SUFDeEMsQ0FBQztJQUNELE9BQU8sR0FBRyxJQUFJLEVBQUUsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVLZXksIFRyYW5zZmVyU3RhdGUsIGluamVjdCwgbWFrZVN0YXRlS2V5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBIdHRwSGFuZGxlckZuLFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cFBhcmFtcyxcbiAgSHR0cFJlcXVlc3QsXG4gIEh0dHBSZXNwb25zZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBpbmplY3RCYXNlVVJMLCBpbmplY3RBUElQcmVmaXggfSBmcm9tICdAYW5hbG9nanMvcm91dGVyL3Rva2Vucyc7XG5cbi8qKlxuICogSW50ZXJjZXB0b3IgdGhhdCBpcyBzZXJ2ZXItYXdhcmUgd2hlbiBtYWtpbmcgSHR0cENsaWVudCByZXF1ZXN0cy5cbiAqIFNlcnZlci1zaWRlIHJlcXVlc3RzIHVzZSB0aGUgZnVsbCBVUkxcbiAqIFByZXJlbmRlcmluZyB1c2VzIHRoZSBpbnRlcm5hbCBOaXRybyAkZmV0Y2ggZnVuY3Rpb24sIGFsb25nIHdpdGggc3RhdGUgdHJhbnNmZXJcbiAqIENsaWVudC1zaWRlIHJlcXVlc3RzIHVzZSB0aGUgd2luZG93LmxvY2F0aW9uLm9yaWdpblxuICpcbiAqIEBwYXJhbSByZXEgSHR0cFJlcXVlc3Q8dW5rbm93bj5cbiAqIEBwYXJhbSBuZXh0IEh0dHBIYW5kbGVyRm5cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXF1ZXN0Q29udGV4dEludGVyY2VwdG9yKFxuICByZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxuICBuZXh0OiBIdHRwSGFuZGxlckZuXG4pIHtcbiAgY29uc3QgYXBpUHJlZml4ID0gaW5qZWN0QVBJUHJlZml4KCk7XG4gIGNvbnN0IGJhc2VVcmwgPSBpbmplY3RCYXNlVVJMKCk7XG4gIGNvbnN0IHRyYW5zZmVyU3RhdGUgPSBpbmplY3QoVHJhbnNmZXJTdGF0ZSk7XG5cbiAgLy8gZHVyaW5nIHByZXJlbmRlcmluZyB3aXRoIE5pdHJvXG4gIGlmIChcbiAgICB0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIGdsb2JhbC4kZmV0Y2ggJiZcbiAgICBiYXNlVXJsICYmXG4gICAgKHJlcS51cmwuc3RhcnRzV2l0aCgnLycpIHx8IHJlcS51cmwuc3RhcnRzV2l0aChiYXNlVXJsKSlcbiAgKSB7XG4gICAgY29uc3QgcmVxdWVzdFVybCA9IG5ldyBVUkwocmVxLnVybCwgYmFzZVVybCk7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBtYWtlQ2FjaGVLZXkocmVxLCBuZXcgVVJMKHJlcXVlc3RVcmwpLnBhdGhuYW1lKTtcbiAgICBjb25zdCBzdG9yZUtleSA9IG1ha2VTdGF0ZUtleTx1bmtub3duPihgYW5hbG9nXyR7Y2FjaGVLZXl9YCk7XG4gICAgY29uc3QgZmV0Y2hVcmwgPSByZXEudXJsLmluY2x1ZGVzKGAvJHthcGlQcmVmaXh9L2ApXG4gICAgICA/IHJlcXVlc3RVcmwucGF0aG5hbWVcbiAgICAgIDogcmVxdWVzdFVybC5ocmVmO1xuICAgIGNvbnN0IHJlc3BvbnNlVHlwZSA9XG4gICAgICByZXEucmVzcG9uc2VUeXBlID09PSAnYXJyYXlidWZmZXInID8gJ2FycmF5QnVmZmVyJyA6IHJlcS5yZXNwb25zZVR5cGU7XG5cbiAgICByZXR1cm4gZnJvbShcbiAgICAgIGdsb2JhbC4kZmV0Y2hcbiAgICAgICAgLnJhdyhmZXRjaFVybCwge1xuICAgICAgICAgIG1ldGhvZDogcmVxLm1ldGhvZCBhcyBhbnksXG4gICAgICAgICAgcGFyYW1zOiByZXF1ZXN0VXJsLnNlYXJjaFBhcmFtcyxcbiAgICAgICAgICByZXNwb25zZVR5cGUsXG4gICAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMua2V5cygpLnJlZHVjZSgoaGRycywgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uaGRycyxcbiAgICAgICAgICAgICAgW2N1cnJlbnRdOiByZXEuaGVhZGVycy5nZXQoY3VycmVudCksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0sIHt9KSxcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgIGNvbnN0IGNhY2hlUmVzcG9uc2UgPSB7XG4gICAgICAgICAgICBib2R5OiByZXMuX2RhdGEsXG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMocmVzLmhlYWRlcnMpLFxuICAgICAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgICAgICBzdGF0dXNUZXh0OiAnT0snLFxuICAgICAgICAgICAgdXJsOiBmZXRjaFVybCxcbiAgICAgICAgICB9O1xuICAgICAgICAgIGNvbnN0IHRyYW5zZmVyUmVzcG9uc2UgPSBuZXcgSHR0cFJlc3BvbnNlKGNhY2hlUmVzcG9uc2UpO1xuXG4gICAgICAgICAgdHJhbnNmZXJTdGF0ZS5zZXQoc3RvcmVLZXksIGNhY2hlUmVzcG9uc2UpO1xuICAgICAgICAgIHJldHVybiB0cmFuc2ZlclJlc3BvbnNlO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvLyBvbiB0aGUgY2xpZW50XG4gIGlmIChcbiAgICAhaW1wb3J0Lm1ldGEuZW52LlNTUiAmJlxuICAgIChyZXEudXJsLnN0YXJ0c1dpdGgoJy8nKSB8fCByZXEudXJsLmluY2x1ZGVzKCcvX2FuYWxvZy8nKSlcbiAgKSB7XG4gICAgLy8gL19hbmFsb2cvIHJlcXVlc3RzIGFyZSBmdWxsIFVSTHNcbiAgICBjb25zdCByZXF1ZXN0VXJsID0gcmVxLnVybC5pbmNsdWRlcygnL19hbmFsb2cvJylcbiAgICAgID8gcmVxLnVybFxuICAgICAgOiBgJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufSR7cmVxLnVybH1gO1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gbWFrZUNhY2hlS2V5KHJlcSwgbmV3IFVSTChyZXF1ZXN0VXJsKS5wYXRobmFtZSk7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSBtYWtlU3RhdGVLZXk8dW5rbm93bj4oYGFuYWxvZ18ke2NhY2hlS2V5fWApO1xuICAgIGNvbnN0IGNhY2hlUmVzdG9yZVJlc3BvbnNlID0gdHJhbnNmZXJTdGF0ZS5nZXQoc3RvcmVLZXksIG51bGwpO1xuXG4gICAgaWYgKGNhY2hlUmVzdG9yZVJlc3BvbnNlKSB7XG4gICAgICB0cmFuc2ZlclN0YXRlLnJlbW92ZShzdG9yZUtleSk7XG4gICAgICByZXR1cm4gb2YobmV3IEh0dHBSZXNwb25zZShjYWNoZVJlc3RvcmVSZXNwb25zZSkpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0KFxuICAgICAgcmVxLmNsb25lKHtcbiAgICAgICAgdXJsOiByZXF1ZXN0VXJsLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLy8gb24gdGhlIHNlcnZlclxuICBpZiAoYmFzZVVybCAmJiAocmVxLnVybC5zdGFydHNXaXRoKCcvJykgfHwgcmVxLnVybC5zdGFydHNXaXRoKGJhc2VVcmwpKSkge1xuICAgIGNvbnN0IHJlcXVlc3RVcmwgPVxuICAgICAgcmVxLnVybC5zdGFydHNXaXRoKGJhc2VVcmwpICYmICFyZXEudXJsLnN0YXJ0c1dpdGgoJy8nKVxuICAgICAgICA/IHJlcS51cmxcbiAgICAgICAgOiBgJHtiYXNlVXJsfSR7cmVxLnVybH1gO1xuXG4gICAgcmV0dXJuIG5leHQoXG4gICAgICByZXEuY2xvbmUoe1xuICAgICAgICB1cmw6IHJlcXVlc3RVcmwsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gbmV4dChyZXEpO1xufVxuXG5mdW5jdGlvbiBzb3J0QW5kQ29uY2F0UGFyYW1zKHBhcmFtczogSHR0cFBhcmFtcyB8IFVSTFNlYXJjaFBhcmFtcyk6IHN0cmluZyB7XG4gIHJldHVybiBbLi4ucGFyYW1zLmtleXMoKV1cbiAgICAuc29ydCgpXG4gICAgLm1hcCgoaykgPT4gYCR7a309JHtwYXJhbXMuZ2V0QWxsKGspfWApXG4gICAgLmpvaW4oJyYnKTtcbn1cblxuZnVuY3Rpb24gbWFrZUNhY2hlS2V5KFxuICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LFxuICBtYXBwZWRSZXF1ZXN0VXJsOiBzdHJpbmdcbik6IFN0YXRlS2V5PHVua25vd24+IHtcbiAgLy8gbWFrZSB0aGUgcGFyYW1zIGVuY29kZWQgc2FtZSBhcyBhIHVybCBzbyBpdCdzIGVhc3kgdG8gaWRlbnRpZnlcbiAgY29uc3QgeyBwYXJhbXMsIG1ldGhvZCwgcmVzcG9uc2VUeXBlIH0gPSByZXF1ZXN0O1xuICBjb25zdCBlbmNvZGVkUGFyYW1zID0gc29ydEFuZENvbmNhdFBhcmFtcyhwYXJhbXMpO1xuXG4gIGxldCBzZXJpYWxpemVkQm9keSA9IHJlcXVlc3Quc2VyaWFsaXplQm9keSgpO1xuICBpZiAoc2VyaWFsaXplZEJvZHkgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXMpIHtcbiAgICBzZXJpYWxpemVkQm9keSA9IHNvcnRBbmRDb25jYXRQYXJhbXMoc2VyaWFsaXplZEJvZHkpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBzZXJpYWxpemVkQm9keSAhPT0gJ3N0cmluZycpIHtcbiAgICBzZXJpYWxpemVkQm9keSA9ICcnO1xuICB9XG5cbiAgY29uc3Qga2V5ID0gW1xuICAgIG1ldGhvZCxcbiAgICByZXNwb25zZVR5cGUsXG4gICAgbWFwcGVkUmVxdWVzdFVybCxcbiAgICBzZXJpYWxpemVkQm9keSxcbiAgICBlbmNvZGVkUGFyYW1zLFxuICBdLmpvaW4oJ3wnKTtcblxuICBjb25zdCBoYXNoID0gZ2VuZXJhdGVIYXNoKGtleSk7XG5cbiAgcmV0dXJuIG1ha2VTdGF0ZUtleShoYXNoKTtcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVIYXNoKHN0cjogc3RyaW5nKSB7XG4gIGxldCBoYXNoID0gMDtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHN0ci5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGxldCBjaHIgPSBzdHIuY2hhckNvZGVBdChpKTtcbiAgICBoYXNoID0gKGhhc2ggPDwgNSkgLSBoYXNoICsgY2hyO1xuICAgIGhhc2ggfD0gMDsgLy8gQ29udmVydCB0byAzMmJpdCBpbnRlZ2VyXG4gIH1cbiAgcmV0dXJuIGAke2hhc2h9YDtcbn1cbiJdfQ==
@@ -1,47 +0,0 @@
1
- import { inject } from '@angular/core';
2
- import { HttpClient } from '@angular/common/http';
3
- import { firstValueFrom } from 'rxjs';
4
- import { ROUTE_META_TAGS_KEY } from './meta-tags';
5
- import { ANALOG_PAGE_ENDPOINTS, ANALOG_META_KEY } from './endpoints';
6
- import { injectRouteEndpointURL } from './inject-route-endpoint-url';
7
- export function toRouteConfig(routeMeta) {
8
- if (routeMeta && isRedirectRouteMeta(routeMeta)) {
9
- return routeMeta;
10
- }
11
- let { meta, ...routeConfig } = routeMeta ?? {};
12
- if (Array.isArray(meta)) {
13
- routeConfig.data = { ...routeConfig.data, [ROUTE_META_TAGS_KEY]: meta };
14
- }
15
- else if (typeof meta === 'function') {
16
- routeConfig.resolve = {
17
- ...routeConfig.resolve,
18
- [ROUTE_META_TAGS_KEY]: meta,
19
- };
20
- }
21
- if (!routeConfig) {
22
- routeConfig = {};
23
- }
24
- routeConfig.runGuardsAndResolvers =
25
- routeConfig.runGuardsAndResolvers ?? 'paramsOrQueryParamsChange';
26
- routeConfig.resolve = {
27
- ...routeConfig.resolve,
28
- load: async (route) => {
29
- const routeConfig = route.routeConfig;
30
- if (ANALOG_PAGE_ENDPOINTS[routeConfig[ANALOG_META_KEY].endpointKey]) {
31
- const http = inject(HttpClient);
32
- const url = injectRouteEndpointURL(route);
33
- if (!!import.meta.env['VITE_ANALOG_PUBLIC_BASE_URL'] &&
34
- globalThis.$fetch) {
35
- return globalThis.$fetch(url.pathname);
36
- }
37
- return firstValueFrom(http.get(`${url.href}`));
38
- }
39
- return {};
40
- },
41
- };
42
- return routeConfig;
43
- }
44
- function isRedirectRouteMeta(routeMeta) {
45
- return !!routeMeta.redirectTo;
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsTUFBTSxVQUFVLGFBQWEsQ0FBQyxTQUFnQztJQUM1RCxJQUFJLFNBQVMsSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2hELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsV0FBVyxFQUFFLEdBQUcsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUUvQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN4QixXQUFXLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxRSxDQUFDO1NBQU0sSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUN0QyxXQUFXLENBQUMsT0FBTyxHQUFHO1lBQ3BCLEdBQUcsV0FBVyxDQUFDLE9BQU87WUFDdEIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUk7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLHFCQUFxQjtRQUMvQixXQUFXLENBQUMscUJBQXFCLElBQUksMkJBQTJCLENBQUM7SUFDbkUsV0FBVyxDQUFDLE9BQU8sR0FBRztRQUNwQixHQUFHLFdBQVcsQ0FBQyxPQUFPO1FBQ3RCLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBRXpCLENBQUM7WUFFRixJQUFJLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNwRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2hDLE1BQU0sR0FBRyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUUxQyxJQUNFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDL0MsVUFBa0IsQ0FBQyxNQUFNLEVBQzFCLENBQUM7b0JBQ0QsT0FBUSxVQUFrQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xELENBQUM7Z0JBRUQsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUVELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztLQUNGLENBQUM7SUFFRixPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsU0FBb0I7SUFFcEIsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHR5cGUgeyBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBSZWRpcmVjdFJvdXRlTWV0YSwgUm91dGVDb25maWcsIFJvdXRlTWV0YSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFJPVVRFX01FVEFfVEFHU19LRVkgfSBmcm9tICcuL21ldGEtdGFncyc7XG5pbXBvcnQgeyBBTkFMT0dfUEFHRV9FTkRQT0lOVFMsIEFOQUxPR19NRVRBX0tFWSB9IGZyb20gJy4vZW5kcG9pbnRzJztcbmltcG9ydCB7IGluamVjdFJvdXRlRW5kcG9pbnRVUkwgfSBmcm9tICcuL2luamVjdC1yb3V0ZS1lbmRwb2ludC11cmwnO1xuXG5leHBvcnQgZnVuY3Rpb24gdG9Sb3V0ZUNvbmZpZyhyb3V0ZU1ldGE6IFJvdXRlTWV0YSB8IHVuZGVmaW5lZCk6IFJvdXRlQ29uZmlnIHtcbiAgaWYgKHJvdXRlTWV0YSAmJiBpc1JlZGlyZWN0Um91dGVNZXRhKHJvdXRlTWV0YSkpIHtcbiAgICByZXR1cm4gcm91dGVNZXRhO1xuICB9XG5cbiAgbGV0IHsgbWV0YSwgLi4ucm91dGVDb25maWcgfSA9IHJvdXRlTWV0YSA/PyB7fTtcblxuICBpZiAoQXJyYXkuaXNBcnJheShtZXRhKSkge1xuICAgIHJvdXRlQ29uZmlnLmRhdGEgPSB7IC4uLnJvdXRlQ29uZmlnLmRhdGEsIFtST1VURV9NRVRBX1RBR1NfS0VZXTogbWV0YSB9O1xuICB9IGVsc2UgaWYgKHR5cGVvZiBtZXRhID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcm91dGVDb25maWcucmVzb2x2ZSA9IHtcbiAgICAgIC4uLnJvdXRlQ29uZmlnLnJlc29sdmUsXG4gICAgICBbUk9VVEVfTUVUQV9UQUdTX0tFWV06IG1ldGEsXG4gICAgfTtcbiAgfVxuXG4gIGlmICghcm91dGVDb25maWcpIHtcbiAgICByb3V0ZUNvbmZpZyA9IHt9O1xuICB9XG5cbiAgcm91dGVDb25maWcucnVuR3VhcmRzQW5kUmVzb2x2ZXJzID1cbiAgICByb3V0ZUNvbmZpZy5ydW5HdWFyZHNBbmRSZXNvbHZlcnMgPz8gJ3BhcmFtc09yUXVlcnlQYXJhbXNDaGFuZ2UnO1xuICByb3V0ZUNvbmZpZy5yZXNvbHZlID0ge1xuICAgIC4uLnJvdXRlQ29uZmlnLnJlc29sdmUsXG4gICAgbG9hZDogYXN5bmMgKHJvdXRlKSA9PiB7XG4gICAgICBjb25zdCByb3V0ZUNvbmZpZyA9IHJvdXRlLnJvdXRlQ29uZmlnIGFzIFJvdXRlICYge1xuICAgICAgICBbQU5BTE9HX01FVEFfS0VZXTogeyBlbmRwb2ludDogc3RyaW5nOyBlbmRwb2ludEtleTogc3RyaW5nIH07XG4gICAgICB9O1xuXG4gICAgICBpZiAoQU5BTE9HX1BBR0VfRU5EUE9JTlRTW3JvdXRlQ29uZmlnW0FOQUxPR19NRVRBX0tFWV0uZW5kcG9pbnRLZXldKSB7XG4gICAgICAgIGNvbnN0IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgICAgIGNvbnN0IHVybCA9IGluamVjdFJvdXRlRW5kcG9pbnRVUkwocm91dGUpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAhIWltcG9ydC5tZXRhLmVudlsnVklURV9BTkFMT0dfUFVCTElDX0JBU0VfVVJMJ10gJiZcbiAgICAgICAgICAoZ2xvYmFsVGhpcyBhcyBhbnkpLiRmZXRjaFxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gKGdsb2JhbFRoaXMgYXMgYW55KS4kZmV0Y2godXJsLnBhdGhuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShodHRwLmdldChgJHt1cmwuaHJlZn1gKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7fTtcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiByb3V0ZUNvbmZpZztcbn1cblxuZnVuY3Rpb24gaXNSZWRpcmVjdFJvdXRlTWV0YShcbiAgcm91dGVNZXRhOiBSb3V0ZU1ldGFcbik6IHJvdXRlTWV0YSBpcyBSZWRpcmVjdFJvdXRlTWV0YSB7XG4gIHJldHVybiAhIXJvdXRlTWV0YS5yZWRpcmVjdFRvO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvc3JjL2xpYi9yb3V0ZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBIM0V2ZW50LCBIM0V2ZW50Q29udGV4dCB9IGZyb20gJ2gzJztcbmltcG9ydCB0eXBlIHsgJEZldGNoIH0gZnJvbSAnbml0cm9wYWNrJztcblxuZXhwb3J0IHR5cGUgUGFnZVNlcnZlckxvYWQgPSB7XG4gIHBhcmFtczogSDNFdmVudENvbnRleHRbJ3BhcmFtcyddO1xuICByZXE6IEgzRXZlbnRbJ25vZGUnXVsncmVxJ107XG4gIHJlczogSDNFdmVudFsnbm9kZSddWydyZXMnXTtcbiAgZmV0Y2g6ICRGZXRjaDtcbiAgZXZlbnQ6IEgzRXZlbnQ7XG59O1xuXG5leHBvcnQgdHlwZSBMb2FkUmVzdWx0PFxuICBBIGV4dGVuZHMgKHBhZ2VTZXJ2ZXJMb2FkOiBQYWdlU2VydmVyTG9hZCkgPT4gUHJvbWlzZTxhbnk+XG4+ID0gQXdhaXRlZDxSZXR1cm5UeXBlPEE+PjtcbiJdfQ==
@@ -1,176 +0,0 @@
1
- /// <reference types="vite/client" />
2
- import { toRouteConfig } from './route-config';
3
- import { toMarkdownModule } from './markdown-helpers';
4
- import { ENDPOINT_EXTENSION } from './constants';
5
- import { ANALOG_META_KEY } from './endpoints';
6
- /**
7
- * This variable reference is replaced with a glob of all page routes.
8
- */
9
- let ANALOG_ROUTE_FILES = {};
10
- /**
11
- * This variable reference is replaced with a glob of all content routes.
12
- */
13
- let ANALOG_CONTENT_ROUTE_FILES = {};
14
- /**
15
- * A function used to parse list of files and create configuration of routes.
16
- *
17
- * @param files
18
- * @returns Array of routes
19
- */
20
- export function createRoutes(files) {
21
- const filenames = Object.keys(files);
22
- if (filenames.length === 0) {
23
- return [];
24
- }
25
- // map filenames to raw routes and group them by level
26
- const rawRoutesByLevelMap = filenames.reduce((acc, filename) => {
27
- const rawPath = toRawPath(filename);
28
- const rawSegments = rawPath.split('/');
29
- // nesting level starts at 0
30
- // rawPath: /products => level: 0
31
- // rawPath: /products/:id => level: 1
32
- const level = rawSegments.length - 1;
33
- const rawSegment = rawSegments[level];
34
- const ancestorRawSegments = rawSegments.slice(0, level);
35
- return {
36
- ...acc,
37
- [level]: {
38
- ...acc[level],
39
- [rawPath]: {
40
- filename,
41
- rawSegment,
42
- ancestorRawSegments,
43
- segment: toSegment(rawSegment),
44
- level,
45
- children: [],
46
- },
47
- },
48
- };
49
- }, {});
50
- const allLevels = Object.keys(rawRoutesByLevelMap).map(Number);
51
- const maxLevel = Math.max(...allLevels);
52
- // add each raw route to its parent's children array
53
- for (let level = maxLevel; level > 0; level--) {
54
- const rawRoutesMap = rawRoutesByLevelMap[level];
55
- const rawPaths = Object.keys(rawRoutesMap);
56
- for (const rawPath of rawPaths) {
57
- const rawRoute = rawRoutesMap[rawPath];
58
- const parentRawPath = rawRoute.ancestorRawSegments.join('/');
59
- const parentRawSegmentIndex = rawRoute.ancestorRawSegments.length - 1;
60
- const parentRawSegment = rawRoute.ancestorRawSegments[parentRawSegmentIndex];
61
- // create the parent level and/or raw route if it does not exist
62
- // parent route won't exist for nested routes that don't have a layout route
63
- rawRoutesByLevelMap[level - 1] ||= {};
64
- rawRoutesByLevelMap[level - 1][parentRawPath] ||= {
65
- filename: null,
66
- rawSegment: parentRawSegment,
67
- ancestorRawSegments: rawRoute.ancestorRawSegments.slice(0, parentRawSegmentIndex),
68
- segment: toSegment(parentRawSegment),
69
- level: level - 1,
70
- children: [],
71
- };
72
- rawRoutesByLevelMap[level - 1][parentRawPath].children.push(rawRoute);
73
- }
74
- }
75
- // only take raw routes from the root level
76
- // since they already contain nested routes as their children
77
- const rootRawRoutesMap = rawRoutesByLevelMap[0];
78
- const rawRoutes = Object.keys(rootRawRoutesMap).map((segment) => rootRawRoutesMap[segment]);
79
- sortRawRoutes(rawRoutes);
80
- return toRoutes(rawRoutes, files);
81
- }
82
- function toRawPath(filename) {
83
- return filename
84
- .replace(
85
- // convert to relative path and remove file extension
86
- /^(?:[a-zA-Z]:[\\/])?(.*?)[\\/](?:routes|pages)[\\/]|(?:[\\/](?:app[\\/](?:routes|pages)[\\/]))|(\.page\.(js|ts|analog|ag)$)|(\.(ts|md|analog|ag)$)/g, '')
87
- .replace(/\[\.{3}.+\]/, '**') // [...not-found] => **
88
- .replace(/\[([^\]]+)\]/g, ':$1'); // [id] => :id
89
- }
90
- function toSegment(rawSegment) {
91
- return rawSegment
92
- .replace(/index|\(.*?\)/g, '') // replace named empty segments
93
- .replace(/\.|\/+/g, '/') // replace dots with slashes and remove redundant slashes
94
- .replace(/^\/+|\/+$/g, ''); // remove trailing slashes
95
- }
96
- function toRoutes(rawRoutes, files) {
97
- const routes = [];
98
- for (const rawRoute of rawRoutes) {
99
- const children = rawRoute.children.length > 0
100
- ? toRoutes(rawRoute.children, files)
101
- : undefined;
102
- let module = undefined;
103
- let analogMeta = undefined;
104
- if (rawRoute.filename) {
105
- const isMarkdownFile = rawRoute.filename.endsWith('.md');
106
- module = isMarkdownFile
107
- ? toMarkdownModule(files[rawRoute.filename])
108
- : files[rawRoute.filename];
109
- const endpointKey = rawRoute.filename.replace(/\.page\.(ts|analog|ag)$/, ENDPOINT_EXTENSION);
110
- // get endpoint path
111
- const rawEndpoint = rawRoute.filename
112
- .replace(/\.page\.(ts|analog|ag)$/, '')
113
- .replace(/\[\.{3}.+\]/, '**') // [...not-found] => **
114
- .replace(/^(.*?)\/pages/, '/pages');
115
- // replace periods, remove (index) paths
116
- const endpoint = (rawEndpoint || '')
117
- .replace(/\./g, '/')
118
- .replace(/\/\((.*?)\)$/, '/-$1-');
119
- analogMeta = {
120
- endpoint,
121
- endpointKey,
122
- };
123
- }
124
- const route = module
125
- ? {
126
- path: rawRoute.segment,
127
- loadChildren: () => module().then((m) => {
128
- if (!import.meta.env.PROD) {
129
- const hasModuleDefault = !!m.default;
130
- const hasRedirect = !!m.routeMeta?.redirectTo;
131
- if (!hasModuleDefault && !hasRedirect) {
132
- console.warn(`[Analog] Missing default export at ${rawRoute.filename}`);
133
- }
134
- }
135
- return [
136
- {
137
- path: '',
138
- component: m.default,
139
- ...toRouteConfig(m.routeMeta),
140
- children,
141
- [ANALOG_META_KEY]: analogMeta,
142
- },
143
- ];
144
- }),
145
- }
146
- : { path: rawRoute.segment, children };
147
- routes.push(route);
148
- }
149
- return routes;
150
- }
151
- function sortRawRoutes(rawRoutes) {
152
- rawRoutes.sort((a, b) => {
153
- let segmentA = deprioritizeSegment(a.segment);
154
- let segmentB = deprioritizeSegment(b.segment);
155
- // prioritize routes with fewer children
156
- if (a.children.length > b.children.length) {
157
- segmentA = `~${segmentA}`;
158
- }
159
- else if (a.children.length < b.children.length) {
160
- segmentB = `~${segmentB}`;
161
- }
162
- return segmentA > segmentB ? 1 : -1;
163
- });
164
- for (const rawRoute of rawRoutes) {
165
- sortRawRoutes(rawRoute.children);
166
- }
167
- }
168
- function deprioritizeSegment(segment) {
169
- // deprioritize param and wildcard segments
170
- return segment.replace(':', '~~').replace('**', '~~~~');
171
- }
172
- export const routes = createRoutes({
173
- ...ANALOG_ROUTE_FILES,
174
- ...ANALOG_CONTENT_ROUTE_FILES,
175
- });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NyYy9saWIvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQztBQUtyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFXLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxJQUFJLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUU1Qjs7R0FFRztBQUNILElBQUksMEJBQTBCLEdBQUcsRUFBRSxDQUFDO0FBaUJwQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBWTtJQUN2QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxzREFBc0Q7SUFDdEQsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO1FBQzdELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLDRCQUE0QjtRQUM1QixpQ0FBaUM7UUFDakMscUNBQXFDO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENB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SyxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNqQyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxPQUFlO0lBQzFDLDJDQUEyQztJQUMzQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBWSxZQUFZLENBQUM7SUFDMUMsR0FBRyxrQkFBa0I7SUFDckIsR0FBRywwQkFBMEI7Q0FDOUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlL2NsaWVudFwiIC8+XG5cbmltcG9ydCB0eXBlIHsgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgdHlwZSB7IFJvdXRlRXhwb3J0LCBSb3V0ZU1ldGEgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyB0b1JvdXRlQ29uZmlnIH0gZnJvbSAnLi9yb3V0ZS1jb25maWcnO1xuaW1wb3J0IHsgdG9NYXJrZG93bk1vZHVsZSB9IGZyb20gJy4vbWFya2Rvd24taGVscGVycyc7XG5pbXBvcnQgeyBBUFBfRElSLCBFTkRQT0lOVF9FWFRFTlNJT04gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBTkFMT0dfTUVUQV9LRVkgfSBmcm9tICcuL2VuZHBvaW50cyc7XG5cbi8qKlxuICogVGhpcyB2YXJpYWJsZSByZWZlcmVuY2UgaXMgcmVwbGFjZWQgd2l0aCBhIGdsb2Igb2YgYWxsIHBhZ2Ugcm91dGVzLlxuICovXG5sZXQgQU5BTE9HX1JPVVRFX0ZJTEVTID0ge307XG5cbi8qKlxuICogVGhpcyB2YXJpYWJsZSByZWZlcmVuY2UgaXMgcmVwbGFjZWQgd2l0aCBhIGdsb2Igb2YgYWxsIGNvbnRlbnQgcm91dGVzLlxuICovXG5sZXQgQU5BTE9HX0NPTlRFTlRfUk9VVEVfRklMRVMgPSB7fTtcblxuZXhwb3J0IHR5cGUgRmlsZXMgPSBSZWNvcmQ8c3RyaW5nLCAoKSA9PiBQcm9taXNlPFJvdXRlRXhwb3J0IHwgc3RyaW5nPj47XG5cbnR5cGUgUmF3Um91dGUgPSB7XG4gIGZpbGVuYW1lOiBzdHJpbmcgfCBudWxsO1xuICByYXdTZWdtZW50OiBzdHJpbmc7XG4gIGFuY2VzdG9yUmF3U2VnbWVudHM6IHN0cmluZ1tdO1xuICBzZWdtZW50OiBzdHJpbmc7XG4gIGxldmVsOiBudW1iZXI7XG4gIGNoaWxkcmVuOiBSYXdSb3V0ZVtdO1xufTtcblxudHlwZSBSYXdSb3V0ZU1hcCA9IFJlY29yZDxzdHJpbmcsIFJhd1JvdXRlPjtcblxudHlwZSBSYXdSb3V0ZUJ5TGV2ZWxNYXAgPSBSZWNvcmQ8bnVtYmVyLCBSYXdSb3V0ZU1hcD47XG5cbi8qKlxuICogQSBmdW5jdGlvbiB1c2VkIHRvIHBhcnNlIGxpc3Qgb2YgZmlsZXMgYW5kIGNyZWF0ZSBjb25maWd1cmF0aW9uIG9mIHJvdXRlcy5cbiAqXG4gKiBAcGFyYW0gZmlsZXNcbiAqIEByZXR1cm5zIEFycmF5IG9mIHJvdXRlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm91dGVzKGZpbGVzOiBGaWxlcyk6IFJvdXRlW10ge1xuICBjb25zdCBmaWxlbmFtZXMgPSBPYmplY3Qua2V5cyhmaWxlcyk7XG5cbiAgaWYgKGZpbGVuYW1lcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBtYXAgZmlsZW5hbWVzIHRvIHJhdyByb3V0ZXMgYW5kIGdyb3VwIHRoZW0gYnkgbGV2ZWxcbiAgY29uc3QgcmF3Um91dGVzQnlMZXZlbE1hcCA9IGZpbGVuYW1lcy5yZWR1Y2UoKGFjYywgZmlsZW5hbWUpID0+IHtcbiAgICBjb25zdCByYXdQYXRoID0gdG9SYXdQYXRoKGZpbGVuYW1lKTtcbiAgICBjb25zdCByYXdTZWdtZW50cyA9IHJhd1BhdGguc3BsaXQoJy8nKTtcbiAgICAvLyBuZXN0aW5nIGxldmVsIHN0YXJ0cyBhdCAwXG4gICAgLy8gcmF3UGF0aDogL3Byb2R1Y3RzID0+IGxldmVsOiAwXG4gICAgLy8gcmF3UGF0aDogL3Byb2R1Y3RzLzppZCA9PiBsZXZlbDogMVxuICAgIGNvbnN0IGxldmVsID0gcmF3U2VnbWVudHMubGVuZ3RoIC0gMTtcbiAgICBjb25zdCByYXdTZWdtZW50ID0gcmF3U2VnbWVudHNbbGV2ZWxdO1xuICAgIGNvbnN0IGFuY2VzdG9yUmF3U2VnbWVudHMgPSByYXdTZWdtZW50cy5zbGljZSgwLCBsZXZlbCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYWNjLFxuICAgICAgW2xldmVsXToge1xuICAgICAgICAuLi5hY2NbbGV2ZWxdLFxuICAgICAgICBbcmF3UGF0aF06IHtcbiAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICByYXdTZWdtZW50LFxuICAgICAgICAgIGFuY2VzdG9yUmF3U2VnbWVudHMsXG4gICAgICAgICAgc2VnbWVudDogdG9TZWdtZW50KHJhd1NlZ21lbnQpLFxuICAgICAgICAgIGxldmVsLFxuICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfSwge30gYXMgUmF3Um91dGVCeUxldmVsTWFwKTtcblxuICBjb25zdCBhbGxMZXZlbHMgPSBPYmplY3Qua2V5cyhyYXdSb3V0ZXNCeUxldmVsTWFwKS5tYXAoTnVtYmVyKTtcbiAgY29uc3QgbWF4TGV2ZWwgPSBNYXRoLm1heCguLi5hbGxMZXZlbHMpO1xuXG4gIC8vIGFkZCBlYWNoIHJhdyByb3V0ZSB0byBpdHMgcGFyZW50J3MgY2hpbGRyZW4gYXJyYXlcbiAgZm9yIChsZXQgbGV2ZWwgPSBtYXhMZXZlbDsgbGV2ZWwgPiAwOyBsZXZlbC0tKSB7XG4gICAgY29uc3QgcmF3Um91dGVzTWFwID0gcmF3Um91dGVzQnlMZXZlbE1hcFtsZXZlbF07XG4gICAgY29uc3QgcmF3UGF0aHMgPSBPYmplY3Qua2V5cyhyYXdSb3V0ZXNNYXApO1xuXG4gICAgZm9yIChjb25zdCByYXdQYXRoIG9mIHJhd1BhdGhzKSB7XG4gICAgICBjb25zdCByYXdSb3V0ZSA9IHJhd1JvdXRlc01hcFtyYXdQYXRoXTtcbiAgICAgIGNvbnN0IHBhcmVudFJhd1BhdGggPSByYXdSb3V0ZS5hbmNlc3RvclJhd1NlZ21lbnRzLmpvaW4oJy8nKTtcbiAgICAgIGNvbnN0IHBhcmVudFJhd1NlZ21lbnRJbmRleCA9IHJhd1JvdXRlLmFuY2VzdG9yUmF3U2VnbWVudHMubGVuZ3RoIC0gMTtcbiAgICAgIGNvbnN0IHBhcmVudFJhd1NlZ21lbnQgPVxuICAgICAgICByYXdSb3V0ZS5hbmNlc3RvclJhd1NlZ21lbnRzW3BhcmVudFJhd1NlZ21lbnRJbmRleF07XG5cbiAgICAgIC8vIGNyZWF0ZSB0aGUgcGFyZW50IGxldmVsIGFuZC9vciByYXcgcm91dGUgaWYgaXQgZG9lcyBub3QgZXhpc3RcbiAgICAgIC8vIHBhcmVudCByb3V0ZSB3b24ndCBleGlzdCBmb3IgbmVzdGVkIHJvdXRlcyB0aGF0IGRvbid0IGhhdmUgYSBsYXlvdXQgcm91dGVcbiAgICAgIHJhd1JvdXRlc0J5TGV2ZWxNYXBbbGV2ZWwgLSAxXSB8fD0ge307XG4gICAgICByYXdSb3V0ZXNCeUxldmVsTWFwW2xldmVsIC0gMV1bcGFyZW50UmF3UGF0aF0gfHw9IHtcbiAgICAgICAgZmlsZW5hbWU6IG51bGwsXG4gICAgICAgIHJhd1NlZ21lbnQ6IHBhcmVudFJhd1NlZ21lbnQsXG4gICAgICAgIGFuY2VzdG9yUmF3U2VnbWVudHM6IHJhd1JvdXRlLmFuY2VzdG9yUmF3U2VnbWVudHMuc2xpY2UoXG4gICAgICAgICAgMCxcbiAgICAgICAgICBwYXJlbnRSYXdTZWdtZW50SW5kZXhcbiAgICAgICAgKSxcbiAgICAgICAgc2VnbWVudDogdG9TZWdtZW50KHBhcmVudFJhd1NlZ21lbnQpLFxuICAgICAgICBsZXZlbDogbGV2ZWwgLSAxLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICB9O1xuXG4gICAgICByYXdSb3V0ZXNCeUxldmVsTWFwW2xldmVsIC0gMV1bcGFyZW50UmF3UGF0aF0uY2hpbGRyZW4ucHVzaChyYXdSb3V0ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gb25seSB0YWtlIHJhdyByb3V0ZXMgZnJvbSB0aGUgcm9vdCBsZXZlbFxuICAvLyBzaW5jZSB0aGV5IGFscmVhZHkgY29udGFpbiBuZXN0ZWQgcm91dGVzIGFzIHRoZWlyIGNoaWxkcmVuXG4gIGNvbnN0IHJvb3RSYXdSb3V0ZXNNYXAgPSByYXdSb3V0ZXNCeUxldmVsTWFwWzBdO1xuICBjb25zdCByYXdSb3V0ZXMgPSBPYmplY3Qua2V5cyhyb290UmF3Um91dGVzTWFwKS5tYXAoXG4gICAgKHNlZ21lbnQpID0+IHJvb3RSYXdSb3V0ZXNNYXBbc2VnbWVudF1cbiAgKTtcbiAgc29ydFJhd1JvdXRlcyhyYXdSb3V0ZXMpO1xuXG4gIHJldHVybiB0b1JvdXRlcyhyYXdSb3V0ZXMsIGZpbGVzKTtcbn1cblxuZnVuY3Rpb24gdG9SYXdQYXRoKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gZmlsZW5hbWVcbiAgICAucmVwbGFjZShcbiAgICAgIC8vIGNvbnZlcnQgdG8gcmVsYXRpdmUgcGF0aCBhbmQgcmVtb3ZlIGZpbGUgZXh0ZW5zaW9uXG4gICAgICAvXig/OlthLXpBLVpdOltcXFxcL10pPyguKj8pW1xcXFwvXSg/OnJvdXRlc3xwYWdlcylbXFxcXC9dfCg/OltcXFxcL10oPzphcHBbXFxcXC9dKD86cm91dGVzfHBhZ2VzKVtcXFxcL10pKXwoXFwucGFnZVxcLihqc3x0c3xhbmFsb2d8YWcpJCl8KFxcLih0c3xtZHxhbmFsb2d8YWcpJCkvZyxcbiAgICAgICcnXG4gICAgKVxuICAgIC5yZXBsYWNlKC9cXFtcXC57M30uK1xcXS8sICcqKicpIC8vIFsuLi5ub3QtZm91bmRdID0+ICoqXG4gICAgLnJlcGxhY2UoL1xcWyhbXlxcXV0rKVxcXS9nLCAnOiQxJyk7IC8vIFtpZF0gPT4gOmlkXG59XG5cbmZ1bmN0aW9uIHRvU2VnbWVudChyYXdTZWdtZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmF3U2VnbWVudFxuICAgIC5yZXBsYWNlKC9pbmRleHxcXCguKj9cXCkvZywgJycpIC8vIHJlcGxhY2UgbmFtZWQgZW1wdHkgc2VnbWVudHNcbiAgICAucmVwbGFjZSgvXFwufFxcLysvZywgJy8nKSAvLyByZXBsYWNlIGRvdHMgd2l0aCBzbGFzaGVzIGFuZCByZW1vdmUgcmVkdW5kYW50IHNsYXNoZXNcbiAgICAucmVwbGFjZSgvXlxcLyt8XFwvKyQvZywgJycpOyAvLyByZW1vdmUgdHJhaWxpbmcgc2xhc2hlc1xufVxuXG5mdW5jdGlvbiB0b1JvdXRlcyhyYXdSb3V0ZXM6IFJhd1JvdXRlW10sIGZpbGVzOiBGaWxlcyk6IFJvdXRlW10ge1xuICBjb25zdCByb3V0ZXM6IFJvdXRlW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHJhd1JvdXRlIG9mIHJhd1JvdXRlcykge1xuICAgIGNvbnN0IGNoaWxkcmVuOiBSb3V0ZVtdIHwgdW5kZWZpbmVkID1cbiAgICAgIHJhd1JvdXRlLmNoaWxkcmVuLmxlbmd0aCA+IDBcbiAgICAgICAgPyB0b1JvdXRlcyhyYXdSb3V0ZS5jaGlsZHJlbiwgZmlsZXMpXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGxldCBtb2R1bGU6ICgoKSA9PiBQcm9taXNlPFJvdXRlRXhwb3J0PikgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgbGV0IGFuYWxvZ01ldGE6IHsgZW5kcG9pbnQ6IHN0cmluZzsgZW5kcG9pbnRLZXk6IHN0cmluZyB9IHwgdW5kZWZpbmVkID1cbiAgICAgIHVuZGVmaW5lZDtcblxuICAgIGlmIChyYXdSb3V0ZS5maWxlbmFtZSkge1xuICAgICAgY29uc3QgaXNNYXJrZG93bkZpbGUgPSByYXdSb3V0ZS5maWxlbmFtZS5lbmRzV2l0aCgnLm1kJyk7XG4gICAgICBtb2R1bGUgPSBpc01hcmtkb3duRmlsZVxuICAgICAgICA/IHRvTWFya2Rvd25Nb2R1bGUoZmlsZXNbcmF3Um91dGUuZmlsZW5hbWVdIGFzICgpID0+IFByb21pc2U8c3RyaW5nPilcbiAgICAgICAgOiAoZmlsZXNbcmF3Um91dGUuZmlsZW5hbWVdIGFzICgpID0+IFByb21pc2U8Um91dGVFeHBvcnQ+KTtcblxuICAgICAgY29uc3QgZW5kcG9pbnRLZXkgPSByYXdSb3V0ZS5maWxlbmFtZS5yZXBsYWNlKFxuICAgICAgICAvXFwucGFnZVxcLih0c3xhbmFsb2d8YWcpJC8sXG4gICAgICAgIEVORFBPSU5UX0VYVEVOU0lPTlxuICAgICAgKTtcblxuICAgICAgLy8gZ2V0IGVuZHBvaW50IHBhdGhcbiAgICAgIGNvbnN0IHJhd0VuZHBvaW50ID0gcmF3Um91dGUuZmlsZW5hbWVcbiAgICAgICAgLnJlcGxhY2UoL1xcLnBhZ2VcXC4odHN8YW5hbG9nfGFnKSQvLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcW1xcLnszfS4rXFxdLywgJyoqJykgLy8gWy4uLm5vdC1mb3VuZF0gPT4gKipcbiAgICAgICAgLnJlcGxhY2UoL14oLio/KVxcL3BhZ2VzLywgJy9wYWdlcycpO1xuXG4gICAgICAvLyByZXBsYWNlIHBlcmlvZHMsIHJlbW92ZSAoaW5kZXgpIHBhdGhzXG4gICAgICBjb25zdCBlbmRwb2ludCA9IChyYXdFbmRwb2ludCB8fCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcLi9nLCAnLycpXG4gICAgICAgIC5yZXBsYWNlKC9cXC9cXCgoLio/KVxcKSQvLCAnLy0kMS0nKTtcblxuICAgICAgYW5hbG9nTWV0YSA9IHtcbiAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgIGVuZHBvaW50S2V5LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCByb3V0ZTogUm91dGUgJiB7IG1ldGE/OiB0eXBlb2YgYW5hbG9nTWV0YSB9ID0gbW9kdWxlXG4gICAgICA/IHtcbiAgICAgICAgICBwYXRoOiByYXdSb3V0ZS5zZWdtZW50LFxuICAgICAgICAgIGxvYWRDaGlsZHJlbjogKCkgPT5cbiAgICAgICAgICAgIG1vZHVsZSEoKS50aGVuKChtKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghaW1wb3J0Lm1ldGEuZW52LlBST0QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNNb2R1bGVEZWZhdWx0ID0gISFtLmRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzUmVkaXJlY3QgPSAhIW0ucm91dGVNZXRhPy5yZWRpcmVjdFRvO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFoYXNNb2R1bGVEZWZhdWx0ICYmICFoYXNSZWRpcmVjdCkge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICBgW0FuYWxvZ10gTWlzc2luZyBkZWZhdWx0IGV4cG9ydCBhdCAke3Jhd1JvdXRlLmZpbGVuYW1lfWBcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudDogbS5kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgLi4udG9Sb3V0ZUNvbmZpZyhtLnJvdXRlTWV0YSBhcyBSb3V0ZU1ldGEgfCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICBbQU5BTE9HX01FVEFfS0VZXTogYW5hbG9nTWV0YSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSksXG4gICAgICAgIH1cbiAgICAgIDogeyBwYXRoOiByYXdSb3V0ZS5zZWdtZW50LCBjaGlsZHJlbiB9O1xuXG4gICAgcm91dGVzLnB1c2gocm91dGUpO1xuICB9XG5cbiAgcmV0dXJuIHJvdXRlcztcbn1cblxuZnVuY3Rpb24gc29ydFJhd1JvdXRlcyhyYXdSb3V0ZXM6IFJhd1JvdXRlW10pOiB2b2lkIHtcbiAgcmF3Um91dGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICBsZXQgc2VnbWVudEEgPSBkZXByaW9yaXRpemVTZWdtZW50KGEuc2VnbWVudCk7XG4gICAgbGV0IHNlZ21lbnRCID0gZGVwcmlvcml0aXplU2VnbWVudChiLnNlZ21lbnQpO1xuXG4gICAgLy8gcHJpb3JpdGl6ZSByb3V0ZXMgd2l0aCBmZXdlciBjaGlsZHJlblxuICAgIGlmIChhLmNoaWxkcmVuLmxlbmd0aCA+IGIuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICBzZWdtZW50QSA9IGB+JHtzZWdtZW50QX1gO1xuICAgIH0gZWxzZSBpZiAoYS5jaGlsZHJlbi5sZW5ndGggPCBiLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgc2VnbWVudEIgPSBgfiR7c2VnbWVudEJ9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VnbWVudEEgPiBzZWdtZW50QiA/IDEgOiAtMTtcbiAgfSk7XG5cbiAgZm9yIChjb25zdCByYXdSb3V0ZSBvZiByYXdSb3V0ZXMpIHtcbiAgICBzb3J0UmF3Um91dGVzKHJhd1JvdXRlLmNoaWxkcmVuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZXByaW9yaXRpemVTZWdtZW50KHNlZ21lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIGRlcHJpb3JpdGl6ZSBwYXJhbSBhbmQgd2lsZGNhcmQgc2VnbWVudHNcbiAgcmV0dXJuIHNlZ21lbnQucmVwbGFjZSgnOicsICd+ficpLnJlcGxhY2UoJyoqJywgJ35+fn4nKTtcbn1cblxuZXhwb3J0IGNvbnN0IHJvdXRlczogUm91dGVbXSA9IGNyZWF0ZVJvdXRlcyh7XG4gIC4uLkFOQUxPR19ST1VURV9GSUxFUyxcbiAgLi4uQU5BTE9HX0NPTlRFTlRfUk9VVEVfRklMRVMsXG59KTtcbiJdfQ==
@@ -1,33 +0,0 @@
1
- export function fail(status, errors) {
2
- return new Response(JSON.stringify(errors), {
3
- status,
4
- headers: {
5
- 'X-Analog-Errors': 'true',
6
- },
7
- });
8
- }
9
- export function json(data, config) {
10
- return new Response(JSON.stringify(data), {
11
- headers: {
12
- 'Content-Type': 'application/json; charset=utf-8',
13
- },
14
- ...config,
15
- });
16
- }
17
- export function redirect(url, config = 302) {
18
- if (typeof config === 'number') {
19
- return new Response(null, {
20
- status: config,
21
- headers: {
22
- Location: `${url}`,
23
- },
24
- });
25
- }
26
- return new Response(null, {
27
- headers: {
28
- Location: `${url}`,
29
- },
30
- ...config,
31
- });
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci9zZXJ2ZXIvYWN0aW9ucy9zcmMvYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxNQUFNLFVBQVUsSUFBSSxDQUFhLE1BQWMsRUFBRSxNQUFTO0lBQ3hELE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMxQyxNQUFNO1FBQ04sT0FBTyxFQUFFO1lBQ1AsaUJBQWlCLEVBQUUsTUFBTTtTQUMxQjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsSUFBSSxDQUFhLElBQU8sRUFBRSxNQUFxQjtJQUM3RCxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDeEMsT0FBTyxFQUFFO1lBQ1AsY0FBYyxFQUFFLGlDQUFpQztTQUNsRDtRQUNELEdBQUcsTUFBTTtLQUNWLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVcsRUFBRSxTQUFnQyxHQUFHO0lBQ3ZFLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFDeEIsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLEdBQUcsR0FBRyxFQUFFO2FBQ25CO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO1FBQ3hCLE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFBRSxHQUFHLEdBQUcsRUFBRTtTQUNuQjtRQUNELEdBQUcsTUFBTTtLQUNWLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEgzRXZlbnQsIEgzRXZlbnRDb250ZXh0IH0gZnJvbSAnaDMnO1xuaW1wb3J0IHR5cGUgeyAkRmV0Y2ggfSBmcm9tICduaXRyb3BhY2snO1xuXG5leHBvcnQgdHlwZSBQYWdlU2VydmVyQWN0aW9uID0ge1xuICBwYXJhbXM6IEgzRXZlbnRDb250ZXh0WydwYXJhbXMnXTtcbiAgcmVxOiBIM0V2ZW50Wydub2RlJ11bJ3JlcSddO1xuICByZXM6IEgzRXZlbnRbJ25vZGUnXVsncmVzJ107XG4gIGZldGNoOiAkRmV0Y2g7XG4gIGV2ZW50OiBIM0V2ZW50O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZhaWw8VCA9IG9iamVjdD4oc3RhdHVzOiBudW1iZXIsIGVycm9yczogVCkge1xuICByZXR1cm4gbmV3IFJlc3BvbnNlKEpTT04uc3RyaW5naWZ5KGVycm9ycyksIHtcbiAgICBzdGF0dXMsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ1gtQW5hbG9nLUVycm9ycyc6ICd0cnVlJyxcbiAgICB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGpzb248VCA9IG9iamVjdD4oZGF0YTogVCwgY29uZmlnPzogUmVzcG9uc2VJbml0KSB7XG4gIHJldHVybiBuZXcgUmVzcG9uc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSksIHtcbiAgICBoZWFkZXJzOiB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnLFxuICAgIH0sXG4gICAgLi4uY29uZmlnLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGlyZWN0KHVybDogc3RyaW5nLCBjb25maWc6IG51bWJlciB8IFJlc3BvbnNlSW5pdCA9IDMwMikge1xuICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gbmV3IFJlc3BvbnNlKG51bGwsIHtcbiAgICAgIHN0YXR1czogY29uZmlnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBMb2NhdGlvbjogYCR7dXJsfWAsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBSZXNwb25zZShudWxsLCB7XG4gICAgaGVhZGVyczoge1xuICAgICAgTG9jYXRpb246IGAke3VybH1gLFxuICAgIH0sXG4gICAgLi4uY29uZmlnLFxuICB9KTtcbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtcm91dGVyLXNlcnZlci1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyL3NlcnZlci9hY3Rpb25zL3NyYy9hbmFsb2dqcy1yb3V0ZXItc2VydmVyLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export { json, redirect, fail } from './actions';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvc2VydmVyL2FjdGlvbnMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBQYWdlU2VydmVyQWN0aW9uLCBqc29uLCByZWRpcmVjdCwgZmFpbCB9IGZyb20gJy4vYWN0aW9ucyc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtcm91dGVyLXNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci9zZXJ2ZXIvc3JjL2FuYWxvZ2pzLXJvdXRlci1zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export { provideServerContext } from './provide-server-context';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvc2VydmVyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHByb3ZpZGVTZXJ2ZXJDb250ZXh0IH0gZnJvbSAnLi9wcm92aWRlLXNlcnZlci1jb250ZXh0JztcbiJdfQ==
@@ -1,32 +0,0 @@
1
- import { ɵresetCompiledComponents } from '@angular/core';
2
- import { ɵSERVER_CONTEXT as SERVER_CONTEXT } from '@angular/platform-server';
3
- import { BASE_URL, REQUEST, RESPONSE, } from '@analogjs/router/tokens';
4
- export function provideServerContext({ req, res, }) {
5
- const baseUrl = getBaseUrl(req);
6
- if (import.meta.env.DEV) {
7
- ɵresetCompiledComponents();
8
- }
9
- return [
10
- { provide: SERVER_CONTEXT, useValue: 'ssr-analog' },
11
- { provide: REQUEST, useValue: req },
12
- { provide: RESPONSE, useValue: res },
13
- { provide: BASE_URL, useValue: baseUrl },
14
- ];
15
- }
16
- export function getBaseUrl(req) {
17
- const protocol = getRequestProtocol(req);
18
- const { originalUrl, headers } = req;
19
- const parsedUrl = new URL('', `${protocol}://${headers.host}${originalUrl.endsWith('/')
20
- ? originalUrl.substring(0, originalUrl.length - 1)
21
- : originalUrl}`);
22
- const baseUrl = parsedUrl.origin;
23
- return baseUrl;
24
- }
25
- export function getRequestProtocol(req, opts = {}) {
26
- if (opts.xForwardedProto !== false &&
27
- req.headers['x-forwarded-proto'] === 'https') {
28
- return 'https';
29
- }
30
- return req.connection?.encrypted ? 'https' : 'http';
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1zZXJ2ZXItY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci9zZXJ2ZXIvc3JjL3Byb3ZpZGUtc2VydmVyLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQix3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxJQUFJLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdFLE9BQU8sRUFDTCxRQUFRLEVBQ1IsT0FBTyxFQUNQLFFBQVEsR0FHVCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxFQUNuQyxHQUFHLEVBQ0gsR0FBRyxHQUlKO0lBQ0MsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWhDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDeEIsd0JBQXdCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTztRQUNMLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO1FBQ25ELEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ25DLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQ3BDLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO0tBQ3pDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFrQjtJQUMzQyxNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQztJQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FDdkIsRUFBRSxFQUNGLEdBQUcsUUFBUSxNQUFNLE9BQU8sQ0FBQyxJQUFJLEdBQzNCLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsV0FDTixFQUFFLENBQ0gsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFFakMsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsR0FBa0IsRUFDbEIsT0FBc0MsRUFBRTtJQUV4QyxJQUNFLElBQUksQ0FBQyxlQUFlLEtBQUssS0FBSztRQUM5QixHQUFHLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEtBQUssT0FBTyxFQUM1QyxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQVEsR0FBRyxDQUFDLFVBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGljUHJvdmlkZXIsIMm1cmVzZXRDb21waWxlZENvbXBvbmVudHMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IMm1U0VSVkVSX0NPTlRFWFQgYXMgU0VSVkVSX0NPTlRFWFQgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1zZXJ2ZXInO1xuXG5pbXBvcnQge1xuICBCQVNFX1VSTCxcbiAgUkVRVUVTVCxcbiAgUkVTUE9OU0UsXG4gIFNlcnZlclJlcXVlc3QsXG4gIFNlcnZlclJlc3BvbnNlLFxufSBmcm9tICdAYW5hbG9nanMvcm91dGVyL3Rva2Vucyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU2VydmVyQ29udGV4dCh7XG4gIHJlcSxcbiAgcmVzLFxufToge1xuICByZXE6IFNlcnZlclJlcXVlc3Q7XG4gIHJlczogU2VydmVyUmVzcG9uc2U7XG59KTogU3RhdGljUHJvdmlkZXJbXSB7XG4gIGNvbnN0IGJhc2VVcmwgPSBnZXRCYXNlVXJsKHJlcSk7XG5cbiAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYpIHtcbiAgICDJtXJlc2V0Q29tcGlsZWRDb21wb25lbnRzKCk7XG4gIH1cblxuICByZXR1cm4gW1xuICAgIHsgcHJvdmlkZTogU0VSVkVSX0NPTlRFWFQsIHVzZVZhbHVlOiAnc3NyLWFuYWxvZycgfSxcbiAgICB7IHByb3ZpZGU6IFJFUVVFU1QsIHVzZVZhbHVlOiByZXEgfSxcbiAgICB7IHByb3ZpZGU6IFJFU1BPTlNFLCB1c2VWYWx1ZTogcmVzIH0sXG4gICAgeyBwcm92aWRlOiBCQVNFX1VSTCwgdXNlVmFsdWU6IGJhc2VVcmwgfSxcbiAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJhc2VVcmwocmVxOiBTZXJ2ZXJSZXF1ZXN0KSB7XG4gIGNvbnN0IHByb3RvY29sID0gZ2V0UmVxdWVzdFByb3RvY29sKHJlcSk7XG4gIGNvbnN0IHsgb3JpZ2luYWxVcmwsIGhlYWRlcnMgfSA9IHJlcTtcbiAgY29uc3QgcGFyc2VkVXJsID0gbmV3IFVSTChcbiAgICAnJyxcbiAgICBgJHtwcm90b2NvbH06Ly8ke2hlYWRlcnMuaG9zdH0ke1xuICAgICAgb3JpZ2luYWxVcmwuZW5kc1dpdGgoJy8nKVxuICAgICAgICA/IG9yaWdpbmFsVXJsLnN1YnN0cmluZygwLCBvcmlnaW5hbFVybC5sZW5ndGggLSAxKVxuICAgICAgICA6IG9yaWdpbmFsVXJsXG4gICAgfWBcbiAgKTtcbiAgY29uc3QgYmFzZVVybCA9IHBhcnNlZFVybC5vcmlnaW47XG5cbiAgcmV0dXJuIGJhc2VVcmw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXF1ZXN0UHJvdG9jb2woXG4gIHJlcTogU2VydmVyUmVxdWVzdCxcbiAgb3B0czogeyB4Rm9yd2FyZGVkUHJvdG8/OiBib29sZWFuIH0gPSB7fVxuKSB7XG4gIGlmIChcbiAgICBvcHRzLnhGb3J3YXJkZWRQcm90byAhPT0gZmFsc2UgJiZcbiAgICByZXEuaGVhZGVyc1sneC1mb3J3YXJkZWQtcHJvdG8nXSA9PT0gJ2h0dHBzJ1xuICApIHtcbiAgICByZXR1cm4gJ2h0dHBzJztcbiAgfVxuXG4gIHJldHVybiAocmVxLmNvbm5lY3Rpb24gYXMgYW55KT8uZW5jcnlwdGVkID8gJ2h0dHBzJyA6ICdodHRwJztcbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtcm91dGVyLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci90b2tlbnMvc3JjL2FuYWxvZ2pzLXJvdXRlci10b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { InjectionToken, inject } from '@angular/core';
2
- export const REQUEST = new InjectionToken('@analogjs/router Server Request');
3
- export const RESPONSE = new InjectionToken('@analogjs/router Server Response');
4
- export const BASE_URL = new InjectionToken('@analogjs/router Base URL');
5
- export const API_PREFIX = new InjectionToken('@analogjs/router API Prefix');
6
- export function injectRequest() {
7
- return inject(REQUEST, { optional: true });
8
- }
9
- export function injectResponse() {
10
- return inject(RESPONSE, { optional: true });
11
- }
12
- export function injectBaseURL() {
13
- return inject(BASE_URL, { optional: true });
14
- }
15
- export function injectAPIPrefix() {
16
- return inject(API_PREFIX);
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXIvdG9rZW5zL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVV2RCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQ3ZDLGlDQUFpQyxDQUNsQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUN4QyxrQ0FBa0MsQ0FDbkMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBUywyQkFBMkIsQ0FBQyxDQUFDO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FDMUMsNkJBQTZCLENBQzlCLENBQUM7QUFFRixNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZTtJQUM3QixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1xuICBJbmNvbWluZ01lc3NhZ2UsXG4gIFNlcnZlclJlc3BvbnNlIGFzIE5vZGVTZXJ2ZXJSZXNwb25zZSxcbn0gZnJvbSAnbm9kZTpodHRwJztcblxuZXhwb3J0IHR5cGUgU2VydmVyUmVxdWVzdCA9IEluY29taW5nTWVzc2FnZSAmIHsgb3JpZ2luYWxVcmw6IHN0cmluZyB9O1xuZXhwb3J0IHR5cGUgU2VydmVyUmVzcG9uc2UgPSBOb2RlU2VydmVyUmVzcG9uc2U7XG5leHBvcnQgdHlwZSBTZXJ2ZXJDb250ZXh0ID0geyByZXE6IFNlcnZlclJlcXVlc3Q7IHJlczogU2VydmVyUmVzcG9uc2UgfTtcblxuZXhwb3J0IGNvbnN0IFJFUVVFU1QgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2VydmVyUmVxdWVzdD4oXG4gICdAYW5hbG9nanMvcm91dGVyIFNlcnZlciBSZXF1ZXN0J1xuKTtcbmV4cG9ydCBjb25zdCBSRVNQT05TRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZXJ2ZXJSZXNwb25zZT4oXG4gICdAYW5hbG9nanMvcm91dGVyIFNlcnZlciBSZXNwb25zZSdcbik7XG5leHBvcnQgY29uc3QgQkFTRV9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignQGFuYWxvZ2pzL3JvdXRlciBCYXNlIFVSTCcpO1xuXG5leHBvcnQgY29uc3QgQVBJX1BSRUZJWCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxuICAnQGFuYWxvZ2pzL3JvdXRlciBBUEkgUHJlZml4J1xuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJlcXVlc3QoKSB7XG4gIHJldHVybiBpbmplY3QoUkVRVUVTVCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJlc3BvbnNlKCkge1xuICByZXR1cm4gaW5qZWN0KFJFU1BPTlNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QmFzZVVSTCgpIHtcbiAgcmV0dXJuIGluamVjdChCQVNFX1VSTCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEFQSVByZWZpeCgpIHtcbiAgcmV0dXJuIGluamVjdChBUElfUFJFRklYKTtcbn1cbiJdfQ==