UNPKG

tav-ui

Version:
101 lines (96 loc) 2.74 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var is = require('./is2.js'); const noop = () => { }; function getPopupContainer(node) { return node?.parentNode ?? document.body; } function setObjToUrlParams(baseUrl, obj) { let parameters = ""; for (const key in obj) parameters += `${key}=${encodeURIComponent(obj[key])}&`; parameters = parameters.replace(/&$/, ""); return /\?$/.test(baseUrl) ? baseUrl + parameters : baseUrl.replace(/\/?$/, "?") + parameters; } function deepMerge(src = {}, target = {}) { let key; for (key in target) src[key] = is.isObject(src[key]) ? deepMerge(src[key], target[key]) : src[key] = target[key]; return src; } function openWindow(url, opt) { const { target = "__blank", noopener = true, noreferrer = true } = opt || {}; const feature = []; noopener && feature.push("noopener=yes"); noreferrer && feature.push("noreferrer=yes"); window.open(url, target, feature.join(",")); } function getDynamicProps(props) { const ret = {}; Object.keys(props).forEach((key) => { ret[key] = vue.unref(props[key]); }); return ret; } function clearAndUpper(text) { return text.replace(/-/, "").toUpperCase(); } function kebabCaseToCamelCase(text) { return text.replace(/-\w/g, clearAndUpper); } function kebabCaseToPascalCase(text) { return text.replace(/(^\w|-\w)/g, clearAndUpper); } function numberToCNText(number) { const data = { 0: "\u96F6", 1: "\u4E00", 2: "\u4E8C", 3: "\u4E09", 4: "\u56DB", 5: "\u4E94", 6: "\u516D", 7: "\u4E03", 8: "\u516B", 9: "\u4E5D" }; return data[`${number}`]; } function getPropByPath(obj, path, returnType = "all") { let tempObj = JSON.parse(JSON.stringify(obj)); path = path.replace(/\[(\w+)\]/g, ".$1"); path = path.replace(/^\./, ""); const keyArr = path.split("."); let i = 0; for (let len = keyArr.length; i < len - 1; ++i) { if (!tempObj) break; const key = keyArr[i]; if (key in tempObj) tempObj = tempObj[key]; else break; } const result = { o: tempObj, k: keyArr[i], v: tempObj && tempObj[keyArr[i]] ? tempObj[keyArr[i]] : null }; if (returnType === "value") return result.v; else return result; } exports.deepMerge = deepMerge; exports.getDynamicProps = getDynamicProps; exports.getPopupContainer = getPopupContainer; exports.getPropByPath = getPropByPath; exports.kebabCaseToCamelCase = kebabCaseToCamelCase; exports.kebabCaseToPascalCase = kebabCaseToPascalCase; exports.noop = noop; exports.numberToCNText = numberToCNText; exports.openWindow = openWindow; exports.setObjToUrlParams = setObjToUrlParams; //# sourceMappingURL=basic2.js.map