@voyantjs/utils 0.20.0 → 0.21.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.
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
export type StructuredTemplateBodyFormat = "html" | "markdown" | "lexical_json";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Optional render hooks. `missingValuePlaceholder` substitutes a
|
|
4
|
+
* literal (typically `"-"`) for any output tag whose resolved value is
|
|
5
|
+
* null / undefined / empty-string. Numbers (including 0) and
|
|
6
|
+
* booleans are stringified as-is — they aren't "missing".
|
|
7
|
+
*/
|
|
8
|
+
export interface RenderTemplateOptions {
|
|
9
|
+
missingValuePlaceholder?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function renderMustacheTemplate(body: string, variables: Record<string, unknown>, options?: RenderTemplateOptions): string;
|
|
12
|
+
export declare function renderStringTemplate(body: string, variables: Record<string, unknown>, options?: RenderTemplateOptions): string;
|
|
13
|
+
export declare function renderStructuredTemplate(body: string, bodyFormat: StructuredTemplateBodyFormat, variables: Record<string, unknown>, options?: RenderTemplateOptions): string;
|
|
5
14
|
//# sourceMappingURL=template-renderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-renderer.d.ts","sourceRoot":"","sources":["../src/template-renderer.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG,UAAU,GAAG,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"template-renderer.d.ts","sourceRoot":"","sources":["../src/template-renderer.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG,UAAU,GAAG,cAAc,CAAA;AA+I/E;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAgCD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAMR;AAMD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CASR;AAiBD,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,4BAA4B,EACxC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAgCR"}
|
|
@@ -44,8 +44,9 @@ liquid.registerFilter("cents", (value, currency = "EUR", locale = "en-US") => {
|
|
|
44
44
|
/**
|
|
45
45
|
* `format_date` — ISO/string/Date → locale-formatted date. Second arg chooses
|
|
46
46
|
* the preset: `"short"` (`01/15/2026`), `"medium"` (default, `Jan 15, 2026`),
|
|
47
|
-
* `"long"` (`January 15, 2026`),
|
|
48
|
-
*
|
|
47
|
+
* `"long"` (`January 15, 2026`), `"iso"` (`2026-01-15`), or `"time"`
|
|
48
|
+
* (delegates to `format_time` — `08:30`). Pair with a locale for
|
|
49
|
+
* Romanian/etc.: `{{ startsAt | format_date: "medium", "ro-RO" }}`.
|
|
49
50
|
*/
|
|
50
51
|
liquid.registerFilter("format_date", (value, preset = "medium", locale = "en-US") => {
|
|
51
52
|
if (value === null || value === undefined || value === "")
|
|
@@ -56,6 +57,12 @@ liquid.registerFilter("format_date", (value, preset = "medium", locale = "en-US"
|
|
|
56
57
|
const p = String(preset ?? "medium").toLowerCase();
|
|
57
58
|
if (p === "iso")
|
|
58
59
|
return date.toISOString().slice(0, 10);
|
|
60
|
+
if (p === "time") {
|
|
61
|
+
// Delegate to `format_time`'s default short shape so authors
|
|
62
|
+
// can pipe a single `format_date: "time"` without remembering
|
|
63
|
+
// to switch filters.
|
|
64
|
+
return date.toLocaleTimeString(String(locale), { hour: "2-digit", minute: "2-digit" });
|
|
65
|
+
}
|
|
59
66
|
const options = p === "short"
|
|
60
67
|
? { year: "numeric", month: "2-digit", day: "2-digit" }
|
|
61
68
|
: p === "long"
|
|
@@ -63,6 +70,36 @@ liquid.registerFilter("format_date", (value, preset = "medium", locale = "en-US"
|
|
|
63
70
|
: { year: "numeric", month: "short", day: "numeric" };
|
|
64
71
|
return date.toLocaleDateString(String(locale), options);
|
|
65
72
|
});
|
|
73
|
+
/**
|
|
74
|
+
* `format_time` — ISO/string/Date → locale-formatted time-of-day.
|
|
75
|
+
* Second arg picks the preset: `"short"` (default, `08:30`),
|
|
76
|
+
* `"medium"` (`08:30:42`), `"iso"` (`08:30:42` — same as medium but
|
|
77
|
+
* always 24-hour). Locale defaults to `en-US`; pass `"ro-RO"` etc.
|
|
78
|
+
* for locale-aware formatting (12 vs. 24 hour). Falls back to the
|
|
79
|
+
* raw value when not parseable.
|
|
80
|
+
*
|
|
81
|
+
* Examples:
|
|
82
|
+
* `{{ contract.signedAt | format_time }}` → `"08:30"`
|
|
83
|
+
* `{{ contract.signedAt | format_time: "medium" }}` → `"08:30:42"`
|
|
84
|
+
* `{{ contract.signedAt | format_time: "short", "ro-RO" }}` → `"08:30"`
|
|
85
|
+
*/
|
|
86
|
+
liquid.registerFilter("format_time", (value, preset = "short", locale = "en-US") => {
|
|
87
|
+
if (value === null || value === undefined || value === "")
|
|
88
|
+
return "";
|
|
89
|
+
const date = value instanceof Date ? value : new Date(String(value));
|
|
90
|
+
if (Number.isNaN(date.getTime()))
|
|
91
|
+
return String(value);
|
|
92
|
+
const p = String(preset ?? "short").toLowerCase();
|
|
93
|
+
if (p === "iso") {
|
|
94
|
+
// 24-hour HH:MM:SS regardless of locale, useful for audit-
|
|
95
|
+
// trail copy where consistency beats locale courtesy.
|
|
96
|
+
return date.toISOString().slice(11, 19);
|
|
97
|
+
}
|
|
98
|
+
const options = p === "medium"
|
|
99
|
+
? { hour: "2-digit", minute: "2-digit", second: "2-digit" }
|
|
100
|
+
: { hour: "2-digit", minute: "2-digit" };
|
|
101
|
+
return date.toLocaleTimeString(String(locale), options);
|
|
102
|
+
});
|
|
66
103
|
function resolvePath(obj, path) {
|
|
67
104
|
if (obj === null || obj === undefined)
|
|
68
105
|
return undefined;
|
|
@@ -96,11 +133,12 @@ function resolvePath(obj, path) {
|
|
|
96
133
|
}
|
|
97
134
|
return current;
|
|
98
135
|
}
|
|
99
|
-
function stringifyValue(value) {
|
|
136
|
+
function stringifyValue(value, placeholder) {
|
|
100
137
|
if (value === null || value === undefined)
|
|
101
|
-
return "";
|
|
102
|
-
if (typeof value === "string")
|
|
103
|
-
return value;
|
|
138
|
+
return placeholder ?? "";
|
|
139
|
+
if (typeof value === "string") {
|
|
140
|
+
return value === "" && placeholder ? placeholder : value;
|
|
141
|
+
}
|
|
104
142
|
if (typeof value === "number" || typeof value === "boolean")
|
|
105
143
|
return String(value);
|
|
106
144
|
return JSON.stringify(value);
|
|
@@ -108,39 +146,60 @@ function stringifyValue(value) {
|
|
|
108
146
|
const MUSTACHE_RE = /\{\{\s*([^}]+?)\s*\}\}/g;
|
|
109
147
|
const LIQUID_CONTROL_RE = /\{%-?[\s\S]*?-?%\}/;
|
|
110
148
|
const LIQUID_FILTER_RE = /\{\{[\s\S]*\|[\s\S]*\}\}/;
|
|
111
|
-
|
|
149
|
+
const LIQUID_OUTPUT_RE = /\{\{\s*([^}]+?)\s*\}\}/g;
|
|
150
|
+
const HAS_DEFAULT_FILTER_RE = /\|\s*default\s*:/i;
|
|
151
|
+
/**
|
|
152
|
+
* Inject `| default: <fallback>` into every Liquid output tag that
|
|
153
|
+
* doesn't already chain a `default:` filter. Applied AFTER the rest of
|
|
154
|
+
* the filter chain so transformations like `cents` / `format_date`
|
|
155
|
+
* still run; they return empty strings on missing input, which the
|
|
156
|
+
* `default` filter then replaces with the fallback. Output tags whose
|
|
157
|
+
* authors already wired their own `default: "..."` are left alone.
|
|
158
|
+
*/
|
|
159
|
+
function injectDefaultFilter(body, fallback) {
|
|
160
|
+
return body.replace(LIQUID_OUTPUT_RE, (full, inner) => {
|
|
161
|
+
if (HAS_DEFAULT_FILTER_RE.test(inner))
|
|
162
|
+
return full;
|
|
163
|
+
return `{{ ${inner.trim()} | default: ${JSON.stringify(fallback)} }}`;
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
export function renderMustacheTemplate(body, variables, options) {
|
|
167
|
+
const placeholder = options?.missingValuePlaceholder;
|
|
112
168
|
return body.replace(MUSTACHE_RE, (_, path) => {
|
|
113
169
|
const resolved = resolvePath(variables, path.trim());
|
|
114
|
-
return stringifyValue(resolved);
|
|
170
|
+
return stringifyValue(resolved, placeholder);
|
|
115
171
|
});
|
|
116
172
|
}
|
|
117
173
|
function shouldUseLiquid(body) {
|
|
118
174
|
return LIQUID_CONTROL_RE.test(body) || LIQUID_FILTER_RE.test(body);
|
|
119
175
|
}
|
|
120
|
-
export function renderStringTemplate(body, variables) {
|
|
176
|
+
export function renderStringTemplate(body, variables, options) {
|
|
121
177
|
if (!shouldUseLiquid(body)) {
|
|
122
|
-
return renderMustacheTemplate(body, variables);
|
|
178
|
+
return renderMustacheTemplate(body, variables, options);
|
|
123
179
|
}
|
|
124
|
-
|
|
180
|
+
const processedBody = options?.missingValuePlaceholder
|
|
181
|
+
? injectDefaultFilter(body, options.missingValuePlaceholder)
|
|
182
|
+
: body;
|
|
183
|
+
return liquid.parseAndRenderSync(processedBody, variables);
|
|
125
184
|
}
|
|
126
|
-
function walkLexical(node, variables) {
|
|
185
|
+
function walkLexical(node, variables, options) {
|
|
127
186
|
const next = { ...node };
|
|
128
187
|
if (typeof next.text === "string") {
|
|
129
|
-
next.text = renderStringTemplate(next.text, variables);
|
|
188
|
+
next.text = renderStringTemplate(next.text, variables, options);
|
|
130
189
|
}
|
|
131
190
|
if (Array.isArray(next.children)) {
|
|
132
|
-
next.children = next.children.map((child) => walkLexical(child, variables));
|
|
191
|
+
next.children = next.children.map((child) => walkLexical(child, variables, options));
|
|
133
192
|
}
|
|
134
193
|
return next;
|
|
135
194
|
}
|
|
136
|
-
export function renderStructuredTemplate(body, bodyFormat, variables) {
|
|
195
|
+
export function renderStructuredTemplate(body, bodyFormat, variables, options) {
|
|
137
196
|
if (bodyFormat === "lexical_json") {
|
|
138
197
|
try {
|
|
139
198
|
const parsed = JSON.parse(body);
|
|
140
199
|
if (Array.isArray(parsed)) {
|
|
141
200
|
return JSON.stringify(parsed.map((entry) => {
|
|
142
201
|
if (entry && typeof entry === "object") {
|
|
143
|
-
return walkLexical(entry, variables);
|
|
202
|
+
return walkLexical(entry, variables, options);
|
|
144
203
|
}
|
|
145
204
|
return entry;
|
|
146
205
|
}));
|
|
@@ -148,17 +207,20 @@ export function renderStructuredTemplate(body, bodyFormat, variables) {
|
|
|
148
207
|
if (parsed && typeof parsed === "object") {
|
|
149
208
|
const obj = parsed;
|
|
150
209
|
if (obj.root && typeof obj.root === "object") {
|
|
151
|
-
const result = {
|
|
210
|
+
const result = {
|
|
211
|
+
...obj,
|
|
212
|
+
root: walkLexical(obj.root, variables, options),
|
|
213
|
+
};
|
|
152
214
|
return JSON.stringify(result);
|
|
153
215
|
}
|
|
154
|
-
return JSON.stringify(walkLexical(obj, variables));
|
|
216
|
+
return JSON.stringify(walkLexical(obj, variables, options));
|
|
155
217
|
}
|
|
156
218
|
return body;
|
|
157
219
|
}
|
|
158
220
|
catch {
|
|
159
|
-
return renderStringTemplate(body, variables);
|
|
221
|
+
return renderStringTemplate(body, variables, options);
|
|
160
222
|
}
|
|
161
223
|
}
|
|
162
|
-
return renderStringTemplate(body, variables);
|
|
224
|
+
return renderStringTemplate(body, variables, options);
|
|
163
225
|
}
|
|
164
226
|
//# sourceMappingURL=template-renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../src/template-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAWjC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;IACxB,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,KAAK;IACtB,QAAQ,EAAE,IAAI;CACf,CAAC,CAAA;AAEF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAA;AAEhF,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACtC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,KAAc,EAAE,QAAQ,GAAG,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,EAAE;IACvF,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAC5C,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAC3C,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;KACpC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAChB,CAAC,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,QAAQ,GAAG,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,EAAE;IACpF,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAC5C,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAC3C,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;KACpC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;AACtB,CAAC,CAAC,CAAA;AAEF
|
|
1
|
+
{"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../src/template-renderer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"liquidjs": "^10.24.0",
|
|
98
98
|
"pdf-lib": "^1.17.1",
|
|
99
99
|
"zod": "^4.3.6",
|
|
100
|
-
"@voyantjs/types": "0.
|
|
100
|
+
"@voyantjs/types": "0.21.1"
|
|
101
101
|
},
|
|
102
102
|
"devDependencies": {
|
|
103
103
|
"@types/node": "^25.5.2",
|