import{a as T,b as k}from"./chunk-PI6A7EIZ.js";import{d as b}from"./chunk-FSRPMVAS.js";var i=b(T(),1),l=b(k(),1);function d(e,r,t={}){return w(e,r,t).buffer}function w(e,r,t={}){let{nullGetter:a="keep",linebreaks:n=!0,delimiters:s}=t,o=[],h=[],m=[];try{let f=new i.default(e),g=new l.default(f,{paragraphLoop:!0,linebreaks:n,nullGetter:u=>{let c=u.value||"";if(a==="error")throw new Error(`Undefined variable: ${c}`);return a==="empty"?(m.push(c),""):(m.push(c),`{${c}}`)},delimiters:s?{start:s.start||"{",end:s.end||"}"}:void 0});return Object.keys(r).forEach(u=>{r[u]!==void 0&&r[u]!==null&&h.push(u)}),g.setData(r),g.render(),{buffer:g.getZip().generate({type:"arraybuffer",compression:"DEFLATE",compressionOptions:{level:6}}),replacedVariables:h,unreplacedVariables:m,warnings:o}}catch(f){throw p(f)}}function y(e,r,t={}){let a=d(e,r,t);return new Blob([a],{type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"})}function E(e,r,t="document",a={}){let n=y(e,r,a);F(n,`${t}.docx`)}function L(e){try{let r=new i.default(e),t=new l.default(r,{paragraphLoop:!0,linebreaks:!0}).getFullText();return v(t)}catch(r){throw p(r)}}function x(e){let r=[],t=[];try{let a=new i.default(e),n=new l.default(a,{paragraphLoop:!0,linebreaks:!0}).getFullText();t=v(n);let s=j(n);for(let o of s)r.push({message:`Unclosed tag: ${o}`,variable:o,type:"parse"});return{valid:r.length===0,errors:r,tags:t}}catch(a){return r.push(p(a)),{valid:!1,errors:r,tags:t}}}function D(e,r){return e.filter(t=>!(t in r)||r[t]===void 0||r[t]===null)}function U(e,r){try{let t=new i.default(e),a=new l.default(t,{paragraphLoop:!0,linebreaks:!0,nullGetter:n=>`[${n.value||""}]`});return a.setData(r),a.render(),a.getFullText()}catch(t){throw p(t)}}function v(e){let r=[],t=/\{([^{}]+)\}/g,a;for(;(a=t.exec(e))!==null;){let n=a[1].trim();n&&!r.includes(n)&&r.push(n)}return r.sort()}function j(e){let r=[],t=0,a="";for(let n of e)n==="{"?(t++,a=""):n==="}"?(t--,t<0&&(t=0)):t>0&&(a+=n);return t>0&&a.trim()&&r.push(a.trim()),r}function A(e){return"properties"in e&&typeof e.properties=="object"}function p(e){if(e instanceof Error){if(A(e)&&e.properties?.errors){let r=e.properties.errors[0];return{message:r?.message||"Template processing error",variable:r?.properties?.tag,type:"render",originalError:e}}if(e.message.includes("undefined")){let r=e.message.match(/undefined (?:variable|tag):\s*(\S+)/i);return{message:e.message,variable:r?r[1]:void 0,type:"undefined",originalError:e}}return e.message.includes("parse")||e.message.includes("unclosed")||e.message.includes("syntax")?{message:e.message,type:"parse",originalError:e}:{message:e.message,type:"unknown",originalError:e}}return{message:String(e),type:"unknown"}}function F(e,r){let t=URL.createObjectURL(e),a=document.createElement("a");a.href=t,a.download=r,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(t)}function O(e,r,t={}){let{linebreaks:a=!0,delimiters:n}=t;try{let s=new i.default(e),o=new l.default(s,{paragraphLoop:!0,linebreaks:a,delimiters:n?{start:n.start||"{",end:n.end||"}"}:void 0});return o.setData(r),o.render(),o.getZip().generate({type:"arraybuffer",compression:"DEFLATE"})}catch(s){throw p(s)}}function R(e={}){return(r,t)=>d(r,t,e)}var $=d;export{R as createTemplateProcessor,$ as default,D as getMissingVariables,L as getTemplateTags,U as previewTemplate,d as processTemplate,O as processTemplateAdvanced,E as processTemplateAndDownload,y as processTemplateAsBlob,w as processTemplateDetailed,x as validateTemplate};
