Classes

Line coverage against cyclomatic complexity. Bubble size is the number of executable lines; hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 10 20 30 40 50 Line Coverage (%) Cyclomatic Complexity Lucent\Validation\FieldContext — Coverage: 97.4% | Lines: 77 | Complexity: 35 Lucent\Validation\Result — Coverage: 98.5% | Lines: 68 | Complexity: 45 Lucent\Validation\Combinators\Shape — Coverage: 100.0% | Lines: 38 | Complexity: 23 Lucent\Validation\Combinators\One — Coverage: 100.0% | Lines: 29 | Complexity: 12 Lucent\Validation\Constraints\Enum — Coverage: 100.0% | Lines: 26 | Complexity: 14 Lucent\Validation\Combinators\AllOrNothing — Coverage: 100.0% | Lines: 24 | Complexity: 11 Lucent\Validation\Validator — Coverage: 100.0% | Lines: 19 | Complexity: 5 Lucent\Validation\Constraints\Boolean — Coverage: 100.0% | Lines: 19 | Complexity: 10 Lucent\Validation\Constraints\Matches — Coverage: 100.0% | Lines: 19 | Complexity: 12 Lucent\Validation\Combinators\Each — Coverage: 100.0% | Lines: 18 | Complexity: 12 Lucent\Validation\Constraints\Range — Coverage: 100.0% | Lines: 16 | Complexity: 20 Lucent\Validation\Combinators\Any — Coverage: 100.0% | Lines: 15 | Complexity: 8 Lucent\Validation\Combinators\None — Coverage: 100.0% | Lines: 15 | Complexity: 8 Lucent\Validation\Constraints\Length — Coverage: 64.3% | Lines: 14 | Complexity: 21 Lucent\Validation\Constraints\Date — Coverage: 92.3% | Lines: 13 | Complexity: 7 Lucent\Validation\Combinators\Optional — Coverage: 100.0% | Lines: 11 | Complexity: 9 Lucent\Validation\Constraints\Distinct — Coverage: 100.0% | Lines: 10 | Complexity: 5 Lucent\Validation\Constraints\NotIn — Coverage: 100.0% | Lines: 10 | Complexity: 13 Lucent\Validation\Constraint — Coverage: 100.0% | Lines: 8 | Complexity: 4 Lucent\Validation\Combinators\All — Coverage: 100.0% | Lines: 7 | Complexity: 5 Lucent\Validation\Constraints\Numeric — Coverage: 85.7% | Lines: 7 | Complexity: 6 Lucent\Validation\Constraints\Required — Coverage: 85.7% | Lines: 7 | Complexity: 6 Lucent\Validation\Constraints\Unique — Coverage: 100.0% | Lines: 6 | Complexity: 6 Lucent\Validation\Constraints\Uri — Coverage: 100.0% | Lines: 6 | Complexity: 5 Lucent\Validation\Constraints\Ip — Coverage: 100.0% | Lines: 4 | Complexity: 4 Lucent\Validation\NormalizeConstraint — Coverage: 100.0% | Lines: 3 | Complexity: 2 Lucent\Validation\Constraints\Email — Coverage: 100.0% | Lines: 3 | Complexity: 3 Lucent\Validation\Constraints\SameAs — Coverage: 100.0% | Lines: 3 | Complexity: 3 Lucent\Validation\Constraints\UploadedFile — Coverage: 100.0% | Lines: 3 | Complexity: 3 Lucent\Validation\Constraints\Uuid — Coverage: 100.0% | Lines: 3 | Complexity: 4 Lucent\Validation\Normalizers\Trim — Coverage: 100.0% | Lines: 3 | Complexity: 2 Lucent\Validation\Constraints\Integer — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Number — Coverage: 100.0% | Lines: 2 | Complexity: 3 Lucent\Validation\Constraints\Present — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Str — Coverage: 100.0% | Lines: 2 | Complexity: 2

Sorted by descending CRAP index.

