/** * @description 字符串或数字类型 * @return {*} */ declare type strOrNumType = string | number; /** * @description 日期常用格式类型 * @return {*} */ declare type dateType = Date | strOrNumType; /** * @description 日期对象 * @return {*} */ interface dateInterFace { year?: strOrNumType; month?: strOrNumType; day?: strOrNumType; hour?: strOrNumType; minute?: strOrNumType; second?: strOrNumType; } /** * @description 大小写类型 * @return {*} */ declare enum CASE_TYPE { LOWER = "lower", UPPER = "upper" } /** * @description js包含的基础数据类型 * @return {*} */ declare type baseType = number | string | boolean | null | undefined | any[] | object | symbol; /** * @group 【date】 * @category 判断是否是日期格式的数据 * @param {any} date 传入的数据 * @return {boolean} 是否是日期格式的数据 */ declare const isDate: (date: any) => boolean; /** * @group 【date】 * @category 获取格林威治时间 * @param {dateType} date 传入日期 * @return {Date} 格林威治时间 */ declare const getDate: (date: dateType) => Date; /** * @group 【date】 * @category 格式化日期 * @param {dateType} time 要进行格式化的日期数据 * @param {string} format 格式 * @param {string} fillZero 是否自动补零,默认自动补零 * @return {string} 格式化后的日期 */ declare const formatDate: (time: dateType, format?: string, fillZero?: boolean) => string; /** * @group 【常量】 * @description 日期单位映射关系 * @return {*} */ declare const DATA_UNIT: dateInterFace; /** * @group 【常量】 * @description 日期临界值映射关系 * @return {*} */ declare const DATA_LIMIT_NUMBER: dateInterFace; /** * @description 日期差返回的格式类型枚举 * @return {*} */ declare enum DateTimeDiffType { DATEOBJ = "obj", STRING = "string", NUMBER = "number" } /** * @group 【date】 * @category 获取两个日期之差(绝对值) * @param {dateType} firstDate 第一个日期 * @param {dateType} secondDate 第二个日期,默认当前时间 * @param {dateType} returnType 返回数据的类型 * @return {dateInterFace | strOrNumType} 返回两个日期相差的时间 */ declare const getTimeDiffAbs: (firstDate: dateType, secondDate?: dateType, returnType?: DateTimeDiffType) => dateInterFace | strOrNumType; /** * @group 【date】 * @category 获取两个日期之差 * @param {dateType} firstDate 第一个日期 * @param {dateType} secondDate 第二个日期,默认当前时间 * @return {number} 返回两个日期相差的时间 */ declare const getTimeDiff: (firstDate: dateType, secondDate?: dateType) => number; /** * @group 【date】 * @category 判断日期是否比目标日期小 * @param {dateType} compareDate 要比较的日期 * @param {dateType} targetDate 目标日期 * @return {boolean} 是否比目标日期小 */ declare const isLessThanTargetDate: (compareDate: dateType, targetDate?: dateType) => boolean; /** * @group 【date】 * @category 获取目标日期零点的时间戳 * @param {dateType} targetDate 目标日期 * @return {number} 返回目标日期零点的时间戳 */ declare const getZeroEndTimeStamp: (targetDate?: dateType, returnStamp?: boolean) => dateType; /** * @description 日期文案显示的分秒类型 * @return {*} */ declare enum dateTextMinuteSecondsTypeType { noNeed = 0, needAbout = 1, needDetail = 2 } /** * @description 日期展示文案类型 * @return {*} */ interface dateTextInterface { targetDate: dateType; minuteSecondsType?: dateTextMinuteSecondsTypeType; format?: string; monthDayFormat?: string; hoursMinuteFormat?: string; } /** * @group 【date】 * @category 获取日期展示文案 * @param {dateTextInterface} 参数 * @return {string} 处理后的日期展示文案 */ declare const getDateText: ({ targetDate, minuteSecondsType, format, monthDayFormat, hoursMinuteFormat }: dateTextInterface) => string; /** * @group 【date】 * @category 获取某个月有多少天 * @param {dateType} targetDate 目标日期 * @return {number} 返回天数 */ declare const getDaysOfMonth: (targetDate?: dateType) => number; /** * @group 【date】 * @category 获取目标日期N天后或N天前的日期 * @param {number} day 天数【可正可负】,如果为负数,则为N天前的日期 * @param {dateType} targetDate 目标日期 * @param {string} format 日期格式 * @return {string} 格式化后的N天后的日期 */ declare const getDateAfterDay: (day: number, targetDate?: dateType, format?: string) => string; /** * @description 年龄比较精度 * @return {*} */ declare enum ageComparePrecision { year = "year", month = "month", day = "day" } /** * @group 【date】 * @category 获取年龄大小 * @param {dateType} birthDay 出生日期 * @return {number} 返回年龄 */ declare const getAge: (birthDay: dateType, comparePrecision?: ageComparePrecision) => number; /** * @description 开始位置 * @return {*} */ declare enum StartPositionEnum { START = "START", END = "END" } /** * @group 【public】 * @category 修正字符串或数字的长度 * @param {strOrNumType} params 传入的字符串或数字 * @param {number} len 修正后的长度 * @param {string} fillText 修正时填充用的字符 * @param {StartPositionEnum} startPosition 从什么位置开始填充 * @return {strOrNumType} 返回修正后的字符串或数字 */ declare const reviseLength: (params: T, len: number, fillText?: string, startPosition?: StartPositionEnum) => strOrNumType; /** * @group 【public】 * @category 获取数据类型 * @param {any} data 传入的数据 * @param {CASE_TYPE} caseType 返回的字符串全部小写、或全部大写 * @return {*} 返回数据类型字符串 */ declare const getDataType: (data: any, caseType?: CASE_TYPE) => string; /** * @group 【public】 * @category 判断是否是null * @param {any} params 传入的数据 * @return {*} 返回是否是null */ declare const isNull: (params: any) => boolean; /** * @group 【public】 * @category 判断是否是undefined * @param {any} params 传入的数据 * @return {*} 返回是否是undefined */ declare const isUndefined: (params: any) => boolean; /** * @group 【public】 * @category 判断是否是空(空字符串\null\undefined) * @param {any} params 传入的数据 * @return {*} 返回是否是空 */ declare const isEmpty: (params: any) => boolean; /** * @group 【public】 * @category 转换基础数据类型 * @param {baseType} params 要转换的数据 * @param {baseType} target 目标数据类型 * @return {*} 转换后的数据 */ declare const transfromDataType: (params: baseType, targetType: T) => Exclude; /** * @group 【public】 * @category 函数节流 * @param {number} delay 延时时间 * @param {boolean | Function} noTrailing * @param {boolean | Function} callback 回调函数 * @param {boolean | Function} debounceMode 是否立即执行 * @return {Function} 返回的节流函数 */ declare function throttle(delay: number, noTrailing: boolean | Function, callback?: boolean | Function, debounceMode?: boolean | Function): Function; /** * @group 【public】 * @category 函数防抖 * @param {number} delay 延时时间 * @param {boolean | Function} atBegin 是否立即触发 * @param {Function} callback 回调函数 * @return {Function} 返回防抖函数 */ declare function debounce(delay: number, atBegin: boolean | Function, callback?: Function): Function; /** * @group 【public】 * @category 复制到剪贴板 * @param {string} textToCopy 要复制的文字 * @return {*} */ declare const copyToClipboard: (textToCopy: string) => Promise; /** * @group 【public】 * @category 获取序列化字符串中的参数,默认返回全部参数的对象格式 * @param {string} params 需要查询的key * @param {string} searchUrl 字符串,默认为location.search * @return {string | object} 返回对应key的value,默认返回key、value键值对的对象格式 */ declare const getQueryParams: (params: string, searchUrl?: string) => string | object; /** * @group 【public】 * @category 对象转为url格式 * @param {object} params 对象格式 * @param {string} firstStr 第一个字符,默认为:? * @param {string} separator 分隔符,默认为:& * @param {Function} filterFunction 自定义过滤函数 * @return {string} 返回的url */ declare const objToUrl: (params: object, firstStr?: string, separator?: string, filterFunction?: Function) => string; /** * @group 【number】 * @category 判断是否是number(纯数字字符串也算number) * @param {any} params 传入的内容 * @return {boolean} 是否是number */ declare const isNumber: (params: any) => boolean; /** * @group 【number】 * @category 数字小于10进行自动补零 * @param {number} params 要补零的数字 * @return {string} 补零后的数字 */ declare const padNumber: (params: number) => string; /** * @group 【number】 * @category 获取数字的长度 * @param {number} params 传入的数字 * @return {number} 数字的长度 */ declare const getNumberLength: (params: number) => number; /** * @group 【number】 * @category 保留小数 * @param {number} params 传入的数字 * @param {number} decimalNum 小数位数,默认两位 * @return {number} 保留小数后的位数 */ declare const numberToFiexd: (params: number, decimalNum?: number) => number; /** * @group 【number】 * @category 数字增加千分位 * @param {number} params 传入的数字 * @param {number} decimalNum 小数位数,默认0位 * @return {string} 增加千分位后的数字 */ declare const numberAddThousandSeparator: (params: number, decimalNum?: number) => string; /** * @group 【number】 * @category 格式化数字 * @param {number} params 传入的数字 * @param {number} decimalNum 小数位数,默认2位 * @param {boolean} needThousandSeparator 是否需要增加千分位 * @return {strOrNumType} 格式化后的数字【如果增加千分位,则返回string】 */ declare const formatNumber: (params: number, decimalNum?: number, needThousandSeparator?: boolean) => strOrNumType; /** * @group 【string】 * @category 是否是字符串 * @param {any} params 传入的内容 * @return {boolean} 返回是否是字符串 */ declare const isString: (params: any) => boolean; /** * @group 【string】 * @category 根据对象及映射字段,得到一个拼接后的字符串 * @param {dataObj} 传入的对象数据 * @param {unitObj} 传入的和对象数据一样结构的映射字段 * @return {string} 返回拼接后的字符串 */ declare const getStringFromObj: (dataObj: T, unitObj: T) => string; interface stringEncryInterface { text: string; start?: number; end?: number; encryStr?: string; encryStrLength?: number; } /** * @group 【string】 * @category 字符串加密处理 * @param {string} text 传入的字符串 * @param {number} start 开始加密的位置索引值,默认为0 * @param {number} end 结束加密的位置索引值,默认为0,如果为负数,则从末尾开始算起 * @param {string} encryStr 加密字符,默认为:* * @param {number} encryStrLength 加密字符长度,默认为start与end之差,如果指定,则以start+encryStrLength进行加密字符 * @return {string} 返回加密后的字符串 */ declare const stringEncry: ({ text, start, end, encryStr, encryStrLength }: stringEncryInterface) => string; /** * @group 【array】 * @category 是否是数组 * @param {any} params 传入的内容 * @param {number} num 数组长度是否超过该数值 * @return {boolean} 是否是数组 */ declare const isArray: (params: any, num?: number) => boolean; /** * @group 【array】 * @category 根据数字得到数组 * @param {number} params 传入的数字 * @return {number[]} 返回的数组 */ declare const getArrayFromNumber: (params: number) => number[]; /** * @group 【array】 * @category 将一维数组转换成树状tree结构 * @param params 传入的数组 * @param key 唯一code,默认code * @param parentKey 父节点字段,默认parent * @param childrenKey 子节点字段,默认children * @returns 树状tree数组 */ declare const getTreeFromArray: (params: any[], key?: string, parentKey?: string, childrenKey?: string) => any[]; /** * @group 【array】 * @category 将tree数组转换成一维数组 * @param params 传入的tree数组 * @param childrenKey 子节点字段,默认children * @returns 一维数组 */ declare const getArrayFromTree: (params: any[], childrenKey?: string) => any[]; /** * @group 【array】 * @category 从tree数组中过滤需要的数据 * @param treeData tree数组 * @param predicate 过滤函数,可以自定义逻辑 * @param childrenKey 子元素的key,默认children * @returns 过滤后的数据 */ declare const filterTree: (treeData: any[], predicate?: any, childrenKey?: string) => any[]; /** * @description 存入storage的对象格式 * @return {*} */ interface storageObj { value: baseType; date: number; expire?: dateType; type?: string; } /** * @group 【storage】 * @category 获取localstorage中的存储的数据 * @param {string} key 存储数据的key * @return {baseType} 返回获取到的value值 */ declare const getStorage: (key: string) => baseType; /** * @group 【storage】 * @category 向localStorage中存入数据 * @param {string} key 存储数据的key * @param {baseType} value 存入的数据 * @param {dateType} expire 过期时间,可以传天数或过期时间,默认365天(单位:天), * @param {boolean} containType 是否存入数据类型 * @return {*} */ declare const setStorage: (key: string, value: baseType, expire?: dateType, containType?: boolean) => void; /** * @group 【storage】 * @category 移除localStorage中的值 * @param {string} key 要移除的存储数据key * @return {*} */ declare const removeStorage: (key: string) => void; /** * @group 【storage】 * @category 清除localStorage * @return {*} */ declare const clearStorage: () => void; /** * @description 浏览器类型 * @return {*} */ declare enum browerType { firefox = "firefox", opera = "opera", ie = "ie", edg = "edg", chrome = "chrome", safari = "safari", weixin = "weixin" } /** * @group 【brower】 * @category 获取浏览器类型 * @return {browerType} */ declare const getBrowerType: () => browerType | 'unknown'; /** * @group 【brower】 * @category 是否是IE浏览器 * @return {boolean} */ declare const isIE: () => boolean; /** * @group 【brower】 * @category 是否是Edg浏览器 * @return {boolean} */ declare const isEdg: () => boolean; /** * @group 【brower】 * @category 是否是safari浏览器 * @return {boolean} */ declare const isSafari: () => boolean; /** * @group 【brower】 * @category 是否是Firefox浏览器 * @return {boolean} */ declare const isFirefox: () => boolean; /** * @group 【brower】 * @category 是否是微信浏览器 * @return {boolean} */ declare const isWeixin: () => boolean; /** * @group 【brower】 * @category 是否是移动端微信浏览器 * @return {boolean} */ declare const isMobileWeixin: () => boolean; /** * @group 【brower】 * @category 是否PC端微信浏览器 * @return {boolean} */ declare const isPcWeixin: () => boolean; /** * @group 【brower】 * @category 是否移动端浏览器 * @return {boolean} */ declare const isMobile: () => boolean; /** * @group 【brower】 * @category 是否有window对象 * @return {boolean} */ declare const hasWindow: () => boolean; /** * @group 【file】 * @category 是否是File * @param {any} params 传入的内容 * @return {boolean} */ declare const isFile: (params: any) => boolean; /** * @description 文件类型映射表 * @return {*} */ declare const fileTypeObj: { doc: string; docx: string; xls: string; xlsx: string; ppt: string; pptx: string; pdf: string; jpg: string; jpeg: string; png: string; bmp: string; gif: string; mp4: string; m2v: string; mkv: string; rmvb: string; wmv: string; avi: string; flv: string; mov: string; m4v: string; mp3: string; wma: string; wav: string; zip: string; rar: string; '7z': string; }; /** * @description 文件类型枚举 * @return {*} */ declare enum fileTypeEnum { word = "WORD", excel = "EXCEL", ppt = "PPT", pdf = "PDF", image = "IMAGE", video = "VIDEO", radio = "RADIO", zip = "ZIP" } /** * @group 【file】 * @category 获取文件类型【根据文件名、或File对象的type字段】 * @param {string} fileName 文件名,或File对象的type字段 * @param {boolean} onlySuffix 是否只返回后缀名称 * @return {fileTypeEnum} 文件类型 */ declare const getFileType: (fileName: string, onlySuffix?: boolean) => fileTypeEnum | string; /** * @description 格式化文件size类型 * @return {*} */ interface formatFileSizeInterface { fileSize: strOrNumType; decimalNum: number; needUnit?: boolean; separator?: boolean; } /** * @group 【file】 * @category 格式化文件size * @param {formatFileSizeInterface} params 文件size大小 * @return {string} 格式化后的文件size */ declare const formatFileSize: ({ fileSize, decimalNum, needUnit, separator }: formatFileSizeInterface) => string; /** * @group 【file】 * @category 是否是blob * @param {any} params 传入的内容 * @return {boolean} */ declare const isBlob: (params: any) => boolean; /** * @group 【file】 * @category base64加密 * @param {string} params 传入的内容 * @return {string} base64加密后的内容 */ declare const base64Encode: (params: string) => string; /** * @group 【file】 * @category base64解密 * @param {string} params 传入的内容 * @return {string} base64解密后的内容 */ declare const base64Decode: (params: string) => string; /** * @group 【file】 * @category base64转blob * @param {string} params 传入的内容 * @param {string} type blob的类型,非必填,如果不填,则根据params中获取,获取不到,则为undefined * @return {Blob} 返回blob */ declare const base64ToBlob: (params: string, type?: string) => Blob; /** * @group 【file】 * @category blob转base64,或者file转base64 * @param { Blob | File } params 传入的内容 * @return {Promise} */ declare const blobOrFileToBase64: (params: Blob | File) => Promise; /** * @group 【reg】 * @category 正则表达式合集 * @return {*} */ declare const checkExp: { email: RegExp; mobile: RegExp; decimal: RegExp; identifier: RegExp; password: RegExp; idChard: RegExp; chinese: RegExp; }; /** * @group 【reg】 * @category 校验内容格式 * @param {any} val 传入的内容 * @param {string} type 要校验的类型 * @return {boolean} 是否符合格式 */ declare const checkValueFormat: (val: any, type?: string) => boolean; export { CASE_TYPE, DATA_LIMIT_NUMBER, DATA_UNIT, DateTimeDiffType, StartPositionEnum, ageComparePrecision, base64Decode, base64Encode, base64ToBlob, baseType, blobOrFileToBase64, browerType, checkExp, checkValueFormat, clearStorage, copyToClipboard, dateInterFace, dateTextInterface, dateTextMinuteSecondsTypeType, dateType, debounce, fileTypeEnum, fileTypeObj, filterTree, formatDate, formatFileSize, formatFileSizeInterface, formatNumber, getAge, getArrayFromNumber, getArrayFromTree, getBrowerType, getDataType, getDate, getDateAfterDay, getDateText, getDaysOfMonth, getFileType, getNumberLength, getQueryParams, getStorage, getStringFromObj, getTimeDiff, getTimeDiffAbs, getTreeFromArray, getZeroEndTimeStamp, hasWindow, isArray, isBlob, isDate, isEdg, isEmpty, isFile, isFirefox, isIE, isLessThanTargetDate, isMobile, isMobileWeixin, isNull, isNumber, isPcWeixin, isSafari, isString, isUndefined, isWeixin, numberAddThousandSeparator, numberToFiexd, objToUrl, padNumber, removeStorage, reviseLength, setStorage, storageObj, strOrNumType, stringEncry, stringEncryInterface, throttle, transfromDataType };