@univer-cli/api-reference 1.0.0-beta.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -9
- package/README.zh-CN.md +16 -10
- package/dist/index.d.ts +21 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ English | [简体中文](./README.zh-CN.md)
|
|
|
4
4
|
|
|
5
5
|
Search and consult the Univer Facade API locally without launching Univer or accessing online documentation.
|
|
6
6
|
|
|
7
|
-
When
|
|
7
|
+
When no relevant class or API symbol is known, search the installed index using API-name keywords or identifier fragments. When a class or exact symbol is known, inspect structured details for classes, members, types, and enums. Query results are ordinary TypeScript data that a CLI, Agent, editor tool, or custom interface can process further.
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
@@ -24,23 +24,31 @@ import { createStandardApiReference } from "@univer-cli/api-reference";
|
|
|
24
24
|
const reference = createStandardApiReference();
|
|
25
25
|
|
|
26
26
|
const matches = reference.find({
|
|
27
|
-
terms: ["setValues", "
|
|
27
|
+
terms: ["setValues", "conditionalformat"],
|
|
28
28
|
unit: "sheet",
|
|
29
29
|
limit: 20,
|
|
30
30
|
});
|
|
31
31
|
|
|
32
|
-
const details = reference.show([
|
|
32
|
+
const details = reference.show([
|
|
33
|
+
"FRange",
|
|
34
|
+
"FRange.setValues",
|
|
35
|
+
"ConditionalFormatHighlightRuleBuilder.setRanges",
|
|
36
|
+
"ICellData.v",
|
|
37
|
+
]);
|
|
33
38
|
```
|
|
34
39
|
|
|
35
|
-
`find()` returns matches for each keyword and is useful for discovering
|
|
40
|
+
`find()` returns matches for each keyword and is useful for discovering API symbols. Pass a useful symbol returned by `find()` directly to `show()`. `show()` returns precise details for each symbol and is useful for generating instructions or validating input. Show results retain declaration headers, overloads, structured JSDoc, declaration-source relations, and directly referenced types so adapters can render a supported public declaration projection without reparsing `.d.ts` files.
|
|
36
41
|
|
|
37
42
|
## Query rules
|
|
38
43
|
|
|
39
|
-
-
|
|
44
|
+
- `find()` searches by API-name keyword or identifier fragment. It is case-insensitive and supports substrings, camelCase word splitting, and fuzzy identifier matching.
|
|
45
|
+
- Each search term is handled independently and returns its own matches. Terms are not combined as AND, and `find()` does not interpret intent.
|
|
40
46
|
- `unit` can restrict results to `sheet`, `slide`, `doc`, `base`, or `board`; shared APIs are always
|
|
41
47
|
included.
|
|
42
48
|
- `limit` works on each search term, not the sum of all results.
|
|
43
|
-
- Details include inheritance, composition, overloads, related
|
|
49
|
+
- Details include exact declarations, structured JSDoc, inheritance, composition, overloads, related
|
|
50
|
+
types, and spelling suggestions.
|
|
51
|
+
- Classes reached through public Facade signatures can be inspected even when they are chain-only return types rather than directly exported Facade roots.
|
|
44
52
|
- Common class names can use aliases, for example, `range` will be resolved to `FRange`.
|
|
45
53
|
- When the symbol does not exist, `status: "not-found"` is returned and no exception is thrown.
|
|
46
54
|
|
|
@@ -49,9 +57,9 @@ const details = reference.show(["FRange", "FRange.setValues", "ICellData.v"]);
|
|
|
49
57
|
If your application needs to pin a different API dataset, load a prebuilt artifact:
|
|
50
58
|
|
|
51
59
|
```ts
|
|
52
|
-
import {
|
|
60
|
+
import { loadApiReferenceArtifact } from "@univer-cli/api-reference";
|
|
53
61
|
|
|
54
|
-
const reference =
|
|
62
|
+
const reference = loadApiReferenceArtifact(artifact);
|
|
55
63
|
```
|
|
56
64
|
|
|
57
65
|
Artifact is a versioned opaque value. The package verifies the format when loading; callers should not rely on its internal index structure.
|
|
@@ -62,6 +70,6 @@ For the preset command, see
|
|
|
62
70
|
## API entry
|
|
63
71
|
|
|
64
72
|
- `createStandardApiReference()`: Create reference using built-in Univer declarations.
|
|
65
|
-
- `
|
|
73
|
+
- `loadApiReferenceArtifact(artifact)`: Verify and load pre-generated artifacts.
|
|
66
74
|
- `ApiReference.find()`: Discover APIs by keyword.
|
|
67
75
|
- `ApiReference.show()`: Inspect details by symbol.
|
package/README.zh-CN.md
CHANGED
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
在本地搜索和查阅 Univer Facade API,无需启动 Univer,也无需访问在线文档。
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
enum 的结构化详情。查询结果是普通 TypeScript 数据,适合交给 CLI、Agent、编辑器工具或自定义界面继续处理。
|
|
7
|
+
不知道相关 class 或 API symbol 时,可以用 API 名关键词或 identifier fragment 搜索已安装的索引;已知 class 或准确 symbol 时,可以查看 class、member、type 或 enum 的结构化详情。查询结果是普通 TypeScript 数据,适合交给 CLI、Agent、编辑器工具或自定义界面继续处理。
|
|
9
8
|
|
|
10
9
|
## 安装
|
|
11
10
|
|
|
@@ -25,22 +24,29 @@ import { createStandardApiReference } from "@univer-cli/api-reference";
|
|
|
25
24
|
const reference = createStandardApiReference();
|
|
26
25
|
|
|
27
26
|
const matches = reference.find({
|
|
28
|
-
terms: ["setValues", "
|
|
27
|
+
terms: ["setValues", "conditionalformat"],
|
|
29
28
|
unit: "sheet",
|
|
30
29
|
limit: 20,
|
|
31
30
|
});
|
|
32
31
|
|
|
33
|
-
const details = reference.show([
|
|
32
|
+
const details = reference.show([
|
|
33
|
+
"FRange",
|
|
34
|
+
"FRange.setValues",
|
|
35
|
+
"ConditionalFormatHighlightRuleBuilder.setRanges",
|
|
36
|
+
"ICellData.v",
|
|
37
|
+
]);
|
|
34
38
|
```
|
|
35
39
|
|
|
36
|
-
`find()` 按关键词分别返回候选项,适合发现 API
|
|
40
|
+
`find()` 按关键词分别返回候选项,适合发现 API symbol。将 `find()` 返回的有用 symbol 直接传给 `show()`;`show()` 按 symbol 返回精确详情,适合生成说明或校验输入。Show 结果会保留 declaration header、overload、结构化 JSDoc、声明来源关系和直接引用的 type,使 adapter 无需重新解析 `.d.ts` 就能渲染受支持的公开声明投影。
|
|
37
41
|
|
|
38
42
|
## 查询规则
|
|
39
43
|
|
|
40
|
-
-
|
|
44
|
+
- `find()` 按 API 名关键词或 identifier fragment 搜索,不区分大小写,支持 substring、camelCase 分词和 identifier 模糊匹配。
|
|
45
|
+
- 每个搜索词都独立处理并分别返回结果;多个搜索词不会按 AND 组合,`find()` 也不会解释意图。
|
|
41
46
|
- `unit` 可限定为 `sheet`、`slide`、`doc`、`base` 或 `board`,shared API 始终保留。
|
|
42
47
|
- `limit` 作用于每个搜索词,而不是所有结果的总和。
|
|
43
|
-
-
|
|
48
|
+
- 详情包含精确声明、结构化 JSDoc、继承、组合、overload、相关类型和拼写建议。
|
|
49
|
+
- 公开 Facade 签名可达的 class 即使只是链式返回类型、不是直接导出的 Facade root,也可以查询。
|
|
44
50
|
- 常用 class 名可使用别名,例如 `range` 会解析为 `FRange`。
|
|
45
51
|
- symbol 不存在时返回 `status: "not-found"`,不会抛出异常。
|
|
46
52
|
|
|
@@ -49,9 +55,9 @@ const details = reference.show(["FRange", "FRange.setValues", "ICellData.v"]);
|
|
|
49
55
|
如果 application 需要固定另一份 API 数据,可以加载预生成 artifact:
|
|
50
56
|
|
|
51
57
|
```ts
|
|
52
|
-
import {
|
|
58
|
+
import { loadApiReferenceArtifact } from "@univer-cli/api-reference";
|
|
53
59
|
|
|
54
|
-
const reference =
|
|
60
|
+
const reference = loadApiReferenceArtifact(artifact);
|
|
55
61
|
```
|
|
56
62
|
|
|
57
63
|
Artifact 是带版本的 opaque value。Package 会在加载时校验格式;调用方不应依赖其内部索引结构。
|
|
@@ -62,6 +68,6 @@ Artifact 是带版本的 opaque value。Package 会在加载时校验格式;
|
|
|
62
68
|
## API 入口
|
|
63
69
|
|
|
64
70
|
- `createStandardApiReference()`:使用内置 Univer declarations 创建 reference。
|
|
65
|
-
- `
|
|
71
|
+
- `loadApiReferenceArtifact(artifact)`:校验并加载预生成 artifact。
|
|
66
72
|
- `ApiReference.find()`:按关键词发现 API。
|
|
67
73
|
- `ApiReference.show()`:按 symbol 查看详情。
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,16 @@ type ApiReferenceUnit = (typeof API_REFERENCE_UNITS)[number];
|
|
|
4
4
|
type ApiReferenceMemberKind = "method" | "getter" | "property" | "function-property";
|
|
5
5
|
type ApiReferenceMemberRelation = "own" | "inherited" | "composed";
|
|
6
6
|
type ApiReferenceTypeKind = "interface" | "enum" | "alias";
|
|
7
|
+
interface ApiReferenceDocumentationTag {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly subject?: string;
|
|
10
|
+
readonly type?: string;
|
|
11
|
+
readonly text: string;
|
|
12
|
+
}
|
|
13
|
+
interface ApiReferenceDocumentation {
|
|
14
|
+
readonly description: string;
|
|
15
|
+
readonly tags: readonly ApiReferenceDocumentationTag[];
|
|
16
|
+
}
|
|
7
17
|
interface ApiReferenceMember {
|
|
8
18
|
readonly packageName: string;
|
|
9
19
|
readonly owner: string;
|
|
@@ -13,18 +23,23 @@ interface ApiReferenceMember {
|
|
|
13
23
|
readonly signature: string;
|
|
14
24
|
readonly summary: string;
|
|
15
25
|
readonly example: string;
|
|
26
|
+
readonly documentation?: ApiReferenceDocumentation;
|
|
16
27
|
}
|
|
17
28
|
interface ApiReferenceTypeMember {
|
|
18
29
|
readonly name: string;
|
|
19
30
|
readonly optional?: boolean;
|
|
20
31
|
readonly type: string;
|
|
32
|
+
readonly declaration?: string;
|
|
21
33
|
readonly summary?: string;
|
|
34
|
+
readonly documentation?: ApiReferenceDocumentation;
|
|
22
35
|
}
|
|
23
36
|
interface ApiReferenceType {
|
|
24
37
|
readonly kind: ApiReferenceTypeKind;
|
|
25
38
|
readonly packageName: string;
|
|
26
39
|
readonly name: string;
|
|
40
|
+
readonly declaration?: string;
|
|
27
41
|
readonly summary: string;
|
|
42
|
+
readonly documentation?: ApiReferenceDocumentation;
|
|
28
43
|
readonly members?: readonly ApiReferenceTypeMember[];
|
|
29
44
|
readonly values?: readonly {
|
|
30
45
|
readonly name: string;
|
|
@@ -33,6 +48,7 @@ interface ApiReferenceType {
|
|
|
33
48
|
readonly definition?: string;
|
|
34
49
|
readonly extends?: string;
|
|
35
50
|
readonly aliases?: readonly string[];
|
|
51
|
+
readonly signatures?: readonly string[];
|
|
36
52
|
}
|
|
37
53
|
interface FindApiReferencesInput {
|
|
38
54
|
readonly terms: readonly string[];
|
|
@@ -62,6 +78,10 @@ interface ApiReferenceClassResult {
|
|
|
62
78
|
readonly kind: "class";
|
|
63
79
|
readonly query: string;
|
|
64
80
|
readonly name: string;
|
|
81
|
+
readonly packageName: string;
|
|
82
|
+
readonly declarationKind: "class" | "alias";
|
|
83
|
+
readonly declaration: string;
|
|
84
|
+
readonly documentation?: ApiReferenceDocumentation;
|
|
65
85
|
readonly lineage: readonly string[];
|
|
66
86
|
readonly composes: readonly string[];
|
|
67
87
|
readonly groups: readonly ApiReferenceMemberGroup[];
|
|
@@ -118,4 +138,4 @@ declare class ApiReferenceArtifactError extends Error {
|
|
|
118
138
|
declare function loadApiReferenceArtifact(serialized: string): ApiReference;
|
|
119
139
|
declare function createStandardApiReference(): ApiReference;
|
|
120
140
|
//#endregion
|
|
121
|
-
export { API_REFERENCE_UNITS, ApiReference, ApiReferenceArtifactError, ApiReferenceClassResult, ApiReferenceFindMatch, ApiReferenceFindTermResult, ApiReferenceMember, ApiReferenceMemberGroup, ApiReferenceMemberKind, ApiReferenceMemberRelation, ApiReferenceMemberResult, ApiReferenceMemberResultEntry, ApiReferenceNotFoundResult, ApiReferenceShowResult, ApiReferenceType, ApiReferenceTypeKind, ApiReferenceTypeMember, ApiReferenceTypeMemberResult, ApiReferenceTypeResult, ApiReferenceUnit, FindApiReferencesInput, createStandardApiReference, loadApiReferenceArtifact };
|
|
141
|
+
export { API_REFERENCE_UNITS, ApiReference, ApiReferenceArtifactError, ApiReferenceClassResult, ApiReferenceDocumentation, ApiReferenceDocumentationTag, ApiReferenceFindMatch, ApiReferenceFindTermResult, ApiReferenceMember, ApiReferenceMemberGroup, ApiReferenceMemberKind, ApiReferenceMemberRelation, ApiReferenceMemberResult, ApiReferenceMemberResultEntry, ApiReferenceNotFoundResult, ApiReferenceShowResult, ApiReferenceType, ApiReferenceTypeKind, ApiReferenceTypeMember, ApiReferenceTypeMemberResult, ApiReferenceTypeResult, ApiReferenceUnit, FindApiReferencesInput, createStandardApiReference, loadApiReferenceArtifact };
|