The frame input grammar shared by every public frame-valued verb
Source:R/frame-input.R
frame-input-grammar.Rdexecute() defines a data frame and a one-element list of data frames as
the same call. Six other entry points accepted frame input independently,
with three different error classes and three different sets of checks, so
the same input was accepted by one verb and refused by another. The grammar
is in three layers because they are not all appropriate everywhere:
Details
shape (
normalize_frame_input()): a data frame, or a non-empty ordered list of data frames, canonicalized to one collection.executable (
check_frames_executable()): the rulesexecute()applies before it samples, which a validator must not be weaker about.scheduled (
stage_frame_schedule(), inR/frame-schedule.R): the count against stages and the positional mapping.
Serialization takes the shape layer plus its own count rule, since a fingerprint of a frame with duplicate names is still a correct fingerprint.