@paroicms/server 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/running-server/running-server-connector.d.ts.map +1 -1
- package/dist/running-server/running-server-connector.js +9 -0
- package/dist/running-server/running-server-connector.js.map +1 -1
- package/package.json +12 -11
- package/dist/admin-backend/document/document.resolver.extend.d.ts +0 -3
- package/dist/admin-backend/document/document.resolver.extend.js +0 -16
- package/dist/admin-backend/document/document.resolver.extend.js.map +0 -1
- package/dist/admin-backend/lnode/lnode-wrap.resolver.d.ts +0 -3
- package/dist/admin-backend/lnode/lnode-wrap.resolver.js +0 -111
- package/dist/admin-backend/lnode/lnode-wrap.resolver.js.map +0 -1
- package/dist/rendered-site/liquidjs-tags/deprecated-get-doc-tag.d.ts +0 -2
- package/dist/rendered-site/liquidjs-tags/deprecated-get-doc-tag.d.ts.map +0 -1
- package/dist/rendered-site/liquidjs-tags/deprecated-get-doc-tag.js +0 -61
- package/dist/rendered-site/liquidjs-tags/deprecated-get-doc-tag.js.map +0 -1
- package/dist/rendered-site/liquidjs-tags/deprecated-get-docs-tag.d.ts +0 -2
- package/dist/rendered-site/liquidjs-tags/deprecated-get-docs-tag.d.ts.map +0 -1
- package/dist/rendered-site/liquidjs-tags/deprecated-get-docs-tag.js +0 -133
- package/dist/rendered-site/liquidjs-tags/deprecated-get-docs-tag.js.map +0 -1
- package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.d.ts +0 -23
- package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.d.ts.map +0 -1
- package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.js +0 -110
- package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.js.map +0 -1
- package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.d.ts +0 -11
- package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.d.ts.map +0 -1
- package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.js +0 -120
- package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.js.map +0 -1
- package/dist/rendered-site/rendered-site.req-handler.d.ts +0 -3
- package/dist/rendered-site/rendered-site.req-handler.js +0 -60
- package/dist/rendered-site/rendered-site.req-handler.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { extractNodeId, isDef, omitProperty, parseLNodeId, } from "@paroicms/public-anywhere-lib";
|
|
2
|
-
import { parseSorting } from "@paroicms/public-server-lib";
|
|
3
|
-
import { type } from "arktype";
|
|
4
|
-
import { getTypeNameOf } from "../../admin-backend/node/node.queries.js";
|
|
5
|
-
import { makeCacheDependencyKey } from "../../common/text-cache.js";
|
|
6
|
-
import { makeTagCacheKeyForRendering, } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
7
|
-
import { createDocPayloadDrop } from "../../rendering-payload/create-doc-drop.js";
|
|
8
|
-
import { listDocValues } from "../../rendering-payload/doc-list.queries.js";
|
|
9
|
-
import { createDeprecatedAssignLiquidTag, wrapLiquidTagPromise, } from "../helpers/liquid-tag-helpers.js";
|
|
10
|
-
const availableParameterNames = new Set([
|
|
11
|
-
"parentId",
|
|
12
|
-
"orderBy",
|
|
13
|
-
"fields",
|
|
14
|
-
"labeledById",
|
|
15
|
-
"labeledByField",
|
|
16
|
-
"pageIndex",
|
|
17
|
-
"pageSize",
|
|
18
|
-
]);
|
|
19
|
-
export function createDeprecatedGetPaginatedDocsLiquidTag() {
|
|
20
|
-
return createDeprecatedAssignLiquidTag(function* (renderingContext, { namedParameters, variableName }) {
|
|
21
|
-
const { siteContext } = renderingContext;
|
|
22
|
-
siteContext.logger.warn(`'getPaginatedDocs' is deprecated, use 'set ${variableName} = paginatedDocs(...)' instead.`);
|
|
23
|
-
const options = validateParameters(namedParameters, siteContext, { variableName });
|
|
24
|
-
if (options.parentId === undefined)
|
|
25
|
-
return;
|
|
26
|
-
const parentId = parseLNodeId(options.parentId);
|
|
27
|
-
const cacheKey = makeTagCacheKeyForRendering("getPaginatedDocs", { tagParameters: options });
|
|
28
|
-
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId: parentId, relation: "children" }));
|
|
29
|
-
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
30
|
-
if (cacheVal.found)
|
|
31
|
-
return cacheVal.val;
|
|
32
|
-
const val = yield wrapLiquidTagPromise(renderingContext, loadPaginatedDocs(renderingContext, parentId, options), "getPaginatedDocs");
|
|
33
|
-
renderingContext.setValueIntoCache(cacheKey, val);
|
|
34
|
-
return val;
|
|
35
|
-
}, { legacySyntax: true });
|
|
36
|
-
}
|
|
37
|
-
const GetPaginatedDocsParametersAT = type({
|
|
38
|
-
"parentId?": "string|undefined",
|
|
39
|
-
"orderBy?": "string|undefined",
|
|
40
|
-
"fields?": "string|undefined",
|
|
41
|
-
"labeledById?": "string|undefined",
|
|
42
|
-
"labeledByField?": "string|undefined",
|
|
43
|
-
"pageIndex?": "number|undefined",
|
|
44
|
-
pageSize: "number",
|
|
45
|
-
"+": "reject",
|
|
46
|
-
});
|
|
47
|
-
function validateParameters(values, { logger }, { variableName }) {
|
|
48
|
-
for (const name of Object.keys(values)) {
|
|
49
|
-
if (!availableParameterNames.has(name) && name !== variableName) {
|
|
50
|
-
logger.warn(`[getPaginatedDocs] unknown parameter "${name}"`);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
const validated = GetPaginatedDocsParametersAT.assert(omitProperty(values, variableName));
|
|
54
|
-
let labeledWithId = validated.labeledById;
|
|
55
|
-
let labeledWithField = validated.labeledByField;
|
|
56
|
-
if (labeledWithId && !labeledWithField) {
|
|
57
|
-
logger.warn(`[getDocs] the 'labeledById' parameter requires the 'labeledByField' parameter to be set`);
|
|
58
|
-
labeledWithId = undefined;
|
|
59
|
-
}
|
|
60
|
-
else if (!labeledWithId && labeledWithField) {
|
|
61
|
-
logger.warn(`[getDocs] the 'labeledByField' parameter requires the 'labeledById' parameter to be set`);
|
|
62
|
-
labeledWithField = undefined;
|
|
63
|
-
}
|
|
64
|
-
return {
|
|
65
|
-
parentId: validated.parentId,
|
|
66
|
-
sorting: validated.orderBy,
|
|
67
|
-
fields: validated.fields,
|
|
68
|
-
labeledWithId,
|
|
69
|
-
labeledWithField,
|
|
70
|
-
pageIndex: validated.pageIndex,
|
|
71
|
-
pageSize: validated.pageSize,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
export async function loadPaginatedDocs(renderingContext, parentDocumentId, options) {
|
|
75
|
-
const fieldNames = options.fields?.trim().split(/\s*,\s*/);
|
|
76
|
-
const labeledWithTermId = isDef(options.labeledWithId)
|
|
77
|
-
? extractNodeId(options.labeledWithId)
|
|
78
|
-
: undefined;
|
|
79
|
-
const parentDocumentTypeName = await getTypeNameOf(renderingContext.siteContext, parentDocumentId.nodeId);
|
|
80
|
-
const loadDescriptor = {
|
|
81
|
-
load: "list",
|
|
82
|
-
nodeKind: "document",
|
|
83
|
-
descriptorName: "children",
|
|
84
|
-
parentDocumentId,
|
|
85
|
-
parentDocumentTypeName,
|
|
86
|
-
sorting: options.sorting ? parseSorting(options.sorting) : undefined,
|
|
87
|
-
labeledWith: labeledWithTermId !== undefined && options.labeledWithField
|
|
88
|
-
? { termNodeId: labeledWithTermId, fieldName: options.labeledWithField }
|
|
89
|
-
: undefined,
|
|
90
|
-
limit: options.pageSize,
|
|
91
|
-
offset: (options.pageIndex ?? 0) * options.pageSize,
|
|
92
|
-
};
|
|
93
|
-
const { items, total } = await listDocValues(renderingContext, loadDescriptor, {
|
|
94
|
-
onlyPublished: true,
|
|
95
|
-
withTotal: true,
|
|
96
|
-
});
|
|
97
|
-
const pageIndex = options.pageIndex ?? 0;
|
|
98
|
-
const pageCount = Math.ceil(total / options.pageSize);
|
|
99
|
-
return {
|
|
100
|
-
items: items.map((item) => createDocPayloadDrop(renderingContext, item, {
|
|
101
|
-
documentId: item,
|
|
102
|
-
fieldNames: fieldNames && fieldNames.length > 0 ? fieldNames : undefined,
|
|
103
|
-
})),
|
|
104
|
-
total,
|
|
105
|
-
pageIndex,
|
|
106
|
-
pageCount,
|
|
107
|
-
pageSize: options.pageSize,
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=deprecated-get-paginated-docs-tag.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deprecated-get-paginated-docs-tag.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type ResizeRule } from "@paroicms/public-anywhere-lib";
|
|
2
|
-
import type { TpSourceImage } from "@paroicms/public-server-lib";
|
|
3
|
-
export interface UseImageTagParameters {
|
|
4
|
-
image: TpSourceImage | string | undefined;
|
|
5
|
-
resize: ResizeRule;
|
|
6
|
-
autoCrop?: boolean;
|
|
7
|
-
pixelRatio?: number;
|
|
8
|
-
mediaType?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function createDeprecatedUseImageLiquidTag(): import("liquidjs/dist/template/tag.js").TagClass;
|
|
11
|
-
//# sourceMappingURL=deprecated-use-image-tag.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deprecated-use-image-tag.d.ts","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-tags/deprecated-use-image-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAsBjE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iCAAiC,qDA0ChD"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { isResizeRule, omitProperty, } from "@paroicms/public-anywhere-lib";
|
|
2
|
-
import { type } from "arktype";
|
|
3
|
-
import { dependencyKeyOfMedia } from "../../common/text-cache.js";
|
|
4
|
-
import { createLiquidDropFromPromise } from "../../liquidjs-tools/liquidjs-drop.js";
|
|
5
|
-
import { makeTagCacheKeyForRendering } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
6
|
-
import { createDeprecatedAssignLiquidTag, wrapLiquidTagPromise, } from "../helpers/liquid-tag-helpers.js";
|
|
7
|
-
import { loadTpImageVariant } from "./grouping-media-query.js";
|
|
8
|
-
const availableParameterNames = new Set([
|
|
9
|
-
"uid",
|
|
10
|
-
"size",
|
|
11
|
-
"image",
|
|
12
|
-
"resize",
|
|
13
|
-
"autoCrop",
|
|
14
|
-
"pixelRatio",
|
|
15
|
-
"mediaType",
|
|
16
|
-
]);
|
|
17
|
-
export function createDeprecatedUseImageLiquidTag() {
|
|
18
|
-
return createDeprecatedAssignLiquidTag((renderingContext, { namedParameters, variableName }) => {
|
|
19
|
-
const { siteContext } = renderingContext;
|
|
20
|
-
siteContext.logger.warn(`'useImage' is deprecated, use 'set ${variableName} = image(...)' instead.`);
|
|
21
|
-
const options = validateParameters(siteContext, namedParameters, { variableName });
|
|
22
|
-
const { image: imageParam, resize: resizeRule } = options;
|
|
23
|
-
if (!imageParam)
|
|
24
|
-
return;
|
|
25
|
-
const mediaId = typeof imageParam === "string" ? imageParam : imageParam.mediaId;
|
|
26
|
-
const cacheKey = makeTagCacheKeyForRendering("useImage", { tagParameters: options });
|
|
27
|
-
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
28
|
-
if (cacheVal.found)
|
|
29
|
-
return cacheVal.val;
|
|
30
|
-
const promise = wrapLiquidTagPromise(renderingContext, loadTpImageVariant(renderingContext, {
|
|
31
|
-
...options,
|
|
32
|
-
image: imageParam,
|
|
33
|
-
resizeRule,
|
|
34
|
-
language: renderingContext.language,
|
|
35
|
-
}), "useImage");
|
|
36
|
-
const val = createLiquidDropFromPromise({
|
|
37
|
-
renderingCacheKey: cacheKey,
|
|
38
|
-
renderingContext,
|
|
39
|
-
value: promise,
|
|
40
|
-
});
|
|
41
|
-
renderingContext.addDependencyKey(dependencyKeyOfMedia(mediaId));
|
|
42
|
-
renderingContext.setValueIntoCache(cacheKey, val);
|
|
43
|
-
return val;
|
|
44
|
-
}, { legacySyntax: true });
|
|
45
|
-
}
|
|
46
|
-
const UseImageParametersAT = type({
|
|
47
|
-
"resize?": "string|undefined",
|
|
48
|
-
"size?": "string|undefined",
|
|
49
|
-
"image?": "string|object|undefined",
|
|
50
|
-
"uid?": "string|undefined",
|
|
51
|
-
"autoCrop?": "boolean|undefined",
|
|
52
|
-
"pixelRatio?": "number|undefined",
|
|
53
|
-
"mediaType?": "string|undefined",
|
|
54
|
-
"+": "reject",
|
|
55
|
-
});
|
|
56
|
-
function validateParameters(siteContext, values, { variableName }) {
|
|
57
|
-
const { logger } = siteContext;
|
|
58
|
-
for (const name of Object.keys(values)) {
|
|
59
|
-
if (!availableParameterNames.has(name) && name !== variableName) {
|
|
60
|
-
logger.warn(`[useImage] unknown parameter "${name}"`);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
const validated = UseImageParametersAT.assert(omitProperty(values, variableName));
|
|
64
|
-
let resize;
|
|
65
|
-
const resizeVal = validated.resize;
|
|
66
|
-
if (resizeVal) {
|
|
67
|
-
if (!isResizeRule(resizeVal))
|
|
68
|
-
throw new Error(`[useImage] invalid parameter resize: "${resize}"`);
|
|
69
|
-
resize = resizeVal;
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
const size = validated.size;
|
|
73
|
-
if (!size)
|
|
74
|
-
throw new Error(`[useImage] missing parameter "resize"`);
|
|
75
|
-
if (!isResizeRule(size))
|
|
76
|
-
throw new Error(`useImage param size is not valid: ${size}`);
|
|
77
|
-
logger.warn(`[useImage] parameter "size" is deprecated. Please use "resize" instead`);
|
|
78
|
-
resize = size;
|
|
79
|
-
}
|
|
80
|
-
const uid = validated.uid;
|
|
81
|
-
if (uid !== undefined) {
|
|
82
|
-
logger.warn(`[useImage] deprecated parameter "uid". Please use "image" instead.`);
|
|
83
|
-
}
|
|
84
|
-
const image = typeof validated.image === "string"
|
|
85
|
-
? validated.image
|
|
86
|
-
: toTpSourceImageOrUndefParameter(siteContext, values.image, {
|
|
87
|
-
warnPrefix: `[useImage] parameter "image"`,
|
|
88
|
-
});
|
|
89
|
-
const autoCrop = validated.autoCrop;
|
|
90
|
-
const pixelRatio = validated.pixelRatio;
|
|
91
|
-
let mediaType = validated.mediaType;
|
|
92
|
-
if (mediaType && !mediaType.startsWith("image/")) {
|
|
93
|
-
logger.warn(`[useImage] parameter "mediaType" should starts with "image/", got "${mediaType}"`);
|
|
94
|
-
mediaType = undefined;
|
|
95
|
-
}
|
|
96
|
-
return {
|
|
97
|
-
image: image ?? uid,
|
|
98
|
-
resize,
|
|
99
|
-
autoCrop,
|
|
100
|
-
pixelRatio,
|
|
101
|
-
mediaType,
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
function toTpSourceImageOrUndefParameter(siteContext, image, { warnPrefix }) {
|
|
105
|
-
if (!image)
|
|
106
|
-
return;
|
|
107
|
-
if (image.kind === "file") {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
if (image.kind !== "image") {
|
|
111
|
-
siteContext.logger.warn(`${warnPrefix} should be an image`);
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
if (!image.isSource) {
|
|
115
|
-
siteContext.logger.warn(`${warnPrefix} should be a source image (${image.mediaId}, ${image.originalName})`);
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
return image;
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=deprecated-use-image-tag.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deprecated-use-image-tag.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-tags/deprecated-use-image-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { createTracker } from "@paroicms/internal-server-lib";
|
|
2
|
-
import { render404Html, serveTextFromCacheOr } from "../common/serve-text-or.js";
|
|
3
|
-
import { makeCacheKey } from "../common/text-cache.js";
|
|
4
|
-
import { trackerReportToMessage } from "../common/tracker-report.js";
|
|
5
|
-
import { serve301Redirect } from "../express/http-helpers.js";
|
|
6
|
-
import { parsePageRoute } from "./page-route/page-route-parser.js";
|
|
7
|
-
import { generateDocumentHtml } from "./serve-document/serve-document.js";
|
|
8
|
-
import { serveMultilingualIndexPage } from "./serve-index-page.js";
|
|
9
|
-
export async function siteRouterReqHandler(siteContext, httpContext) {
|
|
10
|
-
const { req } = httpContext;
|
|
11
|
-
if (req.path === "/" && siteContext.siteSchema.languageRoutingMode === "prefixAll") {
|
|
12
|
-
const tracker = createTracker();
|
|
13
|
-
await serveMultilingualIndexPage(siteContext, httpContext, tracker);
|
|
14
|
-
siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${req.relativeUrl}`));
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
const parsedRoute = parsePageRoute(siteContext, req.path);
|
|
18
|
-
if (!parsedRoute)
|
|
19
|
-
return false;
|
|
20
|
-
const tracker = createTracker();
|
|
21
|
-
await serveDocument(siteContext, httpContext, parsedRoute, tracker);
|
|
22
|
-
siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${req.relativeUrl}`));
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
async function serveDocument(siteContext, httpContext, parsedRoute, tracker) {
|
|
26
|
-
const { req } = httpContext;
|
|
27
|
-
const cacheKeyWithQuery = makeCacheKey(siteContext.logger, {
|
|
28
|
-
kind: "html",
|
|
29
|
-
url: req.relativeUrl,
|
|
30
|
-
});
|
|
31
|
-
const cacheKeyWithPath = makeCacheKey(siteContext.logger, { kind: "html", url: req.path });
|
|
32
|
-
const serveOr = serveTextFromCacheOr(siteContext, httpContext, tracker, {
|
|
33
|
-
cacheKey: [cacheKeyWithQuery, cacheKeyWithPath],
|
|
34
|
-
});
|
|
35
|
-
if (await serveOr.serveFromCache())
|
|
36
|
-
return;
|
|
37
|
-
const redirectCacheKey = makeCacheKey(siteContext.logger, {
|
|
38
|
-
kind: "redirect",
|
|
39
|
-
urlKey: parsedRoute.urlCacheKey,
|
|
40
|
-
});
|
|
41
|
-
const cacheRedirect = await siteContext.textCache.getCacheValue(redirectCacheKey, tracker);
|
|
42
|
-
if (cacheRedirect && cacheRedirect.value !== req.relativeUrl) {
|
|
43
|
-
return serve301Redirect(httpContext, cacheRedirect.value);
|
|
44
|
-
}
|
|
45
|
-
const generated = await generateDocumentHtml(siteContext, httpContext, { parsedRoute, cacheKeyWithQuery, cacheKeyWithPath }, tracker);
|
|
46
|
-
if (generated.status === 301) {
|
|
47
|
-
await siteContext.textCache.setCacheValue({
|
|
48
|
-
cacheKey: redirectCacheKey,
|
|
49
|
-
dependencyKeys: generated.dependencyKeys,
|
|
50
|
-
value: generated.url,
|
|
51
|
-
}, tracker);
|
|
52
|
-
return serve301Redirect(httpContext, generated.url);
|
|
53
|
-
}
|
|
54
|
-
if (generated.status === 404) {
|
|
55
|
-
await render404Html(siteContext, httpContext, { language: parsedRoute.language });
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
await serveOr.putInCacheAndServe(generated.html, generated.dependencyKeys, generated.cacheKey);
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=rendered-site.req-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rendered-site.req-handler.js","sourceRoot":"","sources":["../../src/rendered-site/rendered-site.req-handler.ts"],"names":[],"mappings":"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"}
|