github.com/chainreactors/fingers@v1.2.1/fingerprinthub/sanitize_template_tinygo.go (about)

     1  //go:build tinygo
     2  // +build tinygo
     3  
     4  package fingerprinthub
     5  
     6  import "strings"
     7  
     8  func sanitizeTemplateForTinyGo(rawTemplate map[string]interface{}) {
     9  	sanitizeTemplateValue(rawTemplate)
    10  }
    11  
    12  func sanitizeTemplateValue(v interface{}) interface{} {
    13  	switch value := v.(type) {
    14  	case map[string]interface{}:
    15  		for k, item := range value {
    16  			value[k] = sanitizeTemplateValue(item)
    17  		}
    18  		return value
    19  	case []interface{}:
    20  		for i, item := range value {
    21  			value[i] = sanitizeTemplateValue(item)
    22  		}
    23  		return value
    24  	case string:
    25  		return strings.TrimPrefix(value, "(?x)")
    26  	default:
    27  		return value
    28  	}
    29  }