# types/walk.types.ts

> 52 lines of code and 10 definitions.

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

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

## Definitions

- `WalkNode` (interface_declaration, line 1, exported)
- `Axial` (interface_declaration, line 13, exported)
- `Cell` (interface_declaration, line 18, exported)
- `WalkCell` (interface_declaration, line 24, exported)
- `PackedRow` (type_alias_declaration, line 36, exported)
- `PackedCells` (interface_declaration, line 38, exported)
- `Point` (interface_declaration, line 43, exported)
- `HexGridOptions` (interface_declaration, line 48, exported)
- `StateRule` (interface_declaration, line 53, exported)
- `LegendItem` (interface_declaration, line 58, exported)

## Contained in

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

## Source

```typescript
export interface WalkNode {
    depth: number;
    role: string;
    label: string;
    name?: string;
    line?: number;
    text?: string;
    file?: string;
    state?: string;
    tip?: string;
}

export interface Axial {
    q: number;
    r: number;
}

export interface Cell {
    at: Axial;
    node: WalkNode;
    state: string;
}

export interface WalkCell {
    ref: string;
    state: string;
    depth: number;
    label: string;
    file: string;
    line: number | null;
    name: string;
    text: string;
    severity: string | null;
}

export type PackedRow = [string, number, string, string, number | null, string, string, string | null];

export interface PackedCells {
    columns: readonly string[];
    rows: PackedRow[];
}

export interface Point {
    x: number;
    y: number;
}

export interface HexGridOptions {
    title?: string;
    flagged?: ReadonlyMap<string, string>;
}

export interface StateRule {
    state: string;
    tokens: readonly string[];
}

export interface LegendItem {
    state: string;
    text: string;
}
```
