Pudu programming language
Menu
Package

@chrismichaelps / pudu-lang-validator

Typed fluent validation rules for Pudu

0.1.1Apache-2.01

InstallClose

Http.pudu

Pudu26 lines916 B

GitHub ↗
1/** @Validation.Http.Adapter — maps failures into Pudu problems */2module PuduLangValidator.Http34import Std.App.Problem as Problem5import Std.Http as Http6import Std.Validate as Validate7import PuduLangValidator.Result as Validation89/// Convert ordered validator failures to Pudu's standard form report.10export fn toReport(result: &Validation.ValidationResult) -> Validate.Report {11  Validate.Report{failures: result.errors.map(|failure: Validation.Failure| Validate.Failure {12        field: failure.propertyName,13        expected: failure.errorMessage14      }) }15}1617/// Build a validation problem from a failed result.18export fn problem(result: &Validation.ValidationResult) -> Problem.Problem {19  Problem.fromReport(&toReport(result))20}2122/// Answer an HTTP validation problem for a failed result.23export fn respond(result: &Validation.ValidationResult) -> Http.Response {24  Problem.respond(&problem(result))25}26