# types/validation.types.ts

> 32 lines of code and 6 definitions.

Tree: Bane's Lab Build Scripts
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/build-scripts#file-build-scripts-types-validation-types-ts
Source text: https://banes-lab.com/source/build-scripts/types/validation.types.ts.txt

Listed in [types](https://banes-lab.com/api/source/build-scripts/types.md), after [types/text.types.ts](https://banes-lab.com/source/build-scripts/types/text.types.ts.md).

## Definitions

- `Finding` (interface_declaration, line 1, exported)
- `Twins` (interface_declaration, line 6, exported)
- `PageArtifact` (interface_declaration, line 11, exported)
- `ValidationRoute` (interface_declaration, line 22, exported)
- `Seen` (interface_declaration, line 28, exported)
- `PageListing` (interface_declaration, line 33, exported)

## Contained in

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

## Source

```typescript
export interface Finding {
    readonly file: string;
    readonly message: string;
}

export interface Twins {
    readonly json: string | null;
    readonly markdown: string | null;
}

export interface PageArtifact {
    readonly alternates: Twins;
    readonly canonical: string | null;
    readonly description: string | null;
    readonly links: readonly string[];
    readonly robots: string | null;
    readonly schema: string | null;
    readonly text: string;
    readonly title: string;
}

export interface ValidationRoute {
    readonly page: string;
    readonly path: string;
    readonly tab: string | null;
}

export interface Seen {
    readonly descriptions: Set<string>;
    readonly titles: Set<string>;
}

export interface PageListing {
    readonly listed: (path: string) => boolean;
    readonly served: ReadonlySet<string>;
    readonly sitemap: string;
}
```
