@wetoria/siyuan-sdk 0.0.5 → 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.
Files changed (199) hide show
  1. package/README.md +34 -25
  2. package/dist/api/_demo/index.d.ts +15 -0
  3. package/dist/api/_demo/index.d.ts.map +1 -0
  4. package/dist/api/_demo/index.js +5 -0
  5. package/dist/api/_demo/index.js.map +1 -0
  6. package/dist/api/account/index.d.ts +47 -0
  7. package/dist/api/account/index.d.ts.map +1 -0
  8. package/dist/api/account/index.js +18 -0
  9. package/dist/api/account/index.js.map +1 -0
  10. package/dist/api/ai/index.d.ts +26 -0
  11. package/dist/api/ai/index.d.ts.map +1 -0
  12. package/dist/api/ai/index.js +9 -0
  13. package/dist/api/ai/index.js.map +1 -0
  14. package/dist/api/archive/index.d.ts +10 -0
  15. package/dist/api/archive/index.d.ts.map +1 -1
  16. package/dist/api/archive/index.js +3 -0
  17. package/dist/api/archive/index.js.map +1 -1
  18. package/dist/api/asset/index.d.ts +161 -0
  19. package/dist/api/asset/index.d.ts.map +1 -1
  20. package/dist/api/asset/index.js +51 -0
  21. package/dist/api/asset/index.js.map +1 -1
  22. package/dist/api/attr/index.d.ts +15 -0
  23. package/dist/api/attr/index.d.ts.map +1 -1
  24. package/dist/api/attr/index.js +6 -0
  25. package/dist/api/attr/index.js.map +1 -1
  26. package/dist/api/av/index.d.ts +479 -0
  27. package/dist/api/av/index.d.ts.map +1 -0
  28. package/dist/api/av/index.js +110 -0
  29. package/dist/api/av/index.js.map +1 -0
  30. package/dist/api/av/types.d.ts +129 -0
  31. package/dist/api/av/types.d.ts.map +1 -0
  32. package/dist/api/av/types.js +2 -0
  33. package/dist/api/av/types.js.map +1 -0
  34. package/dist/api/bazaar/index.d.ts +293 -0
  35. package/dist/api/bazaar/index.d.ts.map +1 -0
  36. package/dist/api/bazaar/index.js +72 -0
  37. package/dist/api/bazaar/index.js.map +1 -0
  38. package/dist/api/block/index.d.ts +346 -0
  39. package/dist/api/block/index.d.ts.map +1 -1
  40. package/dist/api/block/index.js +118 -0
  41. package/dist/api/block/index.js.map +1 -1
  42. package/dist/api/bookmark/index.d.ts +30 -0
  43. package/dist/api/bookmark/index.d.ts.map +1 -0
  44. package/dist/api/bookmark/index.js +12 -0
  45. package/dist/api/bookmark/index.js.map +1 -0
  46. package/dist/api/broadcast/index.d.ts +54 -0
  47. package/dist/api/broadcast/index.d.ts.map +1 -0
  48. package/dist/api/broadcast/index.js +15 -0
  49. package/dist/api/broadcast/index.js.map +1 -0
  50. package/dist/api/clipboard/index.d.ts +12 -0
  51. package/dist/api/clipboard/index.d.ts.map +1 -0
  52. package/dist/api/clipboard/index.js +6 -0
  53. package/dist/api/clipboard/index.js.map +1 -0
  54. package/dist/api/cloud/index.d.ts +27 -0
  55. package/dist/api/cloud/index.d.ts.map +1 -0
  56. package/dist/api/cloud/index.js +6 -0
  57. package/dist/api/cloud/index.js.map +1 -0
  58. package/dist/api/export/index.d.ts +344 -4
  59. package/dist/api/export/index.d.ts.map +1 -1
  60. package/dist/api/export/index.js +83 -2
  61. package/dist/api/export/index.js.map +1 -1
  62. package/dist/api/extension/index.d.ts +12 -0
  63. package/dist/api/extension/index.d.ts.map +1 -0
  64. package/dist/api/extension/index.js +6 -0
  65. package/dist/api/extension/index.js.map +1 -0
  66. package/dist/api/file/index.d.ts +40 -0
  67. package/dist/api/file/index.d.ts.map +1 -1
  68. package/dist/api/file/index.js +12 -0
  69. package/dist/api/file/index.js.map +1 -1
  70. package/dist/api/filetree/index.d.ts +303 -0
  71. package/dist/api/filetree/index.d.ts.map +1 -1
  72. package/dist/api/filetree/index.js +69 -0
  73. package/dist/api/filetree/index.js.map +1 -1
  74. package/dist/api/format/index.d.ts +34 -0
  75. package/dist/api/format/index.d.ts.map +1 -0
  76. package/dist/api/format/index.js +12 -0
  77. package/dist/api/format/index.js.map +1 -0
  78. package/dist/api/graph/index.d.ts +59 -0
  79. package/dist/api/graph/index.d.ts.map +1 -0
  80. package/dist/api/graph/index.js +15 -0
  81. package/dist/api/graph/index.js.map +1 -0
  82. package/dist/api/history/index.d.ts +120 -0
  83. package/dist/api/history/index.d.ts.map +1 -0
  84. package/dist/api/history/index.js +30 -0
  85. package/dist/api/history/index.js.map +1 -0
  86. package/dist/api/icon/index.d.ts +23 -0
  87. package/dist/api/icon/index.d.ts.map +1 -0
  88. package/dist/api/icon/index.js +17 -0
  89. package/dist/api/icon/index.js.map +1 -0
  90. package/dist/api/import/index.d.ts +34 -0
  91. package/dist/api/import/index.d.ts.map +1 -0
  92. package/dist/api/import/index.js +21 -0
  93. package/dist/api/import/index.js.map +1 -0
  94. package/dist/api/inbox/index.d.ts +32 -0
  95. package/dist/api/inbox/index.d.ts.map +1 -0
  96. package/dist/api/inbox/index.js +12 -0
  97. package/dist/api/inbox/index.js.map +1 -0
  98. package/dist/api/index.d.ts +61 -3
  99. package/dist/api/index.d.ts.map +1 -1
  100. package/dist/api/index.js +30 -1
  101. package/dist/api/index.js.map +1 -1
  102. package/dist/api/lute/index.d.ts +42 -0
  103. package/dist/api/lute/index.d.ts.map +1 -0
  104. package/dist/api/lute/index.js +12 -0
  105. package/dist/api/lute/index.js.map +1 -0
  106. package/dist/api/notebook/index.d.ts +28 -0
  107. package/dist/api/notebook/index.d.ts.map +1 -1
  108. package/dist/api/notebook/index.js +9 -0
  109. package/dist/api/notebook/index.js.map +1 -1
  110. package/dist/api/outline/index.d.ts +18 -0
  111. package/dist/api/outline/index.d.ts.map +1 -0
  112. package/dist/api/outline/index.js +6 -0
  113. package/dist/api/outline/index.js.map +1 -0
  114. package/dist/api/petal/index.d.ts +29 -0
  115. package/dist/api/petal/index.d.ts.map +1 -0
  116. package/dist/api/petal/index.js +9 -0
  117. package/dist/api/petal/index.js.map +1 -0
  118. package/dist/api/{sql → query}/index.d.ts +3 -2
  119. package/dist/api/query/index.d.ts.map +1 -0
  120. package/dist/api/{sql → query}/index.js +1 -0
  121. package/dist/api/query/index.js.map +1 -0
  122. package/dist/api/ref/index.d.ts +108 -0
  123. package/dist/api/ref/index.d.ts.map +1 -0
  124. package/dist/api/ref/index.js +18 -0
  125. package/dist/api/ref/index.js.map +1 -0
  126. package/dist/api/repo/index.d.ts +212 -0
  127. package/dist/api/repo/index.d.ts.map +1 -0
  128. package/dist/api/repo/index.js +69 -0
  129. package/dist/api/repo/index.js.map +1 -0
  130. package/dist/api/riff/index.d.ts +218 -0
  131. package/dist/api/riff/index.d.ts.map +1 -0
  132. package/dist/api/riff/index.js +54 -0
  133. package/dist/api/riff/index.js.map +1 -0
  134. package/dist/api/search/index.d.ts +269 -0
  135. package/dist/api/search/index.d.ts.map +1 -0
  136. package/dist/api/search/index.js +45 -0
  137. package/dist/api/search/index.js.map +1 -0
  138. package/dist/api/setting/index.d.ts +150 -0
  139. package/dist/api/setting/index.d.ts.map +1 -0
  140. package/dist/api/setting/index.js +66 -0
  141. package/dist/api/setting/index.js.map +1 -0
  142. package/dist/api/snippet/index.d.ts +42 -0
  143. package/dist/api/snippet/index.d.ts.map +1 -0
  144. package/dist/api/snippet/index.js +12 -0
  145. package/dist/api/snippet/index.js.map +1 -0
  146. package/dist/api/storage/index.d.ts +122 -0
  147. package/dist/api/storage/index.d.ts.map +1 -0
  148. package/dist/api/storage/index.js +45 -0
  149. package/dist/api/storage/index.js.map +1 -0
  150. package/dist/api/sync/index.d.ts +176 -0
  151. package/dist/api/sync/index.d.ts.map +1 -0
  152. package/dist/api/sync/index.js +70 -0
  153. package/dist/api/sync/index.js.map +1 -0
  154. package/dist/api/system/index.d.ts +264 -4
  155. package/dist/api/system/index.d.ts.map +1 -1
  156. package/dist/api/system/index.js +109 -4
  157. package/dist/api/system/index.js.map +1 -1
  158. package/dist/api/tag/index.d.ts +37 -0
  159. package/dist/api/tag/index.d.ts.map +1 -0
  160. package/dist/api/tag/index.js +12 -0
  161. package/dist/api/tag/index.js.map +1 -0
  162. package/dist/api/template/index.d.ts +12 -0
  163. package/dist/api/template/index.d.ts.map +1 -1
  164. package/dist/api/template/index.js +3 -0
  165. package/dist/api/template/index.js.map +1 -1
  166. package/dist/api/transactions/index.d.ts +18 -0
  167. package/dist/api/transactions/index.d.ts.map +1 -0
  168. package/dist/api/transactions/index.js +6 -0
  169. package/dist/api/transactions/index.js.map +1 -0
  170. package/dist/api/ui/index.d.ts +44 -0
  171. package/dist/api/ui/index.d.ts.map +1 -0
  172. package/dist/api/ui/index.js +21 -0
  173. package/dist/api/ui/index.js.map +1 -0
  174. package/dist/types/index.d.ts +4 -0
  175. package/dist/types/index.d.ts.map +1 -1
  176. package/package.json +6 -4
  177. package/dist/api/sql/index.d.ts.map +0 -1
  178. package/dist/api/sql/index.js.map +0 -1
  179. package/src/api/archive/index.ts +0 -26
  180. package/src/api/asset/index.ts +0 -26
  181. package/src/api/attr/index.ts +0 -72
  182. package/src/api/block/index.ts +0 -285
  183. package/src/api/convert/index.ts +0 -18
  184. package/src/api/export/index.ts +0 -36
  185. package/src/api/file/index.ts +0 -77
  186. package/src/api/filetree/index.ts +0 -129
  187. package/src/api/index.ts +0 -56
  188. package/src/api/network/index.ts +0 -32
  189. package/src/api/notebook/index.ts +0 -102
  190. package/src/api/notification/index.ts +0 -33
  191. package/src/api/sql/index.ts +0 -65
  192. package/src/api/sqlite/index.ts +0 -20
  193. package/src/api/system/index.ts +0 -46
  194. package/src/api/template/index.ts +0 -32
  195. package/src/core/index.ts +0 -287
  196. package/src/index.ts +0 -16
  197. package/src/types/index.ts +0 -201
  198. package/src/types/transaction/index.ts +0 -45
  199. package/src/utils/index.ts +0 -3
