mainargs

package mainargs

Type members

Classlikes

sealed trait ArgReader[T]
Companion:
object
object ArgReader
Companion:
class
sealed trait ArgSig[T, B]
Companion:
object
object ArgSig
Companion:
class
case class ClassMains[T](main: MainData[T, Any], companion: () => Any)
object Compat
case class Flag(value: Boolean)
object Invoker
case class Leftover[T](value: T*)
object Macros
case class MainData[T, B](name: String, argSigs0: Seq[ArgSig[_, B]], doc: Option[String], invokeRaw: (B, Seq[Any]) => T)

What is known about a single endpoint for our routes. It has a name, argSigs for each argument, and a macro-generated invoke0 that performs all the necessary argument parsing and de-serialization.

What is known about a single endpoint for our routes. It has a name, argSigs for each argument, and a macro-generated invoke0 that performs all the necessary argument parsing and de-serialization.

Realistically, you will probably spend most of your time calling Invoker.invoke instead, which provides a nicer API to call it that mimmicks the API of calling a Scala method.

Companion:
object
object MainData
Companion:
class
case class MethodMains[B](value: Seq[MainData[Any, B]], base: () => B)
sealed trait ParamResult[+T]
Companion:
object
Companion:
class
Companion:
class
class ParserForClass[T](val mains: ClassMains[T]) extends SubParser[T]
Companion:
object
Companion:
class
class ParserForMethods[B](val mains: MethodMains[B])
Companion:
object
object Renderer
sealed trait Result[+T]

Represents what comes out of an attempt to invoke an Main. Could succeed with a value, but could fail in many different ways.

Represents what comes out of an attempt to invoke an Main. Could succeed with a value, but could fail in many different ways.

Companion:
object
object Result
Companion:
class
trait SubParser[T]
case class TokenGrouping[B](remaining: List[String], grouped: Map[Named[_, B], Seq[String]])
Companion:
object
Companion:
class
class TokensReader[T](val shortName: String, val read: Seq[String] => Either[String, T], val alwaysRepeatable: Boolean, val allowEmpty: Boolean, val noTokens: Boolean)
Companion:
object
Companion:
class
object Util
class arg(val name: String, val short: Char, val doc: String, val noDefaultName: Boolean, val positional: Boolean) extends ClassfileAnnotation
class main(val name: String, val doc: String) extends ClassfileAnnotation