From 6ab4dda17945739a48693308564c6824219b9462 Mon Sep 17 00:00:00 2001 From: WebdriverIO Release Bot Date: Thu, 13 Jun 2024 18:02:17 +0000 Subject: [PATCH] Update docs --- docs/.nojekyll | 1 + docs/assets/highlight.css | 106 ++ docs/assets/main.js | 59 + docs/assets/navigation.js | 1 + docs/assets/search.js | 1 + docs/assets/style.css | 1414 ++++++++++++++++++++++ docs/classes/ActionsControl.html | 26 + docs/classes/ActivityBar.html | 48 + docs/classes/BasePage.html | 16 + docs/classes/BottomBarPanel.html | 65 + docs/classes/CheckboxSetting.html | 63 + docs/classes/CodeLens.html | 47 + docs/classes/ComboSetting.html | 66 + docs/classes/ContentAssist.html | 59 + docs/classes/ContentAssistItem.html | 45 + docs/classes/ContextMenu.html | 54 + docs/classes/ContextMenuItem.html | 45 + docs/classes/CustomEditor.html | 39 + docs/classes/CustomTreeItem.html | 113 ++ docs/classes/CustomTreeSection.html | 87 ++ docs/classes/DebugConsoleView.html | 42 + docs/classes/DebugToolbar.html | 39 + docs/classes/DebugView.html | 46 + docs/classes/DefaultTreeItem.html | 113 ++ docs/classes/DefaultTreeSection.html | 87 ++ docs/classes/DiffEditor.html | 115 ++ docs/classes/Editor.html | 25 + docs/classes/EditorGroup.html | 74 ++ docs/classes/EditorTab.html | 31 + docs/classes/EditorView.html | 86 ++ docs/classes/ElementWithContextMenu.html | 19 + docs/classes/ExtensionsViewItem.html | 99 ++ docs/classes/ExtensionsViewSection.html | 104 ++ docs/classes/FindWidget.html | 75 ++ docs/classes/Input.html | 97 ++ docs/classes/InputBox.html | 105 ++ docs/classes/LinkSetting.html | 65 + docs/classes/MacTitleBar.html | 11 + docs/classes/Marker.html | 53 + docs/classes/Menu.html | 36 + docs/classes/MenuItem.html | 28 + docs/classes/MultiScmProvider.html | 90 ++ docs/classes/NewScmView.html | 83 ++ docs/classes/Notification.html | 70 ++ docs/classes/NotificationsCenter.html | 37 + docs/classes/OutputView.html | 44 + docs/classes/Problem.html | 46 + docs/classes/ProblemsView.html | 56 + docs/classes/QuickOpenBox.html | 98 ++ docs/classes/QuickPickItem.html | 48 + docs/classes/ScmChange.html | 87 ++ docs/classes/ScmProvider.html | 91 ++ docs/classes/ScmView.html | 83 ++ docs/classes/Setting.html | 64 + docs/classes/SettingsEditor.html | 121 ++ docs/classes/SideBarView.html | 25 + docs/classes/SingleScmProvider.html | 90 ++ docs/classes/StatusBar.html | 92 ++ docs/classes/TerminalView.html | 61 + docs/classes/TextEditor.html | 200 +++ docs/classes/TextSetting.html | 63 + docs/classes/TitleActionButton.html | 20 + docs/classes/TitleBar.html | 58 + docs/classes/TitleBarItem.html | 45 + docs/classes/TreeItem.html | 111 ++ docs/classes/ViewContent.html | 43 + docs/classes/ViewControl.html | 43 + docs/classes/ViewItem.html | 75 ++ docs/classes/ViewItemAction.html | 42 + docs/classes/ViewPanelAction.html | 42 + docs/classes/ViewSection.html | 105 ++ docs/classes/ViewTitlePart.html | 41 + docs/classes/WebView.html | 32 + docs/classes/WelcomeContentButton.html | 31 + docs/classes/WelcomeContentSection.html | 42 + docs/classes/WindowControls.html | 41 + docs/classes/Workbench.html | 64 + docs/functions/PageDecorator.html | 1 + docs/functions/sleep.html | 1 + docs/hierarchy.html | 1 + docs/index.html | 127 ++ docs/modules.html | 78 ++ docs/types/IPageDecorator.html | 1 + docs/types/LocatorComponents.html | 1 + docs/types/Locators.html | 1 + docs/types/VSCodeLocatorMap.html | 1 + 86 files changed, 6301 insertions(+) create mode 100644 docs/.nojekyll create mode 100644 docs/assets/highlight.css create mode 100644 docs/assets/main.js create mode 100644 docs/assets/navigation.js create mode 100644 docs/assets/search.js create mode 100644 docs/assets/style.css create mode 100644 docs/classes/ActionsControl.html create mode 100644 docs/classes/ActivityBar.html create mode 100644 docs/classes/BasePage.html create mode 100644 docs/classes/BottomBarPanel.html create mode 100644 docs/classes/CheckboxSetting.html create mode 100644 docs/classes/CodeLens.html create mode 100644 docs/classes/ComboSetting.html create mode 100644 docs/classes/ContentAssist.html create mode 100644 docs/classes/ContentAssistItem.html create mode 100644 docs/classes/ContextMenu.html create mode 100644 docs/classes/ContextMenuItem.html create mode 100644 docs/classes/CustomEditor.html create mode 100644 docs/classes/CustomTreeItem.html create mode 100644 docs/classes/CustomTreeSection.html create mode 100644 docs/classes/DebugConsoleView.html create mode 100644 docs/classes/DebugToolbar.html create mode 100644 docs/classes/DebugView.html create mode 100644 docs/classes/DefaultTreeItem.html create mode 100644 docs/classes/DefaultTreeSection.html create mode 100644 docs/classes/DiffEditor.html create mode 100644 docs/classes/Editor.html create mode 100644 docs/classes/EditorGroup.html create mode 100644 docs/classes/EditorTab.html create mode 100644 docs/classes/EditorView.html create mode 100644 docs/classes/ElementWithContextMenu.html create mode 100644 docs/classes/ExtensionsViewItem.html create mode 100644 docs/classes/ExtensionsViewSection.html create mode 100644 docs/classes/FindWidget.html create mode 100644 docs/classes/Input.html create mode 100644 docs/classes/InputBox.html create mode 100644 docs/classes/LinkSetting.html create mode 100644 docs/classes/MacTitleBar.html create mode 100644 docs/classes/Marker.html create mode 100644 docs/classes/Menu.html create mode 100644 docs/classes/MenuItem.html create mode 100644 docs/classes/MultiScmProvider.html create mode 100644 docs/classes/NewScmView.html create mode 100644 docs/classes/Notification.html create mode 100644 docs/classes/NotificationsCenter.html create mode 100644 docs/classes/OutputView.html create mode 100644 docs/classes/Problem.html create mode 100644 docs/classes/ProblemsView.html create mode 100644 docs/classes/QuickOpenBox.html create mode 100644 docs/classes/QuickPickItem.html create mode 100644 docs/classes/ScmChange.html create mode 100644 docs/classes/ScmProvider.html create mode 100644 docs/classes/ScmView.html create mode 100644 docs/classes/Setting.html create mode 100644 docs/classes/SettingsEditor.html create mode 100644 docs/classes/SideBarView.html create mode 100644 docs/classes/SingleScmProvider.html create mode 100644 docs/classes/StatusBar.html create mode 100644 docs/classes/TerminalView.html create mode 100644 docs/classes/TextEditor.html create mode 100644 docs/classes/TextSetting.html create mode 100644 docs/classes/TitleActionButton.html create mode 100644 docs/classes/TitleBar.html create mode 100644 docs/classes/TitleBarItem.html create mode 100644 docs/classes/TreeItem.html create mode 100644 docs/classes/ViewContent.html create mode 100644 docs/classes/ViewControl.html create mode 100644 docs/classes/ViewItem.html create mode 100644 docs/classes/ViewItemAction.html create mode 100644 docs/classes/ViewPanelAction.html create mode 100644 docs/classes/ViewSection.html create mode 100644 docs/classes/ViewTitlePart.html create mode 100644 docs/classes/WebView.html create mode 100644 docs/classes/WelcomeContentButton.html create mode 100644 docs/classes/WelcomeContentSection.html create mode 100644 docs/classes/WindowControls.html create mode 100644 docs/classes/Workbench.html create mode 100644 docs/functions/PageDecorator.html create mode 100644 docs/functions/sleep.html create mode 100644 docs/hierarchy.html create mode 100644 docs/index.html create mode 100644 docs/modules.html create mode 100644 docs/types/IPageDecorator.html create mode 100644 docs/types/LocatorComponents.html create mode 100644 docs/types/Locators.html create mode 100644 docs/types/VSCodeLocatorMap.html diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css new file mode 100644 index 00000000..ca0341e6 --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,106 @@ +:root { + --light-hl-0: #795E26; + --dark-hl-0: #DCDCAA; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #A31515; + --dark-hl-2: #CE9178; + --light-hl-3: #008000; + --dark-hl-3: #6A9955; + --light-hl-4: #AF00DB; + --dark-hl-4: #C586C0; + --light-hl-5: #0000FF; + --dark-hl-5: #569CD6; + --light-hl-6: #0070C1; + --dark-hl-6: #4FC1FF; + --light-hl-7: #001080; + --dark-hl-7: #9CDCFE; + --light-hl-8: #098658; + --dark-hl-8: #B5CEA8; + --light-hl-9: #0451A5; + --dark-hl-9: #9CDCFE; + --light-hl-10: #000000; + --dark-hl-10: #C8C8C8; + --light-hl-11: #267F99; + --dark-hl-11: #4EC9B0; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +pre, code { background: var(--code-background); } diff --git a/docs/assets/main.js b/docs/assets/main.js new file mode 100644 index 00000000..3092fea0 --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"use strict";(()=>{var Ie=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ie(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",H="mouseup",J={x:0,y:0},fe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",pe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(pe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.updateIndexHeadingVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.updateIndexHeadingVisibility()}updateIndexHeadingVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}};var Z=class extends C{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.href===r.href&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js new file mode 100644 index 00000000..5f35c95a --- /dev/null +++ b/docs/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA5WYTW/bMAyG/0vOxboW++ytSbehQLNmSNAchh1kh0mE2JJhyV2KYf99suPUsk1S2iEXvy+fSDQl0fr5Z2LhaCc3k9vUSq3MTCtb6mxyMSmE3bvnaSaMAXPZ19/sbV6bDlJtJjdX15/+XvRIz9K+TEWJY1qRY0yFgYXYwRhwVthoba3O3V8shAJkLn2dI832kB4SfVyCtVLtxqiBgWXpDTyAMgikVfjoPNH0MDyVpygLyt4aI43FMJ4czbm3kAdYtSXIO9o5qIogncRIBjOizsCyKuMq5MtGWo0Usa+GKasSgBhQT48jLaFZiBystXC8O0iqncuH0Rk8Sfg9xg0dQdpK6yzBlryvBinMYMKj2Ioqs3S6B4ZIFpnwsYclyu2WqqdO4whUdGzkt1JXBRXeiGHGSiQUwUnhePz1dhpLyCB3G8pa2j27XeA+lnx0O5Wpj7d6DHjxjD3xRLKEUBvH/eqereVmB8jm3Wkc4V4VFRLcPA7GTfWRCHUKF/0g1YE8vDyRY8xFupI2A7Sv8MQR4+Lkcu4NFCWkwsJm0gOXB0CZ9XN2SGgBhsqNPqFijqa523PkMs0XpX6WG3TcAwdH++7KLs3xZdlpLEFbuZUuqWiF+2osxczc8sUmhpg45mNlXWXic+s0juAymGTYi2qFiFiD/7+vcpQflUwPjwUodOn56n+XfRO8cD+8FnsyN0RXI7O9UFiz/ioF4ulajixjsoYjCpjclyL2pNZiqLO5r7MkN0W3eRGz6ESeoXYZ8PkcWlieFbYy6H77KnHxKyhzqUSGT8pXecrRUvnttBCBfMueyDLq0+X0ETyt3OcjsteNLEEemlryHEOi8aXrqyyFbJVjeuT6vbUfeWOAJ8Yw0CsHTwwx8FnEdGpnzy3RovX1EKm5UOBQniHEIrvGyF6xtjWVsBAl8YZeZY6zhgRfwK3Ax2apzqGtBGrhYK54Kpkn1MZy3TN9LjnknqavsyRdHhJQ6R6BnCW2266vuO4g1aXo7Xv2pag77p7a51y//fzx6v2133vrtLbNdF5o5RJhhriRIZJIgYLxT8vmxuvknotiyBnqIR6RrG2lTpeWl0y+PrzzQCYDKDBAI4wCf/0DVDDltj8VAAA=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 00000000..28b55552 --- /dev/null +++ b/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 00000000..98a43779 --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1414 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/classes/ActionsControl.html b/docs/classes/ActionsControl.html new file mode 100644 index 00000000..1fbe54ef --- /dev/null +++ b/docs/classes/ActionsControl.html @@ -0,0 +1,26 @@ +ActionsControl | WebdriverIO VSCode Service - v6.1.0

Page object representing the global action controls on the bottom of the action bar.

+
const workbench = await browser.getWorkbench()
const actionControl = await workbench.getActivityBar().getGlobalActions()
console.log(await Promise.all(actionControl.map(ac => ac.getTitle())))
// returns: [ 'Accounts', 'Manage' ] +
+

Hierarchy (view full)

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ActivityBar.html b/docs/classes/ActivityBar.html new file mode 100644 index 00000000..78a2ee74 --- /dev/null +++ b/docs/classes/ActivityBar.html @@ -0,0 +1,48 @@ +ActivityBar | WebdriverIO VSCode Service - v6.1.0

Page object representing the left side activity bar in VS Code

+

Hierarchy (view full)

Properties

actionItem$: ChainablePromiseElement<Element>
actionItem$$: ChainablePromiseArray<Element[]>
actionItemSelected$: ChainablePromiseElement<Element>
actionItemSelected$$: ChainablePromiseArray<Element[]>
actionsContainer$: ChainablePromiseElement<Element>
actionsContainer$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
label$: ChainablePromiseElement<Element>
label$$: ChainablePromiseArray<Element[]>
viewContainer$: ChainablePromiseElement<Element>
viewContainer$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Find an action control with a given title

    +

    Parameters

    • name: string

      title of the global action

      +

    Returns Promise<undefined | ActionsControl>

    Promise resolving to ActionsControl object representing the action selector, undefined if not found

    +
  • Find a view container with a given title

    +

    Parameters

    • name: string

      title of the view

      +

    Returns Promise<undefined | ViewControl>

    Promise resolving to ViewControl object representing the view selector, undefined if not found

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/BasePage.html b/docs/classes/BasePage.html new file mode 100644 index 00000000..6acf26c6 --- /dev/null +++ b/docs/classes/BasePage.html @@ -0,0 +1,16 @@ +BasePage | WebdriverIO VSCode Service - v6.1.0

Class BasePage<PageLocators, LocatorMap>Abstract

Type Parameters

Hierarchy (view full)

Accessors

Methods

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/BottomBarPanel.html b/docs/classes/BottomBarPanel.html new file mode 100644 index 00000000..6d2bca8a --- /dev/null +++ b/docs/classes/BottomBarPanel.html @@ -0,0 +1,65 @@ +BottomBarPanel | WebdriverIO VSCode Service - v6.1.0

Page object for the bottom view panel

+
const bottomBar = workbench.getBottomBar()
await bottomBar.toggle(true) +
+

Hierarchy (view full)

Properties

action$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

action$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
debugTab$: ChainablePromiseElement<Element>
debugTab$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
globalActions$: ChainablePromiseElement<Element>
globalActions$$: ChainablePromiseArray<Element[]>
maximize$: ChainablePromiseElement<Element>
maximize$$: ChainablePromiseArray<Element[]>
outputTab$: ChainablePromiseElement<Element>
outputTab$$: ChainablePromiseArray<Element[]>
problemsTab$: ChainablePromiseElement<Element>
problemsTab$$: ChainablePromiseArray<Element[]>
restore$: ChainablePromiseElement<Element>
restore$$: ChainablePromiseArray<Element[]>
tab$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

tab$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

tabContainer$: ChainablePromiseElement<Element>
tabContainer$$: ChainablePromiseArray<Element[]>
terminalTab$: ChainablePromiseElement<Element>
terminalTab$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<BottomBarPanel>

    thenable self reference

    +
  • Open/Close the bottom bar panel

    +

    Parameters

    • open: boolean

      true to open. false to close

      +

    Returns Promise<void>

    Promise resolving when the view visibility is toggled

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CheckboxSetting.html b/docs/classes/CheckboxSetting.html new file mode 100644 index 00000000..a2fd96d7 --- /dev/null +++ b/docs/classes/CheckboxSetting.html @@ -0,0 +1,63 @@ +CheckboxSetting | WebdriverIO VSCode Service - v6.1.0

Setting with a checkbox

+

Hierarchy (view full)

Constructors

Properties

action$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

action$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
checkboxChecked$: ChainablePromiseElement<Element>
checkboxChecked$$: ChainablePromiseArray<Element[]>
checkboxSetting$: ChainablePromiseElement<Element>
checkboxSetting$$: ChainablePromiseArray<Element[]>
comboOption$: ChainablePromiseElement<Element>
comboOption$$: ChainablePromiseArray<Element[]>
comboSetting$: ChainablePromiseElement<Element>
comboSetting$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
itemCount$: ChainablePromiseElement<Element>
itemCount$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
linkButton$: ChainablePromiseElement<Element>
linkButton$$: ChainablePromiseArray<Element[]>
settingConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseElement<Element>

settingConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseArray<Element[]>

settingDesctiption$: ChainablePromiseElement<Element>
settingDesctiption$$: ChainablePromiseArray<Element[]>
settings: SettingsEditor
tabs$: ChainablePromiseElement<Element>
tabs$$: ChainablePromiseArray<Element[]>
textSetting$: ChainablePromiseElement<Element>
textSetting$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<CheckboxSetting>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CodeLens.html b/docs/classes/CodeLens.html new file mode 100644 index 00000000..aa27dc4e --- /dev/null +++ b/docs/classes/CodeLens.html @@ -0,0 +1,47 @@ +CodeLens | WebdriverIO VSCode Service - v6.1.0

Page object for Code Lens inside a text editor

+

Hierarchy (view full)

Constructors

Properties

activeTab$: ChainablePromiseElement<Element>
activeTab$$: ChainablePromiseArray<Element[]>
breakPoint$: ChainablePromiseElement<Element>
breakPoint$$: ChainablePromiseArray<Element[]>
dataUri$: ChainablePromiseElement<Element>
dataUri$$: ChainablePromiseArray<Element[]>
debugHint$: ChainablePromiseElement<Element>
debugHint$$: ChainablePromiseArray<Element[]>
editor: TextEditor
editorContainer$: ChainablePromiseElement<Element>
editorContainer$$: ChainablePromiseArray<Element[]>
findWidget$: ChainablePromiseElement<Element>
findWidget$$: ChainablePromiseArray<Element[]>
formatDoc$: ChainablePromiseElement<Element>
formatDoc$$: ChainablePromiseArray<Element[]>
lineNumber$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseElement<Element>

lineNumber$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseArray<Element[]>

lineOverlay$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseElement<Element>

lineOverlay$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseArray<Element[]>

marginArea$: ChainablePromiseElement<Element>
marginArea$$: ChainablePromiseArray<Element[]>
selection$: ChainablePromiseElement<Element>
selection$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<CodeLens>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ComboSetting.html b/docs/classes/ComboSetting.html new file mode 100644 index 00000000..c8817e37 --- /dev/null +++ b/docs/classes/ComboSetting.html @@ -0,0 +1,66 @@ +ComboSetting | WebdriverIO VSCode Service - v6.1.0

Setting with a combo box

+

Hierarchy (view full)

Constructors

Properties

action$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

action$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
checkboxChecked$: ChainablePromiseElement<Element>
checkboxChecked$$: ChainablePromiseArray<Element[]>
checkboxSetting$: ChainablePromiseElement<Element>
checkboxSetting$$: ChainablePromiseArray<Element[]>
comboOption$: ChainablePromiseElement<Element>
comboOption$$: ChainablePromiseArray<Element[]>
comboSetting$: ChainablePromiseElement<Element>
comboSetting$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
itemCount$: ChainablePromiseElement<Element>
itemCount$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
linkButton$: ChainablePromiseElement<Element>
linkButton$$: ChainablePromiseArray<Element[]>
settingConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseElement<Element>

settingConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseArray<Element[]>

settingDesctiption$: ChainablePromiseElement<Element>
settingDesctiption$$: ChainablePromiseArray<Element[]>
settings: SettingsEditor
tabs$: ChainablePromiseElement<Element>
tabs$$: ChainablePromiseArray<Element[]>
textSetting$: ChainablePromiseElement<Element>
textSetting$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ComboSetting>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ContentAssist.html b/docs/classes/ContentAssist.html new file mode 100644 index 00000000..02ed721b --- /dev/null +++ b/docs/classes/ContentAssist.html @@ -0,0 +1,59 @@ +ContentAssist | WebdriverIO VSCode Service - v6.1.0

Page object representing the content assistant

+

Hierarchy (view full)

  • IPageDecorator<typeof ContentAssistLocators>
  • Menu<typeof ContentAssistLocators>
    • ContentAssist

Constructors

Properties

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
firstItem$: ChainablePromiseElement<Element>
firstItem$$: ChainablePromiseArray<Element[]>
itemLabel$: ChainablePromiseElement<Element>
itemLabel$$: ChainablePromiseArray<Element[]>
itemList$: ChainablePromiseElement<Element>
itemList$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
itemRows$: ChainablePromiseElement<Element>
itemRows$$: ChainablePromiseArray<Element[]>
itemText$: ChainablePromiseElement<Element>
itemText$$: ChainablePromiseArray<Element[]>
message$: ChainablePromiseElement<Element>
message$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Find whether the menu has an item of a given name

    +

    Parameters

    • name: string

      name of the item to search for

      +

    Returns Promise<boolean>

    true if menu has an item with the given name, false otherwise

    +
  • Find if the content assist is still loading the suggestions

    +

    Returns Promise<boolean>

    promise that resolves to true when suggestions are done loading, +to false otherwise

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ContentAssist>

    thenable self reference

    +
  • Recursively select an item with a given path.

    +

    E.g. calling select('File', 'Preferences', 'Settings') will +open the 'File' -> 'Preferences' submenus and then click on 'Settings'.

    +

    Selection happens in order of the arguments, if one of the items in the middle +of the path has no children, the consequent path arguments will be ignored.

    +

    Parameters

    • Rest ...path: string[]

      path to the item to select, represented by a sequence of strings

      +

    Returns Promise<undefined | Menu<{
        elem: string;
        firstItem: string;
        itemLabel: string;
        itemList: string;
        itemRow: string;
        itemRows: string;
        itemText: string;
        message: string;
    }>>

    void if the last clicked item is a leaf, Menu item representing +its submenu otherwise

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ContentAssistItem.html b/docs/classes/ContentAssistItem.html new file mode 100644 index 00000000..23ac22cc --- /dev/null +++ b/docs/classes/ContentAssistItem.html @@ -0,0 +1,45 @@ +ContentAssistItem | WebdriverIO VSCode Service - v6.1.0

Page object for a content assist item

+

Hierarchy (view full)

Constructors

Properties

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
firstItem$: ChainablePromiseElement<Element>
firstItem$$: ChainablePromiseArray<Element[]>
itemLabel$: ChainablePromiseElement<Element>
itemLabel$$: ChainablePromiseArray<Element[]>
itemList$: ChainablePromiseElement<Element>
itemList$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
itemRows$: ChainablePromiseElement<Element>
itemRows$$: ChainablePromiseArray<Element[]>
itemText$: ChainablePromiseElement<Element>
itemText$$: ChainablePromiseArray<Element[]>
label: string = ''
message$: ChainablePromiseElement<Element>
message$$: ChainablePromiseArray<Element[]>
parentMenu: ContentAssist

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Return the Menu object representing the menu this item belongs to +Todo: fix this

    +

    Returns Menu<{
        elem: string;
        firstItem: string;
        itemLabel: string;
        itemList: string;
        itemRow: string;
        itemRows: string;
        itemText: string;
        message: string;
    }>

  • Use the given menu item: Opens the submenu if the item has children, +otherwise simply click the item.

    +

    Returns Promise<undefined | Menu<any>>

    Menu object representing the submenu if the item has children, void otherwise.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ContextMenu.html b/docs/classes/ContextMenu.html new file mode 100644 index 00000000..f25e2031 --- /dev/null +++ b/docs/classes/ContextMenu.html @@ -0,0 +1,54 @@ +ContextMenu | WebdriverIO VSCode Service - v6.1.0

Object representing a context menu

+

Hierarchy (view full)

Properties

contextView$: ChainablePromiseElement<Element>
contextView$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
itemConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

itemConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

itemElement$: ChainablePromiseElement<Element>
itemElement$$: ChainablePromiseArray<Element[]>
itemLabel$: ChainablePromiseElement<Element>
itemLabel$$: ChainablePromiseArray<Element[]>
itemNesting$: ChainablePromiseElement<Element>
itemNesting$$: ChainablePromiseArray<Element[]>
itemText$: ChainablePromiseElement<Element>
itemText$$: ChainablePromiseArray<Element[]>
viewBlock$: ChainablePromiseElement<Element>
viewBlock$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Get context menu item by name

    +

    Parameters

    • name: string

      name of the item to search by

      +

    Returns Promise<undefined | MenuItem<{
        contextView: string;
        elem: string;
        itemConstructor: ((label) => string);
        itemElement: string;
        itemLabel: string;
        itemNesting: string;
        itemText: string;
        viewBlock: string;
    }>>

    Promise resolving to ContextMenuItem object

    +
  • Find whether the menu has an item of a given name

    +

    Parameters

    • name: string

      name of the item to search for

      +

    Returns Promise<boolean>

    true if menu has an item with the given name, false otherwise

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ContextMenu>

    thenable self reference

    +
  • Recursively select an item with a given path.

    +

    E.g. calling select('File', 'Preferences', 'Settings') will +open the 'File' -> 'Preferences' submenus and then click on 'Settings'.

    +

    Selection happens in order of the arguments, if one of the items in the middle +of the path has no children, the consequent path arguments will be ignored.

    +

    Parameters

    • Rest ...path: string[]

      path to the item to select, represented by a sequence of strings

      +

    Returns Promise<undefined | Menu<{
        contextView: string;
        elem: string;
        itemConstructor: ((label) => string);
        itemElement: string;
        itemLabel: string;
        itemNesting: string;
        itemText: string;
        viewBlock: string;
    }>>

    void if the last clicked item is a leaf, Menu item representing +its submenu otherwise

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ContextMenuItem.html b/docs/classes/ContextMenuItem.html new file mode 100644 index 00000000..7e4e13be --- /dev/null +++ b/docs/classes/ContextMenuItem.html @@ -0,0 +1,45 @@ +ContextMenuItem | WebdriverIO VSCode Service - v6.1.0

Object representing an item of a context menu

+

Hierarchy (view full)

Constructors

  • Parameters

    • locators: VSCodeLocatorMap
    • base: ChainablePromiseElement<Element>
    • parentMenu: Menu<{
          contextView: string;
          elem: string;
          itemConstructor: ((label) => string);
          itemElement: string;
          itemLabel: string;
          itemNesting: string;
          itemText: string;
          viewBlock: string;
      }>

    Returns ContextMenuItem

Properties

contextView$: ChainablePromiseElement<Element>
contextView$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
itemConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

itemConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

itemElement$: ChainablePromiseElement<Element>
itemElement$$: ChainablePromiseArray<Element[]>
itemLabel$: ChainablePromiseElement<Element>
itemLabel$$: ChainablePromiseArray<Element[]>
itemNesting$: ChainablePromiseElement<Element>
itemNesting$$: ChainablePromiseArray<Element[]>
itemText$: ChainablePromiseElement<Element>
itemText$$: ChainablePromiseArray<Element[]>
label: string = ''
parentMenu: Menu<{
    contextView: string;
    elem: string;
    itemConstructor: ((label) => string);
    itemElement: string;
    itemLabel: string;
    itemNesting: string;
    itemText: string;
    viewBlock: string;
}>

Type declaration

  • contextView: string
  • elem: string
  • itemConstructor: ((label) => string)
      • (label): string
      • Parameters

        • label: string

        Returns string

  • itemElement: string
  • itemLabel: string
  • itemNesting: string
  • itemText: string
  • viewBlock: string
viewBlock$: ChainablePromiseElement<Element>
viewBlock$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Return the Menu object representing the menu this item belongs to +Todo: fix this

    +

    Returns Menu<{
        contextView: string;
        elem: string;
        itemConstructor: ((label) => string);
        itemElement: string;
        itemLabel: string;
        itemNesting: string;
        itemText: string;
        viewBlock: string;
    }>

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ContextMenuItem>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CustomEditor.html b/docs/classes/CustomEditor.html new file mode 100644 index 00000000..33bf60db --- /dev/null +++ b/docs/classes/CustomEditor.html @@ -0,0 +1,39 @@ +CustomEditor | WebdriverIO VSCode Service - v6.1.0

Page object for custom editors

+

Hierarchy (view full)

Constructors

Properties

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
inputArea$: ChainablePromiseElement<Element>
inputArea$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
view: EditorView | EditorGroup = ...

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Check if the editor has unsaved changes

    +

    Returns Promise<boolean>

    Promise resolving to true if there are unsaved changes, false otherwise

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<CustomEditor>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CustomTreeItem.html b/docs/classes/CustomTreeItem.html new file mode 100644 index 00000000..71ed84ba --- /dev/null +++ b/docs/classes/CustomTreeItem.html @@ -0,0 +1,113 @@ +CustomTreeItem | WebdriverIO VSCode Service - v6.1.0

View item in a custom-made content section (e.g. an extension tree view)

+

Hierarchy (view full)

Constructors

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actionLabel$: ChainablePromiseElement<Element>
actionLabel$$: ChainablePromiseArray<Element[]>
actionTitle$: ChainablePromiseElement<Element>
actionTitle$$: ChainablePromiseArray<Element[]>
actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
author$: ChainablePromiseElement<Element>
author$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
ctor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

ctor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

description$: ChainablePromiseElement<Element>
description$$: ChainablePromiseArray<Element[]>
elem$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

elem$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

expandedAttr$: ChainablePromiseElement<Element>
expandedAttr$$: ChainablePromiseArray<Element[]>
expandedValue$: ChainablePromiseElement<Element>
expandedValue$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
install$: ChainablePromiseElement<Element>
install$$: ChainablePromiseArray<Element[]>
itemTitle$: ChainablePromiseElement<Element>
itemTitle$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
manage$: ChainablePromiseElement<Element>
manage$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
tooltip$: ChainablePromiseElement<Element>
tooltip$$: ChainablePromiseArray<Element[]>
tooltipAttribute$: ChainablePromiseElement<Element>
tooltipAttribute$$: ChainablePromiseArray<Element[]>
twistie$: ChainablePromiseElement<Element>
twistie$$: ChainablePromiseArray<Element[]>
version$: ChainablePromiseElement<Element>
version$$: ChainablePromiseArray<Element[]>
viewPart: TreeSection
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Finds if the item has children by actually counting the child items +Note that this will expand the item if it was collapsed

    +

    Returns Promise<boolean>

    Promise resolving to true/false

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<CustomTreeItem>

    thenable self reference

    +
  • Select the item in the view. +Note that selecting the item will toggle its expand state when applicable.

    +

    Returns Promise<void>

    Promise resolving when the item has been clicked

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CustomTreeSection.html b/docs/classes/CustomTreeSection.html new file mode 100644 index 00000000..d81dc209 --- /dev/null +++ b/docs/classes/CustomTreeSection.html @@ -0,0 +1,87 @@ +CustomTreeSection | WebdriverIO VSCode Service - v6.1.0

Custom tree view, e.g. contributed by an extension

+

Hierarchy (view full)

Constructors

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
content: ViewContent
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
itemLabel$: ChainablePromiseElement<Element>
itemLabel$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
items$: ChainablePromiseElement<Element>
items$$: ChainablePromiseArray<Element[]>
lastRow$: ChainablePromiseElement<Element>
lastRow$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
rowContainer$: ChainablePromiseElement<Element>
rowContainer$$: ChainablePromiseArray<Element[]>
rowWithLabel$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

rowWithLabel$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

searchBox$: ChainablePromiseElement<Element>
searchBox$$: ChainablePromiseArray<Element[]>
textContainer$: ChainablePromiseElement<Element>
textContainer$$: ChainablePromiseArray<Element[]>
textField$: ChainablePromiseElement<Element>
textField$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<CustomTreeSection>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/DebugConsoleView.html b/docs/classes/DebugConsoleView.html new file mode 100644 index 00000000..eb3c9be2 --- /dev/null +++ b/docs/classes/DebugConsoleView.html @@ -0,0 +1,42 @@ +DebugConsoleView | WebdriverIO VSCode Service - v6.1.0

Debug Console view on the bottom panel +Most functionality will only be available when a debug session is running

+

Hierarchy (view full)

Constructors

Properties

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
panel: BottomBarPanel = ...

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Evaluate an expression:

    +
      +
    • if no argument is supplied, evaluate the current expression present in debug console text area
    • +
    • if a string argument is supplied, replace the current expression with the expression argument and evaluate
    • +
    +

    Parameters

    • Optional expression: string

      expression to evaluate. To use existing contents of the debug console + text area instead, don't define this argument

      +

    Returns Promise<void>

  • Type an expression into the debug console text area

    +

    Parameters

    • expression: string

      expression in form of a string

      +

    Returns Promise<void>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/DebugToolbar.html b/docs/classes/DebugToolbar.html new file mode 100644 index 00000000..171b17a1 --- /dev/null +++ b/docs/classes/DebugToolbar.html @@ -0,0 +1,39 @@ +DebugToolbar | WebdriverIO VSCode Service - v6.1.0

Page object for the Debugger Toolbar

+

Hierarchy (view full)

Properties

button$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

button$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<DebugToolbar>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/DebugView.html b/docs/classes/DebugView.html new file mode 100644 index 00000000..11ad12e2 --- /dev/null +++ b/docs/classes/DebugView.html @@ -0,0 +1,46 @@ +DebugView | WebdriverIO VSCode Service - v6.1.0

Page object representing the Run/Debug view in the side bar

+

Hierarchy (view full)

Properties

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
launchCombo$: ChainablePromiseElement<Element>
launchCombo$$: ChainablePromiseArray<Element[]>
launchOption$: ChainablePromiseElement<Element>
launchOption$$: ChainablePromiseArray<Element[]>
launchSelect$: ChainablePromiseElement<Element>
launchSelect$$: ChainablePromiseArray<Element[]>
optionByName$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [name: string]

      Returns ChainablePromiseElement<Element>

optionByName$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [name: string]

      Returns ChainablePromiseArray<Element[]>

startButton$: ChainablePromiseElement<Element>
startButton$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Get titles of all available launch configurations

    +

    Returns Promise<string[]>

    Promise resolving to list of titles

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<DebugView>

    thenable self reference

    +
  • Select a given launch configuration

    +

    Parameters

    • title: string

      title of the configuration to select

      +

    Returns Promise<void>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/DefaultTreeItem.html b/docs/classes/DefaultTreeItem.html new file mode 100644 index 00000000..d607d414 --- /dev/null +++ b/docs/classes/DefaultTreeItem.html @@ -0,0 +1,113 @@ +DefaultTreeItem | WebdriverIO VSCode Service - v6.1.0

Default tree item base on the items in explorer view

+

Hierarchy (view full)

Constructors

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actionLabel$: ChainablePromiseElement<Element>
actionLabel$$: ChainablePromiseArray<Element[]>
actionTitle$: ChainablePromiseElement<Element>
actionTitle$$: ChainablePromiseArray<Element[]>
actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
author$: ChainablePromiseElement<Element>
author$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
ctor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

ctor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

description$: ChainablePromiseElement<Element>
description$$: ChainablePromiseArray<Element[]>
elem$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

elem$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

expandedAttr$: ChainablePromiseElement<Element>
expandedAttr$$: ChainablePromiseArray<Element[]>
expandedValue$: ChainablePromiseElement<Element>
expandedValue$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
install$: ChainablePromiseElement<Element>
install$$: ChainablePromiseArray<Element[]>
itemTitle$: ChainablePromiseElement<Element>
itemTitle$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
manage$: ChainablePromiseElement<Element>
manage$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
tooltip$: ChainablePromiseElement<Element>
tooltip$$: ChainablePromiseArray<Element[]>
tooltipAttribute$: ChainablePromiseElement<Element>
tooltipAttribute$$: ChainablePromiseArray<Element[]>
twistie$: ChainablePromiseElement<Element>
twistie$$: ChainablePromiseArray<Element[]>
version$: ChainablePromiseElement<Element>
version$$: ChainablePromiseArray<Element[]>
viewPart: TreeSection
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Finds if the item has children by actually counting the child items +Note that this will expand the item if it was collapsed

    +

    Returns Promise<boolean>

    Promise resolving to true/false

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<DefaultTreeItem>

    thenable self reference

    +
  • Select the item in the view. +Note that selecting the item will toggle its expand state when applicable.

    +

    Returns Promise<void>

    Promise resolving when the item has been clicked

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/DefaultTreeSection.html b/docs/classes/DefaultTreeSection.html new file mode 100644 index 00000000..b270811b --- /dev/null +++ b/docs/classes/DefaultTreeSection.html @@ -0,0 +1,87 @@ +DefaultTreeSection | WebdriverIO VSCode Service - v6.1.0

Default view section

+

Hierarchy (view full)

Constructors

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
content: ViewContent
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
itemLabel$: ChainablePromiseElement<Element>
itemLabel$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
items$: ChainablePromiseElement<Element>
items$$: ChainablePromiseArray<Element[]>
lastRow$: ChainablePromiseElement<Element>
lastRow$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
rowContainer$: ChainablePromiseElement<Element>
rowContainer$$: ChainablePromiseArray<Element[]>
rowWithLabel$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

rowWithLabel$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

searchBox$: ChainablePromiseElement<Element>
searchBox$$: ChainablePromiseArray<Element[]>
textContainer$: ChainablePromiseElement<Element>
textContainer$$: ChainablePromiseArray<Element[]>
textField$: ChainablePromiseElement<Element>
textField$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<DefaultTreeSection>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/DiffEditor.html b/docs/classes/DiffEditor.html new file mode 100644 index 00000000..49c7c285 --- /dev/null +++ b/docs/classes/DiffEditor.html @@ -0,0 +1,115 @@ +DiffEditor | WebdriverIO VSCode Service - v6.1.0

Page object representing a diff editor

+

Hierarchy (view full)

Constructors

Properties

action$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

action$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

actionContainer$: ChainablePromiseElement<Element>
actionContainer$$: ChainablePromiseArray<Element[]>
actionItem$: ChainablePromiseElement<Element>
actionItem$$: ChainablePromiseArray<Element[]>
actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
activeTab$: ChainablePromiseElement<Element>
activeTab$$: ChainablePromiseArray<Element[]>
breakPoint$: ChainablePromiseElement<Element>
breakPoint$$: ChainablePromiseArray<Element[]>
checkboxChecked$: ChainablePromiseElement<Element>
checkboxChecked$$: ChainablePromiseArray<Element[]>
checkboxSetting$: ChainablePromiseElement<Element>
checkboxSetting$$: ChainablePromiseArray<Element[]>
closeTab$: ChainablePromiseElement<Element>
closeTab$$: ChainablePromiseArray<Element[]>
comboOption$: ChainablePromiseElement<Element>
comboOption$$: ChainablePromiseArray<Element[]>
comboSetting$: ChainablePromiseElement<Element>
comboSetting$$: ChainablePromiseArray<Element[]>
dataUri$: ChainablePromiseElement<Element>
dataUri$$: ChainablePromiseArray<Element[]>
debugHint$: ChainablePromiseElement<Element>
debugHint$$: ChainablePromiseArray<Element[]>
diffEditor$: ChainablePromiseElement<Element>
diffEditor$$: ChainablePromiseArray<Element[]>
editorContainer$: ChainablePromiseElement<Element>
editorContainer$$: ChainablePromiseArray<Element[]>
editorGroup$: ChainablePromiseElement<Element>
editorGroup$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
findWidget$: ChainablePromiseElement<Element>
findWidget$$: ChainablePromiseArray<Element[]>
formatDoc$: ChainablePromiseElement<Element>
formatDoc$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
inputArea$: ChainablePromiseElement<Element>
inputArea$$: ChainablePromiseArray<Element[]>
itemCount$: ChainablePromiseElement<Element>
itemCount$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
lineNumber$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseElement<Element>

lineNumber$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseArray<Element[]>

lineOverlay$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseElement<Element>

lineOverlay$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseArray<Element[]>

linkButton$: ChainablePromiseElement<Element>
linkButton$$: ChainablePromiseArray<Element[]>
marginArea$: ChainablePromiseElement<Element>
marginArea$$: ChainablePromiseArray<Element[]>
modifiedEditor$: ChainablePromiseElement<Element>
modifiedEditor$$: ChainablePromiseArray<Element[]>
originalEditor$: ChainablePromiseElement<Element>
originalEditor$$: ChainablePromiseArray<Element[]>
selection$: ChainablePromiseElement<Element>
selection$$: ChainablePromiseArray<Element[]>
settingConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseElement<Element>

settingConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseArray<Element[]>

settingDesctiption$: ChainablePromiseElement<Element>
settingDesctiption$$: ChainablePromiseArray<Element[]>
settingsEditor$: ChainablePromiseElement<Element>
settingsEditor$$: ChainablePromiseArray<Element[]>
tab$: ChainablePromiseElement<Element>
tab$$: ChainablePromiseArray<Element[]>
tabLabel$: ChainablePromiseElement<Element>
tabLabel$$: ChainablePromiseArray<Element[]>
tabSeparator$: ChainablePromiseElement<Element>
tabSeparator$$: ChainablePromiseArray<Element[]>
tabTitle$: ChainablePromiseElement<Element>
tabTitle$$: ChainablePromiseArray<Element[]>
tabs$: ChainablePromiseElement<Element>
tabs$$: ChainablePromiseArray<Element[]>
textSetting$: ChainablePromiseElement<Element>
textSetting$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
view: EditorView | EditorGroup = ...
webView$: ChainablePromiseElement<Element>
webView$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<DiffEditor>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Editor.html b/docs/classes/Editor.html new file mode 100644 index 00000000..2455f43a --- /dev/null +++ b/docs/classes/Editor.html @@ -0,0 +1,25 @@ +Editor | WebdriverIO VSCode Service - v6.1.0

Class Editor<T>Abstract

Abstract representation of an editor tab

+

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

Accessors

Methods

Constructors

Properties

view: EditorView | EditorGroup = ...

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<Editor<T>>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/EditorGroup.html b/docs/classes/EditorGroup.html new file mode 100644 index 00000000..b0bc1b4f --- /dev/null +++ b/docs/classes/EditorGroup.html @@ -0,0 +1,74 @@ +EditorGroup | WebdriverIO VSCode Service - v6.1.0

Page object representing an editor group

+

Hierarchy (view full)

Constructors

Properties

actionContainer$: ChainablePromiseElement<Element>
actionContainer$$: ChainablePromiseArray<Element[]>
actionItem$: ChainablePromiseElement<Element>
actionItem$$: ChainablePromiseArray<Element[]>
closeTab$: ChainablePromiseElement<Element>
closeTab$$: ChainablePromiseArray<Element[]>
diffEditor$: ChainablePromiseElement<Element>
diffEditor$$: ChainablePromiseArray<Element[]>
editorGroup$: ChainablePromiseElement<Element>
editorGroup$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
settingsEditor$: ChainablePromiseElement<Element>
settingsEditor$$: ChainablePromiseArray<Element[]>
tab$: ChainablePromiseElement<Element>
tab$$: ChainablePromiseArray<Element[]>
tabLabel$: ChainablePromiseElement<Element>
tabLabel$$: ChainablePromiseArray<Element[]>
tabSeparator$: ChainablePromiseElement<Element>
tabSeparator$$: ChainablePromiseArray<Element[]>
tabTitle$: ChainablePromiseElement<Element>
tabTitle$$: ChainablePromiseArray<Element[]>
view: EditorView = ...
webView$: ChainablePromiseElement<Element>
webView$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Close all open editor tabs

    +

    Returns Promise<void>

    Promise resolving once all tabs have had their close button pressed

    +
  • Close an editor tab with the given title

    +

    Parameters

    • title: string

      title of the tab

      +

    Returns Promise<void>

    Promise resolving when the tab's close button is pressed

    +
  • Find an editor action button by title

    +

    Parameters

    • title: string

      title of the button

      +

    Returns Promise<undefined | Element>

    promise resolving to WebElement representing the button if found, undefined otherwise

    +
  • Retrieve the editor action buttons as WebElements

    +

    Returns Promise<ElementArray>

    promise resolving to list of WebElement objects

    +
  • Retrieve all open editor tab titles in an array

    +

    Returns Promise<string[]>

    Promise resolving to array of editor titles

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<EditorGroup>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/EditorTab.html b/docs/classes/EditorTab.html new file mode 100644 index 00000000..279d4acd --- /dev/null +++ b/docs/classes/EditorTab.html @@ -0,0 +1,31 @@ +EditorTab | WebdriverIO VSCode Service - v6.1.0

Page object for editor view tab

+

Hierarchy (view full)

Constructors

Properties

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
inputArea$: ChainablePromiseElement<Element>
inputArea$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/EditorView.html b/docs/classes/EditorView.html new file mode 100644 index 00000000..74ba0265 --- /dev/null +++ b/docs/classes/EditorView.html @@ -0,0 +1,86 @@ +EditorView | WebdriverIO VSCode Service - v6.1.0

View handling the open editors

+

Hierarchy (view full)

Properties

actionContainer$: ChainablePromiseElement<Element>
actionContainer$$: ChainablePromiseArray<Element[]>
actionItem$: ChainablePromiseElement<Element>
actionItem$$: ChainablePromiseArray<Element[]>
closeTab$: ChainablePromiseElement<Element>
closeTab$$: ChainablePromiseArray<Element[]>
diffEditor$: ChainablePromiseElement<Element>
diffEditor$$: ChainablePromiseArray<Element[]>
editorGroup$: ChainablePromiseElement<Element>
editorGroup$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
settingsEditor$: ChainablePromiseElement<Element>
settingsEditor$$: ChainablePromiseArray<Element[]>
tab$: ChainablePromiseElement<Element>
tab$$: ChainablePromiseArray<Element[]>
tabLabel$: ChainablePromiseElement<Element>
tabLabel$$: ChainablePromiseArray<Element[]>
tabSeparator$: ChainablePromiseElement<Element>
tabSeparator$$: ChainablePromiseArray<Element[]>
tabTitle$: ChainablePromiseElement<Element>
tabTitle$$: ChainablePromiseArray<Element[]>
webView$: ChainablePromiseElement<Element>
webView$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Close all open editor tabs

    +

    Parameters

    • Optional groupIndex: number

      optional index to specify an editor group

      +

    Returns Promise<void>

    Promise resolving once all tabs have had their close button pressed

    +
  • Close an editor tab with the given title

    +

    Parameters

    • title: string

      title of the tab

      +
    • groupIndex: number = 0

      zero based index for the editor group (0 for the left most group)

      +

    Returns Promise<void>

    Promise resolving when the tab's close button is pressed

    +
  • Get editor action of a select editor group, search by title

    +

    Parameters

    • title: string
    • groupIndex: number = 0

      zero based index of the editor group (leftmost group has index 0), default 0

      +

    Returns Promise<undefined | Element>

    promise resolving to WebElement object if found, undefined otherwise

    +
  • Get editor actions of a select editor group

    +

    Parameters

    • groupIndex: number = 0

      zero based index of the editor group (leftmost group has index 0), default 0

      +

    Returns Promise<ElementArray>

    promise resolving to list of WebElement objects

    +
  • Retrieve an editor group with a given index (counting from left to right)

    +

    Parameters

    • index: number

      zero based index of the editor group (leftmost group has index 0)

      +

    Returns Promise<EditorGroup>

    promise resolving to an EditorGroup object

    +
  • Retrieve all open editor tab titles in an array

    +

    Parameters

    • Optional groupIndex: number

      optional index to specify an editor group, if left empty will search all groups

      +

    Returns Promise<string[]>

    Promise resolving to array of editor titles

    +
  • Retrieve all open editor tabs

    +

    Parameters

    • Optional groupIndex: number

      index of group to search for tabs, if left undefined, all groups are searched

      +

    Returns Promise<EditorTab[]>

    promise resolving to EditorTab list

    +
  • Retrieve an editor tab from a given group by title

    +

    Parameters

    • title: string

      title of the tab

      +
    • groupIndex: number = 0

      zero based index of the editor group, default 0 (leftmost one)

      +

    Returns Promise<EditorTab>

    promise resolving to EditorTab object

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<EditorView>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ElementWithContextMenu.html b/docs/classes/ElementWithContextMenu.html new file mode 100644 index 00000000..c4fc1a94 --- /dev/null +++ b/docs/classes/ElementWithContextMenu.html @@ -0,0 +1,19 @@ +ElementWithContextMenu | WebdriverIO VSCode Service - v6.1.0

Class ElementWithContextMenu<T>Abstract

Abstract element that has a context menu

+

Type Parameters

  • T

Hierarchy (view full)

Accessors

Methods

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ExtensionsViewItem.html b/docs/classes/ExtensionsViewItem.html new file mode 100644 index 00000000..4613ec0d --- /dev/null +++ b/docs/classes/ExtensionsViewItem.html @@ -0,0 +1,99 @@ +ExtensionsViewItem | WebdriverIO VSCode Service - v6.1.0

Page object representing an extension in the extensions view

+

Hierarchy (view full)

Constructors

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actionLabel$: ChainablePromiseElement<Element>
actionLabel$$: ChainablePromiseArray<Element[]>
actionTitle$: ChainablePromiseElement<Element>
actionTitle$$: ChainablePromiseArray<Element[]>
actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
author$: ChainablePromiseElement<Element>
author$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
ctor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

ctor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

description$: ChainablePromiseElement<Element>
description$$: ChainablePromiseArray<Element[]>
elem$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

elem$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

expandedAttr$: ChainablePromiseElement<Element>
expandedAttr$$: ChainablePromiseArray<Element[]>
expandedValue$: ChainablePromiseElement<Element>
expandedValue$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
install$: ChainablePromiseElement<Element>
install$$: ChainablePromiseArray<Element[]>
itemTitle$: ChainablePromiseElement<Element>
itemTitle$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
manage$: ChainablePromiseElement<Element>
manage$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
tooltip$: ChainablePromiseElement<Element>
tooltip$$: ChainablePromiseArray<Element[]>
tooltipAttribute$: ChainablePromiseElement<Element>
tooltipAttribute$$: ChainablePromiseArray<Element[]>
twistie$: ChainablePromiseElement<Element>
twistie$$: ChainablePromiseArray<Element[]>
version$: ChainablePromiseElement<Element>
version$$: ChainablePromiseArray<Element[]>
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Install the extension if not installed already.

    +

    Will wait for the extension to finish installing. To skip the wait, set timeout to 0.

    +

    Parameters

    • timeout: number = 300000

      timeout to wait for the installation in milliseconds, default unlimited, set to 0 to skip waiting

      +

    Returns Promise<void>

    Promise resolving when the installation finishes or is skipped

    +
  • Select the item in the view. +Note that selecting the item will toggle its expand state when applicable.

    +

    Returns Promise<void>

    Promise resolving when the item has been clicked

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ExtensionsViewSection.html b/docs/classes/ExtensionsViewSection.html new file mode 100644 index 00000000..8ec13163 --- /dev/null +++ b/docs/classes/ExtensionsViewSection.html @@ -0,0 +1,104 @@ +ExtensionsViewSection | WebdriverIO VSCode Service - v6.1.0

View section containing extensions

+

Hierarchy (view full)

Constructors

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
content: ViewContent
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
itemLabel$: ChainablePromiseElement<Element>
itemLabel$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
items$: ChainablePromiseElement<Element>
items$$: ChainablePromiseArray<Element[]>
lastRow$: ChainablePromiseElement<Element>
lastRow$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
rowContainer$: ChainablePromiseElement<Element>
rowContainer$$: ChainablePromiseArray<Element[]>
rowWithLabel$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

rowWithLabel$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

searchBox$: ChainablePromiseElement<Element>
searchBox$$: ChainablePromiseArray<Element[]>
textContainer$: ChainablePromiseElement<Element>
textContainer$$: ChainablePromiseArray<Element[]>
textField$: ChainablePromiseElement<Element>
textField$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods - Other

Methods - is present, marketplace will be searched

  • Search for an extension by title. This utilizes the search bar +in the Extensions view, which switches the perspective to the +section representing the chosen category and temporarily hides all other sections. +If you wish to continue working with the initial view section +(i.e. Enabled), use the clearSearch method to reset it back to default

    +

    Parameters

    • title: string

      title to search for in '@category name' format, +e.g '@installed extension'. If no

      +

    Returns Promise<undefined | ExtensionsViewItem>

    Promise resolving to ExtensionsViewItem if such item exists, undefined otherwise

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/FindWidget.html b/docs/classes/FindWidget.html new file mode 100644 index 00000000..3a3858eb --- /dev/null +++ b/docs/classes/FindWidget.html @@ -0,0 +1,75 @@ +FindWidget | WebdriverIO VSCode Service - v6.1.0

Text Editor's Find Widget

+

Hierarchy (view full)

Constructors

Properties

button$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

button$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

checkbox$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

checkbox$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

content$: ChainablePromiseElement<Element>
content$$: ChainablePromiseArray<Element[]>
findPart$: ChainablePromiseElement<Element>
findPart$$: ChainablePromiseArray<Element[]>
input$: ChainablePromiseElement<Element>
input$$: ChainablePromiseArray<Element[]>
matchCount$: ChainablePromiseElement<Element>
matchCount$$: ChainablePromiseArray<Element[]>
replacePart$: ChainablePromiseElement<Element>
replacePart$$: ChainablePromiseArray<Element[]>
textEditor: TextEditor
toggleReplace$: ChainablePromiseElement<Element>
toggleReplace$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Get the number of results as an ordered pair of numbers

    +

    Returns Promise<[number, number]>

    pair in form of [current result index, total number of results]

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<FindWidget>

    thenable self reference

    +
  • Set text in the replace box. Will toggle replace mode on if called in find mode.

    +

    Parameters

    • text: string

      text to fill in

      +

    Returns Promise<void>

  • Toggle the search to match case

    +

    Parameters

    • toggle: boolean

      true to turn on, false to turn off

      +

    Returns Promise<void>

  • Toggle the search to match whole words

    +

    Parameters

    • toggle: boolean

      true to turn on, false to turn off

      +

    Returns Promise<void>

  • Toggle the replace to preserve case

    +

    Parameters

    • toggle: boolean

      true to turn on, false to turn off

      +

    Returns Promise<void>

  • Toggle between find and replace mode

    +

    Parameters

    • replace: boolean

      true for replace, false for find

      +

    Returns Promise<void>

  • Toggle the search to use regular expressions

    +

    Parameters

    • toggle: boolean

      true to turn on, false to turn off

      +

    Returns Promise<void>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Input.html b/docs/classes/Input.html new file mode 100644 index 00000000..911e446b --- /dev/null +++ b/docs/classes/Input.html @@ -0,0 +1,97 @@ +Input | WebdriverIO VSCode Service - v6.1.0

Abstract page object for input fields

+

Hierarchy (view full)

Properties

backButton$: ChainablePromiseElement<Element>
backButton$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
input$: ChainablePromiseElement<Element>
input$$: ChainablePromiseArray<Element[]>
inputBox$: ChainablePromiseElement<Element>
inputBox$$: ChainablePromiseArray<Element[]>
message$: ChainablePromiseElement<Element>
message$$: ChainablePromiseArray<Element[]>
progress$: ChainablePromiseElement<Element>
progress$$: ChainablePromiseArray<Element[]>
quickList$: ChainablePromiseElement<Element>
quickList$$: ChainablePromiseArray<Element[]>
quickPickDescription$: ChainablePromiseElement<Element>
quickPickDescription$$: ChainablePromiseArray<Element[]>
quickPickIndex$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

quickPickIndex$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

quickPickLabel$: ChainablePromiseElement<Element>
quickPickLabel$$: ChainablePromiseArray<Element[]>
quickPickPosition$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

quickPickPosition$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

quickPickSelectAll$: ChainablePromiseElement<Element>
quickPickSelectAll$$: ChainablePromiseArray<Element[]>
row$: ChainablePromiseElement<Element>
row$$: ChainablePromiseArray<Element[]>
rows$: ChainablePromiseElement<Element>
rows$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleBar$: ChainablePromiseElement<Element>
titleBar$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Click on the back button if it exists

    +

    Returns Promise<boolean>

    Promise resolving to true if a button was clicked, to false otherwise

    +
  • Cancel the input field by pressing Escape

    +

    Returns Promise<void>

    Promise resolving when the input is cancelled

    +
  • Confirm the input field by pressing Enter

    +

    Returns Promise<void>

    Promise resolving when the input is confirmed

    +
  • Scroll through the quick picks to find an item by the name or index

    +

    Parameters

    • indexOrText: string | number

      index (number) or text (string) of the item to search by

      +

    Returns Promise<undefined | QuickPickItem>

    Promise resolvnig to QuickPickItem if found, to undefined otherwise

    +
  • Get the placeholder text for the input field

    +

    Returns Promise<string>

    Promise resolving to input placeholder

    +
  • Get current text of the input field

    +

    Returns Promise<string>

    Promise resolving to text of the input field

    +
  • Retrieve the title of an input box if it has one

    +

    Returns Promise<undefined | string>

    Promise resolving to title if it exists, to undefined otherwise

    +
  • Find whether the input box has an active progress bar

    +

    Returns Promise<boolean>

    Promise resolving to true/false

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<Input>

    thenable self reference

    +
  • Select (click) a quick pick option. Will scroll through the quick picks to find the item. +Search for the item can be done by its text, or index in the quick pick menu. +Note that scrolling does not affect the item's index, but it will +replace some items in the DOM (thus they become unreachable)

    +

    Parameters

    • indexOrText: string | number

      index (number) or text (string) of the item to search by

      +

    Returns Promise<void>

    Promise resolving when the given quick pick is selected

    +
  • Set (by selecting all and typing) text in the input field

    +

    Parameters

    • text: string

      text to set into the input field

      +

    Returns Promise<void>

    Promise resolving when the text is typed in

    +
  • Select/Deselect all quick picks using the 'select all' checkbox +If multiple selection is disabled on the input box, no action is performed

    +

    Parameters

    • state: boolean

      true to select all, false to deselect all

      +

    Returns Promise<void>

    Promise resolving when all quick picks have been toggled to desired state

    +
  • Wait for the element to become visible

    +

    Parameters

    • timeout: number = 5000

      custom timeout for the wait

      +

    Returns Promise<Input>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/InputBox.html b/docs/classes/InputBox.html new file mode 100644 index 00000000..a342688a --- /dev/null +++ b/docs/classes/InputBox.html @@ -0,0 +1,105 @@ +InputBox | WebdriverIO VSCode Service - v6.1.0

Plain input box variation of the input page object

+

Hierarchy (view full)

Properties

backButton$: ChainablePromiseElement<Element>
backButton$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
input$: ChainablePromiseElement<Element>
input$$: ChainablePromiseArray<Element[]>
inputBox$: ChainablePromiseElement<Element>
inputBox$$: ChainablePromiseArray<Element[]>
message$: ChainablePromiseElement<Element>
message$$: ChainablePromiseArray<Element[]>
progress$: ChainablePromiseElement<Element>
progress$$: ChainablePromiseArray<Element[]>
quickList$: ChainablePromiseElement<Element>
quickList$$: ChainablePromiseArray<Element[]>
quickPickDescription$: ChainablePromiseElement<Element>
quickPickDescription$$: ChainablePromiseArray<Element[]>
quickPickIndex$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

quickPickIndex$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

quickPickLabel$: ChainablePromiseElement<Element>
quickPickLabel$$: ChainablePromiseArray<Element[]>
quickPickPosition$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

quickPickPosition$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

quickPickSelectAll$: ChainablePromiseElement<Element>
quickPickSelectAll$$: ChainablePromiseArray<Element[]>
row$: ChainablePromiseElement<Element>
row$$: ChainablePromiseArray<Element[]>
rows$: ChainablePromiseElement<Element>
rows$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleBar$: ChainablePromiseElement<Element>
titleBar$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Click on the back button if it exists

    +

    Returns Promise<boolean>

    Promise resolving to true if a button was clicked, to false otherwise

    +
  • Scroll through the quick picks to find an item by the name or index

    +

    Parameters

    • indexOrText: string | number

      index (number) or text (string) of the item to search by

      +

    Returns Promise<undefined | QuickPickItem>

    Promise resolvnig to QuickPickItem if found, to undefined otherwise

    +
  • Retrieve the title of an input box if it has one

    +

    Returns Promise<undefined | string>

    Promise resolving to title if it exists, to undefined otherwise

    +
  • Find whether the input is showing an error

    +

    Returns Promise<boolean>

    Promise resolving to notification message

    +
  • Check if the input field is masked (input type password)

    +

    Returns Promise<boolean>

    Promise resolving to notification message

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<InputBox>

    thenable self reference

    +
  • Select (click) a quick pick option. Will scroll through the quick picks to find the item. +Search for the item can be done by its text, or index in the quick pick menu. +Note that scrolling does not affect the item's index, but it will +replace some items in the DOM (thus they become unreachable)

    +

    Parameters

    • indexOrText: string | number

      index (number) or text (string) of the item to search by

      +

    Returns Promise<void>

    Promise resolving when the given quick pick is selected

    +
  • Set (by selecting all and typing) text in the input field

    +

    Parameters

    • text: string

      text to set into the input field

      +

    Returns Promise<void>

    Promise resolving when the text is typed in

    +
  • Select/Deselect all quick picks using the 'select all' checkbox +If multiple selection is disabled on the input box, no action is performed

    +

    Parameters

    • state: boolean

      true to select all, false to deselect all

      +

    Returns Promise<void>

    Promise resolving when all quick picks have been toggled to desired state

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/LinkSetting.html b/docs/classes/LinkSetting.html new file mode 100644 index 00000000..dceab455 --- /dev/null +++ b/docs/classes/LinkSetting.html @@ -0,0 +1,65 @@ +LinkSetting | WebdriverIO VSCode Service - v6.1.0

Setting with no value, with a link to settings.json instead

+

Hierarchy (view full)

Constructors

Properties

action$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

action$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
checkboxChecked$: ChainablePromiseElement<Element>
checkboxChecked$$: ChainablePromiseArray<Element[]>
checkboxSetting$: ChainablePromiseElement<Element>
checkboxSetting$$: ChainablePromiseArray<Element[]>
comboOption$: ChainablePromiseElement<Element>
comboOption$$: ChainablePromiseArray<Element[]>
comboSetting$: ChainablePromiseElement<Element>
comboSetting$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
itemCount$: ChainablePromiseElement<Element>
itemCount$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
linkButton$: ChainablePromiseElement<Element>
linkButton$$: ChainablePromiseArray<Element[]>
settingConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseElement<Element>

settingConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseArray<Element[]>

settingDesctiption$: ChainablePromiseElement<Element>
settingDesctiption$$: ChainablePromiseArray<Element[]>
settings: SettingsEditor
tabs$: ChainablePromiseElement<Element>
tabs$$: ChainablePromiseArray<Element[]>
textSetting$: ChainablePromiseElement<Element>
textSetting$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Open the link that leads to the value in settings.json

    +

    Returns Promise<void>

    Promise resolving when the link has been clicked

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<LinkSetting>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/MacTitleBar.html b/docs/classes/MacTitleBar.html new file mode 100644 index 00000000..411abc3a --- /dev/null +++ b/docs/classes/MacTitleBar.html @@ -0,0 +1,11 @@ +MacTitleBar | WebdriverIO VSCode Service - v6.1.0

Handler object for macOS based title bar.

+

Note: depcrecated as it doesn't work for latest MacOS

+

Deprecated

Constructors

Methods

Constructors

Methods

  • Select an item from the mac menu bar by its path, +does not actually visibly open the menus.

    +

    Parameters

    • Rest ...items: string[]

      varargs path to the given menu item + each argument serves as a part of the path in order,

      +

      e.g. ('File', 'Save') will select the 'Save' item from + the 'File' submenu

      +

    Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Marker.html b/docs/classes/Marker.html new file mode 100644 index 00000000..e47d45f0 --- /dev/null +++ b/docs/classes/Marker.html @@ -0,0 +1,53 @@ +Marker | WebdriverIO VSCode Service - v6.1.0

Page object for marker in problems view

+

Hierarchy (view full)

Constructors

Properties

detailsLine$: ChainablePromiseElement<Element>
detailsLine$$: ChainablePromiseArray<Element[]>
detailsSource$: ChainablePromiseElement<Element>
detailsSource$$: ChainablePromiseArray<Element[]>
detailsText$: ChainablePromiseElement<Element>
detailsText$$: ChainablePromiseArray<Element[]>
fileName$: ChainablePromiseElement<Element>
fileName$$: ChainablePromiseArray<Element[]>
markerTwistie$: ChainablePromiseElement<Element>
markerTwistie$$: ChainablePromiseArray<Element[]>
problemCount$: ChainablePromiseElement<Element>
problemCount$$: ChainablePromiseArray<Element[]>
problems: Problem[] = []
rowLabel$: ChainablePromiseElement<Element>
rowLabel$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Get the type of the marker +Possible types are: File, Error, Warning

    +

    Returns Promise<MarkerType>

    Promise resolving to a MarkerType

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<Marker>

    thenable self reference

    +
  • Expand/Collapse the marker if possible

    +

    Parameters

    • expand: boolean

      true to expand, false to collapse

      +

    Returns Promise<void>

    Promise resolving when the expand/collapse twistie is clicked

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Menu.html b/docs/classes/Menu.html new file mode 100644 index 00000000..de25536d --- /dev/null +++ b/docs/classes/Menu.html @@ -0,0 +1,36 @@ +Menu | WebdriverIO VSCode Service - v6.1.0

Class Menu<T>Abstract

Abstract element representing a menu

+

Type Parameters

  • T

Hierarchy (view full)

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Return a menu item of a given name, undefined if not found

    +

    Parameters

    • name: string

      name of the item to search for

      +

    Returns Promise<undefined | MenuItem<T>>

  • Find whether the menu has an item of a given name

    +

    Parameters

    • name: string

      name of the item to search for

      +

    Returns Promise<boolean>

    true if menu has an item with the given name, false otherwise

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<Menu<T>>

    thenable self reference

    +
  • Recursively select an item with a given path.

    +

    E.g. calling select('File', 'Preferences', 'Settings') will +open the 'File' -> 'Preferences' submenus and then click on 'Settings'.

    +

    Selection happens in order of the arguments, if one of the items in the middle +of the path has no children, the consequent path arguments will be ignored.

    +

    Parameters

    • Rest ...path: string[]

      path to the item to select, represented by a sequence of strings

      +

    Returns Promise<undefined | Menu<T>>

    void if the last clicked item is a leaf, Menu item representing +its submenu otherwise

    +
  • Wait for the element to become visible

    +

    Parameters

    • timeout: number = 5000

      custom timeout for the wait

      +

    Returns Promise<Menu<T>>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/MenuItem.html b/docs/classes/MenuItem.html new file mode 100644 index 00000000..848dc635 --- /dev/null +++ b/docs/classes/MenuItem.html @@ -0,0 +1,28 @@ +MenuItem | WebdriverIO VSCode Service - v6.1.0

Class MenuItem<T>Abstract

Abstract element representing a menu item

+

Type Parameters

  • T

Hierarchy (view full)

Properties

Accessors

Methods

Properties

label: string
parentMenu: Menu<T>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<MenuItem<T>>

    thenable self reference

    +
  • Use the given menu item: Opens the submenu if the item has children, +otherwise simply click the item.

    +

    Returns Promise<undefined | Menu<any>>

    Menu object representing the submenu if the item has children, void otherwise.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/MultiScmProvider.html b/docs/classes/MultiScmProvider.html new file mode 100644 index 00000000..9fed09ab --- /dev/null +++ b/docs/classes/MultiScmProvider.html @@ -0,0 +1,90 @@ +MultiScmProvider | WebdriverIO VSCode Service - v6.1.0

Implementation of an SCM provider when multiple providers are available

+

Hierarchy (view full)

Constructors

Properties

action$: ChainablePromiseElement<Element>
action$$: ChainablePromiseArray<Element[]>
actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

changeCount$: ChainablePromiseElement<Element>
changeCount$$: ChainablePromiseArray<Element[]>
changeDesc$: ChainablePromiseElement<Element>
changeDesc$$: ChainablePromiseArray<Element[]>
changeItem$: ChainablePromiseElement<Element>
changeItem$$: ChainablePromiseArray<Element[]>
changeLabel$: ChainablePromiseElement<Element>
changeLabel$$: ChainablePromiseArray<Element[]>
changeName$: ChainablePromiseElement<Element>
changeName$$: ChainablePromiseArray<Element[]>
changes$: ChainablePromiseElement<Element>
changes$$: ChainablePromiseArray<Element[]>
expand$: ChainablePromiseElement<Element>
expand$$: ChainablePromiseArray<Element[]>
initButton$: ChainablePromiseElement<Element>
initButton$$: ChainablePromiseArray<Element[]>
inputField$: ChainablePromiseElement<Element>
inputField$$: ChainablePromiseArray<Element[]>
itemIndex$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

itemIndex$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

itemLevel$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseElement<Element>

itemLevel$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseArray<Element[]>

more$: ChainablePromiseElement<Element>
more$$: ChainablePromiseArray<Element[]>
multiMore$: ChainablePromiseElement<Element>
multiMore$$: ChainablePromiseArray<Element[]>
multiProviderItem$: ChainablePromiseElement<Element>
multiProviderItem$$: ChainablePromiseArray<Element[]>
multiScmProvider$: ChainablePromiseElement<Element>
multiScmProvider$$: ChainablePromiseArray<Element[]>
providerHeader$: ChainablePromiseElement<Element>
providerHeader$$: ChainablePromiseArray<Element[]>
providerRelative$: ChainablePromiseElement<Element>
providerRelative$$: ChainablePromiseArray<Element[]>
providerTitle$: ChainablePromiseElement<Element>
providerTitle$$: ChainablePromiseArray<Element[]>
providerType$: ChainablePromiseElement<Element>
providerType$$: ChainablePromiseArray<Element[]>
resource$: ChainablePromiseElement<Element>
resource$$: ChainablePromiseArray<Element[]>
singleScmProvider$: ChainablePromiseElement<Element>
singleScmProvider$$: ChainablePromiseArray<Element[]>
stagedChanges$: ChainablePromiseElement<Element>
stagedChanges$$: ChainablePromiseArray<Element[]>
view: ScmView

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Fill in the message field and send ctrl/cmd + enter to commit the changes

    +

    Parameters

    • message: string

      the commit message to use

      +

    Returns Promise<void>

    promise resolving once the keypresses are sent

    +
  • Get the number of changes for a given section

    +

    Parameters

    • staged: boolean = false

      when true, counts the staged changes, unstaged otherwise

      +

    Returns Promise<number>

    promise resolving to number of changes in the given subsection

    +
  • Find an action button for the SCM provider by title and click it. (e.g 'Commit')

    +

    Parameters

    • title: string

      Title of the action button to click

      +

    Returns Promise<boolean>

    true if the given action could be performed, false if the button doesn't exist

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/NewScmView.html b/docs/classes/NewScmView.html new file mode 100644 index 00000000..9b150d39 --- /dev/null +++ b/docs/classes/NewScmView.html @@ -0,0 +1,83 @@ +NewScmView | WebdriverIO VSCode Service - v6.1.0

New SCM view for code 1.47 onwards

+

Hierarchy (view full)

Properties

action$: ChainablePromiseElement<Element>
action$$: ChainablePromiseArray<Element[]>
actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

changeCount$: ChainablePromiseElement<Element>
changeCount$$: ChainablePromiseArray<Element[]>
changeDesc$: ChainablePromiseElement<Element>
changeDesc$$: ChainablePromiseArray<Element[]>
changeItem$: ChainablePromiseElement<Element>
changeItem$$: ChainablePromiseArray<Element[]>
changeLabel$: ChainablePromiseElement<Element>
changeLabel$$: ChainablePromiseArray<Element[]>
changeName$: ChainablePromiseElement<Element>
changeName$$: ChainablePromiseArray<Element[]>
changes$: ChainablePromiseElement<Element>
changes$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
expand$: ChainablePromiseElement<Element>
expand$$: ChainablePromiseArray<Element[]>
initButton$: ChainablePromiseElement<Element>
initButton$$: ChainablePromiseArray<Element[]>
inputField$: ChainablePromiseElement<Element>
inputField$$: ChainablePromiseArray<Element[]>
itemIndex$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

itemIndex$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

itemLevel$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseElement<Element>

itemLevel$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseArray<Element[]>

more$: ChainablePromiseElement<Element>
more$$: ChainablePromiseArray<Element[]>
multiMore$: ChainablePromiseElement<Element>
multiMore$$: ChainablePromiseArray<Element[]>
multiProviderItem$: ChainablePromiseElement<Element>
multiProviderItem$$: ChainablePromiseArray<Element[]>
multiScmProvider$: ChainablePromiseElement<Element>
multiScmProvider$$: ChainablePromiseArray<Element[]>
providerHeader$: ChainablePromiseElement<Element>
providerHeader$$: ChainablePromiseArray<Element[]>
providerRelative$: ChainablePromiseElement<Element>
providerRelative$$: ChainablePromiseArray<Element[]>
providerTitle$: ChainablePromiseElement<Element>
providerTitle$$: ChainablePromiseArray<Element[]>
providerType$: ChainablePromiseElement<Element>
providerType$$: ChainablePromiseArray<Element[]>
resource$: ChainablePromiseElement<Element>
resource$$: ChainablePromiseArray<Element[]>
singleScmProvider$: ChainablePromiseElement<Element>
singleScmProvider$$: ChainablePromiseArray<Element[]>
stagedChanges$: ChainablePromiseElement<Element>
stagedChanges$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<NewScmView>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Notification.html b/docs/classes/Notification.html new file mode 100644 index 00000000..65c5070e --- /dev/null +++ b/docs/classes/Notification.html @@ -0,0 +1,70 @@ +Notification | WebdriverIO VSCode Service - v6.1.0

Class NotificationAbstract

Abstract element representing a notification

+

Hierarchy (view full)

Properties

action$: ChainablePromiseElement<Element>
action$$: ChainablePromiseArray<Element[]>
actionLabel$: ChainablePromiseElement<Element>
actionLabel$$: ChainablePromiseArray<Element[]>
actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
btnSection$: ChainablePromiseElement<Element>
btnSection$$: ChainablePromiseArray<Element[]>
buttonConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

buttonConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

center$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

center$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

dismiss$: ChainablePromiseElement<Element>
dismiss$$: ChainablePromiseArray<Element[]>
expand$: ChainablePromiseElement<Element>
expand$$: ChainablePromiseArray<Element[]>
icon$: ChainablePromiseElement<Element>
icon$$: ChainablePromiseArray<Element[]>
message$: ChainablePromiseElement<Element>
message$$: ChainablePromiseArray<Element[]>
progress$: ChainablePromiseElement<Element>
progress$$: ChainablePromiseArray<Element[]>
source$: ChainablePromiseElement<Element>
source$$: ChainablePromiseArray<Element[]>
standalone$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [id: string]

      Returns ChainablePromiseElement<Element>

standalone$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [id: string]

      Returns ChainablePromiseArray<Element[]>

standaloneContainer$: ChainablePromiseElement<Element>
standaloneContainer$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Get the action buttons of the notification as an array +of NotificationButton objects

    +

    Returns Promise<NotificationButton[]>

    Promise resolving to array of NotificationButton objects

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<Notification>

    thenable self reference

    +
  • Click on an action button with the given title

    +

    Parameters

    • title: string

      title of the action/button

      +

    Returns Promise<void>

    Promise resolving when the select button is pressed

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/NotificationsCenter.html b/docs/classes/NotificationsCenter.html new file mode 100644 index 00000000..17a26f1a --- /dev/null +++ b/docs/classes/NotificationsCenter.html @@ -0,0 +1,37 @@ +NotificationsCenter | WebdriverIO VSCode Service - v6.1.0

Notifications center page object

+

Hierarchy (view full)

  • IPageDecorator<typeof NotificationsCenterLocator>
  • BasePage<typeof NotificationsCenterLocator>
    • NotificationsCenter

Properties

clear$: ChainablePromiseElement<Element>
clear$$: ChainablePromiseArray<Element[]>
closeBtn$: ChainablePromiseElement<Element>
closeBtn$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
row$: ChainablePromiseElement<Element>
row$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Clear all notifications in the notifications center +Note that this will also hide the notifications center

    +

    Returns Promise<void>

    Promise resolving when the clear all button is pressed

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/OutputView.html b/docs/classes/OutputView.html new file mode 100644 index 00000000..c26b8681 --- /dev/null +++ b/docs/classes/OutputView.html @@ -0,0 +1,44 @@ +OutputView | WebdriverIO VSCode Service - v6.1.0

Output view of the bottom panel

+
const bottomBar = workbench.getBottomBar()
const outputView = await bottomBar.openOutputView()
console.log(await outputView.getChannelNames())
// returns
// [
// 'Tasks',
// 'Extensions',
// 'Microsoft Authentication',
// 'Git',
// 'GitHub Authentication',
// 'Log (Window)',
// 'Log (Main)',
// 'Log (Extension Host)',
// 'Log (Settings Sync)',
// 'Log (Shared)'
// ] +
+

Hierarchy (view full)

  • IPageDecorator<typeof OutputViewLocators>
  • TextView<typeof OutputViewLocators>
    • OutputView

Constructors

Properties

actionsLabel$: ChainablePromiseElement<Element>
actionsLabel$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
lines$: ChainablePromiseElement<Element>
lines$$: ChainablePromiseArray<Element[]>
panel: BottomBarPanel = ...

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Get names of all selectable channels

    +

    Returns Promise<string[]>

    Promise resolving to array of strings - channel names

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<OutputView>

    thenable self reference

    +
  • Wait for the element to become visible

    +

    Parameters

    • timeout: number = 5000

      custom timeout for the wait

      +

    Returns Promise<OutputView>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Problem.html b/docs/classes/Problem.html new file mode 100644 index 00000000..abe59e4c --- /dev/null +++ b/docs/classes/Problem.html @@ -0,0 +1,46 @@ +Problem | WebdriverIO VSCode Service - v6.1.0

Page object for marker in problems view

+

Hierarchy (view full)

Properties

detailsLine$: ChainablePromiseElement<Element>
detailsLine$$: ChainablePromiseArray<Element[]>
detailsSource$: ChainablePromiseElement<Element>
detailsSource$$: ChainablePromiseArray<Element[]>
detailsText$: ChainablePromiseElement<Element>
detailsText$$: ChainablePromiseArray<Element[]>
fileName$: ChainablePromiseElement<Element>
fileName$$: ChainablePromiseArray<Element[]>
markerTwistie$: ChainablePromiseElement<Element>
markerTwistie$$: ChainablePromiseArray<Element[]>
problemCount$: ChainablePromiseElement<Element>
problemCount$$: ChainablePromiseArray<Element[]>
rowLabel$: ChainablePromiseElement<Element>
rowLabel$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Get the type of the marker +Possible types are: File, Error, Warning

    +

    Returns Promise<MarkerType>

    Promise resolving to a MarkerType

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<Problem>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ProblemsView.html b/docs/classes/ProblemsView.html new file mode 100644 index 00000000..c9489e00 --- /dev/null +++ b/docs/classes/ProblemsView.html @@ -0,0 +1,56 @@ +ProblemsView | WebdriverIO VSCode Service - v6.1.0

Problems view in the bottom panel.

+
const bottomBar = workbench.getBottomBar()
const outputView = await bottomBar.openProblemsView()
console.log(await outputView.setFilter('Error')) +
+

Hierarchy (view full)

Constructors

Properties

changeCount$: ChainablePromiseElement<Element>
changeCount$$: ChainablePromiseArray<Element[]>
collapseAll$: ChainablePromiseElement<Element>
collapseAll$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
input$: ChainablePromiseElement<Element>
input$$: ChainablePromiseArray<Element[]>
markerRow$: ChainablePromiseElement<Element>
markerRow$$: ChainablePromiseArray<Element[]>
markersFilter$: ChainablePromiseElement<Element>
markersFilter$$: ChainablePromiseArray<Element[]>
panel: BottomBarPanel = ...

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Collapse all collapsible markers in the problems view

    +

    Returns Promise<void>

    Promise resolving when the collapse all button is pressed

    +
  • Get all visible markers from the problems view with the given type. +Warning: this only returns the markers that are visible, and not the +entire list, so calls to this function may change depending on the +environment in which the tests are running in. +To get all markers regardless of type, use MarkerType.Any

    +

    Parameters

    • type: MarkerType

      type of markers to retrieve

      +

    Returns Promise<Marker[]>

    Promise resolving to array of Marker objects

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ProblemsView>

    thenable self reference

    +
  • Set the filter using the input box on the problems view

    +

    Parameters

    • pattern: string

      filter to use, preferably a glob pattern

      +

    Returns Promise<void>

    Promise resolving when the filter pattern is filled in

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/QuickOpenBox.html b/docs/classes/QuickOpenBox.html new file mode 100644 index 00000000..c5291dcc --- /dev/null +++ b/docs/classes/QuickOpenBox.html @@ -0,0 +1,98 @@ +QuickOpenBox | WebdriverIO VSCode Service - v6.1.0

Deprecated

as of VS Code 1.44.0, quick open box has been replaced with input box +The quick open box variation of the input

+

Hierarchy (view full)

Properties

backButton$: ChainablePromiseElement<Element>
backButton$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
input$: ChainablePromiseElement<Element>
input$$: ChainablePromiseArray<Element[]>
inputBox$: ChainablePromiseElement<Element>
inputBox$$: ChainablePromiseArray<Element[]>
message$: ChainablePromiseElement<Element>
message$$: ChainablePromiseArray<Element[]>
progress$: ChainablePromiseElement<Element>
progress$$: ChainablePromiseArray<Element[]>
quickList$: ChainablePromiseElement<Element>
quickList$$: ChainablePromiseArray<Element[]>
quickPickDescription$: ChainablePromiseElement<Element>
quickPickDescription$$: ChainablePromiseArray<Element[]>
quickPickIndex$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

quickPickIndex$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

quickPickLabel$: ChainablePromiseElement<Element>
quickPickLabel$$: ChainablePromiseArray<Element[]>
quickPickPosition$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

quickPickPosition$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

quickPickSelectAll$: ChainablePromiseElement<Element>
quickPickSelectAll$$: ChainablePromiseArray<Element[]>
row$: ChainablePromiseElement<Element>
row$$: ChainablePromiseArray<Element[]>
rows$: ChainablePromiseElement<Element>
rows$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleBar$: ChainablePromiseElement<Element>
titleBar$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Click on the back button if it exists

    +

    Returns Promise<boolean>

    Promise resolving to true if a button was clicked, to false otherwise

    +
  • Scroll through the quick picks to find an item by the name or index

    +

    Parameters

    • indexOrText: string | number

      index (number) or text (string) of the item to search by

      +

    Returns Promise<undefined | QuickPickItem>

    Promise resolvnig to QuickPickItem if found, to undefined otherwise

    +
  • Retrieve the title of an input box if it has one

    +

    Returns Promise<undefined | string>

    Promise resolving to title if it exists, to undefined otherwise

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<QuickOpenBox>

    thenable self reference

    +
  • Select (click) a quick pick option. Will scroll through the quick picks to find the item. +Search for the item can be done by its text, or index in the quick pick menu. +Note that scrolling does not affect the item's index, but it will +replace some items in the DOM (thus they become unreachable)

    +

    Parameters

    • indexOrText: string | number

      index (number) or text (string) of the item to search by

      +

    Returns Promise<void>

    Promise resolving when the given quick pick is selected

    +
  • Set (by selecting all and typing) text in the input field

    +

    Parameters

    • text: string

      text to set into the input field

      +

    Returns Promise<void>

    Promise resolving when the text is typed in

    +
  • Select/Deselect all quick picks using the 'select all' checkbox +If multiple selection is disabled on the input box, no action is performed

    +

    Parameters

    • state: boolean

      true to select all, false to deselect all

      +

    Returns Promise<void>

    Promise resolving when all quick picks have been toggled to desired state

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/QuickPickItem.html b/docs/classes/QuickPickItem.html new file mode 100644 index 00000000..245bf4e1 --- /dev/null +++ b/docs/classes/QuickPickItem.html @@ -0,0 +1,48 @@ +QuickPickItem | WebdriverIO VSCode Service - v6.1.0

Page object representing a quick pick option in the input box

+

Hierarchy (view full)

Constructors

Properties

backButton$: ChainablePromiseElement<Element>
backButton$$: ChainablePromiseArray<Element[]>
input: Input
input$: ChainablePromiseElement<Element>
input$$: ChainablePromiseArray<Element[]>
inputBox$: ChainablePromiseElement<Element>
inputBox$$: ChainablePromiseArray<Element[]>
quickPickDescription$: ChainablePromiseElement<Element>
quickPickDescription$$: ChainablePromiseArray<Element[]>
quickPickIndex$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

quickPickIndex$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

quickPickLabel$: ChainablePromiseElement<Element>
quickPickLabel$$: ChainablePromiseArray<Element[]>
quickPickPosition$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

quickPickPosition$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

quickPickSelectAll$: ChainablePromiseElement<Element>
quickPickSelectAll$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleBar$: ChainablePromiseElement<Element>
titleBar$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<QuickPickItem>

    thenable self reference

    +
  • Select (click) the quick pick item

    +

    Returns Promise<void>

    Promise resolving when the item has been clicked

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScmChange.html b/docs/classes/ScmChange.html new file mode 100644 index 00000000..56d336cc --- /dev/null +++ b/docs/classes/ScmChange.html @@ -0,0 +1,87 @@ +ScmChange | WebdriverIO VSCode Service - v6.1.0

Page object representing a SCM change tree item

+

Hierarchy (view full)

Constructors

Properties

action$: ChainablePromiseElement<Element>
action$$: ChainablePromiseArray<Element[]>
actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

changeCount$: ChainablePromiseElement<Element>
changeCount$$: ChainablePromiseArray<Element[]>
changeDesc$: ChainablePromiseElement<Element>
changeDesc$$: ChainablePromiseArray<Element[]>
changeItem$: ChainablePromiseElement<Element>
changeItem$$: ChainablePromiseArray<Element[]>
changeLabel$: ChainablePromiseElement<Element>
changeLabel$$: ChainablePromiseArray<Element[]>
changeName$: ChainablePromiseElement<Element>
changeName$$: ChainablePromiseArray<Element[]>
changes$: ChainablePromiseElement<Element>
changes$$: ChainablePromiseArray<Element[]>
expand$: ChainablePromiseElement<Element>
expand$$: ChainablePromiseArray<Element[]>
initButton$: ChainablePromiseElement<Element>
initButton$$: ChainablePromiseArray<Element[]>
inputField$: ChainablePromiseElement<Element>
inputField$$: ChainablePromiseArray<Element[]>
itemIndex$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

itemIndex$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

itemLevel$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseElement<Element>

itemLevel$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseArray<Element[]>

more$: ChainablePromiseElement<Element>
more$$: ChainablePromiseArray<Element[]>
multiMore$: ChainablePromiseElement<Element>
multiMore$$: ChainablePromiseArray<Element[]>
multiProviderItem$: ChainablePromiseElement<Element>
multiProviderItem$$: ChainablePromiseArray<Element[]>
multiScmProvider$: ChainablePromiseElement<Element>
multiScmProvider$$: ChainablePromiseArray<Element[]>
provider: ScmProvider
providerHeader$: ChainablePromiseElement<Element>
providerHeader$$: ChainablePromiseArray<Element[]>
providerRelative$: ChainablePromiseElement<Element>
providerRelative$$: ChainablePromiseArray<Element[]>
providerTitle$: ChainablePromiseElement<Element>
providerTitle$$: ChainablePromiseArray<Element[]>
providerType$: ChainablePromiseElement<Element>
providerType$$: ChainablePromiseArray<Element[]>
resource$: ChainablePromiseElement<Element>
resource$$: ChainablePromiseArray<Element[]>
singleScmProvider$: ChainablePromiseElement<Element>
singleScmProvider$$: ChainablePromiseArray<Element[]>
stagedChanges$: ChainablePromiseElement<Element>
stagedChanges$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Find if the item is expanded

    +

    Returns Promise<boolean>

    promise resolving to true if change is expanded, to false otherwise

    +
  • Find and click an action button available to a given change tree item

    +

    Parameters

    • title: string

      title of the action button (e.g 'Stage Changes')

      +

    Returns Promise<boolean>

    promise resolving to true if the action was performed successfully, +false if the given button does not exist

    +
  • Expand or collapse a change item if possible, only works for folders in hierarchical view mode

    +

    Parameters

    • expand: boolean

      true to expand the item, false to collapse

      +

    Returns Promise<boolean>

    promise resolving to true if the item changed state, to false otherwise

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScmProvider.html b/docs/classes/ScmProvider.html new file mode 100644 index 00000000..a2ae09fd --- /dev/null +++ b/docs/classes/ScmProvider.html @@ -0,0 +1,91 @@ +ScmProvider | WebdriverIO VSCode Service - v6.1.0

Page object representing a repository in the source control view +Maps roughly to a view section of the source control view

+

Hierarchy (view full)

Constructors

Properties

action$: ChainablePromiseElement<Element>
action$$: ChainablePromiseArray<Element[]>
actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

changeCount$: ChainablePromiseElement<Element>
changeCount$$: ChainablePromiseArray<Element[]>
changeDesc$: ChainablePromiseElement<Element>
changeDesc$$: ChainablePromiseArray<Element[]>
changeItem$: ChainablePromiseElement<Element>
changeItem$$: ChainablePromiseArray<Element[]>
changeLabel$: ChainablePromiseElement<Element>
changeLabel$$: ChainablePromiseArray<Element[]>
changeName$: ChainablePromiseElement<Element>
changeName$$: ChainablePromiseArray<Element[]>
changes$: ChainablePromiseElement<Element>
changes$$: ChainablePromiseArray<Element[]>
expand$: ChainablePromiseElement<Element>
expand$$: ChainablePromiseArray<Element[]>
initButton$: ChainablePromiseElement<Element>
initButton$$: ChainablePromiseArray<Element[]>
inputField$: ChainablePromiseElement<Element>
inputField$$: ChainablePromiseArray<Element[]>
itemIndex$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

itemIndex$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

itemLevel$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseElement<Element>

itemLevel$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseArray<Element[]>

more$: ChainablePromiseElement<Element>
more$$: ChainablePromiseArray<Element[]>
multiMore$: ChainablePromiseElement<Element>
multiMore$$: ChainablePromiseArray<Element[]>
multiProviderItem$: ChainablePromiseElement<Element>
multiProviderItem$$: ChainablePromiseArray<Element[]>
multiScmProvider$: ChainablePromiseElement<Element>
multiScmProvider$$: ChainablePromiseArray<Element[]>
providerHeader$: ChainablePromiseElement<Element>
providerHeader$$: ChainablePromiseArray<Element[]>
providerRelative$: ChainablePromiseElement<Element>
providerRelative$$: ChainablePromiseArray<Element[]>
providerTitle$: ChainablePromiseElement<Element>
providerTitle$$: ChainablePromiseArray<Element[]>
providerType$: ChainablePromiseElement<Element>
providerType$$: ChainablePromiseArray<Element[]>
resource$: ChainablePromiseElement<Element>
resource$$: ChainablePromiseArray<Element[]>
singleScmProvider$: ChainablePromiseElement<Element>
singleScmProvider$$: ChainablePromiseArray<Element[]>
stagedChanges$: ChainablePromiseElement<Element>
stagedChanges$$: ChainablePromiseArray<Element[]>
view: ScmView

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Fill in the message field and send ctrl/cmd + enter to commit the changes

    +

    Parameters

    • message: string

      the commit message to use

      +

    Returns Promise<void>

    promise resolving once the keypresses are sent

    +
  • Get the number of changes for a given section

    +

    Parameters

    • staged: boolean = false

      when true, counts the staged changes, unstaged otherwise

      +

    Returns Promise<number>

    promise resolving to number of changes in the given subsection

    +
  • Get page objects for all tree items representing individual changes

    +

    Parameters

    • staged: boolean = false

      when true, finds staged changes otherwise finds unstaged changes

      +

    Returns Promise<ScmChange[]>

    promise resolving to ScmChange object array

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ScmProvider>

    thenable self reference

    +
  • Find an action button for the SCM provider by title and click it. (e.g 'Commit')

    +

    Parameters

    • title: string

      Title of the action button to click

      +

    Returns Promise<boolean>

    true if the given action could be performed, false if the button doesn't exist

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScmView.html b/docs/classes/ScmView.html new file mode 100644 index 00000000..fed563e4 --- /dev/null +++ b/docs/classes/ScmView.html @@ -0,0 +1,83 @@ +ScmView | WebdriverIO VSCode Service - v6.1.0

Page object representing the Source Control view

+

Hierarchy (view full)

Properties

action$: ChainablePromiseElement<Element>
action$$: ChainablePromiseArray<Element[]>
actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

changeCount$: ChainablePromiseElement<Element>
changeCount$$: ChainablePromiseArray<Element[]>
changeDesc$: ChainablePromiseElement<Element>
changeDesc$$: ChainablePromiseArray<Element[]>
changeItem$: ChainablePromiseElement<Element>
changeItem$$: ChainablePromiseArray<Element[]>
changeLabel$: ChainablePromiseElement<Element>
changeLabel$$: ChainablePromiseArray<Element[]>
changeName$: ChainablePromiseElement<Element>
changeName$$: ChainablePromiseArray<Element[]>
changes$: ChainablePromiseElement<Element>
changes$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
expand$: ChainablePromiseElement<Element>
expand$$: ChainablePromiseArray<Element[]>
initButton$: ChainablePromiseElement<Element>
initButton$$: ChainablePromiseArray<Element[]>
inputField$: ChainablePromiseElement<Element>
inputField$$: ChainablePromiseArray<Element[]>
itemIndex$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

itemIndex$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

itemLevel$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseElement<Element>

itemLevel$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseArray<Element[]>

more$: ChainablePromiseElement<Element>
more$$: ChainablePromiseArray<Element[]>
multiMore$: ChainablePromiseElement<Element>
multiMore$$: ChainablePromiseArray<Element[]>
multiProviderItem$: ChainablePromiseElement<Element>
multiProviderItem$$: ChainablePromiseArray<Element[]>
multiScmProvider$: ChainablePromiseElement<Element>
multiScmProvider$$: ChainablePromiseArray<Element[]>
providerHeader$: ChainablePromiseElement<Element>
providerHeader$$: ChainablePromiseArray<Element[]>
providerRelative$: ChainablePromiseElement<Element>
providerRelative$$: ChainablePromiseArray<Element[]>
providerTitle$: ChainablePromiseElement<Element>
providerTitle$$: ChainablePromiseArray<Element[]>
providerType$: ChainablePromiseElement<Element>
providerType$$: ChainablePromiseArray<Element[]>
resource$: ChainablePromiseElement<Element>
resource$$: ChainablePromiseArray<Element[]>
singleScmProvider$: ChainablePromiseElement<Element>
singleScmProvider$$: ChainablePromiseArray<Element[]>
stagedChanges$: ChainablePromiseElement<Element>
stagedChanges$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Initialize repository in the current folder if no SCM provider is found

    +

    Returns Promise<boolean>

    true if the action was completed succesfully, false if a provider already exists

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ScmView>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Setting.html b/docs/classes/Setting.html new file mode 100644 index 00000000..7738891a --- /dev/null +++ b/docs/classes/Setting.html @@ -0,0 +1,64 @@ +Setting | WebdriverIO VSCode Service - v6.1.0

Class SettingAbstract

Abstract item representing a Setting with title, description and +an input element (combo/textbox/checkbox/link)

+

Hierarchy (view full)

Constructors

Properties

action$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

action$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
checkboxChecked$: ChainablePromiseElement<Element>
checkboxChecked$$: ChainablePromiseArray<Element[]>
checkboxSetting$: ChainablePromiseElement<Element>
checkboxSetting$$: ChainablePromiseArray<Element[]>
comboOption$: ChainablePromiseElement<Element>
comboOption$$: ChainablePromiseArray<Element[]>
comboSetting$: ChainablePromiseElement<Element>
comboSetting$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
itemCount$: ChainablePromiseElement<Element>
itemCount$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
linkButton$: ChainablePromiseElement<Element>
linkButton$$: ChainablePromiseArray<Element[]>
settingConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseElement<Element>

settingConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseArray<Element[]>

settingDesctiption$: ChainablePromiseElement<Element>
settingDesctiption$$: ChainablePromiseArray<Element[]>
settings: SettingsEditor
tabs$: ChainablePromiseElement<Element>
tabs$$: ChainablePromiseArray<Element[]>
textSetting$: ChainablePromiseElement<Element>
textSetting$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Get the value of the setting based on its input type

    +

    Returns Promise<string | boolean>

    promise that resolves to the current value of the setting

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<Setting>

    thenable self reference

    +
  • Set the value of the setting based on its input type

    +

    Parameters

    • value: string | boolean

      boolean for checkboxes, string otherwise

      +

    Returns Promise<void>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/SettingsEditor.html b/docs/classes/SettingsEditor.html new file mode 100644 index 00000000..48162914 --- /dev/null +++ b/docs/classes/SettingsEditor.html @@ -0,0 +1,121 @@ +SettingsEditor | WebdriverIO VSCode Service - v6.1.0

Page object representing the internal VSCode settings editor

+

Hierarchy (view full)

Constructors

Properties

action$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

action$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

actionContainer$: ChainablePromiseElement<Element>
actionContainer$$: ChainablePromiseArray<Element[]>
actionItem$: ChainablePromiseElement<Element>
actionItem$$: ChainablePromiseArray<Element[]>
actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
activeTab$: ChainablePromiseElement<Element>
activeTab$$: ChainablePromiseArray<Element[]>
breakPoint$: ChainablePromiseElement<Element>
breakPoint$$: ChainablePromiseArray<Element[]>
checkboxChecked$: ChainablePromiseElement<Element>
checkboxChecked$$: ChainablePromiseArray<Element[]>
checkboxSetting$: ChainablePromiseElement<Element>
checkboxSetting$$: ChainablePromiseArray<Element[]>
closeTab$: ChainablePromiseElement<Element>
closeTab$$: ChainablePromiseArray<Element[]>
comboOption$: ChainablePromiseElement<Element>
comboOption$$: ChainablePromiseArray<Element[]>
comboSetting$: ChainablePromiseElement<Element>
comboSetting$$: ChainablePromiseArray<Element[]>
dataUri$: ChainablePromiseElement<Element>
dataUri$$: ChainablePromiseArray<Element[]>
debugHint$: ChainablePromiseElement<Element>
debugHint$$: ChainablePromiseArray<Element[]>
diffEditor$: ChainablePromiseElement<Element>
diffEditor$$: ChainablePromiseArray<Element[]>
editorContainer$: ChainablePromiseElement<Element>
editorContainer$$: ChainablePromiseArray<Element[]>
editorGroup$: ChainablePromiseElement<Element>
editorGroup$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
findWidget$: ChainablePromiseElement<Element>
findWidget$$: ChainablePromiseArray<Element[]>
formatDoc$: ChainablePromiseElement<Element>
formatDoc$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
inputArea$: ChainablePromiseElement<Element>
inputArea$$: ChainablePromiseArray<Element[]>
itemCount$: ChainablePromiseElement<Element>
itemCount$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
lineNumber$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseElement<Element>

lineNumber$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseArray<Element[]>

lineOverlay$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseElement<Element>

lineOverlay$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseArray<Element[]>

linkButton$: ChainablePromiseElement<Element>
linkButton$$: ChainablePromiseArray<Element[]>
marginArea$: ChainablePromiseElement<Element>
marginArea$$: ChainablePromiseArray<Element[]>
modifiedEditor$: ChainablePromiseElement<Element>
modifiedEditor$$: ChainablePromiseArray<Element[]>
originalEditor$: ChainablePromiseElement<Element>
originalEditor$$: ChainablePromiseArray<Element[]>
selection$: ChainablePromiseElement<Element>
selection$$: ChainablePromiseArray<Element[]>
settingConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseElement<Element>

settingConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseArray<Element[]>

settingDesctiption$: ChainablePromiseElement<Element>
settingDesctiption$$: ChainablePromiseArray<Element[]>
settingsEditor$: ChainablePromiseElement<Element>
settingsEditor$$: ChainablePromiseArray<Element[]>
tab$: ChainablePromiseElement<Element>
tab$$: ChainablePromiseArray<Element[]>
tabLabel$: ChainablePromiseElement<Element>
tabLabel$$: ChainablePromiseArray<Element[]>
tabSeparator$: ChainablePromiseElement<Element>
tabSeparator$$: ChainablePromiseArray<Element[]>
tabTitle$: ChainablePromiseElement<Element>
tabTitle$$: ChainablePromiseArray<Element[]>
tabs$: ChainablePromiseElement<Element>
tabs$$: ChainablePromiseArray<Element[]>
textSetting$: ChainablePromiseElement<Element>
textSetting$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
webView$: ChainablePromiseElement<Element>
webView$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Search for a setting with a particular title and category. +Returns an appropriate Setting object if the label is found, +undefined otherwise.

    +

    If your setting has nested categories (i.e example.general.test), +pass in each category as a separate string.

    +

    Parameters

    • title: string

      title of the setting

      +
    • Rest ...categories: string[]

      category of the setting

      +

    Returns Promise<Setting>

    Promise resolving to a Setting object if found, undefined otherwise

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<SettingsEditor>

    thenable self reference

    +
  • Switch between settings perspectives +Works only if your vscode instance has both user and workspace settings available

    +

    Parameters

    • perspective: "User" | "Workspace"

      User or Workspace

      +

    Returns Promise<void>

    Promise that resolves when the appropriate button is clicked

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/SideBarView.html b/docs/classes/SideBarView.html new file mode 100644 index 00000000..be7a71d8 --- /dev/null +++ b/docs/classes/SideBarView.html @@ -0,0 +1,25 @@ +SideBarView | WebdriverIO VSCode Service - v6.1.0

Page object for the side bar view

+

Type Parameters

  • T

Hierarchy (view full)

Properties

Accessors

Methods

Properties

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<SideBarView<T>>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/SingleScmProvider.html b/docs/classes/SingleScmProvider.html new file mode 100644 index 00000000..b3c670ea --- /dev/null +++ b/docs/classes/SingleScmProvider.html @@ -0,0 +1,90 @@ +SingleScmProvider | WebdriverIO VSCode Service - v6.1.0

Implementation for a single SCM provider

+

Hierarchy (view full)

Constructors

Properties

action$: ChainablePromiseElement<Element>
action$$: ChainablePromiseArray<Element[]>
actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

changeCount$: ChainablePromiseElement<Element>
changeCount$$: ChainablePromiseArray<Element[]>
changeDesc$: ChainablePromiseElement<Element>
changeDesc$$: ChainablePromiseArray<Element[]>
changeItem$: ChainablePromiseElement<Element>
changeItem$$: ChainablePromiseArray<Element[]>
changeLabel$: ChainablePromiseElement<Element>
changeLabel$$: ChainablePromiseArray<Element[]>
changeName$: ChainablePromiseElement<Element>
changeName$$: ChainablePromiseArray<Element[]>
changes$: ChainablePromiseElement<Element>
changes$$: ChainablePromiseArray<Element[]>
expand$: ChainablePromiseElement<Element>
expand$$: ChainablePromiseArray<Element[]>
initButton$: ChainablePromiseElement<Element>
initButton$$: ChainablePromiseArray<Element[]>
inputField$: ChainablePromiseElement<Element>
inputField$$: ChainablePromiseArray<Element[]>
itemIndex$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseElement<Element>

itemIndex$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [index: number]

      Returns ChainablePromiseArray<Element[]>

itemLevel$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseElement<Element>

itemLevel$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [level: number]

      Returns ChainablePromiseArray<Element[]>

more$: ChainablePromiseElement<Element>
more$$: ChainablePromiseArray<Element[]>
multiMore$: ChainablePromiseElement<Element>
multiMore$$: ChainablePromiseArray<Element[]>
multiProviderItem$: ChainablePromiseElement<Element>
multiProviderItem$$: ChainablePromiseArray<Element[]>
multiScmProvider$: ChainablePromiseElement<Element>
multiScmProvider$$: ChainablePromiseArray<Element[]>
providerHeader$: ChainablePromiseElement<Element>
providerHeader$$: ChainablePromiseArray<Element[]>
providerRelative$: ChainablePromiseElement<Element>
providerRelative$$: ChainablePromiseArray<Element[]>
providerTitle$: ChainablePromiseElement<Element>
providerTitle$$: ChainablePromiseArray<Element[]>
providerType$: ChainablePromiseElement<Element>
providerType$$: ChainablePromiseArray<Element[]>
resource$: ChainablePromiseElement<Element>
resource$$: ChainablePromiseArray<Element[]>
singleScmProvider$: ChainablePromiseElement<Element>
singleScmProvider$$: ChainablePromiseArray<Element[]>
stagedChanges$: ChainablePromiseElement<Element>
stagedChanges$$: ChainablePromiseArray<Element[]>
view: ScmView

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Fill in the message field and send ctrl/cmd + enter to commit the changes

    +

    Parameters

    • message: string

      the commit message to use

      +

    Returns Promise<void>

    promise resolving once the keypresses are sent

    +
  • Get the number of changes for a given section

    +

    Parameters

    • staged: boolean = false

      when true, counts the staged changes, unstaged otherwise

      +

    Returns Promise<number>

    promise resolving to number of changes in the given subsection

    +
  • Find an action button for the SCM provider by title and click it. (e.g 'Commit')

    +

    Parameters

    • title: string

      Title of the action button to click

      +

    Returns Promise<boolean>

    true if the given action could be performed, false if the button doesn't exist

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/StatusBar.html b/docs/classes/StatusBar.html new file mode 100644 index 00000000..3fb32fa3 --- /dev/null +++ b/docs/classes/StatusBar.html @@ -0,0 +1,92 @@ +StatusBar | WebdriverIO VSCode Service - v6.1.0

Page object for the status bar at the bottom

+

Hierarchy (view full)

Properties

bell$: ChainablePromiseElement<Element>
bell$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
encoding$: ChainablePromiseElement<Element>
encoding$$: ChainablePromiseArray<Element[]>
indent$: ChainablePromiseElement<Element>
indent$$: ChainablePromiseArray<Element[]>
item$: ChainablePromiseElement<Element>
item$$: ChainablePromiseArray<Element[]>
itemTitle$: ChainablePromiseElement<Element>
itemTitle$$: ChainablePromiseArray<Element[]>
language$: ChainablePromiseElement<Element>
language$$: ChainablePromiseArray<Element[]>
lines$: ChainablePromiseElement<Element>
lines$$: ChainablePromiseArray<Element[]>
notifications$: ChainablePromiseElement<Element>
notifications$$: ChainablePromiseArray<Element[]>
problems$: ChainablePromiseElement<Element>
problems$$: ChainablePromiseArray<Element[]>
selection$: ChainablePromiseElement<Element>
selection$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Close the notifications center

    +

    Returns Promise<void>

    Promise resolving when the notifications center is closed

    +
  • Get the name of the current encoding as text +Only works with an open editor

    +

    Returns Promise<string>

    Promise resolving to string representation of current encoding

    +
  • Get the current indentation option label as text +Only works with an open editor

    +

    Returns Promise<string>

    Promise resolving to string representation of current indentation

    +
  • Get the current language label text +Only works with an open editor

    +

    Returns Promise<string>

    Promise resolving to string representation of current language

    +
  • Get the currently selected line ending as text +Only works with an open editor

    +

    Returns Promise<string>

    Promise resolving to string representation of current line ending

    +
  • Get the current editor coordinates as text +Only works with an open editor

    +

    Returns Promise<string>

    Promise resolving to string representation of current position in the editor

    +
  • Find status bar item by title/visible label

    +

    Parameters

    • title: string

      title of the item

      +

    Returns Promise<undefined | Element>

    Promise resolving to a WebElement if item is found, to undefined otherwise

    +
  • Retrieve all status bar items currently displayed

    +

    Returns Promise<string[]>

    Promise resolving to an array of WebElement

    +
  • Open the encoding selection quick pick +Only works with an open editor

    +

    Returns Promise<void>

    Promise resolving when the encoding selection is opened

    +
  • Open the indentation selection quick pick +Only works with an open editor

    +

    Returns Promise<void>

    Promise resolving when the indentation selection is opened

    +
  • Open the language selection quick pick +Only works with an open editor

    +

    Returns Promise<void>

    Promise resolving when the language selection is opened

    +
  • Open the quick pick for line endings selection +Only works with an open editor

    +

    Returns Promise<void>

    Promise resolving when the line ending selection is opened

    +
  • Open the line selection input box +Only works with an open editor

    +

    Returns Promise<void>

    Promise resolving when the line selection is opened

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<StatusBar>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TerminalView.html b/docs/classes/TerminalView.html new file mode 100644 index 00000000..2c311b68 --- /dev/null +++ b/docs/classes/TerminalView.html @@ -0,0 +1,61 @@ +TerminalView | WebdriverIO VSCode Service - v6.1.0

Terminal view on the bottom panel

+

Hierarchy (view full)

  • IPageDecorator<typeof TerminalViewLocators>
  • ChannelView<typeof TerminalViewLocators>
    • TerminalView

Constructors

Properties

actionsLabel$: ChainablePromiseElement<Element>
actionsLabel$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
killTerminal$: ChainablePromiseElement<Element>
killTerminal$$: ChainablePromiseArray<Element[]>
newCommand$: ChainablePromiseElement<Element>
newCommand$$: ChainablePromiseArray<Element[]>
newTerminal$: ChainablePromiseElement<Element>
newTerminal$$: ChainablePromiseArray<Element[]>
panel: BottomBarPanel = ...
row$: ChainablePromiseElement<Element>
row$$: ChainablePromiseArray<Element[]>
selectedRow$: ChainablePromiseElement<Element>
selectedRow$$: ChainablePromiseArray<Element[]>
singleTab$: ChainablePromiseElement<Element>
singleTab$$: ChainablePromiseArray<Element[]>
tabList$: ChainablePromiseElement<Element>
tabList$$: ChainablePromiseArray<Element[]>
textArea$: ChainablePromiseElement<Element>
textArea$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Execute command in the internal terminal and wait for results

    +

    Parameters

    • command: string

      text of the command

      +
    • timeout: number = 0

      optional maximum time to wait for completion in milliseconds, 0 for unlimited

      +

    Returns Promise<void>

    Promise resolving when the command is finished

    +
  • Get names of all selectable channels

    +

    Returns Promise<string[]>

    Promise resolving to array of strings - channel names

    +
  • Get all text from the internal terminal +Beware, no formatting.

    +

    Parameters

    • retry: number = 3

    Returns Promise<string>

    Promise resolving to all terminal text

    +
  • Destroy the currently open terminal

    +

    Returns Promise<void>

    Promise resolving when Kill Terminal button is pressed

    +
  • Initiate new terminal creation

    +

    Returns Promise<void>

    Promise resolving when New Terminal button is pressed

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<TerminalView>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TextEditor.html b/docs/classes/TextEditor.html new file mode 100644 index 00000000..f29e4620 --- /dev/null +++ b/docs/classes/TextEditor.html @@ -0,0 +1,200 @@ +TextEditor | WebdriverIO VSCode Service - v6.1.0

Page object representing the active text editor

+

Hierarchy (view full)

Constructors

Properties

Accessors

Methods

Constructors

Properties

action$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

action$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

actionContainer$: ChainablePromiseElement<Element>
actionContainer$$: ChainablePromiseArray<Element[]>
actionItem$: ChainablePromiseElement<Element>
actionItem$$: ChainablePromiseArray<Element[]>
actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
activeTab$: ChainablePromiseElement<Element>
activeTab$$: ChainablePromiseArray<Element[]>
breakPoint$: ChainablePromiseElement<Element>
breakPoint$$: ChainablePromiseArray<Element[]>
checkboxChecked$: ChainablePromiseElement<Element>
checkboxChecked$$: ChainablePromiseArray<Element[]>
checkboxSetting$: ChainablePromiseElement<Element>
checkboxSetting$$: ChainablePromiseArray<Element[]>
closeTab$: ChainablePromiseElement<Element>
closeTab$$: ChainablePromiseArray<Element[]>
comboOption$: ChainablePromiseElement<Element>
comboOption$$: ChainablePromiseArray<Element[]>
comboSetting$: ChainablePromiseElement<Element>
comboSetting$$: ChainablePromiseArray<Element[]>
dataUri$: ChainablePromiseElement<Element>
dataUri$$: ChainablePromiseArray<Element[]>
debugHint$: ChainablePromiseElement<Element>
debugHint$$: ChainablePromiseArray<Element[]>
diffEditor$: ChainablePromiseElement<Element>
diffEditor$$: ChainablePromiseArray<Element[]>
editorContainer$: ChainablePromiseElement<Element>
editorContainer$$: ChainablePromiseArray<Element[]>
editorGroup$: ChainablePromiseElement<Element>
editorGroup$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
findWidget$: ChainablePromiseElement<Element>
findWidget$$: ChainablePromiseArray<Element[]>
formatDoc$: ChainablePromiseElement<Element>
formatDoc$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
inputArea$: ChainablePromiseElement<Element>
inputArea$$: ChainablePromiseArray<Element[]>
itemCount$: ChainablePromiseElement<Element>
itemCount$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
lineNumber$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseElement<Element>

lineNumber$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseArray<Element[]>

lineOverlay$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseElement<Element>

lineOverlay$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [line: number]

      Returns ChainablePromiseArray<Element[]>

linkButton$: ChainablePromiseElement<Element>
linkButton$$: ChainablePromiseArray<Element[]>
marginArea$: ChainablePromiseElement<Element>
marginArea$$: ChainablePromiseArray<Element[]>
modifiedEditor$: ChainablePromiseElement<Element>
modifiedEditor$$: ChainablePromiseArray<Element[]>
originalEditor$: ChainablePromiseElement<Element>
originalEditor$$: ChainablePromiseArray<Element[]>
selection$: ChainablePromiseElement<Element>
selection$$: ChainablePromiseArray<Element[]>
settingConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseElement<Element>

settingConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseArray<Element[]>

settingDesctiption$: ChainablePromiseElement<Element>
settingDesctiption$$: ChainablePromiseArray<Element[]>
settingsEditor$: ChainablePromiseElement<Element>
settingsEditor$$: ChainablePromiseArray<Element[]>
tab$: ChainablePromiseElement<Element>
tab$$: ChainablePromiseArray<Element[]>
tabLabel$: ChainablePromiseElement<Element>
tabLabel$$: ChainablePromiseArray<Element[]>
tabSeparator$: ChainablePromiseElement<Element>
tabSeparator$$: ChainablePromiseArray<Element[]>
tabTitle$: ChainablePromiseElement<Element>
tabTitle$$: ChainablePromiseArray<Element[]>
tabs$: ChainablePromiseElement<Element>
tabs$$: ChainablePromiseArray<Element[]>
textSetting$: ChainablePromiseElement<Element>
textSetting$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
view: EditorView | EditorGroup = ...
webView$: ChainablePromiseElement<Element>
webView$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Use the built-in 'Format Document' option to format the text

    +

    Returns Promise<void>

    Promise resolving when the Format Document command is invoked

    +
  • Get a code lens based on title, or zero based index

    +

    Parameters

    • indexOrTitle: string | number

      zero based index (counting from the top of the editor), or partial title of the code lens

      +

    Returns Promise<undefined | CodeLens>

    CodeLens object if such a code lens exists, undefined otherwise

    +
  • Get the cursor's coordinates as an array of two numbers: [line, column]

    +

    Caution line & column coordinates do not start at 0 but at 1!

    +

    Returns Promise<[number, number]>

  • Retrieve the path to the file opened in the active editor

    +

    Returns Promise<string>

    Promise resolving to editor's underlying file path

    +
  • Retrieve the Uri of the file opened in the active editor

    +

    Returns Promise<string>

    Promise resolving to editor's underlying Uri

    +
  • Get line number that contains the given text. Not suitable for multi line inputs.

    +

    Parameters

    • text: string

      text to search for

      +
    • occurrence: number = 1

      select which occurrence of the search text to look for in case + there are multiple in the document, defaults to 1 (the first instance)

      +

    Returns Promise<number>

    Number of the line that contains the start of the given text. -1 if no such text is found. +If occurrence number is specified, searches until it finds as many instances of the given text. +Returns the line number that holds the last occurrence found this way.

    +
  • Get the selection block as a page object

    +

    Returns Promise<undefined | Selection>

    Selection page object

    +
  • Get text from a given line

    +

    Parameters

    • line: number

      number of the line to retrieve

      +

    Returns Promise<string>

    Promise resolving to text at the given line number

    +
  • Find whether the active editor has unsaved changes

    +

    Returns Promise<boolean>

    Promise resolving to true/false

    +
  • Move the cursor to the given coordinates

    +

    Parameters

    • line: number

      line number to move to

      +
    • column: number

      column number to move to

      +

    Returns Promise<void>

    Promise resolving when the cursor has reached the given coordinates

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<TextEditor>

    thenable self reference

    +
  • Find and select a given text. Not usable for multi line selection.

    +

    Parameters

    • text: string

      text to select

      +
    • occurrence: number = 1

      specify which onccurrence of text to select if multiple are present in the document

      +

    Returns Promise<void>

  • Replace the contents of the editor with a given text

    +

    Parameters

    • text: string

      text to type into the editor

      +
    • formatText: boolean = false

      format the new text, default false

      +

    Returns Promise<void>

    Promise resolving once the new text is copied over

    +
  • Replace the contents of a line with a given text

    +

    Parameters

    • line: number

      number of the line to edit

      +
    • text: string

      text to set at the line

      +

    Returns Promise<void>

    Promise resolving when the text is typed in

    +
  • Toggle breakpoint on a given line

    +

    Parameters

    • line: number

      target line number

      +

    Returns Promise<boolean>

    promise resolving to true when a breakpoint was added, false when removed or

    +
  • Open/Close the content assistant at the current position in the editor by sending the default +keyboard shortcut signal

    +

    Parameters

    • open: boolean

      true to open, false to close

      +

    Returns Promise<undefined | ContentAssist>

    Promise resolving to ContentAssist object when opening, void otherwise

    +
  • Type given text at the current coordinates

    +

    Parameters

    • text: string

      text to type

      +

    Returns Promise<void>

    promise resolving when the text is typed in

    +
  • Add the given text to the given coordinates

    +

    Parameters

    • line: number

      number of the line to type into

      +
    • column: number

      number of the column to start typing at

      +
    • text: string

      text to add

      +

    Returns Promise<void>

    Promise resolving when the text is typed in

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TextSetting.html b/docs/classes/TextSetting.html new file mode 100644 index 00000000..9728ead1 --- /dev/null +++ b/docs/classes/TextSetting.html @@ -0,0 +1,63 @@ +TextSetting | WebdriverIO VSCode Service - v6.1.0

Setting with a text box input

+

Hierarchy (view full)

Constructors

Properties

action$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

action$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
checkboxChecked$: ChainablePromiseElement<Element>
checkboxChecked$$: ChainablePromiseArray<Element[]>
checkboxSetting$: ChainablePromiseElement<Element>
checkboxSetting$$: ChainablePromiseArray<Element[]>
comboOption$: ChainablePromiseElement<Element>
comboOption$$: ChainablePromiseArray<Element[]>
comboSetting$: ChainablePromiseElement<Element>
comboSetting$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
itemCount$: ChainablePromiseElement<Element>
itemCount$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
linkButton$: ChainablePromiseElement<Element>
linkButton$$: ChainablePromiseArray<Element[]>
settingConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseElement<Element>

settingConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string, category: string]

      Returns ChainablePromiseArray<Element[]>

