@dazhicheng/hooks 1.4.4 → 1.4.5
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/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/propTypes.d.ts +7 -0
- package/dist/propTypes.d.ts.map +1 -0
- package/dist/tools.d.ts +40 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/useDebounce.d.ts +42 -0
- package/dist/useDebounce.d.ts.map +1 -0
- package/dist/useDesign.d.ts +5 -0
- package/dist/useDesign.d.ts.map +1 -0
- package/dist/useIsScroll.d.ts +6 -0
- package/dist/useIsScroll.d.ts.map +1 -0
- package/dist/usePriorityValue.d.ts +30 -0
- package/dist/usePriorityValue.d.ts.map +1 -0
- package/package.json +2 -2
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./propTypes";
|
|
2
|
+
export { useDesign } from "./useDesign";
|
|
3
|
+
export { usePriorityValue, usePriorityValues, getPriorityValues } from "./usePriorityValue";
|
|
4
|
+
export { isValidKey, deepCopy } from "./tools";
|
|
5
|
+
export { useIsScroll } from "./useIsScroll";
|
|
6
|
+
export { useDebounceFn } from "./useDebounce";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"propTypes.d.ts","sourceRoot":"","sources":["../src/propTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,QAAoB,MAAM,gBAAgB,CAAA;AAIjD,qBAAa,SAAU,SAAQ,QAAQ;IACrC,MAAM,KAAK,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,CAKlC;IAED,MAAM,KAAK,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,CAIvC;CACF"}
|
package/dist/tools.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 判断对象中是否包含该属性
|
|
3
|
+
* @param key 键
|
|
4
|
+
* @param object 对象
|
|
5
|
+
* @returns 是否包含
|
|
6
|
+
*/
|
|
7
|
+
export declare function isValidKey(key: string | number | symbol, object: object): key is keyof typeof object;
|
|
8
|
+
/**
|
|
9
|
+
* 深拷贝
|
|
10
|
+
* 兼容函数,对象,相互引用场景
|
|
11
|
+
* @param target 需要深拷贝的原对象
|
|
12
|
+
* @return 深拷贝后的对象
|
|
13
|
+
*/
|
|
14
|
+
export declare function deepCopy<T>(target: T, map?: Map<any, any>): any;
|
|
15
|
+
/**
|
|
16
|
+
* 获取第一个非 null 和非 undefined 的值
|
|
17
|
+
* @description 从传入的多个值中返回第一个既不是 null 也不是 undefined 的值
|
|
18
|
+
* @template T 返回值类型
|
|
19
|
+
* @param args 要检查的值数组
|
|
20
|
+
* @returns 第一个非 null 和非 undefined 的值,如果都是 null 或 undefined 则返回 undefined
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* getFirstNonNullOrUndefined(null, undefined, 1, 2) // 返回 1
|
|
24
|
+
* getFirstNonNullOrUndefined(null, undefined) // 返回 undefined
|
|
25
|
+
* getFirstNonNullOrUndefined('', null, 'test') // 返回 ''
|
|
26
|
+
*/
|
|
27
|
+
export declare function getFirstNonNullOrUndefined(...args: any[]): any;
|
|
28
|
+
/**
|
|
29
|
+
* 将短横线命名转换为驼峰命名
|
|
30
|
+
* @description 将形如 'my-component-name' 的短横线命名法转换为 'myComponentName' 的驼峰命名法
|
|
31
|
+
* @param str 要转换的短横线命名字符串
|
|
32
|
+
* @returns 转换后的驼峰命名字符串
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* kebabToCamelCase('my-component') // 返回 'myComponent'
|
|
36
|
+
* kebabToCamelCase('my--component') // 返回 'myComponent'
|
|
37
|
+
* kebabToCamelCase('-my-component-') // 返回 'myComponent'
|
|
38
|
+
*/
|
|
39
|
+
export declare function kebabToCamelCase(str: string): string;
|
|
40
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC7B,MAAM,EAAE,MAAM,GACb,GAAG,IAAI,MAAM,OAAO,MAAM,CAE5B;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAY,OAoBrD;AAGD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAO9D;AAGD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export type DebounceSettings = {
|
|
2
|
+
/**
|
|
3
|
+
* 前沿触发
|
|
4
|
+
*/
|
|
5
|
+
leading?: boolean | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* 最大等待时间
|
|
8
|
+
*/
|
|
9
|
+
maxWait?: number | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* 尾部触发
|
|
12
|
+
*/
|
|
13
|
+
trailing?: boolean | undefined;
|
|
14
|
+
};
|
|
15
|
+
type noop = (...args: unknown[]) => unknown;
|
|
16
|
+
/**
|
|
17
|
+
* 防抖函数 Hook 返回类型
|
|
18
|
+
*/
|
|
19
|
+
type UseDebounceFnReturn<T extends noop> = {
|
|
20
|
+
/**
|
|
21
|
+
* 防抖函数,保持原函数的完整签名
|
|
22
|
+
*/
|
|
23
|
+
run: (...args: Parameters<T>) => ReturnType<T>;
|
|
24
|
+
/**
|
|
25
|
+
* 取消防抖
|
|
26
|
+
*/
|
|
27
|
+
cancel: () => void;
|
|
28
|
+
/**
|
|
29
|
+
* 立即执行防抖函数,保持原函数的完整签名
|
|
30
|
+
*/
|
|
31
|
+
flush: (...args: Parameters<T>) => ReturnType<T>;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* 防抖函数 Hook
|
|
35
|
+
* @param fn 要防抖的函数
|
|
36
|
+
* @param wait 延迟时间(毫秒)默认200
|
|
37
|
+
* @param options 防抖选项
|
|
38
|
+
* @returns 返回防抖后的函数和相关控制方法
|
|
39
|
+
*/
|
|
40
|
+
export declare function useDebounceFn<T extends noop>(fn: T, wait?: number, options?: DebounceSettings): UseDebounceFnReturn<T>;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=useDebounce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.d.ts","sourceRoot":"","sources":["../src/useDebounce.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,CAAC;AACF,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAE5C;;GAEG;AACH,KAAK,mBAAmB,CAAC,CAAC,SAAS,IAAI,IAAI;IACzC;;OAEG;IACH,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/C;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,IAAI,EAC1C,EAAE,EAAE,CAAC,EACL,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,gBAAgB,GACzB,mBAAmB,CAAC,CAAC,CAAC,CAmBxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDesign.d.ts","sourceRoot":"","sources":["../src/useDesign.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM;;;EAStC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsScroll.d.ts","sourceRoot":"","sources":["../src/useIsScroll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAG9B,wBAAgB,WAAW,IAAI;IAC7B,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC1B,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;CAClD,CAUA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ComputedRef, MaybeRefOrGetter, Ref } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* 依次从插槽、attrs、props、state 中获取值
|
|
4
|
+
* @param key
|
|
5
|
+
* @param props
|
|
6
|
+
* @param state
|
|
7
|
+
*/
|
|
8
|
+
declare function usePriorityValue<T extends Record<string, any>, S extends Record<string, any>, K extends keyof T = keyof T>(key: K, props: T, state: Readonly<Ref<NoInfer<S>>> | undefined): ComputedRef<T[K]>;
|
|
9
|
+
/**
|
|
10
|
+
* 批量获取state中的值(每个值都是ref)
|
|
11
|
+
* @param props
|
|
12
|
+
* @param state
|
|
13
|
+
*/
|
|
14
|
+
declare function usePriorityValues<T extends Record<string, any>, S extends Ref<Record<string, any>> = Readonly<Ref<NoInfer<T>, NoInfer<T>>>>(props: T, state: S | undefined): { [K in keyof T]: ComputedRef<T[K]>; };
|
|
15
|
+
/**
|
|
16
|
+
* 批量获取state中的值(集中在一个computed,用于透传)
|
|
17
|
+
* @param props
|
|
18
|
+
* @param state
|
|
19
|
+
*/
|
|
20
|
+
declare function useForwardPriorityValues<T extends Record<string, any>, S extends Ref<Record<string, any>> = Readonly<Ref<NoInfer<T>, NoInfer<T>>>>(props: T, state: S | undefined): ComputedRef<{ [K in keyof T]: T[K]; }>;
|
|
21
|
+
/**
|
|
22
|
+
* 将包含ComputedRef的对象转换为普通值对象
|
|
23
|
+
* @param props - 包含ComputedRef的响应式对象
|
|
24
|
+
* @returns 解包后的普通对象,所有值都是原始值而非响应式引用
|
|
25
|
+
*/
|
|
26
|
+
declare function getPriorityValues<T extends Record<string, MaybeRefOrGetter<any>>, S extends {
|
|
27
|
+
[K in keyof T]: T[K] extends MaybeRefOrGetter<infer U> ? U : T[K];
|
|
28
|
+
}>(props: T): S;
|
|
29
|
+
export { getPriorityValues, useForwardPriorityValues, usePriorityValue, usePriorityValues };
|
|
30
|
+
//# sourceMappingURL=usePriorityValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePriorityValue.d.ts","sourceRoot":"","sources":["../src/usePriorityValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAK7D;;;;;GAKG;AACH,iBAAS,gBAAgB,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,EAC3B,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,qBA2B/D;AAED;;;;GAIG;AACH,iBAAS,iBAAiB,CACxB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1E,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,MACb,CAAC,mCAOnB;AAED;;;;GAIG;AACH,iBAAS,wBAAwB,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1E,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,kBAYF,CAAC,uBAE9B;AAED;;;;GAIG;AACH,iBAAS,iBAAiB,CACxB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAC/C,CAAC,SAAS;KACP,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAClE,EACD,KAAK,EAAE,CAAC,GAAG,CAAC,CAWb;AAED,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dazhicheng/hooks",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/index.esm.js",
|
|
6
6
|
"module": "./dist/index.esm.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"element-plus": "^2.13.2",
|
|
26
26
|
"vue-types": "^5.1.2",
|
|
27
|
-
"@dazhicheng/utils": "1.3.
|
|
27
|
+
"@dazhicheng/utils": "1.3.5"
|
|
28
28
|
},
|
|
29
29
|
"scripts": {
|
|
30
30
|
"test": "echo \"Error: no test specified\" && exit 1"
|