edition; } public function has(Capability $capability): bool { return $capability->availableIn($this->edition); } /** * @return list */ public function enabled(): array { return array_values(array_filter( Capability::cases(), fn (Capability $capability): bool => $this->has($capability), )); } /** * Capability keys enabled for this edition, for Inertia shared props and * API responses. * * @return list */ public function enabledKeys(): array { return array_map( fn (Capability $capability): string => $capability->value, $this->enabled(), ); } }