1 | export const typeTrans = (
|
2 | data: any,
|
3 | type: string
|
4 | ) => {
|
5 |
|
6 | if (type === 'boolean') {
|
7 | return data.toLowerCase() === 'false' ? false : true;
|
8 | }
|
9 |
|
10 | if (type === 'Boolean') {
|
11 | return !!data;
|
12 | }
|
13 |
|
14 | if (type === 'int') {
|
15 | return parseInt(data, 10);
|
16 | }
|
17 |
|
18 | if (type === 'Int') {
|
19 | return (isNaN(parseInt(data, 10)) ? 0 : parseInt(data, 10));
|
20 | }
|
21 |
|
22 | if (type === 'float') {
|
23 | return parseFloat(data, 10);
|
24 | }
|
25 |
|
26 | if (type === 'string') {
|
27 | return data.toString();
|
28 | }
|
29 | };
|
30 |
|
31 |
|
32 |
|
33 |
|
34 | export const typeCharge = (
|
35 | str: string
|
36 | ) => {
|
37 | try {
|
38 | str = str.trim();
|
39 | const stringReg = /^(['"])(.*)\1$/;
|
40 | const arrayReg = /^\[\]$/;
|
41 | const objectReg = /^\{\}$/;
|
42 |
|
43 |
|
44 | if (stringReg.test(str)) {
|
45 |
|
46 | str = str.match(stringReg).pop();
|
47 | return str;
|
48 | }
|
49 |
|
50 | if (arrayReg.test(str)) {
|
51 | return [];
|
52 | }
|
53 |
|
54 | if (objectReg.test(str)) {
|
55 | return {};
|
56 | }
|
57 |
|
58 |
|
59 | let num = parseFloat(str);
|
60 | let boo = str === 'false' ? false : (str === 'true' ? true: '');
|
61 | str = num || boo !== '' ? num || boo : str;
|
62 | return str;
|
63 | } catch (e) {
|
64 | return str;
|
65 | }
|
66 | };
|
67 |
|
68 | export const objToArray = (
|
69 | data: Array,
|
70 | key: string
|
71 | ) => {
|
72 | try {
|
73 | let arr = [];
|
74 | for (let i = 0 ;i < data.length; i++) {
|
75 |
|
76 | arr = arr.concat(data[i][key]);
|
77 | }
|
78 |
|
79 | return arr;
|
80 | } catch (e) {
|
81 | return [];
|
82 | };
|
83 | };
|