aboutsummaryrefslogtreecommitdiff
path: root/uuid.go
blob: 74fbb3919c8ae50c5a412c942eda0f41198c933f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package anki

import (
	"encoding/hex"
	"fmt"
	"strings"
)

type UUID [16]byte

func ParseUUID(s string) (UUID, error) {
	s = strings.Replace(s, "-", "", -1)
	x, err := hex.DecodeString(s)
	if err != nil {
		return UUID{}, err
	}
	var u UUID
	copy(u[:], x)
	return u, nil
}

func (u UUID) String() string {
	return fmt.Sprintf("%X-%X-%X-%X-%X", u[:4], u[4:6], u[6:8], u[8:10], u[10:])
}