Skip to main content

Class: VisibilityDataUtils

Defined in: utils/data/VisibilityDataUtils.ts:16

Extends

  • DataUtilsBase

Constructors

Constructor

new VisibilityDataUtils(): VisibilityDataUtils

Returns

VisibilityDataUtils

Inherited from

DataUtilsBase.constructor

Methods

createUniformVisibilityData()

static createUniformVisibilityData(n, visibility, options?): Uint8Array

Defined in: utils/data/VisibilityDataUtils.ts:201

Creates a visibility data buffer of the given size filled with a single visibility value.

Parameters

n

number

Number of elements

visibility

boolean

The boolean visibility to fill with

options?

Optional buffer alignment

align?

number

Returns

Uint8Array

A Uint8Array filled with the encoded visibility


encodeVisibility()

static encodeVisibility(visibility): number

Defined in: utils/data/VisibilityDataUtils.ts:235

Encodes a boolean visibility into a numeric representation.

Parameters

visibility

boolean

The boolean visibility to encode

Returns

number

1 if visible, 0 if not


fillFromConfigData()

protected static fillFromConfigData<TValue>(data, ids, config, defaultValue, loadTable, parseTableValue, encodeValue, options?): Promise<void>

Defined in: utils/data/DataUtilsBase.ts:21

Fills data by loading values from the configured table column

For each ID in ids, the corresponding row is looked up in the loaded table by ID. The raw cell value is parsed by parseTableValue; if parsing fails, defaultValue is used instead.

Type Parameters

TValue

TValue

Parameters

data

TypedArray

Output typed array to fill

ids

number[]

Ordered list of item IDs

config

FromConfig

A FromConfig specifying the source table and column

defaultValue

TValue

Value used when the ID is missing or parsing fails

loadTable

(tableId, options?) => Promise<TableData>

Async function that loads a TableData by ID

parseTableValue

(value, valueRange) => TValue | undefined

Converts a raw cell value to TValue, or undefined on failure

encodeValue

(value) => number

Converts TValue to the numeric representation stored in data

options?

Optional abort signal

signal?

AbortSignal

Returns

Promise<void>

Inherited from

DataUtilsBase.fillFromConfigData


fillGroupByConfigData()

protected static fillGroupByConfigData<TValue, TMapRequired>(data, ids, config, defaultValue, loadTable, mapGroupToValue, encodeValue, options?): Promise<void>

Defined in: utils/data/DataUtilsBase.ts:81

Fills data by loading group keys from the configured table column and mapping them to values.

For each ID in ids, the corresponding row is looked up in the loaded table by ID. The raw cell value is JSON-stringified to produce a group key, which is then mapped to a value using mapGroupToValue. If the mapping fails, defaultValue is used instead.

Type Parameters

TValue

TValue

TMapRequired

TMapRequired extends boolean

Parameters

data

TypedArray

Output typed array to fill

ids

number[]

Ordered list of item IDs

config

GroupByConfig<TMapRequired>

A GroupByConfig specifying the source table and column

defaultValue

TValue

Value used when the ID is missing or the group is unmapped

loadTable

(tableId, options?) => Promise<TableData>

Async function that loads a TableData by ID

mapGroupToValue

(group) => TValue | undefined

Maps a JSON-stringified group key to TValue, or undefined

encodeValue

(value) => number

Converts TValue to the numeric representation stored in data

options?

Optional abort signal

signal?

AbortSignal

Returns

Promise<void>

Inherited from

DataUtilsBase.fillGroupByConfigData


loadConstantVisibilityData()

static loadConstantVisibilityData(ids, config, options?): Uint8Array

Defined in: utils/data/VisibilityDataUtils.ts:85

Creates a uniform visibility data buffer filled with the configured constant visibility.

Parameters

ids

number[]

Ordered list of item IDs (only the length is used)

config

ConstantConfig<boolean, unknown>

Constant visibility configuration containing the boolean value

options?

Optional buffer alignment

align?

number

Returns

Uint8Array

A Uint8Array filled with the encoded constant visibility


loadFromVisibilityData()

static loadFromVisibilityData(ids, config, defaultVisibility, loadTable, options?): Promise<Uint8Array<ArrayBufferLike>>

Defined in: utils/data/VisibilityDataUtils.ts:108

Loads visibility data by reading values from a table column and parsing them as booleans.

Parameters

ids

number[]

Ordered list of item IDs

config

FromConfig<unknown>

From configuration specifying the source table and column

defaultVisibility

boolean

Fallback visibility when a value is missing or invalid

loadTable

(tableId, options?) => Promise<TableData>

Async function that loads a TableData by ID

options?

Optional abort signal and buffer alignment

align?

number

signal?

AbortSignal

Returns

Promise<Uint8Array<ArrayBufferLike>>

A Uint8Array of encoded visibility values


loadGroupByVisibilityData()

static loadGroupByVisibilityData(ids, config, visibilityMaps, defaultVisibility, loadTable, options?): Promise<Uint8Array<ArrayBufferLike>>

Defined in: utils/data/VisibilityDataUtils.ts:149

Loads visibility data by grouping IDs via a table column and mapping each group to a boolean visibility value using a visibility map.

Parameters

ids

number[]

Ordered list of item IDs

config

GroupByConfig<true, unknown>

GroupBy configuration specifying the source table, column, and map

visibilityMaps

DefaultMap<boolean>[]

Available visibility maps for group-to-boolean lookups

defaultVisibility

boolean

Fallback visibility when the map is not found or a group is unmapped

loadTable

(tableId, options?) => Promise<TableData>

Async function that loads a TableData by ID

options?

Optional abort signal and buffer alignment

align?

number

signal?

AbortSignal

Returns

Promise<Uint8Array<ArrayBufferLike>>

A Uint8Array of encoded visibility values


loadVisibilityData()

static loadVisibilityData(ids, config, visibilityMaps, defaultVisibility, loadTable, options?): Promise<Uint8Array<ArrayBufferLike>>

Defined in: utils/data/VisibilityDataUtils.ts:31

Loads visibility data for a set of IDs based on the active visibility configuration source.

Dispatches to the appropriate loader (constant, from, or groupBy) depending on which configuration source is active.

Parameters

ids

number[]

Ordered list of item IDs

config

VisibilityConfig

Visibility configuration specifying the data source

visibilityMaps

DefaultMap<boolean>[]

Available visibility maps for groupBy lookups

defaultVisibility

boolean

Fallback visibility when no valid config or value is found

loadTable

(tableId, options?) => Promise<TableData>

Async function that loads a TableData by ID

options?

Optional abort signal and buffer alignment

align?

number

signal?

AbortSignal

Returns

Promise<Uint8Array<ArrayBufferLike>>

A Uint8Array of encoded visibility values (0 or 1), one per ID


parseVisibilityValue()

static parseVisibilityValue(value): boolean | undefined

Defined in: utils/data/VisibilityDataUtils.ts:221

Parses a raw value as a boolean visibility (truthy if greater than 0).

Parameters

value

unknown

The raw value to parse (must be a number)

Returns

boolean | undefined

true if the value is greater than 0, false if 0 or negative, or undefined if not a number