series = []; } public function render(): array { if (0 === count($this->series)) { throw new FireflyException('No series added to chart'); } return $this->series; } /** * @throws FireflyException */ public function add(array $data): void { if (array_key_exists('currency_id', $data)) { $data['currency_id'] = (string) $data['currency_id']; } if (array_key_exists('native_currency_id', $data)) { $data['native_currency_id'] = (string) $data['native_currency_id']; } $required = ['start', 'date', 'end', 'entries', 'native_entries']; foreach ($required as $field) { if (!array_key_exists($field, $data)) { throw new FireflyException(sprintf('Data-set is missing the "%s"-variable.', $field)); } } $this->series[] = $data; } }