func analyzeLinkSignature()

in experimental/links.go [21:47]


func analyzeLinkSignature(args []string) (digest, digest, error) {
	// sha256/8d0c94a38dfa0db8827089a036d47482aa30550510d62f8fb2021548f49b1c84/signatures/sha256/6b659c9f4d1ff9c422f7bc517a0e896bc7fadb99a00e5db4c9921ddf8b5d402c/link

	if len(args) != 6 {
		return digest{}, digest{}, fmt.Errorf("invalid args for signature link: %v", args)
	}

	if args[5] != "link" {
		return digest{}, digest{}, fmt.Errorf("expected link as path component: %v", args[2])
	}

	if args[2] != "signatures" {
		return digest{}, digest{}, fmt.Errorf("expected signatures as path component: %v", args[2])
	}

	link, err := newDigestFromPath(args[0:2])
	if err != nil {
		return digest{}, digest{}, err
	}

	signature, err := newDigestFromPath(args[3:5])
	if err != nil {
		return digest{}, digest{}, err
	}

	return link, signature, err
}