From c399b992e6665f194ebe08a48aae1ede32c6767f Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Fri, 6 Dec 2019 21:48:14 +0900 Subject: Identify the key is a digit --- src/shared/settings/KeySequence.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/shared/settings/KeySequence.ts') diff --git a/src/shared/settings/KeySequence.ts b/src/shared/settings/KeySequence.ts index abae61a..de1c6bb 100644 --- a/src/shared/settings/KeySequence.ts +++ b/src/shared/settings/KeySequence.ts @@ -26,6 +26,21 @@ export default class KeySequence { return true; } + isDigitOnly(): boolean { + return this.keys.every(key => key.isDigit()); + } + + splitNumericPrefix(): [KeySequence, KeySequence] { + let nonDigitIndex = this.keys.findIndex(key => !key.isDigit()); + if (nonDigitIndex === -1) { + return [this, new KeySequence([])]; + } + return [ + new KeySequence(this.keys.slice(0, nonDigitIndex)), + new KeySequence(this.keys.slice(nonDigitIndex)), + ]; + } + static fromMapKeys(keys: string): KeySequence { const fromMapKeysRecursive = ( remaining: string, mappedKeys: Key[], -- cgit v1.2.3