Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 7 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 1 |
SchemaWrapper | |
0.00% |
0 / 7 |
|
0.00% |
0 / 2 |
6 | |
0.00% |
0 / 1 |
__construct | |
0.00% |
0 / 2 |
|
0.00% |
0 / 1 |
2 | |||
validate | |
0.00% |
0 / 5 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | /** |
3 | * WikiLambda class wrapping a schema validator |
4 | * |
5 | * @file |
6 | * @copyright 2020– Abstract Wikipedia team; see AUTHORS.txt |
7 | * @license MIT |
8 | */ |
9 | |
10 | namespace MediaWiki\Extension\WikiLambda\Validation; |
11 | |
12 | use Opis\JsonSchema\ISchema; |
13 | use Opis\JsonSchema\ValidationResult; |
14 | use Opis\JsonSchema\Validator; |
15 | |
16 | class SchemaWrapper { |
17 | /** |
18 | * @var ISchema |
19 | */ |
20 | private $schema; |
21 | |
22 | /** |
23 | * @var Validator |
24 | */ |
25 | private $validator; |
26 | |
27 | /** |
28 | * @param ISchema $schema |
29 | * @param Validator $validator |
30 | */ |
31 | public function __construct( ISchema $schema, Validator $validator ) { |
32 | $this->schema = $schema; |
33 | $this->validator = $validator; |
34 | } |
35 | |
36 | /** |
37 | * @param mixed $maybeValid JSON array-like object to validate |
38 | * @param int $maxErrors |
39 | * @return ValidationResult |
40 | */ |
41 | public function validate( $maybeValid, $maxErrors = 1 ): ValidationResult { |
42 | return $this->validator->schemaValidation( |
43 | $maybeValid, |
44 | $this->schema, |
45 | $maxErrors |
46 | ); |
47 | } |
48 | } |