configuration/constants/algorithm.constants.ts

configuration/constants/algorithm.constants.ts is a file in GovLab Context. 28 lines of code and 15 definitions.

import type { DomainTier } from "#types/algorithm.types";
import type { VocabularyEntry } from "#types/vocabulary.types";

export const DOMAIN_TIER_VOCABULARY = [
    {
        definition:
            "A domain whose contracts run at a stage of the derivation loop and carry a stage, an axis, a math type and a yield.",
        value: "process",
    },
    { definition: "A domain whose contracts carry a math type and a yield and run at no loop stage.", value: "leaf" },
    { definition: "A domain whose contracts carry no math type, yield or loop stage.", value: "exempt" },
] as const satisfies readonly VocabularyEntry[];

export const DOMAIN_TIER_VALUES: readonly DomainTier[] = DOMAIN_TIER_VOCABULARY.map((entry) => entry.value);

export const DOMAIN_TIERS = { exempt: "exempt", leaf: "leaf", process: "process" } as const satisfies Record<
    DomainTier,
    DomainTier
>;

export const TYPED_TIERS: ReadonlySet<string> = new Set([DOMAIN_TIERS.process, DOMAIN_TIERS.leaf]);

export const ALGO_SUBJECT = "algo";

export const SYMBOLS_KEY = "symbols";

export const TIER_KEY = "tier";

export const COMPOSES_RELATION = "composes";

export const CORE_DEGREE = 2;

export const SYMBOL_NAME_SEPARATOR = " ";

export const MIN_QUOTED_LENGTH = 2;

export const QUOTE_PAIR_COUNT = 2;

export const QUOTE = '"';

export const ALTERNATIVE_SEPARATOR = "|";

export const NONTERMINAL_OPEN = "<";