github.com/aarzilli/tools@v0.0.0-20151123112009-0d27094f75e0/text/levenshtein/rune/type-specific.go (about)

     1  // Package levenshtein/rune tokenizes on utf8 "codepoint" level.
     2  package rune
     3  
     4  import ls_core "github.com/pbberlin/tools/text/levenshtein"
     5  
     6  type Token rune
     7  
     8  func (tk1 Token) Equal(compareTo interface{}) bool {
     9  	tk2, ok := compareTo.(Token)
    10  	if !ok {
    11  		panic("Not the same type")
    12  	}
    13  	return tk1 == tk2
    14  }
    15  
    16  // WrapAsEqualer wraps slice of tokens into interface type Equaler.
    17  // Since our core implementation requires such slices.
    18  func WrapAsEqualer(sl1 []Token) []ls_core.Equaler {
    19  	var ret []ls_core.Equaler
    20  	for _, v := range sl1 {
    21  		cnv := ls_core.Equaler(v)
    22  		ret = append(ret, cnv)
    23  	}
    24  	return ret
    25  }