Foundry Virtual Tabletop - API Documentation - Version 14
    Preparing search index...

    A Collection of Folder documents within a Compendium pack.

    Hierarchy (View Summary)

    Index

    Properties

    _source: object[]

    The source data array from which the Documents in the WorldCollection are created

    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

    The CompendiumCollection instance that contains this CompendiumFolderCollection

    documentName: string

    The base Document type which is contained within this DocumentCollection

    Accessors

    • get contents(): V[]

      Return an Array of all the entry values in the Collection

      Returns V[]

    • get documentClass(): typeof Document

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

      Returns typeof Document

    Methods

    • Parameters

      • action: any
      • documents: any
      • result: any
      • operation: any
      • user: any

      Returns void

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

      Parameters

      Returns documents.Folder[]

      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

      Returns documents.Folder | undefined

      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: documents.Folder, index: number) => 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 documents.Folder

      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 | documents.Folder

      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 documents.Folder | undefined

      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

      Type Parameters

      • U

      Parameters

      Returns U[]

      An Array of transformed values

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

      Type Parameters

      • U

      Parameters

      • reducer: (
            accum: U,
            element: T,
            index: number,
            collection: Collection<string, documents.Folder>,
        ) => U

        A reducer function applied to each entry value.

      • initial: U

        An initial value which accumulates with each iteration

      Returns U

      The accumulated result

      let c = new Collection([["a", "A"], ["b", "B"], ["c", "C"]]);
      let letters = c.reduce((s, l) => {
      return s + l;
      }, ""); // "ABC"
    • 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[] | documents.Folder[]

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

      Parameters

      • condition: (
            element: T,
            index: number,
            set: Collection<string, documents.Folder>,
        ) => boolean

        The functional condition to test.

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

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

      • condition: null = null

        A function which tests whether to target each object

      • options: {} = {}

        Additional options passed to Document.updateDocuments

      Returns Promise<documents.Folder[]>

      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