Sometimes they are documented on the module in the docs:
Docs: Table of Contents
But not everything as once you're getting to the level of needing some of these functions, the best place to understand it is by looking at what its doing.
any function that is intended for use in the templates will be prefixed with smarty_function_?????????? in the include.php file of the module, so jrFollower_following_count user() is found in
/modules/jrFollower/include.php
ctrl+shift+- is the phpstorm quick key to minimize all the functions so you can see whats there. (screenshot attached) its a quick way to see which functions are intended for template use for that module.
Then a look inside that function will show this:
function smarty_function_jrFollower_following_count($params, $smarty)
{
if (!isset($params['user_id']) || !jrCore_checktype($params['user_id'], 'number_nz')) {
return 'jrFollower_following_count: user_id required';
}
$_sc = array(
'search' => array(
"_user_id = {$params['user_id']}",
"follow_active = 1"
),
'return_count' => true,
'exclude_jrUser_keys' => true,
'exclude_jrProfile_keys' => true,
'privacy_check' => false
);
$cnt = jrCore_db_search_items('jrFollower', $_sc);
$num = 0;
if (isset($cnt) && jrCore_checktype($cnt, 'number_nz')) {
$num = $cnt;
}
if (!empty($params['assign'])) {
$smarty->assign($params['assign'], $num);
return '';
}
return $num;
}
if there were docs for that it would read
"requires the user_id key to be given, if it is given then a search is done for active followers of that user id and the number is returned."