jsonSerialize(); elseif ($value instanceof \Traversable) $value = iterator_to_array($value); $object = $value instanceof \stdClass; if ($object) $value = (array) $value; if (!is_array($value)) return $value; $moneyTask = in_array($value['key'] ?? null, self::MONEY_TASKS, true); $result = []; foreach ($value as $key => $item) { $isAmount = in_array($key, self::MONEY_FIELDS, true) || ($moneyTask && in_array($key, ['value', 'target'], true)); $result[$key] = $isAmount ? self::amount($item) : self::response($item); } return $object ? (object) $result : $result; } }