# types/record.types.ts

> 18 lines of code and 4 definitions.

Tree: GovLab Context
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/context#file-context-types-record-types-ts
Source text: https://banes-lab.com/source/context/types/record.types.ts.txt

Listed in [types](https://banes-lab.com/api/source/context/types.md), after [types/reason.types.ts](https://banes-lab.com/source/context/types/reason.types.ts.md) and before [types/reference.types.ts](https://banes-lab.com/source/context/types/reference.types.ts.md).

## Definitions

- `UnreadReason` (type_alias_declaration, line 1, exported)
- `UnreadKey` (interface_declaration, line 3, exported)
- `TrackedRecord` (interface_declaration, line 10, exported)
- `RecordOrigin` (interface_declaration, line 17, exported)

## Contained in

- [types](https://banes-lab.com/anatomy/context/folder-context-types.md)

## Source

```typescript
export type UnreadReason = "not-a-record" | "rejected" | "unread";

export interface UnreadKey {
    collection: string;
    key: string;
    reason: UnreadReason;
    record: string;
}

export interface TrackedRecord {
    delegated: Set<string>;
    raw: Record<string, unknown>;
    read: Set<string>;
    record: string;
}

export interface RecordOrigin {
    entry: TrackedRecord;
    prefix: string;
    target: Record<string, unknown>;
}
```