Class CRAP Coverage
Lucent\Validation\Result4598.5%
Lucent\Validation\Constraints\Length41.0964.3%
Lucent\Validation\FieldContext3597.4%
Lucent\Validation\Combinators\Shape23100.0%
Lucent\Validation\Constraints\Range20100.0%
Lucent\Validation\Constraints\Enum14100.0%
Lucent\Validation\Constraints\NotIn13100.0%
Lucent\Validation\Combinators\Each12100.0%
Lucent\Validation\Combinators\One12100.0%
Lucent\Validation\Constraints\Matches12100.0%
Lucent\Validation\Combinators\AllOrNothing11100.0%
Lucent\Validation\Constraints\Boolean10100.0%
Lucent\Validation\Combinators\Optional9100.0%
Lucent\Validation\Combinators\Any8100.0%
Lucent\Validation\Combinators\None8100.0%
Lucent\Validation\Constraints\Date7.0292.3%
Lucent\Validation\Constraints\Numeric6.1085.7%
Lucent\Validation\Constraints\Required6.1085.7%
Lucent\Validation\Constraints\Unique6100.0%
Lucent\Validation\Validator5100.0%
Lucent\Validation\Combinators\All5100.0%
Lucent\Validation\Constraints\Distinct5100.0%
Lucent\Validation\Constraints\Uri5100.0%
Lucent\Validation\Constraint4100.0%
Lucent\Validation\Constraints\Ip4100.0%
Lucent\Validation\Constraints\Uuid4100.0%
Lucent\Validation\Constraints\Email3100.0%
Lucent\Validation\Constraints\Number3100.0%
Lucent\Validation\Constraints\SameAs3100.0%
Lucent\Validation\Constraints\UploadedFile3100.0%
Lucent\Validation\NormalizeConstraint2100.0%
Lucent\Validation\Constraints\Integer2100.0%
Lucent\Validation\Constraints\Present2100.0%
Lucent\Validation\Constraints\Str2100.0%
Lucent\Validation\Normalizers\Trim2100.0%

Methods

