function t(t){function n(t){return null!==t&&("Type"===t.type||"Property"===t.type||"Keyword"===t.type)}let e=null;return null!==this.matched&&function r(u){if(Array.isArray(u.match)){for(let t=0;t<u.match.length;t++)if(r(u.match[t]))return n(u.syntax)&&e.unshift(u.syntax),!0}else if(u.node===t)return e=n(u.syntax)?[u.syntax]:[],!0;return!1}(this.matched),e}function n(t,n){return u(this,t,t=>"Type"===t.type&&t.name===n)}function e(t,n){return u(this,t,t=>"Property"===t.type&&t.name===n)}function r(t){return u(this,t,t=>"Keyword"===t.type)}function u(n,e,r){const u=t.call(n,e);return null!==u&&u.some(r)}export{t as getTrace,r as isKeyword,e as isProperty,n as isType};