whereami stores in counters when awhereamicall was invoked in a script during a session. This information can beused 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'))"txt_2<-"whereami::cat_where(whereami::whereami(tag = 'tag2'))"tf_1<-tempfile(fileext ='.R')tf_2<-tempfile(fileext ='.R')cat(txt_1,file = tf_1)cat(txt_2,file = tf_2)source(tf_1)source(tf_2)# All counterscounter_state()# A single countercounter_state(tag ='tag1')# Counter namescounter_names()# Counter tagscounter_tags()counters<-counter_get()countersUsingcounter_reset andcounter_state in aloop
for( iin1: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 tofile.path(tempdir(),'whereami.json') by default. The pathcan be set usingset_whereami_log().
jsonlite::read_json(file.path(tempdir(),'whereami.json'),simplifyVector =TRUE)counter_reset()Verify that there are no active counters.
counter_state()