UNPKG

ast-get-values-by-key

Version:

Extract values and paths from AST by keys OR set them by keys

11 lines (9 loc) 676 B
/** * @name ast-get-values-by-key * @fileoverview Extract values and paths from AST by keys OR set them by keys * @version 5.0.21 * @author Roy Revelt, Codsen Ltd * @license MIT * {@link https://codsen.com/os/ast-get-values-by-key/} */ import{traverse as m}from"ast-monkey-traverse";import{isMatch as y}from"matcher";import f from"rfdc";var i="5.0.21";var p=f(),k=i;function j(o,d,t){let e;t!==void 0&&(e=Array.isArray(t)?p(t):[p(t)]);let r=[],l=m(o,(n,s,u)=>{let c=s!==void 0?s:n;if(s!==void 0&&y(n,d,{caseSensitive:!0})){if(e===void 0)r.push({val:s,path:u.path});else if(e.length)return e.shift()}return c});return e===void 0?r:l}export{j as getByKey,k as version};