@paroicms/server 1.104.5 → 1.105.1

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.
Files changed (123) hide show
  1. package/dist/admin-backend/document/load-documents.queries.js +19 -19
  2. package/dist/admin-backend/document/save-documents.queries.js +11 -11
  3. package/dist/admin-backend/fields/load-fields-of.queries.js +6 -6
  4. package/dist/admin-backend/lnode/lnode-wrap.formatters.d.ts +3 -3
  5. package/dist/admin-backend/lnode/lnode-wrap.formatters.js.map +1 -1
  6. package/dist/admin-backend/lnode/lnode-wrap.resolver.js +11 -13
  7. package/dist/admin-backend/lnode/lnode-wrap.resolver.js.map +1 -1
  8. package/dist/admin-backend/lnode/lnode.queries.d.ts +8 -11
  9. package/dist/admin-backend/lnode/lnode.queries.js +34 -25
  10. package/dist/admin-backend/lnode/lnode.queries.js.map +1 -1
  11. package/dist/admin-backend/node/node.queries.js +14 -14
  12. package/dist/admin-backend/node/ordered-node.queries.js +6 -6
  13. package/dist/admin-backend/part/part-node.queries.js +9 -9
  14. package/dist/admin-backend/part/part.queries.js +34 -34
  15. package/dist/common/child-ordering-query.d.ts +2 -2
  16. package/dist/common/child-ordering-query.js +19 -18
  17. package/dist/common/child-ordering-query.js.map +1 -1
  18. package/dist/connector/plugin-loader/init-plugins.js +5 -2
  19. package/dist/connector/plugin-loader/init-plugins.js.map +1 -1
  20. package/dist/connector/plugin-loader/plugin-loader.js +2 -1
  21. package/dist/connector/plugin-loader/plugin-loader.js.map +1 -1
  22. package/dist/connector/plugin-loader/plugin-types.d.ts +10 -11
  23. package/dist/connector/site-schema/site-schema-factory.js +1 -2
  24. package/dist/connector/site-schema/site-schema-factory.js.map +1 -1
  25. package/dist/helpers/utils-helper.d.ts +0 -1
  26. package/dist/helpers/utils-helper.js +0 -4
  27. package/dist/helpers/utils-helper.js.map +1 -1
  28. package/dist/liquidjs-tools/liquidjs-drop.d.ts +4 -0
  29. package/dist/liquidjs-tools/liquidjs-drop.js +4 -1
  30. package/dist/liquidjs-tools/liquidjs-drop.js.map +1 -1
  31. package/dist/liquidjs-tools/liquidjs-rendering/render-liquidjs.js +11 -2
  32. package/dist/liquidjs-tools/liquidjs-rendering/render-liquidjs.js.map +1 -1
  33. package/dist/liquidjs-tools/render-clone/forloop-drop.js.map +1 -1
  34. package/dist/liquidjs-tools/render-clone/render.d.ts +7 -3
  35. package/dist/liquidjs-tools/render-clone/render.js +82 -12
  36. package/dist/liquidjs-tools/render-clone/render.js.map +1 -1
  37. package/dist/plugin-services/make-backend-plugin-service.js +41 -5
  38. package/dist/plugin-services/make-backend-plugin-service.js.map +1 -1
  39. package/dist/rendered-site/feed/feed-generator.js +14 -14
  40. package/dist/rendered-site/helpers/liquid-function-call-args.d.ts +17 -0
  41. package/dist/rendered-site/helpers/liquid-function-call-args.js +88 -0
  42. package/dist/rendered-site/helpers/liquid-function-call-args.js.map +1 -0
  43. package/dist/rendered-site/helpers/liquid-tag-helpers.d.ts +4 -6
  44. package/dist/rendered-site/helpers/liquid-tag-helpers.js +24 -27
  45. package/dist/rendered-site/helpers/liquid-tag-helpers.js.map +1 -1
  46. package/dist/rendered-site/helpers/out-liquid-tag.d.ts +11 -0
  47. package/dist/rendered-site/helpers/out-liquid-tag.js +51 -0
  48. package/dist/rendered-site/helpers/out-liquid-tag.js.map +1 -0
  49. package/dist/rendered-site/helpers/set-liquid-tag.d.ts +14 -0
  50. package/dist/rendered-site/helpers/set-liquid-tag.js +62 -0
  51. package/dist/rendered-site/helpers/set-liquid-tag.js.map +1 -0
  52. package/dist/rendered-site/liquidjs-filters/info-filter.js +35 -20
  53. package/dist/rendered-site/liquidjs-filters/info-filter.js.map +1 -1
  54. package/dist/rendered-site/liquidjs-tags/deprecated-get-doc-tag.js +4 -2
  55. package/dist/rendered-site/liquidjs-tags/deprecated-get-doc-tag.js.map +1 -1
  56. package/dist/rendered-site/liquidjs-tags/deprecated-get-docs-tag.js +40 -28
  57. package/dist/rendered-site/liquidjs-tags/deprecated-get-docs-tag.js.map +1 -1
  58. package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.d.ts +11 -5
  59. package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.js +44 -27
  60. package/dist/rendered-site/liquidjs-tags/deprecated-get-paginated-docs-tag.js.map +1 -1
  61. package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.d.ts +0 -4
  62. package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.js +4 -3
  63. package/dist/rendered-site/liquidjs-tags/deprecated-use-image-tag.js.map +1 -1
  64. package/dist/rendered-site/liquidjs-tags/doc-liquid-set-handler.d.ts +2 -0
  65. package/dist/rendered-site/liquidjs-tags/doc-liquid-set-handler.js +68 -0
  66. package/dist/rendered-site/liquidjs-tags/doc-liquid-set-handler.js.map +1 -0
  67. package/dist/rendered-site/liquidjs-tags/docs-liquid-set-handler.d.ts +2 -0
  68. package/dist/rendered-site/liquidjs-tags/docs-liquid-set-handler.js +98 -0
  69. package/dist/rendered-site/liquidjs-tags/docs-liquid-set-handler.js.map +1 -0
  70. package/dist/rendered-site/liquidjs-tags/image-liquid-set-handler.d.ts +2 -0
  71. package/dist/rendered-site/liquidjs-tags/image-liquid-set-handler.js +89 -0
  72. package/dist/rendered-site/liquidjs-tags/image-liquid-set-handler.js.map +1 -0
  73. package/dist/rendered-site/liquidjs-tags/paginated-docs-liquid-set-handler.d.ts +2 -0
  74. package/dist/rendered-site/liquidjs-tags/paginated-docs-liquid-set-handler.js +111 -0
  75. package/dist/rendered-site/liquidjs-tags/paginated-docs-liquid-set-handler.js.map +1 -0
  76. package/dist/rendered-site/page-route/raw-document-payload.js +25 -25
  77. package/dist/rendering-payload/breadcrumb.queries.js +8 -2
  78. package/dist/rendering-payload/breadcrumb.queries.js.map +1 -1
  79. package/dist/rendering-payload/cluster-payloads.js +16 -8
  80. package/dist/rendering-payload/cluster-payloads.js.map +1 -1
  81. package/dist/rendering-payload/create-doc-drop.d.ts +3 -1
  82. package/dist/rendering-payload/create-doc-drop.js +16 -4
  83. package/dist/rendering-payload/create-doc-drop.js.map +1 -1
  84. package/dist/rendering-payload/doc-list.queries.d.ts +16 -0
  85. package/dist/rendering-payload/doc-list.queries.js +155 -0
  86. package/dist/rendering-payload/doc-list.queries.js.map +1 -0
  87. package/dist/rendering-payload/doc-values.queries.d.ts +1 -28
  88. package/dist/rendering-payload/doc-values.queries.js +8 -102
  89. package/dist/rendering-payload/doc-values.queries.js.map +1 -1
  90. package/dist/rendering-payload/field-values.js +7 -3
  91. package/dist/rendering-payload/field-values.js.map +1 -1
  92. package/dist/rendering-payload/get-siblings.queries.js +34 -24
  93. package/dist/rendering-payload/get-siblings.queries.js.map +1 -1
  94. package/dist/rendering-payload/make-public-payload.js +4 -4
  95. package/dist/rendering-payload/make-public-payload.js.map +1 -1
  96. package/dist/rendering-payload/parts.queries.js +18 -18
  97. package/dist/rendering-payload/rendering-payload.types.d.ts +9 -13
  98. package/dist/rendering-payload/site-payload.d.ts +1 -1
  99. package/dist/rendering-payload/site-payload.js +8 -3
  100. package/dist/rendering-payload/site-payload.js.map +1 -1
  101. package/dist/rendering-payload/translations.queries.d.ts +1 -1
  102. package/dist/rendering-payload/translations.queries.js +26 -16
  103. package/dist/rendering-payload/translations.queries.js.map +1 -1
  104. package/dist/site-context/core-plugin/create-core-plugin.js +2 -1
  105. package/dist/site-context/core-plugin/create-core-plugin.js.map +1 -1
  106. package/dist/site-context/liquid-init.d.ts +6 -1
  107. package/dist/site-context/liquid-init.js +18 -0
  108. package/dist/site-context/liquid-init.js.map +1 -1
  109. package/dist/site-context/load-site-context.js +14 -15
  110. package/dist/site-context/load-site-context.js.map +1 -1
  111. package/dist/site-context/site-context.types.d.ts +4 -0
  112. package/dist/tsconfig.tsbuildinfo +1 -1
  113. package/package.json +12 -12
  114. package/schema.graphql +6 -6
  115. package/dist/connector/site-schema/site-schema-public-helpers.d.ts +0 -3
  116. package/dist/connector/site-schema/site-schema-public-helpers.js +0 -15
  117. package/dist/connector/site-schema/site-schema-public-helpers.js.map +0 -1
  118. package/dist/public-api/public-api-rendering.d.ts +0 -15
  119. package/dist/public-api/public-api-rendering.js +0 -114
  120. package/dist/public-api/public-api-rendering.js.map +0 -1
  121. package/dist/public-api/search-text/search-text.queries.d.ts +0 -15
  122. package/dist/public-api/search-text/search-text.queries.js +0 -85
  123. package/dist/public-api/search-text/search-text.queries.js.map +0 -1
