arguments
Captured arguments to a function.
Argument Sinks
Like built-in functions, custom functions can also take a variable number of
arguments. You can specify an argument sink which collects all excess
arguments as ..sink. The resulting sink value is of the arguments
type. It exposes methods to access the positional and named arguments.
#let format(title, ..authors) = {
let by = authors
.pos()
.join(", ", last: " and ")
[*#title* \ _Written by #by;_]
}
#format("ArtosFlow", "Jane", "Joe")

Spreading
Inversely to an argument sink, you can spread arguments, arrays and
dictionaries into a function call with the ..spread operator:
#let array = (2, 3, 5)
#calc.min(..array)
#let dict = (fill: blue)
#text(..dict)[Hello]

ConstructorParameterParameters are input values for functions. Specify them in parentheses after the function name.
Construct spreadable arguments in place.
This function behaves like let args(..sink) = sink.
#let args = arguments(stroke: red, inset: 1em, [Body])
#box(..args)

arguments(any)->argumentsanyRequiredRequiredRequired parameters must be specified when calling the function.PositionalPositionalPositional parameters can be set by specifying them in order, omitting the parameter name.VariadicVariadicVariadic parameters can be specified multiple times.
argumentsThe arguments to construct.
DefinitionsDefinitionsThese functions and types can have related definitions. To access a definition, specify the name of the function or type, followed by the definition name separated by a period.
at
atReturns the positional argument at the specified index, or the named argument with the specified name.
If the key is an integer, this is equivalent to first calling
pos and then array.at. If it is a string,
this is equivalent to first calling named and then
dictionary.at.
self.at(,any)->anyfilter
filterProduces a new arguments with only the arguments for which the value
passes the test.
Show example
#{
arguments(-1, a: 0, b: 1, 2)
.filter(v => v > 0)
}

self.filter()->testRequiredRequiredRequired parameters must be specified when calling the function.PositionalPositionalPositional parameters can be set by specifying them in order, omitting the parameter name.
testThe function to apply to each value. Must return a boolean.
map
mapProduces a new arguments by transforming each argument value with the
passed function.
Show example
#{
arguments(0, a: 1, 2)
.map(v => v + 1)
}

self.map()->mapperRequiredRequiredRequired parameters must be specified when calling the function.PositionalPositionalPositional parameters can be set by specifying them in order, omitting the parameter name.
mapperThe function to apply to each value.