sculp-js 1.13.1 → 1.13.3-beta.0
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 +10 -11
- package/dist/cjs/_virtual/_commonjsHelpers.js +13 -0
- package/{lib → dist}/cjs/array.js +1 -1
- package/{lib → dist}/cjs/async.js +1 -1
- package/{lib/cjs/we-decode.js → dist/cjs/base64.js} +53 -44
- package/{lib → dist}/cjs/clipboard.js +4 -2
- package/{lib → dist}/cjs/cloneDeep.js +1 -1
- package/{lib → dist}/cjs/cookie.js +1 -1
- package/{lib → dist}/cjs/date.js +1 -1
- package/{lib → dist}/cjs/dom.js +1 -1
- package/{lib → dist}/cjs/download.js +4 -2
- package/dist/cjs/easing.js +75 -0
- package/{lib → dist}/cjs/file.js +7 -3
- package/{lib → dist}/cjs/func.js +1 -1
- package/{lib → dist}/cjs/index.js +11 -8
- package/{lib → dist}/cjs/math.js +1 -1
- package/dist/cjs/node_modules/bezier-easing/src/index.js +123 -0
- package/{lib → dist}/cjs/number.js +1 -1
- package/{lib → dist}/cjs/object.js +1 -1
- package/{lib → dist}/cjs/path.js +1 -1
- package/{lib → dist}/cjs/qs.js +1 -1
- package/{lib → dist}/cjs/random.js +1 -1
- package/{lib → dist}/cjs/string.js +1 -1
- package/{lib → dist}/cjs/tooltip.js +5 -2
- package/{lib → dist}/cjs/tree.js +9 -23
- package/{lib → dist}/cjs/type.js +8 -1
- package/{lib → dist}/cjs/unique.js +1 -1
- package/{lib → dist}/cjs/url.js +1 -1
- package/{lib → dist}/cjs/validator.js +1 -1
- package/{lib → dist}/cjs/variable.js +1 -1
- package/{lib → dist}/cjs/watermark.js +4 -2
- package/{lib/es → dist/esm}/array.js +1 -1
- package/{lib/es → dist/esm}/async.js +1 -1
- package/{lib/es/we-decode.js → dist/esm/base64.js} +52 -45
- package/{lib/es → dist/esm}/clipboard.js +4 -2
- package/{lib/es → dist/esm}/cloneDeep.js +1 -1
- package/{lib/es → dist/esm}/cookie.js +1 -1
- package/{lib/es → dist/esm}/date.js +1 -1
- package/{lib/es → dist/esm}/dom.js +1 -1
- package/{lib/es → dist/esm}/download.js +4 -2
- package/{lib/es → dist/esm}/easing.js +34 -2
- package/{lib/es → dist/esm}/file.js +7 -3
- package/{lib/es → dist/esm}/func.js +1 -1
- package/{lib/es → dist/esm}/index.js +4 -5
- package/{lib/es → dist/esm}/math.js +1 -1
- package/{lib/es → dist/esm}/number.js +1 -1
- package/{lib/es → dist/esm}/object.js +1 -1
- package/{lib/es → dist/esm}/path.js +1 -1
- package/{lib/es → dist/esm}/qs.js +1 -1
- package/{lib/es → dist/esm}/random.js +1 -1
- package/{lib/es → dist/esm}/string.js +1 -1
- package/{lib/es → dist/esm}/tooltip.js +5 -2
- package/{lib/es → dist/esm}/tree.js +10 -24
- package/{lib/es → dist/esm}/type.js +8 -2
- package/{lib/es → dist/esm}/unique.js +1 -1
- package/{lib/es → dist/esm}/url.js +1 -1
- package/{lib/es → dist/esm}/validator.js +1 -1
- package/{lib/es → dist/esm}/variable.js +1 -1
- package/{lib/es → dist/esm}/watermark.js +4 -2
- package/dist/types/array.d.ts +50 -0
- package/dist/types/array.d.ts.map +1 -0
- package/dist/types/async.d.ts +37 -0
- package/dist/types/async.d.ts.map +1 -0
- package/dist/types/base64.d.ts +25 -0
- package/dist/types/base64.d.ts.map +1 -0
- package/dist/types/clipboard.d.ts +20 -0
- package/dist/types/clipboard.d.ts.map +1 -0
- package/dist/types/cloneDeep.d.ts +12 -0
- package/dist/types/cloneDeep.d.ts.map +1 -0
- package/dist/types/cookie.d.ts +19 -0
- package/dist/types/cookie.d.ts.map +1 -0
- package/dist/types/core-index.d.ts +17 -0
- package/dist/types/core-index.d.ts.map +1 -0
- package/dist/types/date.d.ts +74 -0
- package/dist/types/date.d.ts.map +1 -0
- package/dist/types/dom.d.ts +74 -0
- package/dist/types/dom.d.ts.map +1 -0
- package/dist/types/download.d.ts +47 -0
- package/dist/types/download.d.ts.map +1 -0
- package/dist/types/easing.d.ts +32 -0
- package/dist/types/easing.d.ts.map +1 -0
- package/dist/types/file.d.ts +44 -0
- package/dist/types/file.d.ts.map +1 -0
- package/dist/types/func.d.ts +50 -0
- package/dist/types/func.d.ts.map +1 -0
- package/dist/types/index.d.ts +28 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3278 -0
- package/dist/types/math.d.ts +36 -0
- package/dist/types/math.d.ts.map +1 -0
- package/dist/types/number.d.ts +49 -0
- package/dist/types/number.d.ts.map +1 -0
- package/dist/types/object.d.ts +70 -0
- package/dist/types/object.d.ts.map +1 -0
- package/dist/types/path.d.ts +14 -0
- package/dist/types/path.d.ts.map +1 -0
- package/dist/types/qs.d.ts +22 -0
- package/dist/types/qs.d.ts.map +1 -0
- package/dist/types/random.d.ts +27 -0
- package/dist/types/random.d.ts.map +1 -0
- package/dist/types/string.d.ts +67 -0
- package/dist/types/string.d.ts.map +1 -0
- package/dist/types/tooltip.d.ts +36 -0
- package/dist/types/tooltip.d.ts.map +1 -0
- package/dist/types/tree.d.ts +99 -0
- package/dist/types/tree.d.ts.map +1 -0
- package/dist/types/type.d.ts +128 -0
- package/dist/types/type.d.ts.map +1 -0
- package/dist/types/unique.d.ts +21 -0
- package/dist/types/unique.d.ts.map +1 -0
- package/dist/types/url.d.ts +46 -0
- package/dist/types/url.d.ts.map +1 -0
- package/dist/types/validator.d.ts +67 -0
- package/dist/types/validator.d.ts.map +1 -0
- package/dist/types/variable.d.ts +71 -0
- package/dist/types/variable.d.ts.map +1 -0
- package/dist/types/watermark.d.ts +19 -0
- package/dist/types/watermark.d.ts.map +1 -0
- package/dist/umd/index.min.js +6 -0
- package/package.json +234 -17
- package/lib/cjs/base64.js +0 -62
- package/lib/cjs/easing.js +0 -40
- package/lib/cjs/isEqual.js +0 -133
- package/lib/es/base64.js +0 -59
- package/lib/es/isEqual.js +0 -131
- package/lib/index.d.ts +0 -1214
- package/lib/umd/index.js +0 -6
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 数值安全乘法
|
|
3
|
+
* @param arg1 数值1
|
|
4
|
+
* @param arg2 数值2
|
|
5
|
+
*/
|
|
6
|
+
export declare const multiply: (arg1: number, arg2: number) => number;
|
|
7
|
+
/**
|
|
8
|
+
* 数值安全加法
|
|
9
|
+
* @param arg1 数值1
|
|
10
|
+
* @param arg2 数值2
|
|
11
|
+
*/
|
|
12
|
+
export declare const add: (arg1: number, arg2: number) => number;
|
|
13
|
+
/**
|
|
14
|
+
* 数值安全减法
|
|
15
|
+
* @param arg1 数值1
|
|
16
|
+
* @param arg2 数值2
|
|
17
|
+
*/
|
|
18
|
+
export declare const subtract: (arg1: number, arg2: number) => number;
|
|
19
|
+
/**
|
|
20
|
+
* 数值安全除法
|
|
21
|
+
* @param arg1 数值1
|
|
22
|
+
* @param arg2 数值2
|
|
23
|
+
*/
|
|
24
|
+
export declare const divide: (arg1: number, arg2: number) => number;
|
|
25
|
+
type NumberType = number | string;
|
|
26
|
+
/**
|
|
27
|
+
* Correct the given number to specifying significant digits.
|
|
28
|
+
*
|
|
29
|
+
* @param num The input number
|
|
30
|
+
* @param precision An integer specifying the number of significant digits
|
|
31
|
+
*
|
|
32
|
+
* @example strip(0.09999999999999998) === 0.1 // true
|
|
33
|
+
*/
|
|
34
|
+
export declare function strip(num: NumberType, precision?: number): number;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=math.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,QAAQ,MAAM,KAAG,MASrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,GAAG,SAAU,MAAM,QAAQ,MAAM,KAAG,MAoBhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,QAAQ,MAAM,KAAG,MAA0B,CAAC;AAEjF;;;;GAIG;AACH,eAAO,MAAM,MAAM,SAAU,MAAM,QAAQ,MAAM,KAAG,MAanD,CAAC;AAEF,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAElC;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,SAAK,GAAG,MAAM,CAE7D"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare const HEX_POOL: string;
|
|
2
|
+
/**
|
|
3
|
+
* 将十进制转换成任意进制
|
|
4
|
+
* @param {number | string} decimal 十进制数值或字符串,可以是任意长度,会使用大数进行计算
|
|
5
|
+
* @param {string} [hexPool] 进制池,默认 62 进制
|
|
6
|
+
* @returns {string}
|
|
7
|
+
*/
|
|
8
|
+
export declare function numberToHex(decimal: number | string, hexPool?: string): string;
|
|
9
|
+
interface INumberAbbr {
|
|
10
|
+
ratio?: number;
|
|
11
|
+
decimals?: number;
|
|
12
|
+
separator?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 将数字转换为携带单位的字符串
|
|
16
|
+
* @param {number | string} num
|
|
17
|
+
* @param {Array<string>} units
|
|
18
|
+
* @param {INumberAbbr} options default: { ratio: 1000, decimals: 0, separator: ' ' }
|
|
19
|
+
* @returns {string}
|
|
20
|
+
*/
|
|
21
|
+
export declare const numberAbbr: (num: number | string, units: Array<string>, options?: INumberAbbr) => string;
|
|
22
|
+
interface IHumanFileSizeOptions {
|
|
23
|
+
decimals?: number;
|
|
24
|
+
si?: boolean;
|
|
25
|
+
separator?: string;
|
|
26
|
+
baseUnit?: string;
|
|
27
|
+
maxUnit?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Converting file size in bytes to human-readable string
|
|
31
|
+
* reference: https://zh.wikipedia.org/wiki/%E5%8D%83%E5%AD%97%E8%8A%82
|
|
32
|
+
* @param {number | string} num bytes Number in Bytes
|
|
33
|
+
* @param {IHumanFileSizeOptions} options default: { decimals = 0, si = false, separator = ' ' }
|
|
34
|
+
* si: True to use metric (SI) units, aka powers of 1000, the units is
|
|
35
|
+
* ['B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'].
|
|
36
|
+
* False to use binary (IEC), aka powers of 1024, the units is
|
|
37
|
+
* ['Byte', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
export declare function humanFileSize(num: number | string, options?: IHumanFileSizeOptions): string;
|
|
41
|
+
/**
|
|
42
|
+
* 将数字格式化成千位分隔符显示的字符串
|
|
43
|
+
* @param {number|string} num 数字
|
|
44
|
+
* @param {number} decimals 格式化成指定小数位精度的参数
|
|
45
|
+
* @returns {string}
|
|
46
|
+
*/
|
|
47
|
+
export declare function formatNumber(num: number | string, decimals?: number): string;
|
|
48
|
+
export { formatNumber as formatMoney };
|
|
49
|
+
//# sourceMappingURL=number.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/number.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,QAAgF,CAAC;AAiBtG;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,GAAE,MAAiB,GAAG,MAAM,CA0BxF;AACD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AACD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,QAChB,MAAM,GAAG,MAAM,SACb,MAAM,MAAM,CAAC,YACX,WAAW,KACnB,MAgBF,CAAC;AACF,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,OAAO,GAAE,qBAAkE,GAC1E,MAAM,CAkBR;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAW5E;AACD,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { AnyArray, AnyObject, ArrayElements } from './type';
|
|
2
|
+
/**
|
|
3
|
+
* 判断对象是否为纯对象
|
|
4
|
+
* @param {object} obj
|
|
5
|
+
* @returns {boolean}
|
|
6
|
+
*/
|
|
7
|
+
export declare const isPlainObject: (obj: unknown) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 遍历对象,返回 false 中断遍历
|
|
10
|
+
* @param {O} obj
|
|
11
|
+
* @param {(val: O[keyof O], key: keyof O) => (boolean | void)} iterator
|
|
12
|
+
*/
|
|
13
|
+
export declare function objectEach<O extends AnyObject>(obj: O, iterator: (val: O[keyof O], key: Extract<keyof O, string>) => any): void;
|
|
14
|
+
/**
|
|
15
|
+
* 异步遍历对象,返回 false 中断遍历
|
|
16
|
+
* @param {O} obj
|
|
17
|
+
* @param {(val: O[keyof O], key: keyof O) => (boolean | void)} iterator
|
|
18
|
+
*/
|
|
19
|
+
export declare function objectEachAsync<O extends AnyObject>(obj: O, iterator: (val: O[keyof O], key: Extract<keyof O, string>) => Promise<any> | any): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* 对象映射
|
|
22
|
+
* @param {O} obj
|
|
23
|
+
* @param {(val: O[keyof O], key: Extract<keyof O, string>) => any} iterator
|
|
24
|
+
* @returns {Record<Extract<keyof O, string>, T>}
|
|
25
|
+
*/
|
|
26
|
+
export declare function objectMap<O extends AnyObject, T>(obj: O, iterator: (val: O[keyof O], key: Extract<keyof O, string>) => any): Record<Extract<keyof O, string>, T>;
|
|
27
|
+
/**
|
|
28
|
+
* 对象提取
|
|
29
|
+
* @param {O} obj
|
|
30
|
+
* @param {K} keys
|
|
31
|
+
* @returns {Pick<O, ArrayElements<K>>}
|
|
32
|
+
*/
|
|
33
|
+
export declare function objectPick<O extends AnyObject, K extends Extract<keyof O, string>[]>(obj: O, keys: K): Pick<O, ArrayElements<K>>;
|
|
34
|
+
/**
|
|
35
|
+
* 对象去除
|
|
36
|
+
* @param {O} obj
|
|
37
|
+
* @param {K} keys
|
|
38
|
+
* @returns {Pick<O, ArrayElements<K>>}
|
|
39
|
+
*/
|
|
40
|
+
export declare function objectOmit<O extends AnyObject, K extends Extract<keyof O, string>[]>(obj: O, keys: K): Omit<O, ArrayElements<K>>;
|
|
41
|
+
export type ObjectAssignItem = AnyObject | AnyArray;
|
|
42
|
+
/**
|
|
43
|
+
* 对象合并,返回原始对象
|
|
44
|
+
* @param {ObjectAssignItem} source
|
|
45
|
+
* @param {ObjectAssignItem | undefined} targets
|
|
46
|
+
* @returns {R}
|
|
47
|
+
*/
|
|
48
|
+
export declare function objectAssign<R = AnyObject | AnyArray>(source: ObjectAssignItem, ...targets: (ObjectAssignItem | undefined)[]): R;
|
|
49
|
+
export { objectAssign as objectMerge };
|
|
50
|
+
/**
|
|
51
|
+
* 对象填充
|
|
52
|
+
* @param {Partial<R>} source
|
|
53
|
+
* @param {Partial<R>} target
|
|
54
|
+
* @param {(s: Partial<R>, t: Partial<R>, key: keyof R) => boolean} fillable
|
|
55
|
+
* @returns {R}
|
|
56
|
+
*/
|
|
57
|
+
export declare function objectFill<R extends AnyObject = AnyObject>(source: Partial<R>, target: Partial<R>, fillable?: (s: typeof source, t: typeof target, key: keyof R) => boolean): R;
|
|
58
|
+
/**
|
|
59
|
+
* 获取对象/数组指定层级下的属性值(现在可用ES6+的可选链?.来替代)
|
|
60
|
+
* @param {AnyObject} obj
|
|
61
|
+
* @param {string} path
|
|
62
|
+
* @param {boolean} strict
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
65
|
+
export declare function objectGet(obj: AnyObject | AnyArray | undefined, path: string, strict?: boolean): {
|
|
66
|
+
p: any | undefined;
|
|
67
|
+
k: string | undefined;
|
|
68
|
+
v: any | undefined;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/object.ts"],"names":[],"mappings":"AAAA,OAAe,EACb,QAAQ,EACR,SAAS,EACT,aAAa,EAMd,MAAM,QAAQ,CAAC;AAEhB;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAS,OAAO,KAAG,OAO5C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAC5C,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,GAChE,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,CAAC,SAAS,SAAS,EACvD,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAC/E,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EAC9C,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,GAChE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAUrC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,EAClF,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,GACN,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAW3B;AACD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,EAClF,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,GACN,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAW3B;AA4CD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAMpD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,EACnD,MAAM,EAAE,gBAAgB,EACxB,GAAG,OAAO,EAAE,CAAC,gBAAgB,GAAG,SAAS,CAAC,EAAE,GAC3C,CAAC,CAWH;AACD,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACxD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,MAAM,EAAE,CAAC,EAAE,OAAO,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,OAAO,GACvE,CAAC,CASH;AACD;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,EACrC,IAAI,EAAE,MAAM,EACZ,MAAM,UAAQ,GACb;IACD,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;IACnB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtB,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CACpB,CA4BA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 标准化路径
|
|
3
|
+
* @param {string} path
|
|
4
|
+
* @returns {string}
|
|
5
|
+
*/
|
|
6
|
+
export declare const pathNormalize: (path: string) => string;
|
|
7
|
+
/**
|
|
8
|
+
* 路径合并
|
|
9
|
+
* @param {string} from
|
|
10
|
+
* @param {string} to
|
|
11
|
+
* @returns {string}
|
|
12
|
+
*/
|
|
13
|
+
export declare const pathJoin: (from: string, ...to: string[]) => string;
|
|
14
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/path.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa,SAAU,MAAM,KAAG,MA8C5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,SAAS,MAAM,EAAE,KAAG,MAAgD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface Params<T = string | number> {
|
|
2
|
+
[key: string]: T | Array<T>;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* 解析查询参数,内部使用的是浏览器内置的 URLSearchParams 进行处理
|
|
6
|
+
* @param {string} queryString
|
|
7
|
+
* @returns {Params}
|
|
8
|
+
*/
|
|
9
|
+
export declare function qsParse(queryString: string): Params;
|
|
10
|
+
export type LooseParamValue = string | number | boolean | Date | null | undefined;
|
|
11
|
+
export interface LooseParams<T = LooseParamValue> {
|
|
12
|
+
[key: string]: T | Array<T>;
|
|
13
|
+
}
|
|
14
|
+
export type Replacer = (value: LooseParamValue) => string | null;
|
|
15
|
+
/**
|
|
16
|
+
* 字符化查询对象,内部使用的是浏览器内置的 URLSearchParams 进行处理
|
|
17
|
+
* @param {LooseParams} query
|
|
18
|
+
* @param {Replacer} replacer
|
|
19
|
+
* @returns {string}
|
|
20
|
+
*/
|
|
21
|
+
export declare function qsStringify(query: LooseParams, replacer?: Replacer): string;
|
|
22
|
+
//# sourceMappingURL=qs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qs.d.ts","sourceRoot":"","sources":["../../src/qs.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAkBnD;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAClF,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,eAAe;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;CAC7B;AACD,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,GAAG,IAAI,CAAC;AASjE;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,GAAE,QAA0B,GAAG,MAAM,CAsB5F"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 随机整数
|
|
3
|
+
* @param {number} min
|
|
4
|
+
* @param {number} max
|
|
5
|
+
* @returns {number}
|
|
6
|
+
*/
|
|
7
|
+
export declare const randomNumber: (min: number, max: number) => number;
|
|
8
|
+
export declare const STRING_POOL: string;
|
|
9
|
+
export interface RandomString {
|
|
10
|
+
(length: number, pool: string): string;
|
|
11
|
+
(length: number): string;
|
|
12
|
+
(pool: string): string;
|
|
13
|
+
(): string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 随机字符串
|
|
17
|
+
* @param {number | string} length
|
|
18
|
+
* @param {string} pool
|
|
19
|
+
* @returns {string}
|
|
20
|
+
*/
|
|
21
|
+
export declare const randomString: RandomString;
|
|
22
|
+
/**
|
|
23
|
+
* 优先浏览器原生能力获取 UUID v4
|
|
24
|
+
* @returns {string}
|
|
25
|
+
*/
|
|
26
|
+
export declare function randomUuid(): string;
|
|
27
|
+
//# sourceMappingURL=random.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/random.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,YAAY,QAAS,MAAM,OAAO,MAAM,KAAG,MAA2D,CAAC;AAEpH,eAAO,MAAM,WAAW,QAAgF,CAAC;AAEzG,MAAM,WAAW,YAAY;IAC3B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,MAAM,CAAC;CACZ;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,YA0B1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAcnC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { AnyObject } from './type';
|
|
2
|
+
/**
|
|
3
|
+
* 将字符串转换为驼峰格式
|
|
4
|
+
* @param {string} string
|
|
5
|
+
* @param {boolean} [bigger] 是否大写第一个字母
|
|
6
|
+
* @returns {string}
|
|
7
|
+
*/
|
|
8
|
+
export declare function stringCamelCase(string: string, bigger?: boolean): string;
|
|
9
|
+
/**
|
|
10
|
+
* 将字符串转换为连字格式
|
|
11
|
+
* @param {string} string
|
|
12
|
+
* @param {string} [separator] 分隔符,默认是"-"(短横线)
|
|
13
|
+
* @returns {string}
|
|
14
|
+
*/
|
|
15
|
+
export declare function stringKebabCase(string: string, separator?: string): string;
|
|
16
|
+
export declare const STRING_ARABIC_NUMERALS = "0123456789";
|
|
17
|
+
export declare const STRING_LOWERCASE_ALPHA = "abcdefghijklmnopqrstuvwxyz";
|
|
18
|
+
export declare const STRING_UPPERCASE_ALPHA = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
19
|
+
/**
|
|
20
|
+
* 字符串格式化
|
|
21
|
+
* @example
|
|
22
|
+
* ```js
|
|
23
|
+
* stringFormat("My name is %s.", "zhangsan")
|
|
24
|
+
* // => "My name is zhangsan."
|
|
25
|
+
* ```
|
|
26
|
+
* @param {string} string 字符串模板,使用 %s 表示字符串,%d 表示数值,%o 表示对象,%% 表示百分号,参考 console.log
|
|
27
|
+
* @param args
|
|
28
|
+
* @returns {string}
|
|
29
|
+
*/
|
|
30
|
+
export declare function stringFormat(string: string, ...args: Array<unknown>): string;
|
|
31
|
+
/**
|
|
32
|
+
* 字符串赋值
|
|
33
|
+
* @example
|
|
34
|
+
* ```js
|
|
35
|
+
* stringAssign('My name is ${user}.', { user: 'zhangsan' });
|
|
36
|
+
* // => "My name is zhangsan."
|
|
37
|
+
* ```
|
|
38
|
+
* @param {string} template
|
|
39
|
+
* @param {AnyObject} data
|
|
40
|
+
* @returns {string}
|
|
41
|
+
*/
|
|
42
|
+
export declare const stringAssign: (template: string, data: AnyObject) => string;
|
|
43
|
+
/**
|
|
44
|
+
* 字符串编码 HTML
|
|
45
|
+
* @example
|
|
46
|
+
* ```js
|
|
47
|
+
* stringEscapeHtml('<b>You & Me speak "xixi"</b>')
|
|
48
|
+
* // => "<b>You & Me speak "xixi"</b>"
|
|
49
|
+
* ```
|
|
50
|
+
* @param {string} html
|
|
51
|
+
* @returns {string}
|
|
52
|
+
*/
|
|
53
|
+
export declare const stringEscapeHtml: (html: string) => string;
|
|
54
|
+
/**
|
|
55
|
+
* 字符串填充
|
|
56
|
+
* @param {number} length
|
|
57
|
+
* @param {string} value
|
|
58
|
+
* @returns {string}
|
|
59
|
+
*/
|
|
60
|
+
export declare const stringFill: (length: number, value?: string) => string;
|
|
61
|
+
/**
|
|
62
|
+
* 解析URL查询参数
|
|
63
|
+
* @param {string} searchStr
|
|
64
|
+
* @returns {Record<string, string | string[]>}
|
|
65
|
+
*/
|
|
66
|
+
export declare function parseQueryParams(searchStr?: string): Record<string, string | string[]>;
|
|
67
|
+
//# sourceMappingURL=string.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,QAAQ,CAAC;AAE7C;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAUxE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAIvE;AAED,eAAO,MAAM,sBAAsB,eAAe,CAAC;AACnD,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AACnE,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AAGnE;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,CAoB5E;AAkBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,aAAc,MAAM,QAAQ,SAAS,KAAG,MAEhE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,SAAU,MAAM,KAAG,MAa/C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,WAAY,MAAM,qBAAgB,MAAgD,CAAC;AAE1G;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,GAAE,MAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAYvG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 自定义的 tooltip, 支持鼠标移动动悬浮提示
|
|
3
|
+
* @Desc 自定义的tooltip方法, 支持拖动悬浮提示
|
|
4
|
+
* Created by chendeqiao on 2017/5/8.
|
|
5
|
+
* @example
|
|
6
|
+
* <span onmouseleave="handleMouseLeave('#root')"
|
|
7
|
+
* onmousemove="handleMouseEnter({rootContainer: '#root', title: 'title content', event: event})"
|
|
8
|
+
* onmouseenter="handleMouseEnter({rootContainer:'#root', title: 'title content', event: event})">
|
|
9
|
+
* title content
|
|
10
|
+
* </span>
|
|
11
|
+
*/
|
|
12
|
+
interface ITooltipParams {
|
|
13
|
+
rootContainer: HTMLElement | string;
|
|
14
|
+
title: string;
|
|
15
|
+
event: PointerEvent | MouseEvent;
|
|
16
|
+
bgColor?: string;
|
|
17
|
+
color?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 自定义title提示功能的mouseenter事件句柄
|
|
21
|
+
* @param {ITooltipParams} param
|
|
22
|
+
* @returns {*}
|
|
23
|
+
*/
|
|
24
|
+
declare function handleMouseEnter({ rootContainer, title, event, bgColor, color }: ITooltipParams): void;
|
|
25
|
+
/**
|
|
26
|
+
* 移除提示文案dom的事件句柄
|
|
27
|
+
* @param {string} rootContainer
|
|
28
|
+
* @returns {*}
|
|
29
|
+
*/
|
|
30
|
+
declare function handleMouseLeave(rootContainer?: HTMLElement | string): void;
|
|
31
|
+
declare const tooltipEvent: {
|
|
32
|
+
handleMouseEnter: typeof handleMouseEnter;
|
|
33
|
+
handleMouseLeave: typeof handleMouseLeave;
|
|
34
|
+
};
|
|
35
|
+
export { tooltipEvent };
|
|
36
|
+
//# sourceMappingURL=tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/tooltip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,UAAU,cAAc;IACtB,aAAa,EAAE,WAAW,GAAG,MAAM,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,GAAG,UAAU,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,iBAAS,gBAAgB,CAAC,EACxB,aAAuB,EACvB,KAAK,EACL,KAAK,EACL,OAAgB,EAChB,KAAc,EACf,EAAE,cAAc,GAAG,IAAI,CA8CvB;AAoCD;;;;GAIG;AACH,iBAAS,gBAAgB,CAAC,aAAa,GAAE,WAAW,GAAG,MAAgB,GAAG,IAAI,CAQ7E;AACD,QAAA,MAAM,YAAY;;;CAAyC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
export interface IFieldOptions {
|
|
2
|
+
keyField: string;
|
|
3
|
+
childField: string;
|
|
4
|
+
pidField: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ISearchTreeOpts {
|
|
7
|
+
childField: string;
|
|
8
|
+
nameField: string;
|
|
9
|
+
removeEmptyChild: boolean;
|
|
10
|
+
ignoreCase: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface IFilterCondition<V> {
|
|
13
|
+
keyword?: string;
|
|
14
|
+
filter?: (args: V) => boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 树遍历函数(支持continue和break操作), 可用于遍历Array和NodeList类型的数据
|
|
18
|
+
* @param {ArrayLike<V>} tree 树形数据
|
|
19
|
+
* @param {Function} iterator 迭代函数, 返回值为true时continue, 返回值为false时break
|
|
20
|
+
* @param {options} options 支持定制子元素名称、反向遍历、广度优先遍历,默认{
|
|
21
|
+
childField: 'children',
|
|
22
|
+
reverse: false,
|
|
23
|
+
breadthFirst: false
|
|
24
|
+
}
|
|
25
|
+
* @returns {*}
|
|
26
|
+
*/
|
|
27
|
+
export declare function forEachDeep<V>(tree: ArrayLike<V>, iterator: (val: V, index: number, currentArr: ArrayLike<V>, tree: ArrayLike<V>, parent: V | null, level: number) => boolean | void, options?: {
|
|
28
|
+
childField?: string;
|
|
29
|
+
reverse?: boolean;
|
|
30
|
+
breadthFirst?: boolean;
|
|
31
|
+
isDomNode?: boolean;
|
|
32
|
+
}): void;
|
|
33
|
+
/**
|
|
34
|
+
* 创建一个新数组, 深度优先遍历的Map函数(支持continue和break操作), 可用于insert tree item 和 remove tree item
|
|
35
|
+
*
|
|
36
|
+
* 可遍历任何带有 length 属性和数字键的类数组对象
|
|
37
|
+
* @param {ArrayLike<V>} tree 树形数据
|
|
38
|
+
* @param {Function} iterator 迭代函数, 返回值为true时continue, 返回值为false时break
|
|
39
|
+
* @param {options} options 支持定制子元素名称、反向遍历,默认{
|
|
40
|
+
childField: 'children',
|
|
41
|
+
reverse: false,
|
|
42
|
+
}
|
|
43
|
+
* @returns {any[]} 新的一棵树
|
|
44
|
+
*/
|
|
45
|
+
export declare function mapDeep<T>(tree: T[], iterator: (val: T, index: number, currentArr: T[], tree: T[], parent: T | null, level: number) => {
|
|
46
|
+
[k: string | number]: any;
|
|
47
|
+
} | boolean, options?: {
|
|
48
|
+
childField?: string;
|
|
49
|
+
reverse?: boolean;
|
|
50
|
+
breadthFirst?: boolean;
|
|
51
|
+
}): any[];
|
|
52
|
+
export type IdLike = number | string;
|
|
53
|
+
export type ITreeConf = Omit<IFieldOptions, 'pidField'>;
|
|
54
|
+
/**
|
|
55
|
+
* 在树中找到 id 为某个值的节点,并返回上游的所有父级节点
|
|
56
|
+
*
|
|
57
|
+
* @param {ArrayLike<T>} tree - 树形数据
|
|
58
|
+
* @param {number | string} nodeId - 目标元素ID
|
|
59
|
+
* @param {ITreeConf} options - 迭代配置项, 默认:{ children = 'children', id = 'id' }
|
|
60
|
+
* @returns {[(number | string)[], V[]]} - 由parentId...childId, parentObject-childObject组成的二维数组
|
|
61
|
+
*/
|
|
62
|
+
export declare function searchTreeById<V>(tree: ArrayLike<V>, nodeId: IdLike, options?: ITreeConf): [(number | string)[], ArrayLike<V>[]];
|
|
63
|
+
/**
|
|
64
|
+
* 扁平化数组转换成树
|
|
65
|
+
* @param {any[]} list
|
|
66
|
+
* @param {IFieldOptions} options 定制id字段名,子元素字段名,父元素字段名,默认
|
|
67
|
+
* { keyField: 'key', childField: 'children', pidField: 'pid' }
|
|
68
|
+
* @returns {any[]}
|
|
69
|
+
*/
|
|
70
|
+
export declare function formatTree(list: any[], options?: IFieldOptions): any[];
|
|
71
|
+
/**
|
|
72
|
+
* 树形结构转扁平化
|
|
73
|
+
* @param {any[]} treeList
|
|
74
|
+
* @param {IFieldOptions} options 定制id字段名,子元素字段名,父元素字段名,默认
|
|
75
|
+
* { keyField: 'key', childField: 'children', pidField: 'pid' }
|
|
76
|
+
* @returns {any[]}
|
|
77
|
+
*/
|
|
78
|
+
export declare function flatTree(treeList: any[], options?: IFieldOptions): any[];
|
|
79
|
+
/**
|
|
80
|
+
* 模糊搜索函数,返回包含搜索字符的节点及其祖先节点, 适用于树型组件的字符过滤功能
|
|
81
|
+
* 以下搜索条件二选一,按先后优先级处理:
|
|
82
|
+
* 1. 过滤函数filter, 返回true/false
|
|
83
|
+
* 2. 匹配关键词,支持是否启用忽略大小写来判断
|
|
84
|
+
*
|
|
85
|
+
* 有以下特性:
|
|
86
|
+
* 1. 可配置removeEmptyChild字段,来决定是否移除搜索结果中的空children字段
|
|
87
|
+
* 2. 若无任何过滤条件或keyword模式匹配且keyword为空串,返回原对象;其他情况返回新数组
|
|
88
|
+
* @param {V[]} nodes
|
|
89
|
+
* @param {IFilterCondition} filterCondition
|
|
90
|
+
* @param {ISearchTreeOpts} options 默认配置项 {
|
|
91
|
+
childField: 'children',
|
|
92
|
+
nameField: 'name',
|
|
93
|
+
removeEmptyChild: false,
|
|
94
|
+
ignoreCase: true
|
|
95
|
+
}
|
|
96
|
+
* @returns {V[]}
|
|
97
|
+
*/
|
|
98
|
+
export declare function fuzzySearchTree<V>(nodes: V[], filterCondition: IFilterCondition<V>, options?: ISearchTreeOpts): V[];
|
|
99
|
+
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/tree.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AAOD,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,QAAQ,EAAE,CACR,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,MAAM,EAAE,CAAC,GAAG,IAAI,EAChB,KAAK,EAAE,MAAM,KACV,OAAO,GAAG,IAAI,EACnB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAK7F,GACA,IAAI,CAwGN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,CAAC,EAAE,EACT,QAAQ,EAAE,CACR,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,CAAC,EAAE,EACf,IAAI,EAAE,CAAC,EAAE,EACT,MAAM,EAAE,CAAC,GAAG,IAAI,EAChB,KAAK,EAAE,MAAM,KACV;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,OAAO,EAC5C,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAGxE,GACA,GAAG,EAAE,CAyDP;AACD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACrC,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACxD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,SAAsD,GAC9D,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CA0BvC;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,GAAE,aAAmC,GAAG,GAAG,EAAE,CAuB3F;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,GAAE,aAAmC,GAAG,GAAG,EAAE,CAqB7F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,KAAK,EAAE,CAAC,EAAE,EACV,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACpC,OAAO,GAAE,eAA0C,GAClD,CAAC,EAAE,CAkDL"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/** 任意函数 */
|
|
2
|
+
export type AnyFunc<R = any> = (...args: any[]) => R;
|
|
3
|
+
/** 任意数组 */
|
|
4
|
+
export type AnyArray = any[];
|
|
5
|
+
/** 取出数组元素 */
|
|
6
|
+
export type ArrayElements<A> = A extends Array<infer R> ? R : never;
|
|
7
|
+
/** 任意对象 */
|
|
8
|
+
export type AnyObject = Record<string | number, any>;
|
|
9
|
+
/** 异步回调函数 */
|
|
10
|
+
export type AsyncCallback = {
|
|
11
|
+
successCallback?: Function;
|
|
12
|
+
failCallback?: Function;
|
|
13
|
+
};
|
|
14
|
+
export interface Fn<T = any, R = T> {
|
|
15
|
+
(...arg: T[]): R;
|
|
16
|
+
}
|
|
17
|
+
export interface PromiseFn<T = any, R = T> {
|
|
18
|
+
(...arg: T[]): Promise<R>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 将除指定属性外的所有属性变为必填
|
|
22
|
+
*
|
|
23
|
+
* Change all properties except the specified properties to required
|
|
24
|
+
*/
|
|
25
|
+
export type ChangeRequiredExcept<T, K extends keyof T> = Required<Omit<T, K>> & Partial<Pick<T, K>>;
|
|
26
|
+
/**
|
|
27
|
+
* 将指定属性变为可选
|
|
28
|
+
*
|
|
29
|
+
* Change the specified properties to optional
|
|
30
|
+
*/
|
|
31
|
+
export type ChangeOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
32
|
+
/**
|
|
33
|
+
* 将指定属性变为必填
|
|
34
|
+
*
|
|
35
|
+
* Change the specified properties to required
|
|
36
|
+
*/
|
|
37
|
+
export type ChangeRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
38
|
+
export type PartialDeep<T> = {
|
|
39
|
+
[P in keyof T]?: PartialDeep<T[P]>;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* 判断对象内是否有该静态属性
|
|
43
|
+
* @param {object} obj
|
|
44
|
+
* @param {string} key
|
|
45
|
+
* @returns {boolean}
|
|
46
|
+
*/
|
|
47
|
+
export declare function objectHas<T extends AnyObject>(obj: T, key: keyof T): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* 判断一个对象是否为类数组
|
|
50
|
+
*
|
|
51
|
+
* @param any
|
|
52
|
+
* @returns {boolean}
|
|
53
|
+
*/
|
|
54
|
+
export declare function arrayLike(any: unknown): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* 判断任意值的数据类型,检查非对象时不如typeof、instanceof的性能高
|
|
57
|
+
*
|
|
58
|
+
* 当检查类对象时是不可靠的,对象可以通过定义 Symbol.toStringTag 属性来更改检查结果
|
|
59
|
+
*
|
|
60
|
+
* 详见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/toString
|
|
61
|
+
* @param {unknown} any
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
export declare function typeIs(any: unknown): 'Null' | 'Undefined' | 'Symbol' | 'Boolean' | 'Number' | 'String' | 'Function' | 'Date' | 'RegExp' | 'Map' | 'Set' | 'ArrayBuffer' | 'Object' | 'Array' | 'Error' | 'BigInt' | 'Promise' | 'AsyncFunction' | string;
|
|
65
|
+
export declare const isString: (any: unknown) => any is string;
|
|
66
|
+
export declare const isBoolean: (any: unknown) => any is boolean;
|
|
67
|
+
export declare const isSymbol: (any: unknown) => any is symbol;
|
|
68
|
+
export declare const isBigInt: (any: unknown) => any is bigint;
|
|
69
|
+
export declare const isNumber: (any: unknown) => any is number;
|
|
70
|
+
export declare const isUndefined: (any: unknown) => any is undefined;
|
|
71
|
+
export declare const isNull: (any: unknown) => any is null;
|
|
72
|
+
export declare const isPrimitive: (any: unknown) => boolean;
|
|
73
|
+
export declare function isNullOrUnDef(val: unknown): val is null | undefined;
|
|
74
|
+
export { isNullOrUnDef as isNullish };
|
|
75
|
+
export declare const isObject: (any: unknown) => any is Record<string, unknown>;
|
|
76
|
+
export declare const isArray: (any: unknown) => any is unknown[];
|
|
77
|
+
/**
|
|
78
|
+
* 判断是否为函数
|
|
79
|
+
* @param {unknown} any
|
|
80
|
+
* @returns {boolean}
|
|
81
|
+
*/
|
|
82
|
+
export declare const isFunction: (any: unknown) => any is Function;
|
|
83
|
+
export declare const isNaN: (any: unknown) => any is number;
|
|
84
|
+
export declare const isDate: (any: unknown) => any is Date;
|
|
85
|
+
export declare const isError: (any: unknown) => any is Error;
|
|
86
|
+
export declare const isRegExp: (any: unknown) => any is RegExp;
|
|
87
|
+
/**
|
|
88
|
+
* 判断一个字符串是否为有效的 JSON, 若有效则返回有效的JSON对象,否则false
|
|
89
|
+
* @param {string} str
|
|
90
|
+
* @returns {Object | boolean}
|
|
91
|
+
*/
|
|
92
|
+
export declare function isJsonString(str: string): Object | boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Checks if `value` is an empty object, collection, map, or set.
|
|
95
|
+
*
|
|
96
|
+
* Objects are considered empty if they have no own enumerable string keyed
|
|
97
|
+
* properties.
|
|
98
|
+
*
|
|
99
|
+
* Array-like values such as `arguments` objects, arrays, buffers, strings, or
|
|
100
|
+
* jQuery-like collections are considered empty if they have a `length` of `0`.
|
|
101
|
+
* Similarly, maps and sets are considered empty if they have a `size` of `0`.
|
|
102
|
+
*
|
|
103
|
+
* @param {*} value The value to check.
|
|
104
|
+
* @returns {boolean} Returns `true` if `value` is empty, else `false`.
|
|
105
|
+
* @example
|
|
106
|
+
*
|
|
107
|
+
* isEmpty(null);
|
|
108
|
+
* // => true
|
|
109
|
+
*
|
|
110
|
+
* isEmpty(true);
|
|
111
|
+
* // => true
|
|
112
|
+
*
|
|
113
|
+
* isEmpty(1);
|
|
114
|
+
* // => true
|
|
115
|
+
*
|
|
116
|
+
* isEmpty([1, 2, 3]);
|
|
117
|
+
* // => false
|
|
118
|
+
*
|
|
119
|
+
* isEmpty({ 'a': 1 });
|
|
120
|
+
* // => false
|
|
121
|
+
*/
|
|
122
|
+
export declare function isEmpty(value: any): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Checks if `value` is an NodeList object
|
|
125
|
+
*/
|
|
126
|
+
export declare function isNodeList(value: any): boolean;
|
|
127
|
+
export default typeIs;
|
|
128
|
+
//# sourceMappingURL=type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const UNIQUE_NUMBER_SAFE_LENGTH = 18;
|
|
2
|
+
/**
|
|
3
|
+
* 生成唯一不重复数值
|
|
4
|
+
* @param {number} length
|
|
5
|
+
* @returns {string}
|
|
6
|
+
*/
|
|
7
|
+
export declare const uniqueNumber: (length?: number) => string;
|
|
8
|
+
export interface UniqueString {
|
|
9
|
+
(length: number, pool: string): string;
|
|
10
|
+
(length: number): string;
|
|
11
|
+
(pool: string): string;
|
|
12
|
+
(): string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 生成唯一不重复字符串
|
|
16
|
+
* @param {number | string} length
|
|
17
|
+
* @param {string} pool
|
|
18
|
+
* @returns {string}
|
|
19
|
+
*/
|
|
20
|
+
export declare const uniqueString: UniqueString;
|
|
21
|
+
//# sourceMappingURL=unique.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unique.d.ts","sourceRoot":"","sources":["../../src/unique.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAI5C;;;;GAIG;AACH,eAAO,MAAM,YAAY,YAAY,MAAM,KAA+B,MA0BzE,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,MAAM,CAAC;CACZ;AAQD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,YAuB1B,CAAC"}
|