UNPKG

hangul-romanization

Version:
33 lines (32 loc) 1.65 kB
"use strict"; /** * @license MIT Copyright 2016 Daniel Imms (http://www.growingwiththeweb.com) */ Object.defineProperty(exports, "__esModule", { value: true }); exports.convert = void 0; var revisedRomanizationOfKorean_1 = require("./conversionSystems/revisedRomanizationOfKorean"); var UNICODE_OFFSET = 44032; var UNICODE_MAX = 55215; function convertCharacter(char) { var charCode = char.charCodeAt(0); var isHangul = charCode >= UNICODE_OFFSET && charCode < UNICODE_MAX; if (isHangul) { var unicodeOffset = charCode - UNICODE_OFFSET; var trailerOffset = unicodeOffset % revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.consonants.final.length; unicodeOffset -= trailerOffset; unicodeOffset /= revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.consonants.final.length; var vowelOffset = unicodeOffset % revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.vowels.length; unicodeOffset -= vowelOffset; unicodeOffset /= revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.vowels.length; var leadOffset = unicodeOffset; var result = revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.consonants.initial[leadOffset] + revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.vowels[vowelOffset] + revisedRomanizationOfKorean_1.REVISED_ROMANIZATION_OF_KOREAN.consonants.final[trailerOffset]; return result; } return char; } function convert(text) { return text.split('').map(convertCharacter).join(''); } exports.convert = convert;