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

    Interface IteratorOptions<T>

    Options when visiting a ICellRanges.

    interface IteratorOptions<T = ICellRanges.Address> {
        address?: T;
        axis?: Axis;
        features?: ICellRange.Feature | readonly ICellRange.Feature[];
        ignoreHidden?: boolean | Axis;
        includeEmpty?: boolean;
        includeMergeOverflow?: boolean;
        injectReferences?: JSONReference<any>[][];
        reuseContext?: boolean;
        reverse?: boolean;
    }

    Type Parameters

    Hierarchy (View Summary)

    Index
    address?: T

    The containing range coords for the scan.

    If not specified will scan all of the data.

    axis?: Axis

    The direction of the scan.

    IRange.Axis.Row

    features?: ICellRange.Feature | readonly ICellRange.Feature[]

    The features the iteration resolves and visits.

    all features
    

    Two effects, both wins for a caller that does not need everything:

    • The iterator only materializes the requested features' state onto the context — an excluded feature is never even looked up.
    • Cells that exist only through an excluded feature are not visited at all. A fill-only cell does not appear in a features scan that excludes Fill — the render path that only paints content stops receiving cells with nothing to paint.

    An empty list is the raw-value fast path — no feature state is resolved at all.

    ignoreHidden?: boolean | Axis

    When scanning skip cells that are hidden via headers.

    false
    

    Optionally a header axis for skipping case be passed in. An example of this is for sorting where the sort direction (row) skips hidden rows but the column direction does not.

    includeEmpty?: boolean

    If true will visit empty cells. This is a potentially huge performance improvement if set to false.

    false
    

    If includeEmpty is true this will always return rectangular results. If bounds are provided it will provide empty spaces before and after. If passing a large bound care must be taken.

    includeMergeOverflow?: boolean

    Includes any merge overflow in first element visited.

    false
    

    If true any merges that fall outside of the range will be include in the top/left most cell that the merge intersects. Useful for rendering merged cells when the top/left is outside the viewport.

    injectReferences?: JSONReference<any>[][]

    Inject custom references for the iterator.

    This is used to allow for iterators to inject custom references.

    • Ignores Features
    • These will get available in the ICell.IteratorContext.getInjectedReference.
    • Used when wanting to iterate over externally managed references
    • NOTE - This is a 2D array.
    • NOTE - The iterator treats values as read-only but the visitors may modify the references.
    reuseContext?: boolean

    If set to true a single IteratorContext is reused for every visited cell instead of allocating a new one per cell.

    false
    

    This is a performance optimization for hot read paths (e.g. rendering). UNSAFE for consumers that retain the context (or the Entry) past the next next() call - the retained reference will reflect the most recently visited cell, not the one it was captured at. Only enable this when the context is consumed inline within the visitor/loop body (e.g. by calling getCell(), which snapshots the state).

    reverse?: boolean

    Iterate in reverse order.

    false