github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/events/onSignalReceived/interrupts.go (about) 1 //go:build !plan9 && !js 2 // +build !plan9,!js 3 4 package signaltrap 5 6 import ( 7 "fmt" 8 "strings" 9 ) 10 11 func isValidInterrupt(interrupt string) bool { 12 _, ok := interrupts[interrupt] 13 return ok 14 } 15 16 func compileInterruptKey(interrupt, name string) string { 17 return fmt.Sprintf("%s_%s", interrupt, name) 18 } 19 20 func getInterruptFromKey(key string) []string { 21 split := strings.SplitN(key, "_", 2) 22 switch len(split) { 23 case 2: 24 return split 25 case 1: 26 return []string{"", split[0]} 27 default: 28 return []string{"", ""} 29 } 30 }