@@ -10,7 +10,8 @@ interface KeyDescriptor {
1010
1111export type KeyboardShortcut = number | KeyDescriptor ;
1212
13- let subscribers : any , eventBan = 0 ;
13+ let subscribers : any ,
14+ eventBan = 0 ;
1415
1516export function executeKeyboardShortcuts ( e : KeyboardEvent ) {
1617 if ( Date . now ( ) < eventBan ) return ;
@@ -19,22 +20,31 @@ export function executeKeyboardShortcuts(e: KeyboardEvent) {
1920 subscribers && subscribers . notify ( e ) ;
2021}
2122
22- export function registerKeyboardShortcut ( key : number | KeyDescriptor , callback : ( e : KeyboardEvent ) => void ) {
23+ export function registerKeyboardShortcut (
24+ key : number | KeyDescriptor ,
25+ callback : ( e : KeyboardEvent ) => void ,
26+ ) {
2327 const keyCode = isObject ( key ) ? ( key as KeyDescriptor ) . keyCode : key ;
2428 const shiftKey = isObject ( key ) ? ( key as KeyDescriptor ) . shiftKey : false ;
2529 const ctrlKey = isObject ( key ) ? ( key as KeyDescriptor ) . ctrlKey : false ;
2630 const altKey = isObject ( key ) ? ( key as KeyDescriptor ) . altKey : false ;
2731
2832 if ( ! subscribers ) {
2933 subscribers = new SubscriberList ( ) ;
30- document . addEventListener ( "keydown" , ( e : any ) => {
31- if ( e . target == document . body )
32- executeKeyboardShortcuts ( e ) ;
33- } ) ;
34+ if ( typeof document !== "undefined" ) {
35+ document . addEventListener ( "keydown" , ( e : any ) => {
36+ if ( e . target == document . body ) executeKeyboardShortcuts ( e ) ;
37+ } ) ;
38+ }
3439 }
3540
3641 return subscribers . subscribe ( ( e : any ) => {
37- if ( e . keyCode == keyCode && ( ! shiftKey || e . shiftKey ) && ( ! ctrlKey || e . ctrlKey ) && ( ! altKey || e . altKey ) )
42+ if (
43+ e . keyCode == keyCode &&
44+ ( ! shiftKey || e . shiftKey ) &&
45+ ( ! ctrlKey || e . ctrlKey ) &&
46+ ( ! altKey || e . altKey )
47+ )
3848 callback ( e ) ;
3949 } ) ;
4050}
0 commit comments