Skip to content

Instantly share code, notes, and snippets.

library(shiny)
library(jsonlite)
# we'll store received data in a local json file
write_json(list(), "data.json")
post_handler <- function(req, response) {
# we'll catch everything that's POST for this demo but you'll want to make
# sure you don't step on shiny's built-in POST handlers
# (I'm pretty sure this handler is called after shiny's handlers but :shrug:)
super_split <- function(data, ...) {
  dots <- rlang::quos(...)
  for (var in seq_along(dots)) {
    var_name <- rlang::as_name(dots[[var]])
    data <- purrr:::map_depth(
      data, 
      var - 1, 
      function(xs) split(xs, xs[var_name])
    )