@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.
45 lines (44 loc) • 1.75 kB
TypeScript
/** The scope of an affixual adjunct. */
export type AffixualAdjunctScope = "V:DOM" | "V:SUB" | "VII:DOM" | "VII:SUB" | "FORMATIVE" | "ADJACENT";
/** An array containing all affixual adjunct scopes. */
export declare const ALL_AFFIXUAL_ADJUNCT_SCOPES: readonly AffixualAdjunctScope[];
/**
* An object mapping from affixual adjunct scopes to their Ithkuilic
* translations.
*/
export declare const AFFIXUAL_ADJUNCT_SCOPE_TO_ITHKUIL_MAP: {
readonly vs: {
readonly "V:DOM": "a";
readonly "V:SUB": "u";
readonly "VII:DOM": "e";
readonly "VII:SUB": "i";
readonly FORMATIVE: "o";
readonly ADJACENT: "ö";
};
readonly cz: {
readonly "V:DOM": "h";
readonly "V:SUB": "'h";
readonly "VII:DOM": "'hl";
readonly "VII:SUB": "'hr";
readonly FORMATIVE: "hw";
readonly ADJACENT: "'hw";
};
};
/** An object mapping from affixual adjunct scopes to their names. */
export declare const AFFIXUAL_ADJUNCT_SCOPE_TO_NAME_MAP: {
readonly "V:DOM": "Last of Slot V";
readonly "V:SUB": "First of Slot V";
readonly "VII:DOM": "Last of Slot VII";
readonly "VII:SUB": "First of Slot VII";
readonly FORMATIVE: "Entire Formative";
readonly ADJACENT: "Formative + Affixes";
};
/**
* Converts an affixual adjunct scope into Ithkuil.
*
* @param scope The scope to be converted.
* @param type Whether this scope is used in a Vs, Cz, or Vz slot.
* @param omitWhenPossible Whether the default scope may be ommitted.
* @returns Romanized Ithkuilic text representing the affixual adjunct scope.
*/
export declare function affixualAdjunctScopeToIthkuil(scope: AffixualAdjunctScope, type: "vs" | "cz" | "vz", omitWhenPossible: boolean): string;