feat: funjia工具库v1.0.0版本

This commit is contained in:
2024-08-25 16:31:47 +08:00
commit 07908bb596
16 changed files with 601 additions and 0 deletions
Vendored
+23
View File
@@ -0,0 +1,23 @@
/**
* 日期格式化
*/
export declare const formatDateTime: (time: string | Date, template?: string) => string | Date;
/**
* 日期格式化
*/
export declare const fDT: (time: string | Date, template?: string) => string | Date;
/**
* 转换日期格式并带T
* 2022/2/9 19:33:33 => 2022-02-09T19:33:33
* @param date
* @returns
*/
export declare const formDateTimeAddT: (date: string | Date) => string | Date;
/**
* 转换日期格式并带T
* 2022/2/9 19-33-33 => 2022-02-09T19-33-33
* @param date
* @returns
*/
export declare const fDTAT: (date: string | Date) => string | Date;
//# sourceMappingURL=date.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,eAAO,MAAM,cAAc,SACnB,MAAM,GAAG,IAAI,aACT,MAAM,kBAOjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG,SAbR,MAAM,GAAG,IAAI,aACT,MAAM,kBAYe,CAAC;AAElC;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,SAAU,MAAM,GAAG,IAAI,kBAEnD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,KAAK,SAVqB,MAAM,GAAG,IAAI,kBAUf,CAAC"}
+40
View File
@@ -0,0 +1,40 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fDTAT = exports.formDateTimeAddT = exports.fDT = exports.formatDateTime = void 0;
const dayjs_1 = __importDefault(require("dayjs"));
/**
* 日期格式化
*/
const formatDateTime = (time, template = "YYYY-MM-DD HH:mm:ss") => {
try {
return (0, dayjs_1.default)(time).format(template);
}
catch (_a) {
return time;
}
};
exports.formatDateTime = formatDateTime;
/**
* 日期格式化
*/
exports.fDT = exports.formatDateTime;
/**
* 转换日期格式并带T
* 2022/2/9 19:33:33 => 2022-02-09T19:33:33
* @param date
* @returns
*/
const formDateTimeAddT = (date) => {
return (0, exports.fDT)(date, "YYYY-MM-DDTHH:mm:ss");
};
exports.formDateTimeAddT = formDateTimeAddT;
/**
* 转换日期格式并带T
* 2022/2/9 19-33-33 => 2022-02-09T19-33-33
* @param date
* @returns
*/
exports.fDTAT = exports.formDateTimeAddT;
Vendored
+5
View File
@@ -0,0 +1,5 @@
export * from "./date";
export * from "./is";
export * from "./mapLib";
export * from "./parse";
//# sourceMappingURL=index.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
+16
View File
@@ -0,0 +1,16 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./date"), exports);
__exportStar(require("./is"), exports);
__exportStar(require("./mapLib"), exports);
__exportStar(require("./parse"), exports);
Vendored
+34
View File
@@ -0,0 +1,34 @@
/**
* 判断对象是否为空
*
* @param obj
* isEmpty(null)
* // => true
*
* isEmpty(undefined)
* // => true
*
* isEmpty("")
* // => true
*
* isEmpty(NaN)
* // => true
*
* isEmpty(0)
* // => false
*
* isEmpty([1])
* // => false
*
* isEmpty({name:"123"})
* // => false
*/
export declare const isEmpty: (obj: any) => boolean;
/**
* 判断是否有值
* 这个函数的结果就是对isEmpty取非
*/
export declare const isHaveRealValue: (value: any) => boolean;
export declare const isValidIP: (ip: string) => boolean;
export declare const isIp: (ip: string) => boolean;
//# sourceMappingURL=is.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../src/is.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,OAAO,QAAS,GAAG,YAU/B,CAAA;AAGD;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAW,GAAG,YAMzC,CAAC;AAGF,eAAO,MAAM,SAAS,OAAO,MAAM,YAGlC,CAAA;AAGD,eAAO,MAAM,IAAI,OANY,MAAM,YAMR,CAAC"}
+68
View File
@@ -0,0 +1,68 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isIp = exports.isValidIP = exports.isHaveRealValue = exports.isEmpty = void 0;
/**
* 判断对象是否为空
*
* @param obj
* isEmpty(null)
* // => true
*
* isEmpty(undefined)
* // => true
*
* isEmpty("")
* // => true
*
* isEmpty(NaN)
* // => true
*
* isEmpty(0)
* // => false
*
* isEmpty([1])
* // => false
*
* isEmpty({name:"123"})
* // => false
*/
const isEmpty = (obj) => {
if (typeof (obj) !== "number" && (obj === null || obj === "" || obj === undefined))
return true;
else {
if (typeof (obj) === "number" && isNaN(obj)) {
return true;
}
return false;
}
};
exports.isEmpty = isEmpty;
/**
* 判断是否有值
* 这个函数的结果就是对isEmpty取非
*/
const isHaveRealValue = (value) => {
let bool = false;
if (value || value === 0 || typeof value === 'boolean') {
bool = true;
}
return bool;
};
exports.isHaveRealValue = isHaveRealValue;
/* IP正则验证 */
const isValidIP = (ip) => {
var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
return reg.test(ip);
};
exports.isValidIP = isValidIP;
/* IP正则验证 */
exports.isIp = exports.isValidIP;
// export const isLocalhost = Boolean(
// window.location.hostname === 'localhost' ||
// // [::1] is the IPv6 localhost address.
// window.location.hostname === '[::1]' ||
// // 127.0.0.1/8 is considered localhost for IPv4.
// window.location.hostname.match(
// /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
// )
// );
Vendored
+65
View File
@@ -0,0 +1,65 @@
/**
* 获取中心坐标
*/
export default class CenterGps {
private rad2degr;
private degr2rad;
/**
* 计算多个经纬度的中心点 | 在一组坐标中获取中心坐标
* @param latLngInDeg array of arrays with latitude and longtitude
* pairs in degrees. e.g. [[latitude1, longtitude1], [latitude2
* [longtitude2] ...]
*
* @return array with the center latitude longtitude pairs in
* degrees.
*/
GetCenterFromDegrees(latLngInDegr: any[], latIdx?: number, lngIdx?: number): number[];
}
/**
* 验证经纬度格式
*/
export declare const VerifyCoordinate: (lat: string | number, lng: string | number) => boolean;
/**
* 判断给定坐标是否在多边形中
*/
export declare function isInPolygon(checkPoint: any, polygonPoints: any): boolean;
/**
* 判断一个点是否在圆的内部
* @param point 测试点坐标
* @param circle 圆心坐标
* @param r 圆半径
* 返回true为真,false为假
* */
export declare function pointInsideCircle(point: any, circle: any, r: any): boolean;
/**
* 火星坐标,GPS,转换
*/
export declare const Convert: {
PI: number;
x_pi: number;
delta: (lat: number, lng: number) => {
lat: number;
lon: number;
};
gcj_encrypt: (wgsLat: number, wgsLon: number) => {
lat: number;
lon: number;
};
/**
*百度坐标转高德(传入经度、纬度)
* @param bd_lng
* @param bd_lat
*/
bd_decrypt: (bd_lng: number, bd_lat: number) => {
lng: number;
lat: number;
};
bd_encrypt: (gg_lng: number, gg_lat: number) => {
bd_lat: number;
bd_lng: number;
};
outOfChina: (lat: number, lng: number) => boolean;
transformLat: (x: number, y: number) => number;
transformLon: (x: number, y: number) => number;
};
//# sourceMappingURL=mapLib.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"mapLib.d.ts","sourceRoot":"","sources":["../src/mapLib.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ;IAEhB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,MAAM,SAAI,EAAE,MAAM,SAAI;CA2BnE;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAS,MAAM,GAAG,MAAM,OAAO,MAAM,GAAG,MAAM,YAa1E,CAAA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,WAkC9D;AAED;;;;;;QAMQ;AACR,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,WAKhE;AAED;;GAEG;AACH,eAAO,MAAM,OAAO;;;iBAGM,MAAM,OAAO,MAAM;;;;0BAqBV,MAAM,UAAU,MAAM;;;;IAOrD;;;;OAIG;yBAC2B,MAAM,UAAU,MAAM;;;;yBAYtB,MAAM,UAAU,MAAM;;;;sBAYzB,MAAM,OAAO,MAAM;sBAOnB,MAAM,KAAK,MAAM;sBAOjB,MAAM,KAAK,MAAM;CAO/C,CAAC"}
+194
View File
@@ -0,0 +1,194 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Convert = exports.pointInsideCircle = exports.isInPolygon = exports.VerifyCoordinate = void 0;
/**
* 获取中心坐标
*/
class CenterGps {
rad2degr(rad) { return rad * 180 / Math.PI; }
degr2rad(degr) { return degr * Math.PI / 180; }
/**
* 计算多个经纬度的中心点 | 在一组坐标中获取中心坐标
* @param latLngInDeg array of arrays with latitude and longtitude
* pairs in degrees. e.g. [[latitude1, longtitude1], [latitude2
* [longtitude2] ...]
*
* @return array with the center latitude longtitude pairs in
* degrees.
*/
GetCenterFromDegrees(latLngInDegr, latIdx = 0, lngIdx = 1) {
var LATIDX = latIdx;
var LNGIDX = lngIdx;
var sumX = 0;
var sumY = 0;
var sumZ = 0;
for (var i = 0; i < latLngInDegr.length; i++) {
var lat = this.degr2rad(latLngInDegr[i][LATIDX]);
var lng = this.degr2rad(latLngInDegr[i][LNGIDX]);
// sum of cartesian coordinates
sumX += Math.cos(lat) * Math.cos(lng);
sumY += Math.cos(lat) * Math.sin(lng);
sumZ += Math.sin(lat);
}
var avgX = sumX / latLngInDegr.length;
var avgY = sumY / latLngInDegr.length;
var avgZ = sumZ / latLngInDegr.length;
// convert average x, y, z coordinate to latitude and longtitude
var lng = Math.atan2(avgY, avgX);
var hyp = Math.sqrt(avgX * avgX + avgY * avgY);
var lat = Math.atan2(avgZ, hyp);
return ([this.rad2degr(lat), this.rad2degr(lng)]);
}
}
exports.default = CenterGps;
/**
* 验证经纬度格式
*/
const VerifyCoordinate = (lat, lng) => {
var latreg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,}|90\.0{0,}|[0-8]?\d{1}|90)$/;
if (!latreg.test(lat.toString())) {
console.log("纬度整数部分为0-90,小数部分为0到6位!");
return false;
}
var longrg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,}|180)$/;
if (!longrg.test(lng.toString())) {
console.log("经度整数部分为0-180,小数部分为0到6位!");
return false;
}
return true;
};
exports.VerifyCoordinate = VerifyCoordinate;
/**
* 判断给定坐标是否在多边形中
*/
function isInPolygon(checkPoint, polygonPoints) {
var counter = 0;
var i;
var xinters;
var p1, p2;
var pointCount = polygonPoints.length;
p1 = polygonPoints[0];
for (i = 1; i <= pointCount; i++) {
p2 = polygonPoints[i % pointCount];
if (checkPoint[0] > Math.min(p1[0], p2[0]) &&
checkPoint[0] <= Math.max(p1[0], p2[0])) {
if (checkPoint[1] <= Math.max(p1[1], p2[1])) {
if (p1[0] != p2[0]) {
xinters =
(checkPoint[0] - p1[0]) *
(p2[1] - p1[1]) /
(p2[0] - p1[0]) +
p1[1];
if (p1[1] == p2[1] || checkPoint[1] <= xinters) {
counter++;
}
}
}
}
p1 = p2;
}
if (counter % 2 == 0) {
return false;
}
else {
return true;
}
}
exports.isInPolygon = isInPolygon;
/**
* 判断一个点是否在圆的内部
* @param point 测试点坐标
* @param circle 圆心坐标
* @param r 圆半径
* 返回true为真,false为假
* */
function pointInsideCircle(point, circle, r) {
if (r === 0)
return false;
var dx = circle[0] - point[0];
var dy = circle[1] - point[1];
return dx * dx + dy * dy <= r * r;
}
exports.pointInsideCircle = pointInsideCircle;
/**
* 火星坐标,GPS,转换
*/
exports.Convert = {
PI: 3.14159265358979324,
x_pi: 3.14159265358979324 * 3000.0 / 180.0,
delta: function (lat, lng) {
let lon = lng;
// Krasovsky 1940
//
// a = 6378245.0, 1/f = 298.3
// b = a * (1 - f)
// ee = (a^2 - b^2) / a^2;
let a = 6378245.0; // a: 卫星椭球坐标投影到平面地图坐标系的投影因子。
let ee = 0.00669342162296594323; // ee: 椭球的偏心率。
let dLat = this.transformLat(lon - 105.0, lat - 35.0);
let dLon = this.transformLon(lon - 105.0, lat - 35.0);
let radLat = lat / 180.0 * this.PI;
let magic = Math.sin(radLat);
magic = 1 - ee * magic * magic;
let sqrtMagic = Math.sqrt(magic);
dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * this.PI);
dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * this.PI);
return { 'lat': dLat, 'lon': dLon };
},
//GPS---高德
gcj_encrypt: function (wgsLat, wgsLon) {
if (this.outOfChina(wgsLat, wgsLon))
return { 'lat': wgsLat, 'lon': wgsLon };
let d = this.delta(wgsLat, wgsLon);
return { 'lat': wgsLat + d.lat, 'lon': wgsLon + d.lon };
},
/**
*百度坐标转高德(传入经度、纬度)
* @param bd_lng
* @param bd_lat
*/
bd_decrypt: function (bd_lng, bd_lat) {
var X_PI = Math.PI * 3000.0 / 180.0;
var x = bd_lng - 0.0065;
var y = bd_lat - 0.006;
var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI);
var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI);
var gg_lng = z * Math.cos(theta);
var gg_lat = z * Math.sin(theta);
return { lng: gg_lng, lat: gg_lat };
},
//高德坐标转百度(传入经度、纬度)
bd_encrypt: function (gg_lng, gg_lat) {
var X_PI = Math.PI * 3000.0 / 180.0;
var x = gg_lng, y = gg_lat;
var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);
var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI);
var bd_lng = z * Math.cos(theta) + 0.0065;
var bd_lat = z * Math.sin(theta) + 0.006;
return {
bd_lat: bd_lat,
bd_lng: bd_lng
};
},
outOfChina: function (lat, lng) {
if (lng < 72.004 || lng > 137.8347)
return true;
if (lat < 0.8293 || lat > 55.8271)
return true;
return false;
},
transformLat: function (x, y) {
let ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));
ret += (20.0 * Math.sin(6.0 * x * this.PI) + 20.0 * Math.sin(2.0 * x * this.PI)) * 2.0 / 3.0;
ret += (20.0 * Math.sin(y * this.PI) + 40.0 * Math.sin(y / 3.0 * this.PI)) * 2.0 / 3.0;
ret += (160.0 * Math.sin(y / 12.0 * this.PI) + 320 * Math.sin(y * this.PI / 30.0)) * 2.0 / 3.0;
return ret;
},
transformLon: function (x, y) {
let ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));
ret += (20.0 * Math.sin(6.0 * x * this.PI) + 20.0 * Math.sin(2.0 * x * this.PI)) * 2.0 / 3.0;
ret += (20.0 * Math.sin(x * this.PI) + 40.0 * Math.sin(x / 3.0 * this.PI)) * 2.0 / 3.0;
ret += (150.0 * Math.sin(x / 12.0 * this.PI) + 300.0 * Math.sin(x / 30.0 * this.PI)) * 2.0 / 3.0;
return ret;
}
};
+12
View File
@@ -0,0 +1,12 @@
{
"name": "funjialib",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"types": "./index.d.ts",
"description": ""
}
Vendored
+28
View File
@@ -0,0 +1,28 @@
/**
* 根据指定类型生成新类型的数据
* @param originalInfo 原始数据,需要转换类型的数据
* @param newInfo 转换类型之后的数据
*/
export declare function parseType<T>(originalInfo: any, newInfo: any, mapper?: [string[], string[]] | null): T;
/**
* 尝试获取子属性的值并且出错时可返回指定类型的默认值
* 链式获取数据
* {children:{children:{name,age}}} 获取name的值
* tryValue({children:{chidren:{name,age}}},["children","children","name"],"--")
* @param obj 原始对象
* @param names 按层级排列的子属性
* @param defV 指定返回的默认值
*/
export declare const tryValue: (obj: Array<any> | Object, names: any[], defV?: any) => any;
export declare const tV: (obj: Array<any> | Object, names: any[], defV?: any) => any;
/**
* 格式化表单
* 方法实现参考地址:https://www.cnblogs.com/yaowen/p/5574923.html
*/
export declare const formatForm: (data: any, defValue?: any) => any;
export declare const fF: (data: any, defValue?: any) => any;
/**
* 转换为数字
*/
export declare const parseNumber: (value: any) => number;
//# sourceMappingURL=parse.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAE,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAW,GAAG,CAAC,CA6B3G;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,QAAS,MAAM,GAAG,CAAC,GAAG,MAAM,SAAS,GAAG,EAAE,SAAQ,GAAG,QAsBzE,CAAA;AAED,eAAO,MAAM,EAAE,QAxBe,MAAM,GAAG,CAAC,GAAG,MAAM,SAAS,GAAG,EAAE,SAAQ,GAAG,QAwBhD,CAAC;AAE3B;;;GAGG;AACH,eAAO,MAAM,UAAU,SAAU,GAAG,aAAY,GAAG,QAoBlD,CAAA;AAED,eAAO,MAAM,EAAE,SAtBkB,GAAG,aAAY,GAAG,QAsBvB,CAAC;AAE7B;;GAEG;AACF,eAAO,MAAM,WAAW,UAAW,GAAG,WAMtC,CAAA"}
+111
View File
@@ -0,0 +1,111 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseNumber = exports.fF = exports.formatForm = exports.tV = exports.tryValue = exports.parseType = void 0;
const is_1 = require("./is");
/**
* 根据指定类型生成新类型的数据
* @param originalInfo 原始数据,需要转换类型的数据
* @param newInfo 转换类型之后的数据
*/
function parseType(originalInfo, newInfo, mapper = null) {
var _a;
if (originalInfo) {
if ((0, is_1.isEmpty)(mapper)) {
for (const name in newInfo) {
if (originalInfo.hasOwnProperty(name)) {
newInfo[name] = originalInfo[name];
}
}
}
else {
let fieldIdx = -1;
let originalFieldName = "";
let name;
for (name in newInfo) {
fieldIdx = mapper === null || mapper === void 0 ? void 0 : mapper[0].indexOf(name);
originalFieldName = ((_a = mapper === null || mapper === void 0 ? void 0 : mapper[1]) === null || _a === void 0 ? void 0 : _a[(0, is_1.isEmpty)(fieldIdx) ? -1 : (fieldIdx || 0)]) || "";
console.log(name, fieldIdx, originalFieldName, "字段:", originalFieldName);
if (originalFieldName) {
if (originalInfo.hasOwnProperty(originalFieldName)) {
newInfo[name] = originalInfo[originalFieldName];
}
}
}
}
}
else {
return newInfo;
}
return newInfo;
}
exports.parseType = parseType;
/**
* 尝试获取子属性的值并且出错时可返回指定类型的默认值
* 链式获取数据
* {children:{children:{name,age}}} 获取name的值
* tryValue({children:{chidren:{name,age}}},["children","children","name"],"--")
* @param obj 原始对象
* @param names 按层级排列的子属性
* @param defV 指定返回的默认值
*/
const tryValue = (obj, names, defV = null) => {
let _obj = obj;
const getDeepValue = (item, name) => {
return item[name];
};
try {
names.forEach(item => {
_obj = getDeepValue(_obj, item);
});
if ((0, is_1.isEmpty)(_obj)) {
return defV;
}
if (isNaN(_obj))
return defV;
else
return _obj;
}
catch (error) {
return defV;
}
};
exports.tryValue = tryValue;
exports.tV = exports.tryValue;
/**
* 格式化表单
* 方法实现参考地址:https://www.cnblogs.com/yaowen/p/5574923.html
*/
const formatForm = (data, defValue = undefined) => {
/**
* 格式化表单一
* 清楚字符串前后空格
*/
// 目前只对集合处理
if (data) {
const isObject = data.toString() == "[object Object]" ? true : false;
if (isObject) {
const objs = Object.keys(data), len = objs.length;
for (let i = 0; i < len; i++) {
if (typeof (data[objs[i]]) == "string") {
data[objs[i]] = data[objs[i]].trim();
}
const v = data[objs[i]];
data[objs[i]] = (0, is_1.isEmpty)(v) ? defValue : v;
}
}
}
return data;
};
exports.formatForm = formatForm;
exports.fF = exports.formatForm;
/**
* 转换为数字
*/
const parseNumber = (value) => {
const num = parseInt(value === null || value === void 0 ? void 0 : value.toString());
if (isNaN(num))
return 1;
else
return num;
};
exports.parseNumber = parseNumber;