settingDesctiption$: ChainablePromiseElement<Element>
settingDesctiption$$: ChainablePromiseArray<Element[]>
settings: SettingsEditor
tabs$: ChainablePromiseElement<Element>
tabs$$: ChainablePromiseArray<Element[]>
textSetting$: ChainablePromiseElement<Element>
textSetting$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<TextSetting>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TitleActionButton.html b/docs/classes/TitleActionButton.html new file mode 100644 index 00000000..43082926 --- /dev/null +++ b/docs/classes/TitleActionButton.html @@ -0,0 +1,20 @@ +TitleActionButton | WebdriverIO VSCode Service - v6.1.0

Page object representing a button inside the view title part

+

Hierarchy (view full)

  • BasePage<typeof ViewTitlePartLocators>
    • TitleActionButton

Constructors

Accessors

Methods

Constructors

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TitleBar.html b/docs/classes/TitleBar.html new file mode 100644 index 00000000..ec6c4ffb --- /dev/null +++ b/docs/classes/TitleBar.html @@ -0,0 +1,58 @@ +TitleBar | WebdriverIO VSCode Service - v6.1.0

Page object representing the custom VSCode title bar

+

Hierarchy (view full)

Properties

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
itemElement$: ChainablePromiseElement<Element>
itemElement$$: ChainablePromiseArray<Element[]>
itemLabel$: ChainablePromiseElement<Element>
itemLabel$$: ChainablePromiseArray<Element[]>
itemNesting$: ChainablePromiseElement<Element>
itemNesting$$: ChainablePromiseArray<Element[]>
menubar$: ChainablePromiseElement<Element>
menubar$$: ChainablePromiseArray<Element[]>
overflowItemConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

overflowItemConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
topLevelItemConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

topLevelItemConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Find whether the menu has an item of a given name

    +

    Parameters

    • name: string

      name of the item to search for

      +

    Returns Promise<boolean>

    true if menu has an item with the given name, false otherwise

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<TitleBar>

    thenable self reference

    +
  • Recursively select an item with a given path.

    +

    E.g. calling select('File', 'Preferences', 'Settings') will +open the 'File' -> 'Preferences' submenus and then click on 'Settings'.

    +

    Selection happens in order of the arguments, if one of the items in the middle +of the path has no children, the consequent path arguments will be ignored.

    +

    Parameters

    • Rest ...path: string[]

      path to the item to select, represented by a sequence of strings

      +

    Returns Promise<undefined | Menu<{
        elem: string;
        itemElement: string;
        itemLabel: string;
        itemNesting: string;
        menubar: string;
        overflowItemConstructor: ((label) => string);
        title: string;
        topLevelItemConstructor: ((label) => string);
    }>>

    void if the last clicked item is a leaf, Menu item representing +its submenu otherwise

    +
  • Wait for the element to become visible

    +

    Parameters

    • timeout: number = 5000

      custom timeout for the wait

      +

    Returns Promise<TitleBar>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TitleBarItem.html b/docs/classes/TitleBarItem.html new file mode 100644 index 00000000..498f226c --- /dev/null +++ b/docs/classes/TitleBarItem.html @@ -0,0 +1,45 @@ +TitleBarItem | WebdriverIO VSCode Service - v6.1.0

