TinyBase logoTinyBase

getStoreStats

The getStoreStats method provides a set of statistics about the Store, and is used for debugging purposes.

getStoreStats(detail?: boolean): StoreStats
TypeDescription
detail?boolean

An optional boolean that indicates more detailed stats about the inner structure of the Store should be returned.

returnsStoreStats

A StoreStats object containing statistics about the Store.

Examples

This example creates a Tools object and gets basic statistics about it.

const store = createStore()
  .setTable('pets', {
    fido: {species: 'dog', color: 'brown'},
    felix: {species: 'cat', color: 'black'},
    cujo: {species: 'dog', color: 'black'},
  })
  .setTable('species', {
    dog: {price: 5},
    cat: {price: 4},
  })
  .setValues({open: true, employees: 3});
const tools = createTools(store);
console.log(tools.getStoreStats());
// -> {totalTables: 2, totalRows: 5, totalCells: 8, totalValues: 2, jsonLength: 212}

This example creates a Tools object and gets detailed statistics about it.

const store = createStore()
  .setTable('pets', {
    fido: {species: 'dog', color: 'brown'},
    felix: {species: 'cat', color: 'black'},
    cujo: {species: 'dog', color: 'black'},
  })
  .setTable('species', {
    dog: {price: 5},
    cat: {price: 4},
  });
const stats = createTools(store).getStoreStats(true);

console.log(stats.totalTables);
// -> 2
console.log(stats.totalRows);
// -> 5
console.log(stats.totalCells);
// -> 8
console.log(stats.detail.tables.pets.tableRows);
// -> 3
console.log(stats.detail.tables.pets.tableCells);
// -> 6
console.log(stats.detail.tables.pets.rows);
// -> {fido: {rowCells: 2}, felix: {rowCells: 2}, cujo: {rowCells: 2}}

Since

v2.2.0