UNPKG

tav-ui

Version:
1 lines 6.7 kB
{"version":3,"file":"basic2.mjs","sources":["../../../../../packages/utils/basic.ts"],"sourcesContent":["import { unref } from 'vue'\nimport { isObject } from './is'\n\ndeclare type TargetContext = '_self' | '_blank'\ndeclare type Recordable<T = any> = Record<string, T>\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const noop = () => {}\n\n/**\n * @description: Set ui mount node\n */\nexport function getPopupContainer(node?: HTMLElement): HTMLElement {\n return (node?.parentNode as HTMLElement) ?? document.body\n}\n\n/**\n * Add the object as a parameter to the URL\n * @param baseUrl url\n * @param obj\n * @returns {string}\n * eg:\n * let obj = {a: '3', b: '4'}\n * setObjToUrlParams('www.baidu.com', obj)\n * ==>www.baidu.com?a=3&b=4\n */\nexport function setObjToUrlParams(baseUrl: string, obj: any): string {\n let parameters = ''\n for (const key in obj) parameters += `${key}=${encodeURIComponent(obj[key])}&`\n\n parameters = parameters.replace(/&$/, '')\n return /\\?$/.test(baseUrl) ? baseUrl + parameters : baseUrl.replace(/\\/?$/, '?') + parameters\n}\n\nexport function deepMerge<T = any>(src: any = {}, target: any = {}): T {\n let key: string\n for (key in target)\n src[key] = isObject(src[key]) ? deepMerge(src[key], target[key]) : (src[key] = target[key])\n\n return src\n}\n\nexport function openWindow(\n url: string,\n opt?: { target?: TargetContext | string; noopener?: boolean; noreferrer?: boolean }\n) {\n const { target = '__blank', noopener = true, noreferrer = true } = opt || {}\n const feature: string[] = []\n\n noopener && feature.push('noopener=yes')\n noreferrer && feature.push('noreferrer=yes')\n\n window.open(url, target, feature.join(','))\n}\n\n// dynamic use hook props\nexport function getDynamicProps<T, U>(props: T): Partial<U> {\n const ret: Recordable = {}\n\n Object.keys(props).forEach((key) => {\n ret[key] = unref((props as Recordable)[key])\n })\n\n return ret as Partial<U>\n}\n\nfunction clearAndUpper(text) {\n return text.replace(/-/, '').toUpperCase()\n}\n\nexport function kebabCaseToCamelCase(text) {\n return text.replace(/-\\w/g, clearAndUpper)\n}\n\nexport function kebabCaseToPascalCase(text) {\n return text.replace(/(^\\w|-\\w)/g, clearAndUpper)\n}\n// 即将废弃\nexport function numberToCNText(number: number) {\n const data = {\n 0: '零',\n 1: '一',\n 2: '二',\n 3: '三',\n 4: '四',\n 5: '五',\n 6: '六',\n 7: '七',\n 8: '八',\n 9: '九',\n }\n\n return data[`${number}`]\n}\n\n/**\n * 通过字符串 a.b.c 的形式来访问 obj 中的 c\n * @param obj\n * @param path\n * @param returnType value 则只返回当前匹配的值,没传的话返回所有信息\n * @returns\n */\nexport function getPropByPath(obj, path, returnType = 'all') {\n let tempObj = JSON.parse(JSON.stringify(obj))\n path = path.replace(/\\[(\\w+)\\]/g, '.$1')\n path = path.replace(/^\\./, '')\n\n const keyArr = path.split('.')\n let i = 0\n for (let len = keyArr.length; i < len - 1; ++i) {\n if (!tempObj) break\n const key = keyArr[i]\n if (key in tempObj) tempObj = tempObj[key]\n else break\n }\n\n const result = {\n o: tempObj,\n k: keyArr[i],\n v: tempObj && tempObj[keyArr[i]] ? tempObj[keyArr[i]] : null,\n }\n\n if (returnType === 'value') return result.v\n else return result\n}\n"],"names":[],"mappings":"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"}