From cff9af9aca86e6ddb4dd53c8c465704a92c73587 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Wed, 13 Mar 2024 12:53:33 -0300 Subject: [PATCH] nip54: normalize identifier. --- nip54/nip54.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 nip54/nip54.go diff --git a/nip54/nip54.go b/nip54/nip54.go new file mode 100644 index 0000000..4b06f14 --- /dev/null +++ b/nip54/nip54.go @@ -0,0 +1,17 @@ +package nip54 + +import ( + "regexp" + "strings" + + "golang.org/x/text/transform" + "golang.org/x/text/unicode/norm" +) + +var nonLetter = regexp.MustCompile(`\W`) + +func NormalizeIdentifier(name string) string { + res, _, _ := transform.Bytes(norm.NFKC, []byte(name)) + str := nonLetter.ReplaceAllString(string(res), "-") + return strings.ToLower(str) +}