"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var t=e(require("os")),a=e(require("path")),s=e(require("licia/isWindows"));const r=/(^[a-z][a-z0-9-]*)/i,n=/^navigator/i,o=/^swan-nav$/i;var p;!function(e){e.SELECTOR="selector",e.TAGNAME="tagName"}(p||(p={}));const c={[p.SELECTOR]:[{test:n,processor:e=>e.replace(n,"nav")},{test:r,processor:e=>"swan-"+e}],[p.TAGNAME]:[{test:o,processor:e=>e.replace(o,"swan-navigator")},{test:r,processor:e=>e.toLocaleLowerCase().replace("swan-","")}]},l=e=>t=>{const a=(c[e]||[]).filter(e=>e.test.test(t));for(const e of a)t=e.processor(t);return t},i=l(p.SELECTOR),m=l(p.TAGNAME),g=e=>Object.assign({},e,{type:"id",info:{id:e.elementId}}),f=[];["","-rc"].forEach(e=>{s?(f.push(a.join(t.homedir(),`AppData/Local/Programs/swan-ide-gui${e}/cli.bat`)),f.push(`C:/Program Files/swan-ide-gui${e}/cli.bat`)):f.push(`/Applications/百度开发者工具${e}.app/Contents/MacOS/cli`)});const u={devtools:{name:"Baidu DevTools",remote:!0,automator:!0,paths:f,required:["project.swan.json","app.json","app.js"],defaultPort:9430},adapter:{"Tool.enableRemoteDebug":{reflect:async e=>({qrCode:(await e("Tool.enablePreview")).url})},"App.exit":{reflect:async()=>Promise.resolve()},"App.callUniMethod":{reflect:"smartapp.swan",params:e=>Object.assign({api:e.method,params:e.args},e)},"Page.getElement":{reflect:async(e,t)=>(await e("Page.getElements",t)).elements[0]},"Page.getElements":{reflect:async(e,t)=>{return{elements:(await e("smartapp.element.getBySelector",Object.assign(Object.assign({},t),{properties:["id","tagName"],selector:(a=t.selector,a.split(" ").map(e=>i(e)).join(" "))}))).map(e=>{const t=e.properties;return{elementId:t.id,nodeId:t.id,tagName:m(t.tagName)}})};var a}},"Element.getHTML":{reflect:async(e,t)=>{const a=[t.type+"HTML"];return{html:(await e("Element.getDOMProperties",Object.assign(Object.assign({},t),{names:a}))).properties[0]}}},"Element.getElement":{reflect:async(e,t)=>(await e("Element.getElements",t)).elements[0]},"Element.getElements":{reflect:async(e,t)=>{const{elements:a}=await e("Page.getElements",Object.assign(Object.assign({},t),{selector:`#${t.elementId} ${t.selector}`}));return a.forEach(e=>{e.nodeId=e.id}),{elements:a}}},"Element.getAttributes":{reflect:async(e,t)=>{const a=[];for(const s of t.names)a.push(await e("smartapp.element.getAttribute",Object.assign({attribute:s},t)));return{attributes:a}},params:g},"Element.getStyles":{reflect:async(e,t)=>{const a=[];for(const s of t.names)a.push(await e("smartapp.element.getComputedStyle",Object.assign({style:s},t)));return{styles:a}},params:g},"Element.getDOMProperties":{reflect:async(e,t)=>{const a=[];for(const s of t.names)a.push(await e("smartapp.element.getProperty",Object.assign({property:s},t)));return{properties:a}},params:g},"Element.getProperties":{reflect:async(e,t)=>{const a=[];for(const s of t.names)a.push(await e("smartapp.element.getAttribute",Object.assign({attribute:s},t)));return{properties:a}},params:g},"Element.getOffset":{reflect:async(e,t)=>({left:await e("smartapp.element.getProperty",Object.assign({property:"offsetLeft"},t)),top:await e("smartapp.element.getProperty",Object.assign({property:"offsetTop"},t))}),params:g},"Element.tap":{reflect:"smartapp.element.touch",params:g}}};module.exports=u;