/** * 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; }
/** * If $value is one of the items in $ifNot, return $else */ public static function useIfNot($value, $ifNot, $else = null, $strict = false) { $ifNot = Util::toArray($ifNot); foreach ($ifNot as $i) { if ($strict && $value === $i) { return $else; } elseif (!$strict && $value == $i) { return $else; } } return $value; }