@@ -4,7 +4,9 @@ check_string_param <- function(name, value, required = TRUE) {
4
4
! (! is.null(value ) &&
5
5
is.character(value ))) ||
6
6
(! required && ! (is.null(value ) || is.character(value )))) {
7
- stop(paste0(" argument " , name , " is not a string" ))
7
+ rlang :: abort(paste0(" argument " , name , " is not a string" ),
8
+ name = name , value = value , class = " invalid_argument"
9
+ )
8
10
}
9
11
}
10
12
@@ -14,7 +16,9 @@ check_int_param <- function(name, value, required = TRUE) {
14
16
! (! is.null(value ) &&
15
17
is.numeric(value ))) ||
16
18
(! required && ! (is.null(value ) || is.numeric(value )))) {
17
- stop(paste0(" argument " , name , " is not a number" ))
19
+ rlang :: abort(paste0(" argument " , name , " is not a number" ),
20
+ name = name , value = value , class = " invalid_argument"
21
+ )
18
22
}
19
23
}
20
24
@@ -32,22 +36,28 @@ check_single_epirange_param <-
32
36
! (! is.null(value ) &&
33
37
is_epirange_like(value ))) ||
34
38
(! required && ! (is.null(value ) || is_epirange_like(value )))) {
35
- stop(paste0(" argument " , name , " is not a epirange" ))
39
+ rlang :: abort(paste0(" argument " , name , " is not a epirange" ),
40
+ name = name , value = value , class = " invalid_argument"
41
+ )
36
42
}
37
43
}
38
44
39
45
check_epirange_param <- function (name , value , required = TRUE ) {
40
46
if (is.null(value )) {
41
47
if (required ) {
42
- stop(paste0(" argument " , name , " is not a epirange" ))
48
+ rlang :: abort(paste0(" argument " , name , " is not a epirange" ),
49
+ name = name , value = value , class = " invalid_argument"
50
+ )
43
51
}
44
52
return ()
45
53
}
46
54
if (is_epirange_like(value )) {
47
55
return ()
48
56
}
49
57
if (! is.list || ! all(sapply(sapply(value , is_epirange_like )))) {
50
- stop(paste0(" argument " , name , " is not a epirange" ))
58
+ rlang :: abort(paste0(" argument " , name , " is not a epirange" ),
59
+ name = name , value = value , class = " invalid_argument"
60
+ )
51
61
}
52
62
}
53
63
@@ -61,7 +71,9 @@ check_single_string_param <- function(name, value, required = TRUE) {
61
71
(
62
72
is.character(value ) && length(value ) == 1
63
73
)))) {
64
- stop(paste0(" argument " , name , " is not a single string" ))
74
+ rlang :: abort(paste0(" argument " , name , " is not a single string" ),
75
+ name = name , value = value , class = " invalid_argument"
76
+ )
65
77
}
66
78
}
67
79
@@ -72,6 +84,8 @@ check_single_int_param <- function(name, value, required = TRUE) {
72
84
length(value ) == 1 )) ||
73
85
(! required &&
74
86
! (is.null(value ) || (is.numeric(value ) && length(value ) == 1 )))) {
75
- stop(paste0(" argument " , name , " is not a single integer" ))
87
+ rlang :: abort(paste0(" argument " , name , " is not a single integer" ),
88
+ name = name , value = value , class = " invalid_argument"
89
+ )
76
90
}
77
91
}
0 commit comments