Line coverage against cyclomatic complexity. Bubble size is the number of executable lines; hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 5 10 15 Line Coverage (%) Cyclomatic Complexity Lucent\Validation\Combinators\One::validate — Coverage: 100.0% | Lines: 26 | Complexity: 9 Lucent\Validation\Combinators\AllOrNothing::validate — Coverage: 100.0% | Lines: 19 | Complexity: 7 Lucent\Validation\Constraints\Boolean::validate — Coverage: 100.0% | Lines: 18 | Complexity: 9 Lucent\Validation\Result::setSegments — Coverage: 100.0% | Lines: 15 | Complexity: 6 Lucent\Validation\FieldContext::child — Coverage: 100.0% | Lines: 14 | Complexity: 2 Lucent\Validation\FieldContext::withResult — Coverage: 100.0% | Lines: 12 | Complexity: 1 Lucent\Validation\Validator::validate — Coverage: 100.0% | Lines: 12 | Complexity: 1 Lucent\Validation\Combinators\Any::validate — Coverage: 100.0% | Lines: 12 | Complexity: 5 Lucent\Validation\Combinators\Each::validate — Coverage: 100.0% | Lines: 12 | Complexity: 6 Lucent\Validation\Constraints\Date::validate — Coverage: 90.9% | Lines: 11 | Complexity: 5 Lucent\Validation\Constraints\Range::validate — Coverage: 100.0% | Lines: 11 | Complexity: 11 Lucent\Validation\FieldContext::context — Coverage: 80.0% | Lines: 10 | Complexity: 10 Lucent\Validation\FieldContext::requireContext — Coverage: 100.0% | Lines: 10 | Complexity: 4 Lucent\Validation\Result::valueAs — Coverage: 100.0% | Lines: 10 | Complexity: 10 Lucent\Validation\Result::requireValueAs — Coverage: 100.0% | Lines: 10 | Complexity: 4 Lucent\Validation\Combinators\None::validate — Coverage: 100.0% | Lines: 10 | Complexity: 4 Lucent\Validation\Combinators\Shape::validateTuple — Coverage: 100.0% | Lines: 9 | Complexity: 5 Lucent\Validation\Combinators\Shape::validateObject — Coverage: 100.0% | Lines: 9 | Complexity: 5 Lucent\Validation\Constraints\Distinct::validate — Coverage: 100.0% | Lines: 9 | Complexity: 4 Lucent\Validation\Constraints\Enum::validate — Coverage: 100.0% | Lines: 9 | Complexity: 3 Lucent\Validation\FieldContext::valueOf — Coverage: 100.0% | Lines: 8 | Complexity: 4 Lucent\Validation\Constraints\Enum::resolveCase — Coverage: 100.0% | Lines: 8 | Complexity: 5 Lucent\Validation\Constraints\Length::validate — Coverage: 62.5% | Lines: 8 | Complexity: 10 Lucent\Validation\Result::ensureContainer — Coverage: 100.0% | Lines: 7 | Complexity: 4 Lucent\Validation\Result::mergeValues — Coverage: 85.7% | Lines: 7 | Complexity: 5 Lucent\Validation\Validator::__construct — Coverage: 100.0% | Lines: 7 | Complexity: 4 Lucent\Validation\Combinators\Shape::validate — Coverage: 100.0% | Lines: 7 | Complexity: 3 Lucent\Validation\Constraints\NotIn::stringify — Coverage: 100.0% | Lines: 7 | Complexity: 10 Lucent\Validation\Constraint::message — Coverage: 100.0% | Lines: 6 | Complexity: 3 Lucent\Validation\FieldContext::resolveSibling — Coverage: 100.0% | Lines: 6 | Complexity: 3 Lucent\Validation\Combinators\Optional::validate — Coverage: 100.0% | Lines: 6 | Complexity: 3 Lucent\Validation\Constraints\Enum::allowedValues — Coverage: 100.0% | Lines: 6 | Complexity: 3 Lucent\Validation\Constraints\Matches::safePattern — Coverage: 100.0% | Lines: 6 | Complexity: 3 Lucent\Validation\Constraints\Numeric::validate — Coverage: 83.3% | Lines: 6 | Complexity: 5 Lucent\Validation\Constraints\Required::validate — Coverage: 83.3% | Lines: 6 | Complexity: 5 Lucent\Validation\Result::merge — Coverage: 100.0% | Lines: 5 | Complexity: 3 Lucent\Validation\Combinators\All::validate — Coverage: 100.0% | Lines: 5 | Complexity: 3 Lucent\Validation\Combinators\Each::defaultMessage — Coverage: 100.0% | Lines: 5 | Complexity: 5 Lucent\Validation\Combinators\Shape::defaultMessage — Coverage: 100.0% | Lines: 5 | Complexity: 3 Lucent\Validation\Combinators\Shape::normalizeValue — Coverage: 100.0% | Lines: 5 | Complexity: 4 Lucent\Validation\FieldContext::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 2 Lucent\Validation\FieldContext::branch — Coverage: 100.0% | Lines: 4 | Complexity: 1 Lucent\Validation\FieldContext::file — Coverage: 100.0% | Lines: 4 | Complexity: 4 Lucent\Validation\Result::value — Coverage: 100.0% | Lines: 4 | Complexity: 3 Lucent\Validation\Constraints\Unique::validate — Coverage: 100.0% | Lines: 4 | Complexity: 4 Lucent\Validation\Constraints\Uri::validate — Coverage: 100.0% | Lines: 4 | Complexity: 3 Lucent\Validation\FieldContext::seedRaw — Coverage: 100.0% | Lines: 3 | Complexity: 3 Lucent\Validation\Combinators\AllOrNothing::defaultMessage — Coverage: 100.0% | Lines: 3 | Complexity: 2 Lucent\Validation\Combinators\None::defaultMessage — Coverage: 100.0% | Lines: 3 | Complexity: 2 Lucent\Validation\Combinators\Optional::isEmpty — Coverage: 100.0% | Lines: 3 | Complexity: 4 Lucent\Validation\Constraints\Length::defaultMessage — Coverage: 66.7% | Lines: 3 | Complexity: 6 Lucent\Validation\Constraints\Range::defaultMessage — Coverage: 100.0% | Lines: 3 | Complexity: 6 Lucent\Validation\Normalizers\Trim::normalize — Coverage: 100.0% | Lines: 3 | Complexity: 2 Lucent\Validation\Constraint::withMessage — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\FieldContext::normalize — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\NormalizeConstraint::validate — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Result::addError — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Email::validate — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Enum::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Ip::validate — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\Constraints\Length::__construct — Coverage: 50.0% | Lines: 2 | Complexity: 3 Lucent\Validation\Constraints\Matches::mobile — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Matches::password — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Matches::alpha — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Matches::alphanumeric — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Matches::hexColor — Coverage: 100.0% | Lines: 2 | Complexity: 1 Lucent\Validation\Constraints\Range::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 3 Lucent\Validation\Constraints\UploadedFile::validate — Coverage: 100.0% | Lines: 2 | Complexity: 2 Lucent\Validation\NormalizeConstraint::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Result::set — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Result::errors — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Result::snapshotErrors — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Result::restoreErrors — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Result::hasErrors — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Result::values — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Result::hasValue — Coverage: 100.0% | Lines: 1 | Complexity: 2 Lucent\Validation\Result::tryValue — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\All::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\All::of — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\AllOrNothing::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\AllOrNothing::of — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\Any::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\Any::of — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\Any::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\Each::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\None::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\None::of — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\One::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\One::of — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\One::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\Optional::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\Optional::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\Shape::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\Shape::object — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Combinators\Shape::tuple — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Boolean::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Date::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Date::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Distinct::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Email::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Enum::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Integer::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Integer::validate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Ip::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Ip::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Length::unit — Coverage: 100.0% | Lines: 1 | Complexity: 2 Lucent\Validation\Constraints\Matches::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Matches::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Matches::validate — Coverage: 100.0% | Lines: 1 | Complexity: 2 Lucent\Validation\Constraints\NotIn::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\NotIn::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\NotIn::validate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Number::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Number::validate — Coverage: 100.0% | Lines: 1 | Complexity: 2 Lucent\Validation\Constraints\Numeric::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Present::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Present::validate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Required::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\SameAs::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\SameAs::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\SameAs::validate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Str::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Str::validate — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Unique::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Unique::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\UploadedFile::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Uri::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Uri::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Uuid::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Uuid::defaultMessage — Coverage: 100.0% | Lines: 1 | Complexity: 1 Lucent\Validation\Constraints\Uuid::validate — Coverage: 100.0% | Lines: 1 | Complexity: 2

