SheetXL - v0.8.0-beta.9+sites.210.e2d420901
    Preparing search index...

    Interface ICollection<T>

    Interface used for all ICollections.

    A collection is the read side of a ReadonlyArray without the index operator: it iterates, counts, and offers the familiar helpers (at, find, filter, map, ...), but it is not an array and has no [i] or length. Call toArray when an array is really wanted.

    Iteration order is the collection's own order — insertion order for the ordered collections (sheets, tables, movables) and unspecified for the keyed ones (resources, functions). Every read is over a snapshot: neither getItems nor the helpers observe a change made while they run.

    interface ICollection<T> {
        isICollection: true;
        "[iterator]"(): IterableIterator<T>;
        addListeners(
            listeners: ICollection.IListeners,
            options?: IListener.Options,
        ): Remove;
        at(index: number): T | undefined;
        every(
            predicate: (value: T, index: number, items: readonly T[]) => boolean,
        ): boolean;
        filter<S>(
            predicate: (value: T, index: number, items: readonly T[]) => value is S,
        ): S[];
        filter(
            predicate: (value: T, index: number, items: readonly T[]) => boolean,
        ): T[];
        find<S>(
            predicate: (value: T, index: number, items: readonly T[]) => value is S,
        ): S | undefined;
        find(
            predicate: (value: T, index: number, items: readonly T[]) => boolean,
        ): T | undefined;
        findIndex(
            predicate: (value: T, index: number, items: readonly T[]) => boolean,
        ): number;
        forEach(fn: (value: T, index: number, items: readonly T[]) => void): void;
        getCount(): number;
        getItems(options?: ICollection.GetItemsOptions): T[];
        indexOf(item: T): number;
        isClosed(): boolean;
        map<U>(fn: (value: T, index: number, items: readonly T[]) => U): U[];
        some(
            predicate: (value: T, index: number, items: readonly T[]) => boolean,
        ): boolean;
        toArray(): T[];
    }

    Type Parameters

    • T

    Hierarchy (View Summary)

    Implemented by

    Index
    isICollection: true

    For runtime type checking.

    • Iterates the collection's items.

      Returns IterableIterator<T>

      The unfiltered walk — for (const sheet of wb.getSheets()). Every other iterable surface in the SDK (ICellRange, ICellRegions, ICellRanges) reads this way, so a collection that did not was a trap: for…of over one is the obvious line to write and it threw at runtime with nothing in the types to warn first.

      getItems remains the call that takes options — filtering, ordering, anything parameterized. This is sugar over the unfiltered case, not a replacement for it.

    • Returns the item at the given index, or undefined if there is none.

      Parameters

      • index: number

        The position in iteration order. A negative index counts back from the end, as Array.prototype.at does.

      Returns T | undefined

    • Returns true if the predicate accepts every item, including when there are none.

      Parameters

      • predicate: (value: T, index: number, items: readonly T[]) => boolean

        Called once per item in iteration order until it returns false.

      Returns boolean

    • Returns the items the predicate accepts, in iteration order.

      Type Parameters

      • S

      Parameters

      • predicate: (value: T, index: number, items: readonly T[]) => value is S

        Called once per item.

      Returns S[]

    • Returns the items the predicate accepts, in iteration order.

      Parameters

      • predicate: (value: T, index: number, items: readonly T[]) => boolean

        Called once per item.

      Returns T[]

    • Returns the first item the predicate accepts, or undefined if it accepts none.

      Type Parameters

      • S

      Parameters

      • predicate: (value: T, index: number, items: readonly T[]) => value is S

        Called once per item in iteration order until it returns true.

      Returns S | undefined

    • Returns the first item the predicate accepts, or undefined if it accepts none.

      Parameters

      • predicate: (value: T, index: number, items: readonly T[]) => boolean

        Called once per item in iteration order until it returns true.

      Returns T | undefined

    • Returns the index of the first item the predicate accepts, or -1 if it accepts none.

      Parameters

      • predicate: (value: T, index: number, items: readonly T[]) => boolean

        Called once per item in iteration order until it returns true.

      Returns number

    • Calls the function once per item, in iteration order.

      Parameters

      • fn: (value: T, index: number, items: readonly T[]) => void

        Called once per item.

      Returns void

    • Returns the total items available.

      Returns number

      returns the total number of items available.

    • Returns the items in the collection.

      Parameters

      Returns T[]

      The optioned call — filtering, ordering, anything parameterized — and a snapshot: the array returned does not follow later changes to the collection. For the unfiltered items as a plain array prefer toArray.

    • Returns the index of the item in iteration order, or -1 if it is not in the collection.

      Parameters

      • item: T

        The item to find.

      Returns number

    • Returns true once the collection has been closed.

      Returns boolean

      A closed collection is empty and announces nothing further. Collections that are closed by their owner (the workbook's names, functions and modules, when the workbook closes) announce it once with ICollection.Events.onClose; the others are never closed and always return false.

    • Returns the result of calling the function on every item, in iteration order.

      Type Parameters

      • U

      Parameters

      • fn: (value: T, index: number, items: readonly T[]) => U

        Called once per item.

      Returns U[]

    • Returns true if the predicate accepts at least one item.

      Parameters

      • predicate: (value: T, index: number, items: readonly T[]) => boolean

        Called once per item in iteration order until it returns true.

      Returns boolean

    • Returns the items as a fresh array, in iteration order.

      Returns T[]

      The call to make when an array is really wanted. The array is the caller's: changing it does not change the collection, and it does not follow later changes to the collection.