validace a casttype při Expect::from(new class)

schaabez
Člen | 1
+
0
-

Zdravím,
mám situaci kdy potřebuju zkontrolovat strukturu dat dle definované třídy a následně k tomu udělat cast type.

Dá se tato operace udělat najednou přes Schema\Expect::from() ?
Mám schema například:

$schema = Expect::from(new class { public int $id; });
$data = [ 'id' => '1' ];

ale to chápu že mi správně vyhodí Nette\Schema\ValidationException The item 'id' expects to be int, '1' given..
Když tedy povolím i string přes:

$schema = Expect::from(new class { public int|string $id; });

tak mi to ve finále zůstane jako string.
Dá se to udělat jinak než přes?

Expect::from(new class { public int|string $id; }, ['id' => Expect::scalar()->castTo('int')]);

Děkuji.