@homedev/fields 1.2.13 → 1.2.15
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 +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var O0=Object.create;var{getPrototypeOf:f0,defineProperty:w,getOwnPropertyNames:k0}=Object;var S0=Object.prototype.hasOwnProperty;var J=(P,b,y)=>{y=P!=null?O0(f0(P)):{};let M=b||!P||!P.__esModule?w(y,"default",{value:P,enumerable:!0}):y;for(let O of k0(P))if(!S0.call(M,O))w(M,O,{get:()=>P[O],enumerable:!0});return M};var Y=(P,b)=>()=>(b||P((b={exports:{}}).exports,b),b.exports);var K=Y((z0,x)=>{var{defineProperty:Z,getOwnPropertyNames:F0,getOwnPropertyDescriptor:_0}=Object,C0=Object.prototype.hasOwnProperty,h=new WeakMap,G0=(P)=>{var b=h.get(P),y;if(b)return b;if(b=Z({},"__esModule",{value:!0}),P&&typeof P==="object"||typeof P==="function")F0(P).map((M)=>!C0.call(b,M)&&Z(b,M,{get:()=>P[M],enumerable:!(y=_0(P,M))||y.enumerable}));return h.set(P,b),b},H0=(P,b)=>{for(var y in b)Z(P,y,{get:b[y],enumerable:!0,configurable:!0,set:(M)=>b[y]=()=>M})},g={};H0(g,{splitWithQuotes:()=>T0,splitNested:()=>J0});x.exports=G0(g);var J0=(P,b,y="(",M=")")=>{let O=0,D="",f=[];for(let E of P){if(D+=E,E===y)O++;if(E===M)O--;if(O===0&&E===b)f.push(D.slice(0,-1)),D=""}if(D)f.push(D);return f},T0=(P,b=",")=>{let y=[],M=P.length,O=b.length,D=0,f=(E)=>{if(E+O>M)return!1;for(let k=0;k<O;k++)if(P[E+k]!==b[k])return!1;return!0};while(D<M){while(D<M&&P[D]===" ")D++;if(D>=M)break;let E="",k=P[D]==='"'||P[D]==="'";if(k){let S=P[D++];while(D<M&&P[D]!==S)E+=P[D++];if(D<M)D++}else{while(D<M&&!f(D)){let S=P[D];if(S==='"'||S==="'"){E+=S,D++;while(D<M&&P[D]!==S)E+=P[D++];if(D<M)E+=P[D++]}else E+=P[D++]}E=E.trim()}if(E)y.push({value:E,quoted:k});if(f(D))D+=O}return y}});var U=Y((e0,l)=>{var{defineProperty:N,getOwnPropertyNames:W0,getOwnPropertyDescriptor:U0}=Object,I0=Object.prototype.hasOwnProperty,v=new WeakMap,L0=(P)=>{var b=v.get(P),y;if(b)return b;if(b=N({},"__esModule",{value:!0}),P&&typeof P==="object"||typeof P==="function")W0(P).map((M)=>!I0.call(b,M)&&N(b,M,{get:()=>P[M],enumerable:!(y=U0(P,M))||y.enumerable}));return v.set(P,b),b},Q0=(P,b)=>{for(var y in b)N(P,y,{get:b[y],enumerable:!0,configurable:!0,set:(M)=>b[y]=()=>M})},V={};Q0(V,{navigate:()=>n,find:()=>$0,NavigateResult:()=>_,NavigateAction:()=>i});l.exports=L0(V);var i;((P)=>{P[P.Explore=0]="Explore",P[P.SkipSiblings=1]="SkipSiblings",P[P.NoExplore=2]="NoExplore",P[P.ReplaceParent=3]="ReplaceParent",P[P.DeleteParent=4]="DeleteParent",P[P.MergeParent=5]="MergeParent",P[P.ReplaceItem=6]="ReplaceItem",P[P.DeleteItem=7]="DeleteItem"})(i||={});class _{action;by;skipSibilings;reexplore;constructor(P,b,y,M){this.action=P,this.by=b,this.skipSibilings=y,this.reexplore=M}static ReplaceParent(P,b){return new _(3,P,void 0,b)}static SkipSiblings(){return new _(1)}static Explore(){return new _(0)}static NoExplore(){return new _(2)}static DeleteParent(){return new _(4)}static MergeParent(P){return new _(5,P)}static ReplaceItem(P,b){return new _(6,P,b)}static DeleteItem(P){return new _(7,void 0,P)}}var n=async(P,b)=>{let y=async(O)=>{let D=O.key===null,f=D?{action:0}:await b(O);if(O.value&&typeof O.value==="object"&&f.action==0){if(!D)O.path.push(O.key),O.parents.push(O.parent);while(await M(O));if(!D)O.parents.pop(),O.path.pop()}return f},M=async(O)=>{for(let[D,f]of Object.entries(O.value)){let E=await y({key:D,value:f,path:O.path,parent:O.value,parents:O.parents});switch(E.action){case 3:if(!O.key)throw Error("Cannot replace root");if(O.parent[O.key]=E.by,E.reexplore)return O.value=E.by,!0;return;case 4:delete O.parent[O.key];return;case 5:delete O.value[D],Object.assign(O.value,E.by);break;case 1:return;case 6:if(O.value[D]=E.by,E.skipSibilings)return;break;case 7:if(delete O.value[D],E.skipSibilings)return;break}}};await y({key:null,value:P,path:[],parent:null,parents:[]})},$0=async(P,b)=>{let y=[];return await n(P,(M)=>{if(b([...M.path,M.key].join("."),M.value))y.push(M.value);return _.Explore()}),y}});var m=Y((q0,u)=>{var{defineProperty:R,getOwnPropertyNames:X0,getOwnPropertyDescriptor:Y0}=Object,Z0=Object.prototype.hasOwnProperty,p=new WeakMap,K0=(P)=>{var b=p.get(P),y;if(b)return b;if(b=R({},"__esModule",{value:!0}),P&&typeof P==="object"||typeof P==="function")X0(P).map((M)=>!Z0.call(b,M)&&R(b,M,{get:()=>P[M],enumerable:!(y=Y0(P,M))||y.enumerable}));return p.set(P,b),b},N0=(P,b)=>{for(var y in b)R(P,y,{get:b[y],enumerable:!0,configurable:!0,set:(M)=>b[y]=()=>M})},c={};N0(c,{select:()=>B});u.exports=K0(c);var j0=K(),j=(P,b,y,M)=>{if(P.startsWith("{")){let O=P.substring(1,P.length-1);return B(b,O,y).toString()}return M?P:void 0},R0=(P,b,y,M)=>{let O=j(b,y,M);if(O)return B(P,O,M);let D=/^\[([^=\]]*)([=]*)([^\]]*)\]$/.exec(b);if(D){let[E,k,S,F]=D,G=j(k.trim(),y,M,!0),H=j(F.trim(),y,M,!0);if(Array.isArray(P))switch(S){case"==":case"=":return P.find((W)=>W[G]==H)}}let f=/^([^[\]]*)\[([^\]]*)]/.exec(b);if(f)return P[f[1]][f[2]];return P[b]},B=(P,b,y)=>{let M=void 0,O=void 0;b??="";let D=(F)=>F?.endsWith("?")?[F.substring(0,F.length-1),!0]:[F,!1],f=(F,G)=>{let[H,W]=D(G.pop());if(H){let r=R0(F,H,P,y);if(r===void 0){if(W||y?.defaultValue!==void 0||y?.optional)return;throw Error(`Unknown path element: "${H}" in "${b}"`)}return M=F,O=H,f(r,G)}if(y?.set&&O)M[O]=y?.set;return F},E=j0.splitNested(b,y?.separator??".","{","}"),k=E.length>0&&E[E.length-1].startsWith("?=")?E.pop()?.substring(2):void 0;E.reverse();let S=f(P,E);if(S===void 0)return k??y?.defaultValue;return S}});var s=J(K(),1);var d=J(U(),1),A=J(m(),1),t=(P,b)=>{if(typeof P.value==="string"){if(P.quoted)return P.value;if(P.value.startsWith("[")&&P.value.endsWith("]")){let y=P.value.slice(1,-1);if(y.trim()==="")return[];return y.split(";").map((M)=>{let O=M.trim();if(!isNaN(+O))return+O;return O})}if(P.value.startsWith("{")&&P.value.endsWith("}")){if(P.value.slice(1,-1).trim()==="")return{}}if(P.value==="null")return null;if(P.value==="undefined")return;if(P.value.startsWith("@"))return P.value.slice(1);if(!isNaN(+P.value))return+P.value}return b(P.value)},I=(P,b,y,M,O,D)=>{let f=M?.(P)??P,E=O(f);if(E[0])return E[1];if(!b){let k=A.select(y,P),S=O(k);if(S[0])return S[1]}throw Error(D)},L=(P,b,y,M,O)=>{let D=typeof P.types==="function"?P.types(M,b.value,O):P.types?.[M];if(!D||D==="ref")return t(b,(E)=>A.select(y,E));let f=t(b,()=>b.value);if(Array.isArray(D)){if(!D.includes(f))throw Error(`Argument ${M.toString()} must be one of [${D.join(", ")}]: ${f}`);return f}if(typeof D==="string"){if(D.endsWith("?")){let E=D.slice(0,-1);if(b.value==="null")return d.NavigateResult.ReplaceItem(null);if(b.value==="undefined")return d.NavigateResult.ReplaceItem(void 0);if(b.value==="")return"";D=E}switch(D){case"any":return f;case"array":return I(f,b.quoted,y,null,(E)=>[Array.isArray(E),E],`Argument ${M.toString()} must be an array: ${f}`);case"object":return I(f,b.quoted,y,null,(E)=>[typeof E==="object"&&E!==null,E],`Argument ${M.toString()} must be an object: ${f}`);case"number":return I(f,b.quoted,y,(E)=>Number(E),(E)=>[!isNaN(E),E],`Argument ${M.toString()} must be a number: ${f}`);case"boolean":return I(f,b.quoted,y,null,(E)=>{if([!0,"true","1",1,"yes","on"].includes(E))return[!0,!0];if([!1,"false","0",0,"no","off"].includes(E))return[!0,!1];if([null,"null","undefined",void 0,""].includes(E))return[!0,!1];if(Array.isArray(E))return[!0,E.length>0];return[!1,!1]},`Argument ${M.toString()} must be a boolean: ${f}`);case"string":return f.toString();default:throw Error(`Unknown type for argument ${M.toString()}: ${D}`)}}return D(f,y,M,b.quoted)};var Q=(P,b)=>{let y=P?.[b];if(y===void 0)throw Error(`Unhandled field processor type: ${b}`);return typeof y==="function"?{options:{},fn:y}:{options:y,fn:y.fn}},a=(P)=>!P.quoted&&P.value.startsWith("."),B0=(P)=>{let b={};for(let y of P){if(!a(y))continue;let M=y.value.indexOf("="),O=M>-1?y.value.slice(1,M):y.value.slice(1),D=M>-1?y.value.slice(M+1):"";if(D.length>=2){let f=D[0],E=D[D.length-1];if(f==='"'&&E==='"'||f==="'"&&E==="'")D=D.slice(1,-1)}if(!b[O])b[O]=[];b[O].push(D)}return b},o=(P,b,y)=>{let M=s.splitWithQuotes(P??""),O=B0(M),D=M.filter((E)=>!a(E)),f=b.options.processArgs===!1?[]:D.map((E,k)=>L(b.options,E,y,k,D));return{rawArgs:D,parsedArgs:f,tags:O}};var C=J(U(),1);var z=J(U(),1);var P0=(P,b)=>b.keys!==void 0&&P.key.startsWith(".")&&b.keys[P.key.substring(1)]!==void 0,b0=async(P,b,y,M)=>{let{key:O,parent:D}=P,f=Q(M.keys,O.substring(1));if(f.options.processArgs!==!1&&(typeof f.options.types==="function"||f.options.types?.[0]!==void 0))P.value=L(f.options,{value:P.value,quoted:!1},y,0,[]);if(typeof P.value!=="string")await $(P.value,{...M,root:{...y,parent:P.parent,parents:P.parents},filters:[...M.filters??[],...f.options.filters??[]]});let E=await f.fn({path:b,root:y,parent:D,key:O,options:M,value:P.value,args:[],rawArgs:[],tags:{}});return E instanceof z.NavigateResult?E:z.NavigateResult.ReplaceParent(E)};var T=J(U(),1),E0=J(m(),1);var e=(P)=>{let b=[],y=0;while(y<P.length)if(P[y]==="$"&&P[y+1]==="("&&(y===0||P[y-1]!=="\\")){let M=y;y+=2;let O=1;for(;y<P.length;y++)if(P[y]==="(")O++;else if(P[y]===")"){if(O--,O===0){b.push([M,y]);break}}if(O!==0)throw Error(`Unmatched opening $( at position ${M.toString()}`);y++}else y++;return b};class X{value;constructor(P){this.value=P}}var y0=async(P,b,y)=>{for(let M=b.length-1;M>=0;M--){let[O,D]=b[M],f=P.slice(O+2,D),E=await y0(f,e(f),y);if(typeof E==="object")return E;let k=await y(E,P);if(k instanceof X)return k.value;P=P.slice(0,O)+k+P.slice(D+1)}return P},M0=async(P,b)=>y0(P,e(P),b);var m0=async(P,b,y,M)=>{let O=await(async()=>{let D=/([\w\d.-_/]+):(.+)/.exec(P);if(!D)return await E0.select(b,P);let[f,E,k]=D,S=Q(M.sources,E),F=o(k,S,b);return await S.fn({args:F.parsedArgs,rawArgs:F.rawArgs,tags:F.tags,key:E,options:M,root:b,path:y,value:null})})();if(O===null||O===void 0)return"";if(typeof O==="object")return new X(O);return O},d0=(P)=>{let b=/{%\s*section\s+([\w\d_-]+)\s*%}([\s\S]*?){%\s*endsection\s+\1\s*%}/g,y,M=[],O=[];while((y=b.exec(P))!==null){let[f,E,k]=y;O.push({fullMatch:f,name:E,body:k})}let D=P;for(let{fullMatch:f,name:E,body:k}of O){let S={},F=k.trim(),G=F.indexOf("---");if(G!==-1){let H=F.slice(0,G).trim();F=F.slice(G+3).trim();try{S=Bun.YAML.parse(H)??{}}catch(W){throw Error(`Failed to parse YAML config for section ${E}: ${W.message}`)}}M.push({name:E,config:S,content:F}),D=D.replace(f,"")}return{sections:M,content:D.trim()}},q=async(P,b,y,M)=>{let O=M?.onSection?d0(b):null,D=b;if(O){D=O.content;for(let E of O.sections){if(Object.keys(E.config).length>0)await $(E.config,M);let k=await M.onSection(E,P,y,M);if(k===!0)D=D+E.content;else if(typeof k==="string")D=D+k}}let f=await M0(D,(E)=>m0(E,y,P,M));if(f instanceof T.NavigateResult)return f;if(f===D){if(O?.sections.length)return T.NavigateResult.ReplaceItem(f);return T.NavigateResult.Explore()}if(typeof f==="string"){let E=await q(P,f,y,M);if(E.action!==T.NavigateAction.Explore)return E}return T.NavigateResult.ReplaceItem(f)};var $=async(P,b)=>{return b??={},await C.navigate(P,async(y)=>{let M=[...y.path,y.key].join(".");if(b?.filters?.length&&b.filters.some((E)=>E.test(M)))return C.NavigateResult.NoExplore();let O=y.path.length===0,D=y.parents.length>0?y.parents.toReversed():[];if(O){if(D.length>0)throw Error("Root object should not have a parent");D=b?.root?.parents?[b.root.parent,...b.root.parents.toReversed()]:[]}let f={...P,...b.root,this:y.parent,parent:D.length>0?D[0]:null,parents:D};try{if(y.key.startsWith("$"))return C.NavigateResult.NoExplore();let E=C.NavigateResult.Explore();if(typeof y.value==="string")switch(E=await q(M,y.value,f,b),E.action){case C.NavigateAction.Explore:break;case C.NavigateAction.ReplaceItem:y.value=E.by;break;default:return E}if(P0(y,b))E=await b0(y,M,f,b);return E}catch(E){throw Error(`${E.message}
|
|
2
|
-
(${
|
|
1
|
+
var a=Object.create;var{getPrototypeOf:o,defineProperty:d,getOwnPropertyNames:P0}=Object;var b0=Object.prototype.hasOwnProperty;var K=(P,y,b)=>{b=P!=null?a(o(P)):{};let D=y||!P||!P.__esModule?d(b,"default",{value:P,enumerable:!0}):b;for(let M of P0(P))if(!b0.call(D,M))d(D,M,{get:()=>P[M],enumerable:!0});return D};var m=(P,y)=>()=>(y||P((y={exports:{}}).exports,y),y.exports);var I=m((T0,h)=>{var{defineProperty:T,getOwnPropertyNames:y0,getOwnPropertyDescriptor:F0}=Object,k0=Object.prototype.hasOwnProperty,A=new WeakMap,D0=(P)=>{var y=A.get(P),b;if(y)return y;if(y=T({},"__esModule",{value:!0}),P&&typeof P==="object"||typeof P==="function")y0(P).map((D)=>!k0.call(y,D)&&T(y,D,{get:()=>P[D],enumerable:!(b=F0(P,D))||b.enumerable}));return A.set(P,y),y},M0=(P,y)=>{for(var b in y)T(P,b,{get:y[b],enumerable:!0,configurable:!0,set:(D)=>y[b]=()=>D})},w={};M0(w,{splitWithQuotes:()=>E0,splitNested:()=>C0});h.exports=D0(w);var C0=(P,y,b="(",D=")")=>{let M=0,k="",C=[];for(let F of P){if(k+=F,F===b)M++;if(F===D)M--;if(M===0&&F===y)C.push(k.slice(0,-1)),k=""}if(k)C.push(k);return C},E0=(P,y=",")=>{let b=[],D=P.length,M=y.length,k=0,C=(F)=>{if(F+M>D)return!1;for(let E=0;E<M;E++)if(P[F+E]!==y[E])return!1;return!0};while(k<D){while(k<D&&P[k]===" ")k++;if(k>=D)break;let F="",E=P[k]==='"'||P[k]==="'";if(E){let J=P[k++];while(k<D&&P[k]!==J)F+=P[k++];if(k<D)k++}else{while(k<D&&!C(k)){let J=P[k];if(J==='"'||J==="'"){F+=J,k++;while(k<D&&P[k]!==J)F+=P[k++];if(k<D)F+=P[k++]}else F+=P[k++]}F=F.trim()}if(F)b.push({value:F,quoted:E});if(C(k))k+=M}return b}});var N=m((U0,r)=>{var{defineProperty:Y,getOwnPropertyNames:H0,getOwnPropertyDescriptor:J0}=Object,S0=Object.prototype.hasOwnProperty,x=new WeakMap,f0=(P)=>{var y=x.get(P),b;if(y)return y;if(y=Y({},"__esModule",{value:!0}),P&&typeof P==="object"||typeof P==="function")H0(P).map((D)=>!S0.call(y,D)&&Y(y,D,{get:()=>P[D],enumerable:!(b=J0(P,D))||b.enumerable}));return x.set(P,y),y},O0=(P,y)=>{for(var b in y)Y(P,b,{get:y[b],enumerable:!0,configurable:!0,set:(D)=>y[b]=()=>D})},g={};O0(g,{select:()=>_});r.exports=f0(g);var W0=I(),U=(P,y,b,D)=>{if(P.startsWith("{")){let M=P.substring(1,P.length-1);return _(y,M,b).toString()}return D?P:void 0},$0=(P,y,b,D)=>{let M=U(y,b,D);if(M)return _(P,M,D);let k=/^\[([^=\]]*)([=]*)([^\]]*)\]$/.exec(y);if(k){let[F,E,J,S]=k,f=U(E.trim(),b,D,!0),O=U(S.trim(),b,D,!0);if(Array.isArray(P))switch(J){case"==":case"=":return P.find(($)=>$[f]==O)}}let C=/^([^[\]]*)\[([^\]]*)]/.exec(y);if(C)return P[C[1]][C[2]];return P[y]},_=(P,y,b)=>{let D=void 0,M=void 0;y??="";let k=(S)=>S?.endsWith("?")?[S.substring(0,S.length-1),!0]:[S,!1],C=(S,f)=>{let[O,$]=k(f.pop());if(O){let R=$0(S,O,P,b);if(R===void 0){if($||b?.defaultValue!==void 0||b?.optional)return;throw Error(`Unknown path element: "${O}" in "${y}"`)}return D=S,M=O,C(R,f)}if(b?.set&&M)D[M]=b?.set;return S},F=W0.splitNested(y,b?.separator??".","{","}"),E=F.length>0&&F[F.length-1].startsWith("?=")?F.pop()?.substring(2):void 0;F.reverse();let J=C(P,F);if(J===void 0)return E??b?.defaultValue;return J}});var i=K(I(),1);var W;((P)=>{P[P.Explore=0]="Explore",P[P.SkipSiblings=1]="SkipSiblings",P[P.NoExplore=2]="NoExplore",P[P.ReplaceParent=3]="ReplaceParent",P[P.DeleteParent=4]="DeleteParent",P[P.MergeParent=5]="MergeParent",P[P.ReplaceItem=6]="ReplaceItem",P[P.DeleteItem=7]="DeleteItem"})(W||={});class H{action;by;skipSibilings;reexplore;constructor(P,y,b,D){this.action=P,this.by=y,this.skipSibilings=b,this.reexplore=D}static ReplaceParent(P,y){return new H(3,P,void 0,y)}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(P){return new H(5,P)}static ReplaceItem(P,y){return new H(6,P,y)}static DeleteItem(P){return new H(7,void 0,P)}}var q=async(P,y)=>{let b=async(M)=>{let k=M.key===null,C=k?{action:0}:await y(M);if(M.value&&typeof M.value==="object"&&C.action==0){if(!k)M.path.push(M.key),M.parents.push(M.parent);while(await D(M));if(!k)M.parents.pop(),M.path.pop()}return C},D=async(M)=>{for(let[k,C]of Object.entries(M.value)){let F=await b({key:k,value:C,path:M.path,parent:M.value,parents:M.parents});switch(F.action){case 3:if(!M.key)throw Error("Cannot replace root");if(M.parent[M.key]=F.by,F.reexplore)return M.value=F.by,!0;return;case 4:delete M.parent[M.key];return;case 5:delete M.value[k],Object.assign(M.value,F.by);break;case 1:return;case 6:if(M.value[k]=F.by,F.skipSibilings)return;break;case 7:if(delete M.value[k],F.skipSibilings)return;break}}};await b({key:null,value:P,path:[],parent:null,parents:[]})};var L=K(N(),1),V=(P,y)=>{if(typeof P.value==="string"){if(P.quoted)return P.value;if(P.value.startsWith("[")&&P.value.endsWith("]")){let b=P.value.slice(1,-1);if(b.trim()==="")return[];return b.split(";").map((D)=>{let M=D.trim();if(!isNaN(+M))return+M;return M})}if(P.value.startsWith("{")&&P.value.endsWith("}")){if(P.value.slice(1,-1).trim()==="")return{}}if(P.value==="null")return null;if(P.value==="undefined")return;if(P.value.startsWith("@"))return P.value.slice(1);if(!isNaN(+P.value))return+P.value}return y(P.value)},G=(P,y,b,D,M,k)=>{let C=D?.(P)??P,F=M(C);if(F[0])return F[1];if(!y){let E=L.select(b,P),J=M(E);if(J[0])return J[1]}throw Error(k)},Q=(P,y,b,D,M)=>{let k=typeof P.types==="function"?P.types(D,y.value,M):P.types?.[D];if(!k||k==="ref")return V(y,(F)=>L.select(b,F));let C=V(y,()=>y.value);if(Array.isArray(k)){if(!k.includes(C))throw Error(`Argument ${D.toString()} must be one of [${k.join(", ")}]: ${C}`);return C}if(typeof k==="string"){if(k.endsWith("?")){let F=k.slice(0,-1);if(y.value==="null")return H.ReplaceItem(null);if(y.value==="undefined")return H.ReplaceItem(void 0);if(y.value==="")return"";k=F}switch(k){case"any":return C;case"array":return G(C,y.quoted,b,null,(F)=>[Array.isArray(F),F],`Argument ${D.toString()} must be an array: ${C}`);case"object":return G(C,y.quoted,b,null,(F)=>[typeof F==="object"&&F!==null,F],`Argument ${D.toString()} must be an object: ${C}`);case"number":return G(C,y.quoted,b,(F)=>Number(F),(F)=>[!isNaN(F),F],`Argument ${D.toString()} must be a number: ${C}`);case"boolean":return G(C,y.quoted,b,null,(F)=>{if([!0,"true","1",1,"yes","on"].includes(F))return[!0,!0];if([!1,"false","0",0,"no","off"].includes(F))return[!0,!1];if([null,"null","undefined",void 0,""].includes(F))return[!0,!1];if(Array.isArray(F))return[!0,F.length>0];return[!1,!1]},`Argument ${D.toString()} must be a boolean: ${C}`);case"string":return C.toString();default:throw Error(`Unknown type for argument ${D.toString()}: ${k}`)}}return k(C,b,D,y.quoted)};var X=(P,y)=>{let b=P?.[y];if(b===void 0)throw Error(`Unhandled field processor type: ${y}`);return typeof b==="function"?{options:{},fn:b}:{options:b,fn:b.fn}},v=(P)=>!P.quoted&&P.value.startsWith("."),G0=(P)=>{let y={};for(let b of P){if(!v(b))continue;let D=b.value.indexOf("="),M=D>-1?b.value.slice(1,D):b.value.slice(1),k=D>-1?b.value.slice(D+1):"";if(k.length>=2){let C=k[0],F=k[k.length-1];if(C==='"'&&F==='"'||C==="'"&&F==="'")k=k.slice(1,-1)}if(!y[M])y[M]=[];y[M].push(k)}return y},e=(P,y,b)=>{let D=i.splitWithQuotes(P??""),M=G0(D),k=D.filter((F)=>!v(F)),C=y.options.processArgs===!1?[]:k.map((F,E)=>Q(y.options,F,b,E,k));return{rawArgs:k,parsedArgs:C,tags:M}};var n=(P,y)=>y.keys!==void 0&&P.key.startsWith(".")&&y.keys[P.key.substring(1)]!==void 0,l=async(P,y,b,D)=>{let{key:M,parent:k}=P,C=X(D.keys,M.substring(1));if(C.options.processArgs!==!1&&(typeof C.options.types==="function"||C.options.types?.[0]!==void 0))P.value=Q(C.options,{value:P.value,quoted:!1},b,0,[]);if(typeof P.value!=="string")await Z(P.value,{...D,root:{...b,parent:P.parent,parents:P.parents},filters:[...D.filters??[],...C.options.filters??[]]});let F=await C.fn({path:y,root:b,parent:k,key:M,options:D,value:P.value,args:[],rawArgs:[],tags:{}});return F instanceof H?F:H.ReplaceParent(F)};var t=K(N(),1);var B=(P)=>{let y=[],b=0;while(b<P.length)if(P[b]==="$"&&P[b+1]==="("&&(b===0||P[b-1]!=="\\")){let D=b;b+=2;let M=1;for(;b<P.length;b++)if(P[b]==="(")M++;else if(P[b]===")"){if(M--,M===0){y.push([D,b]);break}}if(M!==0)throw Error(`Unmatched opening $( at position ${D.toString()}`);b++}else b++;return y};var j=Symbol.for("@homedev/fields:OverrideResult"),c=(P)=>({[j]:!0,value:P}),Q0=(P)=>{return P!==null&&typeof P==="object"&&j in P&&P[j]===!0},p=async(P,y,b)=>{for(let D=y.length-1;D>=0;D--){let[M,k]=y[D],C=P.slice(M+2,k),F=await p(C,B(C),b);if(typeof F==="object")return F;let E=await b(F,P);if(Q0(E))return E.value;P=P.slice(0,M)+E+P.slice(k+1)}return P},u=async(P,y)=>p(P,B(P),y);var X0=async(P,y,b,D)=>{let M=await(async()=>{let k=/([\w\d.-_/]+):(.+)/.exec(P);if(!k)return await t.select(y,P);let[C,F,E]=k,J=X(D.sources,F),S=e(E,J,y);return await J.fn({args:S.parsedArgs,rawArgs:S.rawArgs,tags:S.tags,key:F,options:D,root:y,path:b,value:null})})();if(M===null||M===void 0)return"";if(typeof M==="object")return c(M);return M},Z0=(P)=>{let y=/{%\s*section\s+([\w\d_-]+)\s*%}([\s\S]*?){%\s*endsection\s+\1\s*%}/g,b,D=[],M=[];while((b=y.exec(P))!==null){let[C,F,E]=b;M.push({fullMatch:C,name:F,body:E})}let k=P;for(let{fullMatch:C,name:F,body:E}of M){let J={},S=E.trim(),f=S.indexOf("---");if(f!==-1){let O=S.slice(0,f).trim();S=S.slice(f+3).trim();try{J=Bun.YAML.parse(O)??{}}catch($){throw Error(`Failed to parse YAML config for section ${F}: ${$.message}`)}}D.push({name:F,config:J,content:S}),k=k.replace(C,"")}return{sections:D,content:k.trim()}},z=async(P,y,b,D)=>{let M=D?.onSection?Z0(y):null,k=y;if(M){k=M.content;for(let F of M.sections){if(Object.keys(F.config).length>0)await Z(F.config,D);let E=await D.onSection(F,P,b,D);if(E===!0)k=k+F.content;else if(typeof E==="string")k=k+E}}let C=await u(k,(F)=>X0(F,b,P,D));if(C instanceof H)return C;if(C===k){if(M?.sections.length)return H.ReplaceItem(C);return H.Explore()}if(typeof C==="string"){let F=await z(P,C,b,D);if(F.action!==W.Explore)return F}return H.ReplaceItem(C)};var Z=async(P,y)=>{return y??={},await q(P,async(b)=>{let D=[...b.path,b.key].join(".");if(y?.filters?.length&&y.filters.some((F)=>F.test(D)))return H.NoExplore();let M=b.path.length===0,k=b.parents.length>0?b.parents.toReversed():[];if(M){if(k.length>0)throw Error("Root object should not have a parent");k=y?.root?.parents?[y.root.parent,...y.root.parents.toReversed()]:[]}let C={...P,...y.root,this:b.parent,parent:k.length>0?k[0]:null,parents:k};try{if(b.key.startsWith("$"))return H.NoExplore();let F=H.Explore();if(typeof b.value==="string")switch(F=await z(D,b.value,C,y),F.action){case W.Explore:break;case W.ReplaceItem:b.value=F.by;break;default:return F}if(n(b,y))F=await l(b,D,C,y);return F}catch(F){throw Error(`${F.message}
|
|
2
|
+
(${D})`)}}),P};var s=(P,y)=>y?{fn:(b)=>P(...b.args),types:y}:(b)=>P(...b.args),a0=(P,y)=>Object.fromEntries(P.map((b)=>[b.name,s(b,y?.types?.[b.name])])),o0=(P,y)=>Object.fromEntries((y?.keys??Object.keys(P)).map((b)=>[b,s(P[b],y?.types?.[b])]));export{Z as processFields,o0 as makeFieldProcessorMap,a0 as makeFieldProcessorList,s as makeFieldProcessor,X as getProcessor,e as getArgs};
|