whereami
stores in counters when a whereami
call was invoked in a script during a session. This information can be
used in control reactivity in shiny app development and testing.
Below shows the basics of accessing and controlling counters.
library(whereami)
<- "
txt_1 whereami::cat_where(whereami::whereami(tag = 'tag1'))
"
<- "whereami::cat_where(whereami::whereami(tag = 'tag2'))"
txt_2
<- tempfile(fileext = '.R')
tf_1 <- tempfile(fileext = '.R')
tf_2
cat(txt_1,file = tf_1)
cat(txt_2,file = tf_2)
source(tf_1)
source(tf_2)
# All counters
counter_state()
# A single counter
counter_state(tag = 'tag1')
# Counter names
counter_names()
# Counter tags
counter_tags()
<- counter_get()
counters
counters
Using counter_reset
and counter_state
in a
loop
for( i in 1:10 ){
source(tf_1)
source(tf_2)
if( counter_state(tag = 'tag1') > 5 )
counter_reset(tag = 'tag2')
}
plot(counter_get())
A json log of the counter is written to
file.path(tempdir(),'whereami.json')
by default. The path
can be set using set_whereami_log()
.
::read_json(
jsonlitefile.path(tempdir(),'whereami.json'),
simplifyVector = TRUE)
counter_reset()
Verify that there are no active counters.
counter_state()