UNPKG

@cainiaofe/cn-utils

Version:

菜鸟前端基础工具库

81 lines (80 loc) 2.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidTimestamp = exports.isImage = exports.isObject = exports.isError = exports.isPlainObject = exports.isNaN = exports.isNumber = exports.isObjectLike = void 0; /** * Gets the `toStringTag` of `value`. * * @private * @param {*} value The value to query. * @returns {string} Returns the `toStringTag`. */ var path_browserify_1 = require("path-browserify"); var const_1 = require("./const"); function getTag(value) { if (value == null) { return value === undefined ? '[object Undefined]' : '[object Null]'; } return Object.prototype.toString.call(value); } var isObjectLike = function (value) { return typeof value === 'object' && value !== null; }; exports.isObjectLike = isObjectLike; var isNumber = function (value) { return typeof value === 'number' || ((0, exports.isObjectLike)(value) && getTag(value) == '[object Number]'); }; exports.isNumber = isNumber; var isNaN = function (value) { return (0, exports.isNumber)(value) && value != +value; }; exports.isNaN = isNaN; var isPlainObject = function (value) { if (!(0, exports.isObjectLike)(value) || getTag(value) != '[object Object]') { return false; } if (Object.getPrototypeOf(value) === null) { return true; } var proto = value; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(value) === proto; }; exports.isPlainObject = isPlainObject; var isError = function (value) { if (!(0, exports.isObjectLike)(value)) { return false; } var tag = getTag(value); return (tag == '[object Error]' || tag == '[object DOMException]' || (typeof value.message === 'string' && typeof value.name === 'string' && !(0, exports.isPlainObject)(value))); }; exports.isError = isError; var isObject = function (value) { var type = typeof value; return value != null && (type === 'object' || type === 'function'); }; exports.isObject = isObject; var isImage = function (filePath) { return const_1.imageExtensions.has((0, path_browserify_1.extname)(filePath).slice(1).toLowerCase()); }; exports.isImage = isImage; /** *判断 timestamp 是否合法 * @param timestamp 时间戳 * @returns */ var isValidTimestamp = function (timestamp) { // 检查是否是数字 if (typeof timestamp !== 'number' || (0, exports.isNaN)(timestamp)) { return false; } // 检查是否大于0 if (timestamp <= 0) { return false; } // 创建日期对象并验证其有效性 var date = new Date(timestamp); return date instanceof Date && !(0, exports.isNaN)(date.getTime()); }; exports.isValidTimestamp = isValidTimestamp;