Skip to content

MapModel

Defined in: api/node/typescript/models.ts:678

MapModel provides rows that are generated by a map function based on the rows of another model.

T

item type of source model that is mapped to U.

U

the type of the mapped items.

Here we have an ArrayModel holding rows of a custom interface Name and a MapModel that maps the name rows to single string rows.

interface Name {
first: string;
last: string;
}
const model = new ArrayModel<Name>([
{ first: "Hans", last: "Emil" },
{ first: "Max", last: "Mustermann" },
{ first: "Roman", last: "Tisch" },
]);
const mappedModel = new MapModel(model, (data) => data.last + ", " + data.first);
// prints "Emil, Hans"
console.log(mappedModel.rowData(0));
js

new MapModel<T, U>(sourceModel, mapFunction): MapModel<T, U>

Defined in: api/node/typescript/models.ts:693

Constructs a new MapModel that provides a mapped view on the given sourceModel by applying mapFunction on each of its rows.

Model<T>

the wrapped model.

(data) => U

maps the data from T to U.

MapModel<T, U>

Model<U>.constructor

readonly sourceModel: Model<T>

Defined in: api/node/typescript/models.ts:682

The source model that this MapModel maps rows from.

[iterator](): Iterator<U>

Defined in: api/node/typescript/models.ts:232

Iterator<U>

Model.[iterator]


filter(filterFunction): FilterModel<U>

Defined in: api/node/typescript/models.ts:154

Returns a new Model that only contains the rows of this model for which filterFunction returns true.

(data) => boolean

returns true if a row should be visible.

FilterModel<U>

a new FilterModel that wraps the current model.

Model.filter


insertRow(_index, _data): void

Defined in: api/node/typescript/models.ts:226

Implementations of this function must add a row at the specified index, pushing all next rows to the right.

number

index of the row to insert.

U

new data item to store in a new row.

void

Model.insertRow


map<U>(mapFunction): MapModel<U, U>

Defined in: api/node/typescript/models.ts:144

Returns a new Model where all elements are mapped by the function mapFunction.

U

(data) => U

maps the data from T to U.

MapModel<U, U>

a new MapModel that wraps the current model.

Model.map


pushRow(_data): void

Defined in: api/node/typescript/models.ts:204

Implementations of this function must add a line to the model with the provided data.

U

new data item to store in a new row.

void

Model.pushRow


removeRow(_index): void

Defined in: api/node/typescript/models.ts:214

Implementations of this function must remove the row at the specified index.

number

index of the row to remove.

void

Model.removeRow


reset(): void

Defined in: api/node/typescript/models.ts:732

Notifies the run-time that the mapped view has changed. Use this if the map function’s result depends on state external to the source model and that state has changed, so that the mapped view reflects the current data.

void


reverse(): ReverseModel<U>

Defined in: api/node/typescript/models.ts:173

Returns a new Model with the same rows as this model, in reverse order.

ReverseModel<U>

a new ReverseModel that wraps the current model.

Model.reverse


rowCount(): number

Defined in: api/node/typescript/models.ts:709

Returns the number of entries in the model.

number

Model.rowCount


rowData(row): U | undefined

Defined in: api/node/typescript/models.ts:718

Returns the data at the specified row.

number

index in range 0..(rowCount() - 1).

U | undefined

undefined if row is out of range otherwise the data.

Model.rowData


setRowData(_row, _data): void

Defined in: api/node/typescript/models.ts:194

Implementations of this function must store the provided data parameter in the model at the specified row.

number

index in range 0..(rowCount() - 1).

U

new data item to store on the given row index

void

Model.setRowData


sort(compareFunction): SortModel<U>

Defined in: api/node/typescript/models.ts:165

Returns a new Model with the same rows as this model, ordered according to compareFunction.

(a, b) => number

compares two rows the same way the callback passed to Array.prototype.sort does.

SortModel<U>

a new SortModel that wraps the current model.

Model.sort


© 2026 SixtyFPS GmbH