Page object representing an item of the custom VSCode title bar

+

Hierarchy (view full)

Constructors

  • Parameters

    • locators: VSCodeLocatorMap
    • ctor: Function
    • openMenu: ((self) => Promise<void>)
        • (self): Promise<void>
        • Parameters

          Returns Promise<void>

    • label: string
    • parentMenu: Menu<{
          elem: string;
          itemElement: string;
          itemLabel: string;
          itemNesting: string;
          menubar: string;
          overflowItemConstructor: ((label) => string);
          title: string;
          topLevelItemConstructor: ((label) => string);
      }>

    Returns TitleBarItem

Properties

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
itemElement$: ChainablePromiseElement<Element>
itemElement$$: ChainablePromiseArray<Element[]>
itemLabel$: ChainablePromiseElement<Element>
itemLabel$$: ChainablePromiseArray<Element[]>
itemNesting$: ChainablePromiseElement<Element>
itemNesting$$: ChainablePromiseArray<Element[]>
label: string
menubar$: ChainablePromiseElement<Element>
menubar$$: ChainablePromiseArray<Element[]>
overflowItemConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

overflowItemConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

parentMenu: Menu<{
    elem: string;
    itemElement: string;
    itemLabel: string;
    itemNesting: string;
    menubar: string;
    overflowItemConstructor: ((label) => string);
    title: string;
    topLevelItemConstructor: ((label) => string);
}>

