add is_internal

Issue #4 new
Richard Cotton repo owner created an issue

Something like this (not tested):

is_internal <- function(x, .xname = get_name_in_parent(x))
{
  if(!(ok <- is_function(x)))
  {
    return(ok)
  }
  if(ok <- is.primitive(x))
  {
    return(false("%s is a primitive function.", .xname))
  }
  ok <- body(x) %>% 
    as.list() %>% 
    rapply(as.list) %>% 
    vapply(
      function(x) 
      {
        is.name(x) && x == ".Internal"
      }, 
      logical(1)
    ) %>% 
    any()
  if(!ok)
  {
    return(false("%s is non-internal function.", .xname))
  }
  TRUE
}

Comments (0)

  1. Log in to comment