> */ public array $supportedPolicyTypes = []; /** * @var array> */ public array $foundationTypes = []; public function mount(): void { $policyTypes = config('tenantpilot.supported_policy_types', []); $foundationTypes = config('tenantpilot.foundation_types', []); $resolver = app(CoverageCapabilitiesResolver::class); $this->supportedPolicyTypes = collect(is_array($policyTypes) ? $policyTypes : []) ->map(function (array $row) use ($resolver): array { $type = (string) ($row['type'] ?? ''); return array_merge($row, [ 'dependencies' => $type !== '' && $resolver->supportsDependencies($type), ]); }) ->all(); $this->foundationTypes = collect(is_array($foundationTypes) ? $foundationTypes : []) ->map(function (array $row): array { return array_merge($row, [ 'dependencies' => false, ]); }) ->all(); } }