oid.go 651 B

12345678910111213141516171819202122232425
  1. // Copyright 2020 The Gogs Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package lfsutil
  5. import (
  6. "github.com/pkg/errors"
  7. "gogs.io/gogs/internal/lazyregexp"
  8. )
  9. // OID is an LFS object ID.
  10. type OID string
  11. // An OID is a 64-char lower case hexadecimal, produced by SHA256.
  12. // Spec: https://github.com/git-lfs/git-lfs/blob/master/docs/spec.md
  13. var oidRe = lazyregexp.New("^[a-f0-9]{64}$")
  14. var ErrInvalidOID = errors.New("OID is not valid")
  15. // ValidOID returns true if given oid is valid.
  16. func ValidOID(oid OID) bool {
  17. return oidRe.MatchString(string(oid))
  18. }