weboffice-js-sdk-shared 2.0.1
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 +5 -0
- package/dist/APIAdaptor.d.ts +34 -0
- package/dist/APIAdaptor.js +2 -0
- package/dist/File.d.ts +74 -0
- package/dist/File.js +150 -0
- package/dist/event.d.ts +72 -0
- package/dist/event.js +53 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +20 -0
- package/dist/types.d.ts +363 -0
- package/dist/types.js +166 -0
- package/package.json +40 -0
package/README.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 发出 XHR 请求前,会调用这个函数对请求参数进行处理,并以最终结果发起请求。因为会被 toString() 后 eval(),因此需要确保函数体内无外部依赖。
|
|
3
|
+
*
|
|
4
|
+
* @param requestOptions - 请求参数
|
|
5
|
+
* @param context - 用于传递上下文信息的对象
|
|
6
|
+
*/
|
|
7
|
+
export type APIAdaptor = (requestOptions: RequestOptions, context?: RequestContext) => RequestOptions;
|
|
8
|
+
/**
|
|
9
|
+
* 请求参数
|
|
10
|
+
*/
|
|
11
|
+
export interface RequestOptions {
|
|
12
|
+
/**
|
|
13
|
+
* 目标 URL,不含 query string
|
|
14
|
+
*/
|
|
15
|
+
url: string;
|
|
16
|
+
method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
17
|
+
headers?: {
|
|
18
|
+
[K: string]: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* URL query string 参数
|
|
22
|
+
*/
|
|
23
|
+
query?: Record<string, string>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* APIAdaptor 上下文允许的数据类型
|
|
27
|
+
*/
|
|
28
|
+
export type RequestContextType = boolean | number | string;
|
|
29
|
+
/**
|
|
30
|
+
* APIAdaptor 上下文信息的对象,需确保可以通过 JSON.stringify() 序列化。
|
|
31
|
+
*/
|
|
32
|
+
export interface RequestContext {
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
}
|
package/dist/File.d.ts
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export type FileId = string;
|
|
2
|
+
/**
|
|
3
|
+
* 石墨文档类型
|
|
4
|
+
*/
|
|
5
|
+
export declare enum FileType {
|
|
6
|
+
/**
|
|
7
|
+
* 传统文档
|
|
8
|
+
*/
|
|
9
|
+
DocumentPro = "documentPro",
|
|
10
|
+
/**
|
|
11
|
+
* 轻文档
|
|
12
|
+
*/
|
|
13
|
+
Document = "document",
|
|
14
|
+
/**
|
|
15
|
+
* 表格
|
|
16
|
+
*/
|
|
17
|
+
Spreadsheet = "spreadsheet",
|
|
18
|
+
/**
|
|
19
|
+
* 专业幻灯片
|
|
20
|
+
*/
|
|
21
|
+
Presentation = "presentation",
|
|
22
|
+
/**
|
|
23
|
+
* 应用表格
|
|
24
|
+
*/
|
|
25
|
+
Table = "table",
|
|
26
|
+
/**
|
|
27
|
+
* 表单
|
|
28
|
+
*/
|
|
29
|
+
Form = "form",
|
|
30
|
+
/**
|
|
31
|
+
* 流程图
|
|
32
|
+
*/
|
|
33
|
+
Flowchart = "flowchart",
|
|
34
|
+
/**
|
|
35
|
+
* 思维导图
|
|
36
|
+
*/
|
|
37
|
+
Mindmap = "mindmap",
|
|
38
|
+
/**
|
|
39
|
+
* 白板
|
|
40
|
+
*/
|
|
41
|
+
Board = "board",
|
|
42
|
+
/**
|
|
43
|
+
* 未知类型
|
|
44
|
+
*/
|
|
45
|
+
Unknown = "unknown"
|
|
46
|
+
}
|
|
47
|
+
export declare const FileTypeAlias: {
|
|
48
|
+
document: string;
|
|
49
|
+
documentPro: string;
|
|
50
|
+
spreadsheet: string;
|
|
51
|
+
presentation: string;
|
|
52
|
+
table: string;
|
|
53
|
+
form: string;
|
|
54
|
+
mindmap: string;
|
|
55
|
+
board: string;
|
|
56
|
+
flowchart: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* 对应石墨类型的文件信息
|
|
60
|
+
*/
|
|
61
|
+
export interface FileInfo {
|
|
62
|
+
/**
|
|
63
|
+
* 文件 ID,非石墨内部的 ID / GUID
|
|
64
|
+
*/
|
|
65
|
+
fileId: FileId;
|
|
66
|
+
/**
|
|
67
|
+
* 文件对应石墨类型
|
|
68
|
+
*/
|
|
69
|
+
type: 'docs' | 'docx' | 'sheets' | 'presentation' | 'table';
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 根据传入值转换为 FileType 枚举值
|
|
73
|
+
*/
|
|
74
|
+
export declare function convertFileType(value: string | number): FileType;
|
package/dist/File.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
|
17
|
+
try {
|
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
19
|
+
}
|
|
20
|
+
catch (error) { e = { error: error }; }
|
|
21
|
+
finally {
|
|
22
|
+
try {
|
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
24
|
+
}
|
|
25
|
+
finally { if (e) throw e.error; }
|
|
26
|
+
}
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
var _a;
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.convertFileType = exports.FileTypeAlias = exports.FileType = void 0;
|
|
32
|
+
/**
|
|
33
|
+
* 石墨文档类型
|
|
34
|
+
*/
|
|
35
|
+
var FileType;
|
|
36
|
+
(function (FileType) {
|
|
37
|
+
/**
|
|
38
|
+
* 传统文档
|
|
39
|
+
*/
|
|
40
|
+
FileType["DocumentPro"] = "documentPro";
|
|
41
|
+
/**
|
|
42
|
+
* 轻文档
|
|
43
|
+
*/
|
|
44
|
+
FileType["Document"] = "document";
|
|
45
|
+
/**
|
|
46
|
+
* 表格
|
|
47
|
+
*/
|
|
48
|
+
FileType["Spreadsheet"] = "spreadsheet";
|
|
49
|
+
/**
|
|
50
|
+
* 专业幻灯片
|
|
51
|
+
*/
|
|
52
|
+
FileType["Presentation"] = "presentation";
|
|
53
|
+
/**
|
|
54
|
+
* 应用表格
|
|
55
|
+
*/
|
|
56
|
+
FileType["Table"] = "table";
|
|
57
|
+
/**
|
|
58
|
+
* 表单
|
|
59
|
+
*/
|
|
60
|
+
FileType["Form"] = "form";
|
|
61
|
+
/**
|
|
62
|
+
* 流程图
|
|
63
|
+
*/
|
|
64
|
+
FileType["Flowchart"] = "flowchart";
|
|
65
|
+
/**
|
|
66
|
+
* 思维导图
|
|
67
|
+
*/
|
|
68
|
+
FileType["Mindmap"] = "mindmap";
|
|
69
|
+
/**
|
|
70
|
+
* 白板
|
|
71
|
+
*/
|
|
72
|
+
FileType["Board"] = "board";
|
|
73
|
+
/**
|
|
74
|
+
* 未知类型
|
|
75
|
+
*/
|
|
76
|
+
FileType["Unknown"] = "unknown";
|
|
77
|
+
})(FileType = exports.FileType || (exports.FileType = {}));
|
|
78
|
+
exports.FileTypeAlias = (_a = {},
|
|
79
|
+
_a[FileType.Document] = 'docs',
|
|
80
|
+
_a[FileType.DocumentPro] = 'docx',
|
|
81
|
+
_a[FileType.Spreadsheet] = 'sheets',
|
|
82
|
+
_a[FileType.Presentation] = 'presentation',
|
|
83
|
+
_a[FileType.Table] = 'table',
|
|
84
|
+
_a[FileType.Form] = 'form',
|
|
85
|
+
_a[FileType.Mindmap] = 'mindmap',
|
|
86
|
+
_a[FileType.Board] = 'board',
|
|
87
|
+
_a[FileType.Flowchart] = 'flowchart',
|
|
88
|
+
_a);
|
|
89
|
+
/**
|
|
90
|
+
* 根据传入值转换为 FileType 枚举值
|
|
91
|
+
*/
|
|
92
|
+
function convertFileType(value) {
|
|
93
|
+
var e_1, _a, e_2, _b;
|
|
94
|
+
if (typeof value === 'string') {
|
|
95
|
+
try {
|
|
96
|
+
for (var _c = __values(Object.entries(FileType)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
97
|
+
var _e = __read(_d.value, 2), k = _e[0], v = _e[1];
|
|
98
|
+
if (k === value || v === value) {
|
|
99
|
+
return v;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
104
|
+
finally {
|
|
105
|
+
try {
|
|
106
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
107
|
+
}
|
|
108
|
+
finally { if (e_1) throw e_1.error; }
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
for (var _f = __values(Object.entries(exports.FileTypeAlias)), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
112
|
+
var _h = __read(_g.value, 2), k = _h[0], v = _h[1];
|
|
113
|
+
if (v === value) {
|
|
114
|
+
return k;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
119
|
+
finally {
|
|
120
|
+
try {
|
|
121
|
+
if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
|
|
122
|
+
}
|
|
123
|
+
finally { if (e_2) throw e_2.error; }
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
switch (value) {
|
|
128
|
+
case -2:
|
|
129
|
+
return FileType.Document;
|
|
130
|
+
case -4:
|
|
131
|
+
return FileType.Spreadsheet;
|
|
132
|
+
case -6:
|
|
133
|
+
return FileType.DocumentPro;
|
|
134
|
+
case -7:
|
|
135
|
+
return FileType.Mindmap;
|
|
136
|
+
case -8:
|
|
137
|
+
return FileType.Form;
|
|
138
|
+
case -9:
|
|
139
|
+
return FileType.Board;
|
|
140
|
+
case -10:
|
|
141
|
+
return FileType.Presentation;
|
|
142
|
+
case -11:
|
|
143
|
+
return FileType.Table;
|
|
144
|
+
case -13:
|
|
145
|
+
return FileType.Flowchart;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return FileType.Unknown;
|
|
149
|
+
}
|
|
150
|
+
exports.convertFileType = convertFileType;
|
package/dist/event.d.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { FileType } from './File';
|
|
2
|
+
import { ContainerRect } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* SDK 相关的事件,和编辑器无关
|
|
5
|
+
*/
|
|
6
|
+
export declare const SDKEvent: Readonly<{
|
|
7
|
+
/**
|
|
8
|
+
* 一般指 container viewport 发生变化时触发,比如窗口大小变化。会优先使用 window.visualViewport resize 事件,不可用时使用 window.resize 事件。
|
|
9
|
+
*/
|
|
10
|
+
ViewportResize: "ViewportResize";
|
|
11
|
+
/**
|
|
12
|
+
* SDK 和编辑器初始化状态
|
|
13
|
+
*/
|
|
14
|
+
ReadyState: "ReadyState";
|
|
15
|
+
}>;
|
|
16
|
+
export interface SDKEventMap {
|
|
17
|
+
[SDKEvent.ViewportResize]: ContainerRect;
|
|
18
|
+
[SDKEvent.ReadyState]: ReadyStateEventPayload;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 用于 postMessage 通信的 SDKEvent 消息体
|
|
22
|
+
*/
|
|
23
|
+
export interface SDKEventMessage {
|
|
24
|
+
event: keyof SDKEventMap;
|
|
25
|
+
payload: unknown;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 判断是否是 SDKEvent 事件消息
|
|
29
|
+
*/
|
|
30
|
+
export declare function isSDKEventMessage(input: unknown): input is SDKEventMessage;
|
|
31
|
+
/**
|
|
32
|
+
* SDK 和编辑器初始化状态
|
|
33
|
+
*/
|
|
34
|
+
export declare enum ReadyState {
|
|
35
|
+
/**
|
|
36
|
+
* 正在初始化 SDK
|
|
37
|
+
*/
|
|
38
|
+
Loading = "loading",
|
|
39
|
+
/**
|
|
40
|
+
* 正在初始化编辑器
|
|
41
|
+
*/
|
|
42
|
+
LoadingEditor = "loadingEditor",
|
|
43
|
+
/**
|
|
44
|
+
* SDK 和编辑器初始化完成,因编辑器含异步组件,因此仅代表可以和编辑器交互,不代表编辑器完成全部加载。
|
|
45
|
+
*/
|
|
46
|
+
Ready = "ready",
|
|
47
|
+
/**
|
|
48
|
+
* 初始化失败
|
|
49
|
+
*/
|
|
50
|
+
Failed = "failed",
|
|
51
|
+
/**
|
|
52
|
+
* 已经被销毁
|
|
53
|
+
*/
|
|
54
|
+
Disconnected = "disconnected"
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* ReadyState 事件变化数据
|
|
58
|
+
*/
|
|
59
|
+
export interface ReadyStateEventPayload {
|
|
60
|
+
/**
|
|
61
|
+
* 当前 ReadyState
|
|
62
|
+
*/
|
|
63
|
+
state: ReadyState;
|
|
64
|
+
/**
|
|
65
|
+
* 对应的文件类型
|
|
66
|
+
*/
|
|
67
|
+
fileType: FileType;
|
|
68
|
+
/**
|
|
69
|
+
* 错误信息
|
|
70
|
+
*/
|
|
71
|
+
error?: Error;
|
|
72
|
+
}
|
package/dist/event.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReadyState = exports.isSDKEventMessage = exports.SDKEvent = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* SDK 相关的事件,和编辑器无关
|
|
6
|
+
*/
|
|
7
|
+
exports.SDKEvent = Object.freeze({
|
|
8
|
+
/**
|
|
9
|
+
* 一般指 container viewport 发生变化时触发,比如窗口大小变化。会优先使用 window.visualViewport resize 事件,不可用时使用 window.resize 事件。
|
|
10
|
+
*/
|
|
11
|
+
ViewportResize: 'ViewportResize',
|
|
12
|
+
/**
|
|
13
|
+
* SDK 和编辑器初始化状态
|
|
14
|
+
*/
|
|
15
|
+
ReadyState: 'ReadyState',
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* 判断是否是 SDKEvent 事件消息
|
|
19
|
+
*/
|
|
20
|
+
function isSDKEventMessage(input) {
|
|
21
|
+
var event;
|
|
22
|
+
if (input != null) {
|
|
23
|
+
event = input.event;
|
|
24
|
+
}
|
|
25
|
+
return typeof event === 'string' && event in exports.SDKEvent;
|
|
26
|
+
}
|
|
27
|
+
exports.isSDKEventMessage = isSDKEventMessage;
|
|
28
|
+
/**
|
|
29
|
+
* SDK 和编辑器初始化状态
|
|
30
|
+
*/
|
|
31
|
+
var ReadyState;
|
|
32
|
+
(function (ReadyState) {
|
|
33
|
+
/**
|
|
34
|
+
* 正在初始化 SDK
|
|
35
|
+
*/
|
|
36
|
+
ReadyState["Loading"] = "loading";
|
|
37
|
+
/**
|
|
38
|
+
* 正在初始化编辑器
|
|
39
|
+
*/
|
|
40
|
+
ReadyState["LoadingEditor"] = "loadingEditor";
|
|
41
|
+
/**
|
|
42
|
+
* SDK 和编辑器初始化完成,因编辑器含异步组件,因此仅代表可以和编辑器交互,不代表编辑器完成全部加载。
|
|
43
|
+
*/
|
|
44
|
+
ReadyState["Ready"] = "ready";
|
|
45
|
+
/**
|
|
46
|
+
* 初始化失败
|
|
47
|
+
*/
|
|
48
|
+
ReadyState["Failed"] = "failed";
|
|
49
|
+
/**
|
|
50
|
+
* 已经被销毁
|
|
51
|
+
*/
|
|
52
|
+
ReadyState["Disconnected"] = "disconnected";
|
|
53
|
+
})(ReadyState = exports.ReadyState || (exports.ReadyState = {}));
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./APIAdaptor"), exports);
|
|
19
|
+
__exportStar(require("./File"), exports);
|
|
20
|
+
__exportStar(require("./event"), exports);
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
import { FileId } from './File';
|
|
2
|
+
export type UserId = string;
|
|
3
|
+
/**
|
|
4
|
+
* JS SDK 之间通信用的方法。一般用在 WebofficeBroadcastChannel.invoke() 中。
|
|
5
|
+
*/
|
|
6
|
+
export declare enum InvokeMethod {
|
|
7
|
+
/**
|
|
8
|
+
* SDK 初始化,用于获取配置信息
|
|
9
|
+
*/
|
|
10
|
+
SDKInit = "SDKInit",
|
|
11
|
+
/**
|
|
12
|
+
* 用于 error 处理
|
|
13
|
+
*/
|
|
14
|
+
Error = "error",
|
|
15
|
+
/**
|
|
16
|
+
* 用于处理 ReadyState 变化
|
|
17
|
+
*/
|
|
18
|
+
ReadyState = "readyState",
|
|
19
|
+
/**
|
|
20
|
+
* 用于更新鉴权信息
|
|
21
|
+
*/
|
|
22
|
+
SetCredentials = "setCredentials",
|
|
23
|
+
/**
|
|
24
|
+
* 调用容器方法
|
|
25
|
+
*/
|
|
26
|
+
InvokeContainerMethod = "invokeContainerMethod",
|
|
27
|
+
/**
|
|
28
|
+
* 请求调用编辑器方法,并将结果返回
|
|
29
|
+
*/
|
|
30
|
+
InvokeEditorMethod = "invokeEditorMethod",
|
|
31
|
+
/**
|
|
32
|
+
* 派发 SDK 自身相关的事件
|
|
33
|
+
*/
|
|
34
|
+
DispatchSDKEvent = "dispatchSDKEvent",
|
|
35
|
+
/**
|
|
36
|
+
* 派发编辑器相关的事件
|
|
37
|
+
*/
|
|
38
|
+
DispatchEditorEvent = "dispatchEditorEvent",
|
|
39
|
+
/**
|
|
40
|
+
* 监听编辑器相关的事件
|
|
41
|
+
*/
|
|
42
|
+
ListenEditorEvent = "listenEditorEvent",
|
|
43
|
+
/**
|
|
44
|
+
* 请求性能信息列表
|
|
45
|
+
*/
|
|
46
|
+
RequestPerformanceEntries = "requestPerformanceEntries"
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* 是否禁用提及的浮动卡片组件
|
|
50
|
+
*/
|
|
51
|
+
export interface DisableMentionCards {
|
|
52
|
+
/**
|
|
53
|
+
* 是否禁用提及人的浮动卡片组件
|
|
54
|
+
*/
|
|
55
|
+
user?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* 是否禁用提及文件的浮动卡片组件
|
|
58
|
+
*/
|
|
59
|
+
file?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* 是否禁用提及日期的浮动卡片组件
|
|
62
|
+
*/
|
|
63
|
+
date?: boolean;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* 容器的尺寸信息
|
|
67
|
+
*/
|
|
68
|
+
export interface ContainerRect {
|
|
69
|
+
/**
|
|
70
|
+
* 容器所在 viewport 的宽度
|
|
71
|
+
*/
|
|
72
|
+
viewportWidth: number;
|
|
73
|
+
/**
|
|
74
|
+
* 容器所在 viewport 的高度
|
|
75
|
+
*/
|
|
76
|
+
viewportHeight: number;
|
|
77
|
+
/**
|
|
78
|
+
* 容器在 viewport 的 top
|
|
79
|
+
*/
|
|
80
|
+
top: number;
|
|
81
|
+
/**
|
|
82
|
+
* 容器在 viewport 的 left
|
|
83
|
+
*/
|
|
84
|
+
left: number;
|
|
85
|
+
/**
|
|
86
|
+
* 容器在 viewport 的 bottom
|
|
87
|
+
*/
|
|
88
|
+
bottom: number;
|
|
89
|
+
/**
|
|
90
|
+
* 容器在 viewport 的 right
|
|
91
|
+
*/
|
|
92
|
+
right: number;
|
|
93
|
+
/**
|
|
94
|
+
* 容器在 viewport 的 scrollTop
|
|
95
|
+
*/
|
|
96
|
+
scrollTop?: number;
|
|
97
|
+
/**
|
|
98
|
+
* window.visualViewport 的值
|
|
99
|
+
*/
|
|
100
|
+
visualViewport?: {
|
|
101
|
+
width?: number;
|
|
102
|
+
height?: number;
|
|
103
|
+
offsetLeft?: number;
|
|
104
|
+
offsetTop?: number;
|
|
105
|
+
pageLeft?: number;
|
|
106
|
+
pageTop?: number;
|
|
107
|
+
scale?: number;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* 容器能提供的方法
|
|
112
|
+
*/
|
|
113
|
+
export declare enum ContainerMethod {
|
|
114
|
+
/**
|
|
115
|
+
* 获取容器的尺寸信息
|
|
116
|
+
*/
|
|
117
|
+
GetContainerRect = "getContainerRect",
|
|
118
|
+
/**
|
|
119
|
+
* 请求容器打开链接
|
|
120
|
+
*/
|
|
121
|
+
OpenLink = "openLink",
|
|
122
|
+
/**
|
|
123
|
+
* 请求容器生成 URL
|
|
124
|
+
*/
|
|
125
|
+
GenerateUrl = "generateUrl",
|
|
126
|
+
/**
|
|
127
|
+
* 请求容器打开处理移动端点击事件
|
|
128
|
+
*/
|
|
129
|
+
MentionClickHandlerForMobile = "mentionClickHandlerForMobile",
|
|
130
|
+
/**
|
|
131
|
+
* 请求容器解析 URL,并返回 FileInfo
|
|
132
|
+
*/
|
|
133
|
+
GetFileInfoFromUrl = "getFileInfoFromUrl",
|
|
134
|
+
/**
|
|
135
|
+
* 请求容器显示签名组件,受套件和版本限制
|
|
136
|
+
*/
|
|
137
|
+
ShowSignatureComponent = "showSignatureComponent",
|
|
138
|
+
/**
|
|
139
|
+
* 请求容器显示toast,受套件和版本限制
|
|
140
|
+
*/
|
|
141
|
+
ShowToast = "showToast",
|
|
142
|
+
/**
|
|
143
|
+
* 通知用户执行自定义操作,操作由用户自定义按钮触发
|
|
144
|
+
*/
|
|
145
|
+
HandleCustomTask = "handleCustomTask",
|
|
146
|
+
/**
|
|
147
|
+
* 请求容器获取鉴权信息
|
|
148
|
+
*/
|
|
149
|
+
GetCredentials = "getCredentials"
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* 用户 hover 在 at 上时,at 在该行信息
|
|
153
|
+
*/
|
|
154
|
+
export interface LineInfo {
|
|
155
|
+
/**
|
|
156
|
+
* @ 在该行的顶点 x 坐标
|
|
157
|
+
*/
|
|
158
|
+
left: number;
|
|
159
|
+
/**
|
|
160
|
+
* @ 在该行的顶点 y 坐标
|
|
161
|
+
*/
|
|
162
|
+
top: number;
|
|
163
|
+
/**
|
|
164
|
+
* @ 在该行的宽度
|
|
165
|
+
*/
|
|
166
|
+
width: number;
|
|
167
|
+
/**
|
|
168
|
+
* @ 在该行的高度
|
|
169
|
+
*/
|
|
170
|
+
height: number;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* 用户 hover 在 at 上时,at 涉及的 user ID 或 file ID 信息
|
|
174
|
+
*/
|
|
175
|
+
export interface MentionInfo extends LineInfo {
|
|
176
|
+
/**
|
|
177
|
+
* 用户 ID
|
|
178
|
+
*/
|
|
179
|
+
userId?: UserId;
|
|
180
|
+
/**
|
|
181
|
+
* 文件 ID
|
|
182
|
+
*/
|
|
183
|
+
fileId?: FileId;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* 鼠标事件相关的信息
|
|
187
|
+
*/
|
|
188
|
+
export interface MouseMovePayload {
|
|
189
|
+
x: number;
|
|
190
|
+
y: number;
|
|
191
|
+
/**
|
|
192
|
+
* 光标所在位置是否是一个 @ 元素
|
|
193
|
+
*/
|
|
194
|
+
isMention: boolean;
|
|
195
|
+
mentionInfo: MentionInfo;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* 性能信息
|
|
199
|
+
*/
|
|
200
|
+
export interface PerformanceEntry {
|
|
201
|
+
/**
|
|
202
|
+
* 性能信息片段的标记,如 "sdk_initialized"、"editor_render_end"
|
|
203
|
+
*/
|
|
204
|
+
mark: string;
|
|
205
|
+
/**
|
|
206
|
+
* 性能信息片段的标记时间,以毫秒为单位
|
|
207
|
+
*/
|
|
208
|
+
timestamp: number;
|
|
209
|
+
/**
|
|
210
|
+
* Performance 开始记录时间的节点,用于静态资源加载时间计算等用途
|
|
211
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/Performance/timeOrigin
|
|
212
|
+
*/
|
|
213
|
+
timeOrigin?: number;
|
|
214
|
+
/**
|
|
215
|
+
* 原始 PerformanceResourceTiming.toJSON()
|
|
216
|
+
*/
|
|
217
|
+
resourceTiming?: Record<string, unknown>;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* 使用什么设备类型模式,会直接影响功能和样式,不传值或空字符串则默认用 user-agent 自动判断。受版本限制,不是所有类型都支持。
|
|
221
|
+
* - pc - 桌面模式
|
|
222
|
+
* - mobile - 移动模式
|
|
223
|
+
* - pad - 平板模式
|
|
224
|
+
*/
|
|
225
|
+
export type DeviceMode = 'pc' | 'mobile' | 'pad';
|
|
226
|
+
export type GenerateUrlHandler = (
|
|
227
|
+
/**
|
|
228
|
+
* 该 URL 对应的 file ID,用于生成用户可访问的 URL,比如 https://domain/files/<fileId>
|
|
229
|
+
*/
|
|
230
|
+
fileId: string,
|
|
231
|
+
/**
|
|
232
|
+
* 用于生成 URL 的额外信息
|
|
233
|
+
*/
|
|
234
|
+
info?: GenerateUrlInfo,
|
|
235
|
+
/**
|
|
236
|
+
* 传递 smParams
|
|
237
|
+
*/
|
|
238
|
+
smParams?: Record<string, any>) => string | Promise<string>;
|
|
239
|
+
/**
|
|
240
|
+
* 用于生成 URL 的额外信息
|
|
241
|
+
*/
|
|
242
|
+
export type GenerateUrlInfo = {
|
|
243
|
+
/**
|
|
244
|
+
* 石墨返回的默认的分享 URL 文本,可以拼接到 URL 后,比如 「https://domain/files/1 xxx 分享文件 yyy,复制到浏览器打开」
|
|
245
|
+
*/
|
|
246
|
+
sharingText?: string;
|
|
247
|
+
} & SharingSource<UrlSharingType>;
|
|
248
|
+
export type SharingSource<T extends UrlSharingType> = T extends UrlSharingType.Spreadsheet ? {
|
|
249
|
+
/**
|
|
250
|
+
* 分享 URL 的类型
|
|
251
|
+
*/
|
|
252
|
+
sharingType?: T;
|
|
253
|
+
/**
|
|
254
|
+
* 分享 URL 的场景/来源
|
|
255
|
+
*/
|
|
256
|
+
sharingFrom?: SpreadsheetSharingFrom;
|
|
257
|
+
} : {
|
|
258
|
+
/**
|
|
259
|
+
* 分享 URL 的类型
|
|
260
|
+
*/
|
|
261
|
+
sharingType?: T;
|
|
262
|
+
};
|
|
263
|
+
export declare enum SpreadsheetSharingFrom {
|
|
264
|
+
/**
|
|
265
|
+
* 获取选区链接
|
|
266
|
+
*/
|
|
267
|
+
copyRangeLink = "copyRangeLink",
|
|
268
|
+
/**
|
|
269
|
+
* 复制独立视图链接
|
|
270
|
+
*/
|
|
271
|
+
copyViewportLink = "copyViewportLink",
|
|
272
|
+
/**
|
|
273
|
+
* 复制链接到工作表的内链接
|
|
274
|
+
*/
|
|
275
|
+
copySheetLink = "copySheetLink",
|
|
276
|
+
/**
|
|
277
|
+
* 跨表格引用
|
|
278
|
+
*/
|
|
279
|
+
importRange = "importRange",
|
|
280
|
+
/**
|
|
281
|
+
* 预览被跨表引用或合并工作表引用的表格
|
|
282
|
+
*/
|
|
283
|
+
preview = "preview"
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* 分享链接的类型,用于在 generateUrl 中返回不同的 URL。
|
|
287
|
+
* 比如 return sharingType === UrlSharingType.FormFill ? '/form/1/fill' : '/form/1'。
|
|
288
|
+
* '/form/1/fill' 为对外匿名可访问填写表单的链接,'/form/1' 为对内编辑表单元素、需鉴权的链接。
|
|
289
|
+
*/
|
|
290
|
+
export declare enum UrlSharingType {
|
|
291
|
+
/**
|
|
292
|
+
* 代表分享的是轻文档链接
|
|
293
|
+
*/
|
|
294
|
+
Doc = "doc",
|
|
295
|
+
/**
|
|
296
|
+
* 代表分享的是传统文档链接
|
|
297
|
+
*/
|
|
298
|
+
Docx = "docx",
|
|
299
|
+
/**
|
|
300
|
+
* 代表分享的是表格链接
|
|
301
|
+
*/
|
|
302
|
+
Spreadsheet = "sheet",
|
|
303
|
+
/**
|
|
304
|
+
* 代表分享的是表单编辑器链接
|
|
305
|
+
*/
|
|
306
|
+
Form = "form",
|
|
307
|
+
/**
|
|
308
|
+
* 代表分享的是表单预览链接
|
|
309
|
+
*/
|
|
310
|
+
FormPreview = "formPreview",
|
|
311
|
+
/**
|
|
312
|
+
* 代表分享的是表单填写链接
|
|
313
|
+
*/
|
|
314
|
+
FormFill = "formFill",
|
|
315
|
+
/**
|
|
316
|
+
* 代表分享的是幻灯片链接
|
|
317
|
+
*/
|
|
318
|
+
Presentation = "presentation",
|
|
319
|
+
/**
|
|
320
|
+
* 代表分享的是应用表格链接
|
|
321
|
+
*/
|
|
322
|
+
Table = "table",
|
|
323
|
+
/**
|
|
324
|
+
* 代表分享的是流程图链接
|
|
325
|
+
*/
|
|
326
|
+
Flowchart = "flowchart",
|
|
327
|
+
/**
|
|
328
|
+
* 代表分享的是思维导图链接
|
|
329
|
+
*/
|
|
330
|
+
Mindmap = "mindmap",
|
|
331
|
+
/**
|
|
332
|
+
* 代表分享的是白板链接
|
|
333
|
+
*/
|
|
334
|
+
Board = "board"
|
|
335
|
+
}
|
|
336
|
+
export interface ShowToastOptions {
|
|
337
|
+
/**
|
|
338
|
+
* toast标题
|
|
339
|
+
*/
|
|
340
|
+
title: string;
|
|
341
|
+
/**
|
|
342
|
+
* toast类型, 默认为info
|
|
343
|
+
*/
|
|
344
|
+
type?: 'success' | 'error' | 'warn' | 'info';
|
|
345
|
+
/**
|
|
346
|
+
* 显示时长,默认3s
|
|
347
|
+
*/
|
|
348
|
+
duration?: number;
|
|
349
|
+
/**
|
|
350
|
+
* 是否自动隐藏,默认true
|
|
351
|
+
*/
|
|
352
|
+
autoHide?: boolean;
|
|
353
|
+
}
|
|
354
|
+
export interface Credentials {
|
|
355
|
+
/**
|
|
356
|
+
* 鉴权 token
|
|
357
|
+
*/
|
|
358
|
+
token: string;
|
|
359
|
+
/**
|
|
360
|
+
* 鉴权 signature
|
|
361
|
+
*/
|
|
362
|
+
signature: string;
|
|
363
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UrlSharingType = exports.SpreadsheetSharingFrom = exports.ContainerMethod = exports.InvokeMethod = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* JS SDK 之间通信用的方法。一般用在 WebofficeBroadcastChannel.invoke() 中。
|
|
6
|
+
*/
|
|
7
|
+
var InvokeMethod;
|
|
8
|
+
(function (InvokeMethod) {
|
|
9
|
+
/**
|
|
10
|
+
* SDK 初始化,用于获取配置信息
|
|
11
|
+
*/
|
|
12
|
+
InvokeMethod["SDKInit"] = "SDKInit";
|
|
13
|
+
/**
|
|
14
|
+
* 用于 error 处理
|
|
15
|
+
*/
|
|
16
|
+
InvokeMethod["Error"] = "error";
|
|
17
|
+
/**
|
|
18
|
+
* 用于处理 ReadyState 变化
|
|
19
|
+
*/
|
|
20
|
+
InvokeMethod["ReadyState"] = "readyState";
|
|
21
|
+
/**
|
|
22
|
+
* 用于更新鉴权信息
|
|
23
|
+
*/
|
|
24
|
+
InvokeMethod["SetCredentials"] = "setCredentials";
|
|
25
|
+
/**
|
|
26
|
+
* 调用容器方法
|
|
27
|
+
*/
|
|
28
|
+
InvokeMethod["InvokeContainerMethod"] = "invokeContainerMethod";
|
|
29
|
+
/**
|
|
30
|
+
* 请求调用编辑器方法,并将结果返回
|
|
31
|
+
*/
|
|
32
|
+
InvokeMethod["InvokeEditorMethod"] = "invokeEditorMethod";
|
|
33
|
+
/**
|
|
34
|
+
* 派发 SDK 自身相关的事件
|
|
35
|
+
*/
|
|
36
|
+
InvokeMethod["DispatchSDKEvent"] = "dispatchSDKEvent";
|
|
37
|
+
/**
|
|
38
|
+
* 派发编辑器相关的事件
|
|
39
|
+
*/
|
|
40
|
+
InvokeMethod["DispatchEditorEvent"] = "dispatchEditorEvent";
|
|
41
|
+
/**
|
|
42
|
+
* 监听编辑器相关的事件
|
|
43
|
+
*/
|
|
44
|
+
InvokeMethod["ListenEditorEvent"] = "listenEditorEvent";
|
|
45
|
+
/**
|
|
46
|
+
* 请求性能信息列表
|
|
47
|
+
*/
|
|
48
|
+
InvokeMethod["RequestPerformanceEntries"] = "requestPerformanceEntries";
|
|
49
|
+
})(InvokeMethod = exports.InvokeMethod || (exports.InvokeMethod = {}));
|
|
50
|
+
/**
|
|
51
|
+
* 容器能提供的方法
|
|
52
|
+
*/
|
|
53
|
+
var ContainerMethod;
|
|
54
|
+
(function (ContainerMethod) {
|
|
55
|
+
/**
|
|
56
|
+
* 获取容器的尺寸信息
|
|
57
|
+
*/
|
|
58
|
+
ContainerMethod["GetContainerRect"] = "getContainerRect";
|
|
59
|
+
/**
|
|
60
|
+
* 请求容器打开链接
|
|
61
|
+
*/
|
|
62
|
+
ContainerMethod["OpenLink"] = "openLink";
|
|
63
|
+
/**
|
|
64
|
+
* 请求容器生成 URL
|
|
65
|
+
*/
|
|
66
|
+
ContainerMethod["GenerateUrl"] = "generateUrl";
|
|
67
|
+
/**
|
|
68
|
+
* 请求容器打开处理移动端点击事件
|
|
69
|
+
*/
|
|
70
|
+
ContainerMethod["MentionClickHandlerForMobile"] = "mentionClickHandlerForMobile";
|
|
71
|
+
/**
|
|
72
|
+
* 请求容器解析 URL,并返回 FileInfo
|
|
73
|
+
*/
|
|
74
|
+
ContainerMethod["GetFileInfoFromUrl"] = "getFileInfoFromUrl";
|
|
75
|
+
/**
|
|
76
|
+
* 请求容器显示签名组件,受套件和版本限制
|
|
77
|
+
*/
|
|
78
|
+
ContainerMethod["ShowSignatureComponent"] = "showSignatureComponent";
|
|
79
|
+
/**
|
|
80
|
+
* 请求容器显示toast,受套件和版本限制
|
|
81
|
+
*/
|
|
82
|
+
ContainerMethod["ShowToast"] = "showToast";
|
|
83
|
+
/**
|
|
84
|
+
* 通知用户执行自定义操作,操作由用户自定义按钮触发
|
|
85
|
+
*/
|
|
86
|
+
ContainerMethod["HandleCustomTask"] = "handleCustomTask";
|
|
87
|
+
/**
|
|
88
|
+
* 请求容器获取鉴权信息
|
|
89
|
+
*/
|
|
90
|
+
ContainerMethod["GetCredentials"] = "getCredentials";
|
|
91
|
+
})(ContainerMethod = exports.ContainerMethod || (exports.ContainerMethod = {}));
|
|
92
|
+
var SpreadsheetSharingFrom;
|
|
93
|
+
(function (SpreadsheetSharingFrom) {
|
|
94
|
+
/**
|
|
95
|
+
* 获取选区链接
|
|
96
|
+
*/
|
|
97
|
+
SpreadsheetSharingFrom["copyRangeLink"] = "copyRangeLink";
|
|
98
|
+
/**
|
|
99
|
+
* 复制独立视图链接
|
|
100
|
+
*/
|
|
101
|
+
SpreadsheetSharingFrom["copyViewportLink"] = "copyViewportLink";
|
|
102
|
+
/**
|
|
103
|
+
* 复制链接到工作表的内链接
|
|
104
|
+
*/
|
|
105
|
+
SpreadsheetSharingFrom["copySheetLink"] = "copySheetLink";
|
|
106
|
+
/**
|
|
107
|
+
* 跨表格引用
|
|
108
|
+
*/
|
|
109
|
+
SpreadsheetSharingFrom["importRange"] = "importRange";
|
|
110
|
+
/**
|
|
111
|
+
* 预览被跨表引用或合并工作表引用的表格
|
|
112
|
+
*/
|
|
113
|
+
SpreadsheetSharingFrom["preview"] = "preview";
|
|
114
|
+
})(SpreadsheetSharingFrom = exports.SpreadsheetSharingFrom || (exports.SpreadsheetSharingFrom = {}));
|
|
115
|
+
/**
|
|
116
|
+
* 分享链接的类型,用于在 generateUrl 中返回不同的 URL。
|
|
117
|
+
* 比如 return sharingType === UrlSharingType.FormFill ? '/form/1/fill' : '/form/1'。
|
|
118
|
+
* '/form/1/fill' 为对外匿名可访问填写表单的链接,'/form/1' 为对内编辑表单元素、需鉴权的链接。
|
|
119
|
+
*/
|
|
120
|
+
var UrlSharingType;
|
|
121
|
+
(function (UrlSharingType) {
|
|
122
|
+
/**
|
|
123
|
+
* 代表分享的是轻文档链接
|
|
124
|
+
*/
|
|
125
|
+
UrlSharingType["Doc"] = "doc";
|
|
126
|
+
/**
|
|
127
|
+
* 代表分享的是传统文档链接
|
|
128
|
+
*/
|
|
129
|
+
UrlSharingType["Docx"] = "docx";
|
|
130
|
+
/**
|
|
131
|
+
* 代表分享的是表格链接
|
|
132
|
+
*/
|
|
133
|
+
UrlSharingType["Spreadsheet"] = "sheet";
|
|
134
|
+
/**
|
|
135
|
+
* 代表分享的是表单编辑器链接
|
|
136
|
+
*/
|
|
137
|
+
UrlSharingType["Form"] = "form";
|
|
138
|
+
/**
|
|
139
|
+
* 代表分享的是表单预览链接
|
|
140
|
+
*/
|
|
141
|
+
UrlSharingType["FormPreview"] = "formPreview";
|
|
142
|
+
/**
|
|
143
|
+
* 代表分享的是表单填写链接
|
|
144
|
+
*/
|
|
145
|
+
UrlSharingType["FormFill"] = "formFill";
|
|
146
|
+
/**
|
|
147
|
+
* 代表分享的是幻灯片链接
|
|
148
|
+
*/
|
|
149
|
+
UrlSharingType["Presentation"] = "presentation";
|
|
150
|
+
/**
|
|
151
|
+
* 代表分享的是应用表格链接
|
|
152
|
+
*/
|
|
153
|
+
UrlSharingType["Table"] = "table";
|
|
154
|
+
/**
|
|
155
|
+
* 代表分享的是流程图链接
|
|
156
|
+
*/
|
|
157
|
+
UrlSharingType["Flowchart"] = "flowchart";
|
|
158
|
+
/**
|
|
159
|
+
* 代表分享的是思维导图链接
|
|
160
|
+
*/
|
|
161
|
+
UrlSharingType["Mindmap"] = "mindmap";
|
|
162
|
+
/**
|
|
163
|
+
* 代表分享的是白板链接
|
|
164
|
+
*/
|
|
165
|
+
UrlSharingType["Board"] = "board";
|
|
166
|
+
})(UrlSharingType = exports.UrlSharingType || (exports.UrlSharingType = {}));
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "weboffice-js-sdk-shared",
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"description": "SDK 2.0 前端共享资源,如 types。",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"preversion": "npm run docs-auto",
|
|
9
|
+
"prepare": "husky install",
|
|
10
|
+
"build": "del-cli dist && tsc --skipLibCheck",
|
|
11
|
+
"prepack": "npm run build",
|
|
12
|
+
"docs": "typedoc src/index.ts",
|
|
13
|
+
"docs-auto": "npm run docs && git add -A docs && git diff-index --quiet HEAD || git commit -m 'docs: update'"
|
|
14
|
+
},
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/node": "^17.0.35",
|
|
18
|
+
"@typescript-eslint/eslint-plugin": "^5.25.0",
|
|
19
|
+
"@typescript-eslint/parser": "^5.25.0",
|
|
20
|
+
"del-cli": "^5.0.0",
|
|
21
|
+
"eslint": "8.37.0",
|
|
22
|
+
"eslint-config-prettier": "8.8.0",
|
|
23
|
+
"husky": "^7.0.4",
|
|
24
|
+
"lint-staged": "^12.3.4",
|
|
25
|
+
"prettier": "^2.6.2",
|
|
26
|
+
"typedoc": "0.26.2",
|
|
27
|
+
"typedoc-plugin-markdown": "4.1.0",
|
|
28
|
+
"typescript": "^4.7.4"
|
|
29
|
+
},
|
|
30
|
+
"lint-staged": {
|
|
31
|
+
"*.{js,ts}": [
|
|
32
|
+
"eslint --cache --fix",
|
|
33
|
+
"prettier --write"
|
|
34
|
+
],
|
|
35
|
+
"*.{md}": "prettier --write"
|
|
36
|
+
},
|
|
37
|
+
"files": [
|
|
38
|
+
"dist"
|
|
39
|
+
]
|
|
40
|
+
}
|