TinyBase logoTinyBase

getResultRow

The getResultRow method returns an object containing the entire data of a single ResultRow in the ResultTable of the given query.

getResultRow(
  queryId: Id,
  rowId: Id,
): ResultRow
TypeDescription
queryIdId

The Id of a query.

rowIdId

The Id of the ResultRow in the ResultTable.

returnsResultRow

An object containing the entire data of the ResultRow in the ResultTable of the query.

This has the same behavior as a Store's getRow method. For example, if the query or ResultRow Id is invalid, the method returns an empty object. Similarly, it returns a copy of, rather than a reference to the underlying data, so changes made to the returned object are not made to the query results themselves.

Example

This example creates a Queries object, a single query definition, and then calls this method on it (as well as a non-existent ResultRow Id) to get the ResultRow.

const store = createStore().setTable('pets', {
  fido: {species: 'dog', color: 'brown'},
  felix: {species: 'cat', color: 'black'},
  cujo: {species: 'dog', color: 'black'},
});

const queries = createQueries(store).setQueryDefinition(
  'dogColors',
  'pets',
  ({select, where}) => {
    select('color');
    where('species', 'dog');
  },
);

console.log(queries.getResultRow('dogColors', 'fido'));
// -> {color: 'brown'}

console.log(queries.getResultRow('dogColors', 'felix'));
// -> {}

Since

v2.0.0