Type declaration

  • elem: string
  • itemElement: string
  • itemLabel: string
  • itemNesting: string
  • menubar: string
  • overflowItemConstructor: ((label) => string)
      • (label): string
      • Parameters

        • label: string

        Returns string

  • title: string
  • topLevelItemConstructor: ((label) => string)
      • (label): string
      • Parameters

        • label: string

        Returns string

title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
topLevelItemConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

topLevelItemConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Return the Menu object representing the menu this item belongs to +Todo: fix this

    +

    Returns Menu<{
        elem: string;
        itemElement: string;
        itemLabel: string;
        itemNesting: string;
        menubar: string;
        overflowItemConstructor: ((label) => string);
        title: string;
        topLevelItemConstructor: ((label) => string);
    }>

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<TitleBarItem>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TreeItem.html b/docs/classes/TreeItem.html new file mode 100644 index 00000000..2b625b27 --- /dev/null +++ b/docs/classes/TreeItem.html @@ -0,0 +1,111 @@ +TreeItem | WebdriverIO VSCode Service - v6.1.0

Class TreeItemAbstract

TreeItem abstract class

+

Hierarchy (view full)

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actionLabel$: ChainablePromiseElement<Element>
actionLabel$$: ChainablePromiseArray<Element[]>
actionTitle$: ChainablePromiseElement<Element>
actionTitle$$: ChainablePromiseArray<Element[]>
actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
author$: ChainablePromiseElement<Element>
author$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
ctor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

