# types/route.types.ts

> 15 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-route-types-ts
Source text: https://banes-lab.com/source/build-scripts/types/route.types.ts.txt

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

## Definitions

- `RouteDates` (interface_declaration, line 1, exported)
- `RouteStamp` (interface_declaration, line 6, exported)
- `HeldStamp` (type_alias_declaration, line 10, exported)
- `RouteLedger` (type_alias_declaration, line 12, exported)
- `RouteStamps` (type_alias_declaration, line 14, exported)
- `StampedRoutes` (interface_declaration, line 16, exported)

## Contained in

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

## Source

```typescript
export interface RouteDates {
    readonly lastmod: string;
    readonly published: string;
}

export interface RouteStamp extends RouteDates {
    readonly fingerprint: string;
}

export type HeldStamp = Omit<RouteStamp, "published"> & Partial<Pick<RouteStamp, "published">>;

export type RouteLedger = Readonly<Partial<Record<string, HeldStamp>>>;

export type RouteStamps = ReadonlyMap<string, string>;

export interface StampedRoutes {
    readonly dates: ReadonlyMap<string, RouteDates>;
    readonly ledger: Readonly<Record<string, RouteStamp>>;
    readonly stamps: RouteStamps;
}
```