@@ -1,15 +1,16 @@
1
- import { Context, Hash, Tag, TypeGuards, assert, evalQuotedToken, evalToken } from 'liquidjs';
1
+ import { Hash, Tag, TypeGuards, assert, evalQuotedToken, evalToken } from 'liquidjs';
2
2
  import { toEnumerable } from './collection.js';
3
3
  import { ForloopDrop } from './forloop-drop.js';
4
4
  export default class RenderTag extends Tag {
5
5
  static passThroughSymbol = Symbol("passThrough");
6
+ static renderScopeSymbol = Symbol("renderScope");
6
7
  file;
7
8
  currentFile;
8
9
  hash;
9
- constructor(token, remainTokens, liquid) {
10
+ constructor(token, remainTokens, liquid, parser) {
10
11
  super(token, remainTokens, liquid);
11
12
  const tokenizer = this.tokenizer;
12
- this.file = parseFilePath(tokenizer, this.liquid);
13
+ this.file = parseFilePath(tokenizer, this.liquid, parser);
13
14
  this.currentFile = token.file;
14
15
  while (!tokenizer.end()) {
15
16
  tokenizer.skipBlank();
@@ -26,7 +27,8 @@ export default class RenderTag extends Tag {
26
27
  if (asStr.content === 'as')
27
28
  alias = tokenizer.readIdentifier();
28
29
  else
29
- tokenizer.p = beforeAs(this)[keyword.content] = { value, alias: alias && alias.content };
30
+ tokenizer.p = beforeAs;
31
+ this[keyword.content] = { value, alias: alias && alias.content };
30
32
  tokenizer.skipBlank();
31
33
  if (tokenizer.peek() === ',')
32
34
  tokenizer.advance();
@@ -37,17 +39,39 @@ export default class RenderTag extends Tag {
37
39
  tokenizer.p = begin;
38
40
  break;
39
41
  }
40
- this.hash = new Hash(tokenizer.remaining());
42
+ this.hash = new Hash(tokenizer, liquid.options.keyValueSeparator);
41
43
  }
42
44
  *render(ctx, emitter) {
43
45
  const { liquid, hash } = this;
44
46
  let filepath = (yield renderFilePath(this['file'], ctx, liquid));
45
47
  assert(filepath, () => `illegal file path "${filepath}"`);
46
- if (!filepath.endsWith(".liquid")) {
47
- filepath += ".liquid";
48
+ if (!filepath.endsWith('.liquid'))
49
+ filepath += '.liquid';
50
+ const parentEnvs = ctx.environments || {};
51
+ const passThrough = parentEnvs[RenderTag.passThroughSymbol];
52
+ const renderScope = parentEnvs[RenderTag.renderScopeSymbol];
53
+ const childCtx = ctx.spawn();
54
+ if (passThrough !== undefined)
55
+ childCtx.environments[RenderTag.passThroughSymbol] = passThrough;
56
+ if (renderScope !== undefined) {
57
+ const ok = renderScope && typeof renderScope === 'object' && !Array.isArray(renderScope);
58
+ if (!ok)
59
+ throw new Error('RenderTag: renderScopeSymbol payload must be a plain object');
60
+ const env = childCtx.bottom();
61
+ for (const k of Object.keys(renderScope)) {
62
+ const inParent = Object.prototype.hasOwnProperty.call(parentEnvs, k);
63
+ const existing = childCtx.getSync([k]);
64
+ if (existing !== undefined)
65
+ continue;
66
+ if (inParent) {
67
+ env[k] = parentEnvs[k];
68
+ continue;
69
+ }
70
+ env[k] = renderScope[k];
71
+ }
72
+ ;
73
+ childCtx.environments[RenderTag.renderScopeSymbol] = renderScope;
48
74
  }
49
- const env = { [RenderTag.passThroughSymbol]: (ctx.environments ?? {})[RenderTag.passThroughSymbol] };
50
- const childCtx = new Context(env, ctx.opts, { sync: ctx.sync, globals: ctx.globals, strictVariables: ctx.strictVariables });
51
75
  const scope = childCtx.bottom();
52
76
  Object.assign(scope, yield hash.render(ctx));
53
77
  if (this['with']) {
@@ -70,21 +94,67 @@ export default class RenderTag extends Tag {
70
94
  yield liquid.renderer.renderTemplates(templates, childCtx, emitter);
71
95
  }
72
96
  }
97
+ *children(partials, sync) {
98
+ if (partials && typeof this['file'] === 'string') {
99
+ return (yield this.liquid._parsePartialFile(this['file'], sync, this['currentFile']));
100
+ }
101
+ return [];
102
+ }
103
+ partialScope() {
104
+ if (typeof this['file'] === 'string') {
105
+ const names = Object.keys(this.hash.hash);
106
+ if (this['with']) {
107
+ const { value, alias } = this['with'];
108
+ if (typeof alias === 'string') {
109
+ names.push([alias, value]);
110
+ }
111
+ else if (typeof this.file === 'string') {
112
+ names.push([this.file, value]);
113
+ }
114
+ }
115
+ if (this['for']) {
116
+ const { value, alias } = this['for'];
117
+ if (typeof alias === 'string') {
118
+ names.push([alias, value]);
119
+ }
120
+ else if (typeof this.file === 'string') {
121
+ names.push([this.file, value]);
122
+ }
123
+ }
124
+ return { name: this['file'], isolated: true, scope: names };
125
+ }
126
+ }
127
+ *arguments() {
128
+ for (const v of Object.values(this.hash.hash)) {
129
+ if (TypeGuards.isValueToken ? TypeGuards.isValueToken(v) : true)
130
+ yield v;
131
+ }
132
+ if (this['with']) {
133
+ const { value } = this['with'];
134
+ if (TypeGuards.isValueToken ? TypeGuards.isValueToken(value) : true)
135
+ yield value;
136
+ }
137
+ if (this['for']) {
138
+ const { value } = this['for'];
139
+ if (TypeGuards.isValueToken ? TypeGuards.isValueToken(value) : true)
140
+ yield value;
141
+ }
142
+ }
73
143
  }
74
- export function parseFilePath(tokenizer, liquid) {
144
+ export function parseFilePath(tokenizer, liquid, parser) {
75
145
  if (liquid.options.dynamicPartials) {
76
146
  const file = tokenizer.readValue();
77
147
  tokenizer.assert(file, 'illegal file path');
78
148
  if (file.getText() === 'none')
79
149
  return;
80
150
  if (TypeGuards.isQuotedToken(file)) {
81
- const templates = liquid.parse(evalQuotedToken(file));
151
+ const templates = parser.parse(evalQuotedToken(file));
82
152
  return optimize(templates);
83
153
  }
84
154
  return file;
85
155
  }
86
156
  const tokens = [...tokenizer.readFileNameTemplate(liquid.options)];
87
- const templates = optimize(liquid.parser.parseTokens(tokens));
157
+ const templates = optimize(parser.parseTokens(tokens));
88
158
  return templates === 'none' ? undefined : templates;
89
159
  }
90
160
  function optimize(templates) {
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/liquidjs-tools/render-clone/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/liquidjs-tools/render-clone/render.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,15 @@ import { isPromise } from "node:util/types";
5
5
  import { getSiteFieldValue } from "../admin-backend/fields/load-fields.queries.js";
6
6
  import { registerImageVariant } from "../common/medias/media-lib.js";
7
7
  import { toMSourceMedia } from "../common/medias/to-media-values.js";
8
+ import { serveTextFromCacheOr } from "../common/serve-text-or.js";
8
9
  import { dependencyKeyOfMedia, makeCacheDependencyKey, makePluginCacheKey, } from "../common/text-cache.js";
10
+ import { trackerReportToMessage } from "../common/tracker-report.js";
9
11
  import { getPluginAssetsUrl } from "../connector/plugin-loader/plugin-public-helpers.js";
12
+ import { renderLiquidTemplate } from "../liquidjs-tools/liquidjs-rendering/render-liquidjs.js";
10
13
  import { createRenderingContext, } from "../liquidjs-tools/liquidjs-rendering/rendering-context.js";
11
- import { renderChildPartials, renderSearchPartials } from "../public-api/public-api-rendering.js";
12
14
  import { getHomeUrl, getUrlOfDocument } from "../rendered-site/page-route/make-url.js";
15
+ import { createDocPayloadDrop } from "../rendering-payload/create-doc-drop.js";
16
+ import { listDocValues } from "../rendering-payload/doc-list.queries.js";
13
17
  import { getDocItem } from "../rendering-payload/doc-values.queries.js";
14
18
  import { makeImageAvailableById } from "../rendering-payload/make-image-available.js";
15
19
  import { createRunningServerConnector } from "../running-server/running-server-connector.js";
@@ -62,11 +66,36 @@ export function createPluginRenderingService(renderingContext, pluginService, op
62
66
  setRenderState: (key, value) => {
63
67
  renderingContext.pluginRenderState.set(key, value);
64
68
  },
65
- renderChildPartials: async (httpContext, options) => {
66
- return await renderChildPartials(renderingContext, httpContext, options);
69
+ loadDocuments: (async (loadDescriptor, options) => {
70
+ if (options?.withTotal) {
71
+ const { items, total } = await listDocValues(renderingContext, loadDescriptor, {
72
+ onlyPublished: true,
73
+ withTotal: true,
74
+ });
75
+ const documents = items.map((item) => createDocPayloadDrop(renderingContext, item, { documentId: item }));
76
+ return { documents, total };
77
+ }
78
+ const { items } = await listDocValues(renderingContext, loadDescriptor, {
79
+ onlyPublished: true,
80
+ withTotal: false,
81
+ });
82
+ return items.map((item) => createDocPayloadDrop(renderingContext, item, { documentId: item }));
83
+ }),
84
+ renderDocument: async (templateName, doc) => {
85
+ return await renderLiquidTemplate(renderingContext, {
86
+ payload: { doc },
87
+ templateNames: [normalizeTemplateName(templateName)],
88
+ });
67
89
  },
68
- renderSearchPartials: async (httpContext, options) => {
69
- return await renderSearchPartials(renderingContext, httpContext, options);
90
+ serve: async (httpContext, response) => {
91
+ const { siteContext, tracker } = renderingContext;
92
+ const serveOr = serveTextFromCacheOr(siteContext, httpContext, tracker, {
93
+ cacheKey: renderingContext.cacheKey,
94
+ contentType: response.contentType,
95
+ });
96
+ const dependencyKeys = renderingContext.getDependencyKeys();
97
+ await serveOr.putInCacheAndServe(response.content, dependencyKeys);
98
+ siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${httpContext.req.relativeUrl}`));
70
99
  },
71
100
  useImage: createUseImageFn(renderingContext),
72
101
  getDocument: async (documentId) => {
@@ -224,4 +253,11 @@ async function executeRemainingHooksAsync(siteContext, hookName, hookPayload, li
224
253
  }
225
254
  return value;
226
255
  }
256
+ function normalizeTemplateName(templateName) {
257
+ if (templateName.endsWith(".public"))
258
+ return `${templateName}.liquid`;
259
+ if (templateName.endsWith(".public.liquid"))
260
+ return templateName;
261
+ throw new Error(`Must be a ".public" template name: "${templateName}"`);
262
+ }
227
263
  //# sourceMappingURL=make-backend-plugin-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"make-backend-plugin-service.js","sourceRoot":"","sources":["../../src/plugin-services/make-backend-plugin-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-backend-plugin-service.js","sourceRoot":"","sources":["../../src/plugin-services/make-backend-plugin-service.ts"],"names":[],"mappings":"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"}
@@ -195,29 +195,29 @@ async function loadFeedItemContent(renderingContext, item, language) {
195
195
  function createFeedItemsQueryBuilder(siteContext, language) {
196
196
  const { cn } = siteContext;
197
197
  const typeNames = getFeedTypeNames(siteContext.siteSchema);
198
- return cn("PaNode as l")
198
+ return cn("PaNode as n")
199
199
  .select([
200
- "l.id as nodeId",
201
- "l.typeName as typeName",
202
- "l.relativeId as relativeId",
200
+ "n.id as nodeId",
201
+ "n.typeName as typeName",
202
+ "n.relativeId as relativeId",
203
203
  "s.language as language",
204
204
  "d.slug as slug",
205
205
  "d.title as title",
206
- "l.publishDate as publishDate",
206
+ "n.publishDate as publishDate",
207
207
  ])
208
- .innerJoin("PaLNode as s", {
209
- "s.nodeId": "l.id",
210
- "s.language": cn.raw("?", [language]),
208
+ .innerJoin("PaLNode as l", {
209
+ "l.nodeId": "n.id",
210
+ "l.language": cn.raw("?", [language]),
211
211
  })
212
212
  .innerJoin("PaDocument as d", {
213
- "d.nodeId": "s.nodeId",
213
+ "d.nodeId": "l.nodeId",
214
214
  "d.language": cn.raw("?", [language]),
215
215
  })
216
- .where("s.ready", 1)
217
- .whereRaw("l.publishDate <= current_timestamp")
218
- .whereRaw("l.publishDate >= datetime(current_timestamp, '-6 month')")
219
- .whereIn("l.typeName", typeNames)
220
- .orderBy("l.publishDate", "DESC")
216
+ .where("l.ready", 1)
217
+ .whereRaw("n.publishDate <= current_timestamp")
218
+ .whereRaw("n.publishDate >= datetime(current_timestamp, '-6 month')")
219
+ .whereIn("n.typeName", typeNames)
220
+ .orderBy("n.publishDate", "DESC")
221
221
  .limit(50);
222
222
  }
223
223
  function getFeedTypeNames(siteSchema) {
@@ -0,0 +1,17 @@
1
+ import { type Context, type Tokenizer, type ValueToken } from "liquidjs";
2
+ export interface ParsedFunctionCall {
3
+ handlerName: string;
4
+ positionalTokens: ValueToken[];
5
+ namedEntries: Array<{
6
+ key: string;
7
+ value: ValueToken;
8
+ }>;
9
+ }
10
+ export declare function parseFunctionCallFromTokenizer(tokenizer: Tokenizer): ParsedFunctionCall;
11
+ export declare function evaluateFunctionCallArgs(ctx: Context, positionalTokens: ValueToken[], namedEntries: Array<{
12
+ key: string;
13
+ value: ValueToken;
14
+ }>): Generator<unknown, {
15
+ positionedParameters: unknown[];
16
+ namedParameters: Record<string, unknown>;
17
+ }, any>;
@@ -0,0 +1,88 @@
1
+ import { evalToken } from "liquidjs";
2
+ export function parseFunctionCallFromTokenizer(tokenizer) {
3
+ tokenizer.skipBlank();
4
+ const handlerId = tokenizer.readIdentifier();
5
+ tokenizer.assert(handlerId?.content, "Expected handler name");
6
+ const handlerName = handlerId?.content ? handlerId.content : undefined;
7
+ if (!handlerName)
8
+ throw new Error("Expected handler name");
9
+ tokenizer.skipBlank();
10
+ if (tokenizer.peek() !== "(") {
11
+ const pos = tokenizer.p;
12
+ tokenizer.skipBlank();
13
+ if (!tokenizer.end()) {
14
+ tokenizer.p = pos;
15
+ tokenizer.assert(false, "Syntax error, expected '('");
16
+ }
17
+ return { handlerName, positionalTokens: [], namedEntries: [] };
18
+ }
19
+ tokenizer.advance();
20
+ const positionalTokens = [];
21
+ const namedEntries = [];
22
+ tokenizer.skipBlank();
23
+ if (tokenizer.peek() === ")") {
24
+ tokenizer.advance();
25
+ return { handlerName, positionalTokens, namedEntries };
26
+ }
27
+ let namedStarted = false;
28
+ while (true) {
29
+ tokenizer.skipBlank();
30
+ const ch = tokenizer.peek();
31
+ if (ch === ")")
32
+ break;
33
+ if (!namedStarted) {
34
+ const begin = tokenizer.p;
35
+ const value = tokenizer.readValue();
36
+ tokenizer.assert(value, "Expected parameter value");
37
+ tokenizer.skipBlank();
38
+ if (tokenizer.peek() === ":") {
39
+ namedStarted = true;
40
+ tokenizer.p = begin;
41
+ }
42
+ else {
43
+ positionalTokens.push(value);
44
+ tokenizer.skipBlank();
45
+ if (tokenizer.peek() === ",") {
46
+ tokenizer.advance();
47
+ continue;
48
+ }
49
+ tokenizer.assert(tokenizer.peek() === ")", "Syntax error, expected ')'");
50
+ continue;
51
+ }
52
+ }
53
+ tokenizer.skipBlank();
54
+ const keyId = tokenizer.readIdentifier();
55
+ tokenizer.assert(keyId?.content, "Expected parameter name before ':'");
56
+ const key = keyId?.content ? keyId.content : undefined;
57
+ if (!key)
58
+ throw new Error("Expected parameter name before ':'");
59
+ tokenizer.skipBlank();
60
+ tokenizer.assert(tokenizer.peek() === ":", "Expected ':' after parameter name");
61
+ tokenizer.advance();
62
+ tokenizer.skipBlank();
63
+ const namedValue = tokenizer.readValue();
64
+ tokenizer.assert(namedValue, "Expected value after ':' in named parameter");
65
+ namedEntries.push({ key, value: namedValue });
66
+ tokenizer.skipBlank();
67
+ if (tokenizer.peek() === ",") {
68
+ tokenizer.advance();
69
+ continue;
70
+ }
71
+ tokenizer.assert(tokenizer.peek() === ")", "Syntax error, expected ')'");
72
+ }
73
+ tokenizer.assert(tokenizer.peek() === ")", "Syntax error, expected ')'");
74
+ tokenizer.advance();
75
+ return { handlerName, positionalTokens, namedEntries };
76
+ }
77
+ export function* evaluateFunctionCallArgs(ctx, positionalTokens, namedEntries) {
78
+ const positionedParameters = [];
79
+ for (const tok of positionalTokens) {
80
+ positionedParameters.push(yield evalToken(tok, ctx));
81
+ }
82
+ const namedParameters = {};
83
+ for (const { key, value } of namedEntries) {
84
+ namedParameters[key] = yield evalToken(value, ctx);
85
+ }
86
+ return { positionedParameters, namedParameters };
87
+ }
88
+ //# sourceMappingURL=liquid-function-call-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liquid-function-call-args.js","sourceRoot":"","sources":["../../../src/rendered-site/helpers/liquid-function-call-args.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,10 @@ export type LegacyLiquidTagReturnsVarHandler = (renderingContext: RenderingConte
14
14
  };
15
15
  variableName: string;
16
16
  }) => Generator | Promise<Generator> | unknown;
17
- export declare function createAssignLiquidTag(tagHandler: LegacyLiquidTagReturnsVarHandler, options: {
17
+ export declare function createDeprecatedAssignLiquidTag(tagHandler: LegacyLiquidTagReturnsVarHandler, options: {
18
18
  legacySyntax: true;
19
19
  }): TagClass;
20
- export declare function createAssignLiquidTag(tagHandler: NewLiquidTagReturnsVarHandler): TagClass;
20
+ export declare function createDeprecatedAssignLiquidTag(tagHandler: NewLiquidTagReturnsVarHandler): TagClass;
21
21
  export declare function wrapLiquidTagPromise<T = unknown>(renderingContext: RenderingContext, promise: Promise<T>, tagName: string): Promise<T>;
22
- export type LiquidTagReturnsHtmlHandler = (renderingContext: RenderingContext, parameters: {
23
- [key: string]: unknown;
24
- }) => string | Promise<string>;
25
- export declare function createInjectHtmlLiquidTag(tagHandler: LiquidTagReturnsHtmlHandler): TagClass;
22
+ export declare function isGeneratorObject(value: unknown): value is Generator;
23
+ export declare function consumeGenerator(gen: Generator): unknown;
@@ -1,7 +1,7 @@
1
- import { Hash, Tag, evalToken, } from "liquidjs";
1
+ import { evalToken, Hash, Tag, } from "liquidjs";
2
2
  import { isPromise } from "node:util/types";
3
3
  import { extractRenderingContext } from "../../liquidjs-tools/liquidjs-utils.js";
4
- export function createAssignLiquidTag(tagHandler, options = {}) {
4
+ export function createDeprecatedAssignLiquidTag(tagHandler, options = {}) {
5
5
  return class PaLiquidTag extends Tag {
6
6
  #varName;
7
7
  #args;
@@ -17,10 +17,11 @@ export function createAssignLiquidTag(tagHandler, options = {}) {
17
17
  this.tokenizer.skipBlank();
18
18
  this.tokenizer.assert(this.tokenizer.peek() === "=", `Invalid syntax for tag "${token.name}", expected "="`);
19
19
  this.tokenizer.advance();
20
- const mainParamValue = this.tokenizer.readFilteredValue();
21
- this.tokenizer.assert(mainParamValue, 'expected value after "="');
22
- this.#mainParameter = mainParamValue;
23
- this.#args = new Hash(this.tokenizer, liquid.options.keyValueSeparator);
20
+ const mainParamToken = this.tokenizer.readValue();
21
+ this.tokenizer.assert(mainParamToken, 'expected value after "="');
22
+ this.#mainParameter = mainParamToken;
23
+ const remainingArgs = this.tokenizer.remaining();
24
+ this.#args = new Hash(remainingArgs, liquid.options.keyValueSeparator);
24
25
  }
25
26
  }
26
27
  *render(ctx, _emitter) {
@@ -34,7 +35,7 @@ export function createAssignLiquidTag(tagHandler, options = {}) {
34
35
  namedParameters,
35
36
  variableName: this.#varName,
36
37
  });
37
- const val = isIterable(result)
38
+ const val = isGeneratorObject(result)
38
39
  ? yield* result
39
40
  : isPromise(result)
40
41
  ? yield wrapLiquidTagPromise(renderingContext, result, tagHandler.name)
@@ -52,26 +53,22 @@ export async function wrapLiquidTagPromise(renderingContext, promise, tagName) {
52
53
  throw error;
53
54
  }
54
55
  }
55
- export function createInjectHtmlLiquidTag(tagHandler) {
56
- return class PaLiquidTag extends Tag {
57
- #args;
58
- constructor(token, remainTokens, liquid) {
59
- super(token, remainTokens, liquid);
60
- this.#args = new Hash(token.args);
61
- }
62
- *render(ctx, emitter) {
63
- const renderingContext = extractRenderingContext(ctx);
64
- const parameters = (yield this.#args.render(ctx)) ?? {};
65
- const result = tagHandler(renderingContext, parameters);
66
- const val = typeof result === "string" ? result : yield result;
67
- emitter.write(val);
68
- }
69
- };
56
+ export function isGeneratorObject(value) {
57
+ if (!value || typeof value !== "object")
58
+ return false;
59
+ const tag = Object.prototype.toString.call(value);
60
+ if (tag === "[object Generator]")
61
+ return true;
62
+ const v = value;
63
+ return (typeof v.next === "function" &&
64
+ typeof v.throw === "function" &&
65
+ typeof v.return === "function" &&
66
+ v[Symbol.iterator] === v);
70
67
  }
71
- function isIterable(value) {
72
- return (!!value &&
73
- typeof value === "object" &&
74
- Symbol.iterator in value &&
75
- typeof value[Symbol.iterator] === "function");
68
+ export function consumeGenerator(gen) {
69
+ let last;
70
+ for (const v of gen)
71
+ last = v;
72
+ return last;
76
73
  }
77
74
  //# sourceMappingURL=liquid-tag-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"liquid-tag-helpers.js","sourceRoot":"","sources":["../../../src/rendered-site/helpers/liquid-tag-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,IAAI,EAEJ,GAAG,EAGH,SAAS,GACV,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AA4BjF,MAAM,UAAU,qBAAqB,CACnC,UAAsC,EACtC,UAAsC,EAAE;IAExC,OAAO,MAAM,WAAY,SAAQ,GAAG;QAElC,QAAQ,CAAS;QACjB,KAAK,CAAO;QACZ,cAAc,CAAO;QAErB,YAAY,KAAe,EAAE,YAA6B,EAAE,MAAc;YACxE,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC;YAExD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBAEzB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBAChC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBAEN,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,CACnB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,EAC7B,2BAA2B,KAAK,CAAC,IAAI,iBAAiB,CACvD,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAEzB,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;gBAC1D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;gBAClE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;gBAGrC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,CAAC,MAAM,CAAC,GAAY,EAAE,QAAiB;YACrC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAEtD,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc;gBACvC,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC;gBAC3C,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,EAAE;gBAC1C,aAAa;gBACb,eAAe;gBACf,YAAY,EAAE,IAAI,CAAC,QAAQ;aAC5B,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC5B,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;gBACf,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;oBACjB,CAAC,CAAC,MAAM,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;oBACvE,CAAC,CAAC,MAAM,CAAC;YACZ,GAAG,CAAC,MAAM,EAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,gBAAkC,EAClC,OAAmB,EACnB,OAAe;IAEf,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;QACrF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAOD,MAAM,UAAU,yBAAyB,CAAC,UAAuC;IAC/E,OAAO,MAAM,WAAY,SAAQ,GAAG;QAElC,KAAK,CAAO;QAEZ,YAAY,KAAe,EAAE,YAA6B,EAAE,MAAc;YACxE,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACnC,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,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAExD,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAExD,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC;YAC/D,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAOD,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,QAAQ,IAAI,KAAK;QACxB,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,CAC7C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"liquid-tag-helpers.js","sourceRoot":"","sources":["../../../src/rendered-site/helpers/liquid-tag-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { TagClass } from "liquidjs/dist/template/tag.js";
2
+ import type { RenderingContext } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
3
+ export interface OutLiquidTag {
4
+ tagClass: TagClass;
5
+ registerHandler(name: string, handler: LiquidOutHandler): void;
6
+ }
7
+ export type LiquidOutHandler = (renderingContext: RenderingContext, input: {
8
+ positionedParameters: unknown[];
9
+ namedParameters: Record<string, unknown>;
10
+ }) => string | Promise<string> | Generator;
11
+ export declare function createOutLiquidTag(): OutLiquidTag;
@@ -0,0 +1,51 @@
1
+ import { Tag, } from "liquidjs";
2
+ import { isPromise } from "node:util/types";
3
+ import { extractRenderingContext } from "../../liquidjs-tools/liquidjs-utils.js";
4
+ import { evaluateFunctionCallArgs, parseFunctionCallFromTokenizer, } from "./liquid-function-call-args.js";
5
+ import { consumeGenerator, isGeneratorObject, wrapLiquidTagPromise } from "./liquid-tag-helpers.js";
6
+ export function createOutLiquidTag() {
7
+ const handlers = new Map();
8
+ return {
9
+ tagClass: class OutTag extends Tag {
10
+ #handlerName;
11
+ #positionalTokens = [];
12
+ #namedEntries = [];
13
+ constructor(token, remainTokens, liquid) {
14
+ super(token, remainTokens, liquid);
15
+ const parsed = parseFunctionCallFromTokenizer(this.tokenizer);
16
+ this.#handlerName = parsed.handlerName;
17
+ this.#positionalTokens = parsed.positionalTokens;
18
+ this.#namedEntries = parsed.namedEntries;
19
+ }
20
+ *render(ctx, emitter) {
21
+ const renderingContext = extractRenderingContext(ctx);
22
+ const { logger } = renderingContext.siteContext;
23
+ const handler = handlers.get(this.#handlerName);
24
+ if (!handler)
25
+ throw new Error(`Unknown handler '${this.#handlerName}'`);
26
+ const { positionedParameters, namedParameters } = (yield* evaluateFunctionCallArgs(ctx, this.#positionalTokens, this.#namedEntries));
27
+ const result = handler(renderingContext, { positionedParameters, namedParameters });
28
+ let val;
29
+ try {
30
+ if (isGeneratorObject(result)) {
31
+ val = consumeGenerator(result);
32
+ }
33
+ else if (isPromise(result)) {
34
+ val = yield wrapLiquidTagPromise(renderingContext, result, `out:${this.#handlerName}`);
35
+ }
36
+ else {
37
+ val = result;
38
+ }
39
+ emitter.write(String(val));
40
+ }
41
+ catch (error) {
42
+ logger.error(`Error in {% out ${this.#handlerName}(...) %}"`, error);
43
+ }
44
+ }
45
+ },
46
+ registerHandler(name, handler) {
47
+ handlers.set(name, handler);
48
+ },
49
+ };
50
+ }
51
+ //# sourceMappingURL=out-liquid-tag.js.map