tav-ui
Version:
101 lines (96 loc) • 2.74 kB
JavaScript
;
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