UNPKG

hangul-util

Version:
84 lines (83 loc) 2.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.chunkAtEnd = chunkAtEnd; exports.getNestedProperty = getNestedProperty; exports.isNumber = isNumber; exports.makePercentByObject = makePercentByObject; exports.reverseByArray = reverseByArray; exports.reverseByObject = reverseByObject; exports.splitByKey = splitByKey; exports.zeroPad = zeroPad; function isNumber(input) { return typeof input === "number" && !isNaN(input); } function splitByKey() { var _key$match; var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; return (_key$match = key.match(/[ㄱ-힣a-zA-Z0-9]+/g)) !== null && _key$match !== void 0 ? _key$match : []; } function getNestedProperty() { var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var object = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var _key = typeof key === "string" ? splitByKey(key) : key; if (!_key.length) return undefined; return _key === null || _key === void 0 ? void 0 : _key.reduce(function (acc, v) { return acc === null || acc === void 0 ? void 0 : acc[v]; }, object); } function zeroPad() { var string = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var pow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var pad = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "0"; var result = String(string); var padString = String(pad); for (var i = pow - result.length; i > 0; i--) { result = padString + result; } return result; } function chunkAtEnd() { var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; var result = []; var start = value.length; while ((start -= n) > 0) { result.push(value.substring(start, start + n)); } if (start > -n) { result.push(value.substring(0, start + n)); } return result; } function makePercentByObject(object) { var result = {}; var sum = 0; for (var key in object) { sum += object[key]; } for (var _key2 in object) { if (isNumber(object[_key2])) { result[_key2] = Number((object[_key2] / sum * 100).toFixed(2)); } } return result; } function reverseByObject(object) { var result = {}; for (var key in object) { result[object[key]] = key; } return result; } function reverseByArray(array) { var result = []; for (var index = 0; index < array.length; index++) { if (Array.isArray(array[index])) { array[index] = reverseByArray(array[index]); } result.unshift(array[index]); } return result; }