util.d.ts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. declare module '@cip/utils/util' {
  2. // 深拷贝
  3. export function cloneDeep<T>(params: T): T
  4. // 2个对象值进行比较
  5. export function objectEqual(objectA: Record<any, any>, objectB: Record<any, any>): boolean
  6. // 节流
  7. export function throttle (fn: (params:any) => any, delay: number): void
  8. // 防抖
  9. export function debounce(fn: (params:any) => any, wait: number, immediate: boolean): void
  10. // 大写第一位字符
  11. export function toUpperFirstCase(str: string): string
  12. // 平铺数组转换为树状结构
  13. export function toTreeData(list: any[], parentKey: string = 'parentId', root: number = 0): boolean
  14. // 判断值是否为undefined或null
  15. export function isEmpty(value: any): boolean
  16. // 判断值是否为undefined或null或空字符串
  17. export function isInputEmpty(value: any): boolean
  18. // 判断值是否不为undefined或null
  19. export function isNotEmpty(value: any): boolean
  20. // 是否为没有空对象
  21. export function isEmptyObject(value: any): boolean
  22. // 判断值是否为数组
  23. export function isArray(value: any): boolean
  24. // 判断是否对象
  25. export function isObject(value: any): boolean
  26. // 判断是否为字符串
  27. export function isString(value: any): boolean
  28. // 判断是否为数字
  29. export function isNumber(value: any): boolean
  30. // 判断值是否为JSON String
  31. export function isJson(value: any): boolean
  32. // 判断值是否为Map类型
  33. export function isMap(value: any): boolean
  34. // 下载文件
  35. export function downloadFile(href: string, filename: string): void
  36. // 返回下一条数据
  37. export function getNextItem<T>(itemList: T[], index: number): T
  38. // 耗时格式化
  39. export function durationTimeFormat(ms: number): string
  40. // 根据url获取query中key对应的值
  41. export function getQueryString(key: string, url: string): string | null
  42. // 拼接url和query的值
  43. export function setUrlQuery(url: string, query: string): string
  44. // 根据 label获取 value
  45. interface IOptionProps {
  46. label: string, // label键值
  47. value: string // value键值
  48. }
  49. export function getLabelByValue(value: any, options: any[], optionProps: IOptionProps): string
  50. export function getFieldValue(target: Record<string, any>, propertyName: string): any
  51. // 向对象添加一个property
  52. export function setFieldValue(target: Record<string, any>, propertyName: string, value: any, hasArray: boolean = false): void
  53. // 根据key获取mapping中的value
  54. export function getValueByKey(key: any, mapping: Map<any, any>): any
  55. // 根据value获取mapping中的key
  56. export function getKeyByValue(value: any, mapping: Map<any, any>): any
  57. // 值根据映射关系和方向进行转换
  58. export function getValueMapping(value: any, mapping: Record<string, any> = {}, valueType): any
  59. export function depthFirstSearchTree(tree: Record<string, any>, value: any, key: string, children: string = 'children', depth: number = 0): Record<string, any>
  60. export function getUsingConfig<T>(...arg: T[]): T
  61. export function getEquipmentType(): 'mobile' | 'pc'
  62. // 数字添加千分位分隔符
  63. export function addThousandSeparator(number: number, separator: string = ''): string
  64. export function getValueByTemplate<T>(template: string, object: Record<string, T>): T
  65. }