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
JavaScript
/**
* @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};