util.go 751 Bytes
Newer Older
Juan Batiz-Benet's avatar
key  
Juan Batiz-Benet committed
1
package util
Juan Batiz-Benet's avatar
util  
Juan Batiz-Benet committed
2 3 4

import (
	"fmt"
Juan Batiz-Benet's avatar
Juan Batiz-Benet committed
5
	mh "github.com/jbenet/go-multihash"
Juan Batiz-Benet's avatar
util  
Juan Batiz-Benet committed
6 7 8 9 10 11
	"os"
)

var Debug bool
var NotImplementedError = fmt.Errorf("Error: not implemented yet.")

Juan Batiz-Benet's avatar
key  
Juan Batiz-Benet committed
12 13 14
// a Key for maps. It's a string (rep of a multihash).
type Key string

Juan Batiz-Benet's avatar
Juan Batiz-Benet committed
15 16 17 18 19
// global hash function. uses multihash SHA2_256, 256 bits
func Hash(data []byte) (mh.Multihash, error) {
	return mh.Sum(data, mh.SHA2_256, -1)
}

Juan Batiz-Benet's avatar
util  
Juan Batiz-Benet committed
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
// Shorthand printing functions.
func PErr(format string, a ...interface{}) {
	fmt.Fprintf(os.Stderr, format, a...)
}

func POut(format string, a ...interface{}) {
	fmt.Fprintf(os.Stdout, format, a...)
}

func DErr(format string, a ...interface{}) {
	if Debug {
		PErr(format, a...)
	}
}

func DOut(format string, a ...interface{}) {
	if Debug {
		POut(format, a...)
	}
}