UNPKG

ast-get-values-by-key

Version:

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

11 lines (9 loc) 662 B
/** * @name ast-get-values-by-key * @fileoverview Extract values and paths from AST by keys OR set them by keys * @version 5.1.0 * @author Roy Revelt * @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 h from"rfdc";var i="5.1.0";var p=h(),j=i;function k(o,d,t){let e;t!==void 0&&(e=Array.isArray(t)?p(t):[p(t)]);let r=[],c=m(o,(n,s,u)=>{let l=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 l});return e===void 0?r:c}export{k as getByKey,j as version};