$requiredInVersion );
} } return [ 'name' =>
$name,
'use-case' =>
$description->
render(),
'class' =>
$hook,
'trigger' =>
$docBlock->
getSummary() . '<br>' .
$docBlock->
getDescription()->
render(),
'data' =>
$this->
getAvailableData($reflection),
'services' =>
$this->
getAvailableServices($reflection),
'since' =>
$since[0
]->
getVersion(),
'stoppable' =>
mb_strtolower(var_export($reflection->
implementsInterface(StoppableHook::
class), true
)),
'optional' =>
mb_strtolower(var_export(is_subclass_of($hook, OptionalFunctionHook::
class), true
)),
'deprecation' =>
$deprecationNotice,
];
} /**
* @param array<string, mixed> $hookData
* @param class-string<InterfaceHook> $hook
*
* @return array<string, mixed>
*/