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 }