# configuration/constants/lexicon.constants.ts

> 35 lines of code and 19 definitions.

Tree: GovLab Context
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/context#file-context-configuration-constants-lexicon-constants-ts
Source text: https://banes-lab.com/source/context/configuration/constants/lexicon.constants.ts.txt

Listed in [configuration/constants](https://banes-lab.com/api/source/context/configuration/constants.md), after [configuration/constants/layer.constants.ts](https://banes-lab.com/source/context/configuration/constants/layer.constants.ts.md) and before [configuration/constants/ontology.constants.ts](https://banes-lab.com/source/context/configuration/constants/ontology.constants.ts.md).

## Definitions

- `EXAMPLE_SHAPE_VOCABULARY` (lexical_declaration, line 4, exported)
- `EXAMPLE_SHAPE_VALUES` (lexical_declaration, line 17, exported)
- `EXAMPLE_SHAPES` (lexical_declaration, line 19, exported)
- `LEX_SUBJECT` (lexical_declaration, line 24, exported)
- `COLLECTION_CHECK_FILE` (lexical_declaration, line 26, exported)
- `ENFORCED_BY_KEY` (lexical_declaration, line 28, exported)
- `EXAMPLE_SHAPE_KEY` (lexical_declaration, line 30, exported)
- `FOLDER_SEPARATOR` (lexical_declaration, line 32, exported)
- `SEGMENT_SEPARATOR` (lexical_declaration, line 34, exported)
- `HYPHEN` (lexical_declaration, line 36, exported)
- `TAG_SUFFIX` (lexical_declaration, line 38, exported)
- `PLAIN_SEGMENTS` (lexical_declaration, line 40, exported)
- `VARIANT_SEGMENTS` (lexical_declaration, line 42, exported)
- `FILED_OPENINGS` (lexical_declaration, line 44, exported)
- `FOLDER_CLOSE` (lexical_declaration, line 46, exported)
- `SAME_NAME_CLAUSES` (lexical_declaration, line 48, exported)
- `MIRRORED_CLAUSE` (lexical_declaration, line 50, exported)
- `REFUSAL_OPENING` (lexical_declaration, line 52, exported)
- `WORD_CHARS` (lexical_declaration, line 54, exported)

## Contained in

- [configuration/constants](https://banes-lab.com/anatomy/context/folder-context-configuration-constants.md)

## Source

```typescript
import type { ExampleShape } from "#types/lexicon.types";
import type { VocabularyEntry } from "#types/vocabulary.types";

export const EXAMPLE_SHAPE_VOCABULARY = [
    {
        definition:
            "A category whose every term carries one file its tag places, written as the folder, a slash and the filename.",
        value: "placed-file",
    },
    {
        definition:
            "A category whose every term carries a rename from the refused word to a covering tag, with the same subject before and after.",
        value: "renamed-file",
    },
] as const satisfies readonly VocabularyEntry[];

export const EXAMPLE_SHAPE_VALUES: readonly ExampleShape[] = EXAMPLE_SHAPE_VOCABULARY.map((entry) => entry.value);

export const EXAMPLE_SHAPES = { placed: "placed-file", renamed: "renamed-file" } as const satisfies Record<
    string,
    ExampleShape
>;

export const LEX_SUBJECT = "lexicon";

export const COLLECTION_CHECK_FILE = "check.data.json";

export const ENFORCED_BY_KEY = "enforcedBy";

export const EXAMPLE_SHAPE_KEY = "exampleShape";

export const FOLDER_SEPARATOR = "/";

export const SEGMENT_SEPARATOR = ".";

export const HYPHEN = "-";

export const TAG_SUFFIX = "-tag";

export const PLAIN_SEGMENTS = 3;

export const VARIANT_SEGMENTS = 4;

export const FILED_OPENINGS = [" filed in an ", " filed in a "] as const;

export const FOLDER_CLOSE = " folder";

export const SAME_NAME_CLAUSES = ["plural in both folder and tag", "singular in both folder and tag"] as const;

export const MIRRORED_CLAUSE = "placed in its subject's mirrored concern folder";

export const REFUSAL_OPENING = "Tagging ";

export const WORD_CHARS: ReadonlySet<string> = new Set("abcdefghijklmnopqrstuvwxyz0123456789-");
```
