UNPKG

@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.

76 lines (75 loc) 3.2 kB
import type { Aspect } from "../../formative/slot-8/aspect.js"; import type { CaseScope } from "../../formative/slot-8/case-scope.js"; import type { Effect } from "../../formative/slot-8/effect.js"; import type { Level } from "../../formative/slot-8/level.js"; import { type MoodOrCaseScope } from "../../formative/slot-8/mood-or-case-scope.js"; import type { Mood } from "../../formative/slot-8/mood.js"; import type { Phase } from "../../formative/slot-8/phase.js"; import type { Valence } from "../../formative/slot-8/valence.js"; import { type ModularAdjunctScope } from "./scope.js"; import { type ModularAdjunctType } from "./type.js"; export * from "./scope.js"; export * from "./type.js"; /** A modular adjunct. */ export type ModularAdjunct = { /** * The type of the modular adjunct, indicating whether it has scope over * the entire next formative, only the parent formative, or only the * concatenated formative. * * @default "WHOLE" */ readonly type?: ModularAdjunctType | undefined; readonly cn?: undefined; /** The single Aspect this adjunct represents. */ readonly vn1: Aspect; readonly vn2?: undefined; readonly vn3?: undefined; readonly scope?: undefined; } | { /** * The type of the modular adjunct, indicating whether it has scope over * the entire next formative, only the parent formative, or only the * concatenated formative. * * @default "WHOLE" */ readonly type?: ModularAdjunctType | undefined; /** The mood or case-scope of this adjunct. */ readonly cn?: Mood | CaseScope | MoodOrCaseScope | undefined; /** The first Valence/Phase/Level/Effect/Aspect marked by this adjunct. */ readonly vn1: Valence | Phase | Level | Effect | Aspect; /** The second Valence/Phase/Level/Effect/Aspect marked by this adjunct. */ readonly vn2?: Valence | Phase | Level | Effect | Aspect | undefined; /** * The third Valence/Phase/Level/Effect marked by this adjunct. `vn3` may * not be an Aspect. */ readonly vn3: Valence | Phase | Level | Effect; readonly scope?: undefined; } | { /** * The type of the modular adjunct, indicating whether it has scope over * the entire next formative, only the parent formative, or only the * concatenated formative. * * @default "WHOLE" */ readonly type?: ModularAdjunctType | undefined; /** The mood or case-scope of this adjunct. */ readonly cn?: Mood | CaseScope | MoodOrCaseScope | undefined; /** The first Valence/Phase/Level/Effect/Aspect marked by this adjunct. */ readonly vn1: Valence | Phase | Level | Effect | Aspect; /** The second Valence/Phase/Level/Effect/Aspect marked by this adjunct. */ readonly vn2?: Valence | Phase | Level | Effect | Aspect | undefined; readonly vn3?: undefined; /** The scope of this modular adjunct. */ readonly scope: ModularAdjunctScope; }; /** * Converts a modular adjunct into Ithkuil. * * @param adjunct The adjunct to be converted. * @returns Romanized Ithkuilic text representing the adjunct. */ export declare function modularAdjunctToIthkuil(adjunct: ModularAdjunct): string;