# types/taxonomy.types.ts

> 55 lines of code and 9 definitions.

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

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

## Definitions

- `ContainerKind` (type_alias_declaration, line 1, exported)
- `ContainerStat` (interface_declaration, line 3, exported)
- `TaxonomyRootStats` (interface_declaration, line 9, exported)
- `VocabularyStat` (interface_declaration, line 20, exported)
- `UngovernedArea` (interface_declaration, line 27, exported)
- `TaxonomyTotals` (interface_declaration, line 32, exported)
- `TaxonomyStats` (interface_declaration, line 41, exported)
- `RootScan` (interface_declaration, line 51, exported)
- `AssessedFile` (interface_declaration, line 59, exported)

## Contained in

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

## Source

```typescript
export type ContainerKind = "bucket" | "declared";

export interface ContainerStat {
    files: number;
    kind: ContainerKind;
    name: string;
}

export interface TaxonomyRootStats {
    assessed: number;
    conformant: number;
    containers: ContainerStat[];
    declared: number;
    depth: Map<number, number>;
    overCap: number;
    present: number;
    root: string;
}

export interface VocabularyStat {
    declared: number;
    name: string;
    unused: number;
    used: number;
}

export interface UngovernedArea {
    area: string;
    files: number;
}

export interface TaxonomyTotals {
    assessed: number;
    atRoot: number;
    conformant: number;
    declared: number;
    overCap: number;
    present: number;
}

export interface TaxonomyStats {
    layers: { files: number; layer: string }[];
    maxDepth: number;
    roots: TaxonomyRootStats[];
    totals: TaxonomyTotals;
    ungoverned: UngovernedArea[];
    ungovernedFiles: number;
    vocabulary: VocabularyStat[];
}

export interface RootScan {
    layerHits: Map<string, number>;
    stats: TaxonomyRootStats;
    usedConcerns: Set<string>;
    usedSubjects: Set<string>;
    usedVariants: Set<string>;
}

export interface AssessedFile {
    readonly abs: string;
    readonly folders: readonly string[];
    readonly name: string;
}
```
