@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.
- package/dist/index.d.ts +159 -0
- package/dist/index.js +10 -10
- package/package.json +2 -1
package/dist/index.d.ts
ADDED
|
@@ -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},
|
|
3
|
-
`,o=" ")=>{let a=o.repeat(r);return e.split(t).map((n)=>a+n).join(t)},
|
|
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,
|
|
7
|
-
${n.map(([i,
|
|
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)},
|
|
10
|
-
`).replaceAll("\\$","$").replaceAll("\\t","\t")};var
|
|
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
|
|
12
|
-
`,
|
|
13
|
-
`,
|
|
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.
|
|
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
|
},
|