ctor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

description$: ChainablePromiseElement<Element>
description$$: ChainablePromiseArray<Element[]>
elem$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

elem$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

expandedAttr$: ChainablePromiseElement<Element>
expandedAttr$$: ChainablePromiseArray<Element[]>
expandedValue$: ChainablePromiseElement<Element>
expandedValue$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
install$: ChainablePromiseElement<Element>
install$$: ChainablePromiseArray<Element[]>
itemTitle$: ChainablePromiseElement<Element>
itemTitle$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
manage$: ChainablePromiseElement<Element>
manage$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
tooltip$: ChainablePromiseElement<Element>
tooltip$$: ChainablePromiseArray<Element[]>
tooltipAttribute$: ChainablePromiseElement<Element>
tooltipAttribute$$: ChainablePromiseArray<Element[]>
twistie$: ChainablePromiseElement<Element>
twistie$$: ChainablePromiseArray<Element[]>
version$: ChainablePromiseElement<Element>
version$$: ChainablePromiseArray<Element[]>
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Find a child item with the given name

    +

    Parameters

    • name: string

    Returns Promise<undefined | TreeItem>

    Promise resolving to TreeItem object if the child item exists, undefined otherwise

    +
  • Find children of an item, will try to expand the item in the process

    +

    Returns Promise<TreeItem[]>

    Promise resolving to array of TreeItem objects, empty array if item has no children

    +
  • Retrieves the description of this TreeItem.

    +

    Returns Promise<undefined | string>

    A promise resolving to the tooltip or undefined if the TreeItem has no description.

    +
  • Retrieves the tooltip of this TreeItem.

    +

    Returns Promise<undefined | string>

    A promise resolving to the tooltip or undefined if the TreeItem has no tooltip.

    +
  • Finds if the item has children by actually counting the child items +Note that this will expand the item if it was collapsed

    +

    Returns Promise<boolean>

    Promise resolving to true/false

    +
  • Finds if the item is expandable/collapsible

    +

    Returns Promise<boolean>

    Promise resolving to true/false

    +
  • Finds whether the item is expanded. Always returns false if item has no children.

    +

    Returns Promise<boolean>

    Promise resolving to true/false

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<TreeItem>

    thenable self reference

    +
  • Select the item in the view. +Note that selecting the item will toggle its expand state when applicable.

    +

    Returns Promise<void>

    Promise resolving when the item has been clicked

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ViewContent.html b/docs/classes/ViewContent.html new file mode 100644 index 00000000..9fceb651 --- /dev/null +++ b/docs/classes/ViewContent.html @@ -0,0 +1,43 @@ +ViewContent | WebdriverIO VSCode Service - v6.1.0

