@fast-china/utils 2.1.6 → 2.1.8
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/CHANGELOG.md +14 -0
- package/README.md +4 -2
- package/README.zh.md +4 -2
- package/THIRD_PARTY_LICENSES.md +26 -0
- package/dist/crypto/index.mjs +2240 -33
- package/dist/crypto/index.mjs.map +1 -1
- package/dist/dom/index.mjs +2 -0
- package/dist/env/index.mjs +4 -4
- package/dist/env/index.mjs.map +1 -1
- package/dist/index.d.mts +1918 -32
- package/dist/index.global.min.js +2 -2
- package/dist/index.global.min.js.map +1 -1
- package/dist/index.mjs +2 -0
- package/dist/internal/runtime.mjs +21 -1
- package/dist/internal/runtime.mjs.map +1 -1
- package/dist/logger/index.mjs +2 -2
- package/dist/logger/index.mjs.map +1 -1
- package/dist/storage/index.mjs +2 -2
- package/dist/storage/index.mjs.map +1 -1
- package/dist/string/index.mjs +2 -2
- package/dist/string/index.mjs.map +1 -1
- package/dist/vue/index.mjs +15 -0
- package/dist/vue/now.mjs +2 -2
- package/dist/vue/now.mjs.map +1 -1
- package/package.json +4 -6
- package/dist/array/index.d.mts +0 -94
- package/dist/async/index.d.mts +0 -145
- package/dist/base64/index.d.mts +0 -106
- package/dist/color/index.d.mts +0 -89
- package/dist/crypto/index.d.mts +0 -327
- package/dist/date/index.d.mts +0 -190
- package/dist/dom/style.d.mts +0 -29
- package/dist/env/index.d.mts +0 -62
- package/dist/function/index.d.mts +0 -13
- package/dist/identity/index.d.mts +0 -77
- package/dist/internal/text.d.mts +0 -15
- package/dist/logger/index.d.mts +0 -90
- package/dist/number/index.d.mts +0 -89
- package/dist/object/index.d.mts +0 -114
- package/dist/storage/index.d.mts +0 -115
- package/dist/string/index.d.mts +0 -141
- package/dist/vue/breakpoints.d.mts +0 -21
- package/dist/vue/element-size.d.mts +0 -25
- package/dist/vue/emits.d.mts +0 -23
- package/dist/vue/event-listener.d.mts +0 -16
- package/dist/vue/expose.d.mts +0 -11
- package/dist/vue/func.d.mts +0 -13
- package/dist/vue/index.d.mts +0 -15
- package/dist/vue/install.d.mts +0 -50
- package/dist/vue/now.d.mts +0 -13
- package/dist/vue/props.d.mts +0 -22
- package/dist/vue/render.d.mts +0 -11
- package/dist/vue/resize-observer.d.mts +0 -15
- package/dist/vue/slots.d.mts +0 -18
- package/dist/vue/window-size.d.mts +0 -16
- package/dist/vue/with.d.mts +0 -11
- package/docs/API.md +0 -155
- package/docs/API.zh-CN.md +0 -154
- package/docs/DEVELOPMENT_RELEASE.zh-CN.md +0 -65
- package/docs/RUNTIME_CONTRACT.md +0 -44
package/dist/date/index.d.mts
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
//#region src/date/index.d.ts
|
|
2
|
-
/** 可转换为日期的输入;数字始终按 Unix 毫秒时间戳处理。 */
|
|
3
|
-
export type DateInput = Date | number | string;
|
|
4
|
-
/** {@link formatRelativeTime} 的语言与基准时间选项。 */
|
|
5
|
-
export interface RelativeTimeOptions {
|
|
6
|
-
/** `Intl.RelativeTimeFormat` 使用的语言;默认固定为 `zh-CN`。 */
|
|
7
|
-
locale?: string | readonly string[];
|
|
8
|
-
/** 比较基准,默认当前时间。 */
|
|
9
|
-
now?: DateInput;
|
|
10
|
-
/** 是否允许“昨天”“明天”等文本;默认 `auto`。 */
|
|
11
|
-
numeric?: Intl.RelativeTimeFormatNumeric;
|
|
12
|
-
/** 输出长度;默认 `long`。 */
|
|
13
|
-
style?: Intl.RelativeTimeFormatStyle;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* 转换并克隆有效日期。
|
|
17
|
-
*
|
|
18
|
-
* @remarks 数字不进行秒/毫秒猜测;字符串遵循运行时 `Date` 解析规则,跨平台代码应传带显式时区的完整 ISO 8601。
|
|
19
|
-
* @param value - Date、Unix 毫秒时间戳或运行时可解析字符串。
|
|
20
|
-
* @returns 与输入不共享可变状态的新 Date。
|
|
21
|
-
* @throws 输入无效时抛出 `TypeError`。
|
|
22
|
-
*/
|
|
23
|
-
export declare function toDate(value: DateInput): Date;
|
|
24
|
-
/**
|
|
25
|
-
* 判断输入能否转换为有效日期。
|
|
26
|
-
*
|
|
27
|
-
* @param value - 任意待检查值。
|
|
28
|
-
* @returns 仅 Date、数字或字符串且时间戳有限时返回 `true`。
|
|
29
|
-
*/
|
|
30
|
-
export declare function isValidDate(value: unknown): value is DateInput;
|
|
31
|
-
/**
|
|
32
|
-
* 返回输入日期所在本地时区日期的 `00:00:00.000`,不修改输入。
|
|
33
|
-
*
|
|
34
|
-
* @param value - 有效日期输入。
|
|
35
|
-
* @returns 新建的本地日开始时间。
|
|
36
|
-
* @throws 输入无效时抛出 `TypeError`。
|
|
37
|
-
*/
|
|
38
|
-
export declare function startOfDay(value: DateInput): Date;
|
|
39
|
-
/**
|
|
40
|
-
* 返回输入日期所在本地时区日期的 `23:59:59.999`,不修改输入。
|
|
41
|
-
*
|
|
42
|
-
* @param value - 有效日期输入。
|
|
43
|
-
* @returns 新建的本地日结束时间。
|
|
44
|
-
* @throws 输入无效时抛出 `TypeError`。
|
|
45
|
-
*/
|
|
46
|
-
export declare function endOfDay(value: DateInput): Date;
|
|
47
|
-
/**
|
|
48
|
-
* 按本地日历增加整数天,不修改输入。
|
|
49
|
-
*
|
|
50
|
-
* @param value - 基准日期。
|
|
51
|
-
* @param amount - 可为负数的安全整数日数。
|
|
52
|
-
* @returns 本地日历运算后的新 Date;夏令时变化可能使实际毫秒差不等于 24 小时。
|
|
53
|
-
* @throws 日期无效时抛出 `TypeError`;数量或结果非法时抛出 `RangeError`。
|
|
54
|
-
*/
|
|
55
|
-
export declare function addDays(value: DateInput, amount: number): Date;
|
|
56
|
-
/**
|
|
57
|
-
* 按本地日历增加整数月,并把不存在的日期夹到目标月末。
|
|
58
|
-
*
|
|
59
|
-
* @example 1 月 31 日增加一个月会落在 2 月最后一天。
|
|
60
|
-
* @param value - 基准日期。
|
|
61
|
-
* @param amount - 可为负数的安全整数月数。
|
|
62
|
-
* @returns 月份运算后的新 Date。
|
|
63
|
-
* @throws 日期无效时抛出 `TypeError`;数量或结果非法时抛出 `RangeError`。
|
|
64
|
-
*/
|
|
65
|
-
export declare function addMonths(value: DateInput, amount: number): Date;
|
|
66
|
-
/**
|
|
67
|
-
* 按本地日历增加整数年,并沿用 {@link addMonths} 的月末夹取规则。
|
|
68
|
-
*
|
|
69
|
-
* @param value - 基准日期。
|
|
70
|
-
* @param amount - 可为负数的安全整数年数。
|
|
71
|
-
* @returns 年份运算后的新 Date。
|
|
72
|
-
* @throws 日期无效时抛出 `TypeError`;数量或结果非法时抛出 `RangeError`。
|
|
73
|
-
*/
|
|
74
|
-
export declare function addYears(value: DateInput, amount: number): Date;
|
|
75
|
-
/**
|
|
76
|
-
* 判断两个输入是否属于同一本地日历日。
|
|
77
|
-
*
|
|
78
|
-
* @param left - 第一日期。
|
|
79
|
-
* @param right - 第二日期。
|
|
80
|
-
* @returns 本地年、月、日均相同时返回 `true`。
|
|
81
|
-
* @throws 任一输入无效时抛出 `TypeError`。
|
|
82
|
-
*/
|
|
83
|
-
export declare function isSameDay(left: DateInput, right: DateInput): boolean;
|
|
84
|
-
/**
|
|
85
|
-
* 判断时间是否晚于基准时间。
|
|
86
|
-
*
|
|
87
|
-
* @param value - 待比较时间。
|
|
88
|
-
* @param now - 比较基准,默认调用时的当前时刻。
|
|
89
|
-
* @returns `value` 严格晚于基准时返回 `true`。
|
|
90
|
-
* @throws 任一输入无效时抛出 `TypeError`。
|
|
91
|
-
*/
|
|
92
|
-
export declare function isFuture(value: DateInput, now?: DateInput): boolean;
|
|
93
|
-
/**
|
|
94
|
-
* 返回指定基准所在本地日历日的完整闭区间。
|
|
95
|
-
*
|
|
96
|
-
* @param value - 日期基准,默认调用时当前日期。
|
|
97
|
-
* @returns 新建的本地日开始和结束时间二元组。
|
|
98
|
-
* @throws 输入无效时抛出 `TypeError`。
|
|
99
|
-
*/
|
|
100
|
-
export declare function getLocalDayBounds(value?: DateInput): [start: Date, end: Date];
|
|
101
|
-
/**
|
|
102
|
-
* 判断日期是否位于包含首尾的时间区间。
|
|
103
|
-
*
|
|
104
|
-
* @param value - 待检查日期。
|
|
105
|
-
* @param start - 包含的起点。
|
|
106
|
-
* @param end - 包含的终点。
|
|
107
|
-
* @returns 时间戳位于闭区间内时返回 `true`。
|
|
108
|
-
* @throws 无效日期抛出 `TypeError`;首尾反向时抛出 `RangeError`。
|
|
109
|
-
*/
|
|
110
|
-
export declare function isWithinInterval(value: DateInput, start: DateInput, end: DateInput): boolean;
|
|
111
|
-
/**
|
|
112
|
-
* 使用 `Intl.RelativeTimeFormat` 生成人类可读相对时间。
|
|
113
|
-
*
|
|
114
|
-
* @remarks 秒、分钟、小时、天、周、月和年按固定时长阈值选择;这适合展示,不适合计费或日历运算。
|
|
115
|
-
* @param value - 目标时间。
|
|
116
|
-
* @param options - 语言、样式与比较基准。
|
|
117
|
-
* @returns 由 `Intl.RelativeTimeFormat` 生成的本地化文本。
|
|
118
|
-
* @throws 日期无效时抛出 `TypeError`;Locale 或 Intl 选项非法时抛出 `RangeError`。
|
|
119
|
-
*/
|
|
120
|
-
export declare function formatRelativeTime(value: DateInput, options?: RelativeTimeOptions): string;
|
|
121
|
-
/** 日期选择器单日期快捷项。 */
|
|
122
|
-
export interface DateShortcut {
|
|
123
|
-
/** 面向中文日期选择器的显示文本;调用方可直接用于菜单标签。 */
|
|
124
|
-
text: string;
|
|
125
|
-
/**
|
|
126
|
-
* 计算快捷项对应日期。
|
|
127
|
-
* @returns 每次调用时基于当前本地时间创建的新 `Date`,调用方可安全修改。
|
|
128
|
-
*/
|
|
129
|
-
value: () => Date;
|
|
130
|
-
}
|
|
131
|
-
/** 日期选择器范围快捷项。 */
|
|
132
|
-
export interface DateRangeShortcut {
|
|
133
|
-
/** 面向中文日期范围选择器的显示文本;调用方可直接用于菜单标签。 */
|
|
134
|
-
text: string;
|
|
135
|
-
/**
|
|
136
|
-
* 计算快捷项对应的本地日期范围。
|
|
137
|
-
* @returns 每次调用时创建的新元组;起点为 `00:00:00.000`,终点为 `23:59:59.999`。
|
|
138
|
-
*/
|
|
139
|
-
value: () => [start: Date, end: Date];
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* 把日期转换为固定中文相对时间文本。
|
|
143
|
-
*
|
|
144
|
-
* @remarks 10 位以内数字按 Unix 秒处理,其余数字按毫秒处理;月份与年份按本地日历月差计算。
|
|
145
|
-
* @param value - Date、时间戳、可解析字符串或空值。
|
|
146
|
-
* @returns 例如“3分钟前”“半年后”;非法或空输入返回空字符串。
|
|
147
|
-
*/
|
|
148
|
-
export declare function formatChineseRelativeTime(value: Date | number | string | null | undefined): string;
|
|
149
|
-
/**
|
|
150
|
-
* 创建从今天到前后一个月日期的完整本地日范围。
|
|
151
|
-
*
|
|
152
|
-
* @param towardFuture - `true` 返回今天至一个月后,默认返回一个月前至今天。
|
|
153
|
-
* @returns 每次调用新建的本地日首尾边界。
|
|
154
|
-
*/
|
|
155
|
-
export declare function createOneMonthRangeFromToday(towardFuture?: boolean): [start: Date, end: Date];
|
|
156
|
-
/**
|
|
157
|
-
* 判断日期是否晚于调用时的当前时刻。
|
|
158
|
-
*
|
|
159
|
-
* @param time - 待比较日期。
|
|
160
|
-
* @returns 时间戳严格晚于 `Date.now()` 时返回 `true`。
|
|
161
|
-
*/
|
|
162
|
-
export declare function isDateAfterNow(time: Date): boolean;
|
|
163
|
-
/**
|
|
164
|
-
* 根据浏览器本地小时返回固定中文问候语。
|
|
165
|
-
*
|
|
166
|
-
* @returns 与当前时段对应的中文欢迎文本。
|
|
167
|
-
*/
|
|
168
|
-
export declare function getLocalTimeGreeting(): string;
|
|
169
|
-
/**
|
|
170
|
-
* 创建面向过去或未来的常用完整日期范围快捷项。
|
|
171
|
-
*
|
|
172
|
-
* @param towardFuture - `true` 创建未来范围,默认创建历史范围。
|
|
173
|
-
* @returns 每次求值都会重新读取当前时间的范围快捷项。
|
|
174
|
-
*/
|
|
175
|
-
export declare function createDateRangeShortcuts(towardFuture?: boolean): DateRangeShortcut[];
|
|
176
|
-
/**
|
|
177
|
-
* 创建面向过去或未来的常用单日期快捷项。
|
|
178
|
-
*
|
|
179
|
-
* @param towardFuture - `true` 创建未来日期,默认创建历史日期。
|
|
180
|
-
* @returns 每次求值都会重新读取当前时间的单日期快捷项。
|
|
181
|
-
*/
|
|
182
|
-
export declare function createDateShortcuts(towardFuture?: boolean): DateShortcut[];
|
|
183
|
-
/**
|
|
184
|
-
* 返回今天的本地零点。
|
|
185
|
-
*
|
|
186
|
-
* @returns 新建的 `00:00:00.000` Date。
|
|
187
|
-
*/
|
|
188
|
-
export declare function getStartOfToday(): Date;
|
|
189
|
-
//#endregion
|
|
190
|
-
//# sourceMappingURL=index.d.mts.map
|
package/dist/dom/style.d.mts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
//#region src/dom/style.d.ts
|
|
2
|
-
/** 可序列化为内联 CSS 的单个值。 */
|
|
3
|
-
export type StyleValue = number | string | null | undefined;
|
|
4
|
-
/** camelCase、kebab-case 或 CSS 自定义属性组成的只读样式对象。 */
|
|
5
|
-
export type StyleObject = Readonly<Record<string, StyleValue>>;
|
|
6
|
-
/** 字符串、样式对象、嵌套数组或空值。 */
|
|
7
|
-
export type StyleInput = string | StyleObject | readonly StyleInput[] | null | undefined;
|
|
8
|
-
/**
|
|
9
|
-
* 为数值或纯数字字符串添加 CSS 单位。
|
|
10
|
-
*
|
|
11
|
-
* @param value - 数字、数字字符串或已有单位的 CSS 值;空值返回空字符串。
|
|
12
|
-
* @param unit - 非零数字使用的单位,默认 `px`。
|
|
13
|
-
* @returns 零统一返回 `"0"`;非数字字符串保持原样。
|
|
14
|
-
* @throws `RangeError` 当数字非有限或单位为空。
|
|
15
|
-
*/
|
|
16
|
-
export declare function addCssUnit(value?: string | number | null, unit?: string): string;
|
|
17
|
-
/**
|
|
18
|
-
* 将样式字符串、对象或嵌套数组序列化为内联 CSS。
|
|
19
|
-
*
|
|
20
|
-
* @remarks 本函数只负责结构转换,不是 CSS 安全清洗器。不可信值必须由调用方按照
|
|
21
|
-
* 实际渲染上下文验证,尤其不能允许用户控制属性名、`url()` 或自定义属性内容。
|
|
22
|
-
* 数字不会自动附加单位;需要长度单位时应先调用 {@link addCssUnit}。
|
|
23
|
-
* @param styles - 可嵌套样式输入;后出现的声明由 CSS 层叠规则覆盖先前声明。
|
|
24
|
-
* @returns 以分号结束、以空格分隔的 CSS 声明字符串。
|
|
25
|
-
* @throws `RangeError` 当对象中包含 `NaN` 或无穷数字。
|
|
26
|
-
*/
|
|
27
|
-
export declare function serializeStyle(styles: StyleInput): string;
|
|
28
|
-
//#endregion
|
|
29
|
-
//# sourceMappingURL=style.d.mts.map
|
package/dist/env/index.d.mts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
//#region src/env/index.d.ts
|
|
2
|
-
/** 可识别的主要 JavaScript 运行环境。 */
|
|
3
|
-
export type RuntimeKind = "browser" | "node" | "unknown" | "worker";
|
|
4
|
-
/**
|
|
5
|
-
* 判断当前运行时是否具有浏览器 `window` 与 `document`。
|
|
6
|
-
*
|
|
7
|
-
* @returns 两项能力均存在时返回 `true`;不读取 DOM 内容。
|
|
8
|
-
*/
|
|
9
|
-
export declare function isBrowser(): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* 判断当前运行时是否像 Web Worker 且不是 Window。
|
|
12
|
-
*
|
|
13
|
-
* @remarks 经典、模块、Shared 与 Service Worker 全局通常都暴露 `importScripts`;模块
|
|
14
|
-
* Worker 中调用它可能抛错,本检测只检查能力存在,不会执行。
|
|
15
|
-
* @returns 具有 `importScripts` 且不是浏览器 Window 时返回 `true`。
|
|
16
|
-
*/
|
|
17
|
-
export declare function isWebWorker(): boolean;
|
|
18
|
-
/**
|
|
19
|
-
* 判断当前运行时是否暴露 Node.js 版本标记。
|
|
20
|
-
*
|
|
21
|
-
* @returns `process.versions.node` 为字符串时返回 `true`。
|
|
22
|
-
*/
|
|
23
|
-
export declare function isNode(): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* 判断当前运行时是否暴露 uni-app 的 `uni` 全局对象。
|
|
26
|
-
*
|
|
27
|
-
* @returns 全局属性存在且不为 `undefined` 时返回 `true`;不调用任何平台 API。
|
|
28
|
-
*/
|
|
29
|
-
export declare function isUniApp(): boolean;
|
|
30
|
-
/**
|
|
31
|
-
* 判断当前运行时是否具备本库完整加密 API 所需的 Web Crypto 能力。
|
|
32
|
-
*
|
|
33
|
-
* @remarks 普通随机数、随机字符串和 UUID 在缺少 Web Crypto 时可以回退到 `Math.random()`,但本函数
|
|
34
|
-
* 仍会返回 `false`,因为摘要、PBKDF2、AES-GCM、RSA 与 ECC 需要完整的 Web Crypto 能力。
|
|
35
|
-
* @returns 同时提供本库 Web Crypto 功能所需方法时返回 `true`。
|
|
36
|
-
*/
|
|
37
|
-
export declare function hasWebCrypto(): boolean;
|
|
38
|
-
/**
|
|
39
|
-
* 返回当前主要运行环境。
|
|
40
|
-
*
|
|
41
|
-
* @remarks 在使用 DOM 模拟器的 Node.js 进程中优先报告 `browser`,因为可观察能力比宿主进程名称更有用。
|
|
42
|
-
* @returns `browser`、`worker`、`node` 或无法识别时的 `unknown`。
|
|
43
|
-
*/
|
|
44
|
-
export declare function detectRuntime(): RuntimeKind;
|
|
45
|
-
/**
|
|
46
|
-
* 基于 User-Agent 启发式判断手机设备。
|
|
47
|
-
*
|
|
48
|
-
* @param userAgent - 默认读取当前 `navigator.userAgent`;平台对象不存在时使用空字符串。
|
|
49
|
-
* @remarks User-Agent 可以被伪造,不得用于鉴权、安全策略或永久功能分流。
|
|
50
|
-
* @returns 命中手机特征时返回 `true`。
|
|
51
|
-
*/
|
|
52
|
-
export declare function isMobileUserAgent(userAgent?: string): boolean;
|
|
53
|
-
/**
|
|
54
|
-
* 基于 User-Agent 与触点数量启发式判断平板设备。
|
|
55
|
-
*
|
|
56
|
-
* @param userAgent - 默认读取当前 User-Agent。
|
|
57
|
-
* @param maxTouchPoints - 用于识别桌面 User-Agent 模式下的 iPadOS,默认读取当前触点数。
|
|
58
|
-
* @returns 命中平板特征时返回 `true`。
|
|
59
|
-
*/
|
|
60
|
-
export declare function isTabletUserAgent(userAgent?: string, maxTouchPoints?: number): boolean;
|
|
61
|
-
//#endregion
|
|
62
|
-
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
//#region src/function/index.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* 创建最多执行一次并缓存首次结果的函数。
|
|
4
|
-
*
|
|
5
|
-
* @remarks 首次成功返回后,后续调用返回同一结果;Promise 会保持引用不变。首次同步抛错时缓存错误,后续调用重新抛出同一错误。
|
|
6
|
-
* 包装函数使用首次调用时的参数和 `this`,之后传入的参数不会再次执行原函数。
|
|
7
|
-
* @param callback - 只允许执行一次的函数。
|
|
8
|
-
* @returns 保持原参数与返回类型的包装函数。
|
|
9
|
-
* @throws `TypeError` 当 `callback` 不是函数。
|
|
10
|
-
*/
|
|
11
|
-
export declare function once<This, Arguments extends unknown[], Result>(callback: (this: This, ...arguments_: Arguments) => Result): (this: This, ...arguments_: Arguments) => Result;
|
|
12
|
-
//#endregion
|
|
13
|
-
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
//#region src/identity/index.d.ts
|
|
2
|
-
/** {@link configureInstallationIdentity} 接收的安装标识配置。 */
|
|
3
|
-
export interface InstallationIdentityConfiguration {
|
|
4
|
-
/**
|
|
5
|
-
* `Local` 中使用的业务键,默认 `identity:installation-id`。
|
|
6
|
-
*
|
|
7
|
-
* @remarks 必须是无外围空白的非空字符串,并在首次访问 Identity API 前配置;物理键仍会叠加 Storage 全局前缀。
|
|
8
|
-
*/
|
|
9
|
-
cacheKey?: string;
|
|
10
|
-
}
|
|
11
|
-
/** 浏览器或 uni-app 当前安装实例标识。 */
|
|
12
|
-
export interface InstallationIdentity {
|
|
13
|
-
/**
|
|
14
|
-
* `Local` 中使用的业务键。
|
|
15
|
-
*
|
|
16
|
-
* @remarks 首次读取会锁定默认配置;之后不能再切换为其他业务键。
|
|
17
|
-
*/
|
|
18
|
-
readonly cacheKey: string;
|
|
19
|
-
/**
|
|
20
|
-
* 当前内存中的安装标识;尚未取得标识或调用 {@link InstallationIdentity.clear clear} 后为空字符串。
|
|
21
|
-
*
|
|
22
|
-
* @remarks 直接赋值只改变内存,不会校验或持久化;通常应调用 {@link InstallationIdentity.getOrCreate getOrCreate}。
|
|
23
|
-
*/
|
|
24
|
-
deviceId: string;
|
|
25
|
-
/**
|
|
26
|
-
* 删除当前 `cacheKey` 对应的持久化标识,并把 `deviceId` 重置为空字符串。
|
|
27
|
-
*
|
|
28
|
-
* @throws `Error` 当当前平台存储不可用。
|
|
29
|
-
*/
|
|
30
|
-
clear: () => void;
|
|
31
|
-
/**
|
|
32
|
-
* 按“显式参数、当前内存、持久化值、随机生成值”的优先级取得安装标识。
|
|
33
|
-
*
|
|
34
|
-
* @param installationId - 可选 UUID v4;传入时覆盖内存值和当前持久化值。
|
|
35
|
-
* @returns 已校验并同时写入 `deviceId` 与 `Local` 的 UUID v4。
|
|
36
|
-
* @throws `TypeError` 当显式参数、内存值或持久化值不是 UUID v4。
|
|
37
|
-
* @throws `Error` 当当前平台存储不可用。
|
|
38
|
-
*/
|
|
39
|
-
getOrCreate: (installationId?: string) => string;
|
|
40
|
-
/**
|
|
41
|
-
* 读取并校验当前 `cacheKey` 对应的持久化标识。
|
|
42
|
-
*
|
|
43
|
-
* @remarks 该方法不修改 `deviceId`,只负责读取;过期记录由 Storage 视为缺失。
|
|
44
|
-
* @returns 已持久化的 UUID v4;键缺失或过期时返回 `undefined`。
|
|
45
|
-
* @throws `TypeError` 当持久化值不是字符串或不是 UUID v4。
|
|
46
|
-
* @throws `Error` 当当前平台存储不可用。
|
|
47
|
-
*/
|
|
48
|
-
read: () => string | undefined;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* 在应用入口配置安装标识使用的 Storage 业务键。
|
|
52
|
-
*
|
|
53
|
-
* @remarks 必须在首次读取 `installationIdentity.cacheKey` 或调用其他安装标识 API 前执行。相同配置
|
|
54
|
-
* 可以幂等重复调用;切换到不同键会抛错,避免同一页面产生分裂状态。
|
|
55
|
-
* @param options - 安装标识配置;省略 `cacheKey` 时使用 `identity:installation-id`。
|
|
56
|
-
* @throws `TypeError` 当 `cacheKey` 不是非空字符串或包含外围空白。
|
|
57
|
-
* @throws `Error` 当安装标识已经使用另一个业务键初始化。
|
|
58
|
-
*/
|
|
59
|
-
export declare function configureInstallationIdentity(options?: InstallationIdentityConfiguration): void;
|
|
60
|
-
/**
|
|
61
|
-
* 全局安装标识状态。
|
|
62
|
-
*
|
|
63
|
-
* @remarks Storage 未显式配置时会使用其默认值。生成 UUID 时优先使用 Web Crypto,能力缺失时
|
|
64
|
-
* 回退到 `Math.random()`。该值不是硬件标识、认证凭证或安全边界。
|
|
65
|
-
*/
|
|
66
|
-
export declare const installationIdentity: InstallationIdentity;
|
|
67
|
-
/**
|
|
68
|
-
* 返回已有安装标识,否则创建并持久化一个 UUID v4。
|
|
69
|
-
*
|
|
70
|
-
* @param installationId - 可选的显式安装标识;传入时会校验并覆盖当前持久化值。
|
|
71
|
-
* @returns 显式值、内存值、持久化值或新生成值中的最终安装标识。
|
|
72
|
-
* @throws `TypeError` 当显式值或持久化值不是 UUID v4。
|
|
73
|
-
* @throws `Error` 当当前平台存储不可用。
|
|
74
|
-
*/
|
|
75
|
-
export declare function getOrCreateInstallationId(installationId?: string): string;
|
|
76
|
-
//#endregion
|
|
77
|
-
//# sourceMappingURL=index.d.mts.map
|
package/dist/internal/text.d.mts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
//#region src/internal/text.d.ts
|
|
2
|
-
/** 解码或解密后的字符串扩展。 */
|
|
3
|
-
interface DecodedTextExtension {
|
|
4
|
-
/**
|
|
5
|
-
* 显式把原始文本解析为 JSON 值。
|
|
6
|
-
*
|
|
7
|
-
* @remarks 泛型只描述调用方期望的类型,不验证实际 JSON 结构;不可信数据仍需执行运行时校验。
|
|
8
|
-
* @returns `JSON.parse` 生成的对象、数组、标量或 `null`;文本不是合法 JSON 时返回原始字符串。
|
|
9
|
-
*/
|
|
10
|
-
parseJson: <Value = any>() => Value;
|
|
11
|
-
}
|
|
12
|
-
/** 可直接作为原始字符串使用,并支持显式 JSON 解析的解码或解密结果。 */
|
|
13
|
-
export type DecodedText = string & DecodedTextExtension;
|
|
14
|
-
//#endregion
|
|
15
|
-
//# sourceMappingURL=text.d.mts.map
|
package/dist/logger/index.d.mts
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
//#region src/logger/index.d.ts
|
|
2
|
-
/** 日志严重级别,按从低到高排列。 */
|
|
3
|
-
export type LogLevel = "debug" | "log" | "warn" | "error";
|
|
4
|
-
/** 日志输出目标需要实现的最小控制台接口。 */
|
|
5
|
-
export interface LoggerSink {
|
|
6
|
-
/**
|
|
7
|
-
* 接收通过级别过滤后的调试参数。
|
|
8
|
-
* @param data - 已格式化的品牌、作用域、消息以及保持原始类型的附加值。
|
|
9
|
-
*/
|
|
10
|
-
debug: (...data: unknown[]) => void;
|
|
11
|
-
/**
|
|
12
|
-
* 接收通过级别过滤后的普通日志参数;对应 Logger 的 `log` 级别。
|
|
13
|
-
* @param data - 已格式化的品牌、作用域、消息以及保持原始类型的附加值。
|
|
14
|
-
*/
|
|
15
|
-
log: (...data: unknown[]) => void;
|
|
16
|
-
/**
|
|
17
|
-
* 接收通过级别过滤后的警告参数。
|
|
18
|
-
* @param data - 已格式化的品牌、作用域、消息以及保持原始类型的附加值。
|
|
19
|
-
*/
|
|
20
|
-
warn: (...data: unknown[]) => void;
|
|
21
|
-
/**
|
|
22
|
-
* 接收通过级别过滤后的错误参数。
|
|
23
|
-
* @param data - 已格式化的品牌、作用域、消息以及保持原始类型的附加值。
|
|
24
|
-
*/
|
|
25
|
-
error: (...data: unknown[]) => void;
|
|
26
|
-
}
|
|
27
|
-
/** {@link createLogger} 的不可变配置。 */
|
|
28
|
-
export interface LoggerOptions {
|
|
29
|
-
/** 最低输出级别,默认 `debug`;低于该优先级的消息不会传给 Sink。 */
|
|
30
|
-
level?: LogLevel;
|
|
31
|
-
/** 日志品牌前缀,默认 `Fast`;必须是无外围空白的非空字符串。 */
|
|
32
|
-
prefix?: string;
|
|
33
|
-
/** 可注入输出目标,默认当前运行时的 `console`;Logger 不会修改该对象。 */
|
|
34
|
-
sink?: LoggerSink;
|
|
35
|
-
/** uni-app App-Plus/HBuilderX 中把附加参数逐条转成单行文本输出,默认 `false`;其他平台忽略。 */
|
|
36
|
-
uniAppPlusSplit?: boolean;
|
|
37
|
-
}
|
|
38
|
-
/** 配置隔离的轻量日志器。 */
|
|
39
|
-
export interface Logger {
|
|
40
|
-
/**
|
|
41
|
-
* 输出指定作用域的调试信息或数据。
|
|
42
|
-
* @param scope - 模块、组件或业务来源名称。
|
|
43
|
-
* @param content - 可选的消息与附加值;非字符串值保持原始类型。
|
|
44
|
-
* @throws `TypeError` 或 `RangeError` 当作用域不是无外围空白的非空字符串。
|
|
45
|
-
*/
|
|
46
|
-
debug: (scope: string, ...content: unknown[]) => void;
|
|
47
|
-
/**
|
|
48
|
-
* 输出指定作用域的普通信息或数据。
|
|
49
|
-
* @param scope - 模块、组件或业务来源名称。
|
|
50
|
-
* @param content - 可选的消息与附加值;非字符串值保持原始类型。
|
|
51
|
-
* @throws `TypeError` 或 `RangeError` 当作用域不是无外围空白的非空字符串。
|
|
52
|
-
*/
|
|
53
|
-
log: (scope: string, ...content: unknown[]) => void;
|
|
54
|
-
/**
|
|
55
|
-
* 输出指定作用域的警告信息或数据。
|
|
56
|
-
* @param scope - 模块、组件或业务来源名称。
|
|
57
|
-
* @param content - 可选的消息与附加值;非字符串值保持原始类型。
|
|
58
|
-
* @throws `TypeError` 或 `RangeError` 当作用域不是无外围空白的非空字符串。
|
|
59
|
-
*/
|
|
60
|
-
warn: (scope: string, ...content: unknown[]) => void;
|
|
61
|
-
/**
|
|
62
|
-
* 输出指定作用域的错误信息或数据。
|
|
63
|
-
* @param scope - 模块、组件或业务来源名称。
|
|
64
|
-
* @param content - 可选的消息与附加值;非字符串值保持原始类型。
|
|
65
|
-
* @throws `TypeError` 或 `RangeError` 当作用域不是无外围空白的非空字符串。
|
|
66
|
-
*/
|
|
67
|
-
error: (scope: string, ...content: unknown[]) => void;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* 创建独立日志器。
|
|
71
|
-
*
|
|
72
|
-
* @remarks 本库其他模块不会自动记录、吞掉或转换异常。日志内容可能进入持久化平台,
|
|
73
|
-
* 调用方不得传入密码、令牌、密钥或完整个人数据。
|
|
74
|
-
* @param options - 级别、前缀、输出目标和 uni-app App-Plus 拆分选项。
|
|
75
|
-
* @returns 不会修改全局控制台或其他日志器配置的新实例。
|
|
76
|
-
* @throws `RangeError` 当级别未知,或前缀、作用域不是有效的非空字符串。
|
|
77
|
-
*/
|
|
78
|
-
export declare function createLogger(options?: LoggerOptions): Logger;
|
|
79
|
-
/**
|
|
80
|
-
* 替换默认 {@link logger} 的完整配置。
|
|
81
|
-
*
|
|
82
|
-
* @remarks 已创建的独立 Logger 不受影响;默认 Logger 对象引用保持稳定,并立即转发到新配置。
|
|
83
|
-
* 省略选项会恢复 `createLogger()` 的全部默认值。
|
|
84
|
-
* @param options - 默认 Logger 使用的级别、前缀、输出目标和 uni-app App-Plus 拆分选项。
|
|
85
|
-
*/
|
|
86
|
-
export declare function configureLogger(options?: LoggerOptions): void;
|
|
87
|
-
/** 默认使用 `Fast` 前缀和 `debug` 级别、可通过 {@link configureLogger} 配置的便捷日志器。 */
|
|
88
|
-
export declare const logger: Logger;
|
|
89
|
-
//#endregion
|
|
90
|
-
//# sourceMappingURL=index.d.mts.map
|
package/dist/number/index.d.mts
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
//#region src/number/index.d.ts
|
|
2
|
-
/** {@link formatBytes} 的格式化选项。 */
|
|
3
|
-
export interface FormatBytesOptions {
|
|
4
|
-
/** 计量基数。`1000` 生成 SI 单位,`1024` 生成 IEC 单位;默认 `1024`。 */
|
|
5
|
-
base?: 1000 | 1024;
|
|
6
|
-
/** 小数位数,范围 0 至 20;默认 `2`。 */
|
|
7
|
-
decimals?: number;
|
|
8
|
-
/** `Intl.NumberFormat` 使用的语言;默认固定为 `en-US` 以保证输出稳定。 */
|
|
9
|
-
locale?: string | readonly string[];
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* 把数字限制在闭区间内。
|
|
13
|
-
*
|
|
14
|
-
* @param value - 需要限制的数字。
|
|
15
|
-
* @param minimum - 闭区间下界。
|
|
16
|
-
* @param maximum - 闭区间上界。
|
|
17
|
-
* @returns `minimum <= result <= maximum` 的值。
|
|
18
|
-
* @throws `RangeError` 当参数为 `NaN` 或下界大于上界。
|
|
19
|
-
*/
|
|
20
|
-
export declare function clamp(value: number, minimum: number, maximum: number): number;
|
|
21
|
-
/**
|
|
22
|
-
* 判断数字是否位于指定区间。
|
|
23
|
-
*
|
|
24
|
-
* @param value - 待检查数字。
|
|
25
|
-
* @param minimum - 包含的下界。
|
|
26
|
-
* @param maximum - 上界。
|
|
27
|
-
* @param includeMaximum - 是否包含上界;默认使用半开区间 `[minimum, maximum)`。
|
|
28
|
-
* @returns 数字满足区间边界时返回 `true`。
|
|
29
|
-
* @throws `RangeError` 当参数为 `NaN` 或下界大于上界。
|
|
30
|
-
*/
|
|
31
|
-
export declare function inRange(value: number, minimum: number, maximum: number, includeMaximum?: boolean): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* 按十进制位数四舍五入。
|
|
34
|
-
*
|
|
35
|
-
* @remarks IEEE-754 浮点数仍可能存在不可表示误差;财务金额应使用十进制定点方案。
|
|
36
|
-
* @param value - 有限数字。
|
|
37
|
-
* @param digits - 小数位数;负数表示十位、百位等,范围 -15 至 15。
|
|
38
|
-
* @returns 按 `Math.round` 语义舍入后的数字。
|
|
39
|
-
* @throws `RangeError` 当值非有限或位数超出范围。
|
|
40
|
-
*/
|
|
41
|
-
export declare function roundTo(value: number, digits?: number): number;
|
|
42
|
-
/**
|
|
43
|
-
* 对有限数字求和。
|
|
44
|
-
*
|
|
45
|
-
* @param values - 不会被修改的数字数组。
|
|
46
|
-
* @returns 算术和;空数组返回 `0`。
|
|
47
|
-
* @throws `RangeError` 当任一值非有限或累计结果溢出。
|
|
48
|
-
*/
|
|
49
|
-
export declare function sum(values: readonly number[]): number;
|
|
50
|
-
/**
|
|
51
|
-
* 计算有限数字的算术平均值。
|
|
52
|
-
*
|
|
53
|
-
* @param values - 不会被修改的数字数组。
|
|
54
|
-
* @returns 空数组或只有稀疏空位的数组返回 `undefined`;空位不参与分母。
|
|
55
|
-
* @throws `RangeError` 当任一值非有限。
|
|
56
|
-
*/
|
|
57
|
-
export declare function average(values: readonly number[]): number | undefined;
|
|
58
|
-
/**
|
|
59
|
-
* 在两个数字间做线性插值。
|
|
60
|
-
*
|
|
61
|
-
* @remarks `amount` 不限制在 0 至 1;区间外的值会执行线性外推。
|
|
62
|
-
* @param start - `amount = 0` 时的起点。
|
|
63
|
-
* @param end - `amount = 1` 时的终点。
|
|
64
|
-
* @param amount - 插值或外推比例。
|
|
65
|
-
* @returns 线性计算结果。
|
|
66
|
-
* @throws `RangeError` 当任一参数非有限或结果超出有限数字范围。
|
|
67
|
-
*/
|
|
68
|
-
export declare function lerp(start: number, end: number, amount: number): number;
|
|
69
|
-
/**
|
|
70
|
-
* 将非负字节数格式化为 SI 或 IEC 单位。
|
|
71
|
-
*
|
|
72
|
-
* @param bytes - 非负有限字节数。
|
|
73
|
-
* @param options - 基数、小数位和语言选项。
|
|
74
|
-
* @returns 例如 `1.5 KiB`。
|
|
75
|
-
* @throws `RangeError` 当字节数为负或非有限、基数不是 1000/1024、小数位非法,或 Locale 无效。
|
|
76
|
-
*/
|
|
77
|
-
export declare function formatBytes(bytes: number, options?: FormatBytesOptions): string;
|
|
78
|
-
/**
|
|
79
|
-
* 在半开区间内生成随机整数。
|
|
80
|
-
*
|
|
81
|
-
* @remarks 优先使用 Web Crypto;平台缺少安全随机能力时回退到 `Math.random()`。
|
|
82
|
-
* @param minimum - 包含的安全整数下界。
|
|
83
|
-
* @param maximumExclusive - 不包含的安全整数上界;区间宽度最大为 2^32。
|
|
84
|
-
* @returns 位于 `[minimum, maximumExclusive)` 的随机整数。
|
|
85
|
-
* @throws 参数非法时抛出 `RangeError`。
|
|
86
|
-
*/
|
|
87
|
-
export declare function randomInt(minimum: number, maximumExclusive: number): number;
|
|
88
|
-
//#endregion
|
|
89
|
-
//# sourceMappingURL=index.d.mts.map
|