Sorted by descending CRAP index.

Method CRAP Coverage
Lucent\Validation\Constraints\Length::validate15.2762.5%
Lucent\Validation\Constraints\Range::validate11100.0%
Lucent\Validation\FieldContext::context10.8080.0%
Lucent\Validation\Result::valueAs10100.0%
Lucent\Validation\Constraints\NotIn::stringify10100.0%
Lucent\Validation\Combinators\One::validate9100.0%
Lucent\Validation\Constraints\Boolean::validate9100.0%
Lucent\Validation\Constraints\Length::defaultMessage7.3366.7%
Lucent\Validation\Combinators\AllOrNothing::validate7100.0%
Lucent\Validation\Result::setSegments6100.0%
Lucent\Validation\Combinators\Each::validate6100.0%
Lucent\Validation\Constraints\Range::defaultMessage6100.0%
Lucent\Validation\Constraints\Numeric::validate5.1283.3%
Lucent\Validation\Constraints\Required::validate5.1283.3%
Lucent\Validation\Result::mergeValues5.0785.7%
Lucent\Validation\Constraints\Date::validate5.0290.9%
Lucent\Validation\Combinators\Any::validate5100.0%
Lucent\Validation\Combinators\Each::defaultMessage5100.0%
Lucent\Validation\Combinators\Shape::validateTuple5100.0%
Lucent\Validation\Combinators\Shape::validateObject5100.0%
Lucent\Validation\Constraints\Enum::resolveCase5100.0%
Lucent\Validation\Constraints\Length::__construct4.1250.0%
Lucent\Validation\FieldContext::requireContext4100.0%
Lucent\Validation\FieldContext::file4100.0%
Lucent\Validation\FieldContext::valueOf4100.0%
Lucent\Validation\Result::ensureContainer4100.0%
Lucent\Validation\Result::requireValueAs4100.0%
Lucent\Validation\Validator::__construct4100.0%
Lucent\Validation\Combinators\None::validate4100.0%
Lucent\Validation\Combinators\Optional::isEmpty4100.0%
Lucent\Validation\Combinators\Shape::normalizeValue4100.0%
Lucent\Validation\Constraints\Distinct::validate4100.0%
Lucent\Validation\Constraints\Unique::validate4100.0%
Lucent\Validation\Constraint::message3100.0%
Lucent\Validation\FieldContext::seedRaw3100.0%
Lucent\Validation\FieldContext::resolveSibling3100.0%
Lucent\Validation\Result::merge3100.0%
Lucent\Validation\Result::value3100.0%
Lucent\Validation\Combinators\All::validate3100.0%
Lucent\Validation\Combinators\Optional::validate3100.0%
Lucent\Validation\Combinators\Shape::defaultMessage3100.0%
Lucent\Validation\Combinators\Shape::validate3100.0%
Lucent\Validation\Constraints\Enum::validate3100.0%
Lucent\Validation\Constraints\Enum::allowedValues3100.0%
Lucent\Validation\Constraints\Matches::safePattern3100.0%
Lucent\Validation\Constraints\Range::__construct3100.0%
Lucent\Validation\Constraints\Uri::validate3100.0%
Lucent\Validation\FieldContext::__construct2100.0%
Lucent\Validation\FieldContext::child2100.0%
Lucent\Validation\Result::hasValue2100.0%
Lucent\Validation\Combinators\AllOrNothing::defaultMessage2100.0%
Lucent\Validation\Combinators\None::defaultMessage2100.0%
Lucent\Validation\Constraints\Email::validate2100.0%
Lucent\Validation\Constraints\Enum::__construct2100.0%
Lucent\Validation\Constraints\Ip::validate2100.0%
Lucent\Validation\Constraints\Length::unit2100.0%
Lucent\Validation\Constraints\Matches::validate2100.0%
Lucent\Validation\Constraints\Number::validate2100.0%
Lucent\Validation\Constraints\UploadedFile::validate2100.0%
Lucent\Validation\Constraints\Uuid::validate2100.0%
Lucent\Validation\Normalizers\Trim::normalize2100.0%
Lucent\Validation\Constraint::withMessage1100.0%
Lucent\Validation\FieldContext::branch1100.0%
Lucent\Validation\FieldContext::withResult1100.0%
Lucent\Validation\FieldContext::normalize1100.0%
Lucent\Validation\NormalizeConstraint::defaultMessage1100.0%
Lucent\Validation\NormalizeConstraint::validate1100.0%
Lucent\Validation\Result::addError1100.0%
Lucent\Validation\Result::set1100.0%
Lucent\Validation\Result::errors1100.0%
Lucent\Validation\Result::snapshotErrors1100.0%
Lucent\Validation\Result::restoreErrors1100.0%
Lucent\Validation\Result::hasErrors1100.0%
Lucent\Validation\Result::values1100.0%
Lucent\Validation\Result::tryValue1100.0%
Lucent\Validation\Validator::validate1100.0%
Lucent\Validation\Combinators\All::__construct1100.0%
Lucent\Validation\Combinators\All::of1100.0%
Lucent\Validation\Combinators\AllOrNothing::__construct1100.0%
Lucent\Validation\Combinators\AllOrNothing::of1100.0%
Lucent\Validation\Combinators\Any::__construct1100.0%
Lucent\Validation\Combinators\Any::of1100.0%
Lucent\Validation\Combinators\Any::defaultMessage1100.0%
Lucent\Validation\Combinators\Each::__construct1100.0%
Lucent\Validation\Combinators\None::__construct1100.0%
Lucent\Validation\Combinators\None::of1100.0%
Lucent\Validation\Combinators\One::__construct1100.0%
Lucent\Validation\Combinators\One::of1100.0%
Lucent\Validation\Combinators\One::defaultMessage1100.0%
Lucent\Validation\Combinators\Optional::__construct1100.0%
Lucent\Validation\Combinators\Optional::defaultMessage1100.0%
Lucent\Validation\Combinators\Shape::__construct1100.0%
Lucent\Validation\Combinators\Shape::object1100.0%
Lucent\Validation\Combinators\Shape::tuple1100.0%
Lucent\Validation\Constraints\Boolean::defaultMessage1100.0%
Lucent\Validation\Constraints\Date::__construct1100.0%
Lucent\Validation\Constraints\Date::defaultMessage1100.0%
Lucent\Validation\Constraints\Distinct::defaultMessage1100.0%
Lucent\Validation\Constraints\Email::defaultMessage1100.0%
Lucent\Validation\Constraints\Enum::defaultMessage1100.0%
Lucent\Validation\Constraints\Integer::defaultMessage1100.0%
Lucent\Validation\Constraints\Integer::validate1100.0%
Lucent\Validation\Constraints\Ip::__construct1100.0%
Lucent\Validation\Constraints\Ip::defaultMessage1100.0%
Lucent\Validation\Constraints\Matches::mobile1100.0%
Lucent\Validation\Constraints\Matches::password1100.0%
Lucent\Validation\Constraints\Matches::alpha1100.0%
Lucent\Validation\Constraints\Matches::alphanumeric1100.0%
Lucent\Validation\Constraints\Matches::hexColor1100.0%
Lucent\Validation\Constraints\Matches::__construct1100.0%
Lucent\Validation\Constraints\Matches::defaultMessage1100.0%
Lucent\Validation\Constraints\NotIn::__construct1100.0%
Lucent\Validation\Constraints\NotIn::defaultMessage1100.0%
Lucent\Validation\Constraints\NotIn::validate1100.0%
Lucent\Validation\Constraints\Number::defaultMessage1100.0%
Lucent\Validation\Constraints\Numeric::defaultMessage1100.0%
Lucent\Validation\Constraints\Present::defaultMessage1100.0%
Lucent\Validation\Constraints\Present::validate1100.0%
Lucent\Validation\Constraints\Required::defaultMessage1100.0%
Lucent\Validation\Constraints\SameAs::__construct1100.0%
Lucent\Validation\Constraints\SameAs::defaultMessage1100.0%
Lucent\Validation\Constraints\SameAs::validate1100.0%
Lucent\Validation\Constraints\Str::defaultMessage1100.0%
Lucent\Validation\Constraints\Str::validate1100.0%
Lucent\Validation\Constraints\Unique::__construct1100.0%
Lucent\Validation\Constraints\Unique::defaultMessage1100.0%
Lucent\Validation\Constraints\UploadedFile::defaultMessage1100.0%
Lucent\Validation\Constraints\Uri::__construct1100.0%
Lucent\Validation\Constraints\Uri::defaultMessage1100.0%
Lucent\Validation\Constraints\Uuid::__construct1100.0%
Lucent\Validation\Constraints\Uuid::defaultMessage1100.0%
Lucent\Validation\Constraint::defaultMessage0100.0%
Lucent\Validation\Constraint::validate0100.0%
Lucent\Validation\NormalizeConstraint::normalize0100.0%