UNPKG

hangul-util

Version:
55 lines (54 loc) 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getLocal = getLocal; exports.getLocalByGroups = getLocalByGroups; var _utils = require("./utils"); var LANGUAGE_REGEXP = { ko: /^[가-힣|ㄱ-ㅎ|ㅏ-ㅣ|\s]+$/, en: /^[a-zA-Z|\s]+$/, number: /^[0-9]+$/, special: /^[\`\~\!\@\#\$\%\^\&\*\(\)\_\+\-\=\\\|\{\}\[\]\;\:\'\"\<\,\.\>\/\?\s]+$/, etc: /.*/ }; function getLocal() { var word = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; if (LANGUAGE_REGEXP["special"].test(word)) { return "special"; } if (LANGUAGE_REGEXP["ko"].test(word)) { return "ko"; } if (LANGUAGE_REGEXP["en"].test(word)) { return "en"; } if (LANGUAGE_REGEXP["number"].test(word)) { return "number"; } return "etc"; } function getLocalByGroups() { var word = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var isPercent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var countObject = { ko: 0, en: 0, number: 0, special: 0, etc: 0 }; var result = []; for (var index = 0; index < word.length; index++) { var language = getLocal(word[index]); if (isPercent) { countObject[language]++; } else { result.push(language); } } if (isPercent) { return (0, _utils.makePercentByObject)(countObject); } return result; }