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="FnExample">
        <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="input">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>
    FnExample
    Name Type & Description
    static upload* (dest?: string) => void
    Uploads data to the server.
    transform* (input: ?string) => void
    Transforms given string.
    getData* (source: string) => void
    Requests the data from the server.
  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>

The actual Arg interface is the following:

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