Replace trimStart

jh-changes
Shin'ya UEOKA 6 years ago
parent b48c2f7804
commit 784a0d4037
  1. 13
      src/background/controllers/command.js

@ -2,6 +2,11 @@ import CompletionsInteractor from '../usecases/completions';
import CommandInteractor from '../usecases/command'; import CommandInteractor from '../usecases/command';
import Completions from '../domains/completions'; import Completions from '../domains/completions';
const trimStart = (str) => {
// NOTE String.trimStart is available on Firefox 61
return str.replace(/^\s+/, '');
};
export default class CommandController { export default class CommandController {
constructor() { constructor() {
this.completionsInteractor = new CompletionsInteractor(); this.completionsInteractor = new CompletionsInteractor();
@ -9,13 +14,13 @@ export default class CommandController {
} }
getCompletions(line) { getCompletions(line) {
let trimmed = line.trimStart(); let trimmed = trimStart(line);
let words = trimmed.split(/ +/); let words = trimmed.split(/ +/);
let name = words[0]; let name = words[0];
if (words.length === 1) { if (words.length === 1) {
return this.completionsInteractor.queryConsoleCommand(name); return this.completionsInteractor.queryConsoleCommand(name);
} }
let keywords = trimmed.slice(name.length).trimStart(); let keywords = trimStart(trimmed.slice(name.length));
switch (words[0]) { switch (words[0]) {
case 'o': case 'o':
case 'open': case 'open':
@ -45,14 +50,14 @@ export default class CommandController {
// eslint-disable-next-line complexity // eslint-disable-next-line complexity
exec(line) { exec(line) {
let trimmed = line.trimStart(); let trimmed = trimStart(line);
let words = trimmed.split(/ +/); let words = trimmed.split(/ +/);
let name = words[0]; let name = words[0];
if (words[0].length === 0) { if (words[0].length === 0) {
return Promise.resolve(); return Promise.resolve();
} }
let keywords = trimmed.slice(name.length).trimStart(); let keywords = trimStart(trimmed.slice(name.length));
switch (words[0]) { switch (words[0]) {
case 'o': case 'o':
case 'open': case 'open':