# core/predicates/axis.predicate.ts

> 23 lines of code and 8 definitions.

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

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

## Definitions

- `isOntologyTag` (lexical_declaration, line 14, exported)
- `isAnalysisTag` (lexical_declaration, line 18, exported)
- `isRepresentationTag` (lexical_declaration, line 22, exported)
- `isReasoningRung` (lexical_declaration, line 26, exported)
- `ONTOLOGY_SET` (lexical_declaration, line 9)
- `ANALYSIS_SET` (lexical_declaration, line 10)
- `REPRESENTATION_SET` (lexical_declaration, line 11)
- `REASONING_SET` (lexical_declaration, line 12)

## Contained in

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

## Used by

- [core/factories/axis.factory.ts](https://banes-lab.com/source/patterns/core/factories/axis.factory.ts.md)

## Linked from

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

## Source

```typescript
import {
    ANALYSIS_AXIS,
    ONTOLOGY_AXIS,
    REASONING_AXIS,
    REPRESENTATION_AXIS,
} from "#configuration/generated/axis.generated";
import type { AnalysisTag, OntologyTag, ReasoningRung, RepresentationTag } from "#types/axis.types";

const ONTOLOGY_SET: ReadonlySet<string> = new Set(ONTOLOGY_AXIS);
const ANALYSIS_SET: ReadonlySet<string> = new Set(ANALYSIS_AXIS);
const REPRESENTATION_SET: ReadonlySet<string> = new Set(REPRESENTATION_AXIS);
const REASONING_SET: ReadonlySet<string> = new Set(REASONING_AXIS);

export const isOntologyTag = function isOntologyTag(value: string): value is OntologyTag {
    return ONTOLOGY_SET.has(value);
};

export const isAnalysisTag = function isAnalysisTag(value: string): value is AnalysisTag {
    return ANALYSIS_SET.has(value);
};

export const isRepresentationTag = function isRepresentationTag(value: string): value is RepresentationTag {
    return REPRESENTATION_SET.has(value);
};

export const isReasoningRung = function isReasoningRung(value: string): value is ReasoningRung {
    return REASONING_SET.has(value);
};
```
