@homedev/objector 1.2.30 → 1.2.31

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.
@@ -0,0 +1,159 @@
1
+ import { camel } from '@homedev/string-utils';
2
+ import { capital } from '@homedev/string-utils';
3
+ import { changeCase } from '@homedev/string-utils';
4
+ import { exists } from '@homedev/files';
5
+ import { FieldContext } from '@homedev/fields';
6
+ import { FieldProcessor } from '@homedev/fields';
7
+ import { FieldProcessorFunc } from '@homedev/fields';
8
+ import { FieldProcessorMap } from '@homedev/fields';
9
+ import { FieldProcessorOptions } from '@homedev/fields';
10
+ import { FieldProcessorTypeChecker } from '@homedev/fields';
11
+ import { FieldProcessorTypeCheckers } from '@homedev/fields';
12
+ import { FieldProcessorTypedFunc } from '@homedev/fields';
13
+ import { find } from '@homedev/navigate';
14
+ import { globMap } from '@homedev/files';
15
+ import { loadFormat } from '@homedev/files';
16
+ import { LoadOptions } from '@homedev/files';
17
+ import { LoadResult } from '@homedev/files';
18
+ import { locate } from '@homedev/files';
19
+ import { makeFieldProcessor } from '@homedev/fields';
20
+ import { makeFieldProcessorList } from '@homedev/fields';
21
+ import { makeFieldProcessorMap } from '@homedev/fields';
22
+ import { merge } from '@homedev/merge';
23
+ import { mergeAll } from '@homedev/merge';
24
+ import { MergeMode } from '@homedev/merge';
25
+ import { MergeOptions } from '@homedev/merge';
26
+ import { navigate } from '@homedev/navigate';
27
+ import { NavigateAction } from '@homedev/navigate';
28
+ import { NavigateCallback } from '@homedev/navigate';
29
+ import { NavigateContext } from '@homedev/navigate';
30
+ import { NavigateResult } from '@homedev/navigate';
31
+ import { Output } from '@homedev/files';
32
+ import { padBlock } from '@homedev/string-utils';
33
+ import { pascal } from '@homedev/string-utils';
34
+ import { processFields } from '@homedev/fields';
35
+ import { ProcessFieldsOptions } from '@homedev/fields';
36
+ import { select } from '@homedev/select';
37
+ import { SelectOptions } from '@homedev/select';
38
+ import { snake } from '@homedev/string-utils';
39
+ import { splitNested } from '@homedev/split';
40
+ import { splitWithQuotes } from '@homedev/split';
41
+ import { tokenize } from '@homedev/string-utils';
42
+ import { toList } from '@homedev/object-utils';
43
+ import { toObject } from '@homedev/object-utils';
44
+ import { toObjectWithKey } from '@homedev/object-utils';
45
+ import { writeFormat } from '@homedev/files';
46
+ import { writeOutput } from '@homedev/files';
47
+ import { WriteOutputOption } from '@homedev/files';
48
+ import { writeOutputs } from '@homedev/files';
49
+ import { WriteOutputsOption } from '@homedev/files';
50
+
51
+ /**
52
+ * @public
53
+ */
54
+ declare const conditionPredicates: Record<string, (...args: any[]) => boolean>;
55
+
56
+ /**
57
+ * @public
58
+ */
59
+ declare const deepClone: (model: any) => any;
60
+
61
+ declare namespace libs {
62
+ export {
63
+ FieldContext,
64
+ FieldProcessorMap,
65
+ makeFieldProcessorMap,
66
+ FieldProcessor,
67
+ FieldProcessorFunc,
68
+ FieldProcessorOptions,
69
+ FieldProcessorTypeChecker,
70
+ FieldProcessorTypeCheckers,
71
+ FieldProcessorTypedFunc,
72
+ ProcessFieldsOptions,
73
+ makeFieldProcessor,
74
+ makeFieldProcessorList,
75
+ processFields,
76
+ LoadOptions,
77
+ LoadResult,
78
+ Output,
79
+ WriteOutputOption,
80
+ WriteOutputsOption,
81
+ exists,
82
+ globMap,
83
+ loadFormat,
84
+ locate,
85
+ writeFormat,
86
+ writeOutput,
87
+ writeOutputs,
88
+ MergeMode,
89
+ MergeOptions,
90
+ merge,
91
+ mergeAll,
92
+ NavigateAction,
93
+ NavigateCallback,
94
+ NavigateContext,
95
+ navigate,
96
+ NavigateResult,
97
+ find,
98
+ toList,
99
+ toObject,
100
+ toObjectWithKey,
101
+ SelectOptions,
102
+ select,
103
+ splitNested,
104
+ splitWithQuotes,
105
+ camel,
106
+ capital,
107
+ pascal,
108
+ snake,
109
+ changeCase,
110
+ padBlock,
111
+ tokenize,
112
+ deepClone,
113
+ conditionPredicates,
114
+ Objector
115
+ }
116
+ }
117
+ export { libs }
118
+
119
+ declare interface LoadObjectOptions {
120
+ fileName: string;
121
+ fullPath: string;
122
+ folderPath: string;
123
+ }
124
+
125
+ /**
126
+ * @public
127
+ */
128
+ export declare class Objector {
129
+ private includeDirectories;
130
+ private includes;
131
+ private outputs;
132
+ private vars;
133
+ private cache;
134
+ private fields;
135
+ private objectMetadata;
136
+ constructor();
137
+ use(handler: (o: Objector) => void): this;
138
+ includeDirectory(...dirs: string[]): this;
139
+ getIncludeDirectories(): string[];
140
+ include(...files: string[]): this;
141
+ keys(keys: FieldProcessorMap): this;
142
+ sources(sources: FieldProcessorMap): this;
143
+ variables(vars: Record<string, any>): this;
144
+ getOutputs(): Output[];
145
+ output(o: Output): this;
146
+ metadata(path: string, o: any): this;
147
+ getMetadata(path: string): any;
148
+ getAllMetadata(): Record<string, any>;
149
+ filter(f: RegExp): this;
150
+ private docIncludes;
151
+ loadObject<T = any>(data: T, container?: any, options?: LoadObjectOptions): Promise<T>;
152
+ load<T = any>(fileName: string, cwd?: string, container?: any, noProcess?: boolean): Promise<T | null>;
153
+ writeOutputs(options?: WriteOutputsOption): Promise<void>;
154
+ }
155
+
156
+ export { }
157
+ declare global {
158
+ const homedev: typeof libs
159
+ }
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- var vt=Object.create;var{getPrototypeOf:ht,defineProperty:j,getOwnPropertyNames:K,getOwnPropertyDescriptor:kt}=Object,H=Object.prototype.hasOwnProperty,u=(e,r,t)=>{for(let o of K(r))if(!H.call(e,o)&&o!=="default")j(e,o,{get:()=>r[o],enumerable:!0});if(t){for(let o of K(r))if(!H.call(t,o)&&o!=="default")j(t,o,{get:()=>r[o],enumerable:!0});return t}},f=(e,r,t)=>{t=e!=null?vt(ht(e)):{};let o=r||!e||!e.__esModule?j(t,"default",{value:e,enumerable:!0}):t;for(let a of K(e))if(!H.call(o,a))j(o,a,{get:()=>e[a],enumerable:!0});return o},Me=new WeakMap,Ot=(e)=>{var r=Me.get(e),t;if(r)return r;if(r=j({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")K(e).map((o)=>!H.call(r,o)&&j(r,o,{get:()=>e[o],enumerable:!(t=kt(e,o))||t.enumerable}));return Me.set(e,r),r},N=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var Q=(e,r)=>{for(var t in r)j(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})};var F=N((Ho,je)=>{var{defineProperty:oe,getOwnPropertyNames:At,getOwnPropertyDescriptor:Pt}=Object,Mt=Object.prototype.hasOwnProperty,$e=new WeakMap,$t=(e)=>{var r=$e.get(e),t;if(r)return r;if(r=oe({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")At(e).map((o)=>!Mt.call(r,o)&&oe(r,o,{get:()=>e[o],enumerable:!(t=Pt(e,o))||t.enumerable}));return $e.set(e,r),r},Nt=(e,r)=>{for(var t in r)oe(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},Ne={};Nt(Ne,{splitWithQuotes:()=>Ct,splitNested:()=>jt});je.exports=$t(Ne);var jt=(e,r,t="(",o=")")=>{let a=0,n="",s=[];for(let i of e){if(n+=i,i===t)a++;if(i===o)a--;if(a===0&&i===r)s.push(n.slice(0,-1)),n=""}if(n)s.push(n);return s},Ct=(e,r=",")=>{let t=[],o=e.length,a=r.length,n=0,s=(i)=>{if(i+a>o)return!1;for(let p=0;p<a;p++)if(e[i+p]!==r[p])return!1;return!0};while(n<o){while(n<o&&e[n]===" ")n++;if(n>=o)break;let i="",p=e[n]==='"'||e[n]==="'";if(p){let m=e[n++];while(n<o&&e[n]!==m)i+=e[n++];if(n<o)n++}else{while(n<o&&!s(n)){let m=e[n];if(m==='"'||m==="'"){i+=m,n++;while(n<o&&e[n]!==m)i+=e[n++];if(n<o)i+=e[n++]}else i+=e[n++]}i=i.trim()}if(i)t.push({value:i,quoted:p});if(s(n))n+=a}return t}});var w=N((Qo,_e)=>{var{defineProperty:ne,getOwnPropertyNames:Rt,getOwnPropertyDescriptor:Et}=Object,Dt=Object.prototype.hasOwnProperty,Ce=new WeakMap,_t=(e)=>{var r=Ce.get(e),t;if(r)return r;if(r=ne({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Rt(e).map((o)=>!Dt.call(r,o)&&ne(r,o,{get:()=>e[o],enumerable:!(t=Et(e,o))||t.enumerable}));return Ce.set(e,r),r},Wt=(e,r)=>{for(var t in r)ne(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},Re={};Wt(Re,{navigate:()=>De,find:()=>It,NavigateResult:()=>h,NavigateAction:()=>Ee});_e.exports=_t(Re);var Ee;((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"})(Ee||={});class h{action;by;skipSibilings;reexplore;constructor(e,r,t,o){this.action=e,this.by=r,this.skipSibilings=t,this.reexplore=o}static ReplaceParent(e,r){return new h(3,e,void 0,r)}static SkipSiblings(){return new h(1)}static Explore(){return new h(0)}static NoExplore(){return new h(2)}static DeleteParent(){return new h(4)}static MergeParent(e){return new h(5,e)}static ReplaceItem(e,r){return new h(6,e,r)}static DeleteItem(e){return new h(7,void 0,e)}}var De=async(e,r)=>{let t=async(a)=>{let n=a.key===null,s=n?{action:0}:await r(a);if(a.value&&typeof a.value==="object"&&s.action==0){if(!n)a.path.push(a.key),a.parents.push(a.parent);while(await o(a));if(!n)a.parents.pop(),a.path.pop()}return s},o=async(a)=>{for(let[n,s]of Object.entries(a.value)){let i=await t({key:n,value:s,path:a.path,parent:a.value,parents:a.parents});switch(i.action){case 3:if(!a.key)throw Error("Cannot replace root");if(a.parent[a.key]=i.by,i.reexplore)return a.value=i.by,!0;return;case 4:delete a.parent[a.key];return;case 5:delete a.value[n],Object.assign(a.value,i.by);break;case 1:return;case 6:if(a.value[n]=i.by,i.skipSibilings)return;break;case 7:if(delete a.value[n],i.skipSibilings)return;break}}};await t({key:null,value:e,path:[],parent:null,parents:[]})},It=async(e,r)=>{let t=[];return await De(e,(o)=>{if(r([...o.path,o.key].join("."),o.value))t.push(o.value);return h.Explore()}),t}});var b=N((Fo,Te)=>{var{defineProperty:ie,getOwnPropertyNames:Tt,getOwnPropertyDescriptor:Lt}=Object,Ut=Object.prototype.hasOwnProperty,We=new WeakMap,Jt=(e)=>{var r=We.get(e),t;if(r)return r;if(r=ie({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Tt(e).map((o)=>!Ut.call(r,o)&&ie(r,o,{get:()=>e[o],enumerable:!(t=Lt(e,o))||t.enumerable}));return We.set(e,r),r},St=(e,r)=>{for(var t in r)ie(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},Ie={};St(Ie,{select:()=>se});Te.exports=Jt(Ie);var xt=F(),ae=(e,r,t,o)=>{if(e.startsWith("{")){let a=e.substring(1,e.length-1);return se(r,a,t).toString()}return o?e:void 0},Gt=(e,r,t,o)=>{let a=ae(r,t,o);if(a)return se(e,a,o);let n=/^\[([^=\]]*)([=]*)([^\]]*)\]$/.exec(r);if(n){let[i,p,m,c]=n,y=ae(p.trim(),t,o,!0),$=ae(c.trim(),t,o,!0);if(Array.isArray(e))switch(m){case"==":case"=":return e.find((A)=>A[y]==$)}}let s=/^([^[\]]*)\[([^\]]*)]/.exec(r);if(s)return e[s[1]][s[2]];return e[r]},se=(e,r,t)=>{let o=void 0,a=void 0;r??="";let n=(c)=>c?.endsWith("?")?[c.substring(0,c.length-1),!0]:[c,!1],s=(c,y)=>{let[$,A]=n(y.pop());if($){let G=Gt(c,$,e,t);if(G===void 0){if(A||t?.defaultValue!==void 0||t?.optional)return;throw Error(`Unknown path element: "${$}" in "${r}"`)}return o=c,a=$,s(G,y)}if(t?.set&&a)o[a]=t?.set;return c},i=xt.splitNested(r,t?.separator??".","{","}"),p=i.length>0&&i[i.length-1].startsWith("?=")?i.pop()?.substring(2):void 0;i.reverse();let m=s(e,i);if(m===void 0)return p??t?.defaultValue;return m}});var v=N((Yo,Ve)=>{var{defineProperty:le,getOwnPropertyNames:Kt,getOwnPropertyDescriptor:Ht}=Object,Qt=Object.prototype.hasOwnProperty,Le=new WeakMap,Ft=(e)=>{var r=Le.get(e),t;if(r)return r;if(r=le({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Kt(e).map((o)=>!Qt.call(r,o)&&le(r,o,{get:()=>e[o],enumerable:!(t=Ht(e,o))||t.enumerable}));return Le.set(e,r),r},Yt=(e,r)=>{for(var t in r)le(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},xe={};Yt(xe,{processFields:()=>Xe,makeFieldProcessorMap:()=>to,makeFieldProcessorList:()=>ro,makeFieldProcessor:()=>pe,getProcessor:()=>ue,getArgs:()=>Qe});Ve.exports=Ft(xe);var Zt=F(),Ue=w(),Ge=b(),Je=(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((o)=>{let a=o.trim();if(!isNaN(+a))return+a;return a})}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)},Y=(e,r,t,o,a,n)=>{let s=o?.(e)??e,i=a(s);if(i[0])return i[1];if(!r){let p=Ge.select(t,e),m=a(p);if(m[0])return m[1]}throw Error(n)},Ke=(e,r,t,o,a)=>{let n=typeof e.types==="function"?e.types(o,r.value,a):e.types?.[o];if(!n||n==="ref")return Je(r,(i)=>Ge.select(t,i));let s=Je(r,()=>r.value);if(Array.isArray(n)){if(!n.includes(s))throw Error(`Argument ${o.toString()} must be one of [${n.join(", ")}]: ${s}`);return s}if(typeof n==="string"){if(n.endsWith("?")){let i=n.slice(0,-1);if(r.value==="null")return Ue.NavigateResult.ReplaceItem(null);if(r.value==="undefined")return Ue.NavigateResult.ReplaceItem(void 0);if(r.value==="")return"";n=i}switch(n){case"any":return s;case"array":return Y(s,r.quoted,t,null,(i)=>[Array.isArray(i),i],`Argument ${o.toString()} must be an array: ${s}`);case"object":return Y(s,r.quoted,t,null,(i)=>[typeof i==="object"&&i!==null,i],`Argument ${o.toString()} must be an object: ${s}`);case"number":return Y(s,r.quoted,t,(i)=>Number(i),(i)=>[!isNaN(i),i],`Argument ${o.toString()} must be a number: ${s}`);case"boolean":return Y(s,r.quoted,t,null,(i)=>{if([!0,"true","1",1,"yes","on"].includes(i))return[!0,!0];if([!1,"false","0",0,"no","off"].includes(i))return[!0,!1];if([null,"null","undefined",void 0,""].includes(i))return[!0,!1];if(Array.isArray(i))return[!0,i.length>0];return[!1,!1]},`Argument ${o.toString()} must be a boolean: ${s}`);case"string":return s.toString();default:throw Error(`Unknown type for argument ${o.toString()}: ${n}`)}}return n(s,t,o,r.quoted)},ue=(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}},He=(e)=>!e.quoted&&e.value.startsWith("."),Xt=(e)=>{let r={};for(let t of e){if(!He(t))continue;let o=t.value.indexOf("="),a=o>-1?t.value.slice(1,o):t.value.slice(1),n=o>-1?t.value.slice(o+1):"";if(n.length>=2){let s=n[0],i=n[n.length-1];if(s==='"'&&i==='"'||s==="'"&&i==="'")n=n.slice(1,-1)}if(!r[a])r[a]=[];r[a].push(n)}return r},Qe=(e,r,t)=>{let o=Zt.splitWithQuotes(e??""),a=Xt(o),n=o.filter((i)=>!He(i)),s=r.options.processArgs===!1?[]:n.map((i,p)=>Ke(r.options,i,t,p,n));return{rawArgs:n,parsedArgs:s,tags:a}},E=w(),Se=w(),Vt=(e,r)=>r.keys!==void 0&&e.key.startsWith(".")&&r.keys[e.key.substring(1)]!==void 0,Bt=async(e,r,t,o)=>{let{key:a,parent:n}=e,s=ue(o.keys,a.substring(1));if(s.options.processArgs!==!1&&(typeof s.options.types==="function"||s.options.types?.[0]!==void 0))e.value=Ke(s.options,{value:e.value,quoted:!1},t,0,[]);if(typeof e.value!=="string")await Xe(e.value,{...o,root:{...t,parent:e.parent,parents:e.parents},filters:[...o.filters??[],...s.options.filters??[]]});let i=await s.fn({path:r,root:t,parent:n,key:a,options:o,value:e.value,args:[e.value],rawArgs:[],tags:{}});return i instanceof Se.NavigateResult?i:Se.NavigateResult.ReplaceParent(i)},Z=w(),qt=b(),Fe=(e)=>{let r=[],t=0;while(t<e.length)if(e[t]==="$"&&e[t+1]==="("&&(t===0||e[t-1]!=="\\")){let o=t;t+=2;let a=1;for(;t<e.length;t++)if(e[t]==="(")a++;else if(e[t]===")"){if(a--,a===0){r.push([o,t]);break}}if(a!==0)throw Error(`Unmatched opening $( at position ${o.toString()}`);t++}else t++;return r};class fe{value;constructor(e){this.value=e}}var Ye=async(e,r,t)=>{for(let o=r.length-1;o>=0;o--){let[a,n]=r[o],s=e.slice(a+2,n),i=await Ye(s,Fe(s),t);if(typeof i==="object")return i;let p=await t(i,e);if(p instanceof fe)return p.value;e=e.slice(0,a)+p+e.slice(n+1)}return e},zt=async(e,r)=>Ye(e,Fe(e),r),eo=async(e,r,t,o)=>{let a=await(async()=>{let n=/([\w\d.-_/]+):(.+)/.exec(e);if(!n)return await qt.select(r,e);let[s,i,p]=n,m=ue(o.sources,i),c=Qe(p,m,r);return await m.fn({args:c.parsedArgs,rawArgs:c.rawArgs,tags:c.tags,key:i,options:o,root:r,path:t,value:null})})();if(a===null||a===void 0)return"";if(typeof a==="object")return new fe(a);return a},Ze=async(e,r,t,o)=>{let a=await zt(r,(n)=>eo(n,t,e,o));if(a instanceof Z.NavigateResult)return a;if(a===r)return Z.NavigateResult.Explore();if(typeof a==="string"){let n=await Ze(e,a,t,o);if(n.action!==Z.NavigateAction.Explore)return n}return Z.NavigateResult.ReplaceItem(a)},Xe=async(e,r)=>{return r??={},await E.navigate(e,async(t)=>{let o=[...t.path,t.key].join(".");if(r?.filters?.length&&r.filters.some((i)=>i.test(o)))return E.NavigateResult.NoExplore();let a=t.path.length===0,n=t.parents.length>0?t.parents.toReversed():[];if(a){if(n.length>0)throw Error("Root object should not have a parent");n=r?.root?.parents?[r.root.parent,...r.root.parents.toReversed()]:[]}let s={...e,...r.root,this:t.parent,parent:n.length>0?n[0]:null,parents:n};try{if(t.key.startsWith("$"))return E.NavigateResult.NoExplore();let i=E.NavigateResult.Explore();if(typeof t.value==="string")switch(i=await Ze(o,t.value,s,r),i.action){case E.NavigateAction.Explore:break;case E.NavigateAction.ReplaceItem:t.value=i.by;break;default:return i}if(Vt(t,r))i=await Bt(t,o,s,r);return i}catch(i){throw Error(`${i.message}
2
- (${o})`)}}),e},pe=(e,r)=>r?{fn:(t)=>e(...t.args),types:r}:(t)=>e(...t.args),ro=(e,r)=>Object.fromEntries(e.map((t)=>[t.name,pe(t,r?.types?.[t.name])])),to=(e,r)=>Object.fromEntries((r?.keys??Object.keys(e)).map((t)=>[t,pe(e[t],r?.types?.[t])]))});var X=N((Zo,lr)=>{var oo=Object.create,{getPrototypeOf:no,defineProperty:T,getOwnPropertyNames:er,getOwnPropertyDescriptor:ao}=Object,rr=Object.prototype.hasOwnProperty,P=(e,r,t)=>{t=e!=null?oo(no(e)):{};let o=r||!e||!e.__esModule?T(t,"default",{value:e,enumerable:!0}):t;for(let a of er(e))if(!rr.call(o,a))T(o,a,{get:()=>e[a],enumerable:!0});return o},Be=new WeakMap,io=(e)=>{var r=Be.get(e),t;if(r)return r;if(r=T({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")er(e).map((o)=>!rr.call(r,o)&&T(r,o,{get:()=>e[o],enumerable:!(t=ao(e,o))||t.enumerable}));return Be.set(e,r),r},so=(e,r)=>{for(var t in r)T(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},tr={};so(tr,{writeOutputs:()=>go,writeOutput:()=>sr,writeFormat:()=>ar,locate:()=>nr,loadFormat:()=>po,globMap:()=>yo,exists:()=>or});lr.exports=io(tr);var qe=P(require("fs/promises")),or=async(e)=>{try{return await qe.default.access(e,qe.default.constants.R_OK),!0}catch{return!1}},ce=P(require("path")),nr=async(e,r)=>{let t=!ce.default.isAbsolute(e)&&r?["",...r]:[""];for(let o of t){let a=ce.default.join(o,e);if(await or(a))return ce.default.resolve(a)}throw Error(`File not found: "${e}"`)},lo=P(require("fs/promises")),uo=P(require("path")),fo=P(require("yaml")),po=async(e,r)=>{let t=await nr(e,r?.dirs),o=await lo.default.readFile(t),a=uo.default.dirname(t),n={"[.](yml|yaml)$":fo.default.parse,"[.]json$":JSON.parse,...r?.parsers},s=Object.entries(n).find((i)=>t.match(i[0]));if(!s)throw Error(`Unhandled file type: ${e}`);return{content:s[1](o.toString()),fullPath:t,folderPath:a}},me=P(require("fs/promises")),co=P(require("yaml")),ar=async(e,r,t="text")=>{switch(t){case"yaml":await me.default.writeFile(e,co.default.stringify(r));break;case"json":await me.default.writeFile(e,JSON.stringify(r));break;case"text":default:await me.default.writeFile(e,r.toString())}},mo=P(require("fs/promises")),yo=async(e,r)=>{if(typeof e==="string"&&!e.includes("*"))return await r.map(e,0,[]);let t=await Array.fromAsync(mo.default.glob(e,{cwd:r.cwd})),o=r.filter?t.filter(r.filter):t;return await Promise.all(o.map(r.map))},ir=P(require("fs/promises")),ze=P(require("path")),go=async(e,r)=>{if(r?.targetDirectory&&r?.removeFirst)try{await ir.default.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 sr(t,r)},sr=async(e,r)=>{let t=ze.default.join(r?.targetDirectory??".",e.name),o=ze.default.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 ir.default.mkdir(o,{recursive:!0})}catch(a){throw Error(`Failed to create target directory "${o}" for output "${t}": ${a.message}`)}try{await ar(t,e.value,e.type??"text")}catch(a){throw Error(`Failed to write output "${t}": ${a.message}`)}}});var D=N((Xo,pr)=>{var{defineProperty:ye,getOwnPropertyNames:wo,getOwnPropertyDescriptor:bo}=Object,vo=Object.prototype.hasOwnProperty,ur=new WeakMap,ho=(e)=>{var r=ur.get(e),t;if(r)return r;if(r=ye({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")wo(e).map((o)=>!vo.call(r,o)&&ye(r,o,{get:()=>e[o],enumerable:!(t=bo(e,o))||t.enumerable}));return ur.set(e,r),r},ko=(e,r)=>{for(var t in r)ye(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},fr={};ko(fr,{mergeAll:()=>Oo,merge:()=>ge});pr.exports=ho(fr);var ge=(e,r,t)=>{for(let o of Object.keys(r)){if(e[o]===void 0)continue;let a=r[o],n=e[o];if(typeof n!==typeof a||Array.isArray(n)!==Array.isArray(a)){let i=t?.mismatch?.(o,n,a,e,r);if(i!==void 0){r[o]=i;continue}throw Error(`Type mismatch: ${o}`)}let s=t?.mode?.(o,n,a,e,r)??r[".merge"]??"merge";switch(s){case"source":r[o]=n;continue;case"target":continue;case"skip":delete r[o],delete e[o];continue;case"merge":break;default:throw Error(`Unknown merge mode: ${s}`)}if(typeof n==="object")if(Array.isArray(n))a.push(...n);else{if(t?.navigate?.(o,n,a,e,r)===!1)continue;ge(n,a,t)}else{if(n===a)continue;let i=t?.conflict?.(o,n,a,e,r);r[o]=i===void 0?a:i}}for(let o of Object.keys(e))if(r[o]===void 0)r[o]=e[o]},Oo=(e,r)=>{let t={};for(let o of e.toReversed())ge(o,t,r);return t}});var U=N((Dn,Yr)=>{var{defineProperty:he,getOwnPropertyNames:Ao,getOwnPropertyDescriptor:Po}=Object,Mo=Object.prototype.hasOwnProperty,Hr=new WeakMap,$o=(e)=>{var r=Hr.get(e),t;if(r)return r;if(r=he({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Ao(e).map((o)=>!Mo.call(r,o)&&he(r,o,{get:()=>e[o],enumerable:!(t=Po(e,o))||t.enumerable}));return Hr.set(e,r),r},No=(e,r)=>{for(var t in r)he(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},Qr={};No(Qr,{tokenize:()=>_o,snake:()=>Ro,pascal:()=>Fr,padBlock:()=>Do,changeCase:()=>Eo,capital:()=>jo,camel:()=>Co});Yr.exports=$o(Qr);var Fr=(e)=>e.replace(/((?:[_ ]+)\w|^\w)/g,(r,t)=>t.toUpperCase()).replace(/[_ ]/g,""),jo=(e)=>e.replace(/((?:[ ]+)\w|^\w)/g,(r,t)=>t.toUpperCase()),Co=(e)=>Fr(e).replace(/((?:[ ]+\w)|^\w)/g,(r,t)=>t.toLowerCase()),Ro=(e,r)=>e.replace(/([a-z])([A-Z])/g,`$1${r}$2`).replace(/\s+/g,r),Eo=(e,r)=>{switch(r){case"upper":return e.toUpperCase();case"lower":return e.toLowerCase();default:return e}},Do=(e,r,t=`
3
- `,o=" ")=>{let a=o.repeat(r);return e.split(t).map((n)=>a+n).join(t)},_o=(e,r,t=/\${([^}]+)}/g)=>{return e.replace(t,(o,a)=>r[a]??"")}});var q=N((Ln,qr)=>{var{defineProperty:ke,getOwnPropertyNames:Wo,getOwnPropertyDescriptor:Io}=Object,To=Object.prototype.hasOwnProperty,Vr=new WeakMap,Lo=(e)=>{var r=Vr.get(e),t;if(r)return r;if(r=ke({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Wo(e).map((o)=>!To.call(r,o)&&ke(r,o,{get:()=>e[o],enumerable:!(t=Io(e,o))||t.enumerable}));return Vr.set(e,r),r},Uo=(e,r)=>{for(var t in r)ke(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},Br={};Uo(Br,{toObjectWithKey:()=>So,toObject:()=>xo,toList:()=>Jo});qr.exports=Lo(Br);var Jo=(e,r="name")=>Object.entries(e).map(([t,o])=>({[r]:t,...o})),So=(e,r="name")=>Object.fromEntries(e.map((t)=>[t[r],t])),xo=(e,r="name")=>Object.fromEntries(e.map((t)=>{let{[r]:o,...a}=t;return[o,a]}))});var dt={};Q(dt,{default:()=>Go,Objector:()=>ee});module.exports=Ot(dt);var wt=f(v(),1),re=f(X(),1),bt=f(D(),1),Ae=f(require("path"));var cr=f(w(),1),mr=(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 cr.NavigateResult.SkipSiblings()}});var yr=f(w(),1),gr=f(require("path")),dr=(e)=>({load:async(r)=>{let t=r.options.globalContext;for(let{file:o}of Array.isArray(r.value)?r.value:[r.value]){if(!o)throw Error("File reference required");await e.load(o,t.file&&gr.default.dirname(t.file))}return yr.NavigateResult.DeleteItem()}});var Mr=f(v(),1),we=f(D(),1);var wr=f(b(),1),br=(e)=>{if(typeof e.value==="string")return e.parent;let r=e.value.model;if(!r)return e.parent;if(typeof r==="string")return wr.select(e.root,r);return r};var de=f(b(),1),vr=(e)=>{if(typeof e.value==="string")return de.select(e.root,e.value);if(Array.isArray(e.value))return e.value;let r=e.value;if(typeof r.from==="string")return de.select(e.root,r.from);return r.from};var hr=f(v(),1),kr=f(b(),1),Or=async(e,r)=>{let t=e.value;if(t.selector===void 0)return r;if(typeof t.selector!=="string"){let o=JSON.parse(JSON.stringify(t.selector));return await hr.processFields(o,{...e.options,root:{...e.root,result:r}}),o}return await kr.select({...e.root,result:r},t.selector)};var Ar={};Q(Ar,{deepClone:()=>k});var k=(e)=>globalThis.structuredClone!==void 0?structuredClone(e):JSON.parse(JSON.stringify(e));var Pr={};Q(Pr,{conditionPredicatesTypes:()=>L,conditionPredicates:()=>O});var O={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)=>!O.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!=="")},L={and:()=>"boolean",or:()=>"boolean",xor:()=>"boolean",true:()=>"boolean",false:()=>"boolean",lt:()=>"number",le:()=>"number",gt:()=>"number",ge:()=>"number"};var $r=()=>({each:{filters:[/select|model/],fn:async(e)=>{let r=e.value;delete e.parent[e.key];let t=await vr(e),o=await br(e);if(!Array.isArray(t))throw Error('Key "each" requires a source list');if(o===void 0)throw Error('Key "each" must define a model');if(r.extend?.model)o=we.mergeAll([r.model,...Array.isArray(r.extend.model)?r.extend.model:[r.extend.model]]);let a=[];for(let n=0;n<t.length;n++){let s=k(o);if(await Mr.processFields(s,{...e.options,root:{...e.root,index:n,item:t[n],instance:s}}),r.extend?.result){let i=r.extend.result;s=we.mergeAll([s,...Array.isArray(i)?i:[i]])}a.push(await Or(e,s))}return a}}});var Nr=f(b(),1),jr=()=>({concat:async(e)=>{let r=[];for(let t of Array.isArray(e.value)?e.value:[e.value])r.push(...await Nr.select(e.root,t));return r.filter((t)=>t!==void 0)}});var Cr=f(v(),1),Rr=f(D(),1),Er=f(w(),1),Dr=f(b(),1);var _r=()=>({extends:async(e)=>{let r=async(t,o)=>{for(let a of Array.isArray(o)?o:[o]){let n=await Dr.select(e.root,a),s=k(n);if(s[e.key])await r(s,s[e.key]);await Cr.processFields(s,{...e.options}),Rr.merge(s,t),delete t[e.key]}};return await r(e.parent,e.value),Er.NavigateResult.Explore()}});var Wr=f(v(),1),M=f(w(),1),Ir=(e)=>({skip:{types:{0:"boolean"},fn:(r)=>r.value?M.NavigateResult.DeleteParent():M.NavigateResult.DeleteItem()},metadata:({path:r,value:t})=>{return e.metadata(r,t),M.NavigateResult.DeleteItem()},if:{types:{0:"boolean"},fn:async(r)=>{let t=r.parent[".then"],o=r.parent[".else"];if(t!==void 0)delete r.parent[".then"];if(o!==void 0)delete r.parent[".else"];let a=r.value?t:o;if(a===void 0)return M.NavigateResult.DeleteItem();if(typeof a==="string")return(await Wr.processFields({value:a},{...r.options,root:{...r.root}})).value;return M.NavigateResult.ReplaceParent(a,!0)}},switch:(r)=>{let t=r.value;if(!t.cases)throw Error("Missing cases for switch");if(t.cases[t.from]!==void 0)return M.NavigateResult.ReplaceParent(t.cases[t.from],!0);if(t.default!==void 0)return M.NavigateResult.ReplaceParent(t.default,!0);return M.NavigateResult.DeleteParent()}});var Tr=f(D(),1),Lr=f(b(),1),Ur=()=>({from:async({root:e,parent:r,value:t})=>{let o=await Lr.select(e,t);if(o===null||o===void 0)throw Error(`Unable to resolve reference: ${t}`);if(r.content){if(Array.isArray(r.content)&&Array.isArray(o))return[...o,...r.content];return Tr.merge(o,r.content),r.content}return o}});var Jr=f(w(),1),be=f(require("node:vm")),Sr=(e)=>({modules:async(r)=>{for(let[t,o]of Object.entries(r.value)){let a=be.default.createContext({console,objector:e,document:r.root}),n=new be.default.SourceTextModule(o,{identifier:t,context:a});await n.link((s)=>{throw Error(`Module ${s} is not allowed`)}),await n.evaluate(),e.sources(Object.fromEntries(Object.entries(n.namespace).map(([s,i])=>[`${t}.${s}`,(p)=>i(p,...p.args)])))}return Jr.NavigateResult.DeleteItem()}});var C=f(X(),1),ve=f(require("fs/promises")),_=f(require("path")),xr=(e)=>({include:async(r)=>{let{file:t}=r.options.globalContext;return await C.globMap(r.args[0],{cwd:_.default.dirname(t),filter:(o)=>_.default.basename(t)!==o,map:async(o)=>e.load(o,_.default.dirname(t),{parent:r.root})})},exists:async({args:[r]})=>await C.exists(r),file:async(r)=>await ve.default.readFile(await C.locate(r.args[0],e.getIncludeDirectories())).then((t)=>t.toString()),scan:async(r)=>{let t=[],a=(()=>{let i=r.args[2]??["**/node_modules/**"],p=typeof i==="string"?i.split(",").map((m)=>m.trim()):i;if(!Array.isArray(p))throw Error("Scan exclusion must be a list");return p})(),{file:n}=r.options.globalContext,s=r.args[1]?await C.locate(r.args[1],e.getIncludeDirectories()):_.default.dirname(n);for await(let i of ve.default.glob(r.args[0],{cwd:s,exclude:(p)=>a.some((m)=>_.default.matchesGlob(p,m))}))t.push(i);return t}});var Gr=f(v(),1),Kr=()=>Gr.makeFieldProcessorMap({env:(e)=>process.env[e]});var Zr=f(v(),1),d=f(U(),1),B=f(require("yaml"));var V=(e,r=0,t)=>{let o=" ".repeat(r),a=" ".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`[
1
+ var Pt=Object.create;var{getPrototypeOf:At,defineProperty:U,getOwnPropertyNames:Re,getOwnPropertyDescriptor:Mt}=Object,Ee=Object.prototype.hasOwnProperty;var l=(e,r,t)=>{t=e!=null?Pt(At(e)):{};let o=r||!e||!e.__esModule?U(t,"default",{value:e,enumerable:!0}):t;for(let a of Re(e))if(!Ee.call(o,a))U(o,a,{get:()=>e[a],enumerable:!0});return o},je=new WeakMap,Nt=(e)=>{var r=je.get(e),t;if(r)return r;if(r=U({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Re(e).map((o)=>!Ee.call(r,o)&&U(r,o,{get:()=>e[o],enumerable:!(t=Mt(e,o))||t.enumerable}));return je.set(e,r),r},j=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var De=(e,r)=>{for(var t in r)U(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})};var Q=j((Zo,Ie)=>{var{defineProperty:se,getOwnPropertyNames:Ct,getOwnPropertyDescriptor:$t}=Object,jt=Object.prototype.hasOwnProperty,We=new WeakMap,Rt=(e)=>{var r=We.get(e),t;if(r)return r;if(r=se({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Ct(e).map((o)=>!jt.call(r,o)&&se(r,o,{get:()=>e[o],enumerable:!(t=$t(e,o))||t.enumerable}));return We.set(e,r),r},Et=(e,r)=>{for(var t in r)se(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},_e={};Et(_e,{splitWithQuotes:()=>Wt,splitNested:()=>Dt});Ie.exports=Rt(_e);var Dt=(e,r,t="(",o=")")=>{let a=0,n="",s=[];for(let i of e){if(n+=i,i===t)a++;if(i===o)a--;if(a===0&&i===r)s.push(n.slice(0,-1)),n=""}if(n)s.push(n);return s},Wt=(e,r=",")=>{let t=[],o=e.length,a=r.length,n=0,s=(i)=>{if(i+a>o)return!1;for(let u=0;u<a;u++)if(e[i+u]!==r[u])return!1;return!0};while(n<o){while(n<o&&e[n]===" ")n++;if(n>=o)break;let i="",u=e[n]==='"'||e[n]==="'";if(u){let p=e[n++];while(n<o&&e[n]!==p)i+=e[n++];if(n<o)n++}else{while(n<o&&!s(n)){let p=e[n];if(p==='"'||p==="'"){i+=p,n++;while(n<o&&e[n]!==p)i+=e[n++];if(n<o)i+=e[n++]}else i+=e[n++]}i=i.trim()}if(i)t.push({value:i,quoted:u});if(s(n))n+=a}return t}});var b=j((Xo,Je)=>{var{defineProperty:le,getOwnPropertyNames:_t,getOwnPropertyDescriptor:It}=Object,Tt=Object.prototype.hasOwnProperty,Te=new WeakMap,Lt=(e)=>{var r=Te.get(e),t;if(r)return r;if(r=le({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")_t(e).map((o)=>!Tt.call(r,o)&&le(r,o,{get:()=>e[o],enumerable:!(t=It(e,o))||t.enumerable}));return Te.set(e,r),r},Ft=(e,r)=>{for(var t in r)le(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},Le={};Ft(Le,{navigate:()=>Ue,find:()=>Ut,NavigateResult:()=>k,NavigateAction:()=>Fe});Je.exports=Lt(Le);var Fe;((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"})(Fe||={});class k{action;by;skipSibilings;reexplore;constructor(e,r,t,o){this.action=e,this.by=r,this.skipSibilings=t,this.reexplore=o}static ReplaceParent(e,r){return new k(3,e,void 0,r)}static SkipSiblings(){return new k(1)}static Explore(){return new k(0)}static NoExplore(){return new k(2)}static DeleteParent(){return new k(4)}static MergeParent(e){return new k(5,e)}static ReplaceItem(e,r){return new k(6,e,r)}static DeleteItem(e){return new k(7,void 0,e)}}var Ue=async(e,r)=>{let t=async(a)=>{let n=a.key===null,s=n?{action:0}:await r(a);if(a.value&&typeof a.value==="object"&&s.action==0){if(!n)a.path.push(a.key),a.parents.push(a.parent);while(await o(a));if(!n)a.parents.pop(),a.path.pop()}return s},o=async(a)=>{for(let[n,s]of Object.entries(a.value)){let i=await t({key:n,value:s,path:a.path,parent:a.value,parents:a.parents});switch(i.action){case 3:if(!a.key)throw Error("Cannot replace root");if(a.parent[a.key]=i.by,i.reexplore)return a.value=i.by,!0;return;case 4:delete a.parent[a.key];return;case 5:delete a.value[n],Object.assign(a.value,i.by);break;case 1:return;case 6:if(a.value[n]=i.by,i.skipSibilings)return;break;case 7:if(delete a.value[n],i.skipSibilings)return;break}}};await t({key:null,value:e,path:[],parent:null,parents:[]})},Ut=async(e,r)=>{let t=[];return await Ue(e,(o)=>{if(r([...o.path,o.key].join("."),o.value))t.push(o.value);return k.Explore()}),t}});var v=j((Bo,Ge)=>{var{defineProperty:fe,getOwnPropertyNames:Jt,getOwnPropertyDescriptor:St}=Object,xt=Object.prototype.hasOwnProperty,Se=new WeakMap,Gt=(e)=>{var r=Se.get(e),t;if(r)return r;if(r=fe({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Jt(e).map((o)=>!xt.call(r,o)&&fe(r,o,{get:()=>e[o],enumerable:!(t=St(e,o))||t.enumerable}));return Se.set(e,r),r},Kt=(e,r)=>{for(var t in r)fe(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},xe={};Kt(xe,{select:()=>pe});Ge.exports=Gt(xe);var Ht=Q(),ue=(e,r,t,o)=>{if(e.startsWith("{")){let a=e.substring(1,e.length-1);return pe(r,a,t).toString()}return o?e:void 0},Qt=(e,r,t,o)=>{let a=ue(r,t,o);if(a)return pe(e,a,o);let n=/^\[([^=\]]*)([=]*)([^\]]*)\]$/.exec(r);if(n){let[i,u,p,f]=n,y=ue(u.trim(),t,o,!0),$=ue(f.trim(),t,o,!0);if(Array.isArray(e))switch(p){case"==":case"=":return e.find((P)=>P[y]==$)}}let s=/^([^[\]]*)\[([^\]]*)]/.exec(r);if(s)return e[s[1]][s[2]];return e[r]},pe=(e,r,t)=>{let o=void 0,a=void 0;r??="";let n=(f)=>f?.endsWith("?")?[f.substring(0,f.length-1),!0]:[f,!1],s=(f,y)=>{let[$,P]=n(y.pop());if($){let H=Qt(f,$,e,t);if(H===void 0){if(P||t?.defaultValue!==void 0||t?.optional)return;throw Error(`Unknown path element: "${$}" in "${r}"`)}return o=f,a=$,s(H,y)}if(t?.set&&a)o[a]=t?.set;return f},i=Ht.splitNested(r,t?.separator??".","{","}"),u=i.length>0&&i[i.length-1].startsWith("?=")?i.pop()?.substring(2):void 0;i.reverse();let p=s(e,i);if(p===void 0)return u??t?.defaultValue;return p}});var h=j((Vo,or)=>{var{defineProperty:ce,getOwnPropertyNames:Yt,getOwnPropertyDescriptor:Zt}=Object,Xt=Object.prototype.hasOwnProperty,Ke=new WeakMap,Bt=(e)=>{var r=Ke.get(e),t;if(r)return r;if(r=ce({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Yt(e).map((o)=>!Xt.call(r,o)&&ce(r,o,{get:()=>e[o],enumerable:!(t=Zt(e,o))||t.enumerable}));return Ke.set(e,r),r},Vt=(e,r)=>{for(var t in r)ce(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},Ze={};Vt(Ze,{processFields:()=>tr,makeFieldProcessorMap:()=>io,makeFieldProcessorList:()=>ao,makeFieldProcessor:()=>ge,getProcessor:()=>me,getArgs:()=>qe});or.exports=Bt(Ze);var qt=Q(),He=b(),Xe=v(),Qe=(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((o)=>{let a=o.trim();if(!isNaN(+a))return+a;return a})}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)},Y=(e,r,t,o,a,n)=>{let s=o?.(e)??e,i=a(s);if(i[0])return i[1];if(!r){let u=Xe.select(t,e),p=a(u);if(p[0])return p[1]}throw Error(n)},Be=(e,r,t,o,a)=>{let n=typeof e.types==="function"?e.types(o,r.value,a):e.types?.[o];if(!n||n==="ref")return Qe(r,(i)=>Xe.select(t,i));let s=Qe(r,()=>r.value);if(Array.isArray(n)){if(!n.includes(s))throw Error(`Argument ${o.toString()} must be one of [${n.join(", ")}]: ${s}`);return s}if(typeof n==="string"){if(n.endsWith("?")){let i=n.slice(0,-1);if(r.value==="null")return He.NavigateResult.ReplaceItem(null);if(r.value==="undefined")return He.NavigateResult.ReplaceItem(void 0);if(r.value==="")return"";n=i}switch(n){case"any":return s;case"array":return Y(s,r.quoted,t,null,(i)=>[Array.isArray(i),i],`Argument ${o.toString()} must be an array: ${s}`);case"object":return Y(s,r.quoted,t,null,(i)=>[typeof i==="object"&&i!==null,i],`Argument ${o.toString()} must be an object: ${s}`);case"number":return Y(s,r.quoted,t,(i)=>Number(i),(i)=>[!isNaN(i),i],`Argument ${o.toString()} must be a number: ${s}`);case"boolean":return Y(s,r.quoted,t,null,(i)=>{if([!0,"true","1",1,"yes","on"].includes(i))return[!0,!0];if([!1,"false","0",0,"no","off"].includes(i))return[!0,!1];if([null,"null","undefined",void 0,""].includes(i))return[!0,!1];if(Array.isArray(i))return[!0,i.length>0];return[!1,!1]},`Argument ${o.toString()} must be a boolean: ${s}`);case"string":return s.toString();default:throw Error(`Unknown type for argument ${o.toString()}: ${n}`)}}return n(s,t,o,r.quoted)},me=(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("."),zt=(e)=>{let r={};for(let t of e){if(!Ve(t))continue;let o=t.value.indexOf("="),a=o>-1?t.value.slice(1,o):t.value.slice(1),n=o>-1?t.value.slice(o+1):"";if(n.length>=2){let s=n[0],i=n[n.length-1];if(s==='"'&&i==='"'||s==="'"&&i==="'")n=n.slice(1,-1)}if(!r[a])r[a]=[];r[a].push(n)}return r},qe=(e,r,t)=>{let o=qt.splitWithQuotes(e??""),a=zt(o),n=o.filter((i)=>!Ve(i)),s=r.options.processArgs===!1?[]:n.map((i,u)=>Be(r.options,i,t,u,n));return{rawArgs:n,parsedArgs:s,tags:a}},W=b(),Ye=b(),eo=(e,r)=>r.keys!==void 0&&e.key.startsWith(".")&&r.keys[e.key.substring(1)]!==void 0,ro=async(e,r,t,o)=>{let{key:a,parent:n}=e,s=me(o.keys,a.substring(1));if(s.options.processArgs!==!1&&(typeof s.options.types==="function"||s.options.types?.[0]!==void 0))e.value=Be(s.options,{value:e.value,quoted:!1},t,0,[]);if(typeof e.value!=="string")await tr(e.value,{...o,root:{...t,parent:e.parent,parents:e.parents},filters:[...o.filters??[],...s.options.filters??[]]});let i=await s.fn({path:r,root:t,parent:n,key:a,options:o,value:e.value,args:[e.value],rawArgs:[],tags:{}});return i instanceof Ye.NavigateResult?i:Ye.NavigateResult.ReplaceParent(i)},Z=b(),to=v(),ze=(e)=>{let r=[],t=0;while(t<e.length)if(e[t]==="$"&&e[t+1]==="("&&(t===0||e[t-1]!=="\\")){let o=t;t+=2;let a=1;for(;t<e.length;t++)if(e[t]==="(")a++;else if(e[t]===")"){if(a--,a===0){r.push([o,t]);break}}if(a!==0)throw Error(`Unmatched opening $( at position ${o.toString()}`);t++}else t++;return r};class ye{value;constructor(e){this.value=e}}var er=async(e,r,t)=>{for(let o=r.length-1;o>=0;o--){let[a,n]=r[o],s=e.slice(a+2,n),i=await er(s,ze(s),t);if(typeof i==="object")return i;let u=await t(i,e);if(u instanceof ye)return u.value;e=e.slice(0,a)+u+e.slice(n+1)}return e},oo=async(e,r)=>er(e,ze(e),r),no=async(e,r,t,o)=>{let a=await(async()=>{let n=/([\w\d.-_/]+):(.+)/.exec(e);if(!n)return await to.select(r,e);let[s,i,u]=n,p=me(o.sources,i),f=qe(u,p,r);return await p.fn({args:f.parsedArgs,rawArgs:f.rawArgs,tags:f.tags,key:i,options:o,root:r,path:t,value:null})})();if(a===null||a===void 0)return"";if(typeof a==="object")return new ye(a);return a},rr=async(e,r,t,o)=>{let a=await oo(r,(n)=>no(n,t,e,o));if(a instanceof Z.NavigateResult)return a;if(a===r)return Z.NavigateResult.Explore();if(typeof a==="string"){let n=await rr(e,a,t,o);if(n.action!==Z.NavigateAction.Explore)return n}return Z.NavigateResult.ReplaceItem(a)},tr=async(e,r)=>{return r??={},await W.navigate(e,async(t)=>{let o=[...t.path,t.key].join(".");if(r?.filters?.length&&r.filters.some((i)=>i.test(o)))return W.NavigateResult.NoExplore();let a=t.path.length===0,n=t.parents.length>0?t.parents.toReversed():[];if(a){if(n.length>0)throw Error("Root object should not have a parent");n=r?.root?.parents?[r.root.parent,...r.root.parents.toReversed()]:[]}let s={...e,...r.root,this:t.parent,parent:n.length>0?n[0]:null,parents:n};try{if(t.key.startsWith("$"))return W.NavigateResult.NoExplore();let i=W.NavigateResult.Explore();if(typeof t.value==="string")switch(i=await rr(o,t.value,s,r),i.action){case W.NavigateAction.Explore:break;case W.NavigateAction.ReplaceItem:t.value=i.by;break;default:return i}if(eo(t,r))i=await ro(t,o,s,r);return i}catch(i){throw Error(`${i.message}
2
+ (${o})`)}}),e},ge=(e,r)=>r?{fn:(t)=>e(...t.args),types:r}:(t)=>e(...t.args),ao=(e,r)=>Object.fromEntries(e.map((t)=>[t.name,ge(t,r?.types?.[t.name])])),io=(e,r)=>Object.fromEntries((r?.keys??Object.keys(e)).map((t)=>[t,ge(e[t],r?.types?.[t])]))});var X=j((qo,gr)=>{var so=Object.create,{getPrototypeOf:lo,defineProperty:J,getOwnPropertyNames:sr,getOwnPropertyDescriptor:uo}=Object,lr=Object.prototype.hasOwnProperty,A=(e,r,t)=>{t=e!=null?so(lo(e)):{};let o=r||!e||!e.__esModule?J(t,"default",{value:e,enumerable:!0}):t;for(let a of sr(e))if(!lr.call(o,a))J(o,a,{get:()=>e[a],enumerable:!0});return o},nr=new WeakMap,fo=(e)=>{var r=nr.get(e),t;if(r)return r;if(r=J({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")sr(e).map((o)=>!lr.call(r,o)&&J(r,o,{get:()=>e[o],enumerable:!(t=uo(e,o))||t.enumerable}));return nr.set(e,r),r},po=(e,r)=>{for(var t in r)J(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},ur={};po(ur,{writeOutputs:()=>ho,writeOutput:()=>yr,writeFormat:()=>cr,locate:()=>pr,loadFormat:()=>go,globMap:()=>vo,exists:()=>fr});gr.exports=fo(ur);var ar=A(require("fs/promises")),fr=async(e)=>{try{return await ar.default.access(e,ar.default.constants.R_OK),!0}catch{return!1}},de=A(require("path")),pr=async(e,r)=>{let t=!de.default.isAbsolute(e)&&r?["",...r]:[""];for(let o of t){let a=de.default.join(o,e);if(await fr(a))return de.default.resolve(a)}throw Error(`File not found: "${e}"`)},co=A(require("fs/promises")),mo=A(require("path")),yo=A(require("yaml")),go=async(e,r)=>{let t=await pr(e,r?.dirs),o=await co.default.readFile(t),a=mo.default.dirname(t),n={"[.](yml|yaml)$":yo.default.parse,"[.]json$":JSON.parse,...r?.parsers},s=Object.entries(n).find((i)=>t.match(i[0]));if(!s)throw Error(`Unhandled file type: ${e}`);return{content:s[1](o.toString()),fullPath:t,folderPath:a}},we=A(require("fs/promises")),wo=A(require("yaml")),cr=async(e,r,t="text")=>{switch(t){case"yaml":await we.default.writeFile(e,wo.default.stringify(r));break;case"json":await we.default.writeFile(e,JSON.stringify(r));break;case"text":default:await we.default.writeFile(e,r.toString())}},bo=A(require("fs/promises")),vo=async(e,r)=>{if(typeof e==="string"&&!e.includes("*"))return await r.map(e,0,[]);let t=await Array.fromAsync(bo.default.glob(e,{cwd:r.cwd})),o=r.filter?t.filter(r.filter):t;return await Promise.all(o.map(r.map))},mr=A(require("fs/promises")),ir=A(require("path")),ho=async(e,r)=>{if(r?.targetDirectory&&r?.removeFirst)try{await mr.default.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 yr(t,r)},yr=async(e,r)=>{let t=ir.default.join(r?.targetDirectory??".",e.name),o=ir.default.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 mr.default.mkdir(o,{recursive:!0})}catch(a){throw Error(`Failed to create target directory "${o}" for output "${t}": ${a.message}`)}try{await cr(t,e.value,e.type??"text")}catch(a){throw Error(`Failed to write output "${t}": ${a.message}`)}}});var _=j((zo,br)=>{var{defineProperty:be,getOwnPropertyNames:Oo,getOwnPropertyDescriptor:ko}=Object,Po=Object.prototype.hasOwnProperty,dr=new WeakMap,Ao=(e)=>{var r=dr.get(e),t;if(r)return r;if(r=be({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Oo(e).map((o)=>!Po.call(r,o)&&be(r,o,{get:()=>e[o],enumerable:!(t=ko(e,o))||t.enumerable}));return dr.set(e,r),r},Mo=(e,r)=>{for(var t in r)be(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},wr={};Mo(wr,{mergeAll:()=>No,merge:()=>ve});br.exports=Ao(wr);var ve=(e,r,t)=>{for(let o of Object.keys(r)){if(e[o]===void 0)continue;let a=r[o],n=e[o];if(typeof n!==typeof a||Array.isArray(n)!==Array.isArray(a)){let i=t?.mismatch?.(o,n,a,e,r);if(i!==void 0){r[o]=i;continue}throw Error(`Type mismatch: ${o}`)}let s=t?.mode?.(o,n,a,e,r)??r[".merge"]??"merge";switch(s){case"source":r[o]=n;continue;case"target":continue;case"skip":delete r[o],delete e[o];continue;case"merge":break;default:throw Error(`Unknown merge mode: ${s}`)}if(typeof n==="object")if(Array.isArray(n))a.push(...n);else{if(t?.navigate?.(o,n,a,e,r)===!1)continue;ve(n,a,t)}else{if(n===a)continue;let i=t?.conflict?.(o,n,a,e,r);r[o]=i===void 0?a:i}}for(let o of Object.keys(e))if(r[o]===void 0)r[o]=e[o]},No=(e,r)=>{let t={};for(let o of e.toReversed())ve(o,t,r);return t}});var S=j((Fn,qr)=>{var{defineProperty:Ae,getOwnPropertyNames:Co,getOwnPropertyDescriptor:$o}=Object,jo=Object.prototype.hasOwnProperty,Xr=new WeakMap,Ro=(e)=>{var r=Xr.get(e),t;if(r)return r;if(r=Ae({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Co(e).map((o)=>!jo.call(r,o)&&Ae(r,o,{get:()=>e[o],enumerable:!(t=$o(e,o))||t.enumerable}));return Xr.set(e,r),r},Eo=(e,r)=>{for(var t in r)Ae(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},Br={};Eo(Br,{tokenize:()=>Lo,snake:()=>_o,pascal:()=>Vr,padBlock:()=>To,changeCase:()=>Io,capital:()=>Do,camel:()=>Wo});qr.exports=Ro(Br);var Vr=(e)=>e.replace(/((?:[_ ]+)\w|^\w)/g,(r,t)=>t.toUpperCase()).replace(/[_ ]/g,""),Do=(e)=>e.replace(/((?:[ ]+)\w|^\w)/g,(r,t)=>t.toUpperCase()),Wo=(e)=>Vr(e).replace(/((?:[ ]+\w)|^\w)/g,(r,t)=>t.toLowerCase()),_o=(e,r)=>e.replace(/([a-z])([A-Z])/g,`$1${r}$2`).replace(/\s+/g,r),Io=(e,r)=>{switch(r){case"upper":return e.toUpperCase();case"lower":return e.toLowerCase();default:return e}},To=(e,r,t=`
3
+ `,o=" ")=>{let a=o.repeat(r);return e.split(t).map((n)=>a+n).join(t)},Lo=(e,r,t=/\${([^}]+)}/g)=>{return e.replace(t,(o,a)=>r[a]??"")}});var z=j((Gn,ot)=>{var{defineProperty:Me,getOwnPropertyNames:Fo,getOwnPropertyDescriptor:Uo}=Object,Jo=Object.prototype.hasOwnProperty,rt=new WeakMap,So=(e)=>{var r=rt.get(e),t;if(r)return r;if(r=Me({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function")Fo(e).map((o)=>!Jo.call(r,o)&&Me(r,o,{get:()=>e[o],enumerable:!(t=Uo(e,o))||t.enumerable}));return rt.set(e,r),r},xo=(e,r)=>{for(var t in r)Me(e,t,{get:r[t],enumerable:!0,configurable:!0,set:(o)=>r[t]=()=>o})},tt={};xo(tt,{toObjectWithKey:()=>Ko,toObject:()=>Ho,toList:()=>Go});ot.exports=So(tt);var Go=(e,r="name")=>Object.entries(e).map(([t,o])=>({[r]:t,...o})),Ko=(e,r="name")=>Object.fromEntries(e.map((t)=>[t[r],t])),Ho=(e,r="name")=>Object.fromEntries(e.map((t)=>{let{[r]:o,...a}=t;return[o,a]}))});var Qo={};De(Qo,{libs:()=>re,Objector:()=>ne});module.exports=Nt(Qo);var Ot=l(h(),1),ae=l(X(),1),kt=l(_(),1),Ce=l(require("path"));var vr=l(b(),1),hr=(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 vr.NavigateResult.SkipSiblings()}});var Or=l(b(),1),kr=l(require("path")),Pr=(e)=>({load:async(r)=>{let t=r.options.globalContext;for(let{file:o}of Array.isArray(r.value)?r.value:[r.value]){if(!o)throw Error("File reference required");await e.load(o,t.file&&kr.default.dirname(t.file))}return Or.NavigateResult.DeleteItem()}});var Rr=l(h(),1),Oe=l(_(),1);var Ar=l(v(),1),Mr=(e)=>{if(typeof e.value==="string")return e.parent;let r=e.value.model;if(!r)return e.parent;if(typeof r==="string")return Ar.select(e.root,r);return r};var he=l(v(),1),Nr=(e)=>{if(typeof e.value==="string")return he.select(e.root,e.value);if(Array.isArray(e.value))return e.value;let r=e.value;if(typeof r.from==="string")return he.select(e.root,r.from);return r.from};var Cr=l(h(),1),$r=l(v(),1),jr=async(e,r)=>{let t=e.value;if(t.selector===void 0)return r;if(typeof t.selector!=="string"){let o=JSON.parse(JSON.stringify(t.selector));return await Cr.processFields(o,{...e.options,root:{...e.root,result:r}}),o}return await $r.select({...e.root,result:r},t.selector)};var M=(e)=>globalThis.structuredClone!==void 0?structuredClone(e):JSON.parse(JSON.stringify(e));var N={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)=>!N.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!=="")},B={and:()=>"boolean",or:()=>"boolean",xor:()=>"boolean",true:()=>"boolean",false:()=>"boolean",lt:()=>"number",le:()=>"number",gt:()=>"number",ge:()=>"number"};var Er=()=>({each:{filters:[/select|model/],fn:async(e)=>{let r=e.value;delete e.parent[e.key];let t=await Nr(e),o=await Mr(e);if(!Array.isArray(t))throw Error('Key "each" requires a source list');if(o===void 0)throw Error('Key "each" must define a model');if(r.extend?.model)o=Oe.mergeAll([r.model,...Array.isArray(r.extend.model)?r.extend.model:[r.extend.model]]);let a=[];for(let n=0;n<t.length;n++){let s=M(o);if(await Rr.processFields(s,{...e.options,root:{...e.root,index:n,item:t[n],instance:s}}),r.extend?.result){let i=r.extend.result;s=Oe.mergeAll([s,...Array.isArray(i)?i:[i]])}a.push(await jr(e,s))}return a}}});var Dr=l(v(),1),Wr=()=>({concat:async(e)=>{let r=[];for(let t of Array.isArray(e.value)?e.value:[e.value])r.push(...await Dr.select(e.root,t));return r.filter((t)=>t!==void 0)}});var _r=l(h(),1),Ir=l(_(),1),Tr=l(b(),1),Lr=l(v(),1);var Fr=()=>({extends:async(e)=>{let r=async(t,o)=>{for(let a of Array.isArray(o)?o:[o]){let n=await Lr.select(e.root,a),s=M(n);if(s[e.key])await r(s,s[e.key]);await _r.processFields(s,{...e.options}),Ir.merge(s,t),delete t[e.key]}};return await r(e.parent,e.value),Tr.NavigateResult.Explore()}});var Ur=l(h(),1),C=l(b(),1),Jr=(e)=>({skip:{types:{0:"boolean"},fn:(r)=>r.value?C.NavigateResult.DeleteParent():C.NavigateResult.DeleteItem()},metadata:({path:r,value:t})=>{return e.metadata(r,t),C.NavigateResult.DeleteItem()},if:{types:{0:"boolean"},fn:async(r)=>{let t=r.parent[".then"],o=r.parent[".else"];if(t!==void 0)delete r.parent[".then"];if(o!==void 0)delete r.parent[".else"];let a=r.value?t:o;if(a===void 0)return C.NavigateResult.DeleteItem();if(typeof a==="string")return(await Ur.processFields({value:a},{...r.options,root:{...r.root}})).value;return C.NavigateResult.ReplaceParent(a,!0)}},switch:(r)=>{let t=r.value;if(!t.cases)throw Error("Missing cases for switch");if(t.cases[t.from]!==void 0)return C.NavigateResult.ReplaceParent(t.cases[t.from],!0);if(t.default!==void 0)return C.NavigateResult.ReplaceParent(t.default,!0);return C.NavigateResult.DeleteParent()}});var Sr=l(_(),1),xr=l(v(),1),Gr=()=>({from:async({root:e,parent:r,value:t})=>{let o=await xr.select(e,t);if(o===null||o===void 0)throw Error(`Unable to resolve reference: ${t}`);if(r.content){if(Array.isArray(r.content)&&Array.isArray(o))return[...o,...r.content];return Sr.merge(o,r.content),r.content}return o}});var Kr=l(b(),1),ke=l(require("node:vm")),Hr=(e)=>({modules:async(r)=>{for(let[t,o]of Object.entries(r.value)){let a=ke.default.createContext({console,objector:e,document:r.root}),n=new ke.default.SourceTextModule(o,{identifier:t,context:a});await n.link((s)=>{throw Error(`Module ${s} is not allowed`)}),await n.evaluate(),e.sources(Object.fromEntries(Object.entries(n.namespace).map(([s,i])=>[`${t}.${s}`,(u)=>i(u,...u.args)])))}return Kr.NavigateResult.DeleteItem()}});var E=l(X(),1),Pe=l(require("fs/promises")),I=l(require("path")),Qr=(e)=>({include:async(r)=>{let{file:t}=r.options.globalContext;return await E.globMap(r.args[0],{cwd:I.default.dirname(t),filter:(o)=>I.default.basename(t)!==o,map:async(o)=>e.load(o,I.default.dirname(t),{parent:r.root})})},exists:async({args:[r]})=>await E.exists(r),file:async(r)=>await Pe.default.readFile(await E.locate(r.args[0],e.getIncludeDirectories())).then((t)=>t.toString()),scan:async(r)=>{let t=[],a=(()=>{let i=r.args[2]??["**/node_modules/**"],u=typeof i==="string"?i.split(",").map((p)=>p.trim()):i;if(!Array.isArray(u))throw Error("Scan exclusion must be a list");return u})(),{file:n}=r.options.globalContext,s=r.args[1]?await E.locate(r.args[1],e.getIncludeDirectories()):I.default.dirname(n);for await(let i of Pe.default.glob(r.args[0],{cwd:s,exclude:(u)=>a.some((p)=>I.default.matchesGlob(u,p))}))t.push(i);return t}});var Yr=l(h(),1),Zr=()=>Yr.makeFieldProcessorMap({env:(e)=>process.env[e]});var zr=l(h(),1),d=l(S(),1),q=l(require("yaml"));var V=(e,r=0,t)=>{let o=" ".repeat(r),a=" ".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`[
4
4
  ${e.map((s)=>`${a}${V(s,r+1)},`).join(`
5
5
  `)}
6
- ${o}]`}else if(typeof e==="object"){let n=Object.entries(e).sort((i,p)=>t?.sortKeys?i[0].localeCompare(p[0]):0);if(n.length===0)return"{}";return`{
7
- ${n.map(([i,p])=>`${a}${i} = ${V(p,r+1,t)}`).join(`
6
+ ${o}]`}else if(typeof e==="object"){let n=Object.entries(e).sort((i,u)=>t?.sortKeys?i[0].localeCompare(u[0]):0);if(n.length===0)return"{}";return`{
7
+ ${n.map(([i,u])=>`${a}${i} = ${V(u,r+1,t)}`).join(`
8
8
  `)}
9
- ${o}}`}else return String(e)},J=(e)=>{if(!e)return e;return e.replaceAll("\\n",`
10
- `).replaceAll("\\$","$").replaceAll("\\t","\t")};var Xr=()=>({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 o=t.join?.[0]??`
11
- `,a=t.padChar?.[0]??" ";return d.padBlock(e,r??2,o,a)}},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 B.default.stringify(e,null,{indent:2});case"terraform":{let o=!!(t?.sort?.length||t?.sortKeys?.length);return V(e,0,{sortKeys:o})}}throw Error("Unsupported format: "+String(r))}},...Zr.makeFieldProcessorMap({pascal:d.pascal,camel:d.camel,capital:d.capital,fromYaml:B.default.parse,fromJson:JSON.parse,toYaml:(e,r)=>B.default.stringify(e,null,{indent: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)=>d.changeCase(d.snake(e,"_"),r),kebab:(e,r)=>d.changeCase(d.snake(e,"-"),r),encode:(e,r)=>Buffer.from(e).toString(r??"base64"),decode:(e,r)=>Buffer.from(e,r??"base64").toString()})});var zr=f(v(),1),z=f(q(),1),Oe=f(b(),1),et=f(U(),1);var rt=()=>({...zr.makeFieldProcessorMap({merge:(...e)=>e.flatMap((r)=>r)}),join:({args:[e],root:r,tags:t})=>{let o=t.key?.[0],a=t.separator?.[0]??t.sep?.[0],n=t.finalize?.length>0,s=J(a);if(typeof e==="string"){if(n&&e.length&&s)return e+s;return e}if(!Array.isArray(e))throw Error("Object is not a list");let i=((o?.length)?e.map((y)=>Oe.select({...r,...y},o)):e).join(s),p=t.pad?.[0]??"0",m=t.padChar?.[0]??" ",c=n&&i.length&&s?i+s:i;return p?et.padBlock(c,parseInt(p),`
12
- `,m):c},list:({args:e})=>z.toList(e[0],e[1]),object:({args:e})=>z.toObject(e[0],e[1]),range:({args:[e,r,t]})=>{let o=parseInt(e),a=parseInt(r),n=parseInt(t)||1;if(isNaN(o))throw Error("Invalid range: start value '"+String(e)+"' is not a number");if(isNaN(a))throw Error("Invalid range: end value '"+String(r)+"' is not a number");if(n===0)throw Error("Invalid range: step cannot be zero");if((a-o)/n<0)throw Error("Invalid range: step "+String(n)+" has wrong direction for range "+String(o)+" to "+String(a));return Array.from({length:Math.floor((a-o)/n)+1},(s,i)=>o+i*n)},filter:{types:(e,r,t)=>{switch(e){case 0:return"array";case 1:return Object.keys(O)}return L[t[1].value]?.(e-2,r,t.slice(2))},fn:({args:[e,r,t],root:o,tags:a})=>{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 n=a.key?.[0],s=O[r];if(n){let p=Array(e.length);for(let c=0;c<e.length;c++)try{p[c]=Oe.select({...o,...e[c]},n)}catch{p[c]=Symbol("invalid")}let m=[];for(let c=0;c<e.length;c++){let y=p[c];if(typeof y!=="symbol"&&t===void 0?s(y):s(y,t))m.push(e[c])}return m}let i=[];for(let p of e)if(t===void 0?s(p):s(p,t))i.push(p);return i}}});var tt=f(v(),1),ot=f(q(),1),S=f(b(),1),nt=f(U(),1);var at=()=>({each:{processArgs:!1,fn:async({rawArgs:[e,r,...t],root:o,options:a,tags:n})=>{let s=async(g)=>g.quoted?J(g.value):await S.select(o,g.value),i=await S.select(o,e.value),p=await s(r),m=n.key?.[0],c=Array.isArray(i)?i:ot.toList(i),y=[],$=await Promise.all(t.map(async(g)=>await s(g))),A={...o,item:void 0,index:0,params:$,instance:void 0,parent:o.this,tags:n},G={...a,root:A};for(let g=0;g<c.length;g++){let R=k(p),I={instance:R},te=typeof p==="string"?I:R;if(A.item=c[g],A.index=g,A.instance=R,n?.root?.[0])Object.assign(A,await S.select(A,n.root[0]));if(await tt.processFields(te,G),m!==void 0)y.push(await S.select(I.instance,m));else y.push(I.instance)}if(n.join?.length){if(y.length===0)return"";let g=J(n.join[0]),R=n.pad?.[0]??"0",I=n.padChar?.[0]??" ",te=n.finalize?.length&&g?g:"",Pe=`${y.join(g)}${te}`;return R?nt.padBlock(Pe,parseInt(R),`
13
- `,I):Pe}return y}}});var it=f(b(),1),x=async(e,r,t)=>e.rawArgs[r].quoted?e.rawArgs[r].value:await it.select(e.root,e.rawArgs[r].value,{defaultValue:t}),st=()=>({switch:{processArgs:!1,fn:async(e)=>{let r=await x(e,0,!1),t=await x(e,1);if(t[r]===void 0){if(e.rawArgs.length>2)return x(e,2);throw Error(`Unhandled switch case: ${r}`)}return t[r]}}});var lt=f(v(),1),ut=()=>lt.makeFieldProcessorMap({log:console.log});var ft=f(v(),1);var pt=()=>({if:{types:{0:"boolean"},fn:(e)=>e.args[0]?e.args[1]:e.args[2]},check:{types:{0:Object.keys(O)},fn:(e)=>O[e.args[0]](...e.args.slice(1))},...ft.makeFieldProcessorMap(O,{types:L})});var ct=f(w(),1);var mt=()=>({default:{processArgs:!1,fn:async(e)=>{for(let r=0;r<e.rawArgs.length;r++)if(e.rawArgs[r]?.value!==void 0){let o=await x(e,r,null);if(o!==null)return o}if(e.tags.nullable?.length)return ct.NavigateResult.DeleteItem();if(e.tags.fail?.length)throw Error(`No valid value found for default (${e.rawArgs.map((r)=>r.value).join(", ")})`);return""}}});var W=f(w(),1),yt=()=>({convert:({args:[e,r,t]})=>{switch(r){case"string":return String(e);case"number":{let o=Number(e);if(!isNaN(o))return W.NavigateResult.ReplaceItem(o);break}case"boolean":if(e==="true"||e===!0||e===1||e==="1"||e==="yes"||e==="on")return W.NavigateResult.ReplaceItem(!0);else if(e==="false"||e===!1||e===0||e==="0"||e==="no"||e==="off")return W.NavigateResult.ReplaceItem(!1);break;default:throw Error(`Unsupported type for convert: ${r}`)}if(t!==void 0)return W.NavigateResult.ReplaceItem(t);throw Error(`Failed to convert value to ${r}`)},isType:({args:[e,r]})=>{let o=(()=>{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 W.NavigateResult.ReplaceItem(o)},typeOf:({args:[e]})=>{if(e===null)return"null";else if(Array.isArray(e))return"array";else return typeof e}});var gt=(e)=>e.keys(mr(e)).keys(dr(e)).keys($r()).keys(Ur()).keys(jr()).keys(_r()).keys(Ir(e)).keys(Sr(e)).sources(xr(e)).sources(Kr()).sources(Xr()).sources(yt()).sources(rt()).sources(at()).sources(st()).sources(ut()).sources(pt()).sources(mt());var l={};Q(l,{deepClone:()=>k,conditionPredicates:()=>O,Objector:()=>ee});u(l,f(v(),1),module.exports);u(l,f(X(),1),module.exports);u(l,f(U(),1),module.exports);u(l,f(q(),1),module.exports);u(l,f(b(),1),module.exports);u(l,f(F(),1),module.exports);u(l,f(D(),1),module.exports);u(l,f(w(),1),module.exports);class ee{includeDirectories=[];includes=[];outputs=[];vars={};cache={};fields={sources:{},keys:{}};objectMetadata={};constructor(){this.use(gt)}use(e){return e(this),this}includeDirectory(...e){return this.includeDirectories.push(...e),this}getIncludeDirectories(){return this.includeDirectories}include(...e){return this.includes.push(...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}filter(e){return this.fields.filters??=[],this.fields.filters?.push(e),this}async docIncludes(e,r){let t=[];if(e.content.includes)t.push(...e.content.includes),delete e.content.includes;t.push(...this.includes),this.includes.length=0;for(let o of t)bt.merge(await this.load(o,e.folderPath,{parent:e.content,...r},!0),e.content)}async loadObject(e,r,t){return await wt.processFields(e,{...this.fields,globalContext:{file:t?.fullPath??"@internal"},root:{...this.fields.root,...this.vars,$document:{root:{content:e},fileName:t?.fileName??"@internal",folder:t?.folderPath??"@internal",fullPath:t?.fullPath??"@internal",...r}}}),e}async load(e,r,t,o){let a=r?[r]:[];a.push(...this.includeDirectories.map((c)=>Ae.default.isAbsolute(c)?c:Ae.default.join(r??process.cwd(),c)));let n=await re.loadFormat(e,{dirs:a});if(!n.content)return null;let s=n.fullPath,i=this.cache[s]??n.content,p=k(i);n.content=p,await this.docIncludes(n,t);let m;if(o!==!0)m=await this.loadObject(n.content,t,{fileName:n.fullPath,folderPath:n.folderPath,fullPath:n.fullPath});else m=n.content;return this.cache[s]??=i,m}async writeOutputs(e){await re.writeOutputs(this.getOutputs(),e)}}var Go=l;
9
+ ${o}}`}else return String(e)},x=(e)=>{if(!e)return e;return e.replaceAll("\\n",`
10
+ `).replaceAll("\\$","$").replaceAll("\\t","\t")};var et=()=>({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 o=t.join?.[0]??`
11
+ `,a=t.padChar?.[0]??" ";return d.padBlock(e,r??2,o,a)}},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 q.default.stringify(e,null,{indent:2});case"terraform":{let o=!!(t?.sort?.length||t?.sortKeys?.length);return V(e,0,{sortKeys:o})}}throw Error("Unsupported format: "+String(r))}},...zr.makeFieldProcessorMap({pascal:d.pascal,camel:d.camel,capital:d.capital,fromYaml:q.default.parse,fromJson:JSON.parse,toYaml:(e,r)=>q.default.stringify(e,null,{indent: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)=>d.changeCase(d.snake(e,"_"),r),kebab:(e,r)=>d.changeCase(d.snake(e,"-"),r),encode:(e,r)=>Buffer.from(e).toString(r??"base64"),decode:(e,r)=>Buffer.from(e,r??"base64").toString()})});var nt=l(h(),1),ee=l(z(),1),Ne=l(v(),1),at=l(S(),1);var it=()=>({...nt.makeFieldProcessorMap({merge:(...e)=>e.flatMap((r)=>r)}),join:({args:[e],root:r,tags:t})=>{let o=t.key?.[0],a=t.separator?.[0]??t.sep?.[0],n=t.finalize?.length>0,s=x(a);if(typeof e==="string"){if(n&&e.length&&s)return e+s;return e}if(!Array.isArray(e))throw Error("Object is not a list");let i=((o?.length)?e.map((y)=>Ne.select({...r,...y},o)):e).join(s),u=t.pad?.[0]??"0",p=t.padChar?.[0]??" ",f=n&&i.length&&s?i+s:i;return u?at.padBlock(f,parseInt(u),`
12
+ `,p):f},list:({args:e})=>ee.toList(e[0],e[1]),object:({args:e})=>ee.toObject(e[0],e[1]),range:({args:[e,r,t]})=>{let o=parseInt(e),a=parseInt(r),n=parseInt(t)||1;if(isNaN(o))throw Error("Invalid range: start value '"+String(e)+"' is not a number");if(isNaN(a))throw Error("Invalid range: end value '"+String(r)+"' is not a number");if(n===0)throw Error("Invalid range: step cannot be zero");if((a-o)/n<0)throw Error("Invalid range: step "+String(n)+" has wrong direction for range "+String(o)+" to "+String(a));return Array.from({length:Math.floor((a-o)/n)+1},(s,i)=>o+i*n)},filter:{types:(e,r,t)=>{switch(e){case 0:return"array";case 1:return Object.keys(N)}return B[t[1].value]?.(e-2,r,t.slice(2))},fn:({args:[e,r,t],root:o,tags:a})=>{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 n=a.key?.[0],s=N[r];if(n){let u=Array(e.length);for(let f=0;f<e.length;f++)try{u[f]=Ne.select({...o,...e[f]},n)}catch{u[f]=Symbol("invalid")}let p=[];for(let f=0;f<e.length;f++){let y=u[f];if(typeof y!=="symbol"&&t===void 0?s(y):s(y,t))p.push(e[f])}return p}let i=[];for(let u of e)if(t===void 0?s(u):s(u,t))i.push(u);return i}}});var st=l(h(),1),lt=l(z(),1),G=l(v(),1),ut=l(S(),1);var ft=()=>({each:{processArgs:!1,fn:async({rawArgs:[e,r,...t],root:o,options:a,tags:n})=>{let s=async(g)=>g.quoted?x(g.value):await G.select(o,g.value),i=await G.select(o,e.value),u=await s(r),p=n.key?.[0],f=Array.isArray(i)?i:lt.toList(i),y=[],$=await Promise.all(t.map(async(g)=>await s(g))),P={...o,item:void 0,index:0,params:$,instance:void 0,parent:o.this,tags:n},H={...a,root:P};for(let g=0;g<f.length;g++){let D=M(u),F={instance:D},ie=typeof u==="string"?F:D;if(P.item=f[g],P.index=g,P.instance=D,n?.root?.[0])Object.assign(P,await G.select(P,n.root[0]));if(await st.processFields(ie,H),p!==void 0)y.push(await G.select(F.instance,p));else y.push(F.instance)}if(n.join?.length){if(y.length===0)return"";let g=x(n.join[0]),D=n.pad?.[0]??"0",F=n.padChar?.[0]??" ",ie=n.finalize?.length&&g?g:"",$e=`${y.join(g)}${ie}`;return D?ut.padBlock($e,parseInt(D),`
13
+ `,F):$e}return y}}});var pt=l(v(),1),K=async(e,r,t)=>e.rawArgs[r].quoted?e.rawArgs[r].value:await pt.select(e.root,e.rawArgs[r].value,{defaultValue:t}),ct=()=>({switch:{processArgs:!1,fn:async(e)=>{let r=await K(e,0,!1),t=await K(e,1);if(t[r]===void 0){if(e.rawArgs.length>2)return K(e,2);throw Error(`Unhandled switch case: ${r}`)}return t[r]}}});var mt=l(h(),1),yt=()=>mt.makeFieldProcessorMap({log:console.log});var gt=l(h(),1);var dt=()=>({if:{types:{0:"boolean"},fn:(e)=>e.args[0]?e.args[1]:e.args[2]},check:{types:{0:Object.keys(N)},fn:(e)=>N[e.args[0]](...e.args.slice(1))},...gt.makeFieldProcessorMap(N,{types:B})});var wt=l(b(),1);var bt=()=>({default:{processArgs:!1,fn:async(e)=>{for(let r=0;r<e.rawArgs.length;r++)if(e.rawArgs[r]?.value!==void 0){let o=await K(e,r,null);if(o!==null)return o}if(e.tags.nullable?.length)return wt.NavigateResult.DeleteItem();if(e.tags.fail?.length)throw Error(`No valid value found for default (${e.rawArgs.map((r)=>r.value).join(", ")})`);return""}}});var T=l(b(),1),vt=()=>({convert:({args:[e,r,t]})=>{switch(r){case"string":return String(e);case"number":{let o=Number(e);if(!isNaN(o))return T.NavigateResult.ReplaceItem(o);break}case"boolean":if(e==="true"||e===!0||e===1||e==="1"||e==="yes"||e==="on")return T.NavigateResult.ReplaceItem(!0);else if(e==="false"||e===!1||e===0||e==="0"||e==="no"||e==="off")return T.NavigateResult.ReplaceItem(!1);break;default:throw Error(`Unsupported type for convert: ${r}`)}if(t!==void 0)return T.NavigateResult.ReplaceItem(t);throw Error(`Failed to convert value to ${r}`)},isType:({args:[e,r]})=>{let o=(()=>{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 T.NavigateResult.ReplaceItem(o)},typeOf:({args:[e]})=>{if(e===null)return"null";else if(Array.isArray(e))return"array";else return typeof e}});var ht=(e)=>e.keys(hr(e)).keys(Pr(e)).keys(Er()).keys(Gr()).keys(Wr()).keys(Fr()).keys(Jr(e)).keys(Hr(e)).sources(Qr(e)).sources(Zr()).sources(et()).sources(vt()).sources(it()).sources(ft()).sources(ct()).sources(yt()).sources(dt()).sources(bt());var re={};De(re,{writeOutputs:()=>m.writeOutputs,writeOutput:()=>m.writeOutput,writeFormat:()=>m.writeFormat,tokenize:()=>w.tokenize,toObjectWithKey:()=>L.toObjectWithKey,toObject:()=>L.toObject,toList:()=>L.toList,splitWithQuotes:()=>oe.splitWithQuotes,splitNested:()=>oe.splitNested,snake:()=>w.snake,select:()=>te.select,processFields:()=>c.processFields,pascal:()=>w.pascal,padBlock:()=>w.padBlock,navigate:()=>O.navigate,mergeAll:()=>R.mergeAll,merge:()=>R.merge,makeFieldProcessorMap:()=>c.makeFieldProcessorMap,makeFieldProcessorList:()=>c.makeFieldProcessorList,makeFieldProcessor:()=>c.makeFieldProcessor,locate:()=>m.locate,loadFormat:()=>m.loadFormat,globMap:()=>m.globMap,find:()=>O.find,exists:()=>m.exists,deepClone:()=>M,conditionPredicates:()=>N,changeCase:()=>w.changeCase,capital:()=>w.capital,camel:()=>w.camel,WriteOutputsOption:()=>m.WriteOutputsOption,WriteOutputOption:()=>m.WriteOutputOption,SelectOptions:()=>te.SelectOptions,ProcessFieldsOptions:()=>c.ProcessFieldsOptions,Output:()=>m.Output,Objector:()=>ne,NavigateResult:()=>O.NavigateResult,NavigateContext:()=>O.NavigateContext,NavigateCallback:()=>O.NavigateCallback,NavigateAction:()=>O.NavigateAction,MergeOptions:()=>R.MergeOptions,MergeMode:()=>R.MergeMode,LoadResult:()=>m.LoadResult,LoadOptions:()=>m.LoadOptions,FieldProcessorTypedFunc:()=>c.FieldProcessorTypedFunc,FieldProcessorTypeCheckers:()=>c.FieldProcessorTypeCheckers,FieldProcessorTypeChecker:()=>c.FieldProcessorTypeChecker,FieldProcessorOptions:()=>c.FieldProcessorOptions,FieldProcessorMap:()=>c.FieldProcessorMap,FieldProcessorFunc:()=>c.FieldProcessorFunc,FieldProcessor:()=>c.FieldProcessor,FieldContext:()=>c.FieldContext});var c=l(h(),1),m=l(X(),1),R=l(_(),1),O=l(b(),1),L=l(z(),1),te=l(v(),1),oe=l(Q(),1),w=l(S(),1);globalThis.homedev=re;class ne{includeDirectories=[];includes=[];outputs=[];vars={};cache={};fields={sources:{},keys:{}};objectMetadata={};constructor(){this.use(ht)}use(e){return e(this),this}includeDirectory(...e){return this.includeDirectories.push(...e),this}getIncludeDirectories(){return this.includeDirectories}include(...e){return this.includes.push(...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}filter(e){return this.fields.filters??=[],this.fields.filters?.push(e),this}async docIncludes(e,r){let t=[];if(e.content.includes)t.push(...e.content.includes),delete e.content.includes;t.push(...this.includes),this.includes.length=0;for(let o of t)kt.merge(await this.load(o,e.folderPath,{parent:e.content,...r},!0),e.content)}async loadObject(e,r,t){return await Ot.processFields(e,{...this.fields,globalContext:{file:t?.fullPath??"@internal"},root:{...this.fields.root,...this.vars,$document:{root:{content:e},fileName:t?.fileName??"@internal",folder:t?.folderPath??"@internal",fullPath:t?.fullPath??"@internal",...r}}}),e}async load(e,r,t,o){let a=r?[r]:[];a.push(...this.includeDirectories.map((f)=>Ce.default.isAbsolute(f)?f:Ce.default.join(r??process.cwd(),f)));let n=await ae.loadFormat(e,{dirs:a});if(!n.content)return null;let s=n.fullPath,i=this.cache[s]??n.content,u=M(i);n.content=u,await this.docIncludes(n,t);let p;if(o!==!0)p=await this.loadObject(n.content,t,{fileName:n.fullPath,folderPath:n.folderPath,fullPath:n.fullPath});else p=n.content;return this.cache[s]??=i,p}async writeOutputs(e){await ae.writeOutputs(this.getOutputs(),e)}}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@homedev/objector",
3
- "version": "1.2.30",
3
+ "version": "1.2.31",
4
4
  "description": "object extensions for YAML/JSON",
5
5
  "author": "julzor",
6
6
  "license": "ISC",
7
7
  "main": "dist/index.js",
8
8
  "type": "module",
9
+ "types": "./index.d.ts",
9
10
  "dependencies": {
10
11
  "yaml": "^2.8.2"
11
12
  },