Page object representing the view container of a side bar view

+

Hierarchy (view full)

Constructors

Properties

defaultView$: ChainablePromiseElement<Element>
defaultView$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
extensionsView$: ChainablePromiseElement<Element>
extensionsView$$: ChainablePromiseArray<Element[]>
progress$: ChainablePromiseElement<Element>
progress$$: ChainablePromiseArray<Element[]>
section$: ChainablePromiseElement<Element>
section$$: ChainablePromiseArray<Element[]>
sectionText$: ChainablePromiseElement<Element>
sectionText$$: ChainablePromiseArray<Element[]>
sectionTitle$: ChainablePromiseElement<Element>
sectionTitle$$: ChainablePromiseArray<Element[]>
view: SideBarView<any> = ...

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Finds whether a progress bar is active at the top of the view

    +

    Returns Promise<boolean>

    Promise resolving to true/false

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ViewContent>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ViewControl.html b/docs/classes/ViewControl.html new file mode 100644 index 00000000..cd7d08b0 --- /dev/null +++ b/docs/classes/ViewControl.html @@ -0,0 +1,43 @@ +ViewControl | WebdriverIO VSCode Service - v6.1.0

Page object representing a view container item in the activity bar

+
const workbench = await browser.getWorkbench()
const viewControls = await workbench.getActivityBar().getViewControls()
console.log(await Promise.all(viewControls.map((vc) => vc.getTitle())))
// returns: [
// 'Explorer',
// 'Search',
// 'Source Control',
// 'Run and Debug',
// 'Extensions'
// ] +
+

Hierarchy (view full)

Constructors

Properties

attribute$: ChainablePromiseElement<Element>
attribute$$: ChainablePromiseArray<Element[]>
badge$: ChainablePromiseElement<Element>
badge$$: ChainablePromiseArray<Element[]>
debugId$: ChainablePromiseElement<Element>
debugId$$: ChainablePromiseArray<Element[]>
klass$: ChainablePromiseElement<Element>
klass$$: ChainablePromiseArray<Element[]>
scmId$: ChainablePromiseElement<Element>
scmId$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Returns the title of the associated view

    +

    Parameters

    • includeKeyboardShortcuts: boolean = false

      if true it includes the keyboard shortcut + in the title (e.g. "Source Control (Ctrl+Shift+G)")

      +

    Returns Promise<string>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ViewItem.html b/docs/classes/ViewItem.html new file mode 100644 index 00000000..4924423b --- /dev/null +++ b/docs/classes/ViewItem.html @@ -0,0 +1,75 @@ +ViewItem | WebdriverIO VSCode Service - v6.1.0

Class ViewItemAbstract

Arbitrary item in the side bar view

+

Hierarchy (view full)

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actionLabel$: ChainablePromiseElement<Element>
actionLabel$$: ChainablePromiseArray<Element[]>
actionTitle$: ChainablePromiseElement<Element>
actionTitle$$: ChainablePromiseArray<Element[]>
actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
author$: ChainablePromiseElement<Element>
author$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
ctor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

ctor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

description$: ChainablePromiseElement<Element>
description$$: ChainablePromiseArray<Element[]>
elem$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

elem$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

expandedAttr$: ChainablePromiseElement<Element>
expandedAttr$$: ChainablePromiseArray<Element[]>
expandedValue$: ChainablePromiseElement<Element>
expandedValue$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
install$: ChainablePromiseElement<Element>
install$$: ChainablePromiseArray<Element[]>
itemTitle$: ChainablePromiseElement<Element>
itemTitle$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
manage$: ChainablePromiseElement<Element>
manage$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
tooltip$: ChainablePromiseElement<Element>
tooltip$$: ChainablePromiseArray<Element[]>
tooltipAttribute$: ChainablePromiseElement<Element>
tooltipAttribute$$: ChainablePromiseArray<Element[]>
twistie$: ChainablePromiseElement<Element>
twistie$$: ChainablePromiseArray<Element[]>
version$: ChainablePromiseElement<Element>
version$$: ChainablePromiseArray<Element[]>
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ViewItem>

    thenable self reference

    +
  • Select the item in the view. +Note that selecting the item will toggle its expand state when applicable.

    +

    Returns Promise<void>

    Promise resolving when the item has been clicked

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ViewItemAction.html b/docs/classes/ViewItemAction.html new file mode 100644 index 00000000..aa201d2c --- /dev/null +++ b/docs/classes/ViewItemAction.html @@ -0,0 +1,42 @@ +ViewItemAction | WebdriverIO VSCode Service - v6.1.0

Action button bound to a view item

+

Hierarchy (view full)

Constructors

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ViewItemAction>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ViewPanelAction.html b/docs/classes/ViewPanelAction.html new file mode 100644 index 00000000..f796ab7e --- /dev/null +++ b/docs/classes/ViewPanelAction.html @@ -0,0 +1,42 @@ +ViewPanelAction | WebdriverIO VSCode Service - v6.1.0

Action button on the header of a view section

+

Hierarchy (view full)

Constructors

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ViewPanelAction>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ViewSection.html b/docs/classes/ViewSection.html new file mode 100644 index 00000000..a325842b --- /dev/null +++ b/docs/classes/ViewSection.html @@ -0,0 +1,105 @@ +ViewSection | WebdriverIO VSCode Service - v6.1.0

Class ViewSectionAbstract

Page object representing a collapsible content section of the side bar view

+

Hierarchy (view full)

Constructors

Properties

actionConstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseElement<Element>

actionConstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: []

      Returns ChainablePromiseArray<Element[]>

actions$: ChainablePromiseElement<Element>
actions$$: ChainablePromiseArray<Element[]>
button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonLabel$: ChainablePromiseElement<Element>
buttonLabel$$: ChainablePromiseArray<Element[]>
content: ViewContent
header$: ChainablePromiseElement<Element>
header$$: ChainablePromiseArray<Element[]>
headerExpanded$: ChainablePromiseElement<Element>
headerExpanded$$: ChainablePromiseArray<Element[]>
index$: ChainablePromiseElement<Element>
index$$: ChainablePromiseArray<Element[]>
itemLabel$: ChainablePromiseElement<Element>
itemLabel$$: ChainablePromiseArray<Element[]>
itemRow$: ChainablePromiseElement<Element>
itemRow$$: ChainablePromiseArray<Element[]>
items$: ChainablePromiseElement<Element>
items$$: ChainablePromiseArray<Element[]>
lastRow$: ChainablePromiseElement<Element>
lastRow$$: ChainablePromiseArray<Element[]>
level$: ChainablePromiseElement<Element>
level$$: ChainablePromiseArray<Element[]>
rowContainer$: ChainablePromiseElement<Element>
rowContainer$$: ChainablePromiseArray<Element[]>
rowWithLabel$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseElement<Element>

rowWithLabel$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [label: string]

      Returns ChainablePromiseArray<Element[]>

searchBox$: ChainablePromiseElement<Element>
searchBox$$: ChainablePromiseArray<Element[]>
textContainer$: ChainablePromiseElement<Element>
textContainer$$: ChainablePromiseArray<Element[]>
textField$: ChainablePromiseElement<Element>
textField$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
titleText$: ChainablePromiseElement<Element>
titleText$$: ChainablePromiseArray<Element[]>
welcomeContent$: ChainablePromiseElement<Element>
welcomeContent$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Find an item in this view section by label. Does not perform recursive search through the whole tree. +Does however scroll through all the expanded content. Will find items beyond the current scroll range.

    +

    Parameters

    • label: string

      Label of the item to search for.

      +
    • Optional maxLevel: number

      Limit how deep the algorithm should look into any expanded items, default unlimited (0)

      +

    Returns Promise<undefined | ViewItem>

    Promise resolving to ViewItem object is such item exists, undefined otherwise

    +
  • Retrieve all items currently visible in the view section. +Note that any item currently beyond the visible list, i.e. not scrolled to, will not be retrieved.

    +

    Returns Promise<ViewItem[]>

    Promise resolving to array of ViewItem objects

    +
  • Open an item with a given path represented by a sequence of labels

    +

    e.g to open 'file' inside 'folder', call +openItem('folder', 'file')

    +

    The first item is only searched for directly within the root element (depth 1). +The label sequence is handled in order. If a leaf item (a file for example) is found in the middle +of the sequence, the rest is ignored.

    +

    If the item structure is flat, use the item's title to search by.

    +

    Parameters

    • Rest ...path: string[]

      Sequence of labels that make up the path to a given item.

      +

    Returns Promise<ViewItem[]>

    Promise resolving to array of ViewItem objects representing the last item's children. +If the last item is a leaf, empty array is returned.

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<ViewSection>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ViewTitlePart.html b/docs/classes/ViewTitlePart.html new file mode 100644 index 00000000..a50503a5 --- /dev/null +++ b/docs/classes/ViewTitlePart.html @@ -0,0 +1,41 @@ +ViewTitlePart | WebdriverIO VSCode Service - v6.1.0

Page object representing the top (title) part of a side bar view

+

Hierarchy (view full)

