# core/selectors/record.selector.ts

> 12 lines of code and 1 definition.

Tree: GovLab Patterns
Language: typescript
Layer: application
Canonical: https://banes-lab.com/anatomy/patterns#file-patterns-core-selectors-record-selector-ts
Source text: https://banes-lab.com/source/patterns/core/selectors/record.selector.ts.txt

Listed in [core/selectors](https://banes-lab.com/api/source/patterns/core/selectors.md), after [core/selectors/counter.selector.ts](https://banes-lab.com/source/patterns/core/selectors/counter.selector.ts.md) and before [core/selectors/representation.selector.ts](https://banes-lab.com/source/patterns/core/selectors/representation.selector.ts.md).

## Definitions

- `foldRecords` (lexical_declaration, line 3, exported)

## Contained in

- [core/selectors](https://banes-lab.com/anatomy/patterns/folder-patterns-core-selectors.md)

## Uses

- [core/predicates/record.predicate.ts](https://banes-lab.com/source/patterns/core/predicates/record.predicate.ts.md)

## Used by

- [core/aggregators/representation.distribution.aggregator.ts](https://banes-lab.com/source/patterns/core/aggregators/representation.distribution.aggregator.ts.md)
- [core/aggregators/representation.graph.aggregator.ts](https://banes-lab.com/source/patterns/core/aggregators/representation.graph.aggregator.ts.md)
- [core/aggregators/representation.grid.aggregator.ts](https://banes-lab.com/source/patterns/core/aggregators/representation.grid.aggregator.ts.md)
- [core/aggregators/representation.sequence.aggregator.ts](https://banes-lab.com/source/patterns/core/aggregators/representation.sequence.aggregator.ts.md)
- [core/aggregators/representation.tree.aggregator.ts](https://banes-lab.com/source/patterns/core/aggregators/representation.tree.aggregator.ts.md)
- [core/aggregators/representation.vector.aggregator.ts](https://banes-lab.com/source/patterns/core/aggregators/representation.vector.aggregator.ts.md)

## Linked from

- [core/aggregators](https://banes-lab.com/anatomy/patterns/folder-patterns-core-aggregators.md)
- [core/predicates](https://banes-lab.com/anatomy/patterns/folder-patterns-core-predicates.md)

## Source

```typescript
import { isRecord } from "#core/predicates/record.predicate";

export const foldRecords = function foldRecords(
    chunk: readonly unknown[],
    field: string,
    observe: (value: unknown) => void,
): void {
    for (const record of chunk) {
        if (isRecord(record) && field in record) {
            observe(record[field]);
        }
    }
};
```