package/src/core/index.ts DELETED
@@ -1,287 +0,0 @@
1
- /**
2
- * SiYuan SDK - API Client
3
- *
4
- * Supports maintaining baseURL and token, binding custom fetch, and dynamically adding methods
5
- *
6
- * 支持维护 baseURL 和 token,绑定自定义 fetch,动态添加方法
7
- *
8
- */
9
-
10
- import { IWebSocketData } from 'siyuan'
11
-
12
-
13
-
14
- /**
15
- * 标准 API 响应格式
16
- */
17
- export interface SyApiResponse<T = any> {
18
- code: number
19
- msg: string
20
- data: T
21
- }
22
-
23
- export type SyApiMethodResponse<T = any> = Promise<SyApiResponse<T> | IWebSocketData | T>
24
-
25
-
26
- /**
27
- * 请求选项
28
- */
29
- export interface RequestOptions {
30
- /**
31
- * 请求方法
32
- * @default POST
33
- * @description 请求方法
34
- * @example 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
35
- */
36
- method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
37
- /**
38
- * 请求头
39
- * @default {}
40
- * @description 请求头
41
- * @example { 'Content-Type': 'application/json' }
42
- */
43
- headers?: Record<string, string>
44
- /**
45
- * 超时时间(毫秒)
46
- * @default 30000
47
- */
48
- timeout?: number
49
- }
50
-
51
- /**
52
- * 基础 Fetch 函数类型(统一的结构)
53
- */
54
- export type SyBaseApiMethod<T = any> = (
55
- url: string,
56
- data?: any,
57
- options?: RequestOptions
58
- ) => SyApiMethodResponse<T>
59
-
60
- /**
61
- * 自定义 Fetch 函数类型(别名)
62
- */
63
- export type CustomFetch<T = any> = SyBaseApiMethod<T>
64
-
65
-
66
-
67
- /**
68
- * API 配置(两种方式互斥)
69
- */
70
- export type SiYuanAPIConfig =
71
- | { baseURL: string, token: string, customFetch?: never }
72
- | { baseURL?: never, token?: never, customFetch: SyBaseApiMethod }
73
-
74
-
75
- /**
76
- * SiYuan API 客户端
77
- */
78
- export class SiYuanAPI {
79
- /** 基础 URL */
80
- private baseURL: string
81
- /** 认证 Token(与 customFetch 互斥) */
82
- private token?: string
83
- /** 自定义 fetch 函数(与 token 互斥) */
84
- private customFetch?: CustomFetch
85
-
86
-
87
- constructor(config: SiYuanAPIConfig) {
88
- this.setConfig(config)
89
- // 自动绑定所有原型方法,确保在解构或箭头函数中调用时 this 不会丢失
90
- this._bindMethods()
91
- }
92
-
93
- /**
94
- * 绑定所有原型方法到当前实例
95
- * 这样即使方法被解构,this 也能正确指向实例
96
- * @private
97
- */
98
- private _bindMethods(): void {
99
- const prototype = SiYuanAPI.prototype
100
- const boundMethods = new Set<string>()
101
-
102
- // 获取原型上的所有属性名(包括不可枚举的)
103
- const propertyNames = Object.getOwnPropertyNames(prototype)
104
-
105
- for (const name of propertyNames) {
106
- // 跳过已绑定的方法和特殊方法
107
- if (
108
- boundMethods.has(name)
109
- || name === 'constructor'
110
- || name.startsWith('_')
111
- || name === 'setConfig'
112
- || name === 'getConfig'
113
- || name === 'extractData'
114
- || name === '_bindMethods'
115
- || name === 'request'
116
- || name === 'post'
117
- ) {
118
- continue
119
- }
120
-
121
- const descriptor = Object.getOwnPropertyDescriptor(prototype, name)
122
-
123
- // 只绑定函数类型的属性
124
- if (descriptor && typeof descriptor.value === 'function') {
125
- ;(this as any)[name] = descriptor.value.bind(this)
126
- boundMethods.add(name)
127
- }
128
- }
129
- }
130
-
131
- setConfig(config: SiYuanAPIConfig): void {
132
- // 根据配置类型设置属性
133
- if ('customFetch' in config) {
134
- // 使用 customFetch
135
- this.baseURL = '' // customFetch 模式下 baseURL 可能不需要
136
- this.customFetch = config.customFetch
137
- this.token = undefined
138
- } else {
139
- // 使用 baseURL + token
140
- this.baseURL = config.baseURL
141
- this.token = config.token
142
- this.customFetch = undefined
143
- }
144
- }
145
-
146
- /**
147
- * 获取当前配置
148
- */
149
- getConfig(): {
150
- baseURL: string
151
- token?: string
152
- customFetch?: CustomFetch
153
- } {
154
- return {
155
- baseURL: this.baseURL,
156
- token: this.token,
157
- customFetch: this.customFetch,
158
- }
159
- }
160
-
161
- /**
162
- * 默认的 baseFetch 实现(使用标准 fetch)
163
- */
164
- private async _defaultBaseFetch(
165
- url: string,
166
- data?: any,
167
- options?: RequestOptions,
168
- ): Promise<any> {
169
- const baseURL = this.baseURL || ''
170
- const fullURL = url.startsWith('http')
171
- ? url
172
- : `${baseURL.replace(/\/$/, '')}${url}`
173
-
174
- const method = options?.method || 'POST'
175
- const headers: Record<string, string> = {
176
- 'Content-Type': 'application/json',
177
- ...options?.headers,
178
- }
179
-
180
- // 如果有 token,添加到请求头
181
- if (this.token) {
182
- headers.Authorization = `Token ${this.token}`
183
- }
184
-
185
- const requestInit: RequestInit = {
186
- method,
187
- headers,
188
- }
189
-
190
- // 处理请求体
191
- if (data !== undefined) {
192
- if (data instanceof FormData) {
193
- delete headers['Content-Type']
194
- requestInit.body = data
195
- } else {
196
- requestInit.body = JSON.stringify(data)
197
- }
198
- }
199
-
200
- // 处理超时
201
- const timeout = options?.timeout || 30000
202
- const controller = new AbortController()
203
- const timeoutId = setTimeout(() => controller.abort(), timeout)
204
-
205
- try {
206
- const response = await fetch(fullURL, {
207
- ...requestInit,
208
- signal: controller.signal,
209
- })
210
-
211
- clearTimeout(timeoutId)
212
-
213
- if (!response.ok) {
214
- throw new Error(`HTTP ${response.status}: ${response.statusText}`)
215
- }
216
-
217
- const contentType = response.headers.get('content-type')
218
-
219
- if (contentType && contentType.includes('application/json')) {
220
- return await response.json()
221
- } else {
222
- return await response.text()
223
- }
224
- } catch (error: any) {
225
- clearTimeout(timeoutId)
226
- if (error.name === 'AbortError') {
227
- throw new Error(`Request timeout after ${timeout}ms`)
228
- }
229
- throw error
230
- }
231
- }
232
-
233
- /**
234
- * 内部请求方法
235
- * 如果存在自定义 fetch,使用自定义 fetch;否则使用默认的 baseFetch(会自动设置 baseURL 和 token)
236
- * 返回思源标准格式 SyApiResponse<T>
237
- * 此方法为内部方法,禁止外部修改或覆盖
238
- * 允许在注入的 API 方法中使用
239
- *
240
- * @param url - API 端点路径
241
- * @param data - 请求数据
242
- * @param options - 请求选项
243
- * @returns SyApiResponse<T>
244
- *
245
- * @internal
246
- */
247
- async request<T = any>(
248
- url: string,
249
- data?: any,
250
- options?: RequestOptions,
251
- ): SyApiMethodResponse<T> {
252
- // 如果提供了自定义 fetch,使用自定义 fetch
253
- if (this.customFetch) {
254
- return await this.customFetch(url, data, options) as SyApiResponse<T>
255
- }
256
-
257
- // 否则使用默认的 baseFetch
258
- return await this._defaultBaseFetch(url, data, options) as SyApiResponse<T>
259
- }
260
-
261
-
262
- async post<T = any>(url: string, data?: any, options?: RequestOptions): SyApiMethodResponse<T> {
263
- return await this.request(url, data, {
264
- ...options,
265
- method: 'POST',
266
- }) as SyApiResponse<T>
267
- }
268
-
269
-
270
- /**
271
- * 提取响应数据(用于插件模式,直接返回 data)
272
- * 如果 code === 0,返回 data;否则返回 null
273
- *
274
- * @param response - API 响应
275
- * @returns 提取的数据或 null
276
- */
277
- extractData<T>(response: SyApiResponse<T>): T | null {
278
- return response.code === 0 ? response.data : null
279
- }
280
- }
281
-
282
- /**
283
- * 创建 API 实例的便捷函数
284
- */
285
- export function createAPI(config: SiYuanAPIConfig): SiYuanAPI {
286
- return new SiYuanAPI(config)
287
- }
package/src/index.ts DELETED
@@ -1,16 +0,0 @@
1
- /**
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)
9
- */
10
-
11
-
12
- export * from './api/index.js'
13
- export type * from './core/index.js'
14
- export * from './core/index.js'
15
- export * from './types/index.js'
16
-
@@ -1,201 +0,0 @@
1
- export * from './transaction'
2
- /**
3
- * Frequently used data structures in SiYuan
4
- */
5
- export type DocumentId = string
6
- export type BlockId = string
7
- export type NotebookId = string
8
- export type PreviousID = BlockId
9
- export type ParentID = BlockId | DocumentId
10
- export type DataType = "markdown" | "dom"
11
-
12
- export interface Notebook {
13
- id: NotebookId
14
- name: string
15
- icon: string
16
- sort: number
17
- closed: boolean
18
- }
19
-
20
- export interface NotebookConf {
21
- name: string
22
- closed: boolean
23
- refCreateSavePath: string
24
- createDocNameTemplate: string
25
- dailyNoteSavePath: string
26
- dailyNoteTemplatePath: string
27
- }
28
-
29
- export type BlockType =
30
- | "d"
31
- | "s"
32
- | "h"
33
- | "t"
34
- | "i"
35
- | "p"
36
- | "f"
37
- | "audio"
38
- | "video"
39
- | "other"
40
-
41
- export type BlockSubType =
42
- | "d1"
43
- | "d2"
44
- | "s1"
45
- | "s2"
46
- | "s3"
47
- | "t1"
48
- | "t2"
49
- | "h1"
50
- | "h2"
51
- | "h3"
52
- | "h4"
53
- | "h5"
54
- | "h6"
55
- | "table"
56
- | "task"
57
- | "toggle"
58
- | "latex"
59
- | "quote"
60
- | "html"
61
- | "code"
62
- | "footnote"
63
- | "cite"
64
- | "collection"
65
- | "bookmark"
66
- | "attachment"
67
- | "comment"
68
- | "mindmap"
69
- | "spreadsheet"
70
- | "calendar"
71
- | "image"
72
- | "audio"
73
- | "video"
74
- | "other"
75
-
76
- /**
77
- * 块属性接口 - 可以手动修改的属性
78
- * 注释掉的内容也存在,这里用于展示全部字段类型,但禁止手动修改
79
- */
80
- export interface IBlockAttrs {
81
- // 基础元数据属性
82
- "name"?: string // 块名称
83
- "alias"?: string // 块别名
84
- "memo"?: string // 块备注
85
- "bookmark"?: string // 书签
86
- "tags"?: string // 标签(多个用逗号分隔)
87
-
88
- // 显示控制属性
89
- "fold"?: "1" | "" // 折叠状态
90
- "heading-fold"?: "1" | "" // 标题折叠状态
91
- "style"?: string // CSS 样式字符串
92
- "scroll"?: string // 滚动位置(JSON 格式)
93
-
94
- // 系统属性(通常不应手动修改,但可以设置)
95
- "id"?: string // 块 ID(系统自动生成)
96
- "title"?: string // 块标题(文档块使用)
97
- "updated"?: string // 更新时间(系统自动维护)
98
- "type"?: string // 块类型
99
- "icon"?: string // 图标
100
- "status"?: string // 状态
101
-
102
- // 其他系统属性
103
- "refcount"?: string // 引用计数
104
- "parent-heading"?: string // 父标题 ID
105
- "embed-content"?: string // 嵌入内容
106
-
107
-
108
- // 属性视图相关
109
- "custom-avs"?: string // 属性视图 ID 列表(逗号分隔)
110
- "custom-avs-names"?: string // 属性视图名称
111
- "data-av-type"?: string // 属性视图类型
112
-
113
- // 闪卡相关
114
- "custom-riff-decks"?: string // 闪卡牌组
115
-
116
- // 日记相关
117
- [key: `custom-dailynote-${string}`]: string
118
-
119
- // 自定义属性(必须以 custom- 开头)
120
- [key: `custom-${string}`]: string
121
-
122
- }
123
-
124
- /**
125
- * 允许设置的块属性类型
126
- * 排除了系统自动维护的属性:id、updated、type、status、refcount、parent-heading、embed-content、scroll
127
- */
128
- export type ISettableBlockAttrs = Omit<
129
- IBlockAttrs,
130
- "id"
131
- | "updated"
132
- | "type"
133
- | "status"
134
- | "refcount"
135
- | "parent-heading"
136
- | "embed-content"
137
- | "scroll"
138
- >
139
-
140
- export interface Block {
141
- id: BlockId
142
- parent_id?: BlockId
143
- root_id: DocumentId
144
- hash: string
145
- box: string
146
- path: string
147
- hpath: string
148
- name: string
149
- alias: string
150
- memo: string
151
- tag: string
152
- content: string
153
- fcontent?: string
154
- markdown: string
155
- length: number
156
- type: BlockType
157
- subtype: BlockSubType
158
- /**
159
- * 块属性(Inline Attributes List)
160
- * For instance: "{: custom-type=\"query-code\" id=\"20230613234017-zkw3pr0\" updated=\"20230613234509\"}"
161
- */
162
- ial?: string
163
- sort: number
164
- created: string
165
- updated: string
166
- }
167
-
168
-
169
-
170
- export interface IBreadcrumb {
171
- id: string
172
- name: string
173
- type: string
174
- subType: string
175
- children: any
176
- }
177
-
178
- export interface backlinkData {
179
- dom: string
180
- blockPaths: IBreadcrumb[]
181
- expand: boolean
182
- }
183
-
184
- /**
185
- * 子块信息(用于 getChildBlocks 返回值)
186
- */
187
- export interface ChildBlock {
188
- id: BlockId
189
- type: BlockType
190
- content?: string
191
- markdown?: string
192
- }
193
-
194
- /**
195
- * 块的 DOM 结构(用于 getBlockDOM 返回值)
196
- */
197
- export interface BlockDOM {
198
- dom: string
199
- id: BlockId
200
- }
201
-
@@ -1,45 +0,0 @@
1
- import {
2
- BlockId,
3
- DocumentId,
4
- } from '../index'
5
-
6
- export enum ActionTypes {
7
- insert = 'insert',
8
- update = 'update',
9
- delete = 'delete',
10
- move = 'move',
11
- }
12
-
13
- export interface doOperation {
14
- action: ActionTypes
15
- data: string
16
- id: BlockId
17
- parentID: BlockId | DocumentId
18
- previousID: BlockId
19
- nextID?: string
20
- retData: null
21
- blockIDs?: string[] | null
22
- blockID?: string
23
- deckID?: string
24
- avID?: string
25
- srcIDs?: string[] | null
26
- srcs?: string[] | null
27
- isDetached?: boolean
28
- ignoreFillFilter?: boolean
29
- name?: string
30
- type?: string
31
- format?: string
32
- keyID?: string
33
- rowID?: string
34
- isTwoWay?: boolean
35
- backRelationKeyID?: string
36
- removeDest?: boolean
37
- layout?: string
38
- }
39
-
40
-
41
- export interface TransactionItem {
42
- timestamp: string
43
- doOperations: doOperation[]
44
- undoOperations: doOperation[] | null
45
- }
@@ -1,3 +0,0 @@
1
- export function trimSqlBlank(sql: string) {
2
- return sql.replace(/\s+/g, ' ').trim()
3
- }