# core/models/graph.model.ts

> 11 lines of code and 4 definitions.

Tree: GovLab Patterns
Language: typescript
Layer: domain
Canonical: https://banes-lab.com/anatomy/patterns#file-patterns-core-models-graph-model-ts
Source text: https://banes-lab.com/source/patterns/core/models/graph.model.ts.txt

Listed in [core/models](https://banes-lab.com/api/source/patterns/core/models.md).

## Definitions

- `validate` (method_definition, line 11, exported)
- `AnalysisGraph` (class_declaration, line 4, exported)
- `nodes` (public_field_definition, line 5, exported)
- `constructor` (method_definition, line 7, exported)

## Contained in

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

## Uses

- [core/validators/graph.validator.ts](https://banes-lab.com/source/patterns/core/validators/graph.validator.ts.md)

## Linked from

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

## Source

```typescript
import type { Node } from "#types/graph.types";
import { validateGraph } from "#core/validators/graph.validator";

export class AnalysisGraph {
    public readonly nodes: readonly Node[];

    public constructor(nodes: readonly Node[]) {
        this.nodes = nodes;
    }

    public validate(): void {
        validateGraph(this.nodes);
    }
}
```
