@paroicms/server 1.88.3 → 1.89.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/common/mail/sendMail.helpers.js +2 -2
- package/dist/common/mail/sendMail.helpers.js.map +1 -1
- package/dist/helpers/make-backend-plugin-service.js +5 -1
- package/dist/helpers/make-backend-plugin-service.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-drop.d.ts +2 -2
- package/dist/liquidjs-tools/liquidjs-drop.js +2 -2
- package/dist/liquidjs-tools/liquidjs-drop.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-filter.d.ts +3 -2
- package/dist/liquidjs-tools/liquidjs-filter.js +4 -2
- package/dist/liquidjs-tools/liquidjs-filter.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-rendering/render-liquidjs.js +25 -0
- package/dist/liquidjs-tools/liquidjs-rendering/render-liquidjs.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-rendering/rendering-context.d.ts +1 -0
- package/dist/liquidjs-tools/liquidjs-rendering/rendering-context.js +2 -0
- package/dist/liquidjs-tools/liquidjs-rendering/rendering-context.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-utils.d.ts +1 -1
- package/dist/liquidjs-tools/liquidjs-utils.js +1 -1
- package/dist/liquidjs-tools/liquidjs-utils.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/format-date.d.ts +3 -5
- package/dist/rendered-site/liquidjs-filters/format-date.js +2 -5
- package/dist/rendered-site/liquidjs-filters/format-date.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/format-number.d.ts +3 -5
- package/dist/rendered-site/liquidjs-filters/format-number.js +3 -6
- package/dist/rendered-site/liquidjs-filters/format-number.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/head-tags-filter.d.ts +5 -3
- package/dist/rendered-site/liquidjs-filters/head-tags-filter.js +11 -6
- package/dist/rendered-site/liquidjs-filters/head-tags-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/info-filter.d.ts +1 -1
- package/dist/rendered-site/liquidjs-filters/info-filter.js +1 -1
- package/dist/rendered-site/liquidjs-filters/info-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.d.ts +3 -3
- package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js +1 -3
- package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/make-excerpt.d.ts +1 -1
- package/dist/rendered-site/liquidjs-filters/make-excerpt.js +1 -1
- package/dist/rendered-site/liquidjs-filters/make-excerpt.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/obfuscate.d.ts +5 -5
- package/dist/rendered-site/liquidjs-filters/obfuscate.js +4 -4
- package/dist/rendered-site/liquidjs-filters/obfuscate.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/open-graph-filter.d.ts +2 -3
- package/dist/rendered-site/liquidjs-filters/open-graph-filter.js +1 -3
- package/dist/rendered-site/liquidjs-filters/open-graph-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/plugin-asset-url-filter.d.ts +3 -5
- package/dist/rendered-site/liquidjs-filters/plugin-asset-url-filter.js +3 -5
- package/dist/rendered-site/liquidjs-filters/plugin-asset-url-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/translate-filter.d.ts +3 -5
- package/dist/rendered-site/liquidjs-filters/translate-filter.js +7 -5
- package/dist/rendered-site/liquidjs-filters/translate-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-tags/get-doc-tag.d.ts +2 -14
- package/dist/rendered-site/liquidjs-tags/get-doc-tag.js +29 -43
- package/dist/rendered-site/liquidjs-tags/get-doc-tag.js.map +1 -1
- package/dist/rendered-site/liquidjs-tags/get-docs-tag.d.ts +2 -14
- package/dist/rendered-site/liquidjs-tags/get-docs-tag.js +49 -61
- package/dist/rendered-site/liquidjs-tags/get-docs-tag.js.map +1 -1
- package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.d.ts +1 -13
- package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.js +19 -31
- package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.js.map +1 -1
- package/dist/rendered-site/liquidjs-tags/liquid-tag-wrapper.d.ts +9 -0
- package/dist/rendered-site/liquidjs-tags/liquid-tag-wrapper.js +41 -0
- package/dist/rendered-site/liquidjs-tags/liquid-tag-wrapper.js.map +1 -0
- package/dist/rendered-site/liquidjs-tags/use-image-tag.d.ts +1 -12
- package/dist/rendered-site/liquidjs-tags/use-image-tag.js +31 -46
- package/dist/rendered-site/liquidjs-tags/use-image-tag.js.map +1 -1
- package/dist/rendering-payload/create-doc-drop.js +4 -4
- package/dist/rendering-payload/create-doc-drop.js.map +1 -1
- package/dist/rendering-payload/create-part-drop.js +2 -2
- package/dist/rendering-payload/create-part-drop.js.map +1 -1
- package/dist/rendering-payload/field-values.js +4 -4
- package/dist/rendering-payload/field-values.js.map +1 -1
- package/dist/rendering-payload/rendering-payload.types.d.ts +1 -1
- package/dist/rendering-payload/site-payload.js +1 -1
- package/dist/rendering-payload/site-payload.js.map +1 -1
- package/dist/rendering-payload/translations.queries.js +2 -2
- package/dist/rendering-payload/translations.queries.js.map +1 -1
- package/dist/site-context/create-site-context.js +57 -39
- package/dist/site-context/create-site-context.js.map +1 -1
- package/dist/site-context/site-context.types.d.ts +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { toAbsoluteUrl } from "@paroicms/internal-server-lib";
|
|
2
2
|
import { escapeHtml } from "@paroicms/public-server-lib";
|
|
3
|
-
|
|
4
|
-
export function injectOpenGraphTagsLiquidJsFilter(values, { ctx }) {
|
|
3
|
+
export function injectOpenGraphTagsLiquidFilter(values, { renderingContext }) {
|
|
5
4
|
if (typeof values !== "object")
|
|
6
5
|
return "";
|
|
7
|
-
const renderingContext = extractRenderingContext(ctx);
|
|
8
6
|
return generateOpenGraphTags(renderingContext, values);
|
|
9
7
|
}
|
|
10
8
|
export async function generateOpenGraphTags(renderingContext, { description, title, image, url, type, siteName, locale }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-graph-filter.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-filters/open-graph-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"open-graph-filter.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-filters/open-graph-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAIzD,MAAM,UAAU,+BAA+B,CAC7C,MAAe,EACf,EAAE,gBAAgB,EAA0C;IAE5D,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC1C,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,MAA6B,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,gBAAkC,EAClC,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAuB;IAE/E,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC;IAEzC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG;QAAE,IAAI,CAAC,IAAI,CAAC,oCAAoC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,uCAAuC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrF,IAAI,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,0CAA0C,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5F,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,sCAAsC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClF,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,qCAAqC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CACP,sCAAsC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAC3F,4CAA4C,KAAK,CAAC,QAAQ,IAAI,EAC9D,6CAA6C,KAAK,CAAC,SAAS,IAAI,EAChE,2CAA2C,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAC3E,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,4CAA4C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
ctx: Context;
|
|
5
|
-
siteContext: SiteContext;
|
|
1
|
+
import { type RenderingContext } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
2
|
+
export declare function pluginAssetUrlLiquidFilter(val: unknown, { renderingContext, args }: {
|
|
3
|
+
renderingContext: RenderingContext;
|
|
6
4
|
args: unknown[];
|
|
7
5
|
}): Promise<string>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
2
|
import { getPluginAssetsUrl } from "@paroicms/connector";
|
|
3
|
-
import { makeTagCacheKeyForRendering } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
4
|
-
|
|
5
|
-
export async function pluginAssetUrlLiquidJsFilter(val, { ctx, siteContext, args }) {
|
|
3
|
+
import { makeTagCacheKeyForRendering, } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
4
|
+
export async function pluginAssetUrlLiquidFilter(val, { renderingContext, args }) {
|
|
6
5
|
const relativeUrl = strValOrUndef(val) ?? "";
|
|
7
6
|
const pluginSlug = strValOrUndef(args[0]);
|
|
8
7
|
if (!pluginSlug)
|
|
@@ -10,11 +9,10 @@ export async function pluginAssetUrlLiquidJsFilter(val, { ctx, siteContext, args
|
|
|
10
9
|
const cacheKey = makeTagCacheKeyForRendering("pluginAssetUrl", {
|
|
11
10
|
tagParameters: pluginSlug,
|
|
12
11
|
});
|
|
13
|
-
const renderingContext = extractRenderingContext(ctx);
|
|
14
12
|
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
15
13
|
if (cacheVal.found)
|
|
16
14
|
return cacheVal.val;
|
|
17
|
-
const plugin = siteContext.pluginsBySlug.get(pluginSlug);
|
|
15
|
+
const plugin = renderingContext.siteContext.pluginsBySlug.get(pluginSlug);
|
|
18
16
|
const result = plugin ? `${getPluginAssetsUrl(plugin)}${relativeUrl}` : relativeUrl;
|
|
19
17
|
renderingContext.setValueIntoCache(cacheKey, result);
|
|
20
18
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-asset-url-filter.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-filters/plugin-asset-url-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-asset-url-filter.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-filters/plugin-asset-url-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAEL,2BAA2B,GAC5B,MAAM,8DAA8D,CAAC;AAEtE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,GAAY,EACZ,EAAE,gBAAgB,EAAE,IAAI,EAA2D;IAEnF,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU;QAAE,OAAO,WAAW,CAAC;IAEpC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,gBAAgB,EAAE;QAC7D,aAAa,EAAE,UAAU;KAC1B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC;IAExC,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAEpF,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
ctx: Context;
|
|
5
|
-
siteContext: SiteContext;
|
|
1
|
+
import type { RenderingContext } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
2
|
+
export declare function translateLiquidFilter(value: unknown, { renderingContext, args }: {
|
|
3
|
+
renderingContext: RenderingContext;
|
|
6
4
|
args: unknown[];
|
|
7
5
|
}): string;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
export function translateLiquidFilter(value, { renderingContext, args }) {
|
|
3
|
+
const { siteContext } = renderingContext;
|
|
4
4
|
const str = strValOrUndef(value);
|
|
5
5
|
if (!str)
|
|
6
6
|
return "";
|
|
7
7
|
const formattedArgs = args.map(formatStringOrNumber);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
return siteContext.themeTranslator.translate({
|
|
9
|
+
language: renderingContext.language,
|
|
10
|
+
key: str,
|
|
11
|
+
args: formattedArgs,
|
|
12
|
+
});
|
|
11
13
|
}
|
|
12
14
|
function formatStringOrNumber(value) {
|
|
13
15
|
if (typeof value === "number")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translate-filter.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-filters/translate-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"translate-filter.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-filters/translate-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,EAAE,gBAAgB,EAAE,IAAI,EAA2D;IAEnF,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC;IACzC,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACrD,OAAO,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC;QAC3C,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;QACnC,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,KAAK,GAAG,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import type { SiteContext } from "../../site-context/site-context.types.js";
|
|
3
|
-
export declare function createGetDocLiquidJsTag(siteContext: SiteContext, { deprecated }?: {
|
|
1
|
+
export declare function createGetDocLiquidTag({ deprecated }?: {
|
|
4
2
|
deprecated?: boolean;
|
|
5
|
-
}):
|
|
6
|
-
new (token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid): {
|
|
7
|
-
tokenizer: any;
|
|
8
|
-
"__#3@#varName": string;
|
|
9
|
-
"__#3@#args": Hash;
|
|
10
|
-
render(ctx: Context): Generator<unknown, void, any>;
|
|
11
|
-
name: string;
|
|
12
|
-
liquid: Liquid;
|
|
13
|
-
token: TagToken;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
3
|
+
}): any;
|
|
@@ -1,57 +1,43 @@
|
|
|
1
1
|
import { isNumeric, strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
2
|
import { parseNodelId } from "@paroicms/public-anywhere-lib";
|
|
3
|
-
import { Hash, Tag } from "liquidjs";
|
|
4
3
|
import { makeCacheDependencyKey } from "../../common/text-cache.js";
|
|
5
4
|
import { makeTagCacheKeyForRendering, } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
6
|
-
import { extractRenderingContext } from "../../liquidjs-tools/liquidjs-utils.js";
|
|
7
5
|
import { createDocPayloadDrop } from "../../rendering-payload/create-doc-drop.js";
|
|
8
6
|
import { getDocItem } from "../../rendering-payload/doc-values.queries.js";
|
|
7
|
+
import { createLiquidTagWrapper } from "./liquid-tag-wrapper.js";
|
|
9
8
|
const availableParameterNames = new Set(["id", "fields"]);
|
|
10
|
-
export function
|
|
11
|
-
return
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
super(token, remainTokens, liquid);
|
|
16
|
-
this.#varName = this.tokenizer.readIdentifier().content;
|
|
17
|
-
this.#args = new Hash(token.args);
|
|
9
|
+
export function createGetDocLiquidTag({ deprecated } = {}) {
|
|
10
|
+
return createLiquidTagWrapper("assignToVar", function* (renderingContext, parameters) {
|
|
11
|
+
const { siteContext } = renderingContext;
|
|
12
|
+
if (deprecated) {
|
|
13
|
+
siteContext.logger.warn("'getPage' is deprecated, use 'getDoc' instead.");
|
|
18
14
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (isNumeric(options.id)) {
|
|
30
|
-
const doc = ctx.getSync(["doc"]);
|
|
31
|
-
const language = strValOrUndef(doc?.language) ?? "en";
|
|
32
|
-
documentId = {
|
|
33
|
-
language,
|
|
34
|
-
nodeId: options.id,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
documentId = parseNodelId(options.id);
|
|
39
|
-
}
|
|
40
|
-
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId }));
|
|
41
|
-
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
42
|
-
if (cacheVal.found) {
|
|
43
|
-
ctx.bottom()[this.#varName] = cacheVal.val;
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const val = yield loadDoc(renderingContext, documentId, options);
|
|
47
|
-
renderingContext.setValueIntoCache(cacheKey, val);
|
|
48
|
-
ctx.bottom()[this.#varName] = val;
|
|
15
|
+
const options = validateParameters(parameters, siteContext);
|
|
16
|
+
if (options.id === undefined)
|
|
17
|
+
return;
|
|
18
|
+
const cacheKey = makeTagCacheKeyForRendering("getDoc", { tagParameters: options });
|
|
19
|
+
let documentId;
|
|
20
|
+
if (isNumeric(options.id)) {
|
|
21
|
+
documentId = {
|
|
22
|
+
language: renderingContext.language,
|
|
23
|
+
nodeId: options.id,
|
|
24
|
+
};
|
|
49
25
|
}
|
|
50
|
-
|
|
26
|
+
else {
|
|
27
|
+
documentId = parseNodelId(options.id);
|
|
28
|
+
}
|
|
29
|
+
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId }));
|
|
30
|
+
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
31
|
+
if (cacheVal.found)
|
|
32
|
+
return cacheVal.val;
|
|
33
|
+
const val = yield loadDoc(renderingContext, documentId, options);
|
|
34
|
+
renderingContext.setValueIntoCache(cacheKey, val);
|
|
35
|
+
return val;
|
|
36
|
+
});
|
|
51
37
|
}
|
|
52
|
-
function validateParameters(values,
|
|
38
|
+
function validateParameters(values, { logger }) {
|
|
53
39
|
for (const name of Object.keys(values)) {
|
|
54
|
-
if (!availableParameterNames.has(name)
|
|
40
|
+
if (!availableParameterNames.has(name)) {
|
|
55
41
|
logger.warn(`[getDoc] unknown parameter "${name}"`);
|
|
56
42
|
}
|
|
57
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-doc-tag.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-tags/get-doc-tag.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"get-doc-tag.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-tags/get-doc-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import type { SiteContext } from "../../site-context/site-context.types.js";
|
|
3
|
-
export declare function createGetDocsLiquidJsTag(siteContext: SiteContext, { deprecated }?: {
|
|
1
|
+
export declare function createGetDocsLiquidTag({ deprecated }?: {
|
|
4
2
|
deprecated?: boolean;
|
|
5
|
-
}):
|
|
6
|
-
new (token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid): {
|
|
7
|
-
tokenizer: any;
|
|
8
|
-
"__#5@#varName": string;
|
|
9
|
-
"__#5@#args": Hash;
|
|
10
|
-
render(ctx: Context): Generator<unknown, void, any>;
|
|
11
|
-
name: string;
|
|
12
|
-
liquid: Liquid;
|
|
13
|
-
token: TagToken;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
3
|
+
}): any;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { boolValOrUndef, isDef, nbValOrUndef, strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
2
|
import { parseSorting } from "@paroicms/connector";
|
|
3
3
|
import { parseNodelId } from "@paroicms/public-anywhere-lib";
|
|
4
|
-
import { Hash, Tag } from "liquidjs";
|
|
5
4
|
import { makeCacheDependencyKey } from "../../common/text-cache.js";
|
|
6
5
|
import { toNodeId } from "../../helpers/utils-helper.js";
|
|
7
6
|
import { makeTagCacheKeyForRendering, } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
8
|
-
import { extractRenderingContext } from "../../liquidjs-tools/liquidjs-utils.js";
|
|
9
7
|
import { createDocPayloadDrop } from "../../rendering-payload/create-doc-drop.js";
|
|
10
8
|
import { getListOfDocValues, } from "../../rendering-payload/doc-values.queries.js";
|
|
11
9
|
import { loadPaginatedDocs } from "./get-paginated-docs-tag.js";
|
|
10
|
+
import { createLiquidTagWrapper } from "./liquid-tag-wrapper.js";
|
|
12
11
|
const availableParameterNames = new Set([
|
|
13
12
|
"parentId",
|
|
14
13
|
"orderBy",
|
|
@@ -18,69 +17,58 @@ const availableParameterNames = new Set([
|
|
|
18
17
|
"labeledByField",
|
|
19
18
|
"withTotal",
|
|
20
19
|
]);
|
|
21
|
-
export function
|
|
22
|
-
return
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
super(token, remainTokens, liquid);
|
|
27
|
-
this.#varName = this.tokenizer.readIdentifier().content;
|
|
28
|
-
this.#args = new Hash(token.args);
|
|
20
|
+
export function createGetDocsLiquidTag({ deprecated } = {}) {
|
|
21
|
+
return createLiquidTagWrapper("assignToVar", function* (renderingContext, parameters) {
|
|
22
|
+
const { siteContext } = renderingContext;
|
|
23
|
+
if (deprecated) {
|
|
24
|
+
siteContext.logger.warn("'getPages' is deprecated, use 'getDocs' instead.");
|
|
29
25
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
pageSize: options.limit ?? 20,
|
|
56
|
-
pageIndex: 0,
|
|
57
|
-
});
|
|
58
|
-
val = {
|
|
59
|
-
list: paginated.items,
|
|
60
|
-
total: paginated.total,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
const list = yield loadDocs(renderingContext, parentId, options);
|
|
65
|
-
val = [...list];
|
|
66
|
-
Object.defineProperty(val, "list", {
|
|
67
|
-
get: () => {
|
|
68
|
-
siteContext.logger.warn(`On 'getDocs' tag, the 'list' property is deprecated, use the result as a list directly.`);
|
|
69
|
-
return list;
|
|
70
|
-
},
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
if (val.length === 0) {
|
|
74
|
-
val = undefined;
|
|
75
|
-
}
|
|
76
|
-
renderingContext.setValueIntoCache(cacheKey, val);
|
|
77
|
-
ctx.bottom()[this.#varName] = val;
|
|
26
|
+
const options = validateParameters(parameters, siteContext);
|
|
27
|
+
if (options.parentId === undefined)
|
|
28
|
+
return;
|
|
29
|
+
const parentId = parseNodelId(options.parentId);
|
|
30
|
+
const cacheKey = makeTagCacheKeyForRendering("getDocs", { tagParameters: options });
|
|
31
|
+
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId: parentId, relation: "children" }));
|
|
32
|
+
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
33
|
+
if (cacheVal.found)
|
|
34
|
+
return cacheVal.val;
|
|
35
|
+
let val;
|
|
36
|
+
if (options.withTotal !== undefined) {
|
|
37
|
+
siteContext.logger.warn(`The 'withTotal' parameter is deprecated. Use the 'getPaginatedDocs' tag instead.`);
|
|
38
|
+
const paginated = yield loadPaginatedDocs(renderingContext, parentId, {
|
|
39
|
+
parentId: options.parentId,
|
|
40
|
+
orderBy: options.orderBy,
|
|
41
|
+
fields: options.fields,
|
|
42
|
+
labeledById: options.labeledById,
|
|
43
|
+
labeledByField: options.labeledByField,
|
|
44
|
+
pageSize: options.limit ?? 20,
|
|
45
|
+
pageIndex: 0,
|
|
46
|
+
});
|
|
47
|
+
val = {
|
|
48
|
+
list: paginated.items,
|
|
49
|
+
total: paginated.total,
|
|
50
|
+
};
|
|
78
51
|
}
|
|
79
|
-
|
|
52
|
+
else {
|
|
53
|
+
const list = yield loadDocs(renderingContext, parentId, options);
|
|
54
|
+
val = [...list];
|
|
55
|
+
Object.defineProperty(val, "list", {
|
|
56
|
+
get: () => {
|
|
57
|
+
siteContext.logger.warn(`On 'getDocs' tag, the 'list' property is deprecated, use the result as a list directly.`);
|
|
58
|
+
return list;
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
if (val.length === 0) {
|
|
63
|
+
val = undefined;
|
|
64
|
+
}
|
|
65
|
+
renderingContext.setValueIntoCache(cacheKey, val);
|
|
66
|
+
return val;
|
|
67
|
+
});
|
|
80
68
|
}
|
|
81
|
-
function validateParameters(values,
|
|
69
|
+
function validateParameters(values, { logger }) {
|
|
82
70
|
for (const name of Object.keys(values)) {
|
|
83
|
-
if (!availableParameterNames.has(name)
|
|
71
|
+
if (!availableParameterNames.has(name)) {
|
|
84
72
|
logger.warn(`[getDocs] unknown parameter "${name}"`);
|
|
85
73
|
}
|
|
86
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-docs-tag.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-tags/get-docs-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAsB,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,
|
|
1
|
+
{"version":3,"file":"get-docs-tag.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-tags/get-docs-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAsB,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,OAAO,EAEL,2BAA2B,GAC5B,MAAM,8DAA8D,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAEL,kBAAkB,GACnB,MAAM,+CAA+C,CAAC;AAGvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,UAAU;IACV,SAAS;IACT,OAAO;IACP,QAAQ;IACR,aAAa;IACb,gBAAgB;IAChB,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,sBAAsB,CAAC,EAAE,UAAU,KAA+B,EAAE;IAClF,OAAO,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,gBAAgB,EAAE,UAAU;QAClF,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO;QAE3C,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,2BAA2B,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;QAEpF,gBAAgB,CAAC,gBAAgB,CAC/B,sBAAsB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CACvE,CAAC;QAEF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC;QAExC,IAAI,GAAQ,CAAC;QACb,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,WAAW,CAAC,MAAM,CAAC,IAAI,CACrB,kFAAkF,CACnF,CAAC;YACF,MAAM,SAAS,GAA4C,MAAM,iBAAiB,CAChF,gBAAgB,EAChB,QAAQ,EACR;gBACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,QAAQ,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC7B,SAAS,EAAE,CAAC;aACb,CACF,CAAC;YACF,GAAG,GAAG;gBACJ,IAAI,EAAE,SAAS,CAAC,KAAK;gBACrB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjE,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAChB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;gBACjC,GAAG,EAAE,GAAG,EAAE;oBACR,WAAW,CAAC,MAAM,CAAC,IAAI,CACrB,yFAAyF,CAC1F,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,GAAG,GAAG,SAAS,CAAC;QAClB,CAAC;QAED,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAcD,SAAS,kBAAkB,CACzB,MAAW,EACX,EAAE,MAAM,EAA+B;IAEvC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,gCAAgC,IAAI,GAAG,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,IAAI,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAChF,IAAI,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACzF,IAAI,WAAW,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CACT,yFAAyF,CAC1F,CAAC;QACF,WAAW,GAAG,SAAS,CAAC;IAC1B,CAAC;SAAM,IAAI,CAAC,WAAW,IAAI,cAAc,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT,yFAAyF,CAC1F,CAAC;QACF,cAAc,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QACjE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC9D,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC3D,WAAW;QACX,cAAc;QACd,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACvD,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,gBAAkC,EAClC,QAAuB,EACvB,OAA6B;IAE7B,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC;IACzC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/F,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,gBAAgB,EAAE;QACvD,QAAQ;QACR,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,SAAS,EACP,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc;YACrD,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE;YACpE,CAAC,CAAC,SAAS;QACf,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,oBAAoB,CAAC,gBAAgB,EAAE,IAAI,EAAE;QAC3C,UAAU,EAAE,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KACzE,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
import { type ParsedNodelId } from "@paroicms/public-anywhere-lib";
|
|
2
|
-
import { type Context, Hash, type Liquid, type TagToken, type TopLevelToken } from "liquidjs";
|
|
3
2
|
import type { DropInst } from "../../liquidjs-tools/liquidjs-drop.js";
|
|
4
3
|
import { type RenderingContext } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
5
4
|
import { type PaginatedResult } from "../../rendering-payload/doc-values.queries.js";
|
|
6
5
|
import type { TpDocPayload } from "../../rendering-payload/rendering-payload.types.js";
|
|
7
|
-
|
|
8
|
-
export declare function createGetPaginatedDocsLiquidJsTag(siteContext: SiteContext): {
|
|
9
|
-
new (token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid): {
|
|
10
|
-
tokenizer: any;
|
|
11
|
-
"__#4@#varName": string;
|
|
12
|
-
"__#4@#args": Hash;
|
|
13
|
-
render(ctx: Context): Generator<unknown, void, any>;
|
|
14
|
-
name: string;
|
|
15
|
-
liquid: Liquid;
|
|
16
|
-
token: TagToken;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
6
|
+
export declare function createGetPaginatedDocsLiquidTag(): any;
|
|
19
7
|
interface GetPaginatedDocsRawParameters {
|
|
20
8
|
parentId?: string;
|
|
21
9
|
orderBy?: string;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { isDef, nbVal, nbValOrUndef, strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
2
|
import { parseSorting } from "@paroicms/connector";
|
|
3
3
|
import { parseNodelId } from "@paroicms/public-anywhere-lib";
|
|
4
|
-
import { Hash, Tag } from "liquidjs";
|
|
5
4
|
import { makeCacheDependencyKey } from "../../common/text-cache.js";
|
|
6
5
|
import { toNodeId } from "../../helpers/utils-helper.js";
|
|
7
6
|
import { makeTagCacheKeyForRendering, } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
8
|
-
import { extractRenderingContext } from "../../liquidjs-tools/liquidjs-utils.js";
|
|
9
7
|
import { createDocPayloadDrop } from "../../rendering-payload/create-doc-drop.js";
|
|
10
8
|
import { getPaginatedListOfDocValues, } from "../../rendering-payload/doc-values.queries.js";
|
|
9
|
+
import { createLiquidTagWrapper } from "./liquid-tag-wrapper.js";
|
|
11
10
|
const availableParameterNames = new Set([
|
|
12
11
|
"parentId",
|
|
13
12
|
"orderBy",
|
|
@@ -17,37 +16,26 @@ const availableParameterNames = new Set([
|
|
|
17
16
|
"pageIndex",
|
|
18
17
|
"pageSize",
|
|
19
18
|
]);
|
|
20
|
-
export function
|
|
21
|
-
return
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId: parentId, relation: "children" }));
|
|
37
|
-
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
38
|
-
if (cacheVal.found) {
|
|
39
|
-
ctx.bottom()[this.#varName] = cacheVal.val;
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
const val = yield loadPaginatedDocs(renderingContext, parentId, options);
|
|
43
|
-
renderingContext.setValueIntoCache(cacheKey, val);
|
|
44
|
-
ctx.bottom()[this.#varName] = val;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
19
|
+
export function createGetPaginatedDocsLiquidTag() {
|
|
20
|
+
return createLiquidTagWrapper("assignToVar", function* (renderingContext, parameters) {
|
|
21
|
+
const { siteContext } = renderingContext;
|
|
22
|
+
const options = validateParameters(parameters, siteContext);
|
|
23
|
+
if (options.parentId === undefined)
|
|
24
|
+
return;
|
|
25
|
+
const parentId = parseNodelId(options.parentId);
|
|
26
|
+
const cacheKey = makeTagCacheKeyForRendering("getPaginatedDocs", { tagParameters: options });
|
|
27
|
+
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId: parentId, relation: "children" }));
|
|
28
|
+
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
29
|
+
if (cacheVal.found)
|
|
30
|
+
return cacheVal.val;
|
|
31
|
+
const val = yield loadPaginatedDocs(renderingContext, parentId, options);
|
|
32
|
+
renderingContext.setValueIntoCache(cacheKey, val);
|
|
33
|
+
return val;
|
|
34
|
+
});
|
|
47
35
|
}
|
|
48
|
-
function validateParameters(values,
|
|
36
|
+
function validateParameters(values, { logger }) {
|
|
49
37
|
for (const name of Object.keys(values)) {
|
|
50
|
-
if (!availableParameterNames.has(name)
|
|
38
|
+
if (!availableParameterNames.has(name)) {
|
|
51
39
|
logger.warn(`[getPaginatedDocs] unknown parameter "${name}"`);
|
|
52
40
|
}
|
|
53
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-paginated-docs-tag.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-tags/get-paginated-docs-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAsB,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,
|
|
1
|
+
{"version":3,"file":"get-paginated-docs-tag.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-tags/get-paginated-docs-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RenderingContext } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
2
|
+
export type LiquidTagReturnsVarHandler = (renderingContext: RenderingContext, parameters: {
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
}) => Generator;
|
|
5
|
+
export type LiquidTagReturnsHtmlHandler = (renderingContext: RenderingContext, parameters: {
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
}) => string | Promise<string>;
|
|
8
|
+
export declare function createLiquidTagWrapper(tagKind: "assignToVar", tagHandler: LiquidTagReturnsVarHandler): any;
|
|
9
|
+
export declare function createLiquidTagWrapper(tagKind: "injectHtml", tagHandler: LiquidTagReturnsHtmlHandler): any;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Hash, Tag, } from "liquidjs";
|
|
2
|
+
import { extractRenderingContext } from "../../liquidjs-tools/liquidjs-utils.js";
|
|
3
|
+
export function createLiquidTagWrapper(tagKind, tagHandler) {
|
|
4
|
+
return class PaLiquidTag extends Tag {
|
|
5
|
+
#varName;
|
|
6
|
+
#args;
|
|
7
|
+
constructor(token, remainTokens, liquid) {
|
|
8
|
+
super(token, remainTokens, liquid);
|
|
9
|
+
this.#varName =
|
|
10
|
+
tagKind === "assignToVar" ? this.tokenizer.readIdentifier().content : undefined;
|
|
11
|
+
this.#args = new Hash(token.args);
|
|
12
|
+
}
|
|
13
|
+
*render(ctx, emitter) {
|
|
14
|
+
const renderingContext = extractRenderingContext(ctx);
|
|
15
|
+
const rawParameters = (yield this.#args.render(ctx)) ?? {};
|
|
16
|
+
const parameters = this.#varName
|
|
17
|
+
? Object.fromEntries(Object.entries(rawParameters).filter(([key]) => key !== this.#varName))
|
|
18
|
+
: rawParameters;
|
|
19
|
+
const result = tagHandler(renderingContext, parameters);
|
|
20
|
+
if (this.#varName) {
|
|
21
|
+
const val = isIterable(result)
|
|
22
|
+
? yield* result
|
|
23
|
+
: isPromiseLike(result)
|
|
24
|
+
? yield result
|
|
25
|
+
: result;
|
|
26
|
+
ctx.bottom()[this.#varName] = val;
|
|
27
|
+
}
|
|
28
|
+
else if (tagKind === "injectHtml") {
|
|
29
|
+
const val = typeof result === "string" ? result : yield result;
|
|
30
|
+
emitter.write(val);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function isIterable(value) {
|
|
36
|
+
return value && typeof value[Symbol.iterator] === "function";
|
|
37
|
+
}
|
|
38
|
+
function isPromiseLike(value) {
|
|
39
|
+
return value && typeof value.then === "function";
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=liquid-tag-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liquid-tag-wrapper.js","sourceRoot":"","sources":["../../../src/rendered-site/liquidjs-tags/liquid-tag-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,IAAI,EAEJ,GAAG,GAGJ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAoBjF,MAAM,UAAU,sBAAsB,CACpC,OAAqC,EACrC,UAAoE;IAEpE,OAAO,MAAM,WAAY,SAAQ,GAAG;QAElC,QAAQ,CAAqB;QAC7B,KAAK,CAAO;QAEZ,YAAY,KAAe,EAAE,YAA6B,EAAE,MAAc;YACxE,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ;gBACX,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,CAAC,MAAM,CAAC,GAAY,EAAE,OAAgB;YACpC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAEtD,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ;gBAC9B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5F,CAAC,CAAC,aAAa,CAAC;YAElB,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAExD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAElB,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;oBAC5B,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;oBACf,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;wBACrB,CAAC,CAAC,MAAM,MAAM;wBACd,CAAC,CAAC,MAAM,CAAC;gBACZ,GAAG,CAAC,MAAM,EAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;YAC7C,CAAC;iBAAM,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC;gBAC/D,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAU;IAC5B,OAAO,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,KAAU;IAC/B,OAAO,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACnD,CAAC"}
|