/** * {@inheritdoc} */ public function load($path, array $arguments = []) { if ($this->caches->containsKey($path) === false) { $content = $this->loader->load($path, $arguments); $value = new Pair($path, $content); $this->caches->add($value); } return $this->caches->get($path); }
public function testAddAllWithSomeValues() { $arrayList = new Map(); $arrayList->add(new Pair('key1', 'value1'))->add(new Pair('key2', 'value2')); $secoundArrayList = new Map(); $secoundArrayList->add(new Pair('key3', 'value3'))->add(new Pair('key4', 'value4')); $arrayList->addAll($secoundArrayList); $this->assertEquals(['key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3', 'key4' => 'value4'], $arrayList->toArray()); }
public function save(StreamName $streamName, DomainMessage $event) { $id = (string) $event->getId(); $name = (string) $streamName; $events = $this->events->get($name); if (null === $events) { $events = new Map(); $this->events->add(new Pair($name, $events)); } if (!$events->containsKey($id)) { $events->add(new Pair($id, new Vector())); } $events->get($id)->add($event); }
/** * {@inheritDoc} * @return $this */ public function groupBy($callback) { $group = new Map(); foreach ($this as $value) { $key = $callback($value); if (!$group->containsKey($key)) { $element = $this instanceof VectorInterface ? new static([$value]) : new Vector([$value]); $group->add(new Pair($key, $element)); } else { $value = $group->get($key)->add($value); $group->set($key, $value); } } return $group; }
/** * Register the loader of fixture * * @param \holyshared\fixture\FixtureLoader $loader * @return holyshared\fixture\container\LoaderContainer */ public function register(FixtureLoader $loader) { $value = new Pair($loader->getName(), $loader); $this->loaders->add($value); return $this; }