hangul-util
Version:
Korean Hangul Utils
31 lines (29 loc) • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.formatJosa = formatJosa;
exports.josa = josa;
var _constant = require("./constant");
function josa() {
var _josaCase$split$josaI;
var letter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
var _josa = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "이";
var hasJong = (letter.charCodeAt(letter.length - 1) - _constant.HANGUL_START_CHARCODE) % _constant.JONG_PERIOD > 0;
var josaIndex = hasJong ? 0 : 1;
var josa = _josa.replace(/\[|\]/g, "");
var josaCase = getJosaCasc(josa.split("/")[0]) || josa;
return (_josaCase$split$josaI = josaCase.split("/")[josaIndex]) !== null && _josaCase$split$josaI !== void 0 ? _josaCase$split$josaI : josa;
}
// 오늘[은/는] 사과[이/가]
function formatJosa() {
var letter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
return letter.replace(/[가-힣]\[[가-힣]+\/[가-힣]+\]/g, function (match) {
return match[0] + josa(match[0], match.slice(1));
});
}
function getJosaCasc() {
var _JOSA_LIST$josa;
var josa = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
return (_JOSA_LIST$josa = _constant.JOSA_LIST[josa]) !== null && _JOSA_LIST$josa !== void 0 ? _JOSA_LIST$josa : josa;
}