@wetoria/siyuan-sdk 0.0.2 → 0.0.3
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 +83 -7
- package/dist/api/attr/index.d.ts +17 -12
- package/dist/api/attr/index.d.ts.map +1 -1
- package/dist/api/attr/index.js.map +1 -1
- package/dist/api/block/index.d.ts +52 -10
- package/dist/api/block/index.d.ts.map +1 -1
- package/dist/api/block/index.js +6 -6
- package/dist/api/block/index.js.map +1 -1
- package/dist/api/file/index.d.ts +11 -2
- package/dist/api/file/index.d.ts.map +1 -1
- package/dist/api/file/index.js.map +1 -1
- package/dist/api/notebook/index.d.ts +7 -3
- package/dist/api/notebook/index.d.ts.map +1 -1
- package/dist/api/notebook/index.js.map +1 -1
- package/dist/core/index.d.ts +23 -4
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +34 -0
- package/dist/core/index.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +54 -24
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/transaction/index.d.ts +39 -0
- package/dist/types/transaction/index.d.ts.map +1 -0
- package/dist/types/transaction/index.js +8 -0
- package/dist/types/transaction/index.js.map +1 -0
- package/package.json +1 -1
- package/src/api/attr/index.ts +24 -11
- package/src/api/block/index.ts +68 -20
- package/src/api/file/index.ts +11 -1
- package/src/api/notebook/index.ts +12 -3
- package/src/core/index.ts +57 -7
- package/src/index.ts +7 -0
- package/src/types/index.ts +85 -24
- package/src/types/transaction/index.ts +45 -0
package/README.md
CHANGED
|
@@ -10,21 +10,97 @@ pnpm add @wetoria/siyuan-sdk
|
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
13
|
+
### 基本使用
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { createAPI } from '@wetoria/siyuan-sdk'
|
|
17
|
+
|
|
18
|
+
// 方式 1: 使用 baseURL 和 token
|
|
19
|
+
const sdk = createAPI({
|
|
20
|
+
baseURL: 'http://localhost:6806',
|
|
21
|
+
token: 'your-token',
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
// 调用 API
|
|
25
|
+
const notebooks = await sdk.lsNotebooks()
|
|
26
|
+
console.log(notebooks.data)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 使用自定义 Fetch
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
import { createAPI } from '@wetoria/siyuan-sdk'
|
|
33
|
+
import { fetchSyncPost } from 'siyuan'
|
|
34
|
+
|
|
35
|
+
// 方式 2: 使用 customFetch(适用于思源插件环境)
|
|
36
|
+
const sdk = createAPI({
|
|
37
|
+
customFetch: async (url, data) => {
|
|
38
|
+
const response = await fetchSyncPost(url, data)
|
|
39
|
+
return response.code === 0 ? response.data : null
|
|
40
|
+
},
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
// 调用 API
|
|
44
|
+
const notebooks = await sdk.lsNotebooks()
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 补充不存在的 API
|
|
48
|
+
|
|
49
|
+
如果 SDK 中缺少某个 API 方法,你可以通过以下方式自行添加:
|
|
50
|
+
|
|
51
|
+
### 方法 1: 扩展类型并添加实现
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
import { createAPI, SyApiResponse } from '@wetoria/siyuan-sdk'
|
|
55
|
+
|
|
56
|
+
// 1. 扩展 SiYuanAPI 接口类型
|
|
57
|
+
declare module '@wetoria/siyuan-sdk' {
|
|
58
|
+
interface SiYuanAPI {
|
|
59
|
+
// 定义你的自定义方法
|
|
60
|
+
myCustomMethod: (param: string) => Promise<SyApiResponse<any>>
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// 2. 创建 SDK 实例
|
|
65
|
+
const sdk = createAPI({
|
|
66
|
+
baseURL: 'http://localhost:6806',
|
|
67
|
+
token: 'your-token',
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
// 3. 实现自定义方法
|
|
71
|
+
sdk.myCustomMethod = function (param: string) {
|
|
72
|
+
return this.request('/api/custom/endpoint', { param })
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// 4. 使用自定义方法
|
|
76
|
+
const result = await sdk.myCustomMethod('value')
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 方法 2: 直接使用 request 方法
|
|
80
|
+
|
|
81
|
+
如果只是临时使用,可以直接调用 `request` 方法:
|
|
82
|
+
|
|
13
83
|
```typescript
|
|
14
|
-
import {
|
|
84
|
+
import { createAPI } from '@wetoria/siyuan-sdk'
|
|
15
85
|
|
|
16
|
-
|
|
17
|
-
const client = createClient({
|
|
86
|
+
const sdk = createAPI({
|
|
18
87
|
baseURL: 'http://localhost:6806',
|
|
19
88
|
token: 'your-token',
|
|
20
|
-
timeout: 30000,
|
|
21
89
|
})
|
|
22
90
|
|
|
23
|
-
//
|
|
24
|
-
const
|
|
25
|
-
|
|
91
|
+
// 直接调用 request 方法
|
|
92
|
+
const result = await sdk.request('/api/custom/endpoint', {
|
|
93
|
+
param: 'value',
|
|
94
|
+
})
|
|
26
95
|
```
|
|
27
96
|
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
## API 文档
|
|
100
|
+
|
|
101
|
+
- [思源 API 文档](https://github.com/siyuan-note/siyuan/blob/master/API.md)
|
|
102
|
+
- [思源 API 文档(中文)](https://github.com/siyuan-note/siyuan/blob/master/API_zh_CN.md)
|
|
103
|
+
|
|
28
104
|
## Development
|
|
29
105
|
|
|
30
106
|
```bash
|
package/dist/api/attr/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SyApiMethodResponse } from '../../core/index.js';
|
|
2
|
-
import type { BlockId } from '../../types/index.js';
|
|
2
|
+
import type { BlockId, IBlockAttrs, ISettableBlockAttrs } from '../../types/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Attributes API 类型定义
|
|
5
5
|
*/
|
|
@@ -7,33 +7,38 @@ export interface AttrAPI {
|
|
|
7
7
|
/**
|
|
8
8
|
* 设置块属性
|
|
9
9
|
* @path /api/attr/setBlockAttrs
|
|
10
|
+
* @param id - The ID of the block
|
|
11
|
+
* @param attrs - The attributes to set. System properties (id, updated, type, status, refcount, parent-heading, embed-content, scroll) are not allowed to be modified
|
|
12
|
+
* @returns - Promise<{ code: number, msg: string, data: null }>
|
|
10
13
|
*/
|
|
11
|
-
setBlockAttrs: (id: BlockId, attrs:
|
|
12
|
-
[key: string]: string;
|
|
13
|
-
}) => SyApiMethodResponse<any>;
|
|
14
|
+
setBlockAttrs: (id: BlockId, attrs: Partial<ISettableBlockAttrs>) => SyApiMethodResponse<null>;
|
|
14
15
|
/**
|
|
15
16
|
* 获取块属性
|
|
16
17
|
* @path /api/attr/getBlockAttrs
|
|
18
|
+
* @param id - The ID of the block
|
|
19
|
+
* @returns - Promise<{ code: number, msg: string, data: IBlockAttrs }>
|
|
17
20
|
*/
|
|
18
|
-
getBlockAttrs: (id: BlockId) => SyApiMethodResponse<
|
|
19
|
-
[key: string]: string;
|
|
20
|
-
}>;
|
|
21
|
+
getBlockAttrs: (id: BlockId) => SyApiMethodResponse<IBlockAttrs>;
|
|
21
22
|
/**
|
|
22
23
|
* 批量设置块属性
|
|
23
24
|
* @path /api/attr/batchSetBlockAttrs
|
|
25
|
+
* @param blockAttrs - Array of block attributes to set
|
|
26
|
+
* @param blockAttrs[].id - The ID of the block
|
|
27
|
+
* @param blockAttrs[].attrs - The attributes to set. System properties (id, updated, type, status, refcount, parent-heading, embed-content, scroll) are not allowed to be modified
|
|
28
|
+
* @returns - Promise<{ code: number, msg: string, data: null }>
|
|
24
29
|
*/
|
|
25
30
|
batchSetBlockAttrs: (blockAttrs: Array<{
|
|
26
31
|
id: BlockId;
|
|
27
|
-
attrs:
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
}>) => SyApiMethodResponse<any>;
|
|
32
|
+
attrs: Partial<ISettableBlockAttrs>;
|
|
33
|
+
}>) => SyApiMethodResponse<null>;
|
|
31
34
|
/**
|
|
32
35
|
* 批量获取块属性
|
|
33
36
|
* @path /api/attr/batchGetBlockAttrs
|
|
37
|
+
* @param ids - The IDs of the blocks
|
|
38
|
+
* @returns - Promise<{ code: number, msg: string, data: { [key: string]: IBlockAttrs } }>
|
|
34
39
|
*/
|
|
35
40
|
batchGetBlockAttrs: (ids: BlockId[]) => SyApiMethodResponse<{
|
|
36
|
-
[key: string]:
|
|
41
|
+
[key: string]: IBlockAttrs;
|
|
37
42
|
}>;
|
|
38
43
|
}
|
|
39
44
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/attr/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/attr/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAG7B;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;;OAMG;IACH,aAAa,EAAE,CACb,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAChC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC9B;;;;;OAKG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAChE;;;;;;;OAOG;IACH,kBAAkB,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;QACrC,EAAE,EAAE,OAAO,CAAA;QACX,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;KACpC,CAAC,KAAK,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAChC;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,mBAAmB,CAAC;QAC1D,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAC3B,CAAC,CAAA;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/attr/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/attr/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AA+C/C,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,EAAU,EAAE,KAAmC;IAC3F,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;QAC7C,EAAE;QACF,KAAK;KACN,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,EAAU;IACtD,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAAU,UAAsE;IACvH,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,kBAAkB,GAAG,UAAU,GAAa;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;AAC9D,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SyApiMethodResponse } from '../../core/index.js';
|
|
2
|
-
import type { BlockId, NotebookId } from '../../types/index.js';
|
|
2
|
+
import type { Block, BlockDOM, BlockId, ChildBlock, NotebookId, TransactionItem } from '../../types/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Block API 类型定义
|
|
5
5
|
*/
|
|
@@ -7,26 +7,51 @@ export interface BlockAPI {
|
|
|
7
7
|
/**
|
|
8
8
|
* 插入块
|
|
9
9
|
* @path /api/block/insertBlock
|
|
10
|
+
* @param data - The data for the block
|
|
11
|
+
* @param data.dataType - The type of the data(markdown, dom), default is 'markdown'
|
|
12
|
+
* @param data.data - The data for the block
|
|
13
|
+
* @param data.nextID - The next ID of the block
|
|
14
|
+
* @param data.previousID - The previous ID of the block
|
|
15
|
+
* @param data.parentID - The parent ID of the block
|
|
16
|
+
* @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
|
|
10
17
|
*/
|
|
11
|
-
insertBlock: (
|
|
18
|
+
insertBlock: (data: {
|
|
19
|
+
dataType?: 'markdown' | 'dom';
|
|
20
|
+
data: string;
|
|
21
|
+
nextID?: BlockId;
|
|
22
|
+
previousID?: BlockId;
|
|
23
|
+
parentID?: BlockId;
|
|
24
|
+
}) => SyApiMethodResponse<TransactionItem[]>;
|
|
12
25
|
/**
|
|
13
26
|
* 在块的开头插入内容
|
|
14
27
|
* @path /api/block/prependBlock
|
|
28
|
+
* @param dataType - The type of the data(markdown, dom)
|
|
29
|
+
* @param data - The data for the block
|
|
30
|
+
* @param parentID - The parent ID of the block
|
|
31
|
+
* @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
|
|
15
32
|
*/
|
|
16
|
-
prependBlock: (dataType: 'markdown' | 'dom', data: string, parentID: BlockId) => SyApiMethodResponse<
|
|
33
|
+
prependBlock: (dataType: 'markdown' | 'dom', data: string, parentID: BlockId) => SyApiMethodResponse<TransactionItem[]>;
|
|
17
34
|
/**
|
|
18
35
|
* 在块的末尾追加内容
|
|
19
36
|
* @path /api/block/appendBlock
|
|
37
|
+
* @param dataType - The type of the data(markdown, dom), default is 'markdown'
|
|
38
|
+
* @param data - The data for the block
|
|
39
|
+
* @param parentID - The parent ID of the block
|
|
40
|
+
* @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
|
|
20
41
|
*/
|
|
21
|
-
appendBlock: (dataType: 'markdown' | 'dom', data: string, parentID: BlockId) => SyApiMethodResponse<
|
|
42
|
+
appendBlock: (dataType: 'markdown' | 'dom', data: string, parentID: BlockId) => SyApiMethodResponse<TransactionItem[]>;
|
|
22
43
|
/**
|
|
23
44
|
* 追加 Markdown 内容到块(便捷方法)
|
|
24
45
|
* @path wrapper: uses appendBlock
|
|
46
|
+
* @param params - The parameters for appending markdown content
|
|
47
|
+
* @param params.data - The markdown data for the block
|
|
48
|
+
* @param params.parentID - The parent ID of the block
|
|
49
|
+
* @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
|
|
25
50
|
*/
|
|
26
51
|
appendMDToBlock: (params: {
|
|
27
52
|
data: string;
|
|
28
53
|
parentID: BlockId;
|
|
29
|
-
}) => SyApiMethodResponse<
|
|
54
|
+
}) => SyApiMethodResponse<TransactionItem[]>;
|
|
30
55
|
/**
|
|
31
56
|
* 追加 Markdown 内容到块并返回块 ID(便捷方法)
|
|
32
57
|
* @path wrapper: uses appendBlock
|
|
@@ -43,13 +68,19 @@ export interface BlockAPI {
|
|
|
43
68
|
/**
|
|
44
69
|
* 更新块内容
|
|
45
70
|
* @path /api/block/updateBlock
|
|
71
|
+
* @param dataType - The type of the data(markdown, dom)
|
|
72
|
+
* @param data - The data for the block
|
|
73
|
+
* @param id - The ID of the block to update
|
|
74
|
+
* @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
|
|
46
75
|
*/
|
|
47
|
-
updateBlock: (dataType: 'markdown' | 'dom', data: string, id: BlockId) => SyApiMethodResponse<
|
|
76
|
+
updateBlock: (dataType: 'markdown' | 'dom', data: string, id: BlockId) => SyApiMethodResponse<TransactionItem[]>;
|
|
48
77
|
/**
|
|
49
78
|
* 删除块
|
|
50
79
|
* @path /api/block/deleteBlock
|
|
80
|
+
* @param id - The ID of the block to delete
|
|
81
|
+
* @returns - Promise<{ code: number, msg: string, data: TransactionItem[] }>
|
|
51
82
|
*/
|
|
52
|
-
deleteBlock: (id: BlockId) => SyApiMethodResponse<
|
|
83
|
+
deleteBlock: (id: BlockId) => SyApiMethodResponse<TransactionItem[]>;
|
|
53
84
|
/**
|
|
54
85
|
* 移动块
|
|
55
86
|
* @path /api/block/moveBlock
|
|
@@ -63,8 +94,10 @@ export interface BlockAPI {
|
|
|
63
94
|
/**
|
|
64
95
|
* 获取子块列表
|
|
65
96
|
* @path /api/block/getChildBlocks
|
|
97
|
+
* @param id - The ID of the parent block
|
|
98
|
+
* @returns - Promise<{ code: number, msg: string, data: ChildBlock[] }>
|
|
66
99
|
*/
|
|
67
|
-
getChildBlocks: (id: BlockId) => SyApiMethodResponse<
|
|
100
|
+
getChildBlocks: (id: BlockId) => SyApiMethodResponse<ChildBlock[]>;
|
|
68
101
|
/**
|
|
69
102
|
* 获取块的索引位置
|
|
70
103
|
* @path /api/block/getBlocksIndexes
|
|
@@ -81,11 +114,20 @@ export interface BlockAPI {
|
|
|
81
114
|
* 获取块信息(通过 SQL 查询)
|
|
82
115
|
* @path wrapper: uses sql
|
|
83
116
|
*/
|
|
84
|
-
getBlockInfo: (id: BlockId) => SyApiMethodResponse<
|
|
117
|
+
getBlockInfo: (id: BlockId) => SyApiMethodResponse<Block>;
|
|
85
118
|
/**
|
|
86
119
|
* 获取块的 DOM 结构
|
|
87
120
|
* @path /api/block/getBlockDOM
|
|
121
|
+
* @param id - The ID of the block
|
|
122
|
+
* @returns - Promise<{ code: number, msg: string, data: BlockDOM }>
|
|
123
|
+
*/
|
|
124
|
+
getBlockDOM: (id: BlockId) => SyApiMethodResponse<BlockDOM>;
|
|
125
|
+
/**
|
|
126
|
+
* 批量获取块的 DOM 结构
|
|
127
|
+
* @path /api/block/getBlockDOMs
|
|
128
|
+
* @param ids - The IDs of the blocks
|
|
129
|
+
* @returns - Promise<{ code: number, msg: string, data: BlockDOM[] }>
|
|
88
130
|
*/
|
|
89
|
-
|
|
131
|
+
getBlockDOMs: (ids: BlockId[]) => SyApiMethodResponse<BlockDOM[]>;
|
|
90
132
|
}
|
|
91
133
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/block/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EACV,OAAO,EACP,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/block/index.ts"],"names":[],"mappings":"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"}
|
package/dist/api/block/index.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { SiYuanAPI } from '../../core/index.js';
|
|
2
|
-
SiYuanAPI.prototype.insertBlock = function (
|
|
2
|
+
SiYuanAPI.prototype.insertBlock = function (data) {
|
|
3
3
|
return this.request('/api/block/insertBlock', {
|
|
4
|
-
|
|
5
|
-
data,
|
|
6
|
-
nextID,
|
|
7
|
-
previousID,
|
|
8
|
-
parentID,
|
|
4
|
+
...data,
|
|
5
|
+
dataType: data.dataType || 'markdown',
|
|
9
6
|
});
|
|
10
7
|
};
|
|
11
8
|
SiYuanAPI.prototype.prependBlock = function (dataType, data, parentID) {
|
|
@@ -84,4 +81,7 @@ SiYuanAPI.prototype.getBlockInfo = async function (id) {
|
|
|
84
81
|
SiYuanAPI.prototype.getBlockDOM = function (id) {
|
|
85
82
|
return this.request('/api/block/getBlockDOM', { id });
|
|
86
83
|
};
|
|
84
|
+
SiYuanAPI.prototype.getBlockDOMs = function (ids) {
|
|
85
|
+
return this.request('/api/block/getBlockDOMs', { ids });
|
|
86
|
+
};
|
|
87
87
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/block/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/block/index.ts"],"names":[],"mappings":"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"}
|
package/dist/api/file/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SyApiMethodResponse } from '../../core/index.js';
|
|
1
|
+
import { SyApiMethodResponse, SyApiResponse } from '../../core/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* File API 类型定义
|
|
4
4
|
*/
|
|
@@ -6,8 +6,17 @@ export interface FileAPI {
|
|
|
6
6
|
/**
|
|
7
7
|
* 获取文件内容
|
|
8
8
|
* @path /api/file/getFile
|
|
9
|
+
* @param path - The file path
|
|
10
|
+
* @returns - Promise<string | SyApiResponse<string | null>>
|
|
11
|
+
* 返回值可能是:
|
|
12
|
+
* - 文件存在时:直接返回文件内容(字符串)
|
|
13
|
+
* - 文件不存在或出错时:标准结构 { code: number, msg: string, data: null }
|
|
14
|
+
* - code: 404 表示文件不存在
|
|
15
|
+
* - code: 403 表示路径无效或权限不足
|
|
16
|
+
* - code: 405 表示路径是目录
|
|
17
|
+
* - code: 500 表示读取文件失败
|
|
9
18
|
*/
|
|
10
|
-
getFile: (path: string) =>
|
|
19
|
+
getFile: (path: string) => Promise<string | SyApiResponse<string | null>>;
|
|
11
20
|
/**
|
|
12
21
|
* 上传/创建文件
|
|
13
22
|
* @path /api/file/putFile
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,aAAa,EACd,MAAM,qBAAqB,CAAA;AAE5B;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;IACzE;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC9E;;;OAGG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACtD;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;CACpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAGV,MAAM,qBAAqB,CAAA;AAqC5B,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,WAAW,IAAY;IACxD,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,CAAC,CAAC;YACR,GAAG,EAAE,oBAAoB;YACzB,IAAI,EAAE,IAAI;SACX,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,IAAY,EAAE,KAAc,EAAE,IAAS;IAC7E,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IACtC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,IAAY;IACrD,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,IAAY;IAClD,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AACpD,CAAC,CAAA"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import type { SyApiMethodResponse } from '../../core/index.js';
|
|
2
|
-
import type { NotebookId } from '../../types/index.js';
|
|
2
|
+
import type { Notebook, NotebookId } from '../../types/index.js';
|
|
3
|
+
export interface RespLsNotebooks {
|
|
4
|
+
notebooks: Notebook[];
|
|
5
|
+
}
|
|
3
6
|
/**
|
|
4
7
|
* Notebook API 类型定义
|
|
5
8
|
*/
|
|
6
9
|
export interface NotebookAPI {
|
|
7
10
|
/**
|
|
8
|
-
*
|
|
11
|
+
* List all notebooks
|
|
9
12
|
* @path /api/notebook/lsNotebooks
|
|
13
|
+
* @returns - Promise<{ notebooks: Notebook[] }>
|
|
10
14
|
*/
|
|
11
|
-
lsNotebooks: () => SyApiMethodResponse<
|
|
15
|
+
lsNotebooks: () => SyApiMethodResponse<RespLsNotebooks>;
|
|
12
16
|
/**
|
|
13
17
|
* 打开笔记本
|
|
14
18
|
* @path /api/notebook/openNotebook
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/notebook/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/notebook/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACX,MAAM,sBAAsB,CAAA;AAI7B,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,WAAW,EAAE,MAAM,mBAAmB,CAAC,eAAe,CAAC,CAAA;IACvD;;;OAGG;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAChE;;;OAGG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACjE;;;OAGG;IACH,cAAc,EAAE,CACd,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,MAAM,KACT,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC7B;;;OAGG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAC1D;;;OAGG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAClE;;;OAGG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACnE;;;OAGG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,GAAG,KACN,mBAAmB,CAAC,GAAG,CAAC,CAAA;CAC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/notebook/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/notebook/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AA4D/C,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,QAAgB;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACjE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,QAAgB;IAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,QAAgB,EAAE,IAAY;IAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE;QAClD,QAAQ;QACR,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,IAAY;IACzD,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,QAAgB;IAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACnE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,QAAgB;IAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAED,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,QAAgB,EAAE,IAAS;IACzE,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE;QACnD,QAAQ;QACR,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -15,16 +15,29 @@ export interface SyApiResponse<T = any> {
|
|
|
15
15
|
msg: string;
|
|
16
16
|
data: T;
|
|
17
17
|
}
|
|
18
|
-
export type SyApiMethodResponse<T = any> = Promise<SyApiResponse<T> | IWebSocketData>;
|
|
18
|
+
export type SyApiMethodResponse<T = any> = Promise<SyApiResponse<T> | IWebSocketData | T>;
|
|
19
19
|
/**
|
|
20
20
|
* 请求选项
|
|
21
21
|
*/
|
|
22
22
|
export interface RequestOptions {
|
|
23
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* 请求方法
|
|
25
|
+
* @default POST
|
|
26
|
+
* @description 请求方法
|
|
27
|
+
* @example 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
|
|
28
|
+
*/
|
|
24
29
|
method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
25
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* 请求头
|
|
32
|
+
* @default {}
|
|
33
|
+
* @description 请求头
|
|
34
|
+
* @example { 'Content-Type': 'application/json' }
|
|
35
|
+
*/
|
|
26
36
|
headers?: Record<string, string>;
|
|
27
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* 超时时间(毫秒)
|
|
39
|
+
* @default 30000
|
|
40
|
+
*/
|
|
28
41
|
timeout?: number;
|
|
29
42
|
}
|
|
30
43
|
/**
|
|
@@ -58,6 +71,12 @@ export declare class SiYuanAPI {
|
|
|
58
71
|
/** 自定义 fetch 函数(与 token 互斥) */
|
|
59
72
|
private customFetch?;
|
|
60
73
|
constructor(config: SiYuanAPIConfig);
|
|
74
|
+
/**
|
|
75
|
+
* 绑定所有原型方法到当前实例
|
|
76
|
+
* 这样即使方法被解构,this 也能正确指向实例
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
private _bindMethods;
|
|
61
80
|
setConfig(config: SiYuanAPIConfig): void;
|
|
62
81
|
/**
|
|
63
82
|
* 获取当前配置
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAIvC;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAIvC;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,CAAC,CAAC,CAAA;AAGzF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpD;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,CACrC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,KACrB,mBAAmB,CAAC,CAAC,CAAC,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAA;AAIrD;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,GACvD;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAA;AAGpE;;GAEG;AACH,qBAAa,SAAS;IACpB,aAAa;IACb,OAAO,CAAC,OAAO,CAAQ;IACvB,iCAAiC;IACjC,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,+BAA+B;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAa;gBAGrB,MAAM,EAAE,eAAe;IAMnC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAiCpB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAexC;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,WAAW,CAAA;KAC1B;IAQD;;OAEG;YACW,iBAAiB;IAqE/B;;;;;;;;;;;;;OAaG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,mBAAmB,CAAC,CAAC,CAAC;IAWnB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAQ9F;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;CAGrD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAE5D"}
|
package/dist/core/index.js
CHANGED
|
@@ -18,6 +18,40 @@ export class SiYuanAPI {
|
|
|
18
18
|
customFetch;
|
|
19
19
|
constructor(config) {
|
|
20
20
|
this.setConfig(config);
|
|
21
|
+
// 自动绑定所有原型方法,确保在解构或箭头函数中调用时 this 不会丢失
|
|
22
|
+
this._bindMethods();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 绑定所有原型方法到当前实例
|
|
26
|
+
* 这样即使方法被解构,this 也能正确指向实例
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
29
|
+
_bindMethods() {
|
|
30
|
+
const prototype = SiYuanAPI.prototype;
|
|
31
|
+
const boundMethods = new Set();
|
|
32
|
+
// 获取原型上的所有属性名(包括不可枚举的)
|
|
33
|
+
const propertyNames = Object.getOwnPropertyNames(prototype);
|
|
34
|
+
for (const name of propertyNames) {
|
|
35
|
+
// 跳过已绑定的方法和特殊方法
|
|
36
|
+
if (boundMethods.has(name)
|
|
37
|
+
|| name === 'constructor'
|
|
38
|
+
|| name.startsWith('_')
|
|
39
|
+
|| name === 'setConfig'
|
|
40
|
+
|| name === 'getConfig'
|
|
41
|
+
|| name === 'extractData'
|
|
42
|
+
|| name === '_bindMethods'
|
|
43
|
+
|| name === 'request'
|
|
44
|
+
|| name === 'post') {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const descriptor = Object.getOwnPropertyDescriptor(prototype, name);
|
|
48
|
+
// 只绑定函数类型的属性
|
|
49
|
+
if (descriptor && typeof descriptor.value === 'function') {
|
|
50
|
+
;
|
|
51
|
+
this[name] = descriptor.value.bind(this);
|
|
52
|
+
boundMethods.add(name);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
21
55
|
}
|
|
22
56
|
setConfig(config) {
|
|
23
57
|
// 根据配置类型设置属性
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* SiYuan SDK
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2023 Wetoria. All rights reserved.
|
|
5
|
+
* https://github.com/wetoria/sy-plugin-enhance
|
|
6
|
+
*
|
|
7
|
+
* See API Document in [API.md](https://github.com/siyuan-note/siyuan/blob/master/API.md)
|
|
8
|
+
* API 文档见 [API_zh_CN.md](https://github.com/siyuan-note/siyuan/blob/master/API_zh_CN.md)
|
|
3
9
|
*/
|
|
4
10
|
export * from './api/index.js';
|
|
5
11
|
export type * from './core/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,gBAAgB,CAAA;AAC9B,mBAAmB,iBAAiB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* SiYuan SDK
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2023 Wetoria. All rights reserved.
|
|
5
|
+
* https://github.com/wetoria/sy-plugin-enhance
|
|
6
|
+
*
|
|
7
|
+
* See API Document in [API.md](https://github.com/siyuan-note/siyuan/blob/master/API.md)
|
|
8
|
+
* API 文档见 [API_zh_CN.md](https://github.com/siyuan-note/siyuan/blob/master/API_zh_CN.md)
|
|
3
9
|
*/
|
|
4
10
|
export * from './api/index.js';
|
|
5
11
|
export * from './core/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,gBAAgB,CAAA;AAE9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
|