@homedev/fields 1.1.1 → 1.1.2

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
@@ -46,7 +46,6 @@ export declare interface ProcessFieldsOptions {
46
46
  keys?: FieldProcessorMap;
47
47
  filters?: RegExp[];
48
48
  root?: Record<any, any>;
49
- overrides?: Record<any, any>;
50
49
  globalContext?: any;
51
50
  }
52
51
 
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var{defineProperty:W,getOwnPropertyNames:B,getOwnPropertyDescriptor:m}=Object,N=Object.prototype.hasOwnProperty;var Y=new WeakMap,R=(F)=>{var f=Y.get(F),P;if(f)return f;if(f=W({},"__esModule",{value:!0}),F&&typeof F==="object"||typeof F==="function")B(F).map((d)=>!N.call(f,d)&&W(f,d,{get:()=>F[d],enumerable:!(P=m(F,d))||P.enumerable}));return Y.set(F,f),f};var k=(F,f)=>{for(var P in f)W(F,P,{get:f[P],enumerable:!0,configurable:!0,set:(d)=>f[P]=()=>d})};var x={};k(x,{processFields:()=>J,getProcessor:()=>y,getArgs:()=>G});module.exports=R(x);var q=require("@homedev/split");var z=require("@homedev/select"),Z=(F,f)=>{if(typeof F.value==="string"){if(F.quoted)return F.value;if(F.value.startsWith("[")&&F.value.endsWith("]"))return F.value.slice(1,-1).split(";").map((P)=>{let d=P.trim();if(!isNaN(+d))return+d;return d});if(F.value.startsWith("@"))return F.value.slice(1);if(!isNaN(+F.value))return+F.value}return f(F.value)},_=(F,f,P,d,g,b)=>{let M=d?.(F)??F,S=g(M);if(S[0])return S[1];if(!f){let $=z.select(P,F),U=g($);if(U[0])return U[1]}throw new Error(b)},A=(F,f,P,d)=>{let g=F.types?.[d];if(!g||g==="ref")return Z(f,(M)=>z.select(P,M));let b=Z(f,()=>f.value);if(Array.isArray(g)){if(!g.includes(b))throw new Error(`Argument ${d.toString()} must be one of [${g.join(", ")}]: ${b}`);return b}if(typeof g==="string")switch(g){case"number":return _(b,f.quoted,P,(M)=>Number(M),(M)=>[!isNaN(M),M],`Argument ${d.toString()} must be a number: ${b}`);case"boolean":return _(b,f.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 ${d.toString()} must be a boolean: ${b}`);case"string":return b.toString();default:throw new Error(`Unknown type for argument ${d.toString()}: ${g}`)}return g(b,P,d,f.quoted)};var y=(F,f)=>{let P=F[f];if(P===void 0)throw new Error(`Unhandled field processor type: ${f}`);return typeof P==="function"?{options:{},fn:P}:{options:P,fn:P.fn}},G=(F,f,P)=>{let d=q.splitWithQuotes(F??""),g=f.options.processArgs===!1?[]:d.map((b,M)=>A(f.options,b,P,M));return{rawArgs:d,parsedArgs:g}};var E=require("@homedev/navigate");var H=require("@homedev/navigate");var D=(F,f)=>f.keys!==void 0&&F.key.startsWith(".")&&f.keys[F.key.substring(1)]!==void 0,I=async(F,f,P,d)=>{let{key:g,parent:b}=F,M=y(d.keys,g.substring(1));if(M.options.processArgs!==!1&&M.options.types?.[0]!==void 0)F.value=A(M.options,{value:F.value,quoted:!1},P,0);if(typeof F.value!=="string")await J(F.value,{...d,root:P,filters:[...d.filters??[],...M.options.filters??[]]});let S=await M.fn({path:f,root:P,parent:b,key:g,options:d,value:F.value,args:[F.value],rawArgs:[]});return S instanceof H.NavigateResult?S:H.NavigateResult.ReplaceParent(S)};var C=require("@homedev/navigate"),j=require("@homedev/select");var L=(F)=>{let f=[],P=0;while(P<F.length)if(F[P]==="$"&&F[P+1]==="("&&(P===0||F[P-1]!=="\\")){let d=P;P+=2;let g=1;for(;P<F.length;P++)if(F[P]==="(")g++;else if(F[P]===")"){if(g--,g===0){f.push([d,P]);break}}if(g!==0)throw new Error(`Unmatched opening $( at position ${d.toString()}`);P++}else P++;return f};class Q{value;constructor(F){this.value=F}}var K=async(F,f,P)=>{for(let d=f.length-1;d>=0;d--){let[g,b]=f[d],M=F.slice(g+2,b),S=await K(M,L(M),P);if(typeof S==="object")return S;let $=await P(S,F);if($ instanceof Q)return $.value;F=F.slice(0,g)+$+F.slice(b+1)}return F},O=async(F,f)=>K(F,L(F),f);var n=async(F,f,P,d)=>{let g=await(async()=>{let b=/([\w\d.-_/]+):(.+)/.exec(F);if(!b)return await j.select(f,F);let[M,S,$]=b,U=y(d.sources,S),X=G($,U,f);return await U.fn({args:X.parsedArgs,rawArgs:X.rawArgs,key:S,options:d,root:f,path:P,value:null})})();if(g===null||g===void 0)return"";if(typeof g==="object")return new Q(g);return g},T=async(F,f,P,d)=>{let g=await O(f,(b)=>n(b,P,F,d));if(g instanceof C.NavigateResult)return g;if(g===f)return C.NavigateResult.Explore();if(typeof g==="string"){let b=await T(F,g,P,d);if(b.action!==C.NavigateAction.Explore)return b}return C.NavigateResult.ReplaceItem(g)};var J=async(F,f)=>{return f??={},await E.navigate(F,async(P)=>{let d=[...P.path,P.key].join(".");if(f?.filters?.length&&f.filters.some((b)=>b.test(d)))return E.NavigateResult.NoExplore();let g={...F,...f.root,this:P.parent,parent:P.parents.length>0?P.parents[P.parents.length-1]:{},parents:P.parents.toReversed(),...f.overrides};try{if(P.key.startsWith("$"))return E.NavigateResult.NoExplore();let b=E.NavigateResult.Explore();if(typeof P.value==="string")switch(b=await T(d,P.value,g,f),b.action){case E.NavigateAction.Explore:break;case E.NavigateAction.ReplaceItem:P.value=b.by;break;default:return b}if(D(P,f))b=await I(P,d,g,f);return b}catch(b){throw new Error(`${b.message}
1
+ var{defineProperty:z,getOwnPropertyNames:B,getOwnPropertyDescriptor:m}=Object,N=Object.prototype.hasOwnProperty;var Z=new WeakMap,R=(F)=>{var f=Z.get(F),P;if(f)return f;if(f=z({},"__esModule",{value:!0}),F&&typeof F==="object"||typeof F==="function")B(F).map((d)=>!N.call(f,d)&&z(f,d,{get:()=>F[d],enumerable:!(P=m(F,d))||P.enumerable}));return Z.set(F,f),f};var k=(F,f)=>{for(var P in f)z(F,P,{get:f[P],enumerable:!0,configurable:!0,set:(d)=>f[P]=()=>d})};var w={};k(w,{processFields:()=>L,getProcessor:()=>A,getArgs:()=>H});module.exports=R(w);var y=require("@homedev/split");var G=require("@homedev/select"),_=(F,f)=>{if(typeof F.value==="string"){if(F.quoted)return F.value;if(F.value.startsWith("[")&&F.value.endsWith("]"))return F.value.slice(1,-1).split(";").map((P)=>{let d=P.trim();if(!isNaN(+d))return+d;return d});if(F.value.startsWith("@"))return F.value.slice(1);if(!isNaN(+F.value))return+F.value}return f(F.value)},q=(F,f,P,d,g,b)=>{let M=d?.(F)??F,S=g(M);if(S[0])return S[1];if(!f){let $=G.select(P,F),U=g($);if(U[0])return U[1]}throw new Error(b)},Q=(F,f,P,d)=>{let g=F.types?.[d];if(!g||g==="ref")return _(f,(M)=>G.select(P,M));let b=_(f,()=>f.value);if(Array.isArray(g)){if(!g.includes(b))throw new Error(`Argument ${d.toString()} must be one of [${g.join(", ")}]: ${b}`);return b}if(typeof g==="string")switch(g){case"number":return q(b,f.quoted,P,(M)=>Number(M),(M)=>[!isNaN(M),M],`Argument ${d.toString()} must be a number: ${b}`);case"boolean":return q(b,f.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 ${d.toString()} must be a boolean: ${b}`);case"string":return b.toString();default:throw new Error(`Unknown type for argument ${d.toString()}: ${g}`)}return g(b,P,d,f.quoted)};var A=(F,f)=>{let P=F[f];if(P===void 0)throw new Error(`Unhandled field processor type: ${f}`);return typeof P==="function"?{options:{},fn:P}:{options:P,fn:P.fn}},H=(F,f,P)=>{let d=y.splitWithQuotes(F??""),g=f.options.processArgs===!1?[]:d.map((b,M)=>Q(f.options,b,P,M));return{rawArgs:d,parsedArgs:g}};var E=require("@homedev/navigate");var J=require("@homedev/navigate");var D=(F,f)=>f.keys!==void 0&&F.key.startsWith(".")&&f.keys[F.key.substring(1)]!==void 0,I=async(F,f,P,d)=>{let{key:g,parent:b}=F,M=A(d.keys,g.substring(1));if(M.options.processArgs!==!1&&M.options.types?.[0]!==void 0)F.value=Q(M.options,{value:F.value,quoted:!1},P,0);if(typeof F.value!=="string")await L(F.value,{...d,root:{...P,parent:F.parent,parents:F.parents},filters:[...d.filters??[],...M.options.filters??[]]});let S=await M.fn({path:f,root:P,parent:b,key:g,options:d,value:F.value,args:[F.value],rawArgs:[]});return S instanceof J.NavigateResult?S:J.NavigateResult.ReplaceParent(S)};var C=require("@homedev/navigate"),j=require("@homedev/select");var T=(F)=>{let f=[],P=0;while(P<F.length)if(F[P]==="$"&&F[P+1]==="("&&(P===0||F[P-1]!=="\\")){let d=P;P+=2;let g=1;for(;P<F.length;P++)if(F[P]==="(")g++;else if(F[P]===")"){if(g--,g===0){f.push([d,P]);break}}if(g!==0)throw new Error(`Unmatched opening $( at position ${d.toString()}`);P++}else P++;return f};class W{value;constructor(F){this.value=F}}var K=async(F,f,P)=>{for(let d=f.length-1;d>=0;d--){let[g,b]=f[d],M=F.slice(g+2,b),S=await K(M,T(M),P);if(typeof S==="object")return S;let $=await P(S,F);if($ instanceof W)return $.value;F=F.slice(0,g)+$+F.slice(b+1)}return F},O=async(F,f)=>K(F,T(F),f);var x=async(F,f,P,d)=>{let g=await(async()=>{let b=/([\w\d.-_/]+):(.+)/.exec(F);if(!b)return await j.select(f,F);let[M,S,$]=b,U=A(d.sources,S),Y=H($,U,f);return await U.fn({args:Y.parsedArgs,rawArgs:Y.rawArgs,key:S,options:d,root:f,path:P,value:null})})();if(g===null||g===void 0)return"";if(typeof g==="object")return new W(g);return g},X=async(F,f,P,d)=>{let g=await O(f,(b)=>x(b,P,F,d));if(g instanceof C.NavigateResult)return g;if(g===f)return C.NavigateResult.Explore();if(typeof g==="string"){let b=await X(F,g,P,d);if(b.action!==C.NavigateAction.Explore)return b}return C.NavigateResult.ReplaceItem(g)};var L=async(F,f)=>{return f??={},await E.navigate(F,async(P)=>{let d=[...P.path,P.key].join(".");if(f?.filters?.length&&f.filters.some((S)=>S.test(d)))return E.NavigateResult.NoExplore();let g=P.path.length===0,b=P.parents.length>0?P.parents.toReversed():[];if(g){if(b.length>0)throw new Error("Root object should not have a parent");b=f?.root?.parents?[f.root.parent,...f.root.parents.toReversed()]:[]}let M={...F,...f.root,this:P.parent,parent:b.length>0?b[0]:null,parents:b};try{if(P.key.startsWith("$"))return E.NavigateResult.NoExplore();let S=E.NavigateResult.Explore();if(typeof P.value==="string")switch(S=await X(d,P.value,M,f),S.action){case E.NavigateAction.Explore:break;case E.NavigateAction.ReplaceItem:P.value=S.by;break;default:return S}if(D(P,f))S=await I(P,d,M,f);return S}catch(S){throw new Error(`${S.message}
2
2
  (${d})`)}}),F};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homedev/fields",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "field utilities",
5
5
  "author": "julzor",
6
6
  "license": "ISC",
@@ -8,7 +8,7 @@
8
8
  "type": "module",
9
9
  "typings": "dist/index.d.ts",
10
10
  "peerDependencies": {
11
- "@homedev/navigate": "^1.0.2",
11
+ "@homedev/navigate": "^1.1.0",
12
12
  "@homedev/select": "^1.0.3",
13
13
  "@homedev/split": "^1.0.2"
14
14
  }