# types/finding.types.ts

> 42 lines of code and 8 definitions.

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

Listed in [types](https://banes-lab.com/api/source/docs/types.md), after [types/figure.types.ts](https://banes-lab.com/source/docs/types/figure.types.ts.md) and before [types/graph.types.ts](https://banes-lab.com/source/docs/types/graph.types.ts.md).

## Definitions

- `Finding` (interface_declaration, line 1, exported)
- `Categories` (type_alias_declaration, line 14, exported)
- `FindingSpec` (interface_declaration, line 16, exported)
- `DescribedFinding` (interface_declaration, line 23, exported)
- `PerDocEntry` (interface_declaration, line 31, exported)
- `NameFinding` (interface_declaration, line 36, exported)
- `CheckResult` (interface_declaration, line 41, exported)
- `DeadScriptRef` (interface_declaration, line 46, exported)

## Contained in

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

## Source

```typescript
export interface Finding {
    line?: number;
    col?: number;
    detail?: string;
    remediation?: string;
    code?: string;
    expected?: string;
    token?: string;
    message?: string;
    path?: string;
    term?: string;
}

export type Categories = Record<string, Finding[]>;

export interface FindingSpec {
    code: (hit: Finding) => string;
    column: (hit: Finding) => number;
    key: string;
    text: (hit: Finding) => string;
}

export interface DescribedFinding {
    category: string;
    code: string;
    col: number;
    line: number;
    text: string;
}

export interface PerDocEntry {
    all: Categories;
    relDoc: string;
}

export interface NameFinding {
    names: Finding[];
    relDoc: string;
}

export interface CheckResult {
    errors: string[];
    heals: string[];
}

export interface DeadScriptRef {
    path: string;
    script: string;
}
```
