Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 1x 1x 13x 2x 11x 11x 11x 2x 2x 2x 2x 2x 1x 1x 6x 6x 11x | import { TYPE_NAME } from "../libs/types"; import { formatDate, isNotBasicType } from "./utils"; /** * @param {any} oriData - 目标数据 * @param {TYPE_NAME} typeName - 转换类型 * @return {any} */ export function transType<T>(oriData: any, typeName?: TYPE_NAME): any { if (isNotBasicType(oriData)) { return oriData; } let value: any = null; try { switch (typeName) { case 'string': value = `${oriData}`; break; case 'int': value = parseInt(oriData, 10); Iif (value !== value) { // NaN throw new Error('int类型转换失败'); } break; case 'flot': value = parseFloat(oriData); if (value !== value) { // NaN throw new Error('flot类型转换失败'); } break; case 'boolean': value = Boolean(oriData); break; case 'date': value = formatDate(oriData, 'Y-M-D'); break; case 'time': value = formatDate(oriData, 'h:m:s'); break; case 'datetime': value = formatDate(oriData); break; default: value = oriData; break; } } catch (error) { value = oriData; console.error(`${oriData}类型转换失败:${error}`); } return value as T; } |