@@ -647,11 +647,15 @@ Dash <- R6::R6Class(
647
647
}
648
648
649
649
getServerParam <- function (value , type , default ) {
650
+ if (type %in% c(" double" , " integer" ) && value < 0 )
651
+ return (default )
650
652
if (! is.null(value ) && toupper(value ) %in% c(" TRUE" , " FALSE" ))
651
653
value <- as.logical(toupper(value ))
652
- if (type == " numeric" )
653
- value <- as.numeric(value )
654
- if (value != " " && length(value ) != 0 && mode(value ) == type && ! is.na(value )) {
654
+ if (type == " integer" )
655
+ value <- as.integer(value )
656
+ if (type == " double" )
657
+ value <- as.double(value )
658
+ if (value != " " && length(value ) != 0 && typeof(value ) == type && ! is.na(value )) {
655
659
return (value )
656
660
} else {
657
661
return (default )
@@ -662,7 +666,7 @@ Dash <- R6::R6Class(
662
666
private $ debug <- debug
663
667
664
668
self $ server $ host <- getServerParam(host , " character" , " 127.0.0.1" )
665
- self $ server $ port <- getServerParam(as.integer(port ), " numeric " , 8050 )
669
+ self $ server $ port <- getServerParam(as.integer(port ), " integer " , 8050 )
666
670
667
671
dev_tools_ui <- getServerParam(dev_tools_ui , " logical" , debug )
668
672
dev_tools_props_check <- getServerParam(dev_tools_props_check , " logical" , debug )
@@ -686,9 +690,9 @@ Dash <- R6::R6Class(
686
690
687
691
if (dev_tools_hot_reload ) {
688
692
hot_reload <- TRUE
689
- hot_reload_interval <- getServerParam(dev_tools_hot_reload_interval , " numeric " , 3 )
690
- hot_reload_watch_interval <- getServerParam(dev_tools_hot_reload_watch_interval , " numeric " , 0.5 )
691
- hot_reload_max_retry <- getServerParam(as.integer(dev_tools_hot_reload_max_retry ), " numeric " , 8 )
693
+ hot_reload_interval <- getServerParam(dev_tools_hot_reload_interval , " double " , 3 )
694
+ hot_reload_watch_interval <- getServerParam(dev_tools_hot_reload_watch_interval , " double " , 0.5 )
695
+ hot_reload_max_retry <- getServerParam(as.integer(dev_tools_hot_reload_max_retry ), " integer " , 8 )
692
696
# convert from seconds to msec as used by js `setInterval`
693
697
self $ config $ hot_reload <- list (interval = hot_reload_watch_interval * 1000 , max_retry = hot_reload_max_retry )
694
698
} else {
0 commit comments