You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Support templates or concatenation of several fields into one #36
A rule had one from and one to, so several source fields could not feed a single target. Concatenation also has no unique inverse unless the joined text is structured, which is why decode could not be derived from one declaration the way it is for split.
Decision: implement a two-way template rule that records the part boundaries in the template itself: { op: "template", from: { given: "people[].given", family: "people[].family" }, to: "names[]", template: "{family}, {given}" }. Placeholders are {name}, a literal brace is {{ or }}. The schema refuses a template without a unique inverse: a field used twice or not at all, a placeholder naming no field, or two placeholders with no literal between them. Decode strips the leading and trailing literals and cuts each field at the first occurrence of the literal after it; encode renders and immediately splits its own output back, throwing for a value that contains the literal following its placeholder, so decode always recovers exactly the fields encode rendered. Fields are strings and must come from the same element (the same arrays at every wildcard depth). Plain concatenation with one separator is the special case of a template with that separator between placeholders.
Activity
github-actions commentedon Oct 21, 2026
🎉 This issue has been resolved in version 0.6.0 🎉
The release is available on:
Your semantic-release bot 📦🚀