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