func HashDatum(pipelineName string, pipelineSalt string, data []*Input) string {
	hash := sha256.New()
	for _, datum := range data {
		hash.Write([]byte(datum.Name))
		hash.Write([]byte(datum.FileInfo.File.Path))
		hash.Write(datum.FileInfo.Hash)
	}

	hash.Write([]byte(pipelineName))
	hash.Write([]byte(pipelineSalt))

	return client.DatumTagPrefix(pipelineSalt) + hex.EncodeToString(hash.Sum(nil))
}
func HashDatum(pipelineName string, pipelineSalt string, data []*Input) string {
	hash := sha256.New()
	for _, datum := range data {
		hash.Write([]byte(datum.Name))
		hash.Write([]byte(datum.FileInfo.File.Path))
		hash.Write(datum.FileInfo.Hash)
	}

	hash.Write([]byte(pipelineName))
	hash.Write([]byte(pipelineSalt))

	return client.DatumTagPrefix(pipelineSalt) + hex.EncodeToString(hash.Sum(nil))
}
func HashDatum ( pipelineName string , pipelineSalt string , data [ ] * Input ) string { hash := sha256 . New ( ) for _ , datum := range data { hash . Write ( [ ] byte ( datum . Name ) ) hash . Write ( [ ] byte ( datum . FileInfo . File . Path ) ) hash . Write ( datum . FileInfo . Hash ) } hash . Write ( [ ] byte ( pipelineName ) ) hash . Write ( [ ] byte ( pipelineSalt ) ) return client . DatumTagPrefix ( pipelineSalt ) + hex . EncodeToString ( hash . Sum ( nil ) ) }
// HashDatum computes and returns the hash of datum + pipeline, with a
// pipeline-specific prefix.
HashDatum computes and returns the hash of datum + pipeline with a pipeline - specific prefix .