Constructors

Properties

action$: ChainablePromiseElement<Element>
action$$: ChainablePromiseArray<Element[]>
actionContstructor$: ((...args) => ChainablePromiseElement<Element>)

Type declaration

    • (...args): ChainablePromiseElement<Element>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseElement<Element>

actionContstructor$$: ((...args) => ChainablePromiseArray<Element[]>)

Type declaration

    • (...args): ChainablePromiseArray<Element[]>
    • Parameters

      • Rest ...args: [title: string]

      Returns ChainablePromiseArray<Element[]>

actionLabel$: ChainablePromiseElement<Element>
actionLabel$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
title$: ChainablePromiseElement<Element>
title$$: ChainablePromiseArray<Element[]>
view: SideBarView<any> = ...

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WebView.html b/docs/classes/WebView.html new file mode 100644 index 00000000..345b21c9 --- /dev/null +++ b/docs/classes/WebView.html @@ -0,0 +1,32 @@ +WebView | WebdriverIO VSCode Service - v6.1.0

Hierarchy (view full)

Properties

activeFrame$: ChainablePromiseElement<Element>
activeFrame$$: ChainablePromiseArray<Element[]>
outerFrame$: ChainablePromiseElement<Element>
outerFrame$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Switch WebDriver context to given webview so subsequent element +calls are targeting elements within the webview.

    +

    Note: ensure to call webview.close() to leave the webview +context before using other page objects.

    +

    Returns Promise<void>

  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<WebView>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WelcomeContentButton.html b/docs/classes/WelcomeContentButton.html new file mode 100644 index 00000000..3abde698 --- /dev/null +++ b/docs/classes/WelcomeContentButton.html @@ -0,0 +1,31 @@ +WelcomeContentButton | WebdriverIO VSCode Service - v6.1.0

A button that appears in the welcome content and can be clicked to execute a command.

+

To execute the command bound to this button simply run: await button.click();.

+

Hierarchy (view full)

Constructors

Properties

button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonOrText$: ChainablePromiseElement<Element>
buttonOrText$$: ChainablePromiseArray<Element[]>
text$: ChainablePromiseElement<Element>
text$$: ChainablePromiseArray<Element[]>
welcomeSection: WelcomeContentSection

The enclosing welcome section

+

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WelcomeContentSection.html b/docs/classes/WelcomeContentSection.html new file mode 100644 index 00000000..e34bc80c --- /dev/null +++ b/docs/classes/WelcomeContentSection.html @@ -0,0 +1,42 @@ +WelcomeContentSection | WebdriverIO VSCode Service - v6.1.0

A section in an empty custom view, see: +https://code.visualstudio.com/api/extension-guides/tree-view#welcome-content

+

The welcome section contains two types of elements: text entries and buttons that can be bound to commands. +The text sections can be accessed via [[getTextSections]], the buttons on the +other hand via [[getButtons]]. +This however looses the information of the order of the buttons and lines +with respect to each other. This can be remedied by using [[getContents]], +which returns both in the order that they are found (at the expense, that you +now must use typechecks to find out what you got).

+

Hierarchy (view full)

Constructors

Properties

button$: ChainablePromiseElement<Element>
button$$: ChainablePromiseArray<Element[]>
buttonOrText$: ChainablePromiseElement<Element>
buttonOrText$$: ChainablePromiseArray<Element[]>
text$: ChainablePromiseElement<Element>
text$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Finds all text entries in the welcome content and returns each line as an +element in an array.

    +

    Returns Promise<string[]>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WindowControls.html b/docs/classes/WindowControls.html new file mode 100644 index 00000000..06f738c8 --- /dev/null +++ b/docs/classes/WindowControls.html @@ -0,0 +1,41 @@ +WindowControls | WebdriverIO VSCode Service - v6.1.0

Page object for the windows controls part of the title bar

+

Hierarchy (view full)

Constructors

Properties

bar: TitleBar = ...
close$: ChainablePromiseElement<Element>
close$$: ChainablePromiseArray<Element[]>
elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
maximize$: ChainablePromiseElement<Element>
maximize$$: ChainablePromiseArray<Element[]>
minimize$: ChainablePromiseElement<Element>
minimize$$: ChainablePromiseArray<Element[]>
restore$: ChainablePromiseElement<Element>
restore$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Use the window close button. Use at your own risk.

    +

    Returns Promise<void>

    Promise resolving when close button is pressed

    +
  • Use the maximize window button if the window is not maximized

    +

    Returns Promise<void>

    Promise resolving when maximize button is pressed

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<WindowControls>

    thenable self reference

    +
  • Use the restore window button if the window is maximized

    +

    Returns Promise<void>

    Promise resolving when restore button is pressed

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Workbench.html b/docs/classes/Workbench.html new file mode 100644 index 00000000..470bf7b8 --- /dev/null +++ b/docs/classes/Workbench.html @@ -0,0 +1,64 @@ +Workbench | WebdriverIO VSCode Service - v6.1.0

Page object representing the custom VSCode title bar

+

Hierarchy (view full)

Properties

elem$: ChainablePromiseElement<Element>
elem$$: ChainablePromiseArray<Element[]>
notificationContainer$: ChainablePromiseElement<Element>
notificationContainer$$: ChainablePromiseArray<Element[]>
notificationItem$: ChainablePromiseElement<Element>
notificationItem$$: ChainablePromiseArray<Element[]>

Accessors

  • get elem(): ChainablePromiseElement<Element>
  • Base element of given page object

    +

    Returns ChainablePromiseElement<Element>

  • get parent(): ChainablePromiseElement<Element>
  • Parent element of given page object

    +

    Returns ChainablePromiseElement<Element>

Methods

  • Open the command prompt, type in a command, find the command using a fuzzy match, and execute

    +

    Parameters

    • command: string

      text of the command to be executed

      +

    Returns Promise<InputBox | QuickOpenBox>

    Promise resolving to InputBox (vscode 1.44+) or QuickOpenBox (vscode up to 1.43) object +when the command prompt is confirmed

    +
  • Open the command prompt, type in a command, find the command from the quick pick list, and execute

    +

    Parameters

    • command: string

      text of the command to be executed

      +

    Returns Promise<InputBox | QuickOpenBox>

    Promise resolving to InputBox (vscode 1.44+) or QuickOpenBox (vscode up to 1.43) object +when the command prompt is confirmed

    +
  • Verifies if any notifications are shown

    +

    Returns Promise<boolean>

    true if workbench has notifications, false otherwise

    +
  • Poll for the element to become visible

    +

    Parameters

    • timeout: number = 10000

      custom timeout for the wait

      +
    • interval: number = 2000

      custom interval to control polling

      +

    Returns Promise<Workbench>

    thenable self reference

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/PageDecorator.html b/docs/functions/PageDecorator.html new file mode 100644 index 00000000..0209bb08 --- /dev/null +++ b/docs/functions/PageDecorator.html @@ -0,0 +1 @@ +PageDecorator | WebdriverIO VSCode Service - v6.1.0
  • Type Parameters

    • T extends PageObjectClass

    Parameters

    Returns ((ctor) => T)

      • (ctor): T
      • Parameters

        • ctor: T

        Returns T

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/sleep.html b/docs/functions/sleep.html new file mode 100644 index 00000000..b9e9788a --- /dev/null +++ b/docs/functions/sleep.html @@ -0,0 +1 @@ +sleep | WebdriverIO VSCode Service - v6.1.0

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/hierarchy.html b/docs/hierarchy.html new file mode 100644 index 00000000..34125d7f --- /dev/null +++ b/docs/hierarchy.html @@ -0,0 +1 @@ +WebdriverIO VSCode Service - v6.1.0

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..78a594bd --- /dev/null +++ b/docs/index.html @@ -0,0 +1,127 @@ +WebdriverIO VSCode Service - v6.1.0

WebdriverIO VSCode Service - v6.1.0

+ + WebdriverIO loves VSCode + +

+ +

WDIO VSCode Service CI

Tested on:

+

VSCode Version CI Status

+
+

WebdriverIO service for testing VSCode extensions.

+
+

This WebdriverIO service allows you to seamlessly test your VSCode extensions from end to end in the VSCode Desktop IDE or as a web extension. You only need to provide a path to your extension and the service does the rest by:

+
    +
  • 🏗️ Installing VSCode (either stable, insiders or a specified version)
  • +
  • ⬇️ Downloading Chromedriver specific to a given VSCode version
  • +
  • 🚀 Enables you to access the VSCode API from your tests
  • +
  • 🖥️ Starting VSCode with custom user settings (including support for VSCode on Ubuntu, MacOS and Windows)
  • +
  • 🌐 Or serves VSCode from a server to be accessed by any browser for testing web extensions
  • +
  • 📔 Bootstrapping page objects with locators matching your VSCode version
  • +
+

This project was highly inspired by the vscode-extension-tester project which is based on Selenium. This package takes the idea and adapts it to WebdriverIO.

+

Starting from VSCode v1.86 it is required to use webdriverio v8.14 or later to install Chromedriver with no configuration necessary. If you need to test earlier versions of VSCode, see the Chromedriver configuration section below.

+

Installation

To initiate a new WebdriverIO project, run:

+
npm create wdio ./
+
+

An installation wizard will guide you through the process. Ensure you select TypeScript as compiler and don't have it generate page objects for you given this project comes with all page objects needed. Then make sure to select vscode within the list of services:

+

Install Demo

+

For more information on how to install WebdriverIO, please check the project docs.

+

Example Configuration

To use the service you need to add vscode to your list of services, optionally followed by a configuration object. This will make WebdriverIO download given VSCode binaries and appropriate Chromedriver version:

+
// wdio.conf.ts
export const config = {
outputDir: 'trace',
// ...
capabilities: [{
browserName: 'vscode',
browserVersion: '1.86.0', // "insiders" or "stable" for latest VSCode version
'wdio:vscodeOptions': {
extensionPath: __dirname,
userSettings: {
"editor.fontSize": 14
}
}
}],
services: ['vscode'],
/**
* Optionally define the path WebdriverIO stores all VSCode binaries, e.g.:
* services: [['vscode', { cachePath: __dirname }]]
*/
// ...
}; +
+

If you define wdio:vscodeOptions with any other browserName but vscode, e.g. chrome, the service will serve the extension as a web extension. If you test on Chrome no additional driver service is required, e.g.:

+
// wdio.conf.ts
export const config = {
outputDir: 'trace',
// ...
capabilities: [{
browserName: 'chrome',
'wdio:vscodeOptions': {
extensionPath: __dirname
}
}],
services: ['vscode'],
// ...
}; +
+

Note: when testing web extensions you can only choose between stable or insiders as browserVersion.

+

TypeScript Setup

In your tsconfig.json make sure to add wdio-vscode-service to your list of types:

+
{
"compilerOptions": {
"types": [
"node",
"webdriverio/async",
"@wdio/mocha-framework",
"expect-webdriverio",
"wdio-vscode-service"
],
"target": "es2019",
"moduleResolution": "node",
"esModuleInterop": true
}
} +
+

Usage

You can then use the getWorkbench method to access the page objects for the locators matching your desired VSCode version:

+
describe('WDIO VSCode Service', () => {
it('should be able to load VSCode', async () => {
const workbench = await browser.getWorkbench()
expect(await workbench.getTitleBar().getTitle())
.toBe('[Extension Development Host] - README.md - wdio-vscode-service - Visual Studio Code')
})
}) +
+

Accessing VSCode APIs

If you like to execute certain automation through the VSCode API you can do that by running remote commands via the custom executeWorkbench command. This command allows you to remotely execute code from your test inside the VSCode environment and enables you to access the VSCode API. You can pass arbitrary parameters into the function which will then be propagated into the function. The vscode object will be always passed in as the first argument following the outer function parameters. Note that you can not access variables outside of the function scope as the callback is executed remotely. Here is an example:

+
const workbench = await browser.getWorkbench()
await browser.executeWorkbench((vscode, param1, param2) => {
vscode.window.showInformationMessage(`I am an ${param1} ${param2}!`)
}, 'API', 'call')

const notifs = await workbench.getNotifications()
console.log(await notifs[0].getMessage()) // outputs: "I am an API call!" +
+

For the full page object documentation, check out the docs. You can find various usage examples in this project's test suite.

+

Configuration

Through service configuration, you can manage the VSCode version as well as user settings for VSCode:

+

Service Options

Service options are options needed for the service to set up the test environment.

+

cachePath

Define a cache path to avoid re-downloading VS Code bundles. This is useful for CI/CD to avoid re-downloading VSCode for every test run.

+

Type: string
+Default: process.cwd()

+

VSCode Capabilities (wdio:vscodeOptions)

In order to run tests through VSCode you have to define vscode as browserName. You can specify the VSCode version by providing a browserVersion capability. Custom VSCode options are then defined within the custom wdio:vscodeOptions capability. The options are the following:

+

binary

Path to a locally installed VSCode installation. If the option is not provided the service will download VSCode based on the given browserVersion (or stable if not given).

+

Type: string

+

extensionPath

Define the directory to the extension you want to test.

+

Type: string

+

storagePath

Define a custom location for VS Code to store all its data. This is the root for internal VS Code directories such as (partial list)

+
    +
  • user-data-dir: The directory where all the user settings (global settings), extension logs etc are stored.
  • +
  • extension-install-dir: The directory where VS Code extensions are installed.
  • +
+

If not provided, a temporary directory is used.

+

Type: string

+

userSettings

Define custom user settings to be applied to VSCode.

+

Type: Record<string, number | string | object | boolean>
+Default: {}

+

workspacePath

Opens VSCode for a specific workspace. If not provided VSCode starts without a workspace opened.

+

Type: string

+

filePath

Opens VSCode with a specific file opened.

+

Type: string

+

vscodeArgs

Additional start-up arguments as an object, e.g.

+
vscodeArgs: { fooBar: true, 'bar-foo': '/foobar' }
+
+

will be passed in as:

+
--foo-bar --fooBar --bar-foo=/foobar
+
+

Type: Record<string, string | boolean>
+Default: see constants.ts#L5-L14

+

verboseLogging

If set to true, the service logs VSCode output from the extension host and console API.

+

Type: boolean
+Default: false

+

vscodeProxyOptions

VSCode API proxy configurations define how WebdriverIO connects to the VSCode workbench to give you access to the VSCode API.

+

Type: VSCodeProxyOptions
+Default:

+
{
/**
* If set to true, the service tries to establish a connection with the
* VSCode workbench to enable access to the VSCode API
*/
enable: true,
/**
* Port of the WebSocket connection used to connect to the workbench.
* By default set to an available port in your operating system.
*/
// port?: number
/**
* Timeout for connecting to WebSocket inside of VSCode
*/
connectionTimeout: 5000,
/**
* Timeout for command to be executed within VSCode
*/
commandTimeout: 5000
} +
+

Chromedriver

Starting from VSCode v1.86 it is required to use webdriverio v8.14 or later to install Chromedriver with no configuration necessary. The simplified browser automation setup handles everything for you.

+

To test earlier versions of VS Code, find the expected version of Chromedriver from the logs, download Chromedriver, and configure the path. For example:

+
[0-0] ERROR webdriver: Failed downloading chromedriver v108: Download failed: ...
+
+
    capabilities: [{
browserName: 'vscode',
browserVersion: '1.80.0',
'wdio:chromedriverOptions': {
binary: path.join(cacheDir, 'chromedriver-108.0.5359.71') +
+

Create Your Own PageObjects

You can reuse the components used in this service for your own review page objects. For that first create a file that defines all your selectors, e.g.:

+
// e.g. in /test/pageobjects/locators.ts
export const componentA = {
elem: 'form', // component container element
submit: 'button[type="submit"]', // submit button
username: 'input.username', // username input
password: 'input.password' // password input
} +
+

Now you can create a page object as follows:

+
// e.g. in /test/pageobjects/loginForm.ts
import { PageDecorator, IPageDecorator, BasePage } from 'wdio-vscode-service'
import * as locatorMap, { componentA as componentALocators } from './locators'
export interface LoginForm extends IPageDecorator<typeof componentALocators> {}
@PageDecorator(componentALocators)
export class LoginForm extends BasePage<typeof componentALocators, typeof locatorMap> {
/**
* @private locator key to identify locator map (see locators.ts)
*/
public locatorKey = 'componentA' as const

public login (username: string, password: string) {
await this.username$.setValue(username)
await this.password$.setValue(password)
await this.submit$.click()
}
} +
+

Now in your test, you can use your page object as follows:

+
import { LoginForm } from '../pageobjects/loginForm'
import * as locatorMap from '../locators'

// e.g. in /test/specs/example.e2e.ts
describe('my extension', () => {
it('should login', async () => {
const loginForm = new LoginForm(locatorMap)
await loginForm.login('admin', 'test123')

// you can also use page object elements directly via `[selector]$`
// or `[selector]$$`, e.g.:
await loginForm.submit$.click()

// or access locators directly
console.log(loginForm.locators.username)
// outputs: "input.username"
})
}) +
+

TypeScript Support

If you use WebdriverIO with TypeScript make sure to add wdio-vscode-service to your types in your tsconfig.json, e.g.:

+
{
"compilerOptions": {
"moduleResolution": "node",
"types": [
"webdriverio/async",
"@wdio/mocha-framework",
"expect-webdriverio",
// add this service to your types
"wdio-devtools-service"
],
"target": "es2019"
}
} +
+

Proxy Support

During the initialization of this service, a ChromeDriver and VSCode distribution is downloaded. You can tunnel this requests through a proxy by setting the environment variable HTTPS_PROXY or https_proxy. E. g.:

+
HTTPS_PROXY=http://127.0.0.1:1080 npm run wdio
+
+

References

The following VS Code extensions use wdio-vscode-service:

+ +

Contributing

Before posting a pull request, please run the following:

+
    +
  1. git clone git@github.com:webdriverio-community/wdio-vscode-service.git
  2. +
  3. cd wdio-vscode-service
  4. +
  5. npm install
  6. +
  7. npm run build
  8. +
  9. npm run test (or npm run ci)
  10. +
+

Learn More

If you want to learn more about testing VSCode Extensions, check out Christian Bromann's talk at OpenJS World 2022:

+

Testing VSCode Extensions at OpenJS World 2022

+
+

For more information on WebdriverIO check out the project homepage.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/modules.html b/docs/modules.html new file mode 100644 index 00000000..fbfa4abb --- /dev/null +++ b/docs/modules.html @@ -0,0 +1,78 @@ +WebdriverIO VSCode Service - v6.1.0

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/IPageDecorator.html b/docs/types/IPageDecorator.html new file mode 100644 index 00000000..cf394eb2 --- /dev/null +++ b/docs/types/IPageDecorator.html @@ -0,0 +1 @@ +IPageDecorator | WebdriverIO VSCode Service - v6.1.0

Type alias IPageDecorator<T>

IPageDecorator<T>: ClassWithLocators$<T> & ClassWithLocators$$<T> & ClassWithFunctionLocators$<T> & ClassWithFunctionLocators$$<T>

Type Parameters

  • T

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/LocatorComponents.html b/docs/types/LocatorComponents.html new file mode 100644 index 00000000..6d8aaad5 --- /dev/null +++ b/docs/types/LocatorComponents.html @@ -0,0 +1 @@ +LocatorComponents | WebdriverIO VSCode Service - v6.1.0

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/Locators.html b/docs/types/Locators.html new file mode 100644 index 00000000..3f38072d --- /dev/null +++ b/docs/types/Locators.html @@ -0,0 +1 @@ +Locators | WebdriverIO VSCode Service - v6.1.0

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/VSCodeLocatorMap.html b/docs/types/VSCodeLocatorMap.html new file mode 100644 index 00000000..16304eb5 --- /dev/null +++ b/docs/types/VSCodeLocatorMap.html @@ -0,0 +1 @@ +VSCodeLocatorMap | WebdriverIO VSCode Service - v6.1.0

Generated using TypeDoc

\ No newline at end of file