blob: 2fd00a25c38e748d2da2993f15702dac313f66ef (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
const identifyKey = (key1, key2) => {
return (key1.code === key2.code) &&
((key1.shift || false) === (key2.shift || false)) &&
((key1.ctrl || false) === (key2.ctrl || false)) &&
((key1.alt || false) === (key2.alt || false)) &&
((key1.meta || false) === (key2.meta || false));
};
const hasPrefix = (keys, prefix) => {
if (keys.length < prefix.length) {
return false;
}
for (let i = 0; i < prefix.length; ++i) {
if (!identifyKey(keys[i], prefix[i])) {
return false;
}
}
return true;
}
const identifyKeys = (keys1, keys2) => {
if (keys1.length !== keys2.length) {
return false;
}
return hasPrefix(keys1, keys2);
}
export { identifyKey, identifyKeys, hasPrefix };
|