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