# runtime/entrypoints/axis.entrypoint.ts

> 22 lines of code and 5 definitions.

Tree: GovLab Patterns
Language: typescript
Layer: runtime
Canonical: https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-axis-entrypoint-ts
Source text: https://banes-lab.com/source/patterns/runtime/entrypoints/axis.entrypoint.ts.txt

Listed in [runtime/entrypoints](https://banes-lab.com/api/source/patterns/runtime/entrypoints.md), before [runtime/entrypoints/pattern.entrypoint.ts](https://banes-lab.com/source/patterns/runtime/entrypoints/pattern.entrypoint.ts.md).

## Definitions

- `vocabulary` (lexical_declaration, line 12)
- `lists` (lexical_declaration, line 13)
- `text` (lexical_declaration, line 20)
- `target` (lexical_declaration, line 21)
- `counts` (lexical_declaration, line 23)

## Contained in

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

## Source

```typescript
import { createGovlabContext, patternVocabularyOf } from "@govlab/context";
import { AXIS_ARGV } from "#configuration/configs/invocation.config";
import { absolutePath } from "@ssot/paths";
import { axisGenerated } from "#configuration/strings/axis.strings";
import { basename } from "node:path";
import process from "node:process";
import { resolveArgv } from "@govlab/argv";
import { writeCanonicalText } from "@govlab/canonical-write";

resolveArgv(AXIS_ARGV);

const vocabulary = patternVocabularyOf(createGovlabContext().reason);
const lists: readonly (readonly [string, readonly string[]])[] = [
    ["ONTOLOGY_AXIS", vocabulary.ontology],
    ["ANALYSIS_AXIS", vocabulary.analysis],
    ["REPRESENTATION_AXIS", vocabulary.representation],
    ["REASONING_AXIS", vocabulary.reasoning],
    ["MATH_TYPE_AXIS", vocabulary.mathTypes],
];
const text = lists.map(([name, values]) => `export const ${name} = ${JSON.stringify(values)} as const;\n`).join("\n");
const target = absolutePath("govlab.patterns.axis");
await writeCanonicalText(target, text);
const counts = lists.map(([name, values]) => `${name} ${values.length}`).join(", ");
process.stdout.write(axisGenerated(basename(target), counts));
```
