package main import ( "errors" "unicode/utf8" ) // Datatype_String is basically the default type for // boltbrowser (and the boltease library) type Datatype_String struct{} func (t *Datatype_String) Name() string { return "string" } func (t *Datatype_String) ToString(data []byte) (string, error) { if utf8.Valid(data) { ok := true for _, r := range string(data) { if r < 0x20 { ok = false break } else if r >= 0x7f && r <= 0x9f { ok = false break } } if ok { return string(data), nil } } return "", errors.New("Invalid String Data") } func (t *Datatype_String) FromString(val string) ([]byte, error) { return []byte(val), nil }