(keyComboStr, pressHandler, releaseHandler, preventRepeatByDefault)
| 61 | } |
| 62 | |
| 63 | bind(keyComboStr, pressHandler, releaseHandler, preventRepeatByDefault) { |
| 64 | if (keyComboStr === null || typeof keyComboStr === 'function') { |
| 65 | preventRepeatByDefault = releaseHandler; |
| 66 | releaseHandler = pressHandler; |
| 67 | pressHandler = keyComboStr; |
| 68 | keyComboStr = null; |
| 69 | } |
| 70 | |
| 71 | if ( |
| 72 | keyComboStr && |
| 73 | typeof keyComboStr === 'object' && |
| 74 | typeof keyComboStr.length === 'number' |
| 75 | ) { |
| 76 | for (let i = 0; i < keyComboStr.length; i += 1) { |
| 77 | this.bind(keyComboStr[i], pressHandler, releaseHandler); |
| 78 | } |
| 79 | return this; |
| 80 | } |
| 81 | |
| 82 | this._listeners.push({ |
| 83 | keyCombo : keyComboStr ? new KeyCombo(keyComboStr) : null, |
| 84 | pressHandler : pressHandler || null, |
| 85 | releaseHandler : releaseHandler || null, |
| 86 | preventRepeat : false, |
| 87 | preventRepeatByDefault: preventRepeatByDefault || false, |
| 88 | executingHandler : false |
| 89 | }); |
| 90 | |
| 91 | return this; |
| 92 | } |
| 93 | |
| 94 | addListener(keyComboStr, pressHandler, releaseHandler, preventRepeatByDefault) { |
| 95 | return this.bind(keyComboStr, pressHandler, releaseHandler, preventRepeatByDefault); |
no outgoing calls
no test coverage detected