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

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

Encodes a boolean visibility into a numeric representation.

Parameters

visibility

boolean

The boolean visibility to encode

Returns

number

1 if visible, 0 if not


fillDataFromTableGroups()

protected static fillDataFromTableGroups<TValue>(data, ids, column, defaultValue, loadTable, mapGroupToValue, encodeValue, options?): Promise<void>

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

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

Parameters

data

TypedArray

Output typed array to fill

ids

number[]

Ordered list of item IDs

column

string

Name of the table column to load group keys from

defaultValue

TValue

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

loadTable

(options?) => Promise<TableData>

Async function that loads the TableData

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.fillDataFromTableGroups


fillDataFromTableValues()

protected static fillDataFromTableValues<TValue>(data, ids, column, 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

column

string

Name of the table column to load values from

defaultValue

TValue

Value used when the ID is missing or parsing fails

loadTable

(options?) => Promise<TableData>

Async function that loads the TableData

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.fillDataFromTableValues


loadUniformVisibilityData()

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

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

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


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, buffer alignment, and table ID

align?

number

signal?

AbortSignal

table?

string

Returns

Promise<Uint8Array<ArrayBufferLike>>

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


loadVisibilityDataFromTableGroups()

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

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

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

(options?) => Promise<TableData>

Async function that loads the TableData

options?

Optional abort signal and buffer alignment

align?

number

signal?

AbortSignal

Returns

Promise<Uint8Array<ArrayBufferLike>>

A Uint8Array of encoded visibility values


loadVisibilityDataFromTableValues()

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

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

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 column

defaultVisibility

boolean

Fallback visibility when a value is missing or invalid

loadTable

(options?) => Promise<TableData>

Async function that loads the TableData

options?

Optional abort signal and buffer alignment

align?

number

signal?

AbortSignal

Returns

Promise<Uint8Array<ArrayBufferLike>>

A Uint8Array of encoded visibility values


parseVisibilityValue()

static parseVisibilityValue(value): boolean | undefined

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

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