The singleton collection of Combat documents which exist within the active World. This Collection is accessible within the Game object as game.combats.

Hierarchy (View Summary)

Constructors

Properties

An Array of application references which will be automatically updated when the collection content changes

invalidDocumentIds: Set<string> = ...

Record the set of document ids where the Document was not initialized because of invalid source data

documentName: string = "Combat"

Accessors

  • get contents(): V[]

    Return an Array of all the entry values in the Collection

    Returns V[]

  • get directory(): any

    Return a reference to the SidebarDirectory application for this WorldCollection.

    Returns any

  • get documentClass(): typeof Document

    A reference to the Document class definition which is contained within this DocumentCollection.

    Returns typeof Document

  • get documentName(): any

    Returns any

  • get name(): string

    The Collection class name

    Returns string

  • get instance(): WorldCollection

    Return a reference to the singleton instance of this WorldCollection, or null if it has not yet been created.

    Returns WorldCollection

  • get registeredSheets(): DocumentSheet[]

    Return an array of currently registered sheet classes for this Document type.

    Returns DocumentSheet[]

  • get settings(): object

    Provide the settings object which configures the Combat document

    Returns object

Methods

  • Internal

    Follow-up actions to take when a database operation modifies Documents in this DocumentCollection.

    Parameters

    • action: DatabaseAction

      The database action performed

    • documents: ClientDocument[]

      The array of modified Documents

    • result: any[]

      The result of the database operation

    • operation: DatabaseOperation

      Database operation details

    • user: documents.User

      The User who performed the operation

    Returns void

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

    Returns MapIterator<any>

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

    Parameters

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

      The functional condition to test.

    Returns any[]

    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: any, index: number, collection: Collection<any, any>) => unknown

      The functional condition to test.

    Returns any

    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: any) => 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 DocumentCollection by its ID.

    Parameters

    • id: string

      The ID of the Document to retrieve.

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

      Additional options to configure retrieval.

      • Optionalinvalid?: boolean

        Allow retrieving an invalid Document.

      • Optionalstrict?: boolean

        Throw an Error if the requested Document does not exist.

    Returns Document<object, DocumentConstructionContext>

    If strict is true and the Document cannot be found.

  • Obtain a temporary Document instance for a document id which currently has invalid source data.

    Parameters

    • id: string

      A document ID with invalid source data.

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

      Additional options to configure retrieval.

      • Optionalstrict?: boolean

        Throw an Error if the requested ID is not in the set of invalid IDs for this collection.

    Returns void | Document<object, DocumentConstructionContext>

    An in-memory instance for the invalid Document

    If strict is true and the requested ID is not in the set of invalid IDs for this collection.

  • 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 any

    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: any, 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: any, 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"
  • Render any Applications associated with this DocumentCollection.

    Parameters

    • Optionalforce: boolean = false

      Force rendering

    • Optionaloptions: object = {}

      Optional options

    Returns void

  • Find all Documents which match a given search term using a full-text search against their indexed HTML fields and their name. If filters are provided, results are filtered to only those that match the provided values.

    Parameters

    • search: { exclude?: string[]; filters?: FieldFilter[]; query?: string }

      An object configuring the search

      • Optionalexclude?: string[]

        An array of document IDs to exclude from search results

      • Optionalfilters?: FieldFilter[]

        An array of filters to apply

      • Optionalquery?: string

        A case-insensitive search string

    Returns object[] | Document<object, DocumentConstructionContext>[]

  • Parameters

    • id: any
    • document: any

    Returns void

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

    Parameters

    • condition: (arg0: any, 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

  • Update all objects in this DocumentCollection with a provided transformation. Conditionally filter to only apply to Entities which match a certain condition.

    Parameters

    • transformation: object | Function

      An object of data or function to apply to all matched objects

    • condition: null | Function = null

      A function which tests whether to target each object

    • Optionaloptions: object = {}

      Additional options passed to Document.updateDocuments

    Returns Promise<Document<object, DocumentConstructionContext>[]>

    An array of updated data once the operation is complete

  • Protected

    Initialize the DocumentCollection by constructing any initially provided Document instances

    Returns void

  • Get the searchable fields for a given document or index, based on its data model

    Parameters

    • documentName: string

      The document name

    • Optionaltype: string

      A document subtype

    Returns Record<string, SearchableField>

    A record of searchable DataField definitions

  • Register a Document sheet class as a candidate which can be used to display Documents of a given type. See foundry.applications.apps.DocumentSheetConfig.registerSheet for details.

    Parameters

    • ...args: any[]

      Arguments forwarded to the DocumentSheetConfig.registerSheet method

    Returns void

    foundry.documents.collections.Actors.registerSheet("dnd5e", ActorSheet5eCharacter, {
    types: ["character],
    makeDefault: true
    });
  • Unregister a Document sheet class, removing it from the list of available sheet Applications to use. See foundry.applications.apps.DocumentSheetConfig.unregisterSheet for detauls.

    Parameters

    • ...args: any[]

      Arguments forwarded to the DocumentSheetConfig.unregisterSheet method

    Returns void

    foundry.documents.collections.Actors.unregisterSheet("core", ActorSheet);