From c404b0786dfe6b55ef57086c6d445711fb688c4b Mon Sep 17 00:00:00 2001 From: Daniel Vartanian Date: Sat, 22 May 2021 22:33:26 -0300 Subject: [PATCH] Optimize `get_class()` function --- R/utils.R | 8 ++------ tests/testthat/test-utils.R | 14 +++++--------- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/R/utils.R b/R/utils.R index c62d432..77d9acc 100644 --- a/R/utils.R +++ b/R/utils.R @@ -284,12 +284,8 @@ na_as <- function(x) { } get_class <- function(x) { - foo <- function(x) { - class(x)[1] - } - - if (is.list(x) || is.data.frame(x)) { - vapply(x, foo, character(1)) + if (is.list(x)) { + vapply(x, function(x) class(x)[1], character(1)) } else { class(x)[1] } diff --git a/tests/testthat/test-utils.R b/tests/testthat/test-utils.R index 9eb05f8..a2f948b 100644 --- a/tests/testthat/test-utils.R +++ b/tests/testthat/test-utils.R @@ -338,17 +338,13 @@ test_that("na_as() | general test", { }) test_that("get_class() | general test", { - foo <- function(x) { - class(x)[1] - } + test <- function(x) class(x)[1] expect_equal(get_class(1), "numeric") - - x <- datasets::iris - expect_equal(get_class(x), vapply(x, foo, character(1))) - - x <- list(a = 1, b = 1) - expect_equal(get_class(x), vapply(x, foo, character(1))) + expect_equal(get_class(datasets::iris), + vapply(datasets::iris, test, character(1))) + expect_equal(get_class(list(a = 1, b = 1)), + vapply(list(a = 1, b = 1), test, character(1))) }) test_that("fix_character() | general test", {