func newDigestFromScopedPath()

in experimental/digest.go [36:54]


func newDigestFromScopedPath(components []string) (d digest, err error) {
	if len(components) != 3 {
		return digest{}, fmt.Errorf("digest components should contain exactly three items: %v", components)
	}

	if components[0] != digestAlgorithm {
		return digest{}, fmt.Errorf("only %v is supported: %v", digestAlgorithm, components[0])
	}

	if components[1] != components[2][0:2] {
		return digest{}, fmt.Errorf("digest needs to be prefixed with %v: %v", components[2][0:2], components)
	}

	err = d.decode([]byte(components[2]))
	if err != nil {
		return
	}
	return
}