# core/coordinators/learning.coordinator.ts

> 14 lines of code and 2 definitions.

Tree: Bane's Lab Build Scripts
Language: typescript
Layer: application
Canonical: https://banes-lab.com/anatomy/build-scripts#file-build-scripts-core-coordinators-learning-coordinator-ts
Source text: https://banes-lab.com/source/build-scripts/core/coordinators/learning.coordinator.ts.txt

Listed in [core/coordinators](https://banes-lab.com/api/source/build-scripts/core/coordinators.md), after [core/coordinators/icons.coordinator.ts](https://banes-lab.com/source/build-scripts/core/coordinators/icons.coordinator.ts.md) and before [core/coordinators/link.coordinator.ts](https://banes-lab.com/source/build-scripts/core/coordinators/link.coordinator.ts.md).

## Definitions

- `buildLearningMap` (lexical_declaration, line 8, exported)
- `blocks` (lexical_declaration, line 12, exported)

## Contained in

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

## Uses

- [core/formatters/learning.formatter.ts](https://banes-lab.com/source/build-scripts/core/formatters/learning.formatter.ts.md)

## Linked from

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

## Source

```typescript
import type { Block, LearningRouter, TabsFor } from "#types/learning.types";
import { teachingBlocks, teachingRoute } from "#core/converters/learning.converter";
import { absolutePath } from "@ssot/paths";
import { loadContentGraphs } from "@banes-lab/content/core/loaders/coverage.loader.ts";
import { renderLearning } from "#core/formatters/learning.formatter";
import { writeCanonicalText } from "@govlab/canonical-write";

export const buildLearningMap = async function buildLearningMap(
    router: LearningRouter,
    tabsFor: TabsFor,
): Promise<readonly Block[]> {
    const blocks = teachingBlocks(teachingRoute(router, await loadContentGraphs(), tabsFor));
    await writeCanonicalText(absolutePath("app.learning"), renderLearning(blocks));
    return blocks;
};
```
