From f13c30a9ec223d2333d408732ea94ca0f96fcfe9 Mon Sep 17 00:00:00 2001 From: Jack Franklin Date: Tue, 21 Apr 2020 10:21:45 +0100 Subject: [PATCH] chore: migrate `src/USKeyboardLayout` to typescript (#5695) * chore: migrate `src/USKeyboardLayout` to typescript Don't think we need to expose the interface type for the keycodes so I've left it local for now. * retry windows unit tests --- .travis.yml | 2 +- src/Input.js | 2 +- ...SKeyboardLayout.js => USKeyboardLayout.ts} | 28 ++++++++----------- 3 files changed, 14 insertions(+), 18 deletions(-) rename src/{USKeyboardLayout.js => USKeyboardLayout.ts} (97%) diff --git a/.travis.yml b/.travis.yml index cd013926e2997..e9dee242e91cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ jobs: script: - ls .local-chromium .local-firefox - npm run tsc - - npm run unit + - travis_retry npm run unit - node_js: "10.19.0" dist: trusty env: diff --git a/src/Input.js b/src/Input.js index c95173791df97..93b774a25c624 100644 --- a/src/Input.js +++ b/src/Input.js @@ -15,10 +15,10 @@ */ const {assert} = require('./helper'); -const keyDefinitions = require('./USKeyboardLayout'); // CDPSession is used only as a typedef // eslint-disable-next-line no-unused-vars const {CDPSession} = require('./Connection'); +const {keyDefinitions} = require('./USKeyboardLayout'); /** * @typedef {Object} KeyDescription diff --git a/src/USKeyboardLayout.js b/src/USKeyboardLayout.ts similarity index 97% rename from src/USKeyboardLayout.js rename to src/USKeyboardLayout.ts index 7ac2768834867..5da20b8b11d59 100644 --- a/src/USKeyboardLayout.js +++ b/src/USKeyboardLayout.ts @@ -14,22 +14,18 @@ * limitations under the License. */ -/** - * @typedef {Object} KeyDefinition - * @property {number=} keyCode - * @property {number=} shiftKeyCode - * @property {string=} key - * @property {string=} shiftKey - * @property {string=} code - * @property {string=} text - * @property {string=} shiftText - * @property {number=} location - */ + interface KeyDefinition { + keyCode?: number; + shiftKeyCode?: number; + key?: string; + shiftKey?: string; + code?: string; + text?: string; + shiftText?: string; + location?: number; + } -/** - * @type {Object} - */ -module.exports = { +export const keyDefinitions: Readonly> = { '0': {'keyCode': 48, 'key': '0', 'code': 'Digit0'}, '1': {'keyCode': 49, 'key': '1', 'code': 'Digit1'}, '2': {'keyCode': 50, 'key': '2', 'code': 'Digit2'}, @@ -285,4 +281,4 @@ module.exports = { 'EndCall': {'keyCode': 95, 'key': 'EndCall', 'code': 'EndCall', 'location': 4}, 'VolumeDown': {'keyCode': 182, 'key': 'VolumeDown', 'code': 'VolumeDown', 'location': 4}, 'VolumeUp': {'keyCode': 183, 'key': 'VolumeUp', 'code': 'VolumeUp', 'location': 4}, -}; \ No newline at end of file +};