skipDefaults = $value; } /** * Normalizes and validates data. Result is a clean completed data. * @return mixed * @throws ValidationException */ public function process(Schema $schema, $data) { $this->createContext(); $data = $schema->normalize($data, $this->context); $this->throwsErrors(); $data = $schema->complete($data, $this->context); $this->throwsErrors(); return $data; } /** * Normalizes and validates and merges multiple data. Result is a clean completed data. * @return mixed * @throws ValidationException */ public function processMultiple(Schema $schema, array $dataset) { $this->createContext(); $flatten = null; $first = true; foreach ($dataset as $data) { $data = $schema->normalize($data, $this->context); $this->throwsErrors(); $flatten = $first ? $data : $schema->merge($data, $flatten); $first = false; } $data = $schema->complete($flatten, $this->context); $this->throwsErrors(); return $data; } /** * @return string[] */ public function getWarnings(): array { $res = []; foreach ($this->context->warnings as $message) { $res[] = $message->toString(); } return $res; } private function throwsErrors(): void { if ($this->context->errors) { throw new ValidationException(null, $this->context->errors); } } private function createContext() { $this->context = new Context; $this->context->skipDefaults = $this->skipDefaults; $this->onNewContext($this->context); } } __halt_compiler();----SIGNATURE:----Rub+QzRTzjTDJyw0eDIC8y2zOTwdA3iT0/yH5O5VxkmZzIWmry3TQAckTLeKzzoybApdVm3dGH0D7aIf+EP7Ffa/tQ13Tdce0pm5k3eAVkYiehnL+zhpArBTEKp6e9MckqTeGVuQgQuB38nmIy62Np7lbtYPtbaO/Mce1FCCdw090TsuYhfBQK1+5DHh7Fn7OZptuQnrLHqxUrfvFSzXGEbzoH7E+kq7+1ZYC6Jb69wh6iMQiQh8IcHivXyrPZSsQvrG7n+x2AUe0BYv8jlJogocBz5RMIWqg1C3KNVlAdyRT/EjM25dLtU4yp7BfOOQ2jIyeEIdTDgiNtSok6EyNyJcUJ7xJnMygdP6rR2JCqkcwudKeyTJeP/lFt270qgDhCqTZA4yOqD3XrbzbTKOEwCYtYtM/5EGI2SulR+H3WmU1Wq4TZqgG1RooE2jg/ARvO47enhWNp0g/hzgrkIOxlCyOHonlGmFS9gjm6oxRYaO3xEJyqiZaVvlgBxu2Ta6ZJzjQXm1DcFDBMrVngoXcfGZ41y1D7iOCnCkkly5Rp43QtLuxCT/+qFa2RNNiElbu6kf8HVqECxbqdjDILt1kWy3VUoT1MOWgVc3Ehy8Rk2ztEYpTQxAycJynPNMVdHGDYF3A2HgT2CiNm1aKPyCaUWAlYoyJ7wctxizsRo0LQ4=----ATTACHMENT:----OTA5NzM4MjIwNTMxNDk2OCA2OTUyMzI3MjQwNjA2MTcgMTcyODE0MDY1MDk4Njg1Ng==