TinyBase

getResultRow

The getResultRow method returns an object containing the entire data of a single Row in the result Table of the given query.

getResultRow(
  queryId: string,
  rowId: string,
): Row
TypeDescription
queryIdstring

The Id of a query.

rowIdstring

The Id of the Row in the result Table.

returnsRow

An object containing the entire data of the Row in the result Table of the query.

This has the same behavior as a Store's getRow method. For example, if the query or Row 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 Row Id) to get the result Row.

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