Fix addon lint

This commit is contained in:
Daniel Imms
2018-01-17 10:20:04 -08:00
parent 5888cd7938
commit 70236f6818
13 changed files with 94 additions and 97 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
import { assert, expect } from 'chai';
import * as attach from './attach'
import * as attach from './attach';
class MockTerminal {}
+17 -18
View File
@@ -16,16 +16,16 @@
* should happen instantly or at a maximum
* frequency of 1 rendering per 10ms.
*/
export function attach(term, socket, bidirectional, buffered) {
bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;
export function attach(term: any, socket: WebSocket, bidirectional: boolean, buffered: boolean): void {
bidirectional = (typeof bidirectional === 'undefined') ? true : bidirectional;
term.socket = socket;
term._flushBuffer = function() {
term._flushBuffer = () => {
term.write(term._attachSocketBuffer);
term._attachSocketBuffer = null;
};
term._pushToBuffer = function(data) {
term._pushToBuffer = (data: string) => {
if (term._attachSocketBuffer) {
term._attachSocketBuffer += data;
} else {
@@ -34,20 +34,19 @@ export function attach(term, socket, bidirectional, buffered) {
}
};
var myTextDecoder;
let myTextDecoder;
term._getMessage = function(ev) {
var str;
if (typeof ev.data === "object") {
term._getMessage = function(ev: MessageEvent): void {
let str;
if (typeof ev.data === 'object') {
if (ev.data instanceof ArrayBuffer) {
if (!myTextDecoder) {
myTextDecoder = new TextDecoder();
}
str = myTextDecoder.decode( ev.data );
}
else {
throw "TODO: handle Blob?";
} else {
throw 'TODO: handle Blob?';
}
}
@@ -58,7 +57,7 @@ export function attach(term, socket, bidirectional, buffered) {
}
};
term._sendData = function(data) {
term._sendData = (data: string) => {
if (socket.readyState !== 1) {
return;
}
@@ -82,10 +81,10 @@ export function attach(term, socket, bidirectional, buffered) {
* @param {WebSocket} socket - The socket from which to detach the current
* terminal.
*/
export function detach(term, socket) {
export function detach(term: any, socket: WebSocket): void {
term.off('data', term._sendData);
socket = (typeof socket == 'undefined') ? term.socket : socket;
socket = (typeof socket === 'undefined') ? term.socket : socket;
if (socket) {
socket.removeEventListener('message', term._getMessage);
@@ -95,7 +94,7 @@ export function detach(term, socket) {
};
export function apply(terminalConstructor) {
export function apply(terminalConstructor: any): void {
/**
* Attaches the current terminal to the given socket
*
@@ -106,7 +105,7 @@ export function apply(terminalConstructor) {
* should happen instantly or at a maximum
* frequency of 1 rendering per 10ms.
*/
terminalConstructor.prototype.attach = function(socket, bidirectional, buffered) {
terminalConstructor.prototype.attach = (socket: WebSocket, bidirectional: boolean, buffered: boolean) => {
return attach(this, socket, bidirectional, buffered);
};
@@ -116,7 +115,7 @@ export function apply(terminalConstructor) {
* @param {WebSocket} socket - The socket from which to detach the current
* terminal.
*/
terminalConstructor.prototype.detach = function(socket) {
terminalConstructor.prototype.detach = (socket: WebSocket) => {
return detach(this, socket);
};
}
};
+1 -1
View File
@@ -5,7 +5,7 @@
import { assert, expect } from 'chai';
import * as fit from './fit'
import * as fit from './fit';
class MockTerminal {}
+24 -19
View File
@@ -13,28 +13,33 @@
* row and truncate its width with the current number of columns).
*/
export function proposeGeometry(term) {
export interface IGeometry {
rows: number;
cols: number;
}
export function proposeGeometry(term: any): IGeometry {
if (!term.element.parentElement) {
return null;
}
var parentElementStyle = window.getComputedStyle(term.element.parentElement);
var parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height'));
var parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17);
var elementStyle = window.getComputedStyle(term.element);
var elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom'));
var elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left'));
var availableHeight = parentElementHeight - elementPaddingVer;
var availableWidth = parentElementWidth - elementPaddingHor;
var geometry = {
const parentElementStyle = window.getComputedStyle(term.element.parentElement);
const parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height'));
const parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')) - 17);
const elementStyle = window.getComputedStyle(term.element);
const elementPaddingVer = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom'));
const elementPaddingHor = parseInt(elementStyle.getPropertyValue('padding-right')) + parseInt(elementStyle.getPropertyValue('padding-left'));
const availableHeight = parentElementHeight - elementPaddingVer;
const availableWidth = parentElementWidth - elementPaddingHor;
const geometry = {
cols: Math.floor(availableWidth / term.renderer.dimensions.actualCellWidth),
rows: Math.floor(availableHeight / term.renderer.dimensions.actualCellHeight)
};
return geometry;
};
}
export function fit(term) {
var geometry = proposeGeometry(term);
export function fit(term: any): void {
const geometry = proposeGeometry(term);
if (geometry) {
// Force a full render
if (term.rows !== geometry.rows || term.cols !== geometry.cols) {
@@ -44,12 +49,12 @@ export function fit(term) {
}
};
export function apply(terminalConstructor) {
terminalConstructor.prototype.proposeGeometry = function() {
export function apply(terminalConstructor: any): void {
terminalConstructor.prototype.proposeGeometry = function (): IGeometry {
return proposeGeometry(this);
}
};
terminalConstructor.prototype.fit = function() {
return fit(this);
}
terminalConstructor.prototype.fit = function (): void {
fit(this);
};
}
+1 -1
View File
@@ -5,7 +5,7 @@
import { assert, expect } from 'chai';
import * as fullscreen from './fullscreen'
import * as fullscreen from './fullscreen';
class MockTerminal {}
+6 -6
View File
@@ -8,10 +8,10 @@
* @param {Terminal} term - The terminal to toggle full screen mode
* @param {boolean} fullscreen - Toggle fullscreen on (true) or off (false)
*/
export function toggleFullScreen(term, fullscreen) {
var fn;
export function toggleFullScreen(term: any, fullscreen: boolean): void {
let fn;
if (typeof fullscreen == 'undefined') {
if (typeof fullscreen === 'undefined') {
fn = (term.element.classList.contains('fullscreen')) ? 'remove' : 'add';
} else if (!fullscreen) {
fn = 'remove';
@@ -22,8 +22,8 @@ export function toggleFullScreen(term, fullscreen) {
term.element.classList[fn]('fullscreen');
};
export function apply(terminalConstructor) {
terminalConstructor.prototype.toggleFullScreen = function (fullscreen) {
return toggleFullScreen(this, fullscreen);
export function apply(terminalConstructor: any): void {
terminalConstructor.prototype.toggleFullScreen = function (fullscreen: boolean): void {
toggleFullScreen(this, fullscreen);
};
}
+5 -5
View File
@@ -32,12 +32,12 @@ export function findPrevious(terminal: any, term: string): boolean {
return (<SearchHelper>terminal.searchHelper).findPrevious(term);
};
export function apply(terminalConstructor) {
terminalConstructor.prototype.findNext = function(term) {
export function apply(terminalConstructor: any): void {
terminalConstructor.prototype.findNext = function(term: any): boolean {
return findNext(this, term);
}
};
terminalConstructor.prototype.findPrevious = function(term) {
terminalConstructor.prototype.findPrevious = function(term: any): boolean {
return findPrevious(this, term);
}
};
}
+1 -1
View File
@@ -5,7 +5,7 @@
import { assert, expect } from 'chai';
import * as terminado from './terminado'
import * as terminado from './terminado';
class MockTerminal {}
+14 -14
View File
@@ -17,16 +17,16 @@
* should happen instantly or at a maximum
* frequency of 1 rendering per 10ms.
*/
export function terminadoAttach(term, socket, bidirectional, buffered) {
bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;
export function terminadoAttach(term: any, socket: WebSocket, bidirectional: boolean, buffered: boolean): void {
bidirectional = (typeof bidirectional === 'undefined') ? true : bidirectional;
term.socket = socket;
term._flushBuffer = function() {
term._flushBuffer = () => {
term.write(term._attachSocketBuffer);
term._attachSocketBuffer = null;
};
term._pushToBuffer = function(data) {
term._pushToBuffer = (data) => {
if (term._attachSocketBuffer) {
term._attachSocketBuffer += data;
} else {
@@ -35,9 +35,9 @@ export function terminadoAttach(term, socket, bidirectional, buffered) {
}
};
term._getMessage = function(ev) {
var data = JSON.parse(ev.data)
if( data[0] == "stdout" ) {
term._getMessage = (ev: MessageEvent) => {
const data = JSON.parse(ev.data);
if (data[0] === 'stdout') {
if (buffered) {
term._pushToBuffer(data[1]);
} else {
@@ -46,11 +46,11 @@ export function terminadoAttach(term, socket, bidirectional, buffered) {
}
};
term._sendData = function(data) {
term._sendData = (data: string) => {
socket.send(JSON.stringify(['stdin', data]));
};
term._setSize = function(size) {
term._setSize = (size: {rows: number, cols: number}) => {
socket.send(JSON.stringify(['set_size', size.rows, size.cols]));
};
@@ -72,10 +72,10 @@ export function terminadoAttach(term, socket, bidirectional, buffered) {
* @param {WebSocket} socket - The socket from which to detach the current
* terminal.
*/
export function terminadoDetach(term, socket) {
export function terminadoDetach(term: any, socket: WebSocket): void {
term.off('data', term._sendData);
socket = (typeof socket == 'undefined') ? term.socket : socket;
socket = (typeof socket === 'undefined') ? term.socket : socket;
if (socket) {
socket.removeEventListener('message', term._getMessage);
@@ -84,7 +84,7 @@ export function terminadoDetach(term, socket) {
delete term.socket;
};
export function apply(terminalConstructor) {
export function apply(terminalConstructor: any): void {
/**
* Attaches the current terminal to the given socket
*
@@ -95,7 +95,7 @@ export function apply(terminalConstructor) {
* should happen instantly or at a maximum
* frequency of 1 rendering per 10ms.
*/
terminalConstructor.prototype.terminadoAttach = function(socket, bidirectional, buffered) {
terminalConstructor.prototype.terminadoAttach = function(socket: WebSocket, bidirectional: boolean, buffered: boolean): void {
return terminadoAttach(this, socket, bidirectional, buffered);
};
@@ -105,7 +105,7 @@ export function apply(terminalConstructor) {
* @param {WebSocket} socket - The socket from which to detach the current
* terminal.
*/
terminalConstructor.prototype.terminadoDetach = function(socket) {
terminalConstructor.prototype.terminadoDetach = function(socket: WebSocket): void {
return terminadoDetach(this, socket);
};
}
+1 -1
View File
@@ -5,7 +5,7 @@
import { assert, expect } from 'chai';
import * as winptyCompat from './winptyCompat'
import * as winptyCompat from './winptyCompat';
class MockTerminal {}
+2 -2
View File
@@ -3,7 +3,7 @@
* @license MIT
*/
export function winptyCompatInit(terminal): void {
export function winptyCompatInit(terminal: any): void {
// Don't do anything when the platform is not Windows
const isWindows = ['Windows', 'Win16', 'Win32', 'WinCE'].indexOf(navigator.platform) >= 0;
if (!isWindows) {
@@ -31,7 +31,7 @@ export function winptyCompatInit(terminal): void {
});
}
export function apply(terminalConstructor) {
export function apply(terminalConstructor: any): void {
terminalConstructor.prototype.winptyCompatInit = function(): void {
winptyCompatInit(this);
};
+1 -1
View File
@@ -5,7 +5,7 @@
import { assert, expect } from 'chai';
import * as zmodem from './zmodem'
import * as zmodem from './zmodem';
class MockTerminal {}
+20 -27
View File
@@ -29,45 +29,38 @@
let Zmodem;
export function zmodemAttach(term, ws, opts) {
if (!opts) opts = {};
export interface IZModemOptions {
noTerminalWriteOutsideSession?: boolean;
}
var senderFunc = function _ws_sender_func(octets) {
ws.send(new Uint8Array(octets));
};
export function zmodemAttach(term: any, ws: WebSocket, opts: IZModemOptions = {}): void {
const senderFunc = (octets: ArrayLike<number>) => ws.send(new Uint8Array(octets));
var zsentry;
let zsentry;
function _shouldWrite() {
function _shouldWrite(): boolean {
return !!zsentry.get_confirmed_session() || !opts.noTerminalWriteOutsideSession;
}
zsentry = new Zmodem.Sentry( {
to_terminal: function _to_terminal(octets) {
zsentry = new Zmodem.Sentry({
to_terminal: (octets: ArrayLike<number>) => {
if (_shouldWrite()) {
term.write(
String.fromCharCode.apply(String, octets)
);
}
},
sender: senderFunc,
on_retract: () => term.emit('zmodemRetract'),
on_detect: (detection: any) => term.emit('zmodemDetect', detection)
});
on_retract: function _on_retract() {
term.emit('zmodemRetract');
},
function handleWSMessage(evt: MessageEvent): void {
on_detect: function _on_detect(detection) {
term.emit('zmodemDetect', detection);
},
} );
function handleWSMessage(evt) {
//In testing with xterm.jss demo the first message was
//always text even if the rest were binary. While that
//may be specific to xterm.jss demo, ultimately we
//should reject anything that isnt binary.
// In testing with xterm.jss demo the first message was
// always text even if the rest were binary. While that
// may be specific to xterm.jss demo, ultimately we
// should reject anything that isnt binary.
if (typeof evt.data === 'string') {
if (_shouldWrite()) {
term.write(evt.data);
@@ -82,9 +75,9 @@ export function zmodemAttach(term, ws, opts) {
ws.addEventListener('message', handleWSMessage);
}
export function apply(terminalConstructor) {
Zmodem = (typeof window == 'object') ? (<any>window).ZModem : {Browser: null}; // Nullify browser for tests
export function apply(terminalConstructor: any): void {
Zmodem = (typeof window === 'object') ? (<any>window).ZModem : {Browser: null}; // Nullify browser for tests
terminalConstructor.prototype.zmodemAttach = zmodemAttach.bind(this, this);
terminalConstructor.prototype.zmodemBrowser = Zmodem.Browser
terminalConstructor.prototype.zmodemBrowser = Zmodem.Browser;
}