@homedev/fields 1.2.12 → 1.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -30,6 +30,12 @@ export declare interface FieldProcessorOptions {
30
30
  types?: Record<number, string | any[] | ((value: string, root: any, index: number, quoted: boolean) => any)> | FieldProcessorTypeChecker;
31
31
  }
32
32
 
33
+ export declare interface FieldProcessorSection {
34
+ name: string;
35
+ config: Record<string, any>;
36
+ content: string;
37
+ }
38
+
33
39
  export declare type FieldProcessorTypeChecker = (n: number, value: any, args: any[]) => any;
34
40
 
35
41
  export declare type FieldProcessorTypeCheckers<T = unknown> = Record<keyof T, FieldProcessorTypeChecker>;
@@ -63,6 +69,7 @@ export declare interface ProcessFieldsOptions {
63
69
  filters?: RegExp[];
64
70
  root?: Record<any, any>;
65
71
  globalContext?: any;
72
+ onSection?: (section: FieldProcessorSection, path: string, root: Record<string, any>, options: ProcessFieldsOptions) => Promise<void | boolean | string> | void | boolean | string;
66
73
  }
67
74
 
68
75
  declare type SourceFunc = (...args: any[]) => any;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var{defineProperty:_,getOwnPropertyNames:R,getOwnPropertyDescriptor:x}=Object,h=Object.prototype.hasOwnProperty;var k=new WeakMap,V=(F)=>{var S=k.get(F),P;if(S)return S;if(S=_({},"__esModule",{value:!0}),F&&typeof F==="object"||typeof F==="function")R(F).map((E)=>!h.call(S,E)&&_(S,E,{get:()=>F[E],enumerable:!(P=x(F,E))||P.enumerable}));return k.set(F,S),S};var w=(F,S)=>{for(var P in S)_(F,P,{get:S[P],enumerable:!0,configurable:!0,set:(E)=>S[P]=()=>E})};var p={};w(p,{processFields:()=>b,makeFieldProcessorMap:()=>v,makeFieldProcessorList:()=>n,makeFieldProcessor:()=>B,getProcessor:()=>H,getArgs:()=>K});module.exports=V(p);var O=require("@homedev/split");var D=require("@homedev/navigate"),Q=require("@homedev/select"),q=(F,S)=>{if(typeof F.value==="string"){if(F.quoted)return F.value;if(F.value.startsWith("[")&&F.value.endsWith("]")){let P=F.value.slice(1,-1);if(P.trim()==="")return[];return P.split(";").map((E)=>{let T=E.trim();if(!isNaN(+T))return+T;return T})}if(F.value.startsWith("{")&&F.value.endsWith("}")){if(F.value.slice(1,-1).trim()==="")return{}}if(F.value==="null")return null;if(F.value==="undefined")return;if(F.value.startsWith("@"))return F.value.slice(1);if(!isNaN(+F.value))return+F.value}return S(F.value)},J=(F,S,P,E,T,$)=>{let C=E?.(F)??F,M=T(C);if(M[0])return M[1];if(!S){let L=Q.select(P,F),G=T(L);if(G[0])return G[1]}throw Error($)},X=(F,S,P,E,T)=>{let $=typeof F.types==="function"?F.types(E,S.value,T):F.types?.[E];if(!$||$==="ref")return q(S,(M)=>Q.select(P,M));let C=q(S,()=>S.value);if(Array.isArray($)){if(!$.includes(C))throw Error(`Argument ${E.toString()} must be one of [${$.join(", ")}]: ${C}`);return C}if(typeof $==="string"){if($.endsWith("?")){let M=$.slice(0,-1);if(S.value==="null")return D.NavigateResult.ReplaceItem(null);if(S.value==="undefined")return D.NavigateResult.ReplaceItem(void 0);if(S.value==="")return"";$=M}switch($){case"any":return C;case"array":return J(C,S.quoted,P,null,(M)=>[Array.isArray(M),M],`Argument ${E.toString()} must be an array: ${C}`);case"object":return J(C,S.quoted,P,null,(M)=>[typeof M==="object"&&M!==null,M],`Argument ${E.toString()} must be an object: ${C}`);case"number":return J(C,S.quoted,P,(M)=>Number(M),(M)=>[!isNaN(M),M],`Argument ${E.toString()} must be a number: ${C}`);case"boolean":return J(C,S.quoted,P,null,(M)=>{if([!0,"true","1",1,"yes","on"].includes(M))return[!0,!0];if([!1,"false","0",0,"no","off"].includes(M))return[!0,!1];if([null,"null","undefined",void 0,""].includes(M))return[!0,!1];if(Array.isArray(M))return[!0,M.length>0];return[!1,!1]},`Argument ${E.toString()} must be a boolean: ${C}`);case"string":return C.toString();default:throw Error(`Unknown type for argument ${E.toString()}: ${$}`)}}return $(C,P,E,S.quoted)};var H=(F,S)=>{let P=F[S];if(P===void 0)throw Error(`Unhandled field processor type: ${S}`);return typeof P==="function"?{options:{},fn:P}:{options:P,fn:P.fn}},y=(F)=>!F.quoted&&F.value.startsWith("."),g=(F)=>{let S={};for(let P of F){if(!y(P))continue;let E=P.value.indexOf("="),T=E>-1?P.value.slice(1,E):P.value.slice(1),$=E>-1?P.value.slice(E+1):"";if($.length>=2){let C=$[0],M=$[$.length-1];if(C==='"'&&M==='"'||C==="'"&&M==="'")$=$.slice(1,-1)}if(!S[T])S[T]=[];S[T].push($)}return S},K=(F,S,P)=>{let E=O.splitWithQuotes(F??""),T=g(E),$=E.filter((M)=>!y(M)),C=S.options.processArgs===!1?[]:$.map((M,L)=>X(S.options,M,P,L,$));return{rawArgs:$,parsedArgs:C,tags:T}};var U=require("@homedev/navigate");var j=require("@homedev/navigate");var f=(F,S)=>S.keys!==void 0&&F.key.startsWith(".")&&S.keys[F.key.substring(1)]!==void 0,N=async(F,S,P,E)=>{let{key:T,parent:$}=F,C=H(E.keys,T.substring(1));if(C.options.processArgs!==!1&&(typeof C.options.types==="function"||C.options.types?.[0]!==void 0))F.value=X(C.options,{value:F.value,quoted:!1},P,0,[]);if(typeof F.value!=="string")await b(F.value,{...E,root:{...P,parent:F.parent,parents:F.parents},filters:[...E.filters??[],...C.options.filters??[]]});let M=await C.fn({path:S,root:P,parent:$,key:T,options:E,value:F.value,args:[F.value],rawArgs:[],tags:{}});return M instanceof j.NavigateResult?M:j.NavigateResult.ReplaceParent(M)};var z=require("@homedev/navigate"),m=require("@homedev/select");var I=(F)=>{let S=[],P=0;while(P<F.length)if(F[P]==="$"&&F[P+1]==="("&&(P===0||F[P-1]!=="\\")){let E=P;P+=2;let T=1;for(;P<F.length;P++)if(F[P]==="(")T++;else if(F[P]===")"){if(T--,T===0){S.push([E,P]);break}}if(T!==0)throw Error(`Unmatched opening $( at position ${E.toString()}`);P++}else P++;return S};class Y{value;constructor(F){this.value=F}}var d=async(F,S,P)=>{for(let E=S.length-1;E>=0;E--){let[T,$]=S[E],C=F.slice(T+2,$),M=await d(C,I(C),P);if(typeof M==="object")return M;let L=await P(M,F);if(L instanceof Y)return L.value;F=F.slice(0,T)+L+F.slice($+1)}return F},A=async(F,S)=>d(F,I(F),S);var c=async(F,S,P,E)=>{let T=await(async()=>{let $=/([\w\d.-_/]+):(.+)/.exec(F);if(!$)return await m.select(S,F);let[C,M,L]=$,G=H(E.sources,M),Z=K(L,G,S);return await G.fn({args:Z.parsedArgs,rawArgs:Z.rawArgs,tags:Z.tags,key:M,options:E,root:S,path:P,value:null})})();if(T===null||T===void 0)return"";if(typeof T==="object")return new Y(T);return T},W=async(F,S,P,E)=>{let T=await A(S,($)=>c($,P,F,E));if(T instanceof z.NavigateResult)return T;if(T===S)return z.NavigateResult.Explore();if(typeof T==="string"){let $=await W(F,T,P,E);if($.action!==z.NavigateAction.Explore)return $}return z.NavigateResult.ReplaceItem(T)};var b=async(F,S)=>{return S??={},await U.navigate(F,async(P)=>{let E=[...P.path,P.key].join(".");if(S?.filters?.length&&S.filters.some((M)=>M.test(E)))return U.NavigateResult.NoExplore();let T=P.path.length===0,$=P.parents.length>0?P.parents.toReversed():[];if(T){if($.length>0)throw Error("Root object should not have a parent");$=S?.root?.parents?[S.root.parent,...S.root.parents.toReversed()]:[]}let C={...F,...S.root,this:P.parent,parent:$.length>0?$[0]:null,parents:$};try{if(P.key.startsWith("$"))return U.NavigateResult.NoExplore();let M=U.NavigateResult.Explore();if(typeof P.value==="string")switch(M=await W(E,P.value,C,S),M.action){case U.NavigateAction.Explore:break;case U.NavigateAction.ReplaceItem:P.value=M.by;break;default:return M}if(f(P,S))M=await N(P,E,C,S);return M}catch(M){throw Error(`${M.message}
2
- (${E})`)}}),F};var B=(F,S)=>S?{fn:(P)=>F(...P.args),types:S}:(P)=>F(...P.args),n=(F,S)=>Object.fromEntries(F.map((P)=>[P.name,B(P,S?.types?.[P.name])])),v=(F,S)=>Object.fromEntries((S?.keys??Object.keys(F)).map((P)=>[P,B(F[P],S?.types?.[P])]));
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
+ (${M})`)}}),P};var D0=(P,b)=>b?{fn:(y)=>P(...y.args),types:b}:(y)=>P(...y.args),fP=(P,b)=>Object.fromEntries(P.map((y)=>[y.name,D0(y,b?.types?.[y.name])])),kP=(P,b)=>Object.fromEntries((b?.keys??Object.keys(P)).map((y)=>[y,D0(P[y],b?.types?.[y])]));export{$ as processFields,kP as makeFieldProcessorMap,fP as makeFieldProcessorList,D0 as makeFieldProcessor,Q as getProcessor,o as getArgs};
package/package.json CHANGED
@@ -1,15 +1,11 @@
1
1
  {
2
2
  "name": "@homedev/fields",
3
- "version": "1.2.12",
3
+ "version": "1.2.13",
4
4
  "description": "field utilities",
5
5
  "author": "julzor",
6
6
  "license": "ISC",
7
7
  "main": "dist/index.js",
8
8
  "type": "module",
9
- "dependencies": {
10
- "@homedev/navigate": "^1.1.3",
11
- "@homedev/select": "^1.1.3",
12
- "@homedev/split": "^1.1.4"
13
- },
9
+ "dependencies": {},
14
10
  "typings": "dist/index.d.ts"
15
11
  }