@base-web-kits/base-tools-ts 0.8.16 → 0.8.18
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/base-tools-ts.umd.global.js +2 -55
- package/dist/base-tools-ts.umd.global.js +2 -55
- package/dist/index.cjs +0 -37
- package/dist/index.js +0 -36
- package/package.json +1 -1
- package/dist/array/index.d.ts +0 -9
- package/dist/array/index.d.ts.map +0 -1
- package/dist/async/index.d.ts +0 -14
- package/dist/async/index.d.ts.map +0 -1
- package/dist/bean/EventBus.d.ts +0 -36
- package/dist/bean/EventBus.d.ts.map +0 -1
- package/dist/bean/index.d.ts +0 -2
- package/dist/bean/index.d.ts.map +0 -1
- package/dist/day/index.d.ts +0 -100
- package/dist/day/index.d.ts.map +0 -1
- package/dist/index.d.ts +0 -15
- package/dist/index.d.ts.map +0 -1
- package/dist/lodash/index.d.ts +0 -8
- package/dist/lodash/index.d.ts.map +0 -1
- package/dist/number/big.d.ts +0 -137
- package/dist/number/big.d.ts.map +0 -1
- package/dist/number/format.d.ts +0 -88
- package/dist/number/format.d.ts.map +0 -1
- package/dist/number/index.d.ts +0 -4
- package/dist/number/index.d.ts.map +0 -1
- package/dist/number/random.d.ts +0 -33
- package/dist/number/random.d.ts.map +0 -1
- package/dist/object/index.d.ts +0 -11
- package/dist/object/index.d.ts.map +0 -1
- package/dist/string/format.d.ts +0 -33
- package/dist/string/format.d.ts.map +0 -1
- package/dist/string/index.d.ts +0 -4
- package/dist/string/index.d.ts.map +0 -1
- package/dist/string/other.d.ts +0 -15
- package/dist/string/other.d.ts.map +0 -1
- package/dist/string/random.d.ts +0 -27
- package/dist/string/random.d.ts.map +0 -1
- package/dist/typing/index.d.ts +0 -134
- package/dist/typing/index.d.ts.map +0 -1
- package/dist/url/file/index.d.ts +0 -22
- package/dist/url/file/index.d.ts.map +0 -1
- package/dist/url/index.d.ts +0 -5
- package/dist/url/index.d.ts.map +0 -1
- package/dist/url/oss/index.d.ts +0 -77
- package/dist/url/oss/index.d.ts.map +0 -1
- package/dist/url/param/index.d.ts +0 -49
- package/dist/url/param/index.d.ts.map +0 -1
- package/dist/url/qn/index.d.ts +0 -58
- package/dist/url/qn/index.d.ts.map +0 -1
- package/dist/validator/index.d.ts +0 -296
- package/dist/validator/index.d.ts.map +0 -1
package/dist/number/format.d.ts
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { BigNumber } from './big';
|
|
2
|
-
/**
|
|
3
|
-
* 开头补零
|
|
4
|
-
* @param n 数字
|
|
5
|
-
* @param len 总长度,默认 2
|
|
6
|
-
* @returns 零填充后的字符串
|
|
7
|
-
* @example
|
|
8
|
-
* zeroPad(1) // '01'
|
|
9
|
-
* zeroPad(12) // '12'
|
|
10
|
-
* zeroPad(12, 4) // '0012'
|
|
11
|
-
*/
|
|
12
|
-
export declare function zeroPad(n: number | string, len?: number): string;
|
|
13
|
-
/**
|
|
14
|
-
* 给数字添加指定单位 (支持数字字符串,其他非法字符返回原值)
|
|
15
|
-
* @param unit 单位
|
|
16
|
-
* @param num 数字
|
|
17
|
-
* @example
|
|
18
|
-
* withUnit(0, 'px') // "0px"
|
|
19
|
-
* withUnit(1, 'px') // "1px"
|
|
20
|
-
* withUnit('1', 'rpx') // "1rpx"
|
|
21
|
-
* withUnit('1', '%') // "1%"
|
|
22
|
-
* withUnit('auto', 'px') // "auto"
|
|
23
|
-
* withUnit(null | undefined | '') // ""
|
|
24
|
-
*/
|
|
25
|
-
export declare function withUnit(num?: number | string, unit?: string): string;
|
|
26
|
-
/**
|
|
27
|
-
* 给数字添加px单位 (支持数字字符串,其他非法字符返回原值)
|
|
28
|
-
* @example
|
|
29
|
-
* withUnitPx(10) // "10px"
|
|
30
|
-
* withUnitPx('10') // "10px"
|
|
31
|
-
* withUnitPx('10px') // "10px"
|
|
32
|
-
* withUnitPx("auto") // "auto"
|
|
33
|
-
* withUnitPx("30%") // "30%"
|
|
34
|
-
* withUnitPx(null | undefined | '') // ""
|
|
35
|
-
* withUnitPx(0) // "0px"
|
|
36
|
-
*/
|
|
37
|
-
export declare function withUnitPx(num?: string | number): string;
|
|
38
|
-
/**
|
|
39
|
-
* 给数字添加距离单位:当数值大于等于 1000m 时转换为 km,否则显示 m(最多两位小数、无无意义补零)
|
|
40
|
-
* @example
|
|
41
|
-
* withDistance(5); // => '5m'
|
|
42
|
-
* withDistance(999.456); // => '999.46m'
|
|
43
|
-
* withDistance(1000); // => '1km'
|
|
44
|
-
* withDistance('1500'); // => '1.5km'
|
|
45
|
-
* withDistance('1728'); // => '1.73km'
|
|
46
|
-
*/
|
|
47
|
-
export declare function withDistance(m: number | string): string;
|
|
48
|
-
/**
|
|
49
|
-
* 数字转千分位字符串(保留小数与符号)。
|
|
50
|
-
* @example
|
|
51
|
-
* toThousandth(1234567); // => '1,234,567'
|
|
52
|
-
* toThousandth('1234567.89'); // => '1,234,567.89'
|
|
53
|
-
* toThousandth('-987654'); // => '-987,654'
|
|
54
|
-
*/
|
|
55
|
-
export declare function toThousandth(str: number | string): string;
|
|
56
|
-
/**
|
|
57
|
-
* 阿拉伯数字转中文整数(忽略小数;支持负数)。
|
|
58
|
-
* @param num 输入的数字或数字字符串(小数部分将被丢弃)
|
|
59
|
-
* @returns 中文数字字符串;非法输入返回空字符串
|
|
60
|
-
* @example
|
|
61
|
-
* toChineseNum(123456); // "十二万三千四百五十六"
|
|
62
|
-
* toChineseNum(-10008); // "负一万零八"
|
|
63
|
-
* `第${toChineseNum(123)}条` // "第一百二十三条"
|
|
64
|
-
*/
|
|
65
|
-
export declare function toChineseNum(num: number | string): string;
|
|
66
|
-
/**
|
|
67
|
-
* 金额转中文大写(支持角/分/厘,精度控制)。
|
|
68
|
-
* @param amount 金额(支持 number | string),非法或非有限数返回空串
|
|
69
|
-
* @param opts 配置项
|
|
70
|
-
* @param opts.precision 保留小数位(0~3),对应:0无小数、1角、2角分、3角分厘;默认 2
|
|
71
|
-
* @param opts.rm 舍入模式,默认 `BigNumber.ROUND_HALF_UP`(四舍五入)
|
|
72
|
-
* @param opts.yuanChar 元单位字符(`'元' | '圆'`),默认 `'元'`
|
|
73
|
-
* @returns 中文大写金额字符串;示例:`壹佰贰拾叁元肆角伍分`
|
|
74
|
-
* @example
|
|
75
|
-
* toChineseCurrency(0) // '零元整'
|
|
76
|
-
* toChineseCurrency(10) // '拾元整'
|
|
77
|
-
* toChineseCurrency(101) // '壹佰零壹元整'
|
|
78
|
-
* toChineseCurrency(1001000) // '壹佰万零壹仟元整'
|
|
79
|
-
* toChineseCurrency(1001.01) // '壹仟零壹元壹分'
|
|
80
|
-
* toChineseCurrency('1234.5679', { precision: 3 }) // '壹仟贰佰叁拾肆元伍角陆分捌厘'
|
|
81
|
-
* toChineseCurrency(-1.2) // '负壹元贰角'
|
|
82
|
-
*/
|
|
83
|
-
export declare function toChineseCurrency(amount: number | string, opts?: {
|
|
84
|
-
precision?: 0 | 1 | 2 | 3;
|
|
85
|
-
rm?: BigNumber.RoundingMode;
|
|
86
|
-
yuanChar?: '元' | '圆';
|
|
87
|
-
}): string;
|
|
88
|
-
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/ts/number/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAI,UAElD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,SAAK,UAUxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,UAE/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAqBzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,UA4ChD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,IAAI,GAAE;IACJ,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,EAAE,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CACjB,GACL,MAAM,CAyER"}
|
package/dist/number/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ts/number/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|
package/dist/number/random.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 随机生成 `a` 到 `b` 的整数(闭区间,包含两端)。
|
|
3
|
-
* - 自动交换边界,按从小到大处理。
|
|
4
|
-
* - 下界向上取整、上界向下取整后再取值。
|
|
5
|
-
* @param a 边界值。
|
|
6
|
-
* @param b 边界值。
|
|
7
|
-
* @returns 闭区间内的随机整数。
|
|
8
|
-
* @example
|
|
9
|
-
* randomInt(0, 10); // => 0..10 之间的随机整数(含 0 与 10)
|
|
10
|
-
* randomInt(10, 0); // => 0..10 之间的随机整数(含 0 与 10)
|
|
11
|
-
* randomInt(5.2, 10.8); // => 6..10 之间取整随机数(含 6 与 10)
|
|
12
|
-
*/
|
|
13
|
-
export declare function randomInt(a: number, b: number): number;
|
|
14
|
-
/**
|
|
15
|
-
* 随机生成 `a` 到 `b` 的浮点数(半开区间,包含下界不包含上界)。
|
|
16
|
-
* - 自动交换边界,按从小到大处理。
|
|
17
|
-
* @param a 边界值。
|
|
18
|
-
* @param b 边界值。
|
|
19
|
-
* @returns 半开区间内的随机浮点数。
|
|
20
|
-
* @example
|
|
21
|
-
* randomFloat(0, 10); // => [0, 10) 内的随机浮点数
|
|
22
|
-
* randomFloat(10, 0); // => [0, 10) 内的随机浮点数
|
|
23
|
-
* randomFloat(5.2, 10.8); // => [5.2, 10.8) 内的随机浮点数
|
|
24
|
-
*/
|
|
25
|
-
export declare function randomFloat(a: number, b: number): number;
|
|
26
|
-
/**
|
|
27
|
-
* 随机生成一个布尔值。
|
|
28
|
-
* @returns 随机布尔值。
|
|
29
|
-
* @example
|
|
30
|
-
* randomBoolean(); // => 随机返回 true 或 false
|
|
31
|
-
*/
|
|
32
|
-
export declare function randomBoolean(): boolean;
|
|
33
|
-
//# sourceMappingURL=random.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/ts/number/random.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAWxD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
|
package/dist/object/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 获取对象键名数组(类型安全)。
|
|
3
|
-
* 注:内置 `Object.keys` 与 `lodash-es` 的 `keys` 在 TS 中通常返回 `string[]`,无法精确到 `keyof T`。
|
|
4
|
-
* @param obj 目标对象
|
|
5
|
-
* @returns 类型精确的 `Array<keyof T>`
|
|
6
|
-
* @example
|
|
7
|
-
* const o = { a: 1, b: 'x' };
|
|
8
|
-
* const keys = getObjectKeys(o); // type: ('a' | 'b')[], value: ['a','b']
|
|
9
|
-
*/
|
|
10
|
-
export declare function getObjectKeys<T extends object>(obj: T): Array<keyof T>;
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ts/object/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAEtE"}
|
package/dist/string/format.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 文本脱敏
|
|
3
|
-
* @param s 原始文本
|
|
4
|
-
* @param keepLeft 保留左侧字符数(默认 1)
|
|
5
|
-
* @param keepRight 保留右侧字符数(默认 0)
|
|
6
|
-
* @param maskChar 脱敏字符(默认 `*`)
|
|
7
|
-
* @returns 脱敏文本
|
|
8
|
-
* @example
|
|
9
|
-
* toMaskText('王小明', 1, 0) // => '王*'
|
|
10
|
-
* toMaskText('王小明', 1, 1) // => '王*明'
|
|
11
|
-
* toMaskText('13800138000', 3, 4) // => '138****8000'
|
|
12
|
-
*/
|
|
13
|
-
export declare function toMaskText(s: string, keepLeft?: number, keepRight?: number, maskChar?: string): string;
|
|
14
|
-
/**
|
|
15
|
-
* 手机号中间打星:保留前三位与后四位,中间打 `*`。
|
|
16
|
-
* @param phone 手机号字符串
|
|
17
|
-
* @returns 遮蔽后的手机号
|
|
18
|
-
* @example
|
|
19
|
-
* toMaskPhone('13800138000') // => '138****8000'
|
|
20
|
-
*/
|
|
21
|
-
export declare function toMaskPhone(phone: string): string;
|
|
22
|
-
/**
|
|
23
|
-
* 姓名打星:
|
|
24
|
-
* - 长度 ≤ 2:保留首字,其余打 `*`
|
|
25
|
-
* - 长度 ≥ 3:保留首尾,各打星中间
|
|
26
|
-
* @param name 姓名字符串
|
|
27
|
-
* @returns 遮蔽后的姓名
|
|
28
|
-
* @example
|
|
29
|
-
* toMaskName('张三') // => '张*'
|
|
30
|
-
* toMaskName('王小明') // => '王*明'
|
|
31
|
-
*/
|
|
32
|
-
export declare function toMaskName(name: string): string;
|
|
33
|
-
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/ts/string/format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,SAAI,EAAE,SAAS,SAAI,EAAE,QAAQ,SAAM,UAYhF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,UAExC;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,UAItC"}
|
package/dist/string/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ts/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
package/dist/string/other.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 计算字符串在 UTF-8 编码下的字节长度。
|
|
3
|
-
* 使用场景:
|
|
4
|
-
* 1) 按字节限制表单输入(避免超过后端/数据库字段上限)
|
|
5
|
-
* 2) 评估网络传输、缓存(Redis/消息队列)开销
|
|
6
|
-
* 3) 根据字节数截断或提示用户(而非按字符数)
|
|
7
|
-
* @param str 输入的字符串
|
|
8
|
-
* @returns 字符串的字节长度
|
|
9
|
-
* @example
|
|
10
|
-
* getStringByteLength('abc') // 3
|
|
11
|
-
* getStringByteLength('中文') // 6
|
|
12
|
-
* getStringByteLength('😊') // 4
|
|
13
|
-
*/
|
|
14
|
-
export declare function getStringByteLength(str: string): number;
|
|
15
|
-
//# sourceMappingURL=other.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"other.d.ts","sourceRoot":"","sources":["../../../src/ts/string/other.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBvD"}
|
package/dist/string/random.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 生成UUID
|
|
3
|
-
* @returns UUID字符串
|
|
4
|
-
* @example
|
|
5
|
-
* const uuid = createUUID() // '7982fcfe-5721-4632-bede-6000885be57d'
|
|
6
|
-
*/
|
|
7
|
-
export declare function createUUID(): string;
|
|
8
|
-
/**
|
|
9
|
-
* 生成随机字符串id
|
|
10
|
-
* - 常用于生成元素标签的id (默认加上'id_'前缀, 避免小程序中数字开头的id导致查询节点信息失败)
|
|
11
|
-
* @param prefix 前缀, 默认 'id_'
|
|
12
|
-
* @returns 随机字符串
|
|
13
|
-
* @example
|
|
14
|
-
* const id = createRandId(); // 'id_0rjuuuqv60xi'
|
|
15
|
-
* const id = createRandId('canvas_'); // 'canvas_v82a7ctm09q'
|
|
16
|
-
*/
|
|
17
|
-
export declare function createRandId(prefix?: string): string;
|
|
18
|
-
/**
|
|
19
|
-
* 时间+固定位数的随机数字字符串
|
|
20
|
-
* @param digits 随机部分的位数,默认 6
|
|
21
|
-
* @returns 时间+随机数字字符串
|
|
22
|
-
* @example
|
|
23
|
-
* const traceId = createTimeRandId(); // '1763002648039123456'
|
|
24
|
-
* const traceId = createTimeRandId(8); // '176300264803912345678'
|
|
25
|
-
*/
|
|
26
|
-
export declare function createTimeRandId(digits?: number): string;
|
|
27
|
-
//# sourceMappingURL=random.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/ts/string/random.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,UAAU,WAMzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAQ,UAE1C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,MAAU,UAMlD"}
|
package/dist/typing/index.d.ts
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 将指定属性设为必填(不改变其他属性)。
|
|
3
|
-
* - 所有属性必填请使用内置的Required<T>
|
|
4
|
-
* @example
|
|
5
|
-
* type User = { id?: number; name?: string; age?: number };
|
|
6
|
-
* type U1 = SetRequired<User, 'id' | 'name'>; // { id: number; name: string; age?: number }
|
|
7
|
-
*/
|
|
8
|
-
export type SetRequired<T, K extends keyof T> = {
|
|
9
|
-
[P in K]-?: T[P];
|
|
10
|
-
} & Omit<T, K>;
|
|
11
|
-
/**
|
|
12
|
-
* 将指定属性设为可选(不改变其他属性)。
|
|
13
|
-
* - 所有属性可选请使用内置的Partial<T>
|
|
14
|
-
* @example
|
|
15
|
-
* type User = { id: number; name: string; age: number };
|
|
16
|
-
* type U2 = SetOptional<User, 'age'>; // { id: number; name: string; age?: number }
|
|
17
|
-
*/
|
|
18
|
-
export type SetOptional<T, K extends keyof T> = {
|
|
19
|
-
[P in K]+?: T[P];
|
|
20
|
-
} & Omit<T, K>;
|
|
21
|
-
/**
|
|
22
|
-
* 深度可选(递归将所有属性设为可选)。
|
|
23
|
-
* @example
|
|
24
|
-
* type T = { a: { b: number }; list: Array<{ id: string }> };
|
|
25
|
-
* type R = DeepPartial<T>;
|
|
26
|
-
*/
|
|
27
|
-
export type DeepPartial<T> = T extends (infer U)[] ? DeepPartial<U>[] : T extends (...args: unknown[]) => unknown ? T : T extends object ? {
|
|
28
|
-
[K in keyof T]?: DeepPartial<T[K]>;
|
|
29
|
-
} : T;
|
|
30
|
-
/**
|
|
31
|
-
* 深度必填(递归移除所有可选标记)。
|
|
32
|
-
* @example
|
|
33
|
-
* type T = { a?: { b?: number } };
|
|
34
|
-
* type R = DeepRequired<T>; // { a: { b: number } }
|
|
35
|
-
*/
|
|
36
|
-
export type DeepRequired<T> = T extends (infer U)[] ? DeepRequired<U>[] : T extends (...args: unknown[]) => unknown ? T : T extends object ? {
|
|
37
|
-
[K in keyof T]-?: DeepRequired<T[K]>;
|
|
38
|
-
} : T;
|
|
39
|
-
/**
|
|
40
|
-
* 取消只读(顶层移除 `readonly`)。
|
|
41
|
-
* @example
|
|
42
|
-
* type R = Mutable<Readonly<{ a: number }>>; // { a: number }
|
|
43
|
-
*/
|
|
44
|
-
export type Mutable<T> = {
|
|
45
|
-
-readonly [K in keyof T]: T[K];
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* 深度只读(递归添加 `readonly`)。
|
|
49
|
-
* @example
|
|
50
|
-
* type R = ReadonlyDeep<{ a: { b: number }; list: { id: string }[] }>;
|
|
51
|
-
*/
|
|
52
|
-
export type ReadonlyDeep<T> = T extends (infer U)[] ? ReadonlyArray<ReadonlyDeep<U>> : T extends (...args: unknown[]) => unknown ? T : T extends object ? {
|
|
53
|
-
readonly [K in keyof T]: ReadonlyDeep<T[K]>;
|
|
54
|
-
} : T;
|
|
55
|
-
/**
|
|
56
|
-
* 对象值联合类型。
|
|
57
|
-
* @example
|
|
58
|
-
* type V = ValueOf<{ a: 1; b: 'x' }>; // 1 | 'x'
|
|
59
|
-
*/
|
|
60
|
-
export type ValueOf<T> = T[keyof T];
|
|
61
|
-
/**
|
|
62
|
-
* 根据值类型获取键名联合。
|
|
63
|
-
* @example
|
|
64
|
-
* type Keys = KeysOfType<{ a: string; b: number; c: string }, string>; // 'a' | 'c'
|
|
65
|
-
*/
|
|
66
|
-
export type KeysOfType<T, V> = {
|
|
67
|
-
[K in keyof T]-?: T[K] extends V ? K : never;
|
|
68
|
-
}[keyof T];
|
|
69
|
-
/**
|
|
70
|
-
* 按值类型挑选属性。
|
|
71
|
-
* @example
|
|
72
|
-
* type R = PickByType<{ a: string; b: number; c: string }, string>; // { a: string; c: string }
|
|
73
|
-
*/
|
|
74
|
-
export type PickByType<T, V> = Pick<T, KeysOfType<T, V>>;
|
|
75
|
-
/**
|
|
76
|
-
* 可选键名联合。
|
|
77
|
-
* @example
|
|
78
|
-
* type K = OptionalKeys<{ a?: number; b: string }>; // 'a'
|
|
79
|
-
*/
|
|
80
|
-
export type OptionalKeys<T> = {
|
|
81
|
-
[K in keyof T]-?: Pick<T, K> extends Required<Pick<T, K>> ? never : K;
|
|
82
|
-
}[keyof T];
|
|
83
|
-
/**
|
|
84
|
-
* 必填键名联合。
|
|
85
|
-
* @example
|
|
86
|
-
* type K = RequiredKeys<{ a?: number; b: string }>; // 'b'
|
|
87
|
-
*/
|
|
88
|
-
export type RequiredKeys<T> = {
|
|
89
|
-
[K in keyof T]-?: Pick<T, K> extends Required<Pick<T, K>> ? K : never;
|
|
90
|
-
}[keyof T];
|
|
91
|
-
/**
|
|
92
|
-
* 联合类型转交叉类型。
|
|
93
|
-
* @example
|
|
94
|
-
* type I = UnionToIntersection<{ a: 1 } | { b: 2 }>; // { a: 1 } & { b: 2 }
|
|
95
|
-
*/
|
|
96
|
-
export type UnionToIntersection<U> = (U extends unknown ? (x: U) => unknown : never) extends (x: infer I) => unknown ? I : never;
|
|
97
|
-
/**
|
|
98
|
-
* 合并属性(以 `U` 覆盖 `T` 的同名属性)。
|
|
99
|
-
* @example
|
|
100
|
-
* type R = Merge<{ a: 1; b: 2 }, { b: 3; c: 4 }>; // { a: 1; b: 3; c: 4 }
|
|
101
|
-
*/
|
|
102
|
-
export type Merge<T, U> = Omit<T, keyof U> & U;
|
|
103
|
-
/**
|
|
104
|
-
* 名义类型(品牌化)。
|
|
105
|
-
* @example
|
|
106
|
-
* type UserId = Brand<number, 'UserId'>;
|
|
107
|
-
*/
|
|
108
|
-
export type Brand<T, B extends string> = T & {
|
|
109
|
-
readonly __brand: B;
|
|
110
|
-
};
|
|
111
|
-
/**
|
|
112
|
-
* 可空(包含 `null | undefined`)。
|
|
113
|
-
* @example
|
|
114
|
-
* type R = Nullable<string>; // string | null | undefined
|
|
115
|
-
*/
|
|
116
|
-
export type Nullable<T> = T | null | undefined;
|
|
117
|
-
/**
|
|
118
|
-
* 可序列化为 JSON 的值类型。
|
|
119
|
-
*/
|
|
120
|
-
export type JsonPrimitive = string | number | boolean | null;
|
|
121
|
-
export type JsonObject = {
|
|
122
|
-
[k: string]: JsonValue;
|
|
123
|
-
};
|
|
124
|
-
export type JsonArray = Array<JsonValue>;
|
|
125
|
-
export type JsonValue = JsonPrimitive | JsonObject | JsonArray;
|
|
126
|
-
/**
|
|
127
|
-
* 精确匹配形状(不允许多余属性)。
|
|
128
|
-
* @example
|
|
129
|
-
* type Shape = { a: number };
|
|
130
|
-
* type OK = Exact<{ a: number }, Shape>; // { a: number }
|
|
131
|
-
* type NG = Exact<{ a: number; b: 1 }, Shape>; // never
|
|
132
|
-
*/
|
|
133
|
-
export type Exact<T, Shape> = T extends Shape ? Exclude<keyof T, keyof Shape> extends never ? T : never : never;
|
|
134
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ts/typing/index.ts"],"names":[],"mappings":"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"}
|
package/dist/url/file/index.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 获取文件后缀(不含点,返回小写)。
|
|
3
|
-
* 当文件名不包含点('.')时,返回空字符串。
|
|
4
|
-
* @param fileName 文件名,例如 `avatar.PNG`
|
|
5
|
-
* @returns 后缀字符串,例如 `png`
|
|
6
|
-
* @example getFileSuffix('avatar.PNG') // 'png'
|
|
7
|
-
* @example getFileSuffix('a.tar.gz') // 'gz'
|
|
8
|
-
* @example getFileSuffix('.ignore') // ''
|
|
9
|
-
* @example getFileSuffix('abc') // ''
|
|
10
|
-
*/
|
|
11
|
-
export declare function getFileSuffix(fileName: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* 根据文件后缀判断文件类型。
|
|
14
|
-
* 会将后缀转换为小写后与 `FILE_TYPE` 映射匹配;若未匹配到则返回 `'unknown'`。
|
|
15
|
-
* @param fileName 文件名
|
|
16
|
-
* @returns 文件类型字符串(如 'img' | 'video' | 'voice' | 'excel' | 'word' | 'zip' | 'ppt' | 'app' | 'unknown')
|
|
17
|
-
* @example getFileType('avatar.PNG') // 'img'
|
|
18
|
-
* @example getFileType('archive.tar') // 'zip'
|
|
19
|
-
* @example getFileType('abc') // 'unknown'
|
|
20
|
-
*/
|
|
21
|
-
export declare function getFileType(fileName: string): "img" | "video" | "zip" | "ppt" | "unknown" | "voice" | "excel" | "word" | "app";
|
|
22
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ts/url/file/index.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,UAK7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,oFAY3C"}
|
package/dist/url/index.d.ts
DELETED
package/dist/url/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ts/url/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC"}
|
package/dist/url/oss/index.d.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import type { OSSOption, OSSAudioOption, OSSHlsOption, OSSImgOption, OSSVideoOption } from './index.d';
|
|
2
|
-
export * from './index.d';
|
|
3
|
-
/**
|
|
4
|
-
* oss图片处理
|
|
5
|
-
* 参考官方文档: https://help.aliyun.com/zh/oss/user-guide/img-parameters/?spm=a2c4g.11186623.help-menu-31815.d_0_11_2_1.572824a1a1W5Pf&scm=20140722.H_144582._.OR_help-T_cn~zh-V_1
|
|
6
|
-
* @param src 原始图片URL
|
|
7
|
-
* @param option 图片处理选项
|
|
8
|
-
* @returns 处理后的图片URL(格式: `{src}?x-oss-process=image/xx`)
|
|
9
|
-
* @example
|
|
10
|
-
* 缩放: getOSSImg('xx.jpg', { resize: { w: 100, h: 100 } })
|
|
11
|
-
* 水印: getOSSImg('xx.jpg', { watermark: { text: '水印' } });
|
|
12
|
-
* 翻转: getOSSImg('xx.jpg', { flip: 1 });
|
|
13
|
-
* 裁剪: getOSSImg('xx.jpg', { crop: { w: 100, h: 100 } });
|
|
14
|
-
* 质量: getOSSImg('xx.jpg', { quality: { q: 80 } });
|
|
15
|
-
* 格式转换: getOSSImg('xx.jpg', { format: 'jpg' });
|
|
16
|
-
* 获取信息: getOSSImg('xx.jpg', { info: true });
|
|
17
|
-
* 自适应方向: getOSSImg('xx.jpg', { 'auto-orient': 1 });
|
|
18
|
-
* 内切圆: getOSSImg('xx.jpg', { circle: { r: 100 } });
|
|
19
|
-
* 索引切割: getOSSImg('xx.jpg', { indexcrop: { x: 100 } });
|
|
20
|
-
* 圆角: getOSSImg('xx.jpg', { 'rounded-corners': { r: 10 } });
|
|
21
|
-
* 模糊: getOSSImg('xx.jpg', { blur: { r: 10, s: 10 } });
|
|
22
|
-
* 旋转: getOSSImg('xx.jpg', { rotate: 90 });
|
|
23
|
-
* 渐进显示: getOSSImg('xx.jpg', { interlace: 1 });
|
|
24
|
-
* 主色调: getOSSImg('xx.jpg', { 'average-hue': true });
|
|
25
|
-
* 亮度: getOSSImg('xx.jpg', { bright: 10 });
|
|
26
|
-
* 锐化: getOSSImg('xx.jpg', { sharpen: 100 });
|
|
27
|
-
* 对比度: getOSSImg('xx.jpg', { contrast: 100 });
|
|
28
|
-
*/
|
|
29
|
-
export declare function getOSSImg(src: string, option: OSSImgOption): string;
|
|
30
|
-
/**
|
|
31
|
-
* oss视频处理
|
|
32
|
-
* 参考官方文档: https://help.aliyun.com/zh/oss/user-guide/audio-and-video-processing/
|
|
33
|
-
* @param src 原始视频URL
|
|
34
|
-
* @param option 视频处理选项
|
|
35
|
-
* @returns 处理后的URL(格式: `{src}?x-oss-process=video/xx`)
|
|
36
|
-
* @example
|
|
37
|
-
* 视频转码: getOSSVideo('xx.mp4', { convert: { format: 'mp4' } })
|
|
38
|
-
* 转为动图: getOSSVideo('xx.mp4', { animation: { format: 'gif' } })
|
|
39
|
-
* 雪碧图: getOSSVideo('xx.mp4', { sprite: { format: 'png' } })
|
|
40
|
-
* 多帧截取: getOSSVideo('xx.mp4', { snapshots: { count: 3 } })
|
|
41
|
-
* 视频拼接: getOSSVideo('xx.mp4', { concat: { list: 'a.mp4,b.mp4' } })
|
|
42
|
-
* 信息查询: getOSSVideo('xx.mp4', { info: true })
|
|
43
|
-
* 组合操作: getOSSVideo('xx.mp4', { convert: { format: 'mp4' }, snapshots: { count: 3 } })
|
|
44
|
-
*/
|
|
45
|
-
export declare function getOSSVideo(src: string, option: OSSVideoOption): string;
|
|
46
|
-
/**
|
|
47
|
-
* oss音频处理
|
|
48
|
-
* 参考官方文档: https://help.aliyun.com/zh/oss/user-guide/audio-and-video-processing/
|
|
49
|
-
* @param src 原始音频URL
|
|
50
|
-
* @param option 音频处理选项
|
|
51
|
-
* @returns 处理后的URL(格式: `{src}?x-oss-process=audio/xx`)
|
|
52
|
-
* @example
|
|
53
|
-
* 音频转码: getOSSAudio('xx.mp3', { 'convert': { format: 'mp3' } })
|
|
54
|
-
* 音频拼接: getOSSAudio('xx.mp3', { 'concat': { list: 'a.mp3,b.mp3' } })
|
|
55
|
-
* 信息查询: getOSSAudio('xx.mp3', { 'info': true })
|
|
56
|
-
*/
|
|
57
|
-
export declare function getOSSAudio(src: string, option: OSSAudioOption): string;
|
|
58
|
-
/**
|
|
59
|
-
* oss直播处理(边转边播 HLS)
|
|
60
|
-
* 参考官方文档: https://help.aliyun.com/zh/oss/user-guide/audio-and-video-processing/
|
|
61
|
-
* @param src 原始视频URL
|
|
62
|
-
* @param option HLS 选项(或布尔)
|
|
63
|
-
* @returns 处理后的URL(格式: `{src}?x-oss-process=hls/xx`)
|
|
64
|
-
* @example
|
|
65
|
-
* 生成播放列表: getOSSHls('xx.mp4', { 'm3u8': true })
|
|
66
|
-
* 配置参数: getOSSHls('xx.mp4', { 'm3u8': { playlist: 1, segtime: 6 } })
|
|
67
|
-
*/
|
|
68
|
-
export declare function getOSSHls(src: string, option: OSSHlsOption): string;
|
|
69
|
-
/**
|
|
70
|
-
* 构造oss处理地址
|
|
71
|
-
* @param src 原始地址
|
|
72
|
-
* @param type oss处理类型,如`image`, `audio`, `video`, `hls`
|
|
73
|
-
* @param option oss处理选项
|
|
74
|
-
* @returns 处理后的URL(格式: `{src}?x-oss-process={type}/{segs.join('/')}`)
|
|
75
|
-
*/
|
|
76
|
-
export declare function buildOSSUrl(src: string, type: string, option: OSSOption): string;
|
|
77
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ts/url/oss/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EAEf,MAAM,WAAW,CAAC;AAEnB,cAAc,WAAW,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,UAE1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,UAE9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,UAE9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,UAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,UAkBvE"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 获取url的查询参数值
|
|
3
|
-
* - 采用纯JS解析,因为小程序不支持URLSearchParams
|
|
4
|
-
* @param key 参数名
|
|
5
|
-
* @param url 完整 URL 或仅查询串(如 "a=1&b=2")
|
|
6
|
-
* @returns 解码后的参数值 (若不存在|"null"|"undefined",则返回 null)
|
|
7
|
-
* @example
|
|
8
|
-
* const q = getUrlParam('q', 'https://a.com/?q=%E6%B5%8B%E8%AF%95'); // "测试"
|
|
9
|
-
* const a = getUrlParam('a', 'a=1'); // "1"
|
|
10
|
-
* const list = getUrlParam('list', 'list=[1,2]'); // "[1,2]"
|
|
11
|
-
* const list = getUrlParam('list', 'list=null'); // null
|
|
12
|
-
* const list = getUrlParam('list', 'list=undefined'); // null
|
|
13
|
-
*/
|
|
14
|
-
export declare function getUrlParam(key: string, url: string): string | null;
|
|
15
|
-
/**
|
|
16
|
-
* 获取url的查询参数值,并转为number类型
|
|
17
|
-
* @param key 参数名
|
|
18
|
-
* @param url 完整 URL 或仅查询串(如 "a=1&b=2")
|
|
19
|
-
* @returns 解码后的参数值 (若不存在|"非数字字符串",则返回 null)
|
|
20
|
-
* @example
|
|
21
|
-
* const a = getUrlNumber('a', 'https://a.com/?a=1'); // 1
|
|
22
|
-
* const a = getUrlNumber('a', 'a=1'); // 1
|
|
23
|
-
* const a = getUrlNumber('a', 'a=1.2'); // 1.2
|
|
24
|
-
* const a = getUrlNumber('a', 'a=abc'); // null
|
|
25
|
-
*/
|
|
26
|
-
export declare function getUrlNumber(key: string, url: string): number | null;
|
|
27
|
-
/**
|
|
28
|
-
* 获取url的所有查询参数值
|
|
29
|
-
* - 采用纯JS解析,因为小程序不支持URLSearchParams
|
|
30
|
-
* @param url 完整 URL 或仅查询串(如 "a=1&b=2")
|
|
31
|
-
* @returns 解码后的键值对象(无参数返回空对象; "null"|"undefined"的参数会被忽略)
|
|
32
|
-
* @example
|
|
33
|
-
* const params = getUrlParamAll('a=1&b=2'); // { a: "1", b: "2" }
|
|
34
|
-
* const params = getUrlParamAll('https://a.com/?a=1&b=2'); // { a: "1", b: "2" }
|
|
35
|
-
* const params = getUrlParamAll('a=1&b=null'); // { a: "1" }
|
|
36
|
-
* const params = getUrlParamAll('a=1&b=undefined'); // { a: "1" }
|
|
37
|
-
*/
|
|
38
|
-
export declare function getUrlParamAll(url: string): Record<string, string>;
|
|
39
|
-
/**
|
|
40
|
-
* 将对象参数拼接到 URL
|
|
41
|
-
* - 采用纯JS拼接,因为小程序不支持URLSearchParams
|
|
42
|
-
* @param url 基础地址
|
|
43
|
-
* @param param 将要追加的参数对象;`null/undefined` 值会被忽略,Object 会使用 `JSON.stringify`
|
|
44
|
-
* @returns 拼接后的完整 URL(保留原有哈希片段)
|
|
45
|
-
* @example
|
|
46
|
-
* const url = appendUrlParam('https://a.com', { q: '测试', list: [1, 2], a: null, b: undefined }); // 'https://a.com/?q=%E6%B5%8B%E8%AF%95&list=[1,2]'
|
|
47
|
-
*/
|
|
48
|
-
export declare function appendUrlParam(url: string, param: Record<string, unknown>): string;
|
|
49
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ts/url/param/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAqBnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAMpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,0BAuBzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAkBzE"}
|
package/dist/url/qn/index.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { QnImgOption } from './index.d';
|
|
2
|
-
export * from './index.d';
|
|
3
|
-
/**
|
|
4
|
-
* qn图片处理
|
|
5
|
-
* 参考官方文档: https://developer.qiniu.com/kodo/8623/dev-the-picture-style
|
|
6
|
-
* @param src 原始图片URL
|
|
7
|
-
* @param option 图片处理选项
|
|
8
|
-
* @returns 处理后的图片URL(格式: `{src}?imageView2/...|imageMogr2/...|watermark/...|imageslim|imageInfo`)
|
|
9
|
-
* @example
|
|
10
|
-
* 缩略: getQnImg('xx.jpg', { imageView2: { mode: 2, w: 100, h: 100 } })
|
|
11
|
-
* 高级缩放: getQnImg('xx.jpg', { thumbnail: '!50p' })
|
|
12
|
-
* 裁剪: getQnImg('xx.jpg', { crop: '100x100' })
|
|
13
|
-
* 旋转: getQnImg('xx.jpg', { rotate: 90 })
|
|
14
|
-
* 自适应方向: getQnImg('xx.jpg', { 'auto-orient': true })
|
|
15
|
-
* 格式转换: getQnImg('xx.jpg', { format: 'webp' })
|
|
16
|
-
* 质量: getQnImg('xx.jpg', { q: 80 })
|
|
17
|
-
* 渐进显示: getQnImg('xx.jpg', { interlace: 1 })
|
|
18
|
-
* 背景色填充: getQnImg('xx.jpg', { background: 'white' })
|
|
19
|
-
* 模糊: getQnImg('xx.jpg', { blur: { r: 10, s: 10 } })
|
|
20
|
-
* GIF颜色控制: getQnImg('xx.jpg', { colors: 64 })
|
|
21
|
-
* 图片瘦身: getQnImg('xx.jpg', { imageslim: true })
|
|
22
|
-
* 图片信息: getQnImg('xx.jpg', { imageInfo: true })
|
|
23
|
-
* 图片水印: getQnImg('xx.jpg', { watermark: { type: 'image', image: 'http://example.com/logo.png' } })
|
|
24
|
-
* 文字水印: getQnImg('xx.jpg', { watermark: { type: 'text', text: '水印', fontsize: 18 } })
|
|
25
|
-
*/
|
|
26
|
-
export declare function getQnImg(src: string, option: QnImgOption): string;
|
|
27
|
-
/**
|
|
28
|
-
* qn视频处理
|
|
29
|
-
* 参考官方文档: https://developer.qiniu.com/kodo/12654/video-process
|
|
30
|
-
* @param src 原始视频URL
|
|
31
|
-
* @param option 视频处理选项(支持 avthumb、vframe)
|
|
32
|
-
* @returns 处理后的URL(格式: `{src}?avthumb/...|vframe/...`)
|
|
33
|
-
* @example
|
|
34
|
-
* 视频转码: getQnVideo('xx.mp4', { avthumb: { format: 'mp4', s: '1280x720', vcodec: 'libx264', vb: '1.25m' } })
|
|
35
|
-
* 截帧: getQnVideo('xx.mp4', { vframe: { format: 'jpg', offset: 3, w: 480, h: 360 } })
|
|
36
|
-
*/
|
|
37
|
-
export declare function getQnVideo(src: string, option: import('.').QnVideoOption): string;
|
|
38
|
-
/**
|
|
39
|
-
* qn音频处理
|
|
40
|
-
* 参考官方文档: https://developer.qiniu.com/kodo/12654/video-process
|
|
41
|
-
* @param src 原始音频URL
|
|
42
|
-
* @param option 音频处理选项(通过 avthumb 转码)
|
|
43
|
-
* @returns 处理后的URL(格式: `{src}?avthumb/...`)
|
|
44
|
-
* @example
|
|
45
|
-
* 音频转码: getQnAudio('xx.aac', { avthumb: { format: 'mp3', ab: '128k', ar: 44100, acodec: 'libmp3lame' } })
|
|
46
|
-
*/
|
|
47
|
-
export declare function getQnAudio(src: string, option: import('.').QnAudioOption): string;
|
|
48
|
-
/**
|
|
49
|
-
* qn实时转码(HLS 边转边播)
|
|
50
|
-
* 参考官方文档: https://developer.qiniu.com/kodo/12654/video-process、实时转码
|
|
51
|
-
* @param src 原始视频URL
|
|
52
|
-
* @param option HLS 选项
|
|
53
|
-
* @returns 处理后的URL(格式: `{src}?avcvt/{level}/format/m3u8/...`)
|
|
54
|
-
* @example
|
|
55
|
-
* 720P HLS: getQnHls('xx.mp4', { level: 3, format: 'm3u8', segtime: 6 })
|
|
56
|
-
*/
|
|
57
|
-
export declare function getQnHls(src: string, option: import('.').QnHlsOption): string;
|
|
58
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ts/url/qn/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAwD,MAAM,WAAW,CAAC;AAEnG,cAAc,WAAW,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,UAsBxD;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,aAAa,UAUxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,aAAa,UAQxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,WAAW,UAOpE"}
|