/** * @param Project|array $jsonData * * @return Project|void * @throws \Crane\Validator\ValidatorException */ public function append($jsonData) { if (false === $jsonData instanceof Project) { $this->linter->check($jsonData); if (false === $this->linter->isValid()) { throw new ValidatorException($this->linter); } $project = new Project($jsonData); } else { $project = $jsonData; } $this->offsetSet($project->getName(), $project); return $project; }