# core/resolvers/axis.resolver.ts

> 6 lines of code and 2 definitions.

Tree: GovLab Patterns
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/patterns#file-patterns-core-resolvers-axis-resolver-ts
Source text: https://banes-lab.com/source/patterns/core/resolvers/axis.resolver.ts.txt

Listed in [core/resolvers](https://banes-lab.com/api/source/patterns/core/resolvers.md), before [core/resolvers/math.resolver.ts](https://banes-lab.com/source/patterns/core/resolvers/math.resolver.ts.md).

## Definitions

- `reasoningRank` (lexical_declaration, line 6, exported)
- `REASONING_RANK` (lexical_declaration, line 4)

## Contained in

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

## Used by

- [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 { REASONING_AXIS } from "#configuration/generated/axis.generated";
import type { ReasoningRung } from "#types/axis.types";

const REASONING_RANK: ReadonlyMap<string, number> = new Map(REASONING_AXIS.map((rung, index) => [rung, index]));

export const reasoningRank = function reasoningRank(rung: ReasoningRung): number {
    return REASONING_RANK.get(rung) ?? -1;
};
```
