OptionalfeaturesThe features reads through this range resolve and report.
The lens for every feature-aware read: iteration visits only cells that exist through a listed feature, ICellRange.getCounts / ICellRange.isContentful / ICellRange.getRegions report on that selection, and ICellRange.getUsedRange measures its extent.
An empty list is the raw-value fast path — no feature state is resolved at all.
ICellRange.getValues and ICellRange.values are deliberately exempt — a value is a value regardless of the lens.
OptionalignoreSkip cells hidden via headers.
Honored by every read that walks cells — iteration (ICellRange.forEach, ICellRange.entries), the aggregates (ICellRange.getCounts, ICellRange.getCount, ICellRange.isContentful), ICellRange.getMerges and ICellRange.getRegions.
Optionally an IRange.Axis to skip on one axis only — sorting skips hidden rows while leaving hidden columns in place.
The read options a range carries.
Remarks
These are sticky. A range created with them keeps them, and every derivation (
getOffsetBy,getIntersect,getUsedRange,getRowAt…) hands them to the range it returns. That is what keeps the API fluent: if a read is scoped by an option, everything chained off its result stays scoped the same way, rather than silently widening back out at the first hop.They are defaults, not locks — the same key passed to an individual read wins for that call, and a derivation that passes new options merges them over the carried ones.