UNPKG

@future-widget-lab/record-set

Version:

A dedicated data structure for in-memory record collections, offering fluent, immutable APIs for MongoDB-like querying, sorting, and transformation.

22 lines (17 loc) 454 B
import sift from 'sift'; import type { Query } from 'sift'; type CountOptions<TRecord> = { query?: Query<TRecord>; records: Array<TRecord>; }; /** * @description * Use this helper to count the number of records matching the query. */ export const count = <TRecord>(options: CountOptions<TRecord>): number => { const { query, records } = options; if (!query) { return records.length; } return records.filter(sift(query)).length; };