EventSet

Bakame\Tokei\EventSet associates one or more identifiers to Time instances.

Instantiation

EventSet::__construct(Event ...$items)
EventSet::fromTasks(TaskSet $tasks, Bound $anchor = Bound::Start): self

Accessors

EventSet::all(): array
EventSet::isEmpty(): bool
EventSet::get(int $offset): Event
EventSet::nth(int $offset): ?Event
EventSet::first(): ?Event
EventSet::last(): ?Event
EventSet::indexOf(Event $event): ?int
EventSet::lastIndexOf(Event $event): ?int
EventSet::has(Event ...$items): bool

nth and get supports negative index but differ on failure:

  • nth returns null on invalid offset;
  • get throws a TimeException exception on invalid offset;

Formatting

Supports the same formatting arguments as the Time::format method.

EventSet::formatAll(TimeFormat $format = TimeFormat::Clock): array

Serialization

EventSet::jsonSerialize(): list<Event>

Temporal queries methods

EventSet::inside(Interval $interval): self
EventSet::at(Time $time): self
EventSet::before(Time $time): self
EventSet::after(Time $time): self
EventSet::next(Time $atOrAfter, SearchMode $mode): self
EventSet::previous(Time $before, SearchMode $mode): self
EventSet::nearest(Time $around): self

Temporal algebra methods

EventSet::gaps(): IntervalSet
EventSet::union(Event ...$items): self
EventSet::intersect(Event ...$items): self
EventSet::difference(Event ...$items): self

Temporal transformation methods

EventSet::shift(Duration $duration): self
EventSet::roundTo(Unit $unit, SnapMode $mode = SnapMode::Nearest): self

Collection queries methods

EventSet::any(callable $predicate): bool
EventSet::every(callable $predicate): bool
EventSet::reduce(callable $callback, mixed $initial = null): mixed
EventSet::each(callable $callback): bool
EventSet::firstMatching(callable $predicate): ?Event
EventSet::lastMatching(callable $predicate): ?Event

Collection transformations methods

EventSet::map(callable $callback): iterable
EventSet::transform(callable $callback): self
EventSet::filter(callable $callback): self

Collection builders methods

EventSet::append(Event ...$items): self
EventSet::remove(int ...$offset): self
EventSet::replace(int $offset, Event $item): self
Logo