hangulx
Version:
Providing various utilities for Hangul
212 lines (211 loc) • 7.48 kB
JavaScript
"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;