@homedev/objector 1.2.46 → 1.2.48

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/index.d.ts CHANGED
@@ -111,7 +111,6 @@ export declare interface FieldProcessorOptions {
111
111
  }
112
112
 
113
113
  export declare interface FieldProcessorSection {
114
- name: string;
115
114
  config: Record<string, any>;
116
115
  content: string;
117
116
  trim?: boolean;
@@ -119,6 +118,20 @@ export declare interface FieldProcessorSection {
119
118
  show?: boolean;
120
119
  }
121
120
 
121
+ export declare type FieldProcessorSectionConfigFunc = (context: FieldProcessorSectionContext) => Promise<boolean | void> | boolean | void;
122
+
123
+ export declare interface FieldProcessorSectionContext {
124
+ section: FieldProcessorSection;
125
+ content: string;
126
+ path: string;
127
+ root: Record<string, any>;
128
+ options: ProcessFieldsOptions;
129
+ }
130
+
131
+ export declare type FieldProcessorSectionFunc = (context: FieldProcessorSectionContext) => Promise<void | boolean | string> | void | boolean | string;
132
+
133
+ export declare type FieldProcessorSectionMap = Record<string, FieldProcessorSectionFunc>;
134
+
122
135
  export declare type FieldProcessorTypeChecker = (n: number, value: any, args: any[]) => any;
123
136
 
124
137
  export declare type FieldProcessorTypeCheckers<T = unknown> = Record<keyof T, FieldProcessorTypeChecker>;
@@ -372,7 +385,7 @@ export declare class Objector {
372
385
  private fields;
373
386
  private objectMetadata;
374
387
  private currentContext;
375
- private sections;
388
+ private storedSections;
376
389
  constructor();
377
390
  use(handler: (o: Objector) => void): this;
378
391
  includeDirectory(...dirs: string[]): this;
@@ -380,6 +393,7 @@ export declare class Objector {
380
393
  include(...files: string[]): this;
381
394
  keys(keys: FieldProcessorMap): this;
382
395
  sources(sources: FieldProcessorMap): this;
396
+ sections(sections: Record<string, FieldProcessorSection>): this;
383
397
  variables(vars: Record<string, unknown>): this;
384
398
  getOutputs(): Output[];
385
399
  output(o: Output): this;
@@ -446,11 +460,12 @@ export declare const processFields: (obj: any, options?: ProcessFieldsOptions) =
446
460
  export declare interface ProcessFieldsOptions {
447
461
  sources?: FieldProcessorMap;
448
462
  keys?: FieldProcessorMap;
463
+ sections?: FieldProcessorSectionMap;
449
464
  filters?: RegExp[];
450
465
  root?: Record<any, any>;
451
466
  globalContext?: any;
452
- onSection?: (section: FieldProcessorSection, path: string, root: Record<string, any>, options: ProcessFieldsOptions) => Promise<void | boolean | string> | void | boolean | string;
453
- onSectionConfig?: (section: FieldProcessorSection, path: string, root: Record<string, any>, options: ProcessFieldsOptions) => Promise<boolean | void> | boolean | void;
467
+ onSection?: FieldProcessorSectionFunc;
468
+ onSectionConfig?: FieldProcessorSectionConfigFunc;
454
469
  }
455
470
 
456
471
  /**
@@ -558,6 +573,8 @@ export declare const splitWithQuotes: (input: string, separator?: string) => {
558
573
  quoted: boolean;
559
574
  }[];
560
575
 
576
+ export declare const stripIndent: (value: string) => string;
577
+
561
578
  /**
562
579
  * Replaces tokens in a string with values from an object.
563
580
  * Tokens are in the format `$\{key\}`.
package/dist/index.js CHANGED
@@ -1,16 +1,21 @@
1
- var Hr=Object.create;var{getPrototypeOf:xr,defineProperty:Z,getOwnPropertyNames:Me}=Object;var Ee=Object.prototype.hasOwnProperty,k=(e,r,t)=>{for(let n of Me(r))if(!Ee.call(e,n)&&n!=="default")Z(e,n,{get:()=>r[n],enumerable:!0});if(t){for(let n of Me(r))if(!Ee.call(t,n)&&n!=="default")Z(t,n,{get:()=>r[n],enumerable:!0});return t}},qr=(e,r,t)=>{t=e!=null?Hr(xr(e)):{};let n=r||!e||!e.__esModule?Z(t,"default",{value:e,enumerable:!0}):t;for(let o of Me(e))if(!Ee.call(n,o))Z(n,o,{get:()=>e[o],enumerable:!0});return n};var Pr=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var R=(e,r)=>{for(var t in r)Z(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(n)=>r[t]=()=>n})};var Kr=Pr((ta,Gr)=>{var{defineProperty:Je,getOwnPropertyNames:xt,getOwnPropertyDescriptor:qt}=Object,Pt=Object.prototype.hasOwnProperty,Qr=new WeakMap,Xt=(e)=>{var r=Qr.get(e),t;if(r)return r;if(r=Je({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")xt(e).map((n)=>!Pt.call(r,n)&&Je(r,n,{get:()=>e[n],enumerable:!(t=qt(e,n))||t.enumerable}));return Qr.set(e,r),r},zt=(e,r)=>{for(var t in r)Je(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(n)=>r[t]=()=>n})},Zr={};zt(Zr,{splitWithQuotes:()=>rn,splitNested:()=>en});Gr.exports=Xt(Zr);var en=(e,r,t="(",n=")")=>{let o=0,s="",i=[];for(let a of e){if(s+=a,a===t)o++;if(a===n)o--;if(o===0&&a===r)i.push(s.slice(0,-1)),s=""}if(s)i.push(s);return i},rn=(e,r=",")=>{let t=[],n=e.length,o=r.length,s=0,i=(a)=>{if(a+o>n)return!1;for(let u=0;u<o;u++)if(e[a+u]!==r[u])return!1;return!0};while(s<n){while(s<n&&e[s]===" ")s++;if(s>=n)break;let a="",u=e[s]==='"'||e[s]==="'";if(u){let m=e[s++];while(s<n&&e[s]!==m)a+=e[s++];if(s<n)s++}else{while(s<n&&!i(s)){let m=e[s];if(m==='"'||m==="'"){a+=m,s++;while(s<n&&e[s]!==m)a+=e[s++];if(s<n)a+=e[s++]}else a+=e[s++]}a=a.trim()}if(a)t.push({value:a,quoted:u});if(i(s))s+=o}return t}});var N={};R(N,{writeOutputs:()=>P,writeOutput:()=>ue,writeFormat:()=>le,tokenize:()=>Be,toObjectWithKey:()=>_e,toObject:()=>X,toList:()=>W,sortBy:()=>Le,snake:()=>Y,select:()=>v,processFields:()=>j,pascal:()=>J,padBlock:()=>L,nonNullMap:()=>Ne,navigate:()=>ce,mergeAll:()=>B,merge:()=>F,makeFieldProcessorMap:()=>D,makeFieldProcessorList:()=>Se,makeFieldProcessor:()=>H,locate:()=>C,loadFormat:()=>x,importList:()=>fe,importGlob:()=>Re,globMap:()=>q,getProcessor:()=>V,getArgs:()=>ie,find:()=>Ie,exists:()=>U,defined:()=>Fe,deepClone:()=>$,conditionPredicates:()=>_,changeCase:()=>Q,capital:()=>re,camel:()=>te,asyncMap:()=>Ce,Objector:()=>Vr,NavigateResult:()=>b,NavigateAction:()=>pe,Logger:()=>Ye});var je={};R(je,{processFields:()=>j,makeFieldProcessorMap:()=>D,makeFieldProcessorList:()=>Se,makeFieldProcessor:()=>H,getProcessor:()=>V,getArgs:()=>ie});var Xr=Object.create,{getPrototypeOf:zr,defineProperty:Qe,getOwnPropertyNames:et}=Object,rt=Object.prototype.hasOwnProperty,tt=(e,r,t)=>{t=e!=null?Xr(zr(e)):{};let n=r||!e||!e.__esModule?Qe(t,"default",{value:e,enumerable:!0}):t;for(let o of et(e))if(!rt.call(n,o))Qe(n,o,{get:()=>e[o],enumerable:!0});return n},nt=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),ot=nt((e,r)=>{var{defineProperty:t,getOwnPropertyNames:n,getOwnPropertyDescriptor:o}=Object,s=Object.prototype.hasOwnProperty,i=new WeakMap,a=(l)=>{var c=i.get(l),h;if(c)return c;if(c=t({},"__esModule",{value:!0}),l&&typeof l==="object"||typeof l==="function")n(l).map((p)=>!s.call(c,p)&&t(c,p,{get:()=>l[p],enumerable:!(h=o(l,p))||h.enumerable}));return i.set(l,c),c},u=(l,c)=>{for(var h in c)t(l,h,{get:c[h],enumerable:!0,configurable:!0,set:(p)=>c[h]=()=>p})},m={};u(m,{splitWithQuotes:()=>y,splitNested:()=>g}),r.exports=a(m);var g=(l,c,h="(",p=")")=>{let w=0,f="",M=[];for(let d of l){if(f+=d,d===h)w++;if(d===p)w--;if(w===0&&d===c)M.push(f.slice(0,-1)),f=""}if(f)M.push(f);return M},y=(l,c=",")=>{let h=[],p=l.length,w=c.length,f=0,M=(d)=>{if(d+w>p)return!1;for(let O=0;O<w;O++)if(l[d+O]!==c[O])return!1;return!0};while(f<p){while(f<p&&l[f]===" ")f++;if(f>=p)break;let d="",O=l[f]==='"'||l[f]==="'";if(O){let S=l[f++];while(f<p&&l[f]!==S)d+=l[f++];if(f<p)f++}else{while(f<p&&!M(f)){let S=l[f];if(S==='"'||S==="'"){d+=S,f++;while(f<p&&l[f]!==S)d+=l[f++];if(f<p)d+=l[f++]}else d+=l[f++]}d=d.trim()}if(d)h.push({value:d,quoted:O});if(M(f))f+=w}return h}}),st=tt(ot(),1),G;((e)=>{e[e.Explore=0]="Explore",e[e.SkipSiblings=1]="SkipSiblings",e[e.NoExplore=2]="NoExplore",e[e.ReplaceParent=3]="ReplaceParent",e[e.DeleteParent=4]="DeleteParent",e[e.MergeParent=5]="MergeParent",e[e.ReplaceItem=6]="ReplaceItem",e[e.DeleteItem=7]="DeleteItem"})(G||={});class A{action;by;skipSiblings;reexplore;constructor(e,r,t,n){this.action=e,this.by=r,this.skipSiblings=t,this.reexplore=n}static _explore=new A(0);static _noExplore=new A(2);static _skipSiblings=new A(1);static _deleteParent=new A(4);static ReplaceParent(e,r){return new A(3,e,void 0,r)}static SkipSiblings(){return A._skipSiblings}static Explore(){return A._explore}static NoExplore(){return A._noExplore}static DeleteParent(){return A._deleteParent}static MergeParent(e){return new A(5,e)}static ReplaceItem(e,r){return new A(6,e,r)}static DeleteItem(e){return new A(7,void 0,e)}}var at=async(e,r)=>{let t=new WeakSet,n=[],o=[],s=async(a,u,m)=>{let g=a===null,y=g?A.Explore():await r({key:a,value:u,path:n,parent:m,parents:o});if(u&&typeof u==="object"&&y.action===0){if(t.has(u))return y;if(t.add(u),!g)n.push(a),o.push(m);let l=u;while(await i(l,a,m))l=m[a];if(!g)o.pop(),n.pop()}return y},i=async(a,u,m)=>{let g=Object.keys(a),y=g.length;for(let l=0;l<y;l++){let c=g[l],h=a[c],p=await s(c,h,a),w=p.action;if(w===0||w===2)continue;if(w===6){if(a[c]=p.by,p.skipSiblings)return;continue}if(w===7){if(delete a[c],p.skipSiblings)return;continue}if(w===1)return;if(w===3){if(u===null)throw Error("Cannot replace root object");if(m[u]=p.by,p.reexplore)return!0;return}if(w===4){if(u===null)throw Error("Cannot delete root object");delete m[u];return}if(w===5)delete a[c],Object.assign(a,p.by)}};await s(null,e,null)},it=Object.create,{getPrototypeOf:lt,defineProperty:Ze,getOwnPropertyNames:ut}=Object,ft=Object.prototype.hasOwnProperty,pt=(e,r,t)=>{t=e!=null?it(lt(e)):{};let n=r||!e||!e.__esModule?Ze(t,"default",{value:e,enumerable:!0}):t;for(let o of ut(e))if(!ft.call(n,o))Ze(n,o,{get:()=>e[o],enumerable:!0});return n},ct=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),mt=ct((e,r)=>{var{defineProperty:t,getOwnPropertyNames:n,getOwnPropertyDescriptor:o}=Object,s=Object.prototype.hasOwnProperty,i=new WeakMap,a=(l)=>{var c=i.get(l),h;if(c)return c;if(c=t({},"__esModule",{value:!0}),l&&typeof l==="object"||typeof l==="function")n(l).map((p)=>!s.call(c,p)&&t(c,p,{get:()=>l[p],enumerable:!(h=o(l,p))||h.enumerable}));return i.set(l,c),c},u=(l,c)=>{for(var h in c)t(l,h,{get:c[h],enumerable:!0,configurable:!0,set:(p)=>c[h]=()=>p})},m={};u(m,{splitWithQuotes:()=>y,splitNested:()=>g}),r.exports=a(m);var g=(l,c,h="(",p=")")=>{let w=0,f="",M=[];for(let d of l){if(f+=d,d===h)w++;if(d===p)w--;if(w===0&&d===c)M.push(f.slice(0,-1)),f=""}if(f)M.push(f);return M},y=(l,c=",")=>{let h=[],p=l.length,w=c.length,f=0,M=(d)=>{if(d+w>p)return!1;for(let O=0;O<w;O++)if(l[d+O]!==c[O])return!1;return!0};while(f<p){while(f<p&&l[f]===" ")f++;if(f>=p)break;let d="",O=l[f]==='"'||l[f]==="'";if(O){let S=l[f++];while(f<p&&l[f]!==S)d+=l[f++];if(f<p)f++}else{while(f<p&&!M(f)){let S=l[f];if(S==='"'||S==="'"){d+=S,f++;while(f<p&&l[f]!==S)d+=l[f++];if(f<p)d+=l[f++]}else d+=l[f++]}d=d.trim()}if(d)h.push({value:d,quoted:O});if(M(f))f+=w}return h}}),gt=pt(mt(),1),yt=/^\[([^=\]]*)([=]*)([^\]]*)\]$/,dt=/^([^[\]]*)\[([^\]]*)]$/,Oe=(e,r,t,n)=>{if(e.startsWith("{")&&e.endsWith("}")){let o=e.substring(1,e.length-1);return K(r,o,t)?.toString()}return n?e:void 0},wt=(e,r,t,n)=>{let o=Oe(r,t,n);if(o)return K(e,o,n);let s=yt.exec(r);if(s){let[,a,u,m]=s,g=Oe(a.trim(),t,n,!0),y=Oe(m.trim(),t,n,!0);if(Array.isArray(e)&&(u==="="||u==="==")&&g)return e.find((l)=>l?.[g]==y)}let i=dt.exec(r);if(i){let[,a,u]=i;return e?.[a]?.[u]}return e?.[r]},K=(e,r,t)=>{let n=void 0,o=void 0,s=r??"",i=(y)=>{if(!y)return[y,!1];return y.endsWith("?")?[y.substring(0,y.length-1),!0]:[y,!1]},a=(y,l)=>{let[c,h]=i(l.pop());if(!c){if(t?.set!==void 0&&o!==void 0&&n!==void 0)n[o]=t.set;return y}let p=wt(y,c,e,t);if(p===void 0){if(h||t?.optional||t?.defaultValue!==void 0)return;throw Error(`Unknown path element: "${c}" in "${s}"`)}return n=y,o=c,a(p,l)},u=gt.splitNested(s,t?.separator??".","{","}"),m=void 0;if(u.length>0&&u[u.length-1].startsWith("?="))m=u.pop()?.substring(2);u.reverse();let g=a(e,u);if(g===void 0)return m??t?.defaultValue;return g},Ge=(e,r)=>{if(typeof e.value==="string"){if(e.quoted)return e.value;if(e.value.startsWith("[")&&e.value.endsWith("]")){let t=e.value.slice(1,-1);if(t.trim()==="")return[];return t.split(";").map((n)=>{let o=n.trim();if(!isNaN(+o))return+o;return o})}if(e.value.startsWith("{")&&e.value.endsWith("}")){if(e.value.slice(1,-1).trim()==="")return{}}if(e.value==="null")return null;if(e.value==="undefined")return;if(e.value.startsWith("@"))return e.value.slice(1);if(!isNaN(+e.value))return+e.value}return r(e.value)},ae=(e,r,t,n,o,s)=>{let i=n?.(e)??e,a=o(i);if(a[0])return a[1];if(!r){let u=K(t,e),m=o(u);if(m[0])return m[1]}throw Error(s)},Ke=(e,r,t,n,o)=>{let s=typeof e.types==="function"?e.types(n,r.value,o):e.types?.[n];if(!s||s==="ref")return Ge(r,(a)=>K(t,a));let i=Ge(r,()=>r.value);if(Array.isArray(s)){if(!s.includes(i))throw Error(`Argument ${n.toString()} must be one of [${s.join(", ")}]: ${i}`);return i}if(typeof s==="string"){if(s.endsWith("?")){let a=s.slice(0,-1);if(r.value==="null")return A.ReplaceItem(null);if(r.value==="undefined")return A.ReplaceItem(void 0);if(r.value==="")return"";s=a}switch(s){case"any":return i;case"array":return ae(i,r.quoted,t,null,(a)=>[Array.isArray(a),a],`Argument ${n.toString()} must be an array: ${i}`);case"object":return ae(i,r.quoted,t,null,(a)=>[typeof a==="object"&&a!==null,a],`Argument ${n.toString()} must be an object: ${i}`);case"number":return ae(i,r.quoted,t,(a)=>Number(a),(a)=>[!isNaN(a),a],`Argument ${n.toString()} must be a number: ${i}`);case"boolean":return ae(i,r.quoted,t,null,(a)=>{if([!0,"true","1",1,"yes","on"].includes(a))return[!0,!0];if([!1,"false","0",0,"no","off"].includes(a))return[!0,!1];if([null,"null","undefined",void 0,""].includes(a))return[!0,!1];if(Array.isArray(a))return[!0,a.length>0];return[!1,!1]},`Argument ${n.toString()} must be a boolean: ${i}`);case"string":return i.toString();default:throw Error(`Unknown type for argument ${n.toString()}: ${s}`)}}return s(i,t,n,r.quoted)},V=(e,r)=>{let t=e?.[r];if(t===void 0)throw Error(`Unhandled field processor type: ${r}`);return typeof t==="function"?{options:{},fn:t}:{options:t,fn:t.fn}},Ve=(e)=>!e.quoted&&e.value.startsWith("."),bt=(e)=>{let r={};for(let t of e){if(!Ve(t))continue;let n=t.value.indexOf("="),o=n>-1?t.value.slice(1,n):t.value.slice(1),s=n>-1?t.value.slice(n+1):"";if(s.length>=2){let i=s[0],a=s[s.length-1];if(i==='"'&&a==='"'||i==="'"&&a==="'")s=s.slice(1,-1)}if(!r[o])r[o]=[];r[o].push(s)}return r},ie=(e,r,t)=>{let n=st.splitWithQuotes(e??""),o=bt(n),s=n.filter((a)=>!Ve(a)),i=r.options.processArgs===!1?[]:s.map((a,u)=>Ke(r.options,a,t,u,s));return{rawArgs:s,parsedArgs:i,tags:o}},ht=(e)=>{return e!==null&&typeof e==="object"&&"action"in e},vt=(e,r)=>r.keys!==void 0&&e.key.startsWith(".")&&r.keys[e.key.substring(1)]!==void 0,Mt=async(e,r,t,n)=>{let{key:o,parent:s}=e,i=V(n.keys,o.substring(1));if(i.options.processArgs!==!1&&(typeof i.options.types==="function"||i.options.types?.[0]!==void 0))e.value=Ke(i.options,{value:e.value,quoted:!1},t,0,[]);if(typeof e.value!=="string")await j(e.value,{...n,root:{...t,parent:e.parent,parents:e.parents},filters:[...n.filters??[],...i.options.filters??[]]});let a=await i.fn({path:r,root:t,parent:s,key:o,options:n,value:e.value,args:[],rawArgs:[],tags:{}});return ht(a)?a:A.ReplaceParent(a)},He=(e)=>{let r=[],t=0;while(t<e.length)if(e[t]==="$"&&e[t+1]==="("&&(t===0||e[t-1]!=="\\")){let n=t;t+=2;let o=1;for(;t<e.length;t++)if(e[t]==="(")o++;else if(e[t]===")"){if(o--,o===0){r.push([n,t]);break}}if(o!==0)throw Error(`Unmatched opening $( at position ${n.toString()}`);t++}else t++;return r},Ae=Symbol.for("@homedev/fields:OverrideResult"),Et=(e)=>({[Ae]:!0,value:e}),Ot=(e)=>{return e!==null&&typeof e==="object"&&Ae in e&&e[Ae]===!0},xe=async(e,r,t)=>{for(let n=r.length-1;n>=0;n--){let[o,s]=r[n],i=e.slice(o+2,s),a=await xe(i,He(i),t);if(typeof a==="object")return a;let u=await t(a,e);if(Ot(u))return u.value;e=e.slice(0,o)+u+e.slice(s+1)}return e},At=async(e,r)=>xe(e,He(e),r),kt=(e)=>{let r=/%{\s*section\s+([\w\d_-]+)\s*}([\s\S]*?)%{\s*endsection\s+\1\s*}/g,t,n=[],o=[];while((t=r.exec(e))!==null){let[a,u,m]=t,g=t.index,y=g+a.length;if(e[y]===`
2
- `)y++;o.push({start:g,end:y,name:u,body:m})}let s=[],i=0;for(let{start:a,end:u,name:m,body:g}of o){if(a>i)s.push(e.slice(i,a));i=u;let y={},l=g,c=/(^|\r?\n)[ \t]*---[ \t]*(\r?\n|$)/m.exec(g);if(c){let h=g.slice(0,c.index),p=c.index+c[0].length;l=g.slice(p);let w=h.trim();if(w.length>0)try{y=Bun.YAML.parse(w)??{}}catch(f){throw Error(`Failed to parse YAML config for section ${m}: ${f.message}`)}}else if(/^\r?\n/.test(l))l=l.replace(/^\r?\n/,"");if(/[ \t]*\r?\n$/.test(l))l=l.replace(/[\t]*\r?\n$/,"");n.push({name:m,config:y,content:l})}if(i<e.length)s.push(e.slice(i));return{sections:n,content:s.join("")}},St=async(e,r,t,n)=>{let o=r?.onSection?kt(e):null;if(!o)return[e,null];let s=o.content;for(let i of o.sections){let a=await ke(t,i.name,n,r);if(a.action===G.ReplaceItem)i.name=a.by;if(Object.keys(i.config).length>0){if(await r.onSectionConfig?.(i,t,n,r)!==!1)await j(i.config,r)}let u=await r.onSection(i,t,n,r);if(i.trim)i.content=i.content.trim();if(i.indent)i.content=i.content.split(`
3
- `).map((m)=>" ".repeat(i.indent)+m).join(`
4
- `);if(u===!0||i.show)s=s+i.content;else if(typeof u==="string")s=s+u}return[s,o]},jt=(e)=>{return e!==null&&typeof e==="object"&&"action"in e},Dt=/([\w\d.-_/]+):(.+)/,Rt=async(e,r,t,n)=>{let o=await(async()=>{let s=Dt.exec(e);if(!s)return await K(r,e);let[i,a,u]=s,m=V(n.sources,a),g=ie(u,m,r);return await m.fn({args:g.parsedArgs,rawArgs:g.rawArgs,tags:g.tags,key:a,options:n,root:r,path:t,value:null})})();if(o===null||o===void 0)return"";if(typeof o==="object")return Et(o);return o},ke=async(e,r,t,n)=>{let[o,s]=await St(r,n,e,t),i=await At(o,(a)=>Rt(a,t,e,n));if(jt(i))return i;if(i===o){if(s?.sections.length)return A.ReplaceItem(i);return A.Explore()}if(typeof i==="string"){let a=await ke(e,i,t,n);if(a.action!==G.Explore)return a}return A.ReplaceItem(i)},j=async(e,r)=>{return r??={},await at(e,async(t)=>{let n=[...t.path,t.key].join(".");if(r?.filters?.length&&r.filters.some((a)=>a.test(n)))return A.NoExplore();let o=t.path.length===0,s=t.parents.length>0?t.parents.toReversed():[];if(o){if(s.length>0)throw Error("Root object should not have a parent");s=r?.root?.parents?[r.root.parent,...r.root.parents.toReversed()]:[]}let i={...e,...r.root,this:t.parent,parent:s.length>0?s[0]:null,parents:s};try{if(t.key.startsWith("$"))return A.NoExplore();let a=A.Explore();if(typeof t.value==="string")switch(a=await ke(n,t.value,i,r),a.action){case G.Explore:break;case G.ReplaceItem:t.value=a.by;break;default:return a}if(vt(t,r))a=await Mt(t,n,i,r);return a}catch(a){throw Error(`${a.message}
5
- (${n})`)}}),e},H=(e,r)=>r?{fn:(t)=>e(...t.args),types:r}:(t)=>e(...t.args),Se=(e,r)=>Object.fromEntries(e.map((t)=>[t.name,H(t,r?.types?.[t.name])])),D=(e,r)=>Object.fromEntries((r?.keys??Object.keys(e)).map((t)=>[t,H(e[t],r?.types?.[t])]));var $e={};R($e,{writeOutputs:()=>P,writeOutput:()=>ue,writeFormat:()=>le,locate:()=>C,loadFormat:()=>x,importList:()=>fe,importGlob:()=>Re,globMap:()=>q,exists:()=>U});import qe from"fs/promises";import De from"path";import $t from"path";import _t from"fs/promises";import er from"fs/promises";import Pe from"path";import Xe from"path";import ze from"path";var U=async(e)=>{try{return await qe.access(e,qe.constants.R_OK),!0}catch{return!1}},C=async(e,r)=>{let t=!De.isAbsolute(e)&&r?["",...r]:[""];for(let n of t){let o=De.join(n,e);if(await U(o))return De.resolve(o)}throw Error(`File not found: "${e}"`)},x=async(e,r)=>{let t=await C(e,r?.dirs),n=await Bun.file(t).text(),o=$t.dirname(t),s={"[.]json$":JSON.parse,"[.](yml|yaml)$":Bun.YAML.parse,"[.]toml$":Bun.TOML.parse,...r?.parsers},i=Object.entries(s).find((a)=>t.match(a[0]));if(!i)throw Error(`Unhandled file type: ${e}`);return{content:i[1](n),fullPath:t,folderPath:o}},le=async(e,r,t="text")=>{switch(t){case"yaml":await Bun.write(e,Bun.YAML.stringify(r));break;case"json":await Bun.write(e,JSON.stringify(r));break;case"text":default:await Bun.write(e,r.toString())}},q=async(e,r)=>{if(typeof e==="string"&&!e.includes("*"))return await r.map(e,0,[]);let t=await Array.fromAsync(_t.glob(e,{cwd:r.cwd})),n=r.filter?t.filter(r.filter):t;return await Promise.all(n.map(r.map))},P=async(e,r)=>{if(r?.targetDirectory&&r?.removeFirst)try{await er.rm(r?.targetDirectory,{recursive:!0,force:!0})}catch(t){throw Error(`Failed to clean the output directory: ${t.message}`)}for(let t of e)await ue(t,r)},ue=async(e,r)=>{let t=Pe.join(r?.targetDirectory??".",e.name),n=Pe.dirname(t);if(r?.classes){if(e.class!==void 0&&!r.classes.includes(e.class))return;if(r.classRequired&&e.class===void 0)throw Error(`Output "${e.name}" is missing class field`)}if(r?.writing?.(e)===!1)return;try{await er.mkdir(n,{recursive:!0})}catch(o){throw Error(`Failed to create target directory "${n}" for output "${t}": ${o.message}`)}try{await le(t,e.value,e.type??"text")}catch(o){throw Error(`Failed to write output "${t}": ${o.message}`)}},rr=(e)=>e?ze.isAbsolute(e)?e:ze.join(process.cwd(),e):process.cwd(),fe=async(e,r)=>{let t=[];for(let n of e)try{let o=!Xe.isAbsolute(n)?Xe.join(rr(r?.cwd),n):n;if(r?.filter?.(o)===!1)continue;let s=await import(o);if(r?.resolveDefault==="only"&&!s.default)throw Error(`Module ${n} does not have a default export`);let i=r?.resolveDefault?s.default??s:s,a=r?.map?await r.map(i,n):i;if(a!==void 0)t.push(a)}catch(o){if(r?.fail?.(n,o)===!1)continue;throw Error(`Failed to import module ${n}: ${o.message??o}`)}return t},Re=async(e,r)=>{let t=[];for(let n of e){let o=await Array.fromAsync(new Bun.Glob(n).scan({cwd:rr(r?.cwd),absolute:!0}));t.push(...await fe(o,r))}return t};var We={};R(We,{toObjectWithKey:()=>_e,toObject:()=>X,toList:()=>W,sortBy:()=>Le,nonNullMap:()=>Ne,defined:()=>Fe,deepClone:()=>$,asyncMap:()=>Ce});var W=(e,r="name")=>Object.entries(e).map(([t,n])=>({[r]:t,...n})),_e=(e,r="name")=>Object.fromEntries(e.map((t)=>[t[r],t])),X=(e,r="name")=>Object.fromEntries(e.map((t)=>{let{[r]:n,...o}=t;return[n,o]})),Ne=(e,r)=>{if(!e)return[];let t=[],n=0;for(let o of e)if(o!==null&&o!==void 0)t.push(r(o,n,e)),n++;return t},Fe=(e,r="Value is undefined")=>{if(e===void 0||e===null)throw Error(r);return e},Le=(e,r,t=(n,o)=>n-o)=>e.slice().sort((n,o)=>t(r(n),r(o))),Ce=async(e,r)=>Promise.all(e.map(r)),$=(e)=>{if(typeof structuredClone<"u")try{return structuredClone(e)}catch{}return JSON.parse(JSON.stringify(e))};var Jr={};R(Jr,{defaultProcessors:()=>Te});var tr={};R(tr,{navigate:()=>ce,find:()=>Ie,NavigateResult:()=>b,NavigateAction:()=>pe});var pe;((e)=>{e[e.Explore=0]="Explore",e[e.SkipSiblings=1]="SkipSiblings",e[e.NoExplore=2]="NoExplore",e[e.ReplaceParent=3]="ReplaceParent",e[e.DeleteParent=4]="DeleteParent",e[e.MergeParent=5]="MergeParent",e[e.ReplaceItem=6]="ReplaceItem",e[e.DeleteItem=7]="DeleteItem"})(pe||={});class b{action;by;skipSiblings;reexplore;constructor(e,r,t,n){this.action=e,this.by=r,this.skipSiblings=t,this.reexplore=n}static _explore=new b(0);static _noExplore=new b(2);static _skipSiblings=new b(1);static _deleteParent=new b(4);static ReplaceParent(e,r){return new b(3,e,void 0,r)}static SkipSiblings(){return b._skipSiblings}static Explore(){return b._explore}static NoExplore(){return b._noExplore}static DeleteParent(){return b._deleteParent}static MergeParent(e){return new b(5,e)}static ReplaceItem(e,r){return new b(6,e,r)}static DeleteItem(e){return new b(7,void 0,e)}}var ce=async(e,r)=>{let t=new WeakSet,n=[],o=[],s=async(a,u,m)=>{let g=a===null,y=g?b.Explore():await r({key:a,value:u,path:n,parent:m,parents:o});if(u&&typeof u==="object"&&y.action===0){if(t.has(u))return y;if(t.add(u),!g)n.push(a),o.push(m);let l=u;while(await i(l,a,m))l=m[a];if(!g)o.pop(),n.pop()}return y},i=async(a,u,m)=>{let g=Object.keys(a),y=g.length;for(let l=0;l<y;l++){let c=g[l],h=a[c],p=await s(c,h,a),w=p.action;if(w===0||w===2)continue;if(w===6){if(a[c]=p.by,p.skipSiblings)return;continue}if(w===7){if(delete a[c],p.skipSiblings)return;continue}if(w===1)return;if(w===3){if(u===null)throw Error("Cannot replace root object");if(m[u]=p.by,p.reexplore)return!0;return}if(w===4){if(u===null)throw Error("Cannot delete root object");delete m[u];return}if(w===5)delete a[c],Object.assign(a,p.by)}};await s(null,e,null)},Ie=async(e,r)=>{let t=[];return await ce(e,(n)=>{if(r([...n.path,n.key].join("."),n.value))t.push(n.value);return b.Explore()}),t};var nr=(e)=>({output:(r)=>{delete r.parent[r.key];for(let t of Array.isArray(r.value)?r.value:[r.value])if(typeof t==="string")e.output({name:t,value:r.parent});else e.output({...t,value:t.value??r.parent});return b.SkipSiblings()}});import Nt from"path";var or=(e)=>({load:async(r)=>{let t=r.options.globalContext;for(let{file:n}of Array.isArray(r.value)?r.value:[r.value]){if(!n)throw Error("File reference required");await e.load(n,t.file&&Nt.dirname(t.file))}return b.DeleteItem()}});var sr={};R(sr,{mergeAll:()=>B,merge:()=>F});var F=(e,r,t)=>{for(let n of Object.keys(r)){if(e[n]===void 0)continue;let o=r[n],s=e[n];if(typeof s!==typeof o||Array.isArray(s)!==Array.isArray(o)){let a=t?.mismatch?.(n,s,o,e,r);if(a!==void 0){r[n]=a;continue}throw Error(`Type mismatch: ${n}`)}let i=t?.mode?.(n,s,o,e,r)??r[".merge"]??"merge";switch(i){case"source":r[n]=s;continue;case"target":continue;case"skip":delete r[n],delete e[n];continue;case"merge":break;default:throw Error(`Unknown merge mode: ${i}`)}if(typeof s==="object")if(Array.isArray(s))o.push(...s);else{if(t?.navigate?.(n,s,o,e,r)===!1)continue;F(s,o,t)}else{if(s===o)continue;let a=t?.conflict?.(n,s,o,e,r);r[n]=a===void 0?o:a}}for(let n of Object.keys(e))if(r[n]===void 0)r[n]=e[n]},B=(e,r)=>{let t={};for(let n of e.toReversed())F(n,t,r);return t};var ar={};R(ar,{CacheManager:()=>me});class me{cache=new Map;maxSize;constructor(e=100){this.maxSize=e}get(e){return this.cache.get(e)}set(e,r){this.evictIfNeeded(),this.cache.set(e,r)}has(e){return this.cache.has(e)}clear(){this.cache.clear()}setMaxSize(e){this.maxSize=e}size(){return this.cache.size}evictIfNeeded(){if(this.cache.size>=this.maxSize){let e=null,r=1/0;for(let[t,n]of this.cache.entries())if(n.timestamp<r)r=n.timestamp,e=t;if(e)this.cache.delete(e)}}}var lr={};R(lr,{select:()=>v});var Ft=Object.create,{getPrototypeOf:Lt,defineProperty:ir,getOwnPropertyNames:Ct}=Object,Wt=Object.prototype.hasOwnProperty,It=(e,r,t)=>{t=e!=null?Ft(Lt(e)):{};let n=r||!e||!e.__esModule?ir(t,"default",{value:e,enumerable:!0}):t;for(let o of Ct(e))if(!Wt.call(n,o))ir(n,o,{get:()=>e[o],enumerable:!0});return n},Ut=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Bt=Ut((e,r)=>{var{defineProperty:t,getOwnPropertyNames:n,getOwnPropertyDescriptor:o}=Object,s=Object.prototype.hasOwnProperty,i=new WeakMap,a=(l)=>{var c=i.get(l),h;if(c)return c;if(c=t({},"__esModule",{value:!0}),l&&typeof l==="object"||typeof l==="function")n(l).map((p)=>!s.call(c,p)&&t(c,p,{get:()=>l[p],enumerable:!(h=o(l,p))||h.enumerable}));return i.set(l,c),c},u=(l,c)=>{for(var h in c)t(l,h,{get:c[h],enumerable:!0,configurable:!0,set:(p)=>c[h]=()=>p})},m={};u(m,{splitWithQuotes:()=>y,splitNested:()=>g}),r.exports=a(m);var g=(l,c,h="(",p=")")=>{let w=0,f="",M=[];for(let d of l){if(f+=d,d===h)w++;if(d===p)w--;if(w===0&&d===c)M.push(f.slice(0,-1)),f=""}if(f)M.push(f);return M},y=(l,c=",")=>{let h=[],p=l.length,w=c.length,f=0,M=(d)=>{if(d+w>p)return!1;for(let O=0;O<w;O++)if(l[d+O]!==c[O])return!1;return!0};while(f<p){while(f<p&&l[f]===" ")f++;if(f>=p)break;let d="",O=l[f]==='"'||l[f]==="'";if(O){let S=l[f++];while(f<p&&l[f]!==S)d+=l[f++];if(f<p)f++}else{while(f<p&&!M(f)){let S=l[f];if(S==='"'||S==="'"){d+=S,f++;while(f<p&&l[f]!==S)d+=l[f++];if(f<p)d+=l[f++]}else d+=l[f++]}d=d.trim()}if(d)h.push({value:d,quoted:O});if(M(f))f+=w}return h}}),Tt=It(Bt(),1),Jt=/^\[([^=\]]*)([=]*)([^\]]*)\]$/,Yt=/^([^[\]]*)\[([^\]]*)]$/,Ue=(e,r,t,n)=>{if(e.startsWith("{")&&e.endsWith("}")){let o=e.substring(1,e.length-1);return v(r,o,t)?.toString()}return n?e:void 0},Qt=(e,r,t,n)=>{let o=Ue(r,t,n);if(o)return v(e,o,n);let s=Jt.exec(r);if(s){let[,a,u,m]=s,g=Ue(a.trim(),t,n,!0),y=Ue(m.trim(),t,n,!0);if(Array.isArray(e)&&(u==="="||u==="==")&&g)return e.find((l)=>l?.[g]==y)}let i=Yt.exec(r);if(i){let[,a,u]=i;return e?.[a]?.[u]}return e?.[r]},v=(e,r,t)=>{let n=void 0,o=void 0,s=r??"",i=(y)=>{if(!y)return[y,!1];return y.endsWith("?")?[y.substring(0,y.length-1),!0]:[y,!1]},a=(y,l)=>{let[c,h]=i(l.pop());if(!c){if(t?.set!==void 0&&o!==void 0&&n!==void 0)n[o]=t.set;return y}let p=Qt(y,c,e,t);if(p===void 0){if(h||t?.optional||t?.defaultValue!==void 0)return;throw Error(`Unknown path element: "${c}" in "${s}"`)}return n=y,o=c,a(p,l)},u=Tt.splitNested(s,t?.separator??".","{","}"),m=void 0;if(u.length>0&&u[u.length-1].startsWith("?="))m=u.pop()?.substring(2);u.reverse();let g=a(e,u);if(g===void 0)return m??t?.defaultValue;return g};var ge=(e)=>{if(typeof e.value==="string")return e.parent;let r=e.value.model;if(!r)return e.parent;if(typeof r==="string")return v(e.root,r);return r};var ye=(e)=>{if(typeof e.value==="string")return v(e.root,e.value);if(Array.isArray(e.value))return e.value;let r=e.value;if(typeof r.from==="string")return v(e.root,r.from);return r.from};var de=async(e,r)=>{let t=e.value;if(t.selector===void 0)return r;if(typeof t.selector!=="string"){let n=JSON.parse(JSON.stringify(t.selector));return await j(n,{...e.options,root:{...e.root,result:r}}),n}return await v({...e.root,result:r},t.selector)};var ur={};R(ur,{PathManager:()=>I});import T from"path";class I{constructor(){}static normalize(e){return T.normalize(T.resolve(e))}static resolveInContext(e,r){let t=r??process.cwd(),n=T.isAbsolute(e)?e:T.join(t,e);return this.normalize(n)}static isDirectoryPattern(e){return e.endsWith("/")}static isGlobPattern(e){return e.includes("*")}static toAbsolute(e,r){if(T.isAbsolute(e))return e;return T.join(r??process.cwd(),e)}}var fr={};R(fr,{conditionPredicatesTypes:()=>z,conditionPredicates:()=>_});var _={and:(...e)=>e.every((r)=>!!r),or:(...e)=>e.some((r)=>!!r),xor:(...e)=>e.filter((r)=>!!r).length===1,true:(...e)=>e.every((r)=>!!r),false:(...e)=>e.every((r)=>!r),eq:(...e)=>e.every((r)=>r===e[0]),ne:(...e)=>e.some((r)=>r!==e[0]),lt:(...e)=>typeof e[0]==="number"&&e.slice(1).every((r)=>typeof r==="number"&&e[0]<r),le:(...e)=>typeof e[0]==="number"&&e.slice(1).every((r)=>typeof r==="number"&&e[0]<=r),gt:(...e)=>typeof e[0]==="number"&&e.slice(1).every((r)=>typeof r==="number"&&e[0]>r),ge:(...e)=>typeof e[0]==="number"&&e.slice(1).every((r)=>typeof r==="number"&&e[0]>=r),in:(e,r)=>{if(Array.isArray(r))return r.includes(e);if(typeof e==="string")return e.includes(r);if(Array.isArray(e))return e.includes(r);return!1},notin:(e,r)=>!_.in(e,r),contains:(e,r)=>e.includes(r),notcontains:(e,r)=>!e.includes(r),containsi:(e,r)=>e.toLowerCase().includes(r.toLowerCase()),notcontainsi:(e,r)=>!e.toLowerCase().includes(r.toLowerCase()),null:(...e)=>e.every((r)=>r===null||r===void 0),notnull:(...e)=>e.every((r)=>r!==null&&r!==void 0),empty:(...e)=>e.every((r)=>r===""),notempty:(...e)=>e.every((r)=>r!==""),nullorempty:(...e)=>e.every((r)=>r===null||r===void 0||r===""),notnullorempty:(...e)=>e.every((r)=>r!==null&&r!==void 0&&r!=="")},z={and:()=>"boolean",or:()=>"boolean",xor:()=>"boolean",true:()=>"boolean",false:()=>"boolean",lt:()=>"number",le:()=>"number",gt:()=>"number",ge:()=>"number"};var pr=()=>({each:{filters:[/select|model/],fn:async(e)=>{let r=e.value;delete e.parent[e.key];let t=await ye(e),n=await ge(e);if(!Array.isArray(t))throw Error('Key "each" requires a source list');if(n===void 0)throw Error('Key "each" must define a model');if(r.extend?.model)n=B([r.model,...Array.isArray(r.extend.model)?r.extend.model:[r.extend.model]]);let o=[];for(let s=0;s<t.length;s++){let i=$(n);if(await j(i,{...e.options,root:{...e.root,index:s,item:t[s],instance:i}}),r.extend?.result){let a=r.extend.result;i=B([i,...Array.isArray(a)?a:[a]])}o.push(await de(e,i))}return o}}});var cr=()=>({map:{filters:[/select|model/],fn:async(e)=>{delete e.parent[e.key];let r=await ye(e),t=await ge(e);if(!Array.isArray(r))throw Error('Key "map" requires a source list');if(t===void 0)throw Error('Key "map" must define a model');let n=[];for(let o=0;o<r.length;o++){let s=$(t);await j(s,{...e.options,root:{...e.root,index:o,item:r[o],instance:s}}),n.push(await de(e,s))}return n}}});var mr=()=>({concat:async(e)=>{let r=[];for(let t of Array.isArray(e.value)?e.value:[e.value])r.push(...await v(e.root,t));return r.filter((t)=>t!==void 0)}});var gr=()=>({extends:async(e)=>{let r=async(t,n)=>{for(let o of Array.isArray(n)?n:[n]){let s=await v(e.root,o),i=$(s);if(i[e.key])await r(i,i[e.key]);await j(i,{...e.options}),F(i,t),delete t[e.key]}};return await r(e.parent,e.value),b.Explore()},group:(e)=>{let r=e.root.parent,t=e.value,{items:n,...o}=t;return t.items.forEach((s)=>r.push({...o,...s})),b.DeleteParent()}});var yr=(e)=>({skip:{types:{0:"boolean"},fn:(r)=>r.value?b.DeleteParent():b.DeleteItem()},metadata:({path:r,value:t})=>{return e.metadata(r,t),b.DeleteItem()},if:{types:{0:"boolean"},fn:async(r)=>{let t=r.parent[".then"],n=r.parent[".else"];if(t!==void 0)delete r.parent[".then"];if(n!==void 0)delete r.parent[".else"];let o=r.value?t:n;if(o===void 0)return b.DeleteItem();if(typeof o==="string")return(await j({value:o},{...r.options,root:{...r.root}})).value;return b.ReplaceParent(o,!0)}},switch:(r)=>{let t=r.value;if(!t.cases)throw Error("Missing cases for switch");if(t.cases[t.from]!==void 0)return b.ReplaceParent(t.cases[t.from],!0);if(t.default!==void 0)return b.ReplaceParent(t.default,!0);return b.DeleteParent()}});var dr=()=>({from:async({root:e,parent:r,value:t})=>{let n=await v(e,t);if(n===null||n===void 0)throw Error(`Unable to resolve reference: ${t}`);if(r.content){if(Array.isArray(r.content)&&Array.isArray(n))return[...n,...r.content];return F(n,r.content),r.content}return n}});import wr from"node:vm";var br=(e)=>({modules:async(r)=>{for(let[t,n]of Object.entries(r.value)){let o=wr.createContext({console,objector:e,document:r.root}),s=new wr.SourceTextModule(n,{identifier:t,context:o});await s.link((i)=>{throw Error(`Module ${i} is not allowed`)}),await s.evaluate(),e.sources(Object.fromEntries(Object.entries(s.namespace).map(([i,a])=>[`${t}.${i}`,(u)=>a(u,...u.args)])))}return b.DeleteItem()}});var hr=()=>({try:{fn:(e)=>{let r=e.parent[".catch"];if(r!==void 0)delete e.parent[".catch"];try{return e.value}catch(t){if(r!==void 0)return r;return b.DeleteItem()}}}});var vr=()=>({let:{fn:(e)=>{let r=e.value;return Object.assign(e.root,r),b.DeleteItem()}}});var Mr=()=>({tap:{fn:(e)=>{return console.log(`[tap] ${e.path}:`,e.value),e.value}}});import Er from"fs/promises";import ee from"path";var Or=(e)=>({include:async(r)=>{let{file:t}=r.options.globalContext;return await q(r.args[0],{cwd:ee.dirname(t),filter:(n)=>ee.basename(t)!==n,map:async(n)=>e.load(n,ee.dirname(t),r.root)})},exists:async({args:[r]})=>await U(r),file:async(r)=>await Er.readFile(await C(r.args[0],e.getIncludeDirectories())).then((t)=>t.toString()),scan:async(r)=>{let t=[],o=(()=>{let a=r.args[2]??["**/node_modules/**"],u=typeof a==="string"?a.split(",").map((m)=>m.trim()):a;if(!Array.isArray(u))throw Error("Scan exclusion must be a list");return u})(),{file:s}=r.options.globalContext,i=r.args[1]?await C(r.args[1],e.getIncludeDirectories()):ee.dirname(s);for await(let a of Er.glob(r.args[0],{cwd:i,exclude:(u)=>o.some((m)=>ee.matchesGlob(u,m))}))t.push(a);return t}});var Ar=()=>D({env:(e)=>process.env[e]});var kr={};R(kr,{tokenize:()=>Be,snake:()=>Y,pascal:()=>J,padBlock:()=>L,changeCase:()=>Q,capital:()=>re,camel:()=>te});var J=(e)=>e.replace(/((?:[_ ]+)\w|^\w)/g,(r,t)=>t.toUpperCase()).replace(/[_ ]/g,""),re=(e)=>e.replace(/((?:[ ]+)\w|^\w)/g,(r,t)=>t.toUpperCase()),te=(e)=>{let r=J(e);return r.charAt(0).toLowerCase()+r.slice(1)},Y=(e,r="_")=>e.replace(/([a-z])([A-Z])/g,`$1${r}$2`).replace(/\s+/g,r).toLowerCase(),Q=(e,r)=>{switch(r){case"upper":return e.toUpperCase();case"lower":return e.toLowerCase();default:return e}},L=(e,r,t=`
6
- `,n=" ")=>{let o=n.repeat(r);return e.split(t).map((s)=>o+s).join(t)},Be=(e,r,t=/\${([^}]+)}/g)=>{return e.replace(t,(n,o)=>{let s=r[o];if(s===null||s===void 0)return"";if(typeof s==="string")return s;if(typeof s==="number"||typeof s==="boolean")return String(s);return String(s)})};var we=(e,r=0,t)=>{let n=" ".repeat(r),o=" ".repeat(r+1);if(e===null||e===void 0)return"null";else if(typeof e==="boolean")return String(e);else if(typeof e==="number")return String(e);else if(typeof e==="string")return`"${e.replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}"`;else if(Array.isArray(e)){if(e.length===0)return"[]";return`[
7
- ${e.map((i)=>`${o}${we(i,r+1)},`).join(`
1
+ var st=Object.create;var{getPrototypeOf:at,defineProperty:X,getOwnPropertyNames:ke}=Object;var Ee=Object.prototype.hasOwnProperty,S=(e,r,t)=>{for(let n of ke(r))if(!Ee.call(e,n)&&n!=="default")X(e,n,{get:()=>r[n],enumerable:!0});if(t){for(let n of ke(r))if(!Ee.call(t,n)&&n!=="default")X(t,n,{get:()=>r[n],enumerable:!0});return t}},it=(e,r,t)=>{t=e!=null?st(at(e)):{};let n=r||!e||!e.__esModule?X(t,"default",{value:e,enumerable:!0}):t;for(let o of ke(e))if(!Ee.call(n,o))X(n,o,{get:()=>e[o],enumerable:!0});return n};var lt=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var R=(e,r)=>{for(var t in r)X(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(n)=>r[t]=()=>n})};var rt=lt((ca,et)=>{var{defineProperty:Ge,getOwnPropertyNames:sn,getOwnPropertyDescriptor:an}=Object,ln=Object.prototype.hasOwnProperty,Zr=new WeakMap,un=(e)=>{var r=Zr.get(e),t;if(r)return r;if(r=Ge({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")sn(e).map((n)=>!ln.call(r,n)&&Ge(r,n,{get:()=>e[n],enumerable:!(t=an(e,n))||t.enumerable}));return Zr.set(e,r),r},pn=(e,r)=>{for(var t in r)Ge(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(n)=>r[t]=()=>n})},zr={};pn(zr,{splitWithQuotes:()=>cn,splitNested:()=>fn});et.exports=un(zr);var fn=(e,r,t="(",n=")")=>{let o=0,s="",i=[];for(let a of e){if(s+=a,a===t)o++;if(a===n)o--;if(o===0&&a===r)i.push(s.slice(0,-1)),s=""}if(s)i.push(s);return i},cn=(e,r=",")=>{let t=[],n=e.length,o=r.length,s=0,i=(a)=>{if(a+o>n)return!1;for(let u=0;u<o;u++)if(e[a+u]!==r[u])return!1;return!0};while(s<n){while(s<n&&e[s]===" ")s++;if(s>=n)break;let a="",u=e[s]==='"'||e[s]==="'";if(u){let m=e[s++];while(s<n&&e[s]!==m)a+=e[s++];if(s<n)s++}else{while(s<n&&!i(s)){let m=e[s];if(m==='"'||m==="'"){a+=m,s++;while(s<n&&e[s]!==m)a+=e[s++];if(s<n)a+=e[s++]}else a+=e[s++]}a=a.trim()}if(a)t.push({value:a,quoted:u});if(i(s))s+=o}return t}});var W={};R(W,{writeOutputs:()=>z,writeOutput:()=>fe,writeFormat:()=>pe,tokenize:()=>Ye,toObjectWithKey:()=>Ne,toObject:()=>ee,toList:()=>I,stripIndent:()=>Je,sortBy:()=>_e,snake:()=>Q,select:()=>O,processFields:()=>D,pascal:()=>J,padBlock:()=>C,nonNullMap:()=>Ce,navigate:()=>ge,mergeAll:()=>T,merge:()=>N,makeFieldProcessorMap:()=>F,makeFieldProcessorList:()=>Fe,makeFieldProcessor:()=>q,locate:()=>_,loadFormat:()=>P,importList:()=>ce,importGlob:()=>je,globMap:()=>Z,getProcessor:()=>x,getArgs:()=>ue,find:()=>Be,exists:()=>B,defined:()=>Le,deepClone:()=>$,conditionPredicates:()=>j,changeCase:()=>G,capital:()=>ne,camel:()=>oe,asyncMap:()=>Ie,Objector:()=>tt,NavigateResult:()=>b,NavigateAction:()=>me,Logger:()=>Ke});var Re={};R(Re,{processFields:()=>D,makeFieldProcessorMap:()=>F,makeFieldProcessorList:()=>Fe,makeFieldProcessor:()=>q,getProcessor:()=>x,getArgs:()=>ue});var ut=Object.create,{getPrototypeOf:pt,defineProperty:qe,getOwnPropertyNames:ft}=Object,ct=Object.prototype.hasOwnProperty,mt=(e,r,t)=>{t=e!=null?ut(pt(e)):{};let n=r||!e||!e.__esModule?qe(t,"default",{value:e,enumerable:!0}):t;for(let o of ft(e))if(!ct.call(n,o))qe(n,o,{get:()=>e[o],enumerable:!0});return n},gt=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),yt=gt((e,r)=>{var{defineProperty:t,getOwnPropertyNames:n,getOwnPropertyDescriptor:o}=Object,s=Object.prototype.hasOwnProperty,i=new WeakMap,a=(l)=>{var c=i.get(l),h;if(c)return c;if(c=t({},"__esModule",{value:!0}),l&&typeof l==="object"||typeof l==="function")n(l).map((f)=>!s.call(c,f)&&t(c,f,{get:()=>l[f],enumerable:!(h=o(l,f))||h.enumerable}));return i.set(l,c),c},u=(l,c)=>{for(var h in c)t(l,h,{get:c[h],enumerable:!0,configurable:!0,set:(f)=>c[h]=()=>f})},m={};u(m,{splitWithQuotes:()=>g,splitNested:()=>d}),r.exports=a(m);var d=(l,c,h="(",f=")")=>{let w=0,p="",v=[];for(let y of l){if(p+=y,y===h)w++;if(y===f)w--;if(w===0&&y===c)v.push(p.slice(0,-1)),p=""}if(p)v.push(p);return v},g=(l,c=",")=>{let h=[],f=l.length,w=c.length,p=0,v=(y)=>{if(y+w>f)return!1;for(let M=0;M<w;M++)if(l[y+M]!==c[M])return!1;return!0};while(p<f){while(p<f&&l[p]===" ")p++;if(p>=f)break;let y="",M=l[p]==='"'||l[p]==="'";if(M){let k=l[p++];while(p<f&&l[p]!==k)y+=l[p++];if(p<f)p++}else{while(p<f&&!v(p)){let k=l[p];if(k==='"'||k==="'"){y+=k,p++;while(p<f&&l[p]!==k)y+=l[p++];if(p<f)y+=l[p++]}else y+=l[p++]}y=y.trim()}if(y)h.push({value:y,quoted:M});if(v(p))p+=w}return h}}),dt=mt(yt(),1),V;((e)=>{e[e.Explore=0]="Explore",e[e.SkipSiblings=1]="SkipSiblings",e[e.NoExplore=2]="NoExplore",e[e.ReplaceParent=3]="ReplaceParent",e[e.DeleteParent=4]="DeleteParent",e[e.MergeParent=5]="MergeParent",e[e.ReplaceItem=6]="ReplaceItem",e[e.DeleteItem=7]="DeleteItem"})(V||={});class E{action;by;skipSiblings;reexplore;constructor(e,r,t,n){this.action=e,this.by=r,this.skipSiblings=t,this.reexplore=n}static _explore=new E(0);static _noExplore=new E(2);static _skipSiblings=new E(1);static _deleteParent=new E(4);static ReplaceParent(e,r){return new E(3,e,void 0,r)}static SkipSiblings(){return E._skipSiblings}static Explore(){return E._explore}static NoExplore(){return E._noExplore}static DeleteParent(){return E._deleteParent}static MergeParent(e){return new E(5,e)}static ReplaceItem(e,r){return new E(6,e,r)}static DeleteItem(e){return new E(7,void 0,e)}}var wt=async(e,r)=>{let t=new WeakSet,n=[],o=[],s=async(a,u,m)=>{let d=a===null,g=d?E.Explore():await r({key:a,value:u,path:n,parent:m,parents:o});if(u&&typeof u==="object"&&g.action===0){if(t.has(u))return g;if(t.add(u),!d)n.push(a),o.push(m);let l=u;while(await i(l,a,m))l=m[a];if(!d)o.pop(),n.pop()}return g},i=async(a,u,m)=>{let d=Object.keys(a),g=d.length;for(let l=0;l<g;l++){let c=d[l],h=a[c],f=await s(c,h,a),w=f.action;if(w===0||w===2)continue;if(w===6){if(a[c]=f.by,f.skipSiblings)return;continue}if(w===7){if(delete a[c],f.skipSiblings)return;continue}if(w===1)return;if(w===3){if(u===null)throw Error("Cannot replace root object");if(m[u]=f.by,f.reexplore)return!0;return}if(w===4){if(u===null)throw Error("Cannot delete root object");delete m[u];return}if(w===5)delete a[c],Object.assign(a,f.by)}};await s(null,e,null)},ht=Object.create,{getPrototypeOf:bt,defineProperty:Pe,getOwnPropertyNames:vt}=Object,Mt=Object.prototype.hasOwnProperty,Ot=(e,r,t)=>{t=e!=null?ht(bt(e)):{};let n=r||!e||!e.__esModule?Pe(t,"default",{value:e,enumerable:!0}):t;for(let o of vt(e))if(!Mt.call(n,o))Pe(n,o,{get:()=>e[o],enumerable:!0});return n},At=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),kt=At((e,r)=>{var{defineProperty:t,getOwnPropertyNames:n,getOwnPropertyDescriptor:o}=Object,s=Object.prototype.hasOwnProperty,i=new WeakMap,a=(l)=>{var c=i.get(l),h;if(c)return c;if(c=t({},"__esModule",{value:!0}),l&&typeof l==="object"||typeof l==="function")n(l).map((f)=>!s.call(c,f)&&t(c,f,{get:()=>l[f],enumerable:!(h=o(l,f))||h.enumerable}));return i.set(l,c),c},u=(l,c)=>{for(var h in c)t(l,h,{get:c[h],enumerable:!0,configurable:!0,set:(f)=>c[h]=()=>f})},m={};u(m,{splitWithQuotes:()=>g,splitNested:()=>d}),r.exports=a(m);var d=(l,c,h="(",f=")")=>{let w=0,p="",v=[];for(let y of l){if(p+=y,y===h)w++;if(y===f)w--;if(w===0&&y===c)v.push(p.slice(0,-1)),p=""}if(p)v.push(p);return v},g=(l,c=",")=>{let h=[],f=l.length,w=c.length,p=0,v=(y)=>{if(y+w>f)return!1;for(let M=0;M<w;M++)if(l[y+M]!==c[M])return!1;return!0};while(p<f){while(p<f&&l[p]===" ")p++;if(p>=f)break;let y="",M=l[p]==='"'||l[p]==="'";if(M){let k=l[p++];while(p<f&&l[p]!==k)y+=l[p++];if(p<f)p++}else{while(p<f&&!v(p)){let k=l[p];if(k==='"'||k==="'"){y+=k,p++;while(p<f&&l[p]!==k)y+=l[p++];if(p<f)y+=l[p++]}else y+=l[p++]}y=y.trim()}if(y)h.push({value:y,quoted:M});if(v(p))p+=w}return h}}),Et=Ot(kt(),1),St=/^\[([^=\]]*)([=]*)([^\]]*)\]$/,Dt=/^([^[\]]*)\[([^\]]*)]$/,Se=(e,r,t,n)=>{if(e.startsWith("{")&&e.endsWith("}")){let o=e.substring(1,e.length-1);return H(r,o,t)?.toString()}return n?e:void 0},Ft=(e,r,t,n)=>{let o=Se(r,t,n);if(o)return H(e,o,n);let s=St.exec(r);if(s){let[,a,u,m]=s,d=Se(a.trim(),t,n,!0),g=Se(m.trim(),t,n,!0);if(Array.isArray(e)&&(u==="="||u==="==")&&d)return e.find((l)=>l?.[d]==g)}let i=Dt.exec(r);if(i){let[,a,u]=i;return e?.[a]?.[u]}return e?.[r]},H=(e,r,t)=>{let n=void 0,o=void 0,s=r??"",i=(g)=>{if(!g)return[g,!1];return g.endsWith("?")?[g.substring(0,g.length-1),!0]:[g,!1]},a=(g,l)=>{let[c,h]=i(l.pop());if(!c){if(t?.set!==void 0&&o!==void 0&&n!==void 0)n[o]=t.set;return g}let f=Ft(g,c,e,t);if(f===void 0){if(h||t?.optional||t?.defaultValue!==void 0)return;throw Error(`Unknown path element: "${c}" in "${s}"`)}return n=g,o=c,a(f,l)},u=Et.splitNested(s,t?.separator??".","{","}"),m=void 0;if(u.length>0&&u[u.length-1].startsWith("?="))m=u.pop()?.substring(2);u.reverse();let d=a(e,u);if(d===void 0)return m??t?.defaultValue;return d},Ze=(e,r)=>{if(typeof e.value==="string"){if(e.quoted)return e.value;if(e.value.startsWith("[")&&e.value.endsWith("]")){let t=e.value.slice(1,-1);if(t.trim()==="")return[];return t.split(";").map((n)=>{let o=n.trim();if(!isNaN(+o))return+o;return o})}if(e.value.startsWith("{")&&e.value.endsWith("}")){if(e.value.slice(1,-1).trim()==="")return{}}if(e.value==="null")return null;if(e.value==="undefined")return;if(e.value.startsWith("@"))return e.value.slice(1);if(!isNaN(+e.value))return+e.value}return r(e.value)},le=(e,r,t,n,o,s)=>{let i=n?.(e)??e,a=o(i);if(a[0])return a[1];if(!r){let u=H(t,e),m=o(u);if(m[0])return m[1]}throw Error(s)},er=(e,r,t,n,o)=>{let s=typeof e.types==="function"?e.types(n,r.value,o):e.types?.[n];if(!s||s==="ref")return Ze(r,(a)=>H(t,a));let i=Ze(r,()=>r.value);if(Array.isArray(s)){if(!s.includes(i))throw Error(`Argument ${n.toString()} must be one of [${s.join(", ")}]: ${i}`);return i}if(typeof s==="string"){if(s.endsWith("?")){let a=s.slice(0,-1);if(r.value==="null")return E.ReplaceItem(null);if(r.value==="undefined")return E.ReplaceItem(void 0);if(r.value==="")return"";s=a}switch(s){case"any":return i;case"array":return le(i,r.quoted,t,null,(a)=>[Array.isArray(a),a],`Argument ${n.toString()} must be an array: ${i}`);case"object":return le(i,r.quoted,t,null,(a)=>[typeof a==="object"&&a!==null,a],`Argument ${n.toString()} must be an object: ${i}`);case"number":return le(i,r.quoted,t,(a)=>Number(a),(a)=>[!isNaN(a),a],`Argument ${n.toString()} must be a number: ${i}`);case"boolean":return le(i,r.quoted,t,null,(a)=>{if([!0,"true","1",1,"yes","on"].includes(a))return[!0,!0];if([!1,"false","0",0,"no","off"].includes(a))return[!0,!1];if([null,"null","undefined",void 0,""].includes(a))return[!0,!1];if(Array.isArray(a))return[!0,a.length>0];return[!1,!1]},`Argument ${n.toString()} must be a boolean: ${i}`);case"string":return i.toString();default:throw Error(`Unknown type for argument ${n.toString()}: ${s}`)}}return s(i,t,n,r.quoted)},x=(e,r)=>{let t=e?.[r];if(t===void 0)throw Error(`Unhandled field processor type: ${r}`);return typeof t==="function"?{options:{},fn:t}:{options:t,fn:t.fn}},rr=(e)=>!e.quoted&&e.value.startsWith("."),Rt=(e)=>{let r={};for(let t of e){if(!rr(t))continue;let n=t.value.indexOf("="),o=n>-1?t.value.slice(1,n):t.value.slice(1),s=n>-1?t.value.slice(n+1):"";if(s.length>=2){let i=s[0],a=s[s.length-1];if(i==='"'&&a==='"'||i==="'"&&a==="'")s=s.slice(1,-1)}if(!r[o])r[o]=[];r[o].push(s)}return r},ue=(e,r,t)=>{let n=dt.splitWithQuotes(e??""),o=Rt(n),s=n.filter((a)=>!rr(a)),i=r.options.processArgs===!1?[]:s.map((a,u)=>er(r.options,a,t,u,s));return{rawArgs:s,parsedArgs:i,tags:o}},$t=(e)=>{return e!==null&&typeof e==="object"&&"action"in e},jt=(e,r)=>r.keys!==void 0&&e.key.startsWith(".")&&r.keys[e.key.substring(1)]!==void 0,Wt=async(e,r,t,n)=>{let{key:o,parent:s}=e,i=x(n.keys,o.substring(1));if(i.options.processArgs!==!1&&(typeof i.options.types==="function"||i.options.types?.[0]!==void 0))e.value=er(i.options,{value:e.value,quoted:!1},t,0,[]);if(typeof e.value!=="string")await D(e.value,{...n,root:{...t,parent:e.parent,parents:e.parents},filters:[...n.filters??[],...i.options.filters??[]]});let a=await i.fn({path:r,root:t,parent:s,key:o,options:n,value:e.value,args:[],rawArgs:[],tags:{}});return $t(a)?a:E.ReplaceParent(a)},ze=(e)=>{let r=e.split(/\r?\n/),t=r.filter((o)=>o.trim().length>0).map((o)=>/^[ \t]*/.exec(o)?.[0].length??0),n=t.length>0?Math.min(...t):0;if(n===0)return e;return r.map((o)=>o.slice(n)).join(`
2
+ `)},Nt=async(e,r,t,n)=>{if(!r?.onSection&&!r?.onSectionConfig&&!r?.sections)return[e,!1];let o=/%{\s*section\s*}%([\s\S]*?)%{\s*endsection\s*}%/g,s,i=e,a=0,u=!1,m={content:i,root:n,path:t,options:r,section:{}};while((s=o.exec(e))!==null){u=!0;let[d,g]=s,l=s.index,c=l+d.length,h=e[c]===`
3
+ `;if(h)c++;let f=l+a,w=c+a,p={},v=g,y=/(^|\r?\n)[ \t]*---[ \t]*(\r?\n|$)/m.exec(g);if(y){let Ae=g.slice(0,y.index),nt=y.index+y[0].length;v=g.slice(nt);let xe=ze(Ae).trim();if(xe.length>0)try{p=Bun.YAML.parse(xe)??{}}catch(ot){throw Error(`Failed to parse YAML config for section: ${ot.message}`)}}else if(/^\r?\n/.test(v))v=v.replace(/^\r?\n/,"");v=ze(v),v=v.replace(/(?:\r?\n[ \t]*)+$/,""),v=v.replace(/[ \t]+$/,"");let M={config:p,content:v};if(m.content=i,m.section=M,Object.keys(M.config).length>0){if(await r.onSectionConfig?.(m)!==!1)await D(M.config,{...r,root:n})}let k=m.section.config.type?r.sections?.[m.section.config.type]:void 0,K;if(k)K=await k(m);else if(r.onSection)K=await r.onSection(m);if(M.trim)M.content=M.content.trim();if(M.indent)M.content=M.content.split(`
4
+ `).map((Ae)=>" ".repeat(M.indent)+Ae).join(`
5
+ `);let L="";if(K===!0||M.show)L=M.content;else if(typeof K==="string")L=K;if(h&&L!==""&&!L.endsWith(`
6
+ `))L+=`
7
+ `;let Xe=i.lastIndexOf(`
8
+ `,f-1),Ve=Xe===-1?0:Xe+1,He=i.slice(Ve,f).trim().length===0?Ve:f;i=i.slice(0,He)+L+i.slice(w),a+=L.length-(w-He),m.content=i}return[i,u]},tr=(e)=>{let r=[],t=0;while(t<e.length)if(e[t]==="$"&&e[t+1]==="("&&(t===0||e[t-1]!=="\\")){let n=t;t+=2;let o=1;for(;t<e.length;t++)if(e[t]==="(")o++;else if(e[t]===")"){if(o--,o===0){r.push([n,t]);break}}if(o!==0)throw Error(`Unmatched opening $( at position ${n.toString()}`);t++}else t++;return r},De=Symbol.for("@homedev/fields:OverrideResult"),Ct=(e)=>({[De]:!0,value:e}),Lt=(e)=>{return e!==null&&typeof e==="object"&&De in e&&e[De]===!0},nr=async(e,r,t)=>{for(let n=r.length-1;n>=0;n--){let[o,s]=r[n],i=e.slice(o+2,s),a=await nr(i,tr(i),t);if(typeof a==="object")return a;let u=await t(a,e);if(Lt(u))return u.value;e=e.slice(0,o)+u+e.slice(s+1)}return e},_t=async(e,r)=>nr(e,tr(e),r),It=(e)=>{return e!==null&&typeof e==="object"&&"action"in e},Ut=/([\w\d.-_/]+):(.+)/,Bt=async(e,r,t,n)=>{let o=await(async()=>{let s=Ut.exec(e);if(!s)return await H(r,e);let[i,a,u]=s,m=x(n.sources,a),d=ue(u,m,r);return await m.fn({args:d.parsedArgs,rawArgs:d.rawArgs,tags:d.tags,key:a,options:n,root:r,path:t,value:null})})();if(o===null||o===void 0)return"";if(typeof o==="object")return Ct(o);return o},or=async(e,r,t,n)=>{let o=await _t(r,(s)=>Bt(s,t,e,n));if(It(o))return o;if(o===r)return E.Explore();if(typeof o==="string"){let s=await or(e,o,t,n);if(s.action!==V.Explore)return s}return E.ReplaceItem(o)},D=async(e,r)=>{return r??={},await wt(e,async(t)=>{let n=[...t.path,t.key].join(".");if(r?.filters?.length&&r.filters.some((a)=>a.test(n)))return E.NoExplore();let o=t.path.length===0,s=t.parents.length>0?t.parents.toReversed():[];if(o){if(s.length>0)throw Error("Root object should not have a parent");s=r?.root?.parents?[r.root.parent,...r.root.parents.toReversed()]:[]}let i={...e,...r.root,this:t.parent,parent:s.length>0?s[0]:null,parents:s};try{if(t.key.startsWith("$"))return E.NoExplore();let a=E.Explore();if(typeof t.value==="string"){let[u,m]=await Nt(t.value,r,n,i);if(a=await or(n,u,i,r),a.action===V.Explore&&m&&u!==t.value)a=E.ReplaceItem(u);switch(a.action){case V.Explore:break;case V.ReplaceItem:t.value=a.by;break;default:return a}}if(jt(t,r))a=await Wt(t,n,i,r);return a}catch(a){throw Error(`${a.message}
9
+ (${n})`)}}),e},q=(e,r)=>r?{fn:(t)=>e(...t.args),types:r}:(t)=>e(...t.args),Fe=(e,r)=>Object.fromEntries(e.map((t)=>[t.name,q(t,r?.types?.[t.name])])),F=(e,r)=>Object.fromEntries((r?.keys??Object.keys(e)).map((t)=>[t,q(e[t],r?.types?.[t])]));var We={};R(We,{writeOutputs:()=>z,writeOutput:()=>fe,writeFormat:()=>pe,locate:()=>_,loadFormat:()=>P,importList:()=>ce,importGlob:()=>je,globMap:()=>Z,exists:()=>B});import sr from"fs/promises";import $e from"path";import Tt from"path";import Yt from"fs/promises";import ur from"fs/promises";import ar from"path";import ir from"path";import lr from"path";var B=async(e)=>{try{return await sr.access(e,sr.constants.R_OK),!0}catch{return!1}},_=async(e,r)=>{let t=!$e.isAbsolute(e)&&r?["",...r]:[""];for(let n of t){let o=$e.join(n,e);if(await B(o))return $e.resolve(o)}throw Error(`File not found: "${e}"`)},P=async(e,r)=>{let t=await _(e,r?.dirs),n=await Bun.file(t).text(),o=Tt.dirname(t),s={"[.]json$":JSON.parse,"[.](yml|yaml)$":Bun.YAML.parse,"[.]toml$":Bun.TOML.parse,...r?.parsers},i=Object.entries(s).find((a)=>t.match(a[0]));if(!i)throw Error(`Unhandled file type: ${e}`);return{content:i[1](n),fullPath:t,folderPath:o}},pe=async(e,r,t="text")=>{switch(t){case"yaml":await Bun.write(e,Bun.YAML.stringify(r));break;case"json":await Bun.write(e,JSON.stringify(r));break;case"text":default:await Bun.write(e,r.toString())}},Z=async(e,r)=>{if(typeof e==="string"&&!e.includes("*"))return await r.map(e,0,[]);let t=await Array.fromAsync(Yt.glob(e,{cwd:r.cwd})),n=r.filter?t.filter(r.filter):t;return await Promise.all(n.map(r.map))},z=async(e,r)=>{if(r?.targetDirectory&&r?.removeFirst)try{await ur.rm(r?.targetDirectory,{recursive:!0,force:!0})}catch(t){throw Error(`Failed to clean the output directory: ${t.message}`)}for(let t of e)await fe(t,r)},fe=async(e,r)=>{let t=ar.join(r?.targetDirectory??".",e.name),n=ar.dirname(t);if(r?.classes){if(e.class!==void 0&&!r.classes.includes(e.class))return;if(r.classRequired&&e.class===void 0)throw Error(`Output "${e.name}" is missing class field`)}if(r?.writing?.(e)===!1)return;try{await ur.mkdir(n,{recursive:!0})}catch(o){throw Error(`Failed to create target directory "${n}" for output "${t}": ${o.message}`)}try{await pe(t,e.value,e.type??"text")}catch(o){throw Error(`Failed to write output "${t}": ${o.message}`)}},pr=(e)=>e?lr.isAbsolute(e)?e:lr.join(process.cwd(),e):process.cwd(),ce=async(e,r)=>{let t=[];for(let n of e)try{let o=!ir.isAbsolute(n)?ir.join(pr(r?.cwd),n):n;if(r?.filter?.(o)===!1)continue;let s=await import(o);if(r?.resolveDefault==="only"&&!s.default)throw Error(`Module ${n} does not have a default export`);let i=r?.resolveDefault?s.default??s:s,a=r?.map?await r.map(i,n):i;if(a!==void 0)t.push(a)}catch(o){if(r?.fail?.(n,o)===!1)continue;throw Error(`Failed to import module ${n}: ${o.message??o}`)}return t},je=async(e,r)=>{let t=[];for(let n of e){let o=await Array.fromAsync(new Bun.Glob(n).scan({cwd:pr(r?.cwd),absolute:!0}));t.push(...await ce(o,r))}return t};var Ue={};R(Ue,{toObjectWithKey:()=>Ne,toObject:()=>ee,toList:()=>I,sortBy:()=>_e,nonNullMap:()=>Ce,defined:()=>Le,deepClone:()=>$,asyncMap:()=>Ie});var I=(e,r="name")=>Object.entries(e).map(([t,n])=>({[r]:t,...n})),Ne=(e,r="name")=>Object.fromEntries(e.map((t)=>[t[r],t])),ee=(e,r="name")=>Object.fromEntries(e.map((t)=>{let{[r]:n,...o}=t;return[n,o]})),Ce=(e,r)=>{if(!e)return[];let t=[],n=0;for(let o of e)if(o!==null&&o!==void 0)t.push(r(o,n,e)),n++;return t},Le=(e,r="Value is undefined")=>{if(e===void 0||e===null)throw Error(r);return e},_e=(e,r,t=(n,o)=>n-o)=>e.slice().sort((n,o)=>t(r(n),r(o))),Ie=async(e,r)=>Promise.all(e.map(r)),$=(e)=>{if(typeof structuredClone<"u")try{return structuredClone(e)}catch{}return JSON.parse(JSON.stringify(e))};var qr={};R(qr,{defaultProcessors:()=>Qe});var fr={};R(fr,{navigate:()=>ge,find:()=>Be,NavigateResult:()=>b,NavigateAction:()=>me});var me;((e)=>{e[e.Explore=0]="Explore",e[e.SkipSiblings=1]="SkipSiblings",e[e.NoExplore=2]="NoExplore",e[e.ReplaceParent=3]="ReplaceParent",e[e.DeleteParent=4]="DeleteParent",e[e.MergeParent=5]="MergeParent",e[e.ReplaceItem=6]="ReplaceItem",e[e.DeleteItem=7]="DeleteItem"})(me||={});class b{action;by;skipSiblings;reexplore;constructor(e,r,t,n){this.action=e,this.by=r,this.skipSiblings=t,this.reexplore=n}static _explore=new b(0);static _noExplore=new b(2);static _skipSiblings=new b(1);static _deleteParent=new b(4);static ReplaceParent(e,r){return new b(3,e,void 0,r)}static SkipSiblings(){return b._skipSiblings}static Explore(){return b._explore}static NoExplore(){return b._noExplore}static DeleteParent(){return b._deleteParent}static MergeParent(e){return new b(5,e)}static ReplaceItem(e,r){return new b(6,e,r)}static DeleteItem(e){return new b(7,void 0,e)}}var ge=async(e,r)=>{let t=new WeakSet,n=[],o=[],s=async(a,u,m)=>{let d=a===null,g=d?b.Explore():await r({key:a,value:u,path:n,parent:m,parents:o});if(u&&typeof u==="object"&&g.action===0){if(t.has(u))return g;if(t.add(u),!d)n.push(a),o.push(m);let l=u;while(await i(l,a,m))l=m[a];if(!d)o.pop(),n.pop()}return g},i=async(a,u,m)=>{let d=Object.keys(a),g=d.length;for(let l=0;l<g;l++){let c=d[l],h=a[c],f=await s(c,h,a),w=f.action;if(w===0||w===2)continue;if(w===6){if(a[c]=f.by,f.skipSiblings)return;continue}if(w===7){if(delete a[c],f.skipSiblings)return;continue}if(w===1)return;if(w===3){if(u===null)throw Error("Cannot replace root object");if(m[u]=f.by,f.reexplore)return!0;return}if(w===4){if(u===null)throw Error("Cannot delete root object");delete m[u];return}if(w===5)delete a[c],Object.assign(a,f.by)}};await s(null,e,null)},Be=async(e,r)=>{let t=[];return await ge(e,(n)=>{if(r([...n.path,n.key].join("."),n.value))t.push(n.value);return b.Explore()}),t};var cr=(e)=>({output:(r)=>{delete r.parent[r.key];for(let t of Array.isArray(r.value)?r.value:[r.value])if(typeof t==="string")e.output({name:t,value:r.parent});else e.output({...t,value:t.value??r.parent});return b.SkipSiblings()}});import Jt from"path";var mr=(e)=>({load:async(r)=>{let t=r.options.globalContext;for(let{file:n}of Array.isArray(r.value)?r.value:[r.value]){if(!n)throw Error("File reference required");await e.load(n,t.file&&Jt.dirname(t.file))}return b.DeleteItem()}});var gr={};R(gr,{mergeAll:()=>T,merge:()=>N});var N=(e,r,t)=>{for(let n of Object.keys(r)){if(e[n]===void 0)continue;let o=r[n],s=e[n];if(typeof s!==typeof o||Array.isArray(s)!==Array.isArray(o)){let a=t?.mismatch?.(n,s,o,e,r);if(a!==void 0){r[n]=a;continue}throw Error(`Type mismatch: ${n}`)}let i=t?.mode?.(n,s,o,e,r)??r[".merge"]??"merge";switch(i){case"source":r[n]=s;continue;case"target":continue;case"skip":delete r[n],delete e[n];continue;case"merge":break;default:throw Error(`Unknown merge mode: ${i}`)}if(typeof s==="object")if(Array.isArray(s))o.push(...s);else{if(t?.navigate?.(n,s,o,e,r)===!1)continue;N(s,o,t)}else{if(s===o)continue;let a=t?.conflict?.(n,s,o,e,r);r[n]=a===void 0?o:a}}for(let n of Object.keys(e))if(r[n]===void 0)r[n]=e[n]},T=(e,r)=>{let t={};for(let n of e.toReversed())N(n,t,r);return t};var yr={};R(yr,{CacheManager:()=>ye});class ye{cache=new Map;maxSize;constructor(e=100){this.maxSize=e}get(e){return this.cache.get(e)}set(e,r){this.evictIfNeeded(),this.cache.set(e,r)}has(e){return this.cache.has(e)}clear(){this.cache.clear()}setMaxSize(e){this.maxSize=e}size(){return this.cache.size}evictIfNeeded(){if(this.cache.size>=this.maxSize){let e=null,r=1/0;for(let[t,n]of this.cache.entries())if(n.timestamp<r)r=n.timestamp,e=t;if(e)this.cache.delete(e)}}}var wr={};R(wr,{select:()=>O});var Qt=Object.create,{getPrototypeOf:Gt,defineProperty:dr,getOwnPropertyNames:Kt}=Object,Xt=Object.prototype.hasOwnProperty,Vt=(e,r,t)=>{t=e!=null?Qt(Gt(e)):{};let n=r||!e||!e.__esModule?dr(t,"default",{value:e,enumerable:!0}):t;for(let o of Kt(e))if(!Xt.call(n,o))dr(n,o,{get:()=>e[o],enumerable:!0});return n},Ht=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),xt=Ht((e,r)=>{var{defineProperty:t,getOwnPropertyNames:n,getOwnPropertyDescriptor:o}=Object,s=Object.prototype.hasOwnProperty,i=new WeakMap,a=(l)=>{var c=i.get(l),h;if(c)return c;if(c=t({},"__esModule",{value:!0}),l&&typeof l==="object"||typeof l==="function")n(l).map((f)=>!s.call(c,f)&&t(c,f,{get:()=>l[f],enumerable:!(h=o(l,f))||h.enumerable}));return i.set(l,c),c},u=(l,c)=>{for(var h in c)t(l,h,{get:c[h],enumerable:!0,configurable:!0,set:(f)=>c[h]=()=>f})},m={};u(m,{splitWithQuotes:()=>g,splitNested:()=>d}),r.exports=a(m);var d=(l,c,h="(",f=")")=>{let w=0,p="",v=[];for(let y of l){if(p+=y,y===h)w++;if(y===f)w--;if(w===0&&y===c)v.push(p.slice(0,-1)),p=""}if(p)v.push(p);return v},g=(l,c=",")=>{let h=[],f=l.length,w=c.length,p=0,v=(y)=>{if(y+w>f)return!1;for(let M=0;M<w;M++)if(l[y+M]!==c[M])return!1;return!0};while(p<f){while(p<f&&l[p]===" ")p++;if(p>=f)break;let y="",M=l[p]==='"'||l[p]==="'";if(M){let k=l[p++];while(p<f&&l[p]!==k)y+=l[p++];if(p<f)p++}else{while(p<f&&!v(p)){let k=l[p];if(k==='"'||k==="'"){y+=k,p++;while(p<f&&l[p]!==k)y+=l[p++];if(p<f)y+=l[p++]}else y+=l[p++]}y=y.trim()}if(y)h.push({value:y,quoted:M});if(v(p))p+=w}return h}}),qt=Vt(xt(),1),Pt=/^\[([^=\]]*)([=]*)([^\]]*)\]$/,Zt=/^([^[\]]*)\[([^\]]*)]$/,Te=(e,r,t,n)=>{if(e.startsWith("{")&&e.endsWith("}")){let o=e.substring(1,e.length-1);return O(r,o,t)?.toString()}return n?e:void 0},zt=(e,r,t,n)=>{let o=Te(r,t,n);if(o)return O(e,o,n);let s=Pt.exec(r);if(s){let[,a,u,m]=s,d=Te(a.trim(),t,n,!0),g=Te(m.trim(),t,n,!0);if(Array.isArray(e)&&(u==="="||u==="==")&&d)return e.find((l)=>l?.[d]==g)}let i=Zt.exec(r);if(i){let[,a,u]=i;return e?.[a]?.[u]}return e?.[r]},O=(e,r,t)=>{let n=void 0,o=void 0,s=r??"",i=(g)=>{if(!g)return[g,!1];return g.endsWith("?")?[g.substring(0,g.length-1),!0]:[g,!1]},a=(g,l)=>{let[c,h]=i(l.pop());if(!c){if(t?.set!==void 0&&o!==void 0&&n!==void 0)n[o]=t.set;return g}let f=zt(g,c,e,t);if(f===void 0){if(h||t?.optional||t?.defaultValue!==void 0)return;throw Error(`Unknown path element: "${c}" in "${s}"`)}return n=g,o=c,a(f,l)},u=qt.splitNested(s,t?.separator??".","{","}"),m=void 0;if(u.length>0&&u[u.length-1].startsWith("?="))m=u.pop()?.substring(2);u.reverse();let d=a(e,u);if(d===void 0)return m??t?.defaultValue;return d};var de=(e)=>{if(typeof e.value==="string")return e.parent;let r=e.value.model;if(!r)return e.parent;if(typeof r==="string")return O(e.root,r);return r};var we=(e)=>{if(typeof e.value==="string")return O(e.root,e.value);if(Array.isArray(e.value))return e.value;let r=e.value;if(typeof r.from==="string")return O(e.root,r.from);return r.from};var he=async(e,r)=>{let t=e.value;if(t.selector===void 0)return r;if(typeof t.selector!=="string"){let n=JSON.parse(JSON.stringify(t.selector));return await D(n,{...e.options,root:{...e.root,result:r}}),n}return await O({...e.root,result:r},t.selector)};var hr={};R(hr,{PathManager:()=>U});import Y from"path";class U{constructor(){}static normalize(e){return Y.normalize(Y.resolve(e))}static resolveInContext(e,r){let t=r??process.cwd(),n=Y.isAbsolute(e)?e:Y.join(t,e);return this.normalize(n)}static isDirectoryPattern(e){return e.endsWith("/")}static isGlobPattern(e){return e.includes("*")}static toAbsolute(e,r){if(Y.isAbsolute(e))return e;return Y.join(r??process.cwd(),e)}}var br={};R(br,{conditionPredicatesTypes:()=>re,conditionPredicates:()=>j});var j={and:(...e)=>e.every((r)=>!!r),or:(...e)=>e.some((r)=>!!r),xor:(...e)=>e.filter((r)=>!!r).length===1,true:(...e)=>e.every((r)=>!!r),false:(...e)=>e.every((r)=>!r),eq:(...e)=>e.every((r)=>r===e[0]),ne:(...e)=>e.some((r)=>r!==e[0]),lt:(...e)=>typeof e[0]==="number"&&e.slice(1).every((r)=>typeof r==="number"&&e[0]<r),le:(...e)=>typeof e[0]==="number"&&e.slice(1).every((r)=>typeof r==="number"&&e[0]<=r),gt:(...e)=>typeof e[0]==="number"&&e.slice(1).every((r)=>typeof r==="number"&&e[0]>r),ge:(...e)=>typeof e[0]==="number"&&e.slice(1).every((r)=>typeof r==="number"&&e[0]>=r),in:(e,r)=>{if(Array.isArray(r))return r.includes(e);if(typeof e==="string")return e.includes(r);if(Array.isArray(e))return e.includes(r);return!1},notin:(e,r)=>!j.in(e,r),contains:(e,r)=>e.includes(r),notcontains:(e,r)=>!e.includes(r),containsi:(e,r)=>e.toLowerCase().includes(r.toLowerCase()),notcontainsi:(e,r)=>!e.toLowerCase().includes(r.toLowerCase()),null:(...e)=>e.every((r)=>r===null||r===void 0),notnull:(...e)=>e.every((r)=>r!==null&&r!==void 0),empty:(...e)=>e.every((r)=>r===""),notempty:(...e)=>e.every((r)=>r!==""),nullorempty:(...e)=>e.every((r)=>r===null||r===void 0||r===""),notnullorempty:(...e)=>e.every((r)=>r!==null&&r!==void 0&&r!=="")},re={and:()=>"boolean",or:()=>"boolean",xor:()=>"boolean",true:()=>"boolean",false:()=>"boolean",lt:()=>"number",le:()=>"number",gt:()=>"number",ge:()=>"number"};var vr=()=>({each:{filters:[/select|model/],fn:async(e)=>{let r=e.value;delete e.parent[e.key];let t=await we(e),n=await de(e);if(!Array.isArray(t))throw Error('Key "each" requires a source list');if(n===void 0)throw Error('Key "each" must define a model');if(r.extend?.model)n=T([r.model,...Array.isArray(r.extend.model)?r.extend.model:[r.extend.model]]);let o=[];for(let s=0;s<t.length;s++){let i=$(n);if(await D(i,{...e.options,root:{...e.root,index:s,item:t[s],instance:i}}),r.extend?.result){let a=r.extend.result;i=T([i,...Array.isArray(a)?a:[a]])}o.push(await he(e,i))}return o}}});var Mr=()=>({map:{filters:[/select|model/],fn:async(e)=>{delete e.parent[e.key];let r=await we(e),t=await de(e);if(!Array.isArray(r))throw Error('Key "map" requires a source list');if(t===void 0)throw Error('Key "map" must define a model');let n=[];for(let o=0;o<r.length;o++){let s=$(t);await D(s,{...e.options,root:{...e.root,index:o,item:r[o],instance:s}}),n.push(await he(e,s))}return n}}});var Or=()=>({concat:async(e)=>{let r=[];for(let t of Array.isArray(e.value)?e.value:[e.value])r.push(...await O(e.root,t));return r.filter((t)=>t!==void 0)}});var Ar=()=>({extends:async(e)=>{let r=async(t,n)=>{for(let o of Array.isArray(n)?n:[n]){let s=await O(e.root,o),i=$(s);if(i[e.key])await r(i,i[e.key]);await D(i,{...e.options}),N(i,t),delete t[e.key]}};return await r(e.parent,e.value),b.Explore()},group:(e)=>{let r=e.root.parent,t=e.value,{items:n,...o}=t;return t.items.forEach((s)=>r.push({...o,...s})),b.DeleteParent()}});var kr=(e)=>({skip:{types:{0:"boolean"},fn:(r)=>r.value?b.DeleteParent():b.DeleteItem()},metadata:({path:r,value:t})=>{return e.metadata(r,t),b.DeleteItem()},if:{types:{0:"boolean"},fn:async(r)=>{let t=r.parent[".then"],n=r.parent[".else"];if(t!==void 0)delete r.parent[".then"];if(n!==void 0)delete r.parent[".else"];let o=r.value?t:n;if(o===void 0)return b.DeleteItem();if(typeof o==="string")return(await D({value:o},{...r.options,root:{...r.root}})).value;return b.ReplaceParent(o,!0)}},switch:(r)=>{let t=r.value;if(!t.cases)throw Error("Missing cases for switch");if(t.cases[t.from]!==void 0)return b.ReplaceParent(t.cases[t.from],!0);if(t.default!==void 0)return b.ReplaceParent(t.default,!0);return b.DeleteParent()}});var Er=()=>({from:async({root:e,parent:r,value:t})=>{let n=await O(e,t);if(n===null||n===void 0)throw Error(`Unable to resolve reference: ${t}`);if(r.content){if(Array.isArray(r.content)&&Array.isArray(n))return[...n,...r.content];return N(n,r.content),r.content}return n}});import Sr from"node:vm";var Dr=(e)=>({modules:async(r)=>{for(let[t,n]of Object.entries(r.value)){let o=Sr.createContext({console,objector:e,document:r.root}),s=new Sr.SourceTextModule(n,{identifier:t,context:o});await s.link((i)=>{throw Error(`Module ${i} is not allowed`)}),await s.evaluate(),e.sources(Object.fromEntries(Object.entries(s.namespace).map(([i,a])=>[`${t}.${i}`,(u)=>a(u,...u.args)])))}return b.DeleteItem()}});var Fr=()=>({try:{fn:(e)=>{let r=e.parent[".catch"];if(r!==void 0)delete e.parent[".catch"];try{return e.value}catch(t){if(r!==void 0)return r;return b.DeleteItem()}}}});var Rr=()=>({let:{fn:(e)=>{let r=e.value;return Object.assign(e.root,r),b.DeleteItem()}}});var $r=()=>({tap:{fn:(e)=>{return console.log(`[tap] ${e.path}:`,e.value),e.value}}});import jr from"fs/promises";import te from"path";var Wr=(e)=>({include:async(r)=>{let{file:t}=r.options.globalContext;return await Z(r.args[0],{cwd:te.dirname(t),filter:(n)=>te.basename(t)!==n,map:async(n)=>e.load(n,te.dirname(t),r.root)})},exists:async({args:[r]})=>await B(r),file:async(r)=>await jr.readFile(await _(r.args[0],e.getIncludeDirectories())).then((t)=>t.toString()),scan:async(r)=>{let t=[],o=(()=>{let a=r.args[2]??["**/node_modules/**"],u=typeof a==="string"?a.split(",").map((m)=>m.trim()):a;if(!Array.isArray(u))throw Error("Scan exclusion must be a list");return u})(),{file:s}=r.options.globalContext,i=r.args[1]?await _(r.args[1],e.getIncludeDirectories()):te.dirname(s);for await(let a of jr.glob(r.args[0],{cwd:i,exclude:(u)=>o.some((m)=>te.matchesGlob(u,m))}))t.push(a);return t}});var Nr=()=>F({env:(e)=>process.env[e]});var Cr={};R(Cr,{tokenize:()=>Ye,stripIndent:()=>Je,snake:()=>Q,pascal:()=>J,padBlock:()=>C,changeCase:()=>G,capital:()=>ne,camel:()=>oe});var J=(e)=>e.replace(/((?:[_ ]+)\w|^\w)/g,(r,t)=>t.toUpperCase()).replace(/[_ ]/g,""),ne=(e)=>e.replace(/((?:[ ]+)\w|^\w)/g,(r,t)=>t.toUpperCase()),oe=(e)=>{let r=J(e);return r.charAt(0).toLowerCase()+r.slice(1)},Q=(e,r="_")=>e.replace(/([a-z])([A-Z])/g,`$1${r}$2`).replace(/\s+/g,r).toLowerCase(),G=(e,r)=>{switch(r){case"upper":return e.toUpperCase();case"lower":return e.toLowerCase();default:return e}},C=(e,r,t=`
10
+ `,n=" ")=>{let o=n.repeat(r);return e.split(t).map((s)=>o+s).join(t)},Ye=(e,r,t=/\${([^}]+)}/g)=>{return e.replace(t,(n,o)=>{let s=r[o];if(s===null||s===void 0)return"";if(typeof s==="string")return s;if(typeof s==="number"||typeof s==="boolean")return String(s);return String(s)})},Je=(e)=>{let r=e.split(/\r?\n/),t=r.filter((o)=>o.trim().length>0).map((o)=>/^[ \t]*/.exec(o)?.[0].length??0),n=t.length>0?Math.min(...t):0;if(n===0)return e;return r.map((o)=>o.slice(n)).join(`
11
+ `)};var be=(e,r=0,t)=>{let n=" ".repeat(r),o=" ".repeat(r+1);if(e===null||e===void 0)return"null";else if(typeof e==="boolean")return String(e);else if(typeof e==="number")return String(e);else if(typeof e==="string")return`"${e.replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}"`;else if(Array.isArray(e)){if(e.length===0)return"[]";return`[
12
+ ${e.map((i)=>`${o}${be(i,r+1)},`).join(`
8
13
  `)}
9
14
  ${n}]`}else if(typeof e==="object"){let s=Object.entries(e).sort((a,u)=>t?.sortKeys?a[0].localeCompare(u[0]):0);if(s.length===0)return"{}";return`{
10
- ${s.map(([a,u])=>`${o}${a} = ${we(u,r+1,t)}`).join(`
15
+ ${s.map(([a,u])=>`${o}${a} = ${be(u,r+1,t)}`).join(`
11
16
  `)}
12
- ${n}}`}else return String(e)},ne=(e)=>{if(!e)return e;return e.replaceAll("\\n",`
13
- `).replaceAll("\\$","$").replaceAll("\\t","\t")};var Sr=()=>({substring:{types:{0:"ref",1:"number",2:"number"},fn:(e)=>e.args[0].substring(e.args[1],e.args[2])},repeat:{types:{0:"ref",1:"number"},fn:({args:[e,r]})=>e.repeat(r)},uuid:(e)=>crypto.randomUUID(),pad:{types:{0:"ref",1:"number",2:"string"},fn:({args:[e,r],tags:t})=>{let n=t.join?.[0]??`
14
- `,o=t.padChar?.[0]??" ";return L(e,r??2,n,o)}},formatAs:{types:{1:["json","yaml","terraform"]},fn:({args:[e,r],tags:t})=>{switch(r){case"json":return JSON.stringify(e,null,2);case"yaml":return Bun.YAML.stringify(e,null,2);case"terraform":{let n=!!(t?.sort?.length||t?.sortKeys?.length);return we(e,0,{sortKeys:n})}}throw Error("Unsupported format: "+String(r))}},...D({pascal:J,camel:te,capital:re,fromYaml:Bun.YAML.parse,fromJson:JSON.parse,toYaml:(e,r)=>Bun.YAML.stringify(e,null,r??2),toJson:(e,r)=>JSON.stringify(e,null,r!==0?r??2:void 0),concat:(...e)=>e.join(""),len:(e)=>e.length,reverse:(e)=>e.split("").reverse().join(""),trim:(e)=>e.trim(),ltrim:(e)=>e.trimStart(),rtrim:(e)=>e.trimEnd(),lower:(e)=>e.toLowerCase(),upper:(e)=>e.toUpperCase(),snake:(e,r)=>Q(Y(e,"_"),r),kebab:(e,r)=>Q(Y(e,"-"),r),encode:(e,r)=>Buffer.from(e).toString(r??"base64"),decode:(e,r)=>Buffer.from(e,r??"base64").toString()})});var jr=()=>({...D({merge:(...e)=>e.flatMap((r)=>r)}),join:({args:[e],root:r,tags:t})=>{let n=t.key?.[0],o=t.separator?.[0]??t.sep?.[0],s=t.finalize?.length>0,i=ne(o);if(typeof e==="string"){if(s&&e.length&&i)return e+i;return e}if(!Array.isArray(e))throw Error("Object is not a list");let a=((n?.length)?e.map((y)=>v({...r,...y},n)):e).join(i),u=t.pad?.[0]??"0",m=t.padChar?.[0]??" ",g=s&&a.length&&i?a+i:a;return u?L(g,parseInt(u),`
15
- `,m):g},list:({args:e})=>W(e[0],e[1]),object:({args:e})=>X(e[0],e[1]),range:({args:[e,r,t]})=>{let n=parseInt(e),o=parseInt(r),s=parseInt(t)||1;if(isNaN(n))throw Error("Invalid range: start value '"+String(e)+"' is not a number");if(isNaN(o))throw Error("Invalid range: end value '"+String(r)+"' is not a number");if(s===0)throw Error("Invalid range: step cannot be zero");if((o-n)/s<0)throw Error("Invalid range: step "+String(s)+" has wrong direction for range "+String(n)+" to "+String(o));return Array.from({length:Math.floor((o-n)/s)+1},(i,a)=>n+a*s)},filter:{types:(e,r,t)=>{switch(e){case 0:return"array";case 1:return Object.keys(_)}return z[t[1].value]?.(e-2,r,t.slice(2))},fn:({args:[e,r,t],root:n,tags:o})=>{if(e===null||e===void 0)throw Error("Filter source cannot be null or undefined");if(!Array.isArray(e))throw Error("Filter source must be an array");let s=o.key?.[0],i=_[r];if(s){let u=Array(e.length);for(let g=0;g<e.length;g++)try{u[g]=v({...n,...e[g]},s)}catch{u[g]=Symbol("invalid")}let m=[];for(let g=0;g<e.length;g++){let y=u[g];if(typeof y!=="symbol"&&t===void 0?i(y):i(y,t))m.push(e[g])}return m}let a=[];for(let u of e)if(t===void 0?i(u):i(u,t))a.push(u);return a}}});var Dr=()=>({each:{processArgs:!1,fn:async({rawArgs:[e,r,...t],root:n,options:o,tags:s})=>{let i=async(p)=>p.quoted?ne(p.value):await v(n,p.value),a=await v(n,e.value),u=await i(r),m=s.key?.[0],g=Array.isArray(a)?a:W(a),y=[],l=await Promise.all(t.map(async(p)=>await i(p))),c={...n,item:void 0,index:0,params:l,instance:void 0,parent:n.this,tags:s},h={...o,root:c};for(let p=0;p<g.length;p++){let w=$(u),f={instance:w},M=typeof u==="string"?f:w;if(c.item=g[p],c.index=p,c.instance=w,s?.root?.[0])Object.assign(c,await v(c,s.root[0]));if(await j(M,h),m!==void 0)y.push(await v(f.instance,m));else y.push(f.instance)}if(s.join?.length){if(y.length===0)return"";let p=ne(s.join[0]),w=s.pad?.[0]??"0",f=s.padChar?.[0]??" ",M=s.finalize?.length&&p?p:"",d=`${y.join(p)}${M}`;return w?L(d,parseInt(w),`
16
- `,f):d}return y}}});var oe=async(e,r,t)=>e.rawArgs[r].quoted?e.rawArgs[r].value:await v(e.root,e.rawArgs[r].value,{defaultValue:t}),Rr=()=>({switch:{processArgs:!1,fn:async(e)=>{let r=await oe(e,0,!1),t=await oe(e,1);if(t[r]===void 0){if(e.rawArgs.length>2)return oe(e,2);throw Error(`Unhandled switch case: ${r}`)}return t[r]}}});var $r=()=>D({log:console.log});var _r=()=>({if:{types:{0:"boolean"},fn:(e)=>e.args[0]?e.args[1]:e.args[2]},check:{types:{0:Object.keys(_)},fn:(e)=>_[e.args[0]](...e.args.slice(1))},...D(_,{types:z})});var Nr=(e)=>({default:{processArgs:!1,fn:async(r)=>{for(let t=0;t<r.rawArgs.length;t++)if(r.rawArgs[t]?.value!==void 0){let o=await oe(r,t,null);if(o!==null)return o}if(r.tags.nullable?.length)return b.DeleteItem();if(r.tags.fail?.length)throw Error(`No valid value found for default (${r.rawArgs.map((t)=>t.value).join(", ")})`);return""}},section:{types:["string","boolean"],fn:(r)=>{let t=r.args[0];if(!(r.args[1]??!0))return null;let o=e.getSection(t);if(!o)throw Error(`Section not found: ${t}`);return o.content}}});var Fr=()=>({convert:({args:[e,r,t]})=>{switch(r){case"string":return String(e);case"number":{let n=Number(e);if(!isNaN(n))return b.ReplaceItem(n);break}case"boolean":if(e==="true"||e===!0||e===1||e==="1"||e==="yes"||e==="on")return b.ReplaceItem(!0);else if(e==="false"||e===!1||e===0||e==="0"||e==="no"||e==="off")return b.ReplaceItem(!1);break;default:throw Error(`Unsupported type for convert: ${r}`)}if(t!==void 0)return b.ReplaceItem(t);throw Error(`Failed to convert value to ${r}`)},isType:({args:[e,r]})=>{let n=(()=>{switch(r){case"string":return typeof e==="string";case"number":return typeof e==="number";case"boolean":return typeof e==="boolean";case"object":return e!==null&&typeof e==="object"&&!Array.isArray(e);case"array":return Array.isArray(e);case"null":return e===null;case"undefined":return e===void 0;case"function":return typeof e==="function";default:throw Error(`Unknown type for isType: ${r}`)}})();return b.ReplaceItem(n)},typeOf:({args:[e]})=>{if(e===null)return"null";else if(Array.isArray(e))return"array";else return typeof e}});var Lr=()=>({...D({add:(...e)=>e.reduce((r,t)=>r+t,0),subtract:(e,r)=>e-r,multiply:(...e)=>e.reduce((r,t)=>r*t,1),divide:(e,r)=>{if(r===0)throw Error("Division by zero");return e/r},modulo:(e,r)=>e%r,power:(e,r)=>Math.pow(e,r),sqrt:(e)=>Math.sqrt(e),abs:(e)=>Math.abs(e),floor:(e)=>Math.floor(e),ceil:(e)=>Math.ceil(e),round:(e,r)=>{let t=Math.pow(10,r??0);return Math.round(e*t)/t},min:(...e)=>Math.min(...e),max:(...e)=>Math.max(...e),clamp:(e,r,t)=>Math.max(r,Math.min(t,e)),random:(e,r)=>{let t=e??0,n=r??1;return Math.random()*(n-t)+t}})});var Cr=()=>({now:()=>new Date,timestamp:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getTime()},iso:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).toISOString()},utc:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).toUTCString()},format:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=new Date(r),o=n.getFullYear(),s=String(n.getMonth()+1).padStart(2,"0"),i=String(n.getDate()).padStart(2,"0"),a=String(n.getHours()).padStart(2,"0"),u=String(n.getMinutes()).padStart(2,"0"),m=String(n.getSeconds()).padStart(2,"0");return t.replace("YYYY",String(o)).replace("MM",s).replace("DD",i).replace("HH",a).replace("mm",u).replace("ss",m)},parse:(e)=>{let r=e.args?.[0];return new Date(r).getTime()},year:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getFullYear()},month:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getMonth()+1},day:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getDate()},dayOfWeek:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getDay()},hours:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getHours()},minutes:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getMinutes()},seconds:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getSeconds()}});var Wr=()=>{return{unique:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];if(!Array.isArray(r))return r;let n=new Set;return r.filter((o)=>{let s=typeof t==="function"?t(o):t?o[t]:o;if(n.has(s))return!1;return n.add(s),!0})},groupBy:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];if(!Array.isArray(r))return r;let n={};return r.forEach((o)=>{let s=typeof t==="function"?String(t(o)):String(o[t]);if(!n[s])n[s]=[];n[s].push(o)}),n},partition:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];if(!Array.isArray(r))return[[],[]];if(typeof t!=="function")return[r,[]];let n=[],o=[];return r.forEach((s)=>{(t(s)?n:o).push(s)}),[n,o]},chunk:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1]??1;if(!Array.isArray(r))return[];let n=[];for(let o=0;o<r.length;o+=t)n.push(r.slice(o,o+t));return n},flatten:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1]??1;if(!Array.isArray(r))return[r];let n=[],o=(s,i)=>{for(let a of s)if(Array.isArray(a)&&i>0)o(a,i-1);else n.push(a)};return o(r,t),n},compact:(e)=>{let r=e.args?.[0]??e.value;if(!Array.isArray(r))return r;return r.filter((t)=>t!==null&&t!==void 0)},head:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];if(!Array.isArray(r))return r;return t?r.slice(0,t):r[0]},tail:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];if(!Array.isArray(r))return r;return t?r.slice(-t):r[r.length-1]}}};import{createHash as se}from"crypto";var Ir=()=>({md5:(e)=>{let r=e.args?.[0]??e.value;return se("md5").update(r).digest("hex")},sha1:(e)=>{let r=e.args?.[0]??e.value;return se("sha1").update(r).digest("hex")},sha256:(e)=>{let r=e.args?.[0]??e.value;return se("sha256").update(r).digest("hex")},sha512:(e)=>{let r=e.args?.[0]??e.value;return se("sha512").update(r).digest("hex")},hash:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1]??"sha256";return se(t).update(r).digest("hex")},base64Encode:(e)=>{let r=e.args?.[0]??e.value,t=typeof r==="string"?r:JSON.stringify(r);return Buffer.from(t).toString("base64")},base64Decode:(e)=>{let r=e.args?.[0]??e.value;return Buffer.from(r,"base64").toString("utf-8")},hexEncode:(e)=>{let r=e.args?.[0]??e.value;return Buffer.from(r).toString("hex")},hexDecode:(e)=>{let r=e.args?.[0]??e.value;return Buffer.from(r,"hex").toString("utf-8")}});var Ur=()=>({test:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2];return new RegExp(r,n).test(t)},match:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=new RegExp(r,n);return t.match(o)},matchAll:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=new RegExp(r,n);return Array.from(t.matchAll(o))},replace:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=e.args?.[3],s=new RegExp(r,o);return n.replace(s,t)},replaceAll:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=e.args?.[3]??"g",s=new RegExp(r,o);return n.replace(s,t)},split:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=new RegExp(r,n);return t.split(o)},exec:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2];return new RegExp(r,n).exec(t)},search:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=new RegExp(r,n);return t.search(o)}});import{resolve as Zt,dirname as Gt,basename as Kt,normalize as Vt,join as Ht}from"path";var Br=()=>({...D({pathJoin:(...e)=>Ht(...e),resolve:(...e)=>Zt(...e),dirname:(e)=>Gt(e),basename:(e,r)=>Kt(e,r),normalize:(e)=>Vt(e),extname:(e)=>{let r=/\.[^.]*$/.exec(e);return r?r[0]:""},relative:(e,r)=>{let t=e.split("/"),n=r.split("/"),o=0;while(o<t.length&&o<n.length&&t[o]===n[o])o++;let s=t.length-o,i=n.slice(o);return[...Array(s).fill("..")].concat(i).join("/")},isAbsolute:(e)=>e.startsWith("/"),segments:(e)=>e.split("/").filter(Boolean)})});var Tr=()=>({isEmail:(e)=>{let r=e.args?.[0]??e.value;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(r)},isUrl:(e)=>{let r=e.args?.[0]??e.value;try{return new URL(r),!0}catch{return!1}},isJson:(e)=>{let r=e.args?.[0]??e.value;try{return JSON.parse(r),!0}catch{return!1}},isUuid:(e)=>{let r=e.args?.[0]??e.value;return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r)},minLength:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];return r?.length>=t},maxLength:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];return r?.length<=t},length:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];return r?.length===t},isNumber:(e)=>{let r=e.args?.[0]??e.value;return typeof r==="number"&&!isNaN(r)},isString:(e)=>{return typeof(e.args?.[0]??e.value)==="string"},isBoolean:(e)=>{return typeof(e.args?.[0]??e.value)==="boolean"},isArray:(e)=>{let r=e.args?.[0]??e.value;return Array.isArray(r)},isObject:(e)=>{let r=e.args?.[0]??e.value;return r!==null&&typeof r==="object"&&!Array.isArray(r)},isEmpty:(e)=>{let r=e.args?.[0]??e.value;if(r===null||r===void 0)return!0;if(typeof r==="string"||Array.isArray(r))return r.length===0;if(typeof r==="object")return Object.keys(r).length===0;return!1},isTruthy:(e)=>{return!!(e.args?.[0]??e.value)},isFalsy:(e)=>{return!(e.args?.[0]??e.value)},inRange:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2];return r>=t&&r<=n},matches:(e)=>{let r=e.args?.[0],t=e.args?.[1];return new RegExp(t).test(r)},includes:(e)=>{let r=e.args?.[0],t=e.args?.[1];if(typeof r==="string")return r.includes(String(t));return Array.isArray(r)&&r.includes(t)},startsWith:(e)=>{let r=e.args?.[0],t=e.args?.[1];return r.startsWith(t)},endsWith:(e)=>{let r=e.args?.[0],t=e.args?.[1];return r.endsWith(t)}});var Te=(e)=>e.keys(nr(e)).keys(or(e)).keys(pr()).keys(cr()).keys(dr()).keys(mr()).keys(gr()).keys(yr(e)).keys(br(e)).keys(hr()).keys(vr()).keys(Mr()).sources(Or(e)).sources(Ar()).sources(Sr()).sources(Fr()).sources(jr()).sources(Dr()).sources(Rr()).sources($r()).sources(_r()).sources(Nr(e)).sources(Lr()).sources(Cr()).sources(Wr()).sources(Ir()).sources(Ur()).sources(Br()).sources(Tr()).fieldOptions({onSection:(r)=>{e.section(r)}});var Yr={};R(Yr,{IncludeManager:()=>he,DocumentIncludeProcessor:()=>ve});import be from"path";class he{includeDirectories=[];baseIncludeDirectories=[];includes=[];addDirectories(...e){this.includeDirectories.push(...e),this.baseIncludeDirectories.push(...e)}getDirectories(){return this.includeDirectories}reset(){this.includeDirectories=[...this.baseIncludeDirectories]}restore(e){this.includeDirectories=[...e]}snapshot(){return[...this.includeDirectories]}addFiles(...e){this.includes.push(...e)}getPendingAndClear(){let e=[...this.includes];return this.includes.length=0,e}async processPatterns(e,r,t){let n=[];for(let o of e)if(I.isGlobPattern(o)){let s=new Bun.Glob(o);for await(let i of s.scan({cwd:r,absolute:!0}))if(!t.included.includes(i))n.push(i)}else if(I.isDirectoryPattern(o)){let s=be.isAbsolute(o)?o:be.join(r,o);if(!this.includeDirectories.includes(s))this.includeDirectories.push(s)}else n.push(o);return n}buildSearchDirs(e){let r=e?[e]:[];return r.push(...this.includeDirectories.map((t)=>be.isAbsolute(t)?t:be.join(e??process.cwd(),t))),r}}class ve{includeManager;loadFn;constructor(e,r){this.includeManager=e;this.loadFn=r}async processIncludes(e,r,t){let n=[];if(e.content.includes)n.push(...e.content.includes),delete e.content.includes;n.push(...this.includeManager.getPendingAndClear());let o=await this.includeManager.processPatterns(n,e.folderPath,t);for(let s of o)F(await this.loadFn(s,e.folderPath,{parent:e.content,...r},!0,t),e.content)}}var E={};R(E,{writeOutputs:()=>P,writeOutput:()=>ue,writeFormat:()=>le,tokenize:()=>Be,toObjectWithKey:()=>_e,toObject:()=>X,toList:()=>W,sortBy:()=>Le,snake:()=>Y,select:()=>v,processFields:()=>j,pascal:()=>J,padBlock:()=>L,nonNullMap:()=>Ne,navigate:()=>ce,mergeAll:()=>B,merge:()=>F,makeFieldProcessorMap:()=>D,makeFieldProcessorList:()=>Se,makeFieldProcessor:()=>H,locate:()=>C,loadFormat:()=>x,importList:()=>fe,importGlob:()=>Re,globMap:()=>q,getProcessor:()=>V,getArgs:()=>ie,find:()=>Ie,exists:()=>U,defined:()=>Fe,deepClone:()=>$,conditionPredicates:()=>_,changeCase:()=>Q,capital:()=>re,camel:()=>te,asyncMap:()=>Ce,NavigateResult:()=>b,NavigateAction:()=>pe,Logger:()=>Ye});k(E,qr(Kr(),1));class Ye{options;constructor(e){this.options={level:"INFO",showClass:!1,levels:["DEBUG","INFO","WARN","ERROR"],timeStamp:!1,timeOptions:{second:"2-digit",minute:"2-digit",hour:"2-digit",day:"2-digit",month:"2-digit",year:"2-digit"},logFunction:(r,...t)=>{switch(r){case"ERROR":console.error(...t);break;case"WARN":console.warn(...t);break;case"DEBUG":console.debug(...t);break;default:console.log(...t)}},...e}}write(e,...r){if(this.options.level){let o=this.options.levels.indexOf(this.options.level)??-1,s=this.options.levels.indexOf(e);if(s===-1)throw Error(`Unknown log level: ${e}`);if(s<o)return}let t=[],n=[];if(this.options.timeStamp)n.push(new Date().toLocaleString(this.options.timeLocale,this.options.timeOptions));if(this.options.showClass)n.push(e);if(n.length>0)t.push(`[${n.join(" ")}]`);t.push(...r),this.options.logFunction(e,...t)}info(...e){this.write("INFO",...e)}error(...e){this.write("ERROR",...e)}warn(...e){this.write("WARN",...e)}debug(...e){this.write("DEBUG",...e)}}k(N,E);class Vr{includeManager=new he;includeProcessor;cacheManager=new me(100);outputs=[];vars={};fields={sources:{},keys:{}};objectMetadata={};currentContext=null;sections={};constructor(){this.includeProcessor=new ve(this.includeManager,this.load.bind(this)),this.use(Te)}use(e){return e(this),this}includeDirectory(...e){return this.includeManager.addDirectories(...e),this}getIncludeDirectories(){return this.includeManager.getDirectories()}include(...e){return this.includeManager.addFiles(...e),this}keys(e){return Object.assign(this.fields.keys,{...this.fields.keys,...e}),this}sources(e){return Object.assign(this.fields.sources,{...this.fields.sources,...e}),this}variables(e){return this.vars={...this.vars,...e},this}getOutputs(){return this.outputs}output(e){return this.outputs.push(e),this}metadata(e,r){return this.objectMetadata[e]=r,this}getMetadata(e){return this.objectMetadata[e]}getAllMetadata(){return this.objectMetadata}setCacheMaxSize(e){return this.cacheManager.setMaxSize(e),this}clearCache(){return this.cacheManager.clear(),this}getCurrentContext(){return this.currentContext}fieldOptions(e){return this.fields={...this.fields,...e},this}section(e){return this.sections[e.name]=e,this}getSection(e){return this.sections[e]}filter(e){return this.fields.filters??=[],this.fields.filters.push(e),this}async loadObject(e,r,t){return await j(e,{...this.fields,globalContext:{file:t?.fullPath??"@internal"},root:{...r,...this.fields.root,...this.vars,context:this.currentContext,sections:this.sections,$document:{root:{content:e},fileName:t?.fileName??"@internal",folder:t?.folderPath??"@internal",fullPath:t?.fullPath??"@internal"}}}),e}async load(e,r,t,n,o){let s=this.includeManager.snapshot();try{this.includeManager.reset();let i=this.includeManager.buildSearchDirs(r);if(o)this.currentContext=o;this.currentContext??={included:[],document:null};let a=await x(e,{dirs:i}),u=I.normalize(a.fullPath);if(this.currentContext.included.push(u),!a.content)return null;let m=this.cacheManager.get(u),g;if(m)g=m.raw;else g=a.content,this.cacheManager.set(u,{raw:g,timestamp:Date.now()});let y=$(g);a.content=y,await this.includeProcessor.processIncludes(a,t,this.currentContext);let l;if(n!==!0)l=await this.loadObject(a.content,t,{fileName:a.fullPath,folderPath:a.folderPath,fullPath:a.fullPath});else l=a.content;return this.currentContext.document=l,l}catch(i){throw this.includeManager.restore(s),i}finally{this.includeManager.restore(s)}}async writeAll(e){await P(this.getOutputs(),e)}}export{P as writeOutputs,ue as writeOutput,le as writeFormat,Be as tokenize,_e as toObjectWithKey,X as toObject,W as toList,Le as sortBy,Y as snake,v as select,j as processFields,J as pascal,L as padBlock,Ne as nonNullMap,ce as navigate,B as mergeAll,F as merge,D as makeFieldProcessorMap,Se as makeFieldProcessorList,H as makeFieldProcessor,C as locate,x as loadFormat,fe as importList,Re as importGlob,q as globMap,V as getProcessor,ie as getArgs,Ie as find,U as exists,Fe as defined,$ as deepClone,_ as conditionPredicates,Q as changeCase,re as capital,te as camel,Ce as asyncMap,Vr as Objector,b as NavigateResult,pe as NavigateAction,Ye as Logger};
17
+ ${n}}`}else return String(e)},se=(e)=>{if(!e)return e;return e.replaceAll("\\n",`
18
+ `).replaceAll("\\$","$").replaceAll("\\t","\t")};var Lr=()=>({substring:{types:{0:"ref",1:"number",2:"number"},fn:(e)=>e.args[0].substring(e.args[1],e.args[2])},repeat:{types:{0:"ref",1:"number"},fn:({args:[e,r]})=>e.repeat(r)},uuid:(e)=>crypto.randomUUID(),pad:{types:{0:"ref",1:"number",2:"string"},fn:({args:[e,r],tags:t})=>{let n=t.join?.[0]??`
19
+ `,o=t.padChar?.[0]??" ";return C(e,r??2,n,o)}},formatAs:{types:{1:["json","yaml","terraform"]},fn:({args:[e,r],tags:t})=>{switch(r){case"json":return JSON.stringify(e,null,2);case"yaml":return Bun.YAML.stringify(e,null,2);case"terraform":{let n=!!(t?.sort?.length||t?.sortKeys?.length);return be(e,0,{sortKeys:n})}}throw Error("Unsupported format: "+String(r))}},...F({pascal:J,camel:oe,capital:ne,fromYaml:Bun.YAML.parse,fromJson:JSON.parse,toYaml:(e,r)=>Bun.YAML.stringify(e,null,r??2),toJson:(e,r)=>JSON.stringify(e,null,r!==0?r??2:void 0),concat:(...e)=>e.join(""),len:(e)=>e.length,reverse:(e)=>e.split("").reverse().join(""),trim:(e)=>e.trim(),ltrim:(e)=>e.trimStart(),rtrim:(e)=>e.trimEnd(),lower:(e)=>e.toLowerCase(),upper:(e)=>e.toUpperCase(),snake:(e,r)=>G(Q(e,"_"),r),kebab:(e,r)=>G(Q(e,"-"),r),encode:(e,r)=>Buffer.from(e).toString(r??"base64"),decode:(e,r)=>Buffer.from(e,r??"base64").toString()})});var _r=()=>({...F({merge:(...e)=>e.flatMap((r)=>r)}),join:({args:[e],root:r,tags:t})=>{let n=t.key?.[0],o=t.separator?.[0]??t.sep?.[0],s=t.finalize?.length>0,i=se(o);if(typeof e==="string"){if(s&&e.length&&i)return e+i;return e}if(!Array.isArray(e))throw Error("Object is not a list");let a=((n?.length)?e.map((g)=>O({...r,...g},n)):e).join(i),u=t.pad?.[0]??"0",m=t.padChar?.[0]??" ",d=s&&a.length&&i?a+i:a;return u?C(d,parseInt(u),`
20
+ `,m):d},list:({args:e})=>I(e[0],e[1]),object:({args:e})=>ee(e[0],e[1]),range:({args:[e,r,t]})=>{let n=parseInt(e),o=parseInt(r),s=parseInt(t)||1;if(isNaN(n))throw Error("Invalid range: start value '"+String(e)+"' is not a number");if(isNaN(o))throw Error("Invalid range: end value '"+String(r)+"' is not a number");if(s===0)throw Error("Invalid range: step cannot be zero");if((o-n)/s<0)throw Error("Invalid range: step "+String(s)+" has wrong direction for range "+String(n)+" to "+String(o));return Array.from({length:Math.floor((o-n)/s)+1},(i,a)=>n+a*s)},filter:{types:(e,r,t)=>{switch(e){case 0:return"array";case 1:return Object.keys(j)}return re[t[1].value]?.(e-2,r,t.slice(2))},fn:({args:[e,r,t],root:n,tags:o})=>{if(e===null||e===void 0)throw Error("Filter source cannot be null or undefined");if(!Array.isArray(e))throw Error("Filter source must be an array");let s=o.key?.[0],i=j[r];if(s){let u=Array(e.length);for(let d=0;d<e.length;d++)try{u[d]=O({...n,...e[d]},s)}catch{u[d]=Symbol("invalid")}let m=[];for(let d=0;d<e.length;d++){let g=u[d];if(typeof g!=="symbol"&&t===void 0?i(g):i(g,t))m.push(e[d])}return m}let a=[];for(let u of e)if(t===void 0?i(u):i(u,t))a.push(u);return a}}});var Ir=()=>({each:{processArgs:!1,fn:async({rawArgs:[e,r,...t],root:n,options:o,tags:s})=>{let i=async(f)=>f.quoted?se(f.value):await O(n,f.value),a=await O(n,e.value),u=await i(r),m=s.key?.[0],d=Array.isArray(a)?a:I(a),g=[],l=await Promise.all(t.map(async(f)=>await i(f))),c={...n,item:void 0,index:0,params:l,instance:void 0,parent:n.this,tags:s},h={...o,root:c};for(let f=0;f<d.length;f++){let w=$(u),p={instance:w},v=typeof u==="string"?p:w;if(c.item=d[f],c.index=f,c.instance=w,s?.root?.[0])Object.assign(c,await O(c,s.root[0]));if(await D(v,h),m!==void 0)g.push(await O(p.instance,m));else g.push(p.instance)}if(s.join?.length){if(g.length===0)return"";let f=se(s.join[0]),w=s.pad?.[0]??"0",p=s.padChar?.[0]??" ",v=s.finalize?.length&&f?f:"",y=`${g.join(f)}${v}`;return w?C(y,parseInt(w),`
21
+ `,p):y}return g}}});var ae=async(e,r,t)=>e.rawArgs[r].quoted?e.rawArgs[r].value:await O(e.root,e.rawArgs[r].value,{defaultValue:t}),Ur=()=>({switch:{processArgs:!1,fn:async(e)=>{let r=await ae(e,0,!1),t=await ae(e,1);if(t[r]===void 0){if(e.rawArgs.length>2)return ae(e,2);throw Error(`Unhandled switch case: ${r}`)}return t[r]}}});var Br=()=>F({log:console.log});var Tr=()=>({if:{types:{0:"boolean"},fn:(e)=>e.args[0]?e.args[1]:e.args[2]},check:{types:{0:Object.keys(j)},fn:(e)=>j[e.args[0]](...e.args.slice(1))},...F(j,{types:re})});var Yr=(e)=>({default:{processArgs:!1,fn:async(r)=>{for(let t=0;t<r.rawArgs.length;t++)if(r.rawArgs[t]?.value!==void 0){let o=await ae(r,t,null);if(o!==null)return o}if(r.tags.nullable?.length)return b.DeleteItem();if(r.tags.fail?.length)throw Error(`No valid value found for default (${r.rawArgs.map((t)=>t.value).join(", ")})`);return""}},section:{types:["string","boolean"],fn:(r)=>{let t=r.args[0];if(!(r.args[1]??!0))return null;let o=e.getSection(t);if(!o)throw Error(`Section not found: ${t}`);return o.content}}});var Jr=()=>({convert:({args:[e,r,t]})=>{switch(r){case"string":return String(e);case"number":{let n=Number(e);if(!isNaN(n))return b.ReplaceItem(n);break}case"boolean":if(e==="true"||e===!0||e===1||e==="1"||e==="yes"||e==="on")return b.ReplaceItem(!0);else if(e==="false"||e===!1||e===0||e==="0"||e==="no"||e==="off")return b.ReplaceItem(!1);break;default:throw Error(`Unsupported type for convert: ${r}`)}if(t!==void 0)return b.ReplaceItem(t);throw Error(`Failed to convert value to ${r}`)},isType:({args:[e,r]})=>{let n=(()=>{switch(r){case"string":return typeof e==="string";case"number":return typeof e==="number";case"boolean":return typeof e==="boolean";case"object":return e!==null&&typeof e==="object"&&!Array.isArray(e);case"array":return Array.isArray(e);case"null":return e===null;case"undefined":return e===void 0;case"function":return typeof e==="function";default:throw Error(`Unknown type for isType: ${r}`)}})();return b.ReplaceItem(n)},typeOf:({args:[e]})=>{if(e===null)return"null";else if(Array.isArray(e))return"array";else return typeof e}});var Qr=()=>({...F({add:(...e)=>e.reduce((r,t)=>r+t,0),subtract:(e,r)=>e-r,multiply:(...e)=>e.reduce((r,t)=>r*t,1),divide:(e,r)=>{if(r===0)throw Error("Division by zero");return e/r},modulo:(e,r)=>e%r,power:(e,r)=>Math.pow(e,r),sqrt:(e)=>Math.sqrt(e),abs:(e)=>Math.abs(e),floor:(e)=>Math.floor(e),ceil:(e)=>Math.ceil(e),round:(e,r)=>{let t=Math.pow(10,r??0);return Math.round(e*t)/t},min:(...e)=>Math.min(...e),max:(...e)=>Math.max(...e),clamp:(e,r,t)=>Math.max(r,Math.min(t,e)),random:(e,r)=>{let t=e??0,n=r??1;return Math.random()*(n-t)+t}})});var Gr=()=>({now:()=>new Date,timestamp:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getTime()},iso:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).toISOString()},utc:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).toUTCString()},format:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=new Date(r),o=n.getFullYear(),s=String(n.getMonth()+1).padStart(2,"0"),i=String(n.getDate()).padStart(2,"0"),a=String(n.getHours()).padStart(2,"0"),u=String(n.getMinutes()).padStart(2,"0"),m=String(n.getSeconds()).padStart(2,"0");return t.replace("YYYY",String(o)).replace("MM",s).replace("DD",i).replace("HH",a).replace("mm",u).replace("ss",m)},parse:(e)=>{let r=e.args?.[0];return new Date(r).getTime()},year:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getFullYear()},month:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getMonth()+1},day:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getDate()},dayOfWeek:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getDay()},hours:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getHours()},minutes:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getMinutes()},seconds:(e)=>{let r=e.args?.[0];return(r?new Date(r):new Date).getSeconds()}});var Kr=()=>{return{unique:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];if(!Array.isArray(r))return r;let n=new Set;return r.filter((o)=>{let s=typeof t==="function"?t(o):t?o[t]:o;if(n.has(s))return!1;return n.add(s),!0})},groupBy:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];if(!Array.isArray(r))return r;let n={};return r.forEach((o)=>{let s=typeof t==="function"?String(t(o)):String(o[t]);if(!n[s])n[s]=[];n[s].push(o)}),n},partition:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];if(!Array.isArray(r))return[[],[]];if(typeof t!=="function")return[r,[]];let n=[],o=[];return r.forEach((s)=>{(t(s)?n:o).push(s)}),[n,o]},chunk:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1]??1;if(!Array.isArray(r))return[];let n=[];for(let o=0;o<r.length;o+=t)n.push(r.slice(o,o+t));return n},flatten:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1]??1;if(!Array.isArray(r))return[r];let n=[],o=(s,i)=>{for(let a of s)if(Array.isArray(a)&&i>0)o(a,i-1);else n.push(a)};return o(r,t),n},compact:(e)=>{let r=e.args?.[0]??e.value;if(!Array.isArray(r))return r;return r.filter((t)=>t!==null&&t!==void 0)},head:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];if(!Array.isArray(r))return r;return t?r.slice(0,t):r[0]},tail:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];if(!Array.isArray(r))return r;return t?r.slice(-t):r[r.length-1]}}};import{createHash as ie}from"crypto";var Xr=()=>({md5:(e)=>{let r=e.args?.[0]??e.value;return ie("md5").update(r).digest("hex")},sha1:(e)=>{let r=e.args?.[0]??e.value;return ie("sha1").update(r).digest("hex")},sha256:(e)=>{let r=e.args?.[0]??e.value;return ie("sha256").update(r).digest("hex")},sha512:(e)=>{let r=e.args?.[0]??e.value;return ie("sha512").update(r).digest("hex")},hash:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1]??"sha256";return ie(t).update(r).digest("hex")},base64Encode:(e)=>{let r=e.args?.[0]??e.value,t=typeof r==="string"?r:JSON.stringify(r);return Buffer.from(t).toString("base64")},base64Decode:(e)=>{let r=e.args?.[0]??e.value;return Buffer.from(r,"base64").toString("utf-8")},hexEncode:(e)=>{let r=e.args?.[0]??e.value;return Buffer.from(r).toString("hex")},hexDecode:(e)=>{let r=e.args?.[0]??e.value;return Buffer.from(r,"hex").toString("utf-8")}});var Vr=()=>({test:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2];return new RegExp(r,n).test(t)},match:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=new RegExp(r,n);return t.match(o)},matchAll:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=new RegExp(r,n);return Array.from(t.matchAll(o))},replace:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=e.args?.[3],s=new RegExp(r,o);return n.replace(s,t)},replaceAll:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=e.args?.[3]??"g",s=new RegExp(r,o);return n.replace(s,t)},split:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=new RegExp(r,n);return t.split(o)},exec:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2];return new RegExp(r,n).exec(t)},search:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2],o=new RegExp(r,n);return t.search(o)}});import{resolve as en,dirname as rn,basename as tn,normalize as nn,join as on}from"path";var Hr=()=>({...F({pathJoin:(...e)=>on(...e),resolve:(...e)=>en(...e),dirname:(e)=>rn(e),basename:(e,r)=>tn(e,r),normalize:(e)=>nn(e),extname:(e)=>{let r=/\.[^.]*$/.exec(e);return r?r[0]:""},relative:(e,r)=>{let t=e.split("/"),n=r.split("/"),o=0;while(o<t.length&&o<n.length&&t[o]===n[o])o++;let s=t.length-o,i=n.slice(o);return[...Array(s).fill("..")].concat(i).join("/")},isAbsolute:(e)=>e.startsWith("/"),segments:(e)=>e.split("/").filter(Boolean)})});var xr=()=>({isEmail:(e)=>{let r=e.args?.[0]??e.value;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(r)},isUrl:(e)=>{let r=e.args?.[0]??e.value;try{return new URL(r),!0}catch{return!1}},isJson:(e)=>{let r=e.args?.[0]??e.value;try{return JSON.parse(r),!0}catch{return!1}},isUuid:(e)=>{let r=e.args?.[0]??e.value;return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r)},minLength:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];return r?.length>=t},maxLength:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];return r?.length<=t},length:(e)=>{let r=e.args?.[0]??e.value,t=e.args?.[1];return r?.length===t},isNumber:(e)=>{let r=e.args?.[0]??e.value;return typeof r==="number"&&!isNaN(r)},isString:(e)=>{return typeof(e.args?.[0]??e.value)==="string"},isBoolean:(e)=>{return typeof(e.args?.[0]??e.value)==="boolean"},isArray:(e)=>{let r=e.args?.[0]??e.value;return Array.isArray(r)},isObject:(e)=>{let r=e.args?.[0]??e.value;return r!==null&&typeof r==="object"&&!Array.isArray(r)},isEmpty:(e)=>{let r=e.args?.[0]??e.value;if(r===null||r===void 0)return!0;if(typeof r==="string"||Array.isArray(r))return r.length===0;if(typeof r==="object")return Object.keys(r).length===0;return!1},isTruthy:(e)=>{return!!(e.args?.[0]??e.value)},isFalsy:(e)=>{return!(e.args?.[0]??e.value)},inRange:(e)=>{let r=e.args?.[0],t=e.args?.[1],n=e.args?.[2];return r>=t&&r<=n},matches:(e)=>{let r=e.args?.[0],t=e.args?.[1];return new RegExp(t).test(r)},includes:(e)=>{let r=e.args?.[0],t=e.args?.[1];if(typeof r==="string")return r.includes(String(t));return Array.isArray(r)&&r.includes(t)},startsWith:(e)=>{let r=e.args?.[0],t=e.args?.[1];return r.startsWith(t)},endsWith:(e)=>{let r=e.args?.[0],t=e.args?.[1];return r.endsWith(t)}});var Qe=(e)=>e.keys(cr(e)).keys(mr(e)).keys(vr()).keys(Mr()).keys(Er()).keys(Or()).keys(Ar()).keys(kr(e)).keys(Dr(e)).keys(Fr()).keys(Rr()).keys($r()).sources(Wr(e)).sources(Nr()).sources(Lr()).sources(Jr()).sources(_r()).sources(Ir()).sources(Ur()).sources(Br()).sources(Tr()).sources(Yr(e)).sources(Qr()).sources(Gr()).sources(Kr()).sources(Xr()).sources(Vr()).sources(Hr()).sources(xr()).fieldOptions({onSection:(r)=>{if(r.section.config.name)e.section(r.section)}});var Pr={};R(Pr,{IncludeManager:()=>Me,DocumentIncludeProcessor:()=>Oe});import ve from"path";class Me{includeDirectories=[];baseIncludeDirectories=[];includes=[];addDirectories(...e){this.includeDirectories.push(...e),this.baseIncludeDirectories.push(...e)}getDirectories(){return this.includeDirectories}reset(){this.includeDirectories=[...this.baseIncludeDirectories]}restore(e){this.includeDirectories=[...e]}snapshot(){return[...this.includeDirectories]}addFiles(...e){this.includes.push(...e)}getPendingAndClear(){let e=[...this.includes];return this.includes.length=0,e}async processPatterns(e,r,t){let n=[];for(let o of e)if(U.isGlobPattern(o)){let s=new Bun.Glob(o);for await(let i of s.scan({cwd:r,absolute:!0}))if(!t.included.includes(i))n.push(i)}else if(U.isDirectoryPattern(o)){let s=ve.isAbsolute(o)?o:ve.join(r,o);if(!this.includeDirectories.includes(s))this.includeDirectories.push(s)}else n.push(o);return n}buildSearchDirs(e){let r=e?[e]:[];return r.push(...this.includeDirectories.map((t)=>ve.isAbsolute(t)?t:ve.join(e??process.cwd(),t))),r}}class Oe{includeManager;loadFn;constructor(e,r){this.includeManager=e;this.loadFn=r}async processIncludes(e,r,t){let n=[];if(e.content.includes)n.push(...e.content.includes),delete e.content.includes;n.push(...this.includeManager.getPendingAndClear());let o=await this.includeManager.processPatterns(n,e.folderPath,t);for(let s of o)N(await this.loadFn(s,e.folderPath,{parent:e.content,...r},!0,t),e.content)}}var A={};R(A,{writeOutputs:()=>z,writeOutput:()=>fe,writeFormat:()=>pe,tokenize:()=>Ye,toObjectWithKey:()=>Ne,toObject:()=>ee,toList:()=>I,stripIndent:()=>Je,sortBy:()=>_e,snake:()=>Q,select:()=>O,processFields:()=>D,pascal:()=>J,padBlock:()=>C,nonNullMap:()=>Ce,navigate:()=>ge,mergeAll:()=>T,merge:()=>N,makeFieldProcessorMap:()=>F,makeFieldProcessorList:()=>Fe,makeFieldProcessor:()=>q,locate:()=>_,loadFormat:()=>P,importList:()=>ce,importGlob:()=>je,globMap:()=>Z,getProcessor:()=>x,getArgs:()=>ue,find:()=>Be,exists:()=>B,defined:()=>Le,deepClone:()=>$,conditionPredicates:()=>j,changeCase:()=>G,capital:()=>ne,camel:()=>oe,asyncMap:()=>Ie,NavigateResult:()=>b,NavigateAction:()=>me,Logger:()=>Ke});S(A,it(rt(),1));class Ke{options;constructor(e){this.options={level:"INFO",showClass:!1,levels:["DEBUG","INFO","WARN","ERROR"],timeStamp:!1,timeOptions:{second:"2-digit",minute:"2-digit",hour:"2-digit",day:"2-digit",month:"2-digit",year:"2-digit"},logFunction:(r,...t)=>{switch(r){case"ERROR":console.error(...t);break;case"WARN":console.warn(...t);break;case"DEBUG":console.debug(...t);break;default:console.log(...t)}},...e}}write(e,...r){if(this.options.level){let o=this.options.levels.indexOf(this.options.level)??-1,s=this.options.levels.indexOf(e);if(s===-1)throw Error(`Unknown log level: ${e}`);if(s<o)return}let t=[],n=[];if(this.options.timeStamp)n.push(new Date().toLocaleString(this.options.timeLocale,this.options.timeOptions));if(this.options.showClass)n.push(e);if(n.length>0)t.push(`[${n.join(" ")}]`);t.push(...r),this.options.logFunction(e,...t)}info(...e){this.write("INFO",...e)}error(...e){this.write("ERROR",...e)}warn(...e){this.write("WARN",...e)}debug(...e){this.write("DEBUG",...e)}}S(W,A);class tt{includeManager=new Me;includeProcessor;cacheManager=new ye(100);outputs=[];vars={};fields={sources:{},keys:{}};objectMetadata={};currentContext=null;storedSections={};constructor(){this.includeProcessor=new Oe(this.includeManager,this.load.bind(this)),this.use(Qe)}use(e){return e(this),this}includeDirectory(...e){return this.includeManager.addDirectories(...e),this}getIncludeDirectories(){return this.includeManager.getDirectories()}include(...e){return this.includeManager.addFiles(...e),this}keys(e){return Object.assign(this.fields.keys,{...this.fields.keys,...e}),this}sources(e){return Object.assign(this.fields.sources,{...this.fields.sources,...e}),this}sections(e){return Object.assign(this.fields.sections,{...this.fields.sections,...e}),this}variables(e){return this.vars={...this.vars,...e},this}getOutputs(){return this.outputs}output(e){return this.outputs.push(e),this}metadata(e,r){return this.objectMetadata[e]=r,this}getMetadata(e){return this.objectMetadata[e]}getAllMetadata(){return this.objectMetadata}setCacheMaxSize(e){return this.cacheManager.setMaxSize(e),this}clearCache(){return this.cacheManager.clear(),this}getCurrentContext(){return this.currentContext}fieldOptions(e){return this.fields={...this.fields,...e},this}section(e){return this.storedSections[e.config.name]=e,this}getSection(e){return this.storedSections[e]}filter(e){return this.fields.filters??=[],this.fields.filters.push(e),this}async loadObject(e,r,t){return await D(e,{...this.fields,globalContext:{file:t?.fullPath??"@internal"},root:{...r,...this.fields.root,...this.vars,context:this.currentContext,sections:this.storedSections,$document:{root:{content:e},fileName:t?.fileName??"@internal",folder:t?.folderPath??"@internal",fullPath:t?.fullPath??"@internal"}}}),e}async load(e,r,t,n,o){let s=this.includeManager.snapshot();try{this.includeManager.reset();let i=this.includeManager.buildSearchDirs(r);if(o)this.currentContext=o;this.currentContext??={included:[],document:null};let a=await P(e,{dirs:i}),u=U.normalize(a.fullPath);if(this.currentContext.included.push(u),!a.content)return null;let m=this.cacheManager.get(u),d;if(m)d=m.raw;else d=a.content,this.cacheManager.set(u,{raw:d,timestamp:Date.now()});let g=$(d);a.content=g,await this.includeProcessor.processIncludes(a,t,this.currentContext);let l;if(n!==!0)l=await this.loadObject(a.content,t,{fileName:a.fullPath,folderPath:a.folderPath,fullPath:a.fullPath});else l=a.content;return this.currentContext.document=l,l}catch(i){throw this.includeManager.restore(s),i}finally{this.includeManager.restore(s)}}async writeAll(e){await z(this.getOutputs(),e)}}export{z as writeOutputs,fe as writeOutput,pe as writeFormat,Ye as tokenize,Ne as toObjectWithKey,ee as toObject,I as toList,Je as stripIndent,_e as sortBy,Q as snake,O as select,D as processFields,J as pascal,C as padBlock,Ce as nonNullMap,ge as navigate,T as mergeAll,N as merge,F as makeFieldProcessorMap,Fe as makeFieldProcessorList,q as makeFieldProcessor,_ as locate,P as loadFormat,ce as importList,je as importGlob,Z as globMap,x as getProcessor,ue as getArgs,Be as find,B as exists,Le as defined,$ as deepClone,j as conditionPredicates,G as changeCase,ne as capital,oe as camel,Ie as asyncMap,tt as Objector,b as NavigateResult,me as NavigateAction,Ke as Logger};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homedev/objector",
3
- "version": "1.2.46",
3
+ "version": "1.2.48",
4
4
  "description": "object extensions for YAML/JSON",
5
5
  "author": "julzor",
6
6
  "license": "ISC",