@homedev/objector 1.2.29 → 1.2.30
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.js +11 -9
- package/package.json +1 -10
package/dist/index.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
var zr=Object.create;var{getPrototypeOf:Vr,defineProperty:F,getOwnPropertyNames:D,getOwnPropertyDescriptor:xr}=Object,L=Object.prototype.hasOwnProperty,t=(r,e,o)=>{for(let s of D(e))if(!L.call(r,s)&&s!=="default")F(r,s,{get:()=>e[s],enumerable:!0});if(o){for(let s of D(e))if(!L.call(o,s)&&s!=="default")F(o,s,{get:()=>e[s],enumerable:!0});return o}},k=(r,e,o)=>{o=r!=null?zr(Vr(r)):{};let s=e||!r||!r.__esModule?F(o,"default",{value:r,enumerable:!0}):o;for(let m of D(r))if(!L.call(s,m))F(s,m,{get:()=>r[m],enumerable:!0});return s},W=new WeakMap,vr=(r)=>{var e=W.get(r),o;if(e)return e;if(e=F({},"__esModule",{value:!0}),r&&typeof r==="object"||typeof r==="function")D(r).map((s)=>!L.call(e,s)&&F(e,s,{get:()=>r[s],enumerable:!(o=xr(r,s))||o.enumerable}));return W.set(r,e),e};var I=(r,e)=>{for(var o in e)F(r,o,{get:e[o],enumerable:!0,configurable:!0,set:(s)=>e[o]=()=>s})};var Hr={};I(Hr,{default:()=>re,Objector:()=>U});module.exports=vr(Hr);var Qr=require("@homedev/fields"),h=require("@homedev/files"),Wr=require("@homedev/merge"),H=k(require("path"));var X=require("@homedev/navigate"),Z=(r)=>({output:(e)=>{delete e.parent[e.key];for(let o of Array.isArray(e.value)?e.value:[e.value])if(typeof o==="string")r.output({name:o,value:e.parent});else r.output({...o,value:o.value??e.parent});return X.NavigateResult.SkipSiblings()}});var z=require("@homedev/navigate"),V=k(require("path")),x=(r)=>({load:async(e)=>{let o=e.options.globalContext;for(let{file:s}of Array.isArray(e.value)?e.value:[e.value]){if(!s)throw Error("File reference required");await r.load(s,o.file&&V.default.dirname(o.file))}return z.NavigateResult.DeleteItem()}});var fr=require("@homedev/fields"),_=require("@homedev/merge");var v=require("@homedev/select"),rr=(r)=>{if(typeof r.value==="string")return r.parent;let e=r.value.model;if(!e)return r.parent;if(typeof e==="string")return v.select(r.root,e);return e};var Y=require("@homedev/select"),er=(r)=>{if(typeof r.value==="string")return Y.select(r.root,r.value);if(Array.isArray(r.value))return r.value;let e=r.value;if(typeof e.from==="string")return Y.select(r.root,e.from);return e.from};var or=require("@homedev/fields"),nr=require("@homedev/select"),tr=async(r,e)=>{let o=r.value;if(o.selector===void 0)return e;if(typeof o.selector!=="string"){let s=JSON.parse(JSON.stringify(o.selector));return await or.processFields(s,{...r.options,root:{...r.root,result:e}}),s}return await nr.select({...r.root,result:e},o.selector)};var sr={};I(sr,{deepClone:()=>g});var g=(r)=>globalThis.structuredClone!==void 0?structuredClone(r):JSON.parse(JSON.stringify(r));var ir={};I(ir,{conditionPredicatesTypes:()=>R,conditionPredicates:()=>w});var w={and:(...r)=>r.every((e)=>!!e),or:(...r)=>r.some((e)=>!!e),xor:(...r)=>r.filter((e)=>!!e).length===1,true:(...r)=>r.every((e)=>!!e),false:(...r)=>r.every((e)=>!e),eq:(...r)=>r.every((e)=>e===r[0]),ne:(...r)=>r.some((e)=>e!==r[0]),lt:(...r)=>typeof r[0]==="number"&&r.slice(1).every((e)=>typeof e==="number"&&r[0]<e),le:(...r)=>typeof r[0]==="number"&&r.slice(1).every((e)=>typeof e==="number"&&r[0]<=e),gt:(...r)=>typeof r[0]==="number"&&r.slice(1).every((e)=>typeof e==="number"&&r[0]>e),ge:(...r)=>typeof r[0]==="number"&&r.slice(1).every((e)=>typeof e==="number"&&r[0]>=e),in:(r,e)=>{if(Array.isArray(e))return e.includes(r);if(typeof r==="string")return r.includes(e);if(Array.isArray(r))return r.includes(e);return!1},notin:(r,e)=>!w.in(r,e),contains:(r,e)=>r.includes(e),notcontains:(r,e)=>!r.includes(e),containsi:(r,e)=>r.toLowerCase().includes(e.toLowerCase()),notcontainsi:(r,e)=>!r.toLowerCase().includes(e.toLowerCase()),null:(...r)=>r.every((e)=>e===null||e===void 0),notnull:(...r)=>r.every((e)=>e!==null&&e!==void 0),empty:(...r)=>r.every((e)=>e===""),notempty:(...r)=>r.every((e)=>e!==""),nullorempty:(...r)=>r.every((e)=>e===null||e===void 0||e===""),notnullorempty:(...r)=>r.every((e)=>e!==null&&e!==void 0&&e!=="")},R={and:()=>"boolean",or:()=>"boolean",xor:()=>"boolean",true:()=>"boolean",false:()=>"boolean",lt:()=>"number",le:()=>"number",gt:()=>"number",ge:()=>"number"};var mr=()=>({each:{filters:[/select|model/],fn:async(r)=>{let e=r.value;delete r.parent[r.key];let o=await er(r),s=await rr(r);if(!Array.isArray(o))throw Error('Key "each" requires a source list');if(s===void 0)throw Error('Key "each" must define a model');if(e.extend?.model)s=_.mergeAll([e.model,...Array.isArray(e.extend.model)?e.extend.model:[e.extend.model]]);let m=[];for(let i=0;i<o.length;i++){let f=g(s);if(await fr.processFields(f,{...r.options,root:{...r.root,index:i,item:o[i],instance:f}}),e.extend?.result){let p=e.extend.result;f=_.mergeAll([f,...Array.isArray(p)?p:[p]])}m.push(await tr(r,f))}return m}}});var pr=require("@homedev/select"),ar=()=>({concat:async(r)=>{let e=[];for(let o of Array.isArray(r.value)?r.value:[r.value])e.push(...await pr.select(r.root,o));return e.filter((o)=>o!==void 0)}});var lr=require("@homedev/fields"),yr=require("@homedev/merge"),ur=require("@homedev/navigate"),dr=require("@homedev/select");var cr=()=>({extends:async(r)=>{let e=async(o,s)=>{for(let m of Array.isArray(s)?s:[s]){let i=await dr.select(r.root,m),f=g(i);if(f[r.key])await e(f,f[r.key]);await lr.processFields(f,{...r.options}),yr.merge(f,o),delete o[r.key]}};return await e(r.parent,r.value),ur.NavigateResult.Explore()}});var gr=require("@homedev/fields"),b=require("@homedev/navigate"),wr=(r)=>({skip:{types:{0:"boolean"},fn:(e)=>e.value?b.NavigateResult.DeleteParent():b.NavigateResult.DeleteItem()},metadata:({path:e,value:o})=>{return r.metadata(e,o),b.NavigateResult.DeleteItem()},if:{types:{0:"boolean"},fn:async(e)=>{let o=e.parent[".then"],s=e.parent[".else"];if(o!==void 0)delete e.parent[".then"];if(s!==void 0)delete e.parent[".else"];let m=e.value?o:s;if(m===void 0)return b.NavigateResult.DeleteItem();if(typeof m==="string")return(await gr.processFields({value:m},{...e.options,root:{...e.root}})).value;return b.NavigateResult.ReplaceParent(m,!0)}},switch:(e)=>{let o=e.value;if(!o.cases)throw Error("Missing cases for switch");if(o.cases[o.from]!==void 0)return b.NavigateResult.ReplaceParent(o.cases[o.from],!0);if(o.default!==void 0)return b.NavigateResult.ReplaceParent(o.default,!0);return b.NavigateResult.DeleteParent()}});var br=require("@homedev/merge"),Fr=require("@homedev/select"),Ar=()=>({from:async({root:r,parent:e,value:o})=>{let s=await Fr.select(r,o);if(s===null||s===void 0)throw Error(`Unable to resolve reference: ${o}`);if(e.content){if(Array.isArray(e.content)&&Array.isArray(s))return[...s,...e.content];return br.merge(s,e.content),e.content}return s}});var Mr=require("@homedev/navigate"),K=k(require("node:vm")),Pr=(r)=>({modules:async(e)=>{for(let[o,s]of Object.entries(e.value)){let m=K.default.createContext({console,objector:r,document:e.root}),i=new K.default.SourceTextModule(s,{identifier:o,context:m});await i.link((f)=>{throw Error(`Module ${f} is not allowed`)}),await i.evaluate(),r.sources(Object.fromEntries(Object.entries(i.namespace).map(([f,p])=>[`${o}.${f}`,(a)=>p(a,...a.args)])))}return Mr.NavigateResult.DeleteItem()}});var A=require("@homedev/files"),B=k(require("fs/promises")),C=k(require("path")),kr=(r)=>({include:async(e)=>{let{file:o}=e.options.globalContext;return await A.globMap(e.args[0],{cwd:C.default.dirname(o),filter:(s)=>C.default.basename(o)!==s,map:async(s)=>r.load(s,C.default.dirname(o),{parent:e.root})})},exists:async({args:[e]})=>await A.exists(e),file:async(e)=>await B.default.readFile(await A.locate(e.args[0],r.getIncludeDirectories())).then((o)=>o.toString()),scan:async(e)=>{let o=[],m=(()=>{let p=e.args[2]??["**/node_modules/**"],a=typeof p==="string"?p.split(",").map((y)=>y.trim()):p;if(!Array.isArray(a))throw Error("Scan exclusion must be a list");return a})(),{file:i}=e.options.globalContext,f=e.args[1]?await A.locate(e.args[1],r.getIncludeDirectories()):C.default.dirname(i);for await(let p of B.default.glob(e.args[0],{cwd:f,exclude:(a)=>m.some((y)=>C.default.matchesGlob(a,y))}))o.push(p);return o}});var Cr=require("@homedev/fields"),Or=()=>Cr.makeFieldProcessorMap({env:(r)=>process.env[r]});var jr=require("@homedev/fields"),d=require("@homedev/string-utils"),$=k(require("yaml"));var J=(r,e=0,o)=>{let s=" ".repeat(e),m=" ".repeat(e+1);if(r===null||r===void 0)return"null";else if(typeof r==="boolean")return String(r);else if(typeof r==="number")return String(r);else if(typeof r==="string")return`"${r.replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}"`;else if(Array.isArray(r)){if(r.length===0)return"[]";return`[
|
|
2
|
-
${r.map((
|
|
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`[
|
|
4
|
+
${e.map((s)=>`${a}${V(s,r+1)},`).join(`
|
|
3
5
|
`)}
|
|
4
|
-
${
|
|
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
8
|
`)}
|
|
7
|
-
${
|
|
8
|
-
`).replaceAll("\\$","$").replaceAll("\\t","\t")};var
|
|
9
|
-
`,
|
|
10
|
-
`,
|
|
11
|
-
`,
|
|
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;
|
package/package.json
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@homedev/objector",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.30",
|
|
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
9
|
"dependencies": {
|
|
10
|
-
"@homedev/fields": "^1.2.12",
|
|
11
|
-
"@homedev/files": "^1.0.4",
|
|
12
|
-
"@homedev/merge": "^1.0.3",
|
|
13
|
-
"@homedev/navigate": "^1.1.3",
|
|
14
|
-
"@homedev/object-utils": "^1.0.3",
|
|
15
|
-
"@homedev/rest": "^0.0.9",
|
|
16
|
-
"@homedev/select": "^1.1.3",
|
|
17
|
-
"@homedev/split": "^1.1.4",
|
|
18
|
-
"@homedev/string-utils": "^1.0.9",
|
|
19
10
|
"yaml": "^2.8.2"
|
|
20
11
|
},
|
|
21
12
|
"typings": "dist/index.d.ts"
|