From e4b414d320e2f77bbe07719484822cea855a57b6 Mon Sep 17 00:00:00 2001 From: Joseph LaFreniere 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(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 6742404f3f..32605fbc65 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -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