Skip to content

Commit 19835f8

Browse files
committed
feat: add as_callbacks.NULL
1 parent e31044c commit 19835f8

File tree

4 files changed

+14
-4
lines changed

4 files changed

+14
-4
lines changed

NAMESPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
S3method(as.data.table,Dictionary)
44
S3method(as_callback,Callback)
5+
S3method(as_callbacks,"NULL")
56
S3method(as_callbacks,Callback)
67
S3method(as_callbacks,list)
78
S3method(discard,data.frame)

R/Callback.R

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,12 @@ as_callbacks = function(x, clone = FALSE, ...) { # nolint
136136
UseMethod("as_callbacks")
137137
}
138138

139+
#' @rdname as_callback
140+
#' @export
141+
as_callbacks.NULL = function(x, ...) { # nolint
142+
list()
143+
}
144+
139145
#' @rdname as_callback
140146
#' @export
141147
as_callbacks.list = function(x, clone = FALSE, ...) { # nolint
@@ -221,7 +227,8 @@ clbks = function(.keys) {
221227
#'
222228
#' @return [Callback] | List of [Callback]s.
223229
#' @export
224-
assert_callback = function(callback) {
230+
assert_callback = function(callback, null_ok = FALSE) {
231+
if (null_ok && is.null(callback)) return(invisible(NULL))
225232
assert_class(callback, "Callback")
226233
invisible(callback)
227234
}
@@ -230,6 +237,5 @@ assert_callback = function(callback) {
230237
#' @param callbacks (list of [Callback]).
231238
#' @rdname assert_callback
232239
assert_callbacks = function(callbacks) {
233-
assert_list(callbacks)
234-
if (length(callbacks)) invisible(lapply(callbacks, assert_callback)) else invisible(NULL)
240+
invisible(lapply(callbacks, assert_callback))
235241
}

man/as_callback.Rd

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/assert_callback.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)