@zsnout/ithkuil
Version:
A set of tools which can generate and parse romanized Ithkuil text and which can generate Ithkuil script from text and JSON data.
44 lines (43 loc) • 1.54 kB
TypeScript
import type { VNType } from "./vn-type.js";
/** A mood. */
export type Mood = "FAC" | "SUB" | "ASM" | "SPC" | "COU" | "HYP";
/** An array containing all moods. */
export declare const ALL_MOODS: readonly Mood[];
/** An object mapping moods to their Ithkuilic translations. */
export declare const MOOD_TO_ITHKUIL_MAP: {
readonly false: {
readonly FAC: "h";
readonly SUB: "hl";
readonly ASM: "hr";
readonly SPC: "hm";
readonly COU: "hn";
readonly HYP: "hň";
};
readonly true: {
readonly FAC: "w";
readonly SUB: "hw";
readonly ASM: "hrw";
readonly SPC: "hmw";
readonly COU: "hnw";
readonly HYP: "hňw";
};
};
/** An object mapping moods to their names. */
export declare const MOOD_TO_NAME_MAP: {
readonly FAC: "Factual";
readonly SUB: "Subjunctive";
readonly ASM: "Assumptive";
readonly SPC: "Speculative";
readonly COU: "Counterfactive";
readonly HYP: "Hypothetical";
};
/**
* Converts a mood into Ithkuil.
*
* @param mood The mood to be converted.
* @param vnType The type of Vn form associated with this mood. Use "aspect"
* when Vn contains an aspect, "non-aspect" when it contains a non-aspect, and
* "empty" when it has been elided due to the use of MNO valence.
* @returns Romanized Ithkuilic text representing the mood.
*/
export declare function moodToIthkuil(mood: Mood, vnType: VNType): "w" | "" | "h" | "hw" | "hl" | "hr" | "hm" | "hn" | "hň" | "hrw" | "hmw" | "hnw" | "hňw";