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:----fGMXJpeG45RD0iWOtWGi46HKzMDCVr4g+jj8CUN2fuCDFYsaQGzpmAncc+R1zvG0qozTGpZU3QAH8ERnW94+7kgrfzwRBW6no8GttsoeVOmd3dNh3FfT1ne4XoeLi5Qda502SbDnherdSpbj3uhvKNLJSft6uk9n15u8pThcZXF4pjNZCOUYoYgrQr1kdLZ2pk/kOKd6te7XSQBeb5v73tWO9XVnVTwcKyHPZAcRhmrUHoGfjywXLWPVjXAlwC9WX8sbl8Ai6hst3OlV437V91GqPKQoJSJGVFIQjwRP1LYsCx8iblytpfJsPHsFZ18pWuQoXgagvQsqVf3+U/wJSfJrVP09B8xk/QJ7Y2BkE7AFHOp2bfgYGzXSl1Jkl46386wAA1IpgEdRQ2FJMkcc3wBQ0q0ooI7vxkiXKrR34PuS8R+tPQ5R2hpDWzsH11paAsoKWlSlRnVTw8QOm7c2M+Qd9a6N9rkReo01IhuTNX9DF65odmGahr0ZvVjJoZlQEWIOX72EgdqulbwmsW5xkzFNZrA5hfk55IlaOLZjPanpm9JJmN7zFOM0fZSyxbFqoo2zMqJqOxfJKkquGXzM9ljflf/rMu6Yb00mMlA1NGLZkSvpA0RmNQMmtnIP5/o0wy1q9sqTQ0qkd/miVplzBN5bpl3tPzDyXSnIq1G/nBs=----ATTACHMENT:----NDE0Njk0ODk2MzgzMzk0MiA1NDUzNzg0MTk3NDE2MjI1IDYxNzc1MDQ2NTI2ODE4Nzg=