/** * Fill a lib's graph object. * * @param GraphCommons\Graph\Graph $graph * @param array|object $g * @return GraphCommons\Graph\Graph */ private final function fillGraph(Graph $graph, $g) : Graph { // force input being an object $g = Util::toObject($g); if (isset($g->id)) { $graph->setId($g->id)->setName($g->name)->setDescription($g->description)->setSubtitle($g->subtitle)->setStatus($g->status)->setCreatedAt($g->created_at); // add signals if exists if (isset($g->signals)) { $array = []; foreach ($g->signals as $i => $signal) { $action = $signal->action; unset($signal->action); $array[$i]['action'] = Signal::detectAction($action); $array[$i]['parameters'] = Util::toArray($signal); } $graph->setSignals(SignalCollection::fromArray($array)); } } return $graph; }