Skip to content
Anton edited this page Aug 9, 2019 · 24 revisions

An argument can be specified in a number of ways:

  1. In the body of the constructor or interface elements in XML:
    <types>
      <interface name="Example" desc="Specifying arguments to a constructor of an interface.">
        <arg boolean name="wiki">Whether compiling a Wiki page.</arg>
      </interface>
    </types>
    Example: Specifying arguments to a constructor of an interface.
    Name Type & Description
    constructor new (wiki: boolean) => Example
    Constructor method.
  2. In the body of a function of a type:
    <types>
      <type name="Example">
        <fn name="getData">
          <arg string name="source">The source from which to extract.</arg>
          Requests the data from the server.
        </fn>
        <function name="transform">
          <arg type="?string" name="">The input.</arg>
          Transforms given string.
        </function>
        <static name="upload">
          <arg opt type="string" name="dest">Where to upload.</arg>
          Uploads data to the server.
        </static>
      </type>
    </types>
  3. In the body of a method:
    <types namespace="wiki">
      <method async desc="workHard" desc="Spawns a worker process.">
        <arg number name="hours">How long to work for.</arg>
        <arg type="wiki.Location" name="location">Where to work.</arg>
      </method>
      <type name="Location">
        <prop number name="lat" />
        <prop number name="long" />
      </type>
    </types>

Arg: An argument of a constructor or method.

Name Type & Description Initial
name ?string null
The name of the type.
type string ``
The type of the argument.
optional boolean false
Whether the argument is optional.
description string ``
Description of the argument.
Clone this wiki locally