From e4b414d320e2f77bbe07719484822cea855a57b6 Mon Sep 17 00:00:00 2001
From: Joseph LaFreniere <joseph@lafreniere.xyz>
Date: Sun, 26 Jul 2020 23:42:48 -0500
Subject: [PATCH 05/15] gnu: Add go-gopkg-in-go-playground-validator-v9.
* gnu/packages/golang.scm (go-gopkg-in-go-playground-validator-v9): New variable.
---
gnu/packages/golang.scm | 48 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
@@ -625,6 +625,54 @@ professionally translated
@end itemize")
(license license:expat)))
+(define-public go-gopkg-in-go-playground-validator-v9
+ (package
+ (name "go-gopkg-in-go-playground-validator-v9")
+ (version "9.31.0")
+ (home-page "https://gopkg.in/go-playground/validator.v9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-playground/validator")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1f8c77s8kx9rip2jarv27x5s4xkcmanh4ndyhbcwvrhncs5rq061"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "gopkg.in/go-playground/validator.v9"))
+ (inputs
+ `(("go-gopkg-in-go-playground-assert-v1"
+ ,go-gopkg-in-go-playground-assert-v1)
+ ("go-github-com-go-playground-locales"
+ ,go-github-com-go-playground-locales)
+ ("go-github-com-go-playground-universal-translator"
+ ,go-github-com-go-playground-universal-translator)
+ ("go-github-com-leodido-go-urn" ,go-github-com-leodido-go-urn)))
+ (synopsis "Validator for structs and individual fields based on tags")
+ (description
+ "This package implements value validations for structs and individual
+fields based on tags. It has the following unique features:
+
+@itemize
+@item Cross Field and Cross Struct validations by using validation tags or custom validators
+@item Slice, Array and Map diving, which allows any or all levels of a multidimensional field to be validated
+@item Ability to dive into both map keys and values for validation
+@item Handles type interface by determining it's underlying type prior to validation
+@item Handles custom field types such as sql driver
+@uref{https://golang.org/src/database/sql/driver/types.go?s=1210:1293#L29,
+Valuer}
+@item Alias validation tags, which allows for mapping of several validations
+to a single tag for easier defining of validations on structs
+@item Extraction of custom defined Field Name e.g. can specify to extract the
+JSON name while validating and have it available in the resulting FieldError
+@item Customizable i18n aware error messages.
+@item Default validator for the @uref{https://github.com/gin-gonic/gin, gin}
+web framework
+@end itemize")
+ (license license:expat)))
+
(define-public go-gopkg.in-tomb.v2
(let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c")
(revision "0"))
--
2.29.2