# core/selectors/base.selector.ts

> 17 lines of code and 4 definitions.

Tree: Bane's Lab Build Scripts
Language: typescript
Layer: application
Canonical: https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-selectors-base-selector-ts
Source text: https://banes-lab.com/source/build-scripts/core/selectors/base.selector.ts.txt

Listed in [core/selectors](https://banes-lab.com/api/source/build-scripts/core/selectors.md), before [core/selectors/catalog.selector.ts](https://banes-lab.com/source/build-scripts/core/selectors/catalog.selector.ts.md).

## Definitions

- `numberAt` (lexical_declaration, line 5, exported)
- `recordAt` (lexical_declaration, line 10, exported)
- `entriesAt` (lexical_declaration, line 18, exported)
- `value` (lexical_declaration, line 19, exported)

## Contained in

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

## Used by

- [core/adapters/browser.adapter.ts](https://banes-lab.com/source/build-scripts/core/adapters/browser.adapter.ts.md)
- [core/converters/browser.converter.ts](https://banes-lab.com/source/build-scripts/core/converters/browser.converter.ts.md)

## Linked from

- [core/adapters](https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-core-adapters.md)
- [core/converters](https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-core-converters.md)

## Source

```typescript
import { isRecord } from "@banes-lab/content/core/selectors/payload.selector.ts";

export { isRecord, textAt } from "@banes-lab/content/core/selectors/payload.selector.ts";

export const numberAt = function numberAt(source: Record<string, unknown>, key: string): number | null {
    const value = source[key];
    return typeof value === "number" ? value : null;
};

export const recordAt = function recordAt(
    source: Record<string, unknown>,
    key: string,
): Record<string, unknown> | null {
    const value = source[key];
    return isRecord(value) ? value : null;
};

export const entriesAt = function entriesAt(source: Record<string, unknown>, key: string): unknown[] {
    const value = source[key];
    return Array.isArray(value) ? value : [];
};
```
