@allkit/shared 0.0.1
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/README.md +1 -0
- package/dist/README.md +1 -0
- package/dist/clipboard/index.d.ts +9 -0
- package/dist/cloneDeep/index.d.ts +47 -0
- package/dist/constants.d.ts +26 -0
- package/dist/cookie/index.d.ts +31 -0
- package/dist/date/index.d.ts +133 -0
- package/dist/device/index.d.ts +70 -0
- package/dist/element/index.d.ts +12 -0
- package/dist/index.d.ts +13 -0
- package/dist/is/index.d.ts +181 -0
- package/dist/lodash/index.d.ts +184 -0
- package/dist/number/index.d.ts +84 -0
- package/dist/package.json +21 -0
- package/dist/shared.es.d.ts +2 -0
- package/dist/shared.es.js +1367 -0
- package/dist/shared.umd.js +1 -0
- package/dist/storage/index.d.ts +144 -0
- package/dist/string/index.d.ts +40 -0
- package/dist/timer/index.d.ts +9 -0
- package/eslint.config.js +10 -0
- package/package.json +26 -0
- package/scripts/build.mjs +92 -0
- package/skill/SKILL.md +240 -0
- package/skill/examples/usage.ts +67 -0
- package/skill/references/clipboard.md +39 -0
- package/skill/references/cloneDeep.md +60 -0
- package/skill/references/cookie.md +56 -0
- package/skill/references/date.md +466 -0
- package/skill/references/device.md +138 -0
- package/skill/references/element.md +99 -0
- package/skill/references/is.md +415 -0
- package/skill/references/lodash.md +472 -0
- package/skill/references/number.md +248 -0
- package/skill/references/storage.md +113 -0
- package/skill/references/string.md +126 -0
- package/skill/references/timer.md +78 -0
- package/src/clipboard/index.ts +26 -0
- package/src/cloneDeep/__test__/cloneDeep.test.ts +92 -0
- package/src/cloneDeep/index.ts +168 -0
- package/src/constants.ts +27 -0
- package/src/cookie/index.ts +44 -0
- package/src/date/__test__/date-diff.test.ts +23 -0
- package/src/date/__test__/date-duration.test.ts +140 -0
- package/src/date/__test__/date-from.test.ts +64 -0
- package/src/date/__test__/date.test.ts +67 -0
- package/src/date/index.ts +331 -0
- package/src/device/__test__/device.test.ts +138 -0
- package/src/device/index.ts +125 -0
- package/src/element/index.ts +100 -0
- package/src/index.ts +14 -0
- package/src/is/__test__/is.test.ts +320 -0
- package/src/is/index.ts +293 -0
- package/src/lodash/__test__/lodash.test.ts +111 -0
- package/src/lodash/__test__/obj-string.test.ts +107 -0
- package/src/lodash/__test__/uniqueId.test.ts +40 -0
- package/src/lodash/index.ts +396 -0
- package/src/number/__test__/number.test.ts +137 -0
- package/src/number/index.ts +161 -0
- package/src/storage/__test__/storage.test.ts +44 -0
- package/src/storage/index.ts +185 -0
- package/src/string/__test__/string.test.ts +24 -0
- package/src/string/index.ts +49 -0
- package/src/timer/index.ts +15 -0
- package/tsconfig.json +25 -0
- package/types/global.d.ts +13 -0
- package/vite.config.ts +16 -0
- package/vitest.config.ts +28 -0
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# shared 共享工具库
|
package/dist/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# shared 共享工具库
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A strategy for cloning objects with `cloneDeep`.
|
|
3
|
+
*
|
|
4
|
+
* Methods **must** call the `track` function with the new parent
|
|
5
|
+
* object **before** looping over the input object's
|
|
6
|
+
* properties/elements for cloning purposes. This protects against
|
|
7
|
+
* circular references.
|
|
8
|
+
*
|
|
9
|
+
* Methods may return the input object to indicate that cloning should
|
|
10
|
+
* be skipped.
|
|
11
|
+
*
|
|
12
|
+
* Methods may return null to indicate that the default cloning logic
|
|
13
|
+
* should be used.
|
|
14
|
+
*/
|
|
15
|
+
export interface CloningStrategy {
|
|
16
|
+
cloneMap: <K, V>(parent: Map<K, V>, track: (newParent: Map<K, V>) => Map<K, V>, clone: <T>(value: T) => T) => Map<K, V> | null;
|
|
17
|
+
cloneSet: <T>(parent: Set<T>, track: (newParent: Set<T>) => Set<T>, clone: <T>(value: T) => T) => Set<T> | null;
|
|
18
|
+
cloneArray: <T>(parent: readonly T[], track: (newParent: T[]) => T[], clone: <T>(value: T) => T) => T[] | null;
|
|
19
|
+
cloneObject: <T extends object>(parent: T, track: (newParent: T) => T, clone: <T>(value: T) => T) => T | null;
|
|
20
|
+
cloneOther: <T>(parent: T, track: (newParent: T) => T, clone: <T>(value: T) => T) => T | null;
|
|
21
|
+
}
|
|
22
|
+
export declare const DefaultCloningStrategy: CloningStrategy;
|
|
23
|
+
/**
|
|
24
|
+
* 深拷贝
|
|
25
|
+
*
|
|
26
|
+
* 默认情况下,唯一被克隆的对象是普通对象、类实例、数组、`Set`实例和`Map`,`Date`
|
|
27
|
+
* 其他的场景,通过第二个参数自定义Strategy,实现拷贝逻辑(copy Radashi)
|
|
28
|
+
*
|
|
29
|
+
* ```ts
|
|
30
|
+
* const obj = { a: 1, b: { c: 2 } }
|
|
31
|
+
* const clone = cloneDeep(obj)
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function cloneDeep<T extends object>(root: T, customStrategy?: Partial<CloningStrategy>): T;
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated - 请使用cloneDeep
|
|
37
|
+
*
|
|
38
|
+
* 深拷贝(与cloneDeep完成相同,历史原因2个名字)
|
|
39
|
+
* 默认情况下,唯一被克隆的对象是普通对象、类实例、数组、`Set`实例和`Map`,`Date`
|
|
40
|
+
* 其他的场景,通过第二个参数自定义Strategy,实现拷贝逻辑
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* const obj = { a: 1, b: { c: 2 } }
|
|
44
|
+
* const clone = deepClone(obj)
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare const deepClone: typeof cloneDeep;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 普通是与否枚举
|
|
3
|
+
*/
|
|
4
|
+
export declare enum EnumYesNo {
|
|
5
|
+
/**
|
|
6
|
+
* 是('1')
|
|
7
|
+
*/
|
|
8
|
+
YES = 1,
|
|
9
|
+
/**
|
|
10
|
+
* 否('0')
|
|
11
|
+
*/
|
|
12
|
+
NO = 0
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 普通是与否枚举(10,20)
|
|
16
|
+
*/
|
|
17
|
+
export declare enum EnumYesNoPlus {
|
|
18
|
+
/**
|
|
19
|
+
* 是('10')
|
|
20
|
+
*/
|
|
21
|
+
YES = "10",
|
|
22
|
+
/**
|
|
23
|
+
* 否('20')
|
|
24
|
+
*/
|
|
25
|
+
NO = "20"
|
|
26
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { default as Cookies } from 'js-cookie';
|
|
2
|
+
/**
|
|
3
|
+
* 设置cookie
|
|
4
|
+
* @param name - cookie的key
|
|
5
|
+
* @param value - cookie的内容
|
|
6
|
+
* @param options - cookie的配置
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* setCookie('name', 'value')
|
|
10
|
+
* setCookie('name', 'value', { expires: 30 })
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function setCookie(name: string, value: string, options?: Parameters<typeof Cookies.set>[2]): void;
|
|
14
|
+
/**
|
|
15
|
+
* 获取指定name的cookie值
|
|
16
|
+
* @param name - cookie的key
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* getCookie('name')
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function getCookie(name: string): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* 删除指定name的cookie
|
|
25
|
+
* @param name - cookie的key
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* removeCookie('name')
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function removeCookie(name: string): void;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { default as dayjs, OpUnitType, QUnitType } from 'dayjs';
|
|
2
|
+
import { DurationUnitType } from 'dayjs/plugin/duration';
|
|
3
|
+
/**
|
|
4
|
+
* 使用dayjs的实例
|
|
5
|
+
* @param date - 日期
|
|
6
|
+
* @param fmt -格式 YYYY-MM-DD HH:mm:ss
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* //默认当前时间,返回dayjs()实例,可以format,diff,subtract等方法
|
|
10
|
+
* useDate().format('YYYY-MM-DD HH:mm:ss')
|
|
11
|
+
* //指定时间戳
|
|
12
|
+
* useDate(1709286300000).format('YYYY-MM-DD HH:mm:ss')
|
|
13
|
+
* useDate(2024-03-02 00:00)
|
|
14
|
+
* useDate(new Date(2024, 2, 1))
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare const useDate: (date?: dayjs.ConfigType, format?: dayjs.OptionType, strict?: boolean) => dayjs.Dayjs;
|
|
18
|
+
/**
|
|
19
|
+
* 给定日期转成特点格式字符串
|
|
20
|
+
* @param date - 日期
|
|
21
|
+
* @param fmt -格式 YYYY-MM-DD HH:mm:ss
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* dateFormat(1709286300000,'YYYY-MM-DD')
|
|
25
|
+
* dateFormat(2024-03-02 00:00,'YYYY-MM-DD')
|
|
26
|
+
* dateFormat(new Date(2024, 2, 1),'YYYY-MM-DD HH:mm')
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare const dateFormat: (date: dayjs.ConfigType, fmt?: string) => string;
|
|
30
|
+
/**
|
|
31
|
+
* 返回当前时间,默认到分钟的格式
|
|
32
|
+
* @param date - 日期
|
|
33
|
+
* @param fmt - 格式
|
|
34
|
+
* @returns date-日期 YYYY-MM-DD HH:mm
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* minute(1709286300000)
|
|
38
|
+
* minute(2024-03-02 00:00)
|
|
39
|
+
* minute(new Date(2024, 2, 1))
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare const minute: (date: dayjs.ConfigType, fmt?: string) => string;
|
|
43
|
+
/**
|
|
44
|
+
* 返回月份天数
|
|
45
|
+
* @param date - 日期
|
|
46
|
+
* @returns 天数
|
|
47
|
+
*/
|
|
48
|
+
export declare const dateMonthDays: (date?: dayjs.ConfigType) => number;
|
|
49
|
+
/**
|
|
50
|
+
* 返回前后i天的日期字符串
|
|
51
|
+
* @param i - 0返回今天的日期、1返回明天的日期,2返回后天得日期,依次类推
|
|
52
|
+
* @param format- 格式 YYYY-MM-DD
|
|
53
|
+
* @returns format 格式的起始日期字符串
|
|
54
|
+
* ```ts
|
|
55
|
+
* getCurrDate()
|
|
56
|
+
* getCurrDate(1)
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function getCurrDate(i?: number, format?: string): string;
|
|
60
|
+
/**
|
|
61
|
+
* 返回指定单位下两个日期时间之间的差异。
|
|
62
|
+
* @param date1 -第一个时间
|
|
63
|
+
* @param date2 -第二个时间,默认是今天
|
|
64
|
+
* @returns 两个日期时间之间的差异时间戳
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* dateDiff(1709286300000)
|
|
68
|
+
* dateDiff(1709286300000,1709286400000)
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare function dateDiff(date1: dayjs.ConfigType, date2?: dayjs.ConfigType, unit?: QUnitType | OpUnitType): number;
|
|
72
|
+
type Format = {
|
|
73
|
+
minuteAgo?: string;
|
|
74
|
+
today?: string;
|
|
75
|
+
yesterday?: string;
|
|
76
|
+
future?: string;
|
|
77
|
+
other?: string;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* 根据指定日期距今天日期的时间差,展示不同格式。
|
|
81
|
+
* - 时间差小于1小时,展示为 X分钟前
|
|
82
|
+
* - 时间差-今天内,展示为 今天 HH:MM
|
|
83
|
+
* - 时间差-昨天的时间,展示为 昨天 HH:MM
|
|
84
|
+
* - 其他,展示为 YYYY/MM/DD
|
|
85
|
+
* @param date - 指定日期
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* dateFromNow('2024-03-02 00:00')
|
|
89
|
+
* dateFromNow('2024-03-02 00:00',{ minuteAgo: '${m} 分钟前'})
|
|
90
|
+
* dateFromNow('2024-03-02 00:00', { other: `${YYYY-MM-DD}`})
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export declare function dateFromNow(date: dayjs.ConfigType, _format?: Format): string;
|
|
94
|
+
/**
|
|
95
|
+
* 计算两个日期之间的差值(自然年月日)
|
|
96
|
+
* @param startDate - 起始日期,格式为 'YYYY-MM-DD HH:mm:ss'
|
|
97
|
+
* @param endDate - 结束日期,格式为 'YYYY-MM-DD HH:mm:ss'
|
|
98
|
+
* @param format - 输出格式,如 'YY年MM月DD日', 'HH小时mm分钟ss秒' 等 (默认YY年MM个月DD天)
|
|
99
|
+
* @returns 根据格式包含差值的字符串
|
|
100
|
+
*/
|
|
101
|
+
export declare function dateDiffFormat(startDate: string | number | Date, endDate?: string | number | Date, format?: string): string;
|
|
102
|
+
export declare function durationFormat(duration: string | number, config?: {
|
|
103
|
+
unit?: DurationUnitType;
|
|
104
|
+
format?: string;
|
|
105
|
+
}): string;
|
|
106
|
+
export declare function durationFormat(duration: string | number, config?: {
|
|
107
|
+
unit?: DurationUnitType;
|
|
108
|
+
format: Array<string>;
|
|
109
|
+
}): Array<string>;
|
|
110
|
+
/**
|
|
111
|
+
* 根据传入的数值,返回格式化后的时间(会自动去掉为0的格式)
|
|
112
|
+
* @param duration -传入的数值
|
|
113
|
+
* @param config - 可选的配置项(默认 unit='ms',format=''HH小时mm分钟')
|
|
114
|
+
*
|
|
115
|
+
* - unit 代表duration的值是什么单位, ('d' | 'D' | 'M' | 'y' |'H' | 'h' | 'm' | 's' | 'ms')
|
|
116
|
+
- format 返回的数据格式 (比如:'HH小时mm分钟', ['D','H','m']等)
|
|
117
|
+
* @returns 格式化后的时间
|
|
118
|
+
* @example
|
|
119
|
+
* ```ts
|
|
120
|
+
const m = durationFormatNoZero(61, {
|
|
121
|
+
unit: 'm',
|
|
122
|
+
})
|
|
123
|
+
const _date = durationFormatNoZero(61, {
|
|
124
|
+
unit: 'm',
|
|
125
|
+
format: 'HH:mm',
|
|
126
|
+
})
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare function durationFormatNoZero(duration: string | number, config?: {
|
|
130
|
+
unit?: DurationUnitType;
|
|
131
|
+
format?: string;
|
|
132
|
+
}): Array<string> | string;
|
|
133
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 是否是Android客户端
|
|
3
|
+
* @example
|
|
4
|
+
* ```ts
|
|
5
|
+
* let result= isAndroid()
|
|
6
|
+
* ```
|
|
7
|
+
*/
|
|
8
|
+
export declare function isAndroid(): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* 是否是ios客户端
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* let result= isIos()
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function isIos(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* 是否是鸿蒙系统
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* let result= isHarmony()
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function isHarmony(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* 是否是微信客户端
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* let result= isWeChat()
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function isWeChat(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* 是否是微信小程序
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* let result= isWxMiniProgram()
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function isWxMiniProgram(): boolean;
|
|
41
|
+
export declare enum EnumDeviceBrand {
|
|
42
|
+
/** 小米 */
|
|
43
|
+
XIAOMI = "xiaomi",
|
|
44
|
+
/** OPPO */
|
|
45
|
+
OPPO = "oppo",
|
|
46
|
+
/** Vivo */
|
|
47
|
+
VIVO = "vivo",
|
|
48
|
+
/** 华为 */
|
|
49
|
+
HUAWEI = "huawei",
|
|
50
|
+
/** 荣耀 */
|
|
51
|
+
HONOR = "honor",
|
|
52
|
+
/** 一加 */
|
|
53
|
+
ONE_PLUS = "oneplus",
|
|
54
|
+
/** 三星 */
|
|
55
|
+
SAMSUNG = "samsung",
|
|
56
|
+
/** 苹果 */
|
|
57
|
+
IPHONE = "iphone",
|
|
58
|
+
/** 魅族 */
|
|
59
|
+
MEIZU = "meizu",
|
|
60
|
+
/** 联想 */
|
|
61
|
+
LENOVO = "lenovo"
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 获取设备厂商
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* let brand = getDeviceBrand()
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function getDeviceBrand(): EnumDeviceBrand | undefined;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const getGlobalThis: () => any;
|
|
2
|
+
export declare const requestAnimationFrame: (fn: FrameRequestCallback) => number;
|
|
3
|
+
export declare const cancelAnimationFrame: (handle: number) => void;
|
|
4
|
+
export declare const raf: () => Promise<unknown>;
|
|
5
|
+
export declare const doubleRaf: () => Promise<unknown>;
|
|
6
|
+
export declare const getStyle: (element: Element) => CSSStyleDeclaration;
|
|
7
|
+
/** 获取dom的rect */
|
|
8
|
+
export declare const getRect: (element: Element | Window) => DOMRect;
|
|
9
|
+
export declare const inViewport: (element: HTMLElement) => boolean;
|
|
10
|
+
export declare const preventDefault: (event: Event) => void;
|
|
11
|
+
export declare const getScrollTop: (element: Element | Window) => number;
|
|
12
|
+
export declare const getScrollLeft: (element: Element | Window) => number;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './clipboard';
|
|
2
|
+
export * from './cloneDeep';
|
|
3
|
+
export * from './cookie';
|
|
4
|
+
export * from './date';
|
|
5
|
+
export * from './device';
|
|
6
|
+
export * from './element';
|
|
7
|
+
export * from './is';
|
|
8
|
+
export * from './lodash';
|
|
9
|
+
export * from './number';
|
|
10
|
+
export * from './storage';
|
|
11
|
+
export * from './string';
|
|
12
|
+
export * from './timer';
|
|
13
|
+
export * from './constants';
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
export declare function is(val: unknown, type: string): boolean;
|
|
2
|
+
/**
|
|
3
|
+
* 判断不是undefined
|
|
4
|
+
* @param val -内容
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* let result= isDef('test')
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export declare function isDef<T = unknown>(val?: T): val is T;
|
|
11
|
+
/**
|
|
12
|
+
* 判断是undefined
|
|
13
|
+
* @param val -内容
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* let result= isUnDef('test')
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function isUnDef<T = unknown>(val?: T): val is T;
|
|
20
|
+
/**
|
|
21
|
+
* 判断是Object,包含数组
|
|
22
|
+
* @param val -内容
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* let result= isObject({name:1})
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function isObject(val: any): val is Record<any, any>;
|
|
29
|
+
/**
|
|
30
|
+
* 判断是原始Object,不包含数组
|
|
31
|
+
* @param val -内容
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* let result= isPlainObject({name:1})
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function isPlainObject(val: unknown): val is Record<string, unknown>;
|
|
38
|
+
/**
|
|
39
|
+
* 检测当前类型是否是空对象
|
|
40
|
+
* @param obj - 检测当前类型
|
|
41
|
+
* @returns 如果为空的对象则返回true、否则返回false
|
|
42
|
+
*/
|
|
43
|
+
export declare const isEmptyObject: (obj: any) => boolean;
|
|
44
|
+
/**
|
|
45
|
+
* 检测当前类型是否空(空string|undefined|null)
|
|
46
|
+
* @param val - 检测当前类型
|
|
47
|
+
* @returns 如果为空的对象则返回true、否则返回false
|
|
48
|
+
*/
|
|
49
|
+
export declare const isEmptyValue: (val: string | number | null | undefined) => boolean;
|
|
50
|
+
/**
|
|
51
|
+
* 判断是空,包括空数组,空对象,空Map
|
|
52
|
+
* @param val -内容
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* let result= isEmpty({name:1})
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function isEmpty<T = unknown>(val: T): val is T;
|
|
59
|
+
/**
|
|
60
|
+
* 判断是日期对象
|
|
61
|
+
* @param val -内容
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* let result= isDate(new Date())
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function isDate(val: unknown): val is Date;
|
|
68
|
+
/**
|
|
69
|
+
* 判断是否为null
|
|
70
|
+
* @param val - 任意值
|
|
71
|
+
* @returns boolean
|
|
72
|
+
*/
|
|
73
|
+
export declare function isNull(val: unknown): val is null;
|
|
74
|
+
/**
|
|
75
|
+
* 判断是null和undefined
|
|
76
|
+
* @param val -内容
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* let result= isNullAndUnDef('')
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export declare function isNullAndUnDef(val: unknown): val is null | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* 判断是null或undefined
|
|
85
|
+
* @param val -内容
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* let result= isNullOrUnDef('')
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export declare function isNullOrUnDef(val: unknown): val is null | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* 是否是number
|
|
94
|
+
* @param val -内容
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* let result= isNumber('test')
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare function isNumber(val: unknown): val is number;
|
|
101
|
+
/**
|
|
102
|
+
* 是否是Promise
|
|
103
|
+
* @param val -内容
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* let result= isPromise('test')
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export declare function isPromise<T = any>(val: any): val is Promise<T>;
|
|
110
|
+
export declare function isString(val: unknown): val is string;
|
|
111
|
+
/**
|
|
112
|
+
* 是否是函数
|
|
113
|
+
* @param val -内容
|
|
114
|
+
* @example
|
|
115
|
+
* ```ts
|
|
116
|
+
* let result= isFunction('test')
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export declare function isFunction(val: unknown): val is Function;
|
|
120
|
+
export declare function isBoolean(val: unknown): val is boolean;
|
|
121
|
+
/**
|
|
122
|
+
* 是否是正则
|
|
123
|
+
* @param val -内容
|
|
124
|
+
* @example
|
|
125
|
+
* ```ts
|
|
126
|
+
* let result= isRegExp(window)
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare function isRegExp(val: unknown): val is RegExp;
|
|
130
|
+
/**
|
|
131
|
+
* 是否是数组
|
|
132
|
+
* @param val -内容
|
|
133
|
+
* @example
|
|
134
|
+
* ```ts
|
|
135
|
+
* let result= isArray(window)
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
export declare function isArray(val: any): val is Array<any>;
|
|
139
|
+
/**
|
|
140
|
+
* 是否是Window
|
|
141
|
+
* @param val -内容
|
|
142
|
+
* @example
|
|
143
|
+
* ```ts
|
|
144
|
+
* let result= isWindow(window)
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export declare function isWindow(val: any): val is Window;
|
|
148
|
+
export declare function isElement(val: unknown): val is Element;
|
|
149
|
+
/**
|
|
150
|
+
* 是否是Map
|
|
151
|
+
* @param val -内容
|
|
152
|
+
* @example
|
|
153
|
+
* ```ts
|
|
154
|
+
* let result= isMap(window)
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
export declare function isMap(val: unknown): val is Map<any, any>;
|
|
158
|
+
export declare function isSet(val: unknown): val is Set<any>;
|
|
159
|
+
export declare const isServer: boolean;
|
|
160
|
+
export declare const isClient: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* 是否是isUrl
|
|
163
|
+
* @param val -内容
|
|
164
|
+
* @example
|
|
165
|
+
* ```ts
|
|
166
|
+
* let result= isUrl('http://www.baidu.com')
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
export declare function isUrl(path: string): boolean;
|
|
170
|
+
/**
|
|
171
|
+
* 判断是否为整数
|
|
172
|
+
* @param val - 任意值
|
|
173
|
+
* @returns 如果是整数则返回true,否则返回false
|
|
174
|
+
*/
|
|
175
|
+
export declare function isInteger(val: unknown): boolean;
|
|
176
|
+
/**
|
|
177
|
+
* 判断是否为数字(整数或浮点数)
|
|
178
|
+
* @param val - 任意值
|
|
179
|
+
* @returns 如果是数字则返回true,否则返回false
|
|
180
|
+
*/
|
|
181
|
+
export declare function isNumeric(val: unknown): boolean;
|