* @link https://getkirby.com * @copyright Bastian Allgeier * @license https://getkirby.com/license */ class Nest { /** * @param $data * @param null $parent * @return mixed */ public static function create($data, $parent = null) { if (is_scalar($data) === true) { return new Field($parent, $data, $data); } $result = []; foreach ($data as $key => $value) { if (is_array($value) === true) { $result[$key] = static::create($value, $parent); } elseif (is_scalar($value) === true) { $result[$key] = new Field($parent, $key, $value); } } if (is_int(key($data))) { return new NestCollection($result); } else { return new NestObject($result); } } }