@dazhicheng/utils 1.3.4 → 1.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/tool.d.ts ADDED
@@ -0,0 +1,134 @@
1
+ import type { WritableComputedRef } from "vue";
2
+ import type { ClassValue } from "clsx";
3
+ export type DebounceSettings = {
4
+ /**
5
+ * 前沿触发
6
+ */
7
+ leading?: boolean | undefined;
8
+ /**
9
+ * 最大等待时间
10
+ */
11
+ maxWait?: number | undefined;
12
+ /**
13
+ * 尾部触发
14
+ */
15
+ trailing?: boolean | undefined;
16
+ };
17
+ /**
18
+ * 获取localStorage数据,item值非json对象,请直接localStorage.setItem
19
+ * @param item 键名
20
+ */
21
+ export declare function getStorage<T = any>(item: string): T | string | null;
22
+ /**
23
+ * @description 计算文字宽度
24
+ */
25
+ export declare function calcWordsWidth(words: string, fontSize?: string, fontFamily?: string): number;
26
+ /**
27
+ * @description 脏数据检测方法
28
+ * @param newObj 新对象
29
+ * @param oldObj 原始对象
30
+ * @param keyObj 对象中数组的唯一key e: { list: { key: 'id' }, list2: { key: 'id' }, }
31
+ */
32
+ export declare function getDifference(newObj: {
33
+ [key: string]: any;
34
+ }, oldObj: {
35
+ [key: string]: any;
36
+ }, keyObj?: any): {
37
+ [k: string]: any;
38
+ };
39
+ /** 脏数据检测方法--设置对象 */
40
+ export declare function setDifferenceObj(keyObj: any, oldObj: any, v: any, k: any, r: any): void;
41
+ /** 脏数据检测方法--设置数组 */
42
+ export declare function setDifferenceArr(keyObj: any, oldObj: any, v: any[], k: any, r: any): void;
43
+ /** 脏数据检测方法--设置普通字段 */
44
+ export declare function setDifferenceField(keyObj: any, oldObj: any, v: any[], k: any, r: any): void;
45
+ export declare function deepMerge<T = any>(src?: any, target?: any): T;
46
+ export declare function toCssUnit(val?: number | string, unit?: string): string;
47
+ /** 响应式绑定 */
48
+ export declare function useVModel(props: Record<string, any>, propName: string, emit: any): WritableComputedRef<any, any>;
49
+ export declare function bindMethods<T extends object>(instance: T): T;
50
+ export declare function deepCopy<T>(obj: T): T;
51
+ export declare function arrayToTree(items: any[], id?: string, parentId?: string, children?: string): any[];
52
+ export declare function getFirstNonNullOrUndefined(...args: any[]): any;
53
+ /** className 合并 */
54
+ export declare function clnm(...inputs: ClassValue[]): string;
55
+ /**
56
+ * 触发窗口的 resize 事件
57
+ * @description 手动触发浏览器窗口的 resize 事件,用于强制更新依赖窗口大小的组件或布局
58
+ *
59
+ * @example
60
+ * // 在DOM更新后触发重新布局
61
+ * updateDOM()
62
+ * triggerWindowResize()
63
+ *
64
+ * // 在组件挂载后强制更新响应式布局
65
+ * onMounted(() => {
66
+ * triggerWindowResize()
67
+ * })
68
+ */
69
+ export declare function triggerWindowResize(): void;
70
+ /**
71
+ * 遍历目标数组 从源对象获取数据并赋值。
72
+ * @param targrt array 目标对象
73
+ * @param sources {} 源对象
74
+ * @param key 关联字段key
75
+ * @param content 要修改的字段 字段名string 或数组
76
+ */
77
+ export declare function arrGive(targrt: any, sources: any, key?: any, content?: any): void;
78
+ /**
79
+ * 时间转换过滤器 依赖dayjs 默认UTC时间
80
+ * @param value key 时间戳接收毫秒
81
+ * @param format 格式化样式YYYY-MM-DD HH:mm:ss.SSS A (dayjs的format)
82
+ * @param tz 默认时区 Asia/Shanghai
83
+ */
84
+ export declare const dateFormat: (value: string | number | Date, format?: string, tz?: string) => string;
85
+ /**
86
+ * 深度克隆对象或数组 禁止循环引用对象
87
+ * @description 使用 klona 库进行深度克隆,支持所有类型的数据结构 https://www.npmjs.com/package/klona
88
+ * @template T 要克隆的数据类型 (默认: any)
89
+ * @param source 源数据
90
+ * @returns 深度克隆后的新数据
91
+ *
92
+ * @examples
93
+ * // 克隆对象
94
+ * const obj = { a: 1, b: { c: 2 } }
95
+ * const clonedObj = cloneDeep(obj)
96
+ *
97
+ * // 克隆数组
98
+ * const arr = [1, { b: 2 }]
99
+ * const clonedArr = cloneDeep(arr)
100
+ *
101
+ * // 克隆 Date 对象
102
+ * const date = new Date()
103
+ * const clonedDate = cloneDeep(date)
104
+ */
105
+ export declare function cloneDeep<T = any>(source: T): T;
106
+ /**
107
+ * 从对象中排除指定的属性
108
+ * 返回一个新对象,不包含指定的属性
109
+ */
110
+ export declare function omit<T, TKeys extends keyof T>(obj: T, keys: TKeys[]): Omit<T, TKeys>;
111
+ /**
112
+ * 防抖函数
113
+ * @param func 实际要执行的函数
114
+ * @param delay 延迟时间,单位是毫秒(ms)
115
+ * @param options 配置选项
116
+ * @return 返回一个防抖函数
117
+ */
118
+ export declare function debounce<TArgs extends any[], TReturn = any>(func: (...args: TArgs) => TReturn, delay?: number, options?: DebounceSettings): DebounceFunction<TArgs, TReturn>;
119
+ export type DebounceFunction<TArgs extends any[], TReturn = any> = {
120
+ (...args: TArgs): TReturn;
121
+ /**
122
+ * Cancels the debounced function
123
+ */
124
+ cancel: () => void;
125
+ /**
126
+ * Checks if there is any invocation debounced
127
+ */
128
+ isPending: () => boolean;
129
+ /**
130
+ * Runs the debounced function immediately
131
+ */
132
+ flush: (...args: TArgs) => TReturn;
133
+ };
134
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type Recordable<T = any> = Record<string, T>;
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dazhicheng/utils",
3
- "version": "1.3.4",
3
+ "version": "1.3.6",
4
4
  "description": "工具库",
5
5
  "main": "./dist/index.esm.js",
6
6
  "type": "module",