@epxing/utils 0.0.0-stage → 5.3.0-beta.2
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/API.md +602 -0
- package/README.md +22 -2
- package/dist/_vendor/.pnpm/jsencrypt@3.5.4/_vendor/jsencrypt/bin/jsencrypt.min.js +1691 -0
- package/dist/_virtual/_commonjsHelpers.js +6 -0
- package/dist/_virtual/jsencrypt.min.js +31 -0
- package/dist/_virtual/jsencrypt.min2.js +4 -0
- package/dist/_virtual/preload-helper.js +88 -0
- package/dist/assets/ai-BBFn3QRy.png +0 -0
- package/dist/assets/ai_import-BxQ7Ohn6.png +0 -0
- package/dist/assets/app-DBNIokDP.png +0 -0
- package/dist/assets/approval-DGcBv-re.png +0 -0
- package/dist/assets/create_market_system-BH__UVbt.png +0 -0
- package/dist/assets/create_system-irg--ePh.png +0 -0
- package/dist/assets/custom-C-ujlHz1.png +0 -0
- package/dist/assets/default-icon-2193FMjv.png +0 -0
- package/dist/assets/ex_link-4fYPd9nh.png +0 -0
- package/dist/assets/excel-BYqRm2Y8.png +0 -0
- package/dist/assets/folder-CFVsNbjj.png +0 -0
- package/dist/assets/form-DD9HV-jN.png +0 -0
- package/dist/assets/import-tfKWbWVS.png +0 -0
- package/dist/assets/meta-Qorpi70B.png +0 -0
- package/dist/assets/module-DQrs7VAS.png +0 -0
- package/dist/assets/null-B2An29h4.png +0 -0
- package/dist/assets/option-CG02tIgh.svg +1 -0
- package/dist/assets/photo-uscRzRXF.png +0 -0
- package/dist/assets/process-Dcndu9m2.png +0 -0
- package/dist/assets/rule-DcYhYse0.png +0 -0
- package/dist/assets/service-CLYLpPl3.png +0 -0
- package/dist/assets/single_file-B3TJtJli.png +0 -0
- package/dist/assets/snapshot-history-BsVY9cVj.png +0 -0
- package/dist/assets/snapshot-manual-DBRfFHYI.png +0 -0
- package/dist/assets/snapshot-realtime-DjHnJI6C.png +0 -0
- package/dist/assets/staff-Bn_-_00l.png +0 -0
- package/dist/assets/sync_append-Bm8mtvZs.png +0 -0
- package/dist/assets/sync_append_update-DzjxqJ_U.png +0 -0
- package/dist/assets/sync_loading-D7LoNPFP.png +0 -0
- package/dist/assets/sync_replace-Cbbzz327.png +0 -0
- package/dist/assets/sync_update-Birao6Cr.png +0 -0
- package/dist/assets/userRole-D1LAdM6N.png +0 -0
- package/dist/assets/user_bg-BFHtaZjz.png +0 -0
- package/dist/src/Config.js +25 -0
- package/dist/src/asset-images.js +125 -0
- package/dist/src/assets/images/add.png.js +4 -0
- package/dist/src/assets/images/ai-button.png.js +4 -0
- package/dist/src/assets/images/ai.png.js +4 -0
- package/dist/src/assets/images/ai_import.png.js +4 -0
- package/dist/src/assets/images/app.png.js +4 -0
- package/dist/src/assets/images/approval.png.js +4 -0
- package/dist/src/assets/images/book.png.js +4 -0
- package/dist/src/assets/images/canvas-editor/alignment.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/arrow-left.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/arrow-right.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/block.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/bold.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/catalog.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/center.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/checkbox.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/close.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/codeblock.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/color.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/control.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/date.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/exit-fullscreen.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/format.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/highlight.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/hyperlink.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/image.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/italic.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/justify.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/latex.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/left.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/line-dash-dot-dot.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/line-dash-dot.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/line-dash-large-gap.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/line-dash-small-gap.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/line-dot.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/line-double.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/line-single.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/line-wavy.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/list.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/option.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/page-break.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/page-mode.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/page-scale-add.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/page-scale-minus.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/painter.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/paper-direction.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/paper-margin.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/paper-size.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/print.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/radio.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/redo.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/request-fullscreen.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/right.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/row-margin.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/search.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/separator.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/signature-undo.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/signature.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/size-add.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/size-minus.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/strikeout.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/subscript.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/superscript.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/table.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/title.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/trash.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/underline.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/undo.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/watermark.svg.js +4 -0
- package/dist/src/assets/images/canvas-editor/word-tool.svg.js +4 -0
- package/dist/src/assets/images/clear.png.js +4 -0
- package/dist/src/assets/images/create_market_system.png.js +4 -0
- package/dist/src/assets/images/create_system.png.js +4 -0
- package/dist/src/assets/images/custom.png.js +4 -0
- package/dist/src/assets/images/default-icon.png.js +4 -0
- package/dist/src/assets/images/ex_link.png.js +4 -0
- package/dist/src/assets/images/excel.png.js +4 -0
- package/dist/src/assets/images/file.png.js +4 -0
- package/dist/src/assets/images/folder.png.js +4 -0
- package/dist/src/assets/images/hall/form.png.js +4 -0
- package/dist/src/assets/images/hall/meta.png.js +4 -0
- package/dist/src/assets/images/hall/process.png.js +4 -0
- package/dist/src/assets/images/hall/rule.png.js +4 -0
- package/dist/src/assets/images/hall/service.png.js +4 -0
- package/dist/src/assets/images/hall/userRole.png.js +4 -0
- package/dist/src/assets/images/hr.png.js +4 -0
- package/dist/src/assets/images/import.png.js +4 -0
- package/dist/src/assets/images/jian.png.js +4 -0
- package/dist/src/assets/images/module.png.js +4 -0
- package/dist/src/assets/images/null.png.js +4 -0
- package/dist/src/assets/images/photo.png.js +4 -0
- package/dist/src/assets/images/qq.png.js +4 -0
- package/dist/src/assets/images/robot.png.js +4 -0
- package/dist/src/assets/images/single_file.png.js +4 -0
- package/dist/src/assets/images/snapshot-history.png.js +4 -0
- package/dist/src/assets/images/snapshot-manual.png.js +4 -0
- package/dist/src/assets/images/snapshot-realtime.png.js +4 -0
- package/dist/src/assets/images/staff.png.js +4 -0
- package/dist/src/assets/images/switch_app.png.js +4 -0
- package/dist/src/assets/images/sync_append.png.js +4 -0
- package/dist/src/assets/images/sync_append_update.png.js +4 -0
- package/dist/src/assets/images/sync_loading.png.js +4 -0
- package/dist/src/assets/images/sync_replace.png.js +4 -0
- package/dist/src/assets/images/sync_update.png.js +4 -0
- package/dist/src/assets/images/user_bg.png.js +4 -0
- package/dist/src/assets/images/weixin.png.js +4 -0
- package/dist/src/chart-config-update.js +17 -0
- package/dist/src/chart-data-adapters.js +112 -0
- package/dist/src/chart-option-override.js +128 -0
- package/dist/src/chart-option-paths.js +64 -0
- package/dist/src/chart-registry.js +46 -0
- package/dist/src/chart-render-host.js +57 -0
- package/dist/src/chart-request-broker.js +176 -0
- package/dist/src/chartTheme.js +683 -0
- package/dist/src/collection.js +25 -0
- package/dist/src/date-helper.js +60 -0
- package/dist/src/dom-helper.js +22 -0
- package/dist/src/eval-with.js +14 -0
- package/dist/src/fieldFactory.js +5 -0
- package/dist/src/formula.js +365 -0
- package/dist/src/hljs-lite.js +29 -0
- package/dist/src/index.js +24 -0
- package/dist/src/lazy-jsencrypt.js +13 -0
- package/dist/src/legacy.js +25 -0
- package/dist/src/locale.js +88 -0
- package/dist/src/menu-open.js +43 -0
- package/dist/src/mermaid.js +79 -0
- package/dist/src/meta.js +4 -0
- package/dist/src/mobile-chart-appearance.js +148 -0
- package/dist/src/moment-compat.js +558 -0
- package/dist/src/nav-history.js +184 -0
- package/dist/src/page.js +116 -0
- package/dist/src/pdf.viewer.js +4 -0
- package/dist/src/placeholder.js +64 -0
- package/dist/src/public.js +49 -0
- package/dist/src/security.js +26 -0
- package/dist/src/storage.js +107 -0
- package/dist/src/token-storage.js +108 -0
- package/dist/src/util.js +4 -0
- package/package.json +109 -3
- package/src/Config.js +25 -0
- package/src/asset-images.js +16 -0
- package/src/chart-config-update.js +16 -0
- package/src/chart-data-adapters.js +106 -0
- package/src/chart-option-override.js +126 -0
- package/src/chart-option-paths.js +63 -0
- package/src/chart-registry.js +41 -0
- package/src/chart-render-host.js +56 -0
- package/src/chart-request-broker.js +171 -0
- package/src/chartTheme.js +711 -0
- package/src/collection.js +28 -0
- package/src/date-helper.js +72 -0
- package/src/dom-helper.js +26 -0
- package/src/eval-with.js +21 -0
- package/src/fieldFactory.js +3 -0
- package/src/formula.js +362 -0
- package/src/hljs-lite.js +41 -0
- package/src/index.js +2 -0
- package/src/lazy-jsencrypt.js +36 -0
- package/src/legacy.js +29 -0
- package/src/locale.js +104 -0
- package/src/menu-open.js +72 -0
- package/src/mermaid.js +115 -0
- package/src/meta.js +2 -0
- package/src/mobile-chart-appearance.js +147 -0
- package/src/moment-compat.d.ts +91 -0
- package/src/moment-compat.js +744 -0
- package/src/nav-history.js +274 -0
- package/src/page.js +129 -0
- package/src/pdf.viewer.js +2 -0
- package/src/placeholder.js +107 -0
- package/src/public.js +11 -0
- package/src/security.js +29 -0
- package/src/storage.js +135 -0
- package/src/token-storage.js +120 -0
- package/src/util.js +2 -0
- package/types/Config.d.ts +4 -0
- package/types/collection.d.ts +40 -0
- package/types/date-helper.d.ts +11 -0
- package/types/date-time.d.ts +2 -0
- package/types/date.d.ts +1 -0
- package/types/dom-helper.d.ts +3 -0
- package/types/dom.d.ts +1 -0
- package/types/index.d.ts +1 -0
- package/types/moment-compat.d.ts +91 -0
- package/types/page.d.ts +56 -0
- package/types/placeholder.d.ts +42 -0
- package/types/public.d.ts +10 -0
- package/types/storage.d.ts +31 -0
package/API.md
ADDED
|
@@ -0,0 +1,602 @@
|
|
|
1
|
+
# @epxing/utils API
|
|
2
|
+
|
|
3
|
+
独立的配置模型、日期、集合、占位符、DOM 与浏览器存储工具;根入口不需要安装 Vue 或 core。
|
|
4
|
+
|
|
5
|
+
本页对应包版本 `5.3.0-beta.2`。导出名、子路径和签名从当前源码、package.json 与类型声明生成。
|
|
6
|
+
|
|
7
|
+
## 安装与使用
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
pnpm add @epxing/utils@5.3.0-beta.2
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
```js
|
|
16
|
+
import { cloneDeep, moment, resolvePlaceholders, storage, Page } from '@epxing/utils'
|
|
17
|
+
import { nextMonth } from '@epxing/utils/date'
|
|
18
|
+
|
|
19
|
+
const draft = cloneDeep({ name: '张三' })
|
|
20
|
+
const date = moment('2026-10-22').add(1, 'day').format('YYYY-MM-DD')
|
|
21
|
+
const text = resolvePlaceholders('用户:#{name}', [draft])
|
|
22
|
+
storage.set('last-date', date)
|
|
23
|
+
const page = new Page({ label: '员工列表' })
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 接入约定
|
|
27
|
+
|
|
28
|
+
根入口没有 default 导出,请使用具名导入。日期纯函数的 month 使用 0–11。storage/cookie 操作的是 localStorage/sessionStorage;DOM 和存储方法在浏览器中调用。moment 是 Day.js 兼容层,兼容方法以本包类型声明为准。平台相关的 util、Meta、FieldFactory、PdfViewer 从 @epxing/core 导入。
|
|
29
|
+
|
|
30
|
+
## 根入口完整导出
|
|
31
|
+
|
|
32
|
+
| 导出名 | 形态 | 用途 | 参数 / 配置 / 事件 |
|
|
33
|
+
| --- | --- | --- | --- |
|
|
34
|
+
| `PLACEHOLDER_RE` | 对象 / 常量 | 匹配全部 #{path} 占位符的全局正则;复用 RegExp.test/exec 时注意 lastIndex。 | [详细参考](../../docs/revision/utils/api/placeholder.md) |
|
|
35
|
+
| `lookup` | 函数 | 在一个对象中按点号/方括号路径读取,返回 { found, value },保留 0、false、空串和 undefined 的存在语义。 | [详细参考](../../docs/revision/utils/api/placeholder.md) |
|
|
36
|
+
| `resolveKey` | 函数 | 按 sources 的顺序查找第一个拥有路径的对象,返回 { found, value, index }。 | [详细参考](../../docs/revision/utils/api/placeholder.md) |
|
|
37
|
+
| `resolvePlaceholders` | 函数 | 替换字符串中全部 #{path};默认缺失值替换为空串,onMissing: keep 时保留占位符。 | [详细参考](../../docs/revision/utils/api/placeholder.md) |
|
|
38
|
+
| `isDate` | 函数 | 判断输入是否可转换为有效日期,明确拒绝数组、null 和 undefined。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
39
|
+
| `getDayCountOfMonth` | 函数 | 返回指定年/月的天数;month 使用 0–11。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
40
|
+
| `getDayCountOfYear` | 函数 | 根据闰年规则返回 365 或 366。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
41
|
+
| `nextDate` | 函数 | 返回增加 amount 天后的新 Date,默认增加一天。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
42
|
+
| `nextMonth` | 函数 | 返回下个月的 Date,并把月末日期夹紧到目标月的有效天数。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
43
|
+
| `prevYear` | 函数 | 返回向前 amount 年的 Date,并夹紧月末日期。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
44
|
+
| `nextYear` | 函数 | 返回向后 amount 年的 Date,并夹紧月末日期。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
45
|
+
| `range` | 函数 | 生成从 0 到 n - 1 的整数数组。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
46
|
+
| `modifyDate` | 函数 | 替换年、月、日,保留时、分、秒和毫秒;月份从 0 开始。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
47
|
+
| `modifyTime` | 函数 | 替换时、分、秒,保留日期和毫秒。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
48
|
+
| `modifyWithTimeString` | 函数 | 用 HH:mm:ss 字符串替换时间;没有匹配时保留输入日期。 | [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
49
|
+
| `hasClass` | 函数 | 检查 DOM 元素是否具有单个 class;class 参数包含空格时抛错。 | [详细参考](../../docs/revision/utils/api/dom-helper.md) |
|
|
50
|
+
| `arrayFindIndex` | 函数 | 返回第一个满足 pred 的数组元素下标,没有匹配时返回 -1。 | [详细参考](../../docs/revision/utils/api/dom-helper.md) |
|
|
51
|
+
| `coerceTruthyValueToArray` | 函数 | 数组原样返回;其他真值包装为单项数组;假值返回空数组。 | [详细参考](../../docs/revision/utils/api/dom-helper.md) |
|
|
52
|
+
| `cloneDeep` | 函数 | 深复制数据,适合隔离表单和页面配置。 | 见下方签名或接入约定 |
|
|
53
|
+
| `isNil` | 函数 | 判断值是否为 null 或 undefined。 | 见下方签名或接入约定 |
|
|
54
|
+
| `isEmpty` | 函数 | 按 lodash 语义判断集合、字符串或对象是否为空。 | 见下方签名或接入约定 |
|
|
55
|
+
| `isObject` | 函数 | 判断是否为对象或函数;null 返回 false。 | 见下方签名或接入约定 |
|
|
56
|
+
| `isEqual` | 函数 | 按 lodash 语义比较两个值的深层结构是否相等。 | 见下方签名或接入约定 |
|
|
57
|
+
| `assignWith` | 函数 | 合并来源对象属性到目标对象,并允许自定义合并规则;会修改目标对象。 | 见下方签名或接入约定 |
|
|
58
|
+
| `debounce` | 函数 | 创建防抖函数,支持 cancel/flush 及前沿、后沿调用选项。 | 见下方签名或接入约定 |
|
|
59
|
+
| `throttle` | 函数 | 创建节流函数,支持 cancel/flush 及前沿、后沿调用选项。 | 见下方签名或接入约定 |
|
|
60
|
+
| `get` | 函数 | 按属性路径读取值,未定义时可返回默认值。 | 见下方签名或接入约定 |
|
|
61
|
+
| `set` | 函数 | 按属性路径写入值并返回目标对象;会修改目标对象。 | 见下方签名或接入约定 |
|
|
62
|
+
| `Config` | 类 | 配置模型类;new Config() 后通过 set(config) 合并配置,对象浅合并、数组复制。 | [详细参考](../../docs/revision/utils/api/Config.md) |
|
|
63
|
+
| `Page` | 类 | 页面配置模型类,封装页面标识、元数据及属性查询方法。 | [详细参考](../../docs/revision/utils/api/page.md) |
|
|
64
|
+
| `placeholder` | 对象 / 常量 | 占位符工具集合,包含 PLACEHOLDER_RE、lookup、resolveKey、resolvePlaceholders。 | [详细参考](../../docs/revision/utils/api/placeholder.md) |
|
|
65
|
+
| `storage` | 对象 / 常量 | 浏览器存储适配器,提供 get/set/remove,支持 session 与 expires 选项。 | [详细参考](../../docs/revision/utils/api/storage.md) |
|
|
66
|
+
| `getXsrfToken` | 函数 | 从存储中读取 XSRF token。 | [详细参考](../../docs/revision/utils/api/storage.md) |
|
|
67
|
+
| `setXsrfToken` | 函数 | 保存或清理 XSRF token。 | [详细参考](../../docs/revision/utils/api/storage.md) |
|
|
68
|
+
| `cookie` | 对象 / 常量 | storage 的兼容别名,使用浏览器存储适配器。 | [详细参考](../../docs/revision/utils/api/storage.md) |
|
|
69
|
+
| `moment` | 对象 / 常量 | 基于 Day.js 的 Moment 兼容工厂;支持 format/add/subtract/startOf/endOf/diff 等常用链式调用。 | [详细参考](../../docs/revision/utils/api/moment-compat.md) |
|
|
70
|
+
| `dateTime` | 对象 / 常量 | moment 的同一对象别名,适合新产品中明确表达日期工具用途。 | [详细参考](../../docs/revision/utils/api/moment-compat.md) |
|
|
71
|
+
| `createMoment` | 对象 / 常量 | 创建 Moment 兼容日期对象;moment/dateTime 的底层工厂。 | [详细参考](../../docs/revision/utils/api/moment-compat.md) |
|
|
72
|
+
| `lodash` | 对象 / 常量 | 集合工具对象,包含本包具名导出的十个 lodash-es 方法。 | 见下方签名或接入约定 |
|
|
73
|
+
|
|
74
|
+
## 函数、类与工具对象
|
|
75
|
+
|
|
76
|
+
签名中的 any 表示现有声明未进一步限定结构;源代码方法签名保留默认参数。异步结果与泛型以声明为准。
|
|
77
|
+
|
|
78
|
+
### lookup
|
|
79
|
+
|
|
80
|
+
在一个对象中按点号/方括号路径读取,返回 { found, value },保留 0、false、空串和 undefined 的存在语义。
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
lookup(path: any, source: any): { found: boolean; value: any; }
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
[详细参考](../../docs/revision/utils/api/placeholder.md),包括参数、返回值与运行约束。
|
|
87
|
+
|
|
88
|
+
### resolveKey
|
|
89
|
+
|
|
90
|
+
按 sources 的顺序查找第一个拥有路径的对象,返回 { found, value, index }。
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
resolveKey(path: string, sources?: object[]): { found: boolean; value: any; index: number; }
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
[详细参考](../../docs/revision/utils/api/placeholder.md),包括参数、返回值与运行约束。
|
|
97
|
+
|
|
98
|
+
### resolvePlaceholders
|
|
99
|
+
|
|
100
|
+
替换字符串中全部 #{path};默认缺失值替换为空串,onMissing: keep 时保留占位符。
|
|
101
|
+
|
|
102
|
+
```ts
|
|
103
|
+
resolvePlaceholders(text: string, sources?: object[], options?: { onMissing?: "empty" | "keep"; }): string
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
[详细参考](../../docs/revision/utils/api/placeholder.md),包括参数、返回值与运行约束。
|
|
107
|
+
|
|
108
|
+
### isDate
|
|
109
|
+
|
|
110
|
+
判断输入是否可转换为有效日期,明确拒绝数组、null 和 undefined。
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
isDate(date: any): boolean
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
117
|
+
|
|
118
|
+
### getDayCountOfMonth
|
|
119
|
+
|
|
120
|
+
返回指定年/月的天数;month 使用 0–11。
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
getDayCountOfMonth(year: any, month: any): number
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
127
|
+
|
|
128
|
+
### getDayCountOfYear
|
|
129
|
+
|
|
130
|
+
根据闰年规则返回 365 或 366。
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
getDayCountOfYear(year: any): 366 | 365
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
137
|
+
|
|
138
|
+
### nextDate
|
|
139
|
+
|
|
140
|
+
返回增加 amount 天后的新 Date,默认增加一天。
|
|
141
|
+
|
|
142
|
+
```ts
|
|
143
|
+
nextDate(date: any, amount?: number): Date
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
147
|
+
|
|
148
|
+
### nextMonth
|
|
149
|
+
|
|
150
|
+
返回下个月的 Date,并把月末日期夹紧到目标月的有效天数。
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
nextMonth(date: any): Date
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
157
|
+
|
|
158
|
+
### prevYear
|
|
159
|
+
|
|
160
|
+
返回向前 amount 年的 Date,并夹紧月末日期。
|
|
161
|
+
|
|
162
|
+
```ts
|
|
163
|
+
prevYear(date: any, amount?: number): Date
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
167
|
+
|
|
168
|
+
### nextYear
|
|
169
|
+
|
|
170
|
+
返回向后 amount 年的 Date,并夹紧月末日期。
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
nextYear(date: any, amount?: number): Date
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
177
|
+
|
|
178
|
+
### range
|
|
179
|
+
|
|
180
|
+
生成从 0 到 n - 1 的整数数组。
|
|
181
|
+
|
|
182
|
+
```ts
|
|
183
|
+
range(n: any): any
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
187
|
+
|
|
188
|
+
### modifyDate
|
|
189
|
+
|
|
190
|
+
替换年、月、日,保留时、分、秒和毫秒;月份从 0 开始。
|
|
191
|
+
|
|
192
|
+
```ts
|
|
193
|
+
modifyDate(date: any, y: any, m: any, d: any): Date
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
197
|
+
|
|
198
|
+
### modifyTime
|
|
199
|
+
|
|
200
|
+
替换时、分、秒,保留日期和毫秒。
|
|
201
|
+
|
|
202
|
+
```ts
|
|
203
|
+
modifyTime(date: any, h: any, m: any, s: any): Date
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
207
|
+
|
|
208
|
+
### modifyWithTimeString
|
|
209
|
+
|
|
210
|
+
用 HH:mm:ss 字符串替换时间;没有匹配时保留输入日期。
|
|
211
|
+
|
|
212
|
+
```ts
|
|
213
|
+
modifyWithTimeString(date: any, time: any): any
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
[详细参考](../../docs/revision/utils/api/date-helper.md),包括参数、返回值与运行约束。
|
|
217
|
+
|
|
218
|
+
### hasClass
|
|
219
|
+
|
|
220
|
+
检查 DOM 元素是否具有单个 class;class 参数包含空格时抛错。
|
|
221
|
+
|
|
222
|
+
```ts
|
|
223
|
+
hasClass(el: any, cls: any): any
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
[详细参考](../../docs/revision/utils/api/dom-helper.md),包括参数、返回值与运行约束。
|
|
227
|
+
|
|
228
|
+
### arrayFindIndex
|
|
229
|
+
|
|
230
|
+
返回第一个满足 pred 的数组元素下标,没有匹配时返回 -1。
|
|
231
|
+
|
|
232
|
+
```ts
|
|
233
|
+
arrayFindIndex(arr: any, pred: any): number
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
[详细参考](../../docs/revision/utils/api/dom-helper.md),包括参数、返回值与运行约束。
|
|
237
|
+
|
|
238
|
+
### coerceTruthyValueToArray
|
|
239
|
+
|
|
240
|
+
数组原样返回;其他真值包装为单项数组;假值返回空数组。
|
|
241
|
+
|
|
242
|
+
```ts
|
|
243
|
+
coerceTruthyValueToArray(val: any): any[]
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
[详细参考](../../docs/revision/utils/api/dom-helper.md),包括参数、返回值与运行约束。
|
|
247
|
+
|
|
248
|
+
### cloneDeep
|
|
249
|
+
|
|
250
|
+
深复制数据,适合隔离表单和页面配置。
|
|
251
|
+
|
|
252
|
+
```ts
|
|
253
|
+
cloneDeep<T>(value: T): T
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### isNil
|
|
257
|
+
|
|
258
|
+
判断值是否为 null 或 undefined。
|
|
259
|
+
|
|
260
|
+
```ts
|
|
261
|
+
isNil(value: unknown): value is null
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### isEmpty
|
|
265
|
+
|
|
266
|
+
按 lodash 语义判断集合、字符串或对象是否为空。
|
|
267
|
+
|
|
268
|
+
```ts
|
|
269
|
+
isEmpty(value: unknown): boolean
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### isObject
|
|
273
|
+
|
|
274
|
+
判断是否为对象或函数;null 返回 false。
|
|
275
|
+
|
|
276
|
+
```ts
|
|
277
|
+
isObject(value: unknown): value is object
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### isEqual
|
|
281
|
+
|
|
282
|
+
按 lodash 语义比较两个值的深层结构是否相等。
|
|
283
|
+
|
|
284
|
+
```ts
|
|
285
|
+
isEqual(value: unknown, other: unknown): boolean
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### assignWith
|
|
289
|
+
|
|
290
|
+
合并来源对象属性到目标对象,并允许自定义合并规则;会修改目标对象。
|
|
291
|
+
|
|
292
|
+
```ts
|
|
293
|
+
assignWith<T extends object>(object: T, ...sources: any[]): T
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### debounce
|
|
297
|
+
|
|
298
|
+
创建防抖函数,支持 cancel/flush 及前沿、后沿调用选项。
|
|
299
|
+
|
|
300
|
+
```ts
|
|
301
|
+
debounce<T extends (...args: any[]) => any>(func: T, wait?: number, options?: { leading?: boolean; trailing?: boolean; maxWait?: number; }): T & { cancel(): void; flush(): ReturnType<T>; }
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### throttle
|
|
305
|
+
|
|
306
|
+
创建节流函数,支持 cancel/flush 及前沿、后沿调用选项。
|
|
307
|
+
|
|
308
|
+
```ts
|
|
309
|
+
throttle<T extends (...args: any[]) => any>(func: T, wait?: number, options?: { leading?: boolean; trailing?: boolean; maxWait?: number; }): T & { cancel(): void; flush(): ReturnType<T>; }
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### get
|
|
313
|
+
|
|
314
|
+
按属性路径读取值,未定义时可返回默认值。
|
|
315
|
+
|
|
316
|
+
```ts
|
|
317
|
+
get(object: unknown, path: string | (string | number)[], defaultValue?: any): any
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### set
|
|
321
|
+
|
|
322
|
+
按属性路径写入值并返回目标对象;会修改目标对象。
|
|
323
|
+
|
|
324
|
+
```ts
|
|
325
|
+
set<T extends object>(object: T, path: string | (string | number)[], value: any): T
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### Config
|
|
329
|
+
|
|
330
|
+
配置模型类;new Config() 后通过 set(config) 合并配置,对象浅合并、数组复制。
|
|
331
|
+
|
|
332
|
+
```js
|
|
333
|
+
new Config
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
| 方法 | 说明 |
|
|
337
|
+
| --- | --- |
|
|
338
|
+
| `set(config)` | 按属性路径写入值并返回目标对象;会修改目标对象。 |
|
|
339
|
+
|
|
340
|
+
[详细参考](../../docs/revision/utils/api/Config.md),包括参数、返回值与运行约束。
|
|
341
|
+
|
|
342
|
+
### Page
|
|
343
|
+
|
|
344
|
+
页面配置模型类,封装页面标识、元数据及属性查询方法。
|
|
345
|
+
|
|
346
|
+
```js
|
|
347
|
+
new Page(props)
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
| 方法 | 说明 |
|
|
351
|
+
| --- | --- |
|
|
352
|
+
| `getPageId()` | 返回页面 ID。 |
|
|
353
|
+
| `getLabel()` | 返回页面标签字段。 |
|
|
354
|
+
| `getMetaId()` | 返回页面绑定的元数据 ID。 |
|
|
355
|
+
| `getFlag()` | 返回页面标识。 |
|
|
356
|
+
| `getPagePath()` | 返回页面路径。 |
|
|
357
|
+
| `getConfig()` | 返回页面配置。 |
|
|
358
|
+
| `getKey()` | 返回页面对象的主键。 |
|
|
359
|
+
| `getAttris()` | 返回页面字段属性。 |
|
|
360
|
+
| `getIdLabelAttris()` | ID对应LAVEL |
|
|
361
|
+
| `getNameLabelAttris()` | NAME对应LAVEL |
|
|
362
|
+
| `getAttriNameById(attriId)` | 按属性 ID 查询字段名。 |
|
|
363
|
+
| `getLabelByField(field)` | 取得字段显示标签。 |
|
|
364
|
+
|
|
365
|
+
[详细参考](../../docs/revision/utils/api/page.md),包括参数、返回值与运行约束。
|
|
366
|
+
|
|
367
|
+
### placeholder
|
|
368
|
+
|
|
369
|
+
占位符工具集合,包含 PLACEHOLDER_RE、lookup、resolveKey、resolvePlaceholders。
|
|
370
|
+
|
|
371
|
+
| 方法 | 说明 |
|
|
372
|
+
| --- | --- |
|
|
373
|
+
| `lookup(path, source)` | 在一个对象中按点号/方括号路径读取,返回 { found, value },保留 0、false、空串和 undefined 的存在语义。 |
|
|
374
|
+
| `resolveKey(path, sources = [])` | 按 sources 的顺序查找第一个拥有路径的对象,返回 { found, value, index }。 |
|
|
375
|
+
| `resolvePlaceholders(text, sources = [], options = {})` | 替换字符串中全部 #{path};默认缺失值替换为空串,onMissing: keep 时保留占位符。 |
|
|
376
|
+
|
|
377
|
+
[详细参考](../../docs/revision/utils/api/placeholder.md),包括参数、返回值与运行约束。
|
|
378
|
+
|
|
379
|
+
### storage
|
|
380
|
+
|
|
381
|
+
浏览器存储适配器,提供 get/set/remove,支持 session 与 expires 选项。
|
|
382
|
+
|
|
383
|
+
| 方法 | 说明 |
|
|
384
|
+
| --- | --- |
|
|
385
|
+
| `get(key)` | 读取指定键,过期数据按实现移除。 |
|
|
386
|
+
| `set(key, value, options)` | 序列化并保存值,expires 可为天数或 Date。 |
|
|
387
|
+
| `remove(key)` | 移除键及对应过期记录。 |
|
|
388
|
+
|
|
389
|
+
[详细参考](../../docs/revision/utils/api/storage.md),包括参数、返回值与运行约束。
|
|
390
|
+
|
|
391
|
+
### getXsrfToken
|
|
392
|
+
|
|
393
|
+
从存储中读取 XSRF token。
|
|
394
|
+
|
|
395
|
+
```ts
|
|
396
|
+
getXsrfToken(): string
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
[详细参考](../../docs/revision/utils/api/storage.md),包括参数、返回值与运行约束。
|
|
400
|
+
|
|
401
|
+
### setXsrfToken
|
|
402
|
+
|
|
403
|
+
保存或清理 XSRF token。
|
|
404
|
+
|
|
405
|
+
```ts
|
|
406
|
+
setXsrfToken(token: any): void
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
[详细参考](../../docs/revision/utils/api/storage.md),包括参数、返回值与运行约束。
|
|
410
|
+
|
|
411
|
+
### cookie
|
|
412
|
+
|
|
413
|
+
storage 的兼容别名,使用浏览器存储适配器。
|
|
414
|
+
|
|
415
|
+
与 `storage` 共用实现,方法见该节。
|
|
416
|
+
|
|
417
|
+
[详细参考](../../docs/revision/utils/api/storage.md),包括参数、返回值与运行约束。
|
|
418
|
+
|
|
419
|
+
### moment
|
|
420
|
+
|
|
421
|
+
基于 Day.js 的 Moment 兼容工厂;支持 format/add/subtract/startOf/endOf/diff 等常用链式调用。
|
|
422
|
+
|
|
423
|
+
```ts
|
|
424
|
+
moment(input?: unknown, ...formatAndOptions: any[]): MomentLike
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
[详细参考](../../docs/revision/utils/api/moment-compat.md),包括参数、返回值与运行约束。
|
|
428
|
+
|
|
429
|
+
### dateTime
|
|
430
|
+
|
|
431
|
+
moment 的同一对象别名,适合新产品中明确表达日期工具用途。
|
|
432
|
+
|
|
433
|
+
```ts
|
|
434
|
+
dateTime(input?: unknown, ...formatAndOptions: any[]): MomentLike
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
[详细参考](../../docs/revision/utils/api/moment-compat.md),包括参数、返回值与运行约束。
|
|
438
|
+
|
|
439
|
+
### createMoment
|
|
440
|
+
|
|
441
|
+
创建 Moment 兼容日期对象;moment/dateTime 的底层工厂。
|
|
442
|
+
|
|
443
|
+
```ts
|
|
444
|
+
createMoment(input?: unknown, ...formatAndOptions: any[]): MomentLike
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
[详细参考](../../docs/revision/utils/api/moment-compat.md),包括参数、返回值与运行约束。
|
|
448
|
+
|
|
449
|
+
## 稳定子路径
|
|
450
|
+
|
|
451
|
+
下表按实际 package.json 的公开入口列出。default 使用默认导入,其他名称使用具名导入;类型接口用 import type。
|
|
452
|
+
|
|
453
|
+
| 导入路径 | 完整导出名 | 用途 / 详细说明 |
|
|
454
|
+
| --- | --- | --- |
|
|
455
|
+
| `@epxing/utils/config` | `default` | 配置模型类;new Config() 后通过 set(config) 合并配置,对象浅合并、数组复制。 [详细参考](../../docs/revision/utils/api/Config.md) |
|
|
456
|
+
| `@epxing/utils/page` | `default` | 页面配置模型类,封装页面标识、元数据及属性查询方法。 [详细参考](../../docs/revision/utils/api/page.md) |
|
|
457
|
+
| `@epxing/utils/placeholder` | `PLACEHOLDER_RE`、`lookup`、`resolveKey`、`resolvePlaceholders`、`default` | 占位符工具集合,包含 PLACEHOLDER_RE、lookup、resolveKey、resolvePlaceholders。 [详细参考](../../docs/revision/utils/api/placeholder.md) |
|
|
458
|
+
| `@epxing/utils/storage` | `XSRF_TOKEN_KEY`、`getXsrfToken`、`setXsrfToken`、`clearXsrfToken`、`default` | 浏览器存储适配器,提供 get/set/remove,支持 session 与 expires 选项。 [详细参考](../../docs/revision/utils/api/storage.md) |
|
|
459
|
+
| `@epxing/utils/date` | `isDate`、`getDayCountOfMonth`、`getDayCountOfYear`、`nextDate`、`nextMonth`、`prevYear`、`nextYear`、`range`、`modifyDate`、`modifyTime`、`modifyWithTimeString` | 判断输入是否可转换为有效日期,明确拒绝数组、null 和 undefined。 [详细参考](../../docs/revision/utils/api/date-helper.md) |
|
|
460
|
+
| `@epxing/utils/dom` | `hasClass`、`arrayFindIndex`、`coerceTruthyValueToArray` | 检查 DOM 元素是否具有单个 class;class 参数包含空格时抛错。 [详细参考](../../docs/revision/utils/api/dom-helper.md) |
|
|
461
|
+
| `@epxing/utils/date-time` | `READ_METHODS`、`WRITE_METHODS`、`DUAL_METHODS`、`PASSTHROUGH`、`UNSUPPORTED_FORMAT_TOKENS`、`preprocessFormat`、`createMoment`、`default`、`MomentLike`(类型)、`MomentFactory`(类型) | 基于 Day.js 的 Moment 兼容工厂;支持 format/add/subtract/startOf/endOf/diff 等常用链式调用。 [详细参考](../../docs/revision/utils/api/moment-compat.md) |
|
|
462
|
+
| `@epxing/utils/collection` | `cloneDeep`、`isNil`、`isEmpty`、`isObject`、`isEqual`、`assignWith`、`debounce`、`throttle`、`get`、`set`、`default` | 集合工具对象,包含本包具名导出的十个 lodash-es 方法。 |
|
|
463
|
+
|
|
464
|
+
## 子路径补充导出
|
|
465
|
+
|
|
466
|
+
本节列出仅在稳定子路径中提供的具名 API;从本节标题对应路径导入。
|
|
467
|
+
|
|
468
|
+
### @epxing/utils/storage
|
|
469
|
+
|
|
470
|
+
| 导出 / 调用签名 | 用途 | 详细接口 |
|
|
471
|
+
| --- | --- | --- |
|
|
472
|
+
| `XSRF_TOKEN_KEY` | 提供 get/set/remove 及过期规则,并维护 xsrf token。保留 cookie 风格 API,但不操作浏览器 Cookie。 | [详细参考](../../docs/revision/utils/api/storage.md) |
|
|
473
|
+
| `clearXsrfToken(): void` | 提供 get/set/remove 及过期规则,并维护 xsrf token。保留 cookie 风格 API,但不操作浏览器 Cookie。 | [详细参考](../../docs/revision/utils/api/storage.md) |
|
|
474
|
+
|
|
475
|
+
### @epxing/utils/date-time
|
|
476
|
+
|
|
477
|
+
| 导出 / 调用签名 | 用途 | 详细接口 |
|
|
478
|
+
| --- | --- | --- |
|
|
479
|
+
| `READ_METHODS` | 以 dayjs 实现常用 Moment API、可变链式操作和 duration 补足,导出兼容方法/格式集合。罕用 token 与插件需专门确认。 | [详细参考](../../docs/revision/utils/api/moment-compat.md) |
|
|
480
|
+
| `WRITE_METHODS` | 以 dayjs 实现常用 Moment API、可变链式操作和 duration 补足,导出兼容方法/格式集合。罕用 token 与插件需专门确认。 | [详细参考](../../docs/revision/utils/api/moment-compat.md) |
|
|
481
|
+
| `DUAL_METHODS` | 以 dayjs 实现常用 Moment API、可变链式操作和 duration 补足,导出兼容方法/格式集合。罕用 token 与插件需专门确认。 | [详细参考](../../docs/revision/utils/api/moment-compat.md) |
|
|
482
|
+
| `PASSTHROUGH` | 以 dayjs 实现常用 Moment API、可变链式操作和 duration 补足,导出兼容方法/格式集合。罕用 token 与插件需专门确认。 | [详细参考](../../docs/revision/utils/api/moment-compat.md) |
|
|
483
|
+
| `UNSUPPORTED_FORMAT_TOKENS` | 以 dayjs 实现常用 Moment API、可变链式操作和 duration 补足,导出兼容方法/格式集合。罕用 token 与插件需专门确认。 | [详细参考](../../docs/revision/utils/api/moment-compat.md) |
|
|
484
|
+
| `preprocessFormat(format: string, milliseconds?: number, year?: number): string` | 以 dayjs 实现常用 Moment API、可变链式操作和 duration 补足,导出兼容方法/格式集合。罕用 token 与插件需专门确认。 | [详细参考](../../docs/revision/utils/api/moment-compat.md) |
|
|
485
|
+
|
|
486
|
+
## 导出的 TypeScript 类型
|
|
487
|
+
|
|
488
|
+
以下名称仅存在于类型系统,用 import type 导入,不作为运行时对象使用。
|
|
489
|
+
|
|
490
|
+
### MomentLike
|
|
491
|
+
|
|
492
|
+
```ts
|
|
493
|
+
interface MomentLike {
|
|
494
|
+
format(format?: string): string
|
|
495
|
+
valueOf(): number
|
|
496
|
+
unix(): number
|
|
497
|
+
toDate(): Date
|
|
498
|
+
toISOString(): string | null
|
|
499
|
+
toJSON(): string | null
|
|
500
|
+
toString(): string
|
|
501
|
+
toArray(): number[]
|
|
502
|
+
toObject(): Record<string, number>
|
|
503
|
+
isValid(): boolean
|
|
504
|
+
clone(): MomentLike
|
|
505
|
+
diff(input?: unknown, unit?: string, precise?: boolean): number
|
|
506
|
+
isBefore(input?: unknown, unit?: string): boolean
|
|
507
|
+
isAfter(input?: unknown, unit?: string): boolean
|
|
508
|
+
isSame(input?: unknown, unit?: string): boolean
|
|
509
|
+
isSameOrBefore(input?: unknown, unit?: string): boolean
|
|
510
|
+
isSameOrAfter(input?: unknown, unit?: string): boolean
|
|
511
|
+
isBetween(start: unknown, end: unknown, unit?: string | null, inclusivity?: string): boolean
|
|
512
|
+
isLeapYear(): boolean
|
|
513
|
+
daysInMonth(): number
|
|
514
|
+
get(unit: string): number
|
|
515
|
+
from(input: unknown, withoutSuffix?: boolean): string
|
|
516
|
+
to(input: unknown, withoutSuffix?: boolean): string
|
|
517
|
+
fromNow(withoutSuffix?: boolean): string
|
|
518
|
+
toNow(withoutSuffix?: boolean): string
|
|
519
|
+
calendar(reference?: unknown, formats?: Record<string, string | ((...args: any[]) => string)>): string
|
|
520
|
+
utcOffset(): number
|
|
521
|
+
utcOffset(offset: number | string, keepLocalTime?: boolean): MomentLike
|
|
522
|
+
weekday(): number
|
|
523
|
+
weekday(value: number): MomentLike
|
|
524
|
+
isoWeekday(): number
|
|
525
|
+
isoWeekday(value: number): MomentLike
|
|
526
|
+
add(amount: number | Duration, unit?: string): this
|
|
527
|
+
subtract(amount: number | Duration, unit?: string): this
|
|
528
|
+
startOf(unit: string): this
|
|
529
|
+
endOf(unit: string): this
|
|
530
|
+
set(unit: string, value: number): this
|
|
531
|
+
set(values: Record<string, number>): this
|
|
532
|
+
local(): this
|
|
533
|
+
utc(keepLocalTime?: boolean): this
|
|
534
|
+
locale(): string
|
|
535
|
+
locale(name: string): this
|
|
536
|
+
year(): number
|
|
537
|
+
year(value: number): this
|
|
538
|
+
month(): number
|
|
539
|
+
month(value: number): this
|
|
540
|
+
date(): number
|
|
541
|
+
date(value: number): this
|
|
542
|
+
day(): number
|
|
543
|
+
day(value: number): this
|
|
544
|
+
hour(): number
|
|
545
|
+
hour(value: number): this
|
|
546
|
+
minute(): number
|
|
547
|
+
minute(value: number): this
|
|
548
|
+
second(): number
|
|
549
|
+
second(value: number): this
|
|
550
|
+
millisecond(): number
|
|
551
|
+
millisecond(value: number): this
|
|
552
|
+
quarter(): number
|
|
553
|
+
quarter(value: number): this
|
|
554
|
+
week(): number
|
|
555
|
+
week(value: number): this
|
|
556
|
+
isoWeek(): number
|
|
557
|
+
isoWeek(value: number): this
|
|
558
|
+
dayOfYear(): number
|
|
559
|
+
dayOfYear(value: number): this
|
|
560
|
+
}
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
### MomentFactory
|
|
564
|
+
|
|
565
|
+
```ts
|
|
566
|
+
interface MomentFactory {
|
|
567
|
+
(input?: unknown, ...formatAndOptions: any[]): MomentLike
|
|
568
|
+
duration(input?: unknown, ...unit: any[]): Duration
|
|
569
|
+
locale(name?: string): string
|
|
570
|
+
isMoment(value: unknown): value is MomentLike
|
|
571
|
+
unix(seconds: number): MomentLike
|
|
572
|
+
utc(input?: unknown, ...formatAndOptions: any[]): MomentLike
|
|
573
|
+
max(...dates: (MomentLike | Dayjs | (MomentLike | Dayjs)[])[]): MomentLike
|
|
574
|
+
min(...dates: (MomentLike | Dayjs | (MomentLike | Dayjs)[])[]): MomentLike
|
|
575
|
+
}
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
## 源码兼容与其他入口
|
|
579
|
+
|
|
580
|
+
/src 路径保留给已有产品和源码级扩展,可能包含平台内部实现;新产品优先采用上方根导出与稳定子路径。通配符表示按实际文件名匹配,不代表所有源码都属于根入口。
|
|
581
|
+
|
|
582
|
+
| 公开路径模式 | 实际目标 |
|
|
583
|
+
| --- | --- |
|
|
584
|
+
| `@epxing/utils/src` | `./dist/src/legacy.js` |
|
|
585
|
+
| `@epxing/utils/src/*.css` | `./src/*.css` |
|
|
586
|
+
| `@epxing/utils/src/*.scss` | `./src/*.scss` |
|
|
587
|
+
| `@epxing/utils/src/*.png` | `./src/*.png` |
|
|
588
|
+
| `@epxing/utils/src/*.svg` | `./src/*.svg` |
|
|
589
|
+
| `@epxing/utils/src/*.jpg` | `./src/*.jpg` |
|
|
590
|
+
| `@epxing/utils/src/*.gif` | `./src/*.gif` |
|
|
591
|
+
| `@epxing/utils/src/*.woff` | `./src/*.woff` |
|
|
592
|
+
| `@epxing/utils/src/*.woff2` | `./src/*.woff2` |
|
|
593
|
+
| `@epxing/utils/src/*.ttf` | `./src/*.ttf` |
|
|
594
|
+
| `@epxing/utils/src/*.js` | `./dist/src/*.js` |
|
|
595
|
+
| `@epxing/utils/src/*.jsx` | `./dist/src/*.js` |
|
|
596
|
+
| `@epxing/utils/src/*.vue` | `./dist/src/*.js` |
|
|
597
|
+
| `@epxing/utils/src/*` | `./dist/src/*.js` |
|
|
598
|
+
| `@epxing/utils/package.json` | `./package.json` |
|
|
599
|
+
|
|
600
|
+
## 文档维护
|
|
601
|
+
|
|
602
|
+
本页由 build/gen-package-api-docs.mjs 生成。修改公开入口并更新构建产物和类型声明后,在框架根运行 `pnpm docs:api`;`pnpm docs:api:check` 检查清单、类型、包内文档与站点镜像是否同步,同时验证页面编译和文档链接。用途和示例维护在 build/package-api-notes.mjs,组件和源码方法的详细参考位于 docs/revision。
|
package/README.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @epxing/utils
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[完整公开 API、导入方式与示例](./API.md)
|
|
4
|
+
|
|
5
|
+
可独立安装的通用工具包。根入口不加载 Vue、core、store 或浏览器全局变量。
|
|
6
|
+
|
|
7
|
+
```js
|
|
8
|
+
import { Config, resolvePlaceholders, lookup, storage } from '@epxing/utils'
|
|
9
|
+
import ConfigDefault from '@epxing/utils/config'
|
|
10
|
+
import { resolvePlaceholders as resolve } from '@epxing/utils/placeholder'
|
|
11
|
+
|
|
12
|
+
const config = new Config()
|
|
13
|
+
config.set({ pageSize: 20 })
|
|
14
|
+
resolvePlaceholders('#{user.name}:#{count}', [{ user: { name: 'EPX' }, count: 0 }])
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
常用纯工具也可具名导入:`cloneDeep/isNil/isEmpty/isObject/isEqual/assignWith/debounce/throttle/get/set`,或 `lodash` 常用子集对象。`moment/dateTime/createMoment` 与 `/date-time` 默认导出为同一个 dayjs 兼容日期函数;`cookie` 是 `storage` 的别名。
|
|
18
|
+
|
|
19
|
+
稳定子路径:config、page、placeholder、storage、date、dom、date-time、collection。`/collection` 默认导出工具对象,并支持具名函数。浏览器存储工具在调用时访问浏览器;根入口可在 Node 中导入。类型声明随包发布,纯工具声明从实际 JS 生成。完整产品示例见 `docs/guide/getting-started/packages.md`。
|
|
20
|
+
|
|
21
|
+
原根入口的运行时服务迁移至 `@epxing/core`:util、axios、http、GlobalMixin、FieldFactory、Meta、PdfViewer。旧 `/src` barrel 和 `/src/*` 转发入口仍可使用,使用这些兼容入口时安装 core;core 是可选 peer,纯工具消费方不需要它。`mermaid` 也是可选 peer,仅使用对应浏览器工具时需要安装。
|
|
22
|
+
|
|
23
|
+
工作区构建:`pnpm --filter @epxing/utils build`。`pnpm pack/publish` 的 prepack 会重新构建 JS 和类型。此根入口调整包含主版本变更,发布前应用 Changesets。
|