@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.
81 lines (80 loc) • 1.98 kB
JavaScript
import { deepFreeze } from "../helpers/deep-freeze.js";
/** An array containing all configurations. */
export const ALL_CONFIGURATIONS =
/* @__PURE__ */ deepFreeze([
"UPX",
"DPX",
"MSS",
"MSC",
"MSF",
"MDS",
"MDC",
"MDF",
"MFS",
"MFC",
"MFF",
"DSS",
"DSC",
"DSF",
"DDS",
"DDC",
"DDF",
"DFS",
"DFC",
"DFF",
]);
/** An object mapping from configurations to their Ithkuilic translations. */
export const CONFIGURATION_TO_ITHKUIL_MAP = /* @__PURE__ */ deepFreeze({
UPX: "",
DPX: "s",
DSS: "c",
DSC: "ks",
DSF: "ps",
DDS: "ţs",
DDC: "fs",
DDF: "š",
DFS: "č",
DFC: "kš",
DFF: "pš",
MSS: "t",
MSC: "k",
MSF: "p",
MDS: "ţ",
MDC: "f",
MDF: "ç",
MFS: "z",
MFC: "ž",
MFF: "ż",
});
/** An object mapping from configurations to their names. */
export const CONFIGURATION_TO_NAME_MAP = /* @__PURE__ */ deepFreeze({
UPX: "Uniplex",
DPX: "Duplex",
DSS: "Duplex Similar Separate",
DSC: "Duplex Similar Connected",
DSF: "Duplex Similar Fused",
DDS: "Duplex Dissimilar Separate",
DDC: "Duplex Dissimilar Connected",
DDF: "Duplex Dissimilar Fused",
DFS: "Duplex Fuzzy Separate",
DFC: "Duplex Fuzzy Connected",
DFF: "Duplex Fuzzy Fused",
MSS: "Multiplex Similar Separate",
MSC: "Multiplex Similar Connected",
MSF: "Multiplex Similar Fused",
MDS: "Multiplex Dissimilar Separate",
MDC: "Multiplex Dissimilar Connected",
MDF: "Multiplex Dissimilar Fused",
MFS: "Multiplex Fuzzy Separate",
MFC: "Multiplex Fuzzy Connected",
MFF: "Multiplex Fuzzy Fused",
});
/**
* Converts a configuration into Ithkuil.
*
* @param configuration The configuration to be converted.
* @returns Romanized Ithkuilic text representing the configuration.
*/
export function configurationToIthkuil(configuration) {
return CONFIGURATION_TO_ITHKUIL_MAP[configuration];
}