File: progress.R

package info (click to toggle)
r-cran-progressr 0.15.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,132 kB
  • sloc: sh: 13; makefile: 7
file content (36 lines) | stat: -rw-r--r-- 1,032 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#' Creates and Signals a Progression Condition
#'
#' _WARNING:_ `progress()` is defunct - don't use.
#'
#' @param \ldots Arguments pass to [progression()].
#'
#' @param call (expression) A call expression.
#'
#' @return A [base::condition] of class `progression`.
#'
#' @seealso
#' To create a progression condition, use [progression()].
#' To signal a progression condition, use [base::signalCondition()].
#'
#' @keywords internal
#' @export
progress <- function(..., call = sys.call()) {
  action <- getOption("progressr.lifecycle.progress", "defunct")
  signal <- switch(action, deprecated = .Deprecated, defunct = .Defunct)
  signal(msg = sprintf("progress() is %s", action), package = .packageName)
 
  args <- list(...)
  if (length(args) == 1L && inherits(args[[1L]], "condition")) {
    cond <- args[[1L]]
    stop_if_not(inherits(cond, "progression"))
  } else {
    cond <- progression(..., call = call)
  }
  
  withRestarts(
    signalCondition(cond),
    muffleProgression = function(p) NULL
  )
  
  invisible(cond)
}