@homedev/fields 1.2.4 → 1.2.5

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.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var{defineProperty:F,getOwnPropertyNames:d,getOwnPropertyDescriptor:y}=Object,m=Object.prototype.hasOwnProperty;var j=new WeakMap,V=(S)=>{var E=j.get(S),$;if(E)return E;if(E=F({},"__esModule",{value:!0}),S&&typeof S==="object"||typeof S==="function")d(S).map((U)=>!m.call(E,U)&&F(E,U,{get:()=>S[U],enumerable:!($=y(S,U))||$.enumerable}));return j.set(S,E),E};var w=(S,E)=>{for(var $ in E)F(S,$,{get:E[$],enumerable:!0,configurable:!0,set:(U)=>E[$]=()=>U})};var g={};w(g,{processFields:()=>P,getProcessor:()=>Y,getArgs:()=>Q});module.exports=V(g);var q=require("@homedev/split");var I=require("@homedev/select"),B=(S,E)=>{if(typeof S.value==="string"){if(S.quoted)return S.value;if(S.value.startsWith("[")&&S.value.endsWith("]"))return S.value.slice(1,-1).split(";").map(($)=>{let U=$.trim();if(!isNaN(+U))return+U;return U});if(S.value.startsWith("@"))return S.value.slice(1);if(!isNaN(+S.value))return+S.value}return E(S.value)},O=(S,E,$,U,z,C)=>{let G=U?.(S)??S,H=z(G);if(H[0])return H[1];if(!E){let J=I.select($,S),X=z(J);if(X[0])return X[1]}throw Error(C)},Z=(S,E,$,U)=>{let z=S.types?.[U];if(!z||z==="ref")return B(E,(G)=>I.select($,G));let C=B(E,()=>E.value);if(Array.isArray(z)){if(!z.includes(C))throw Error(`Argument ${U.toString()} must be one of [${z.join(", ")}]: ${C}`);return C}if(typeof z==="string")switch(z){case"number":return O(C,E.quoted,$,(G)=>Number(G),(G)=>[!isNaN(G),G],`Argument ${U.toString()} must be a number: ${C}`);case"boolean":return O(C,E.quoted,$,null,(G)=>{if([!0,"true","1",1,"yes","on"].includes(G))return[!0,!0];if([!1,"false","0",0,"no","off"].includes(G))return[!0,!1];if([null,"null","undefined",void 0,""].includes(G))return[!0,!1];if(Array.isArray(G))return[!0,G.length>0];return[!1,!1]},`Argument ${U.toString()} must be a boolean: ${C}`);case"string":return C.toString();default:throw Error(`Unknown type for argument ${U.toString()}: ${z}`)}return z(C,$,U,E.quoted)};var Y=(S,E)=>{let $=S[E];if($===void 0)throw Error(`Unhandled field processor type: ${E}`);return typeof $==="function"?{options:{},fn:$}:{options:$,fn:$.fn}},T=(S)=>!S.quoted&&S.value.startsWith("."),x=(S)=>{return S.filter((E)=>T(E)).map((E)=>{let $=E.value.indexOf("="),U=$>-1?E.value.slice(1,$):E.value.slice(1),z=$>-1?E.value.slice($+1):"";return[U,z]}).reduce((E,[$,U])=>{if(!E[$])E[$]=[];return E[$].push(U??""),E},{})},Q=(S,E,$)=>{let U=q.splitWithQuotes(S??""),z=x(U),C=U.filter((H)=>!T(H)),G=E.options.processArgs===!1?[]:C.map((H,J)=>Z(E.options,H,$,J));return{rawArgs:C,parsedArgs:G,tags:z}};var L=require("@homedev/navigate");var K=require("@homedev/navigate");var N=(S,E)=>E.keys!==void 0&&S.key.startsWith(".")&&E.keys[S.key.substring(1)]!==void 0,f=async(S,E,$,U)=>{let{key:z,parent:C}=S,G=Y(U.keys,z.substring(1));if(G.options.processArgs!==!1&&G.options.types?.[0]!==void 0)S.value=Z(G.options,{value:S.value,quoted:!1},$,0);if(typeof S.value!=="string")await P(S.value,{...U,root:{...$,parent:S.parent,parents:S.parents},filters:[...U.filters??[],...G.options.filters??[]]});let H=await G.fn({path:E,root:$,parent:C,key:z,options:U,value:S.value,args:[S.value],rawArgs:[],tags:{}});return H instanceof K.NavigateResult?H:K.NavigateResult.ReplaceParent(H)};var M=require("@homedev/navigate"),k=require("@homedev/select");var W=(S)=>{let E=[],$=0;while($<S.length)if(S[$]==="$"&&S[$+1]==="("&&($===0||S[$-1]!=="\\")){let U=$;$+=2;let z=1;for(;$<S.length;$++)if(S[$]==="(")z++;else if(S[$]===")"){if(z--,z===0){E.push([U,$]);break}}if(z!==0)throw Error(`Unmatched opening $( at position ${U.toString()}`);$++}else $++;return E};class _{value;constructor(S){this.value=S}}var A=async(S,E,$)=>{for(let U=E.length-1;U>=0;U--){let[z,C]=E[U],G=S.slice(z+2,C),H=await A(G,W(G),$);if(typeof H==="object")return H;let J=await $(H,S);if(J instanceof _)return J.value;S=S.slice(0,z)+J+S.slice(C+1)}return S},R=async(S,E)=>A(S,W(S),E);var h=async(S,E,$,U)=>{let z=await(async()=>{let C=/([\w\d.-_/]+):(.+)/.exec(S);if(!C)return await k.select(E,S);let[G,H,J]=C,X=Y(U.sources,H),D=Q(J,X,E);return await X.fn({args:D.parsedArgs,rawArgs:D.rawArgs,tags:D.tags,key:H,options:U,root:E,path:$,value:null})})();if(z===null||z===void 0)return"";if(typeof z==="object")return new _(z);return z},b=async(S,E,$,U)=>{let z=await R(E,(C)=>h(C,$,S,U));if(z instanceof M.NavigateResult)return z;if(z===E)return M.NavigateResult.Explore();if(typeof z==="string"){let C=await b(S,z,$,U);if(C.action!==M.NavigateAction.Explore)return C}return M.NavigateResult.ReplaceItem(z)};var P=async(S,E)=>{return E??={},await L.navigate(S,async($)=>{let U=[...$.path,$.key].join(".");if(E?.filters?.length&&E.filters.some((H)=>H.test(U)))return L.NavigateResult.NoExplore();let z=$.path.length===0,C=$.parents.length>0?$.parents.toReversed():[];if(z){if(C.length>0)throw Error("Root object should not have a parent");C=E?.root?.parents?[E.root.parent,...E.root.parents.toReversed()]:[]}let G={...S,...E.root,this:$.parent,parent:C.length>0?C[0]:null,parents:C};try{if($.key.startsWith("$"))return L.NavigateResult.NoExplore();let H=L.NavigateResult.Explore();if(typeof $.value==="string")switch(H=await b(U,$.value,G,E),H.action){case L.NavigateAction.Explore:break;case L.NavigateAction.ReplaceItem:$.value=H.by;break;default:return H}if(N($,E))H=await f($,U,G,E);return H}catch(H){throw Error(`${H.message}
1
+ var{defineProperty:Q,getOwnPropertyNames:y,getOwnPropertyDescriptor:m}=Object,d=Object.prototype.hasOwnProperty;var j=new WeakMap,V=(S)=>{var E=j.get(S),$;if(E)return E;if(E=Q({},"__esModule",{value:!0}),S&&typeof S==="object"||typeof S==="function")y(S).map((U)=>!d.call(E,U)&&Q(E,U,{get:()=>S[U],enumerable:!($=m(S,U))||$.enumerable}));return j.set(S,E),E};var w=(S,E)=>{for(var $ in E)Q(S,$,{get:E[$],enumerable:!0,configurable:!0,set:(U)=>E[$]=()=>U})};var g={};w(g,{processFields:()=>I,getProcessor:()=>Z,getArgs:()=>P});module.exports=V(g);var q=require("@homedev/split");var K=require("@homedev/select"),B=(S,E)=>{if(typeof S.value==="string"){if(S.quoted)return S.value;if(S.value.startsWith("[")&&S.value.endsWith("]"))return S.value.slice(1,-1).split(";").map(($)=>{let U=$.trim();if(!isNaN(+U))return+U;return U});if(S.value.startsWith("@"))return S.value.slice(1);if(!isNaN(+S.value))return+S.value}return E(S.value)},O=(S,E,$,U,z,G)=>{let H=U?.(S)??S,J=z(H);if(J[0])return J[1];if(!E){let L=K.select($,S),Y=z(L);if(Y[0])return Y[1]}throw Error(G)},_=(S,E,$,U)=>{let z=S.types?.[U];if(!z||z==="ref")return B(E,(H)=>K.select($,H));let G=B(E,()=>E.value);if(Array.isArray(z)){if(!z.includes(G))throw Error(`Argument ${U.toString()} must be one of [${z.join(", ")}]: ${G}`);return G}if(typeof z==="string")switch(z){case"number":return O(G,E.quoted,$,(H)=>Number(H),(H)=>[!isNaN(H),H],`Argument ${U.toString()} must be a number: ${G}`);case"boolean":return O(G,E.quoted,$,null,(H)=>{if([!0,"true","1",1,"yes","on"].includes(H))return[!0,!0];if([!1,"false","0",0,"no","off"].includes(H))return[!0,!1];if([null,"null","undefined",void 0,""].includes(H))return[!0,!1];if(Array.isArray(H))return[!0,H.length>0];return[!1,!1]},`Argument ${U.toString()} must be a boolean: ${G}`);case"string":return G.toString();default:throw Error(`Unknown type for argument ${U.toString()}: ${z}`)}return z(G,$,U,E.quoted)};var Z=(S,E)=>{let $=S[E];if($===void 0)throw Error(`Unhandled field processor type: ${E}`);return typeof $==="function"?{options:{},fn:$}:{options:$,fn:$.fn}},T=(S)=>!S.quoted&&S.value.startsWith("."),x=(S)=>{let E={};for(let $ of S){if(!T($))continue;let U=$.value.indexOf("="),z=U>-1?$.value.slice(1,U):$.value.slice(1),G=U>-1?$.value.slice(U+1):"";if(G.length>=2){let H=G[0],J=G[G.length-1];if(H==='"'&&J==='"'||H==="'"&&J==="'")G=G.slice(1,-1)}if(!E[z])E[z]=[];E[z].push(G)}return E},P=(S,E,$)=>{let U=q.splitWithQuotes(S??""),z=x(U),G=U.filter((J)=>!T(J)),H=E.options.processArgs===!1?[]:G.map((J,L)=>_(E.options,J,$,L));return{rawArgs:G,parsedArgs:H,tags:z}};var M=require("@homedev/navigate");var C=require("@homedev/navigate");var N=(S,E)=>E.keys!==void 0&&S.key.startsWith(".")&&E.keys[S.key.substring(1)]!==void 0,f=async(S,E,$,U)=>{let{key:z,parent:G}=S,H=Z(U.keys,z.substring(1));if(H.options.processArgs!==!1&&H.options.types?.[0]!==void 0)S.value=_(H.options,{value:S.value,quoted:!1},$,0);if(typeof S.value!=="string")await I(S.value,{...U,root:{...$,parent:S.parent,parents:S.parents},filters:[...U.filters??[],...H.options.filters??[]]});let J=await H.fn({path:E,root:$,parent:G,key:z,options:U,value:S.value,args:[S.value],rawArgs:[],tags:{}});return J instanceof C.NavigateResult?J:C.NavigateResult.ReplaceParent(J)};var X=require("@homedev/navigate"),k=require("@homedev/select");var W=(S)=>{let E=[],$=0;while($<S.length)if(S[$]==="$"&&S[$+1]==="("&&($===0||S[$-1]!=="\\")){let U=$;$+=2;let z=1;for(;$<S.length;$++)if(S[$]==="(")z++;else if(S[$]===")"){if(z--,z===0){E.push([U,$]);break}}if(z!==0)throw Error(`Unmatched opening $( at position ${U.toString()}`);$++}else $++;return E};class D{value;constructor(S){this.value=S}}var A=async(S,E,$)=>{for(let U=E.length-1;U>=0;U--){let[z,G]=E[U],H=S.slice(z+2,G),J=await A(H,W(H),$);if(typeof J==="object")return J;let L=await $(J,S);if(L instanceof D)return L.value;S=S.slice(0,z)+L+S.slice(G+1)}return S},R=async(S,E)=>A(S,W(S),E);var h=async(S,E,$,U)=>{let z=await(async()=>{let G=/([\w\d.-_/]+):(.+)/.exec(S);if(!G)return await k.select(E,S);let[H,J,L]=G,Y=Z(U.sources,J),F=P(L,Y,E);return await Y.fn({args:F.parsedArgs,rawArgs:F.rawArgs,tags:F.tags,key:J,options:U,root:E,path:$,value:null})})();if(z===null||z===void 0)return"";if(typeof z==="object")return new D(z);return z},b=async(S,E,$,U)=>{let z=await R(E,(G)=>h(G,$,S,U));if(z instanceof X.NavigateResult)return z;if(z===E)return X.NavigateResult.Explore();if(typeof z==="string"){let G=await b(S,z,$,U);if(G.action!==X.NavigateAction.Explore)return G}return X.NavigateResult.ReplaceItem(z)};var I=async(S,E)=>{return E??={},await M.navigate(S,async($)=>{let U=[...$.path,$.key].join(".");if(E?.filters?.length&&E.filters.some((J)=>J.test(U)))return M.NavigateResult.NoExplore();let z=$.path.length===0,G=$.parents.length>0?$.parents.toReversed():[];if(z){if(G.length>0)throw Error("Root object should not have a parent");G=E?.root?.parents?[E.root.parent,...E.root.parents.toReversed()]:[]}let H={...S,...E.root,this:$.parent,parent:G.length>0?G[0]:null,parents:G};try{if($.key.startsWith("$"))return M.NavigateResult.NoExplore();let J=M.NavigateResult.Explore();if(typeof $.value==="string")switch(J=await b(U,$.value,H,E),J.action){case M.NavigateAction.Explore:break;case M.NavigateAction.ReplaceItem:$.value=J.by;break;default:return J}if(N($,E))J=await f($,U,H,E);return J}catch(J){throw Error(`${J.message}
2
2
  (${U})`)}}),S};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homedev/fields",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "field utilities",
5
5
  "author": "julzor",
6
6
  "license": "ISC",