UNPKG

@code-recycle/cli

Version:

高级语法查询替换工具;Advanced syntax query replacement tool

7 lines 1.56 kB
'use strict';exports.id=139,exports.ids=[139],exports.modules={91139:(e,t,s)=>{s.r(t),s.d(t,{CssSelectorForYaml:()=>a,createCssSelectorForYAML:()=>r});var n=s(99096),i=s(91198);function r(e,t){return new a(e,t)}var a=class extends n.Ij{constructor(e,t){ super(t),this.content=e;const s=Array.from((new i.iX).parse(e));this.rootNodeList=s}rootNodeList;findTagName(e){return e.type}getChildren(e){const t=[];if('start'in e&&e.start&&(e.start instanceof Array?t.push(...e.start):t.push(e.start)), 'key'in e&&e.key&&t.push(e.key),'sep'in e&&e.sep?.length&&t.push(...e.sep),'value'in e&&e.value&&t.push(e.value),'items'in e&&e.items)for(const s of e.items)t.push({type:e.type+'-item',...s});return'end'in e&&e.end?.length&&t.push(...e.end),t} getNodePosition(e){let t;return t='offset'in e?e.offset:e.type.endsWith('-item')?'start'in e&&e.start?.length?e.start[0].offset:'key'in e&&e.key?e.key.offset:'sep'in e&&e.sep?.length?e.sep[0].offset:'value'in e&&e.value?e.value.offset:0:0,[t,this.#e(e)]} #t=new Map;#e(e){if(this.#t.has(e))return this.#t.get(e);let t ;if('source'in e?t=e.offset+e.source.length:'end'in e&&e.end?.length?t=this.#e(e.end[e.end.length-1]):'items'in e&&e.items?.length?t=this.#e(e.items[e.items.length-1]):'value'in e&&e.value?t=this.#e(e.value):'sep'in e&&e.sep?.length?t=this.#e(e.sep[e.sep.length-1]):'key'in e&&e.key?t=this.#e(e.key):'start'in e&&e.start&&(e.start instanceof Array?e.start.length&&(t=this.#e(e.start[e.start.length-1])):t=this.#e(e.start)), 'number'==typeof t)return this.#t.set(e,t),t;throw new Error('unknown node')}}}};