UNPKG

hangulx

Version:

Providing various utilities for Hangul

212 lines (211 loc) 7.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Consonant = void 0; var basic_consonants_1 = require("./constants/consonant/basic-consonants"); var double_consonants_1 = require("./constants/consonant/double-consonants"); var cluster_consonants_1 = require("./constants/consonant/cluster-consonants"); var CONSONANT_1 = require("./constants/CONSONANT"); var Consonant = /** @class */ (function () { function Consonant() { } Consonant.disassembleCompound = function (str) { var results = []; var length = str.length; for (var i = 0; i < length; ++i) { var char = str.charAt(i); if (cluster_consonants_1.clusterConsonantDisassembleMap.has(char)) { var disassembled = cluster_consonants_1.clusterConsonantDisassembleMap.get(char); if (typeof disassembled !== 'undefined') { results.push.apply(results, Array.from(disassembled)); continue; } } results.push(char); } return results; }; Consonant.disassembleCompoundToString = function (str) { return this.disassembleCompound(str).join(''); }; Consonant.disassembleDouble = function (str) { var results = []; var length = str.length; for (var i = 0; i < length; ++i) { var char = str.charAt(i); if (double_consonants_1.doubleConsonantDisassembleMap.has(char)) { var disassembled = double_consonants_1.doubleConsonantDisassembleMap.get(char); if (typeof disassembled !== 'undefined') { results.push.apply(results, Array.from(disassembled)); continue; } } results.push(char); } return results; }; Consonant.disassembleDoubleToString = function (str) { return this.disassembleDouble(str).join(''); }; /** * 주어진 문자 코드가 자음인지 확인합니다. * * Checks if the given char code is a consonant. * * @param charCode - 검사할 단일 문자 * @param charCode - The single character to check * @returns 자음 문자 코드면 true, 아니면 false * @returns true if the character is a consonant char code, otherwise false */ Consonant.isConsonantCharCode = function (charCode) { return charCode >= CONSONANT_1.CONSONANT.START_CHAR_CODE && charCode <= CONSONANT_1.CONSONANT.END_CHAR_CODE; }; /** * 주어진 문자가 자음인지 확인합니다. * * Checks if the given character is a consonant. * * @param char - 검사할 단일 문자 * @param char - The single character to check * @returns 자음이면 true, 아니면 false * @returns true if the character is a consonant, otherwise false */ Consonant.isConsonant = function (char) { return this.isConsonantCharCode(char.charCodeAt(0)); }; /** * 주어진 문자열의 모든 문자가 자음인지 확인합니다. * * Checks if all characters in the given string are consonants. * * @param str - 검사할 문자열 * @param str - The string to check * @returns 문자열의 모든 문자가 자음이면 true, 아니면 false * @returns true if all characters in the string are consonants, otherwise false */ Consonant.isConsonantAll = function (str) { var length = str.length; if (length === 0) { return false; } for (var i = 0; i < length; ++i) { if (!this.isConsonantCharCode(str.charCodeAt(i))) { return false; } } return true; }; /** * 주어진 문자열에 하나 이상의 자음이 포함되어 있는지 확인합니다. * * Checks if the given string contains at least one consonant. * * @param str - 검사할 문자열 * @param str - The string to check * @returns 자음이 하나라도 있으면 true, 없으면 false * @returns true if there is at least one consonant, otherwise false */ Consonant.hasConsonant = function (str) { var length = str.length; if (length === 0) { return false; } for (var i = 0; i < length; ++i) { if (this.isConsonantCharCode(str.charCodeAt(i))) { return true; } } return false; }; Consonant.isBasicConsonantCharCode = function (charCode) { return basic_consonants_1.basicConsonantCharCodeSet.has(charCode); }; Consonant.isBasicConsonant = function (char) { return basic_consonants_1.basicConsonantSet.has(char); }; Consonant.isBasicConsonantAll = function (str) { var length = str.length; if (length === 0) { return false; } for (var i = 0; i < length; ++i) { if (!this.isBasicConsonantCharCode(str.charCodeAt(i))) { return false; } } return true; }; Consonant.hasBasicConsonant = function (str) { var length = str.length; if (length === 0) { return false; } for (var i = 0; i < length; ++i) { if (this.isBasicConsonantCharCode(str.charCodeAt(i))) { return true; } } return false; }; Consonant.isDoubleConsonantCharCode = function (charCode) { return double_consonants_1.doubleConsonantCharCodeSet.has(charCode); }; Consonant.isDoubleConsonant = function (char) { return double_consonants_1.doubleConsonantSet.has(char); }; Consonant.isDoubleConsonantAll = function (str) { var length = str.length; if (length === 0) { return false; } for (var i = 0; i < length; ++i) { if (!this.isDoubleConsonantCharCode(str.charCodeAt(i))) { return false; } } return true; }; Consonant.hasDoubleConsonant = function (str) { var length = str.length; if (length === 0) { return false; } for (var i = 0; i < length; ++i) { if (this.isDoubleConsonantCharCode(str.charCodeAt(i))) { return true; } } return false; }; Consonant.isClusterConsonantCharCode = function (charCode) { return cluster_consonants_1.clusterConsonantCharCodeSet.has(charCode); }; Consonant.isClusterConsonant = function (char) { return cluster_consonants_1.clusterConsonantSet.has(char); }; Consonant.isClusterConsonantAll = function (str) { var length = str.length; if (length === 0) { return false; } for (var i = 0; i < length; ++i) { if (!this.isClusterConsonantCharCode(str.charCodeAt(i))) { return false; } } return true; }; Consonant.hasClusterConsonant = function (str) { var length = str.length; if (length === 0) { return false; } for (var i = 0; i < length; ++i) { if (this.isClusterConsonantCharCode(str.charCodeAt(i))) { return true; } } return false; }; return Consonant; }()); exports.Consonant = Consonant;