@homedev/fields 1.2.1 → 1.2.3
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 +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var{defineProperty:
|
|
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}
|
|
2
2
|
(${U})`)}}),S};
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@homedev/fields",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"description": "field utilities",
|
|
5
5
|
"author": "julzor",
|
|
6
6
|
"license": "ISC",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"type": "module",
|
|
9
|
-
"
|
|
10
|
-
"peerDependencies": {
|
|
9
|
+
"dependencies": {
|
|
11
10
|
"@homedev/navigate": "^1.1.0",
|
|
12
11
|
"@homedev/select": "^1.1.0",
|
|
13
12
|
"@homedev/split": "^1.1.2"
|
|
14
|
-
}
|
|
13
|
+
},
|
|
14
|
+
"typings": "dist/index.d.ts"
|
|
15
15
|
}
|