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  }