| @@ 21-26 (lines=6) @@ | ||
| 18 | 'storage' => [], | |
| 19 | ]; | |
| 20 | ||
| 21 |         if ($diff = array_diff(array_keys($options), array_keys($defaults))) { | |
| 22 | throw new \InvalidArgumentException(sprintf( | |
| 23 | 'Unexpected field option keys: "%s". Allowed keys: "%s"', | |
| 24 |                 implode('", "', $diff), implode('", "', array_keys($defaults)) | |
| 25 | )); | |
| 26 | } | |
| 27 | ||
| 28 | $options = array_merge($defaults, $options); | |
| 29 | ||
| @@ 49-54 (lines=6) @@ | ||
| 46 | ]; | |
| 47 | ||
| 48 |         foreach ($config['fields'] as $fieldName => $fieldConfig) { | |
| 49 |             if ($diff = array_diff(array_keys($fieldConfig), array_keys($defaults))) { | |
| 50 | throw new \InvalidArgumentException(sprintf( | |
| 51 | 'Invalid configuration key(s) "%s" for field "%s" on class "%s", valid keys: "%s"', | |
| 52 |                     implode('", "', $diff), $fieldName, $class->getName(), implode('", "', array_keys($defaults)) | |
| 53 | )); | |
| 54 | } | |
| 55 | ||
| 56 | $fieldConfig = array_merge($defaults, $fieldConfig); | |
| 57 | $propertyMetadata = new PropertyMetadata( | |