A singleton Tour Collection class responsible for registering and activating Tours, accessible as game.tours.

Hierarchy (View Summary)

Accessors

  • get contents(): V[]

    Return an Array of all the entry values in the Collection

    Returns V[]

Methods

  • Then iterating over a Collection, we should iterate over its values instead of over its entries

    Returns MapIterator<Tour>

  • Filter the Collection, returning an Array of entries which match a functional condition.

    Parameters

    • condition: (value: Tour, index: number, collection: Collection<string, Tour>) => unknown

      The functional condition to test.

    Returns Tour[]

    An Array of matched values

    let c = new Collection([["a", "AA"], ["b", "AB"], ["c", "CC"]]);
    let hasA = c.filters(entry => entry.slice(0) === "A");
  • Find an entry in the Map using a functional condition.

    Parameters

    • condition: (value: Tour, index: number, collection: Collection<string, Tour>) => unknown

      The functional condition to test.

    Returns undefined | Tour

    The value, if found, otherwise undefined

    let c = new Collection([["a", "A"], ["b", "B"], ["c", "C"]]);
    c.get("a") === c.find(entry => entry === "A"); // true
  • Apply a function to each element of the collection

    Parameters

    • fn: (value: Tour) => void

      A function to apply to each element

    Returns void

    Array#forEach

    let c = new Collection([["a", {active: false}], ["b", {active: false}], ["c", {active: false}]]);
    c.forEach(e => e.active = true);
  • Get an element from the Collection by its key.

    Parameters

    • key: string

      The key of the entry to retrieve

    • Optionaloptions: { strict?: boolean } = {}

      Additional options that affect how entries are retrieved

      • Optionalstrict?: boolean

        Throw an Error if the requested key does not exist. Default false.

    Returns undefined | Tour

    The retrieved entry value, if the key exists, otherwise undefined

    let c = new Collection([["a", "Alfred"], ["b", "Bob"], ["c", "Cynthia"]]);
    c.get("a"); // "Alfred"
    c.get("d"); // undefined
    c.get("d", {strict: true}); // throws Error
  • Get an entry from the Collection by name. Use of this method assumes that the objects stored in the collection have a "name" attribute.

    Parameters

    • name: string

      The name of the entry to retrieve

    • Optionaloptions: { strict?: boolean } = {}

      Additional options that affect how entries are retrieved

      • Optionalstrict?: boolean

        Throw an Error if the requested name does not exist. Default false.

    Returns undefined | Tour

    The retrieved entry value, if one was found, otherwise undefined

    let c = new Collection([["a", "Alfred"], ["b", "Bob"], ["c", "Cynthia"]]);
    c.getName("Alfred"); // "Alfred"
    c.getName("D"); // undefined
    c.getName("D", {strict: true}); // throws Error
  • Transform each element of the Collection into a new form, returning an Array of transformed values

    Parameters

    • transformer: (arg0: Tour, arg1: number, arg2: Collection) => any

      A transformation function applied to each entry value. Positional arguments are the value, the index of iteration, and the collection being mapped.

    Returns any[]

    An Array of transformed values

  • Reduce the Collection by applying an evaluator function and accumulating entries

    Parameters

    • reducer: (arg0: any, arg1: Tour, arg2: number, arg3: Collection) => any

      A reducer function applied to each entry value. Positional arguments are the accumulator, the value, the index of iteration, and the collection being reduced.

    • initial: any

      An initial value which accumulates with each iteration

    Returns any

    The accumulated result

    let c = new Collection([["a", "A"], ["b", "B"], ["c", "C"]]);
    let letters = c.reduce((s, l) => {
    return s + l;
    }, ""); // "ABC"
  • Register a new Tour.

    Parameters

    • namespace: string

      The namespace of the Tour

    • id: string

      The machine-readable id of the Tour

    • tour: Tour

      The constructed Tour

    Returns void

  • Test whether a condition is met by some entry in the Collection.

    Parameters

    • condition: (arg0: Tour, arg1: number, arg2: Collection) => boolean

      The functional condition to test. Positional arguments are the value, the index of iteration, and the collection being tested.

    Returns boolean

    Was the test condition passed by at least one entry?

  • Convert the Collection to a primitive array of its contents.

    Returns object[]

    An array of contained values