func toQLDBHash()

in qldbdriver/qldbhash.go [29:47]


func toQLDBHash(value interface{}) (*qldbHash, error) {
	ionValue, err := ion.MarshalBinary(value)
	if err != nil {
		return nil, err
	}
	ionReader := ion.NewReaderBytes(ionValue)
	hashReader, err := ionhash.NewHashReader(ionReader, ionhash.NewCryptoHasherProvider(ionhash.SHA256))
	if err != nil {
		return nil, err
	}
	for hashReader.Next() {
		// Read over value
	}
	hash, err := hashReader.Sum(nil)
	if err != nil {
		return nil, err
	}
	return &qldbHash{hash}, nil
}