@@ -54,6 +54,7 @@ type_caster <- function(schema, required, name, loc) {
5454}
5555
5656caster_constructor <- function (coercer , ... ) {
57+ args <- list2(... )
5758 function (schema , required , name , loc ) {
5859 error_string <- missing_required_error_string(name , loc )
5960 default <- schema $ default
@@ -66,7 +67,7 @@ caster_constructor <- function(coercer, ...) {
6667 }
6768 NULL
6869 } else {
69- suppressWarnings(coercer(val , ... ))
70+ suppressWarnings(inject( coercer(val , !!! args ) ))
7071 }
7172 }
7273 }
@@ -76,14 +77,15 @@ number_caster <- caster_constructor(as.numeric)
7677integer_caster <- caster_constructor(as.integer )
7778bool_caster <- caster_constructor(as.logical )
7879date_caster <- caster_constructor(as.Date , format = " %Y-%m-%d" )
79- datetime_caster <- caster_constructor(function (x ) {
80+ datetime_caster <- caster_constructor(function (x , ... ) {
8081 as.POSIXlt(
8182 sub(" :(\\ d\\ d)$" , " \\ 1" , sub(" Z$" , " +0000" , x )),
8283 format = " %FT%T%z"
8384 )
8485})
85- byte_caster <- caster_constructor(base64enc :: base64decode )
86- required_caster <- caster_constructor(identity )
86+ # ' @importFrom base64enc base64decode
87+ byte_caster <- caster_constructor(base64decode )
88+ required_caster <- caster_constructor(function (x , ... ) x )
8789
8890string_caster <- function (schema , required , name , loc ) {
8991 switch (
0 commit comments