The default method is to use brew without setting either .pkg or .slot
(but not both), and letting potions determine which slot to use. If greater
control is needed, you can use brew_package() or brew_interactive().
Note that if neither .slot or .pkg are set, potions defaults to .slot
, unless .pkg information has previously been supplied (and .slot
information has not). This might be undesirable in a package development
situation.
If both ... and file arguments are empty, this function sets up an
empty potions object in options("potions-pkg"); See potions-class for
more information on this data type. If ... and file arguments
are provided, they will be amalgamated using purrr::list_modify(). If there
are identical names in both lists, those in ... are chosen.
If the user repeatedly calls brew(), later list entries overwrite early
entries. Whole lists are not overwritten unless all top-level entry names
match, or method is set to "overwrite", which is a shortcut to using
drain() before brew(). The default behaviour is method = "modify",
which uses purrr::list_modify() to do the joining. Similarly "merge" uses
purrr::list_merge(). method = "leaves" only overwrites terminal nodes,
leaving the structure of the list otherwise unaffected. For non-nested lists,
this behaviour is identical to "modify", but for nested lists it can be a
useful shortcut.