wikiparser-node 0.11.0-b → 0.11.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 (176) hide show
  1. package/config/.schema.json +18 -0
  2. package/config/default.json +1 -0
  3. package/config/llwiki.json +35 -0
  4. package/config/moegirl.json +44 -0
  5. package/config/zhwiki.json +466 -0
  6. package/dist/index.d.ts +114 -0
  7. package/dist/lib/element.d.ts +162 -0
  8. package/dist/lib/node.d.ts +291 -0
  9. package/dist/lib/ranges.d.ts +37 -0
  10. package/dist/lib/text.d.ts +64 -0
  11. package/dist/lib/title.d.ts +21 -0
  12. package/dist/mixin/attributeParent.d.ts +9 -0
  13. package/dist/mixin/fixedToken.d.ts +8 -0
  14. package/dist/mixin/hidden.d.ts +8 -0
  15. package/dist/mixin/singleLine.d.ts +8 -0
  16. package/dist/mixin/sol.d.ts +8 -0
  17. package/dist/parser/brackets.d.ts +12 -0
  18. package/dist/parser/commentAndExt.d.ts +8 -0
  19. package/dist/parser/converter.d.ts +7 -0
  20. package/dist/parser/externalLinks.d.ts +7 -0
  21. package/dist/parser/hrAndDoubleUnderscore.d.ts +11 -0
  22. package/dist/parser/html.d.ts +7 -0
  23. package/dist/parser/links.d.ts +7 -0
  24. package/dist/parser/list.d.ts +7 -0
  25. package/dist/parser/magicLinks.d.ts +7 -0
  26. package/dist/parser/quotes.d.ts +7 -0
  27. package/dist/parser/selector.d.ts +12 -0
  28. package/dist/parser/table.d.ts +11 -0
  29. package/dist/src/arg.d.ts +54 -0
  30. package/dist/src/atom/hidden.d.ts +5 -0
  31. package/dist/src/atom/index.d.ts +15 -0
  32. package/dist/src/attribute.d.ts +65 -0
  33. package/dist/src/attributes.d.ts +112 -0
  34. package/dist/src/charinsert.d.ts +32 -0
  35. package/dist/src/converter.d.ts +103 -0
  36. package/dist/src/converterFlags.d.ts +83 -0
  37. package/dist/src/converterRule.d.ts +75 -0
  38. package/dist/src/extLink.d.ts +62 -0
  39. package/dist/src/gallery.d.ts +33 -0
  40. package/dist/src/hasNowiki/index.d.ts +14 -0
  41. package/dist/src/hasNowiki/pre.d.ts +13 -0
  42. package/dist/src/heading.d.ts +44 -0
  43. package/dist/src/html.d.ts +56 -0
  44. package/dist/src/imageParameter.d.ts +65 -0
  45. package/dist/src/imagemap.d.ts +37 -0
  46. package/dist/src/imagemapLink.d.ts +21 -0
  47. package/dist/src/index.d.ts +186 -0
  48. package/dist/src/link/category.d.ts +16 -0
  49. package/dist/src/link/file.d.ts +85 -0
  50. package/dist/src/link/galleryImage.d.ts +15 -0
  51. package/dist/src/link/index.d.ts +88 -0
  52. package/dist/src/magicLink.d.ts +36 -0
  53. package/dist/src/nested/choose.d.ts +13 -0
  54. package/dist/src/nested/combobox.d.ts +13 -0
  55. package/dist/src/nested/index.d.ts +18 -0
  56. package/dist/src/nested/references.d.ts +13 -0
  57. package/dist/src/nowiki/comment.d.ts +31 -0
  58. package/dist/src/nowiki/dd.d.ts +17 -0
  59. package/dist/src/nowiki/doubleUnderscore.d.ts +22 -0
  60. package/dist/src/nowiki/hr.d.ts +13 -0
  61. package/dist/src/nowiki/index.d.ts +27 -0
  62. package/dist/src/nowiki/list.d.ts +8 -0
  63. package/dist/src/nowiki/noinclude.d.ts +8 -0
  64. package/dist/src/nowiki/quote.d.ts +13 -0
  65. package/dist/src/onlyinclude.d.ts +24 -0
  66. package/dist/src/paramTag/index.d.ts +29 -0
  67. package/dist/src/paramTag/inputbox.d.ts +8 -0
  68. package/dist/src/parameter.d.ts +75 -0
  69. package/dist/src/syntax.d.ts +20 -0
  70. package/dist/src/table/index.d.ts +273 -0
  71. package/dist/src/table/td.d.ts +100 -0
  72. package/dist/src/table/tr.d.ts +91 -0
  73. package/dist/src/tagPair/ext.d.ts +18 -0
  74. package/dist/src/tagPair/include.d.ts +25 -0
  75. package/dist/src/tagPair/index.d.ts +41 -0
  76. package/dist/src/transclude.d.ts +199 -0
  77. package/dist/tool/index.d.ts +420 -0
  78. package/dist/util/base.d.ts +10 -0
  79. package/dist/util/debug.d.ts +20 -0
  80. package/dist/util/diff.d.ts +8 -0
  81. package/dist/util/lint.d.ts +28 -0
  82. package/dist/util/string.d.ts +55 -0
  83. package/index.js +333 -0
  84. package/lib/element.js +618 -0
  85. package/lib/node.js +730 -0
  86. package/lib/ranges.js +130 -0
  87. package/lib/text.js +265 -0
  88. package/lib/title.js +83 -0
  89. package/mixin/attributeParent.js +117 -0
  90. package/mixin/fixedToken.js +40 -0
  91. package/mixin/hidden.js +21 -0
  92. package/mixin/singleLine.js +31 -0
  93. package/mixin/sol.js +54 -0
  94. package/package.json +17 -13
  95. package/parser/brackets.js +128 -0
  96. package/parser/commentAndExt.js +62 -0
  97. package/parser/converter.js +46 -0
  98. package/parser/externalLinks.js +33 -0
  99. package/parser/hrAndDoubleUnderscore.js +49 -0
  100. package/parser/html.js +42 -0
  101. package/parser/links.js +94 -0
  102. package/parser/list.js +59 -0
  103. package/parser/magicLinks.js +41 -0
  104. package/parser/quotes.js +64 -0
  105. package/parser/selector.js +180 -0
  106. package/parser/table.js +114 -0
  107. package/src/arg.js +207 -0
  108. package/src/atom/hidden.js +13 -0
  109. package/src/atom/index.js +43 -0
  110. package/src/attribute.js +472 -0
  111. package/src/attributes.js +453 -0
  112. package/src/charinsert.js +97 -0
  113. package/src/converter.js +176 -0
  114. package/src/converterFlags.js +284 -0
  115. package/src/converterRule.js +256 -0
  116. package/src/extLink.js +180 -0
  117. package/src/gallery.js +149 -0
  118. package/src/hasNowiki/index.js +44 -0
  119. package/src/hasNowiki/pre.js +40 -0
  120. package/src/heading.js +134 -0
  121. package/src/html.js +254 -0
  122. package/src/imageParameter.js +303 -0
  123. package/src/imagemap.js +199 -0
  124. package/src/imagemapLink.js +41 -0
  125. package/src/index.js +938 -0
  126. package/src/link/category.js +44 -0
  127. package/src/link/file.js +287 -0
  128. package/src/link/galleryImage.js +120 -0
  129. package/src/link/index.js +388 -0
  130. package/src/magicLink.js +151 -0
  131. package/src/nested/choose.js +24 -0
  132. package/src/nested/combobox.js +23 -0
  133. package/src/nested/index.js +96 -0
  134. package/src/nested/references.js +23 -0
  135. package/src/nowiki/comment.js +71 -0
  136. package/src/nowiki/dd.js +59 -0
  137. package/src/nowiki/doubleUnderscore.js +56 -0
  138. package/src/nowiki/hr.js +41 -0
  139. package/src/nowiki/index.js +56 -0
  140. package/src/nowiki/list.js +16 -0
  141. package/src/nowiki/noinclude.js +28 -0
  142. package/src/nowiki/quote.js +69 -0
  143. package/src/onlyinclude.js +64 -0
  144. package/src/paramTag/index.js +89 -0
  145. package/src/paramTag/inputbox.js +35 -0
  146. package/src/parameter.js +239 -0
  147. package/src/syntax.js +91 -0
  148. package/src/table/index.js +985 -0
  149. package/src/table/td.js +343 -0
  150. package/src/table/tr.js +319 -0
  151. package/src/tagPair/ext.js +146 -0
  152. package/src/tagPair/include.js +50 -0
  153. package/src/tagPair/index.js +131 -0
  154. package/src/transclude.js +843 -0
  155. package/tool/index.js +1209 -0
  156. package/typings/api.d.ts +9 -0
  157. package/typings/array.d.ts +29 -0
  158. package/typings/event.d.ts +22 -0
  159. package/typings/index.d.ts +118 -0
  160. package/typings/node.d.ts +35 -0
  161. package/typings/parser.d.ts +12 -0
  162. package/typings/table.d.ts +10 -0
  163. package/typings/token.d.ts +31 -0
  164. package/typings/tool.d.ts +6 -0
  165. package/util/base.js +17 -0
  166. package/util/debug.js +73 -0
  167. package/util/diff.js +76 -0
  168. package/util/lint.js +57 -0
  169. package/util/string.js +126 -0
  170. package/bundle/bundle.min.js +0 -38
  171. package/config/minimum.json +0 -135
  172. package/extensions/base.js +0 -154
  173. package/extensions/editor.css +0 -63
  174. package/extensions/editor.js +0 -183
  175. package/extensions/highlight.js +0 -40
  176. package/extensions/ui.css +0 -119
@@ -0,0 +1,199 @@
1
+ export = TranscludeToken;
2
+ /**
3
+ * 模板或魔术字
4
+ * @classdesc `{childNodes: [AtomToken|SyntaxToken, ...ParameterToken]}`
5
+ */
6
+ declare class TranscludeToken extends Token {
7
+ /**
8
+ * @param {string} title 模板标题或魔术字
9
+ * @param {[string, string|undefined][]} parts 参数各部分
10
+ * @param {import('../../typings/token').accum} accum
11
+ * @complexity `n`
12
+ * @throws `SyntaxError` 非法的模板名称
13
+ */
14
+ constructor(title: string, parts: [string, string | undefined][], config?: import("../../typings/token").ParserConfig, accum?: import('../../typings/token').accum);
15
+ modifier: string;
16
+ /** 是否存在重复参数 */
17
+ get duplication(): boolean;
18
+ /**
19
+ * 设置引用修饰符
20
+ * @param {string} modifier 引用修饰符
21
+ * @complexity `n`
22
+ */
23
+ setModifier(modifier?: string): boolean;
24
+ /**
25
+ * @override
26
+ * @param {string} selector
27
+ */
28
+ override toString(selector: string): string;
29
+ /**
30
+ * @override
31
+ * @returns {string}
32
+ * @complexity `n`
33
+ */
34
+ override text(): string;
35
+ /** @override */
36
+ override print(): string;
37
+ /** 是否是模板 */
38
+ isTemplate(): boolean;
39
+ /**
40
+ * @override
41
+ * @param {ParameterToken} token 待插入的子节点
42
+ * @param {number} i 插入位置
43
+ * @complexity `n`
44
+ */
45
+ override insertAt(token: ParameterToken, i?: number): ParameterToken;
46
+ /**
47
+ * 获取所有参数
48
+ * @returns {ParameterToken[]}
49
+ * @complexity `n`
50
+ */
51
+ getAllArgs(): ParameterToken[];
52
+ /**
53
+ * 获取匿名参数
54
+ * @complexity `n`
55
+ */
56
+ getAnonArgs(): ParameterToken[];
57
+ /**
58
+ * 获取指定参数
59
+ * @param {string|number} key 参数名
60
+ * @param {boolean} exact 是否匹配匿名性
61
+ * @param {boolean} copy 是否返回一个备份
62
+ * @complexity `n`
63
+ */
64
+ getArgs(key: string | number, exact: boolean, copy?: boolean): Set<ParameterToken>;
65
+ /**
66
+ * 获取重名参数
67
+ * @complexity `n`
68
+ * @returns {[string, ParameterToken[]][]}
69
+ * @throws `Error` 仅用于模板
70
+ */
71
+ getDuplicatedArgs(): [string, ParameterToken[]][];
72
+ /**
73
+ * 对特定魔术字获取可能的取值
74
+ * @this {ParameterToken}}
75
+ * @throws `Error` 不是可接受的魔术字
76
+ */
77
+ getPossibleValues(this: ParameterToken): Token[];
78
+ /** @override */
79
+ override cloneNode(): TranscludeToken;
80
+ /** 替换引用 */
81
+ subst(): void;
82
+ /** 安全的替换引用 */
83
+ safesubst(): void;
84
+ /**
85
+ * @override
86
+ * @param {number} i 移除位置
87
+ * @complexity `n`
88
+ */
89
+ override removeAt(i: number): ParameterToken;
90
+ /**
91
+ * 是否具有某参数
92
+ * @param {string|number} key 参数名
93
+ * @param {boolean} exact 是否匹配匿名性
94
+ * @complexity `n`
95
+ */
96
+ hasArg(key: string | number, exact: boolean): boolean;
97
+ /**
98
+ * 获取生效的指定参数
99
+ * @param {string|number} key 参数名
100
+ * @param {boolean} exact 是否匹配匿名性
101
+ * @complexity `n`
102
+ */
103
+ getArg(key: string | number, exact: boolean): ParameterToken;
104
+ /**
105
+ * 移除指定参数
106
+ * @param {string|number} key 参数名
107
+ * @param {boolean} exact 是否匹配匿名性
108
+ * @complexity `n`
109
+ */
110
+ removeArg(key: string | number, exact: boolean): void;
111
+ /**
112
+ * 获取所有参数名
113
+ * @complexity `n`
114
+ */
115
+ getKeys(): string[];
116
+ /**
117
+ * 获取参数值
118
+ * @param {string|number} key 参数名
119
+ * @complexity `n`
120
+ */
121
+ getValues(key: string | number): string[];
122
+ /**
123
+ * 获取生效的参数值
124
+ * @template {string|number|undefined} T
125
+ * @param {T} key 参数名
126
+ * @returns {T extends undefined ? Record<string, string> : string}
127
+ * @complexity `n`
128
+ */
129
+ getValue<T extends string | number>(key: T): T extends undefined ? Record<string, string> : string;
130
+ /**
131
+ * 插入匿名参数
132
+ * @param {string} val 参数值
133
+ * @returns {ParameterToken}
134
+ * @complexity `n`
135
+ * @throws `SyntaxError` 非法的匿名参数
136
+ */
137
+ newAnonArg(val: string): ParameterToken;
138
+ /**
139
+ * 设置参数值
140
+ * @param {string} key 参数名
141
+ * @param {string} value 参数值
142
+ * @complexity `n`
143
+ * @throws `Error` 仅用于模板
144
+ * @throws `SyntaxError` 非法的命名参数
145
+ */
146
+ setValue(key: string, value: string): void;
147
+ /**
148
+ * 将匿名参数改写为命名参数
149
+ * @complexity `n`
150
+ * @throws `Error` 仅用于模板
151
+ */
152
+ anonToNamed(): void;
153
+ /**
154
+ * 替换模板名
155
+ * @param {string} title 模板名
156
+ * @throws `Error` 仅用于模板
157
+ * @throws `SyntaxError` 非法的模板名称
158
+ */
159
+ replaceTemplate(title: string): void;
160
+ /**
161
+ * 替换模块名
162
+ * @param {string} title 模块名
163
+ * @throws `Error` 仅用于模块
164
+ * @throws `SyntaxError` 非法的模块名称
165
+ */
166
+ replaceModule(title: string): void;
167
+ /**
168
+ * 替换模块函数
169
+ * @param {string} func 模块函数名
170
+ * @throws `Error` 仅用于模块
171
+ * @throws `Error` 尚未指定模块名称
172
+ * @throws `SyntaxError` 非法的模块函数名
173
+ */
174
+ replaceFunction(func: string): void;
175
+ /**
176
+ * 是否存在重名参数
177
+ * @complexity `n`
178
+ * @throws `Error` 仅用于模板
179
+ */
180
+ hasDuplicatedArgs(): number;
181
+ /**
182
+ * 修复重名参数:
183
+ * `aggressive = false`时只移除空参数和全同参数,优先保留匿名参数,否则将所有匿名参数更改为命名。
184
+ * `aggressive = true`时还会尝试处理连续的以数字编号的参数。
185
+ * @param {boolean} aggressive 是否使用有更大风险的修复手段
186
+ * @complexity `n²`
187
+ */
188
+ fixDuplication(aggressive: boolean): string[];
189
+ /**
190
+ * 转义模板内的表格
191
+ * @returns {TranscludeToken}
192
+ * @complexity `n`
193
+ * @throws `Error` 转义失败
194
+ */
195
+ escapeTables(): TranscludeToken;
196
+ #private;
197
+ }
198
+ import Token = require(".");
199
+ import ParameterToken = require("./parameter");
@@ -0,0 +1,420 @@
1
+ export = $;
2
+ /**
3
+ * 代替TokenCollection构造器
4
+ * @param {AstNode|Iterable<AstNode>} arr 节点数组
5
+ */
6
+ declare function $(arr: AstNode | Iterable<AstNode>): TokenCollection;
7
+ declare namespace $ {
8
+ export { hasData, data, removeData, cache, CollectionCallback, AstListener };
9
+ }
10
+ import AstNode = require("../lib/node");
11
+ /** Token集合 */
12
+ declare class TokenCollection {
13
+ /**
14
+ * 生成匹配函数
15
+ * @param {string} method
16
+ * @param {string|AstNode|Iterable<AstNode>} selector
17
+ * @returns {(token: AstNode) => boolean}
18
+ */
19
+ static "__#22@#matchesGenerator": (method: string, selector: string | AstNode | Iterable<AstNode>) => (token: AstNode) => boolean;
20
+ /**
21
+ * @param {Iterable<AstNode>} arr 节点数组
22
+ * @param {TokenCollection} prevObject 前身
23
+ */
24
+ constructor(arr: Iterable<AstNode>, prevObject: TokenCollection);
25
+ /** @type {AstNode[]} */ array: AstNode[];
26
+ /** @type {TokenCollection} */ prevObject: TokenCollection;
27
+ /** 数组长度 */
28
+ get length(): number;
29
+ /** 数组长度 */
30
+ size(): number;
31
+ /**
32
+ * 抛出TypeError
33
+ * @param {string} method
34
+ * @param {...string} types 可接受的参数类型
35
+ */
36
+ typeError(method: string, ...types: string[]): never;
37
+ /** 转换为数组 */
38
+ toArray(): AstNode[];
39
+ /**
40
+ * 提取第n个元素
41
+ * @template {unknown} T
42
+ * @param {T} n 序号
43
+ * @returns {T extends number ? AstNode : AstNode[]}
44
+ */
45
+ get<T extends unknown>(n: T): T extends number ? AstNode : AstNode[];
46
+ /**
47
+ * 循环
48
+ * @param {CollectionCallback<void, AstNode>} callback
49
+ */
50
+ each(callback: CollectionCallback<void, AstNode>): TokenCollection;
51
+ /**
52
+ * map方法
53
+ * @param {CollectionCallback<*, AstNode>} callback
54
+ */
55
+ map(callback: CollectionCallback<any, AstNode>): any[] | TokenCollection;
56
+ /**
57
+ * 子序列
58
+ * @param {number} start 起点
59
+ * @param {number} end 终点
60
+ */
61
+ slice(start: number, end: number): TokenCollection;
62
+ /** 第一个元素 */
63
+ first(): TokenCollection;
64
+ /** 最后一个元素 */
65
+ last(): TokenCollection;
66
+ /**
67
+ * 任一元素
68
+ * @param {number} i 序号
69
+ */
70
+ eq(i: number): TokenCollection;
71
+ /** 使用空字符串join */
72
+ toString(): string;
73
+ /**
74
+ * 输出有效部分或设置文本
75
+ * @template {unknown} T
76
+ * @param {T} str 新文本
77
+ * @returns {T extends string|CollectionCallback<string, string> ? this : string}
78
+ */
79
+ text<T_1 extends unknown>(str: T_1): T_1 extends string | import("../../typings/tool").CollectionCallback<string, string> ? TokenCollection : string;
80
+ /**
81
+ * 判断是否存在元素满足选择器
82
+ * @param {string|AstNode|Iterable<AstNode>|CollectionCallback<boolean, AstNode>} selector
83
+ */
84
+ is(selector: string | AstNode | Iterable<AstNode> | CollectionCallback<boolean, AstNode>): boolean;
85
+ /**
86
+ * 筛选满足选择器的元素
87
+ * @param {string|AstNode|Iterable<AstNode>|CollectionCallback<boolean, AstNode>} selector
88
+ */
89
+ filter(selector: string | AstNode | Iterable<AstNode> | CollectionCallback<boolean, AstNode>): TokenCollection;
90
+ /**
91
+ * 筛选不满足选择器的元素
92
+ * @param {string|AstNode|Iterable<AstNode>|CollectionCallback<boolean, AstNode>} selector
93
+ */
94
+ not(selector: string | AstNode | Iterable<AstNode> | CollectionCallback<boolean, AstNode>): TokenCollection;
95
+ /**
96
+ * 搜索满足选择器的子节点
97
+ * @param {string|AstNode|Iterable<AstNode>} selector
98
+ */
99
+ find(selector: string | AstNode | Iterable<AstNode>): TokenCollection;
100
+ /**
101
+ * 是否存在满足条件的后代节点
102
+ * @param {string|AstNode} selector
103
+ */
104
+ has(selector: string | AstNode): boolean;
105
+ /**
106
+ * 最近的祖先
107
+ * @param {string} selector
108
+ */
109
+ closest(selector: string): TokenCollection;
110
+ /** 第一个Token节点在父容器中的序号 */
111
+ index(): number;
112
+ /**
113
+ * 添加元素
114
+ * @param {AstNode|Iterable<AstNode>} elements 新增的元素
115
+ */
116
+ add(elements: AstNode | Iterable<AstNode>): TokenCollection;
117
+ /**
118
+ * 添加prevObject
119
+ * @param {string} selector
120
+ */
121
+ addBack(selector: string): TokenCollection;
122
+ /**
123
+ * 父元素
124
+ * @param {string} selector
125
+ */
126
+ parent(selector: string): TokenCollection;
127
+ /**
128
+ * 祖先
129
+ * @param {string} selector
130
+ */
131
+ parents(selector: string): TokenCollection;
132
+ /**
133
+ * nextElementSibling
134
+ * @param {string} selector
135
+ */
136
+ next(selector: string): TokenCollection;
137
+ /**
138
+ * previousElementSibling
139
+ * @param {string} selector
140
+ */
141
+ prev(selector: string): TokenCollection;
142
+ /**
143
+ * 所有在后的兄弟
144
+ * @param {string} selector
145
+ */
146
+ nextAll(selector: string): TokenCollection;
147
+ /**
148
+ * 所有在前的兄弟
149
+ * @param {string} selector
150
+ */
151
+ prevAll(selector: string): TokenCollection;
152
+ /**
153
+ * 所有在后的兄弟
154
+ * @param {string} selector
155
+ */
156
+ siblings(selector: string): TokenCollection;
157
+ /**
158
+ * 直到选择器被满足的祖先
159
+ * @param {string|Token|Iterable<Token>} selector
160
+ * @param {string} filter 额外的筛选选择器
161
+ */
162
+ parentsUntil(selector: string | Token | Iterable<Token>, filter: string): TokenCollection;
163
+ /**
164
+ * 直到选择器被满足的后方兄弟
165
+ * @param {string|Token|Iterable<Token>} selector
166
+ * @param {string} filter 额外的筛选选择器
167
+ */
168
+ nextUntil(selector: string | Token | Iterable<Token>, filter: string): TokenCollection;
169
+ /**
170
+ * 直到选择器被满足的前方兄弟
171
+ * @param {string|Token|Iterable<Token>} selector
172
+ * @param {string} filter 额外的筛选选择器
173
+ */
174
+ prevUntil(selector: string | Token | Iterable<Token>, filter: string): TokenCollection;
175
+ /**
176
+ * Token子节点
177
+ * @param {string} selector
178
+ */
179
+ children(selector: string): TokenCollection;
180
+ /** 所有子节点 */
181
+ contents(): TokenCollection;
182
+ /**
183
+ * 存取数据
184
+ * @param {string|Record<string, *>} key 键
185
+ * @param {*} value 值
186
+ */
187
+ data(key: string | Record<string, any>, value: any): any;
188
+ /**
189
+ * 删除数据
190
+ * @param {string|string[]} name 键
191
+ */
192
+ removeData(name: string | string[]): TokenCollection;
193
+ /**
194
+ * 添加事件监听
195
+ * @param {string|Record<string, AstListener>} events 事件名
196
+ * @param {string|AstListener} selector
197
+ * @param {AstListener} handler 事件处理
198
+ */
199
+ on(events: string | Record<string, AstListener>, selector: string | AstListener, handler: AstListener): TokenCollection;
200
+ /**
201
+ * 添加一次性事件监听
202
+ * @param {string|Record<string, AstListener>} events 事件名
203
+ * @param {string|AstListener} selector
204
+ * @param {AstListener} handler 事件处理
205
+ */
206
+ one(events: string | Record<string, AstListener>, selector: string | AstListener, handler: AstListener): TokenCollection;
207
+ /**
208
+ * 移除事件监听
209
+ * @param {string|Record<string, AstListener|undefined>|undefined} events 事件名
210
+ * @param {string|AstListener} selector
211
+ * @param {AstListener} handler 事件处理
212
+ */
213
+ off(events: string | Record<string, AstListener | undefined> | undefined, selector: string | AstListener, handler: AstListener): TokenCollection;
214
+ /**
215
+ * 触发事件
216
+ * @param {string|Event} event 事件名
217
+ * @param {*} data 事件数据
218
+ */
219
+ trigger(event: string | Event, data: any): TokenCollection;
220
+ /**
221
+ * 伪装触发事件
222
+ * @param {string|Event} event 事件名
223
+ * @param {*} data 事件数据
224
+ */
225
+ triggerHandler(event: string | Event, data: any): unknown;
226
+ /**
227
+ * 在末尾插入
228
+ * @param {AstNode|Iterable<AstNode>|CollectionCallback<AstNode|Iterable<AstNode>, string>} content 插入内容
229
+ * @param {...AstNode|Iterable<AstNode>} additional 更多插入内容
230
+ */
231
+ append(content: AstNode | Iterable<AstNode> | CollectionCallback<AstNode | Iterable<AstNode>, string>, ...additional: (AstNode | Iterable<AstNode>)[]): TokenCollection;
232
+ /**
233
+ * 在开头插入
234
+ * @param {AstNode|Iterable<AstNode>|CollectionCallback<AstNode|Iterable<AstNode>, string>} content 插入内容
235
+ * @param {...AstNode|Iterable<AstNode>} additional 更多插入内容
236
+ */
237
+ prepend(content: AstNode | Iterable<AstNode> | CollectionCallback<AstNode | Iterable<AstNode>, string>, ...additional: (AstNode | Iterable<AstNode>)[]): TokenCollection;
238
+ /**
239
+ * 在后方插入
240
+ * @param {AstNode|Iterable<AstNode>|CollectionCallback<AstNode|Iterable<AstNode>, string>} content 插入内容
241
+ * @param {...AstNode|Iterable<AstNode>} additional 更多插入内容
242
+ */
243
+ before(content: AstNode | Iterable<AstNode> | CollectionCallback<AstNode | Iterable<AstNode>, string>, ...additional: (AstNode | Iterable<AstNode>)[]): TokenCollection;
244
+ /**
245
+ * 在前方插入
246
+ * @param {AstNode|Iterable<AstNode>|CollectionCallback<AstNode|Iterable<AstNode>, string>} content 插入内容
247
+ * @param {...AstNode|Iterable<AstNode>} additional 更多插入内容
248
+ */
249
+ after(content: AstNode | Iterable<AstNode> | CollectionCallback<AstNode | Iterable<AstNode>, string>, ...additional: (AstNode | Iterable<AstNode>)[]): TokenCollection;
250
+ /**
251
+ * 替换所有子节点
252
+ * @param {AstNode|Iterable<AstNode>|CollectionCallback<AstNode|Iterable<AstNode>, string>} content 插入内容
253
+ * @param {...AstNode|Iterable<AstNode>} additional 更多插入内容
254
+ */
255
+ html(content: AstNode | Iterable<AstNode> | CollectionCallback<AstNode | Iterable<AstNode>, string>): string | TokenCollection;
256
+ /**
257
+ * 替换自身
258
+ * @param {AstNode|Iterable<AstNode>|CollectionCallback<AstNode|Iterable<AstNode>, string>} content 插入内容
259
+ * @param {...AstNode|Iterable<AstNode>} additional 更多插入内容
260
+ */
261
+ replaceWith(content: AstNode | Iterable<AstNode> | CollectionCallback<AstNode | Iterable<AstNode>, string>): TokenCollection;
262
+ /**
263
+ * 移除自身
264
+ * @param {string} selector
265
+ */
266
+ remove(selector: string): TokenCollection;
267
+ /**
268
+ * 移除自身
269
+ * @param {string} selector
270
+ */
271
+ detach(selector: string): TokenCollection;
272
+ /** 清空子节点 */
273
+ empty(): TokenCollection;
274
+ /**
275
+ * 深拷贝
276
+ * @param {boolean} withData 是否复制数据
277
+ */
278
+ clone(withData: boolean): TokenCollection;
279
+ /**
280
+ * 插入到末尾
281
+ * @param {Token|Iterable<Token>} target 目标位置
282
+ */
283
+ appendTo(target: Token | Iterable<Token>): TokenCollection;
284
+ /**
285
+ * 插入到开头
286
+ * @param {Token|Iterable<Token>} target 目标位置
287
+ */
288
+ prependTo(target: Token | Iterable<Token>): TokenCollection;
289
+ /**
290
+ * 插入到前方
291
+ * @param {Token|Iterable<Token>} target 目标位置
292
+ */
293
+ insertBefore(target: Token | Iterable<Token>): TokenCollection;
294
+ /**
295
+ * 插入到后方
296
+ * @param {Token|Iterable<Token>} target 目标位置
297
+ */
298
+ insertAfter(target: Token | Iterable<Token>): TokenCollection;
299
+ /**
300
+ * 替换全部
301
+ * @param {Token|Iterable<Token>} target 目标位置
302
+ */
303
+ replaceAll(target: Token | Iterable<Token>): TokenCollection;
304
+ /**
305
+ * 获取几何属性
306
+ * @param {string|string[]} key 属性键
307
+ */
308
+ css(key: string | string[]): number | {
309
+ [k: string]: number;
310
+ };
311
+ /**
312
+ * 查询或修改值
313
+ * @param {string|boolean|(string|boolean)[]|CollectionCallback<string, string|boolean>} value 值
314
+ */
315
+ val(value: string | boolean | (string | boolean)[] | CollectionCallback<string, string | boolean>): any;
316
+ /**
317
+ * 标签属性
318
+ * @param {string|Record<string, string|boolean>} name 属性名
319
+ * @param {string|boolean|CollectionCallback<string|boolean, string|boolean>} value 属性值
320
+ */
321
+ attr(name: string | Record<string, string | boolean>, value: string | boolean | CollectionCallback<string | boolean, string | boolean>): any;
322
+ /**
323
+ * 节点属性
324
+ * @param {string|Record<string, string|boolean>} name 属性名
325
+ * @param {string|boolean|CollectionCallback<string|boolean, string|boolean>} value 属性值
326
+ */
327
+ prop(name: string | Record<string, string | boolean>, value: string | boolean | CollectionCallback<string | boolean, string | boolean>): any;
328
+ /**
329
+ * 标签属性
330
+ * @param {string} name 属性名
331
+ */
332
+ removeAttr(name: string): TokenCollection;
333
+ /**
334
+ * 节点属性
335
+ * @param {string} name 属性名
336
+ */
337
+ removeProp(name: string): TokenCollection;
338
+ /**
339
+ * 添加class
340
+ * @this {TokenCollection & {array: AttributesToken[]}}
341
+ * @param {string|string[]|CollectionCallback<string|string[], string>} className 类名
342
+ */
343
+ addClass(this: TokenCollection & {
344
+ array: AttributesToken[];
345
+ }, className: string | string[] | CollectionCallback<string | string[], string>): TokenCollection & {
346
+ array: AttributesToken[];
347
+ };
348
+ /**
349
+ * 移除class
350
+ * @this {TokenCollection & {array: AttributesToken[]}}
351
+ * @param {undefined|string|string[]|CollectionCallback<undefined|string|string[], string>} className 类名
352
+ */
353
+ removeClass(this: TokenCollection & {
354
+ array: AttributesToken[];
355
+ }, className: undefined | string | string[] | CollectionCallback<undefined | string | string[], string>): TokenCollection & {
356
+ array: AttributesToken[];
357
+ };
358
+ /**
359
+ * 增减class
360
+ * @this {TokenCollection & {array: AttributesToken[]}}
361
+ * @param {string|string[]|CollectionCallback<string|string[], string>} className 类名
362
+ * @param {boolean} state 是否增删
363
+ */
364
+ toggleClass(this: TokenCollection & {
365
+ array: AttributesToken[];
366
+ }, className: string | string[] | CollectionCallback<string | string[], string>, state: boolean): any;
367
+ /**
368
+ * 是否带有某class
369
+ * @this {{array: AttributesToken[]}}
370
+ * @param {string} className 类名
371
+ */
372
+ hasClass(this: {
373
+ array: AttributesToken[];
374
+ }, className: string): boolean;
375
+ /**
376
+ * 全包围
377
+ * @param {string[]|CollectionCallback<string[], undefined>} wrapper 包裹
378
+ * @throws `Error` 不是连续的兄弟节点
379
+ */
380
+ wrapAll(wrapper: string[] | CollectionCallback<string[], undefined>): TokenCollection;
381
+ /**
382
+ * 包裹内部
383
+ * @param {string[]|CollectionCallback<string[], undefined>} wrapper 包裹
384
+ */
385
+ wrapInner(wrapper: string[] | CollectionCallback<string[], undefined>): TokenCollection;
386
+ /**
387
+ * 包裹自身
388
+ * @param {string[]|CollectionCallback<string[], undefined>} wrapper 包裹
389
+ */
390
+ wrap(wrapper: string[] | CollectionCallback<string[], undefined>): TokenCollection;
391
+ /** 相对于文档的位置 */
392
+ offset(): {
393
+ top: any;
394
+ left: any;
395
+ };
396
+ /** 相对于父容器的位置 */
397
+ position(): {
398
+ top: number;
399
+ left: number;
400
+ };
401
+ /** 高度 */
402
+ height(): number;
403
+ /** 宽度 */
404
+ width(): number;
405
+ /** 内部高度 */
406
+ innerHeight(): number;
407
+ /** 内部宽度 */
408
+ innerWidth(): number;
409
+ /** @ignore */
410
+ [Symbol.iterator](): IterableIterator<AstNode>;
411
+ #private;
412
+ }
413
+ declare function hasData(element: Token): boolean;
414
+ declare function data(arg0: Token, arg1: string, arg2: any): any;
415
+ declare function removeData(arg0: Token, arg1: string): void;
416
+ declare var cache: WeakMap<Token, Record<string, any>>;
417
+ type CollectionCallback<T, S> = import('../../typings/tool').CollectionCallback<T, S>;
418
+ type AstListener = import('../../typings/event').AstListener;
419
+ import Token = require("../src");
420
+ import AttributesToken = require("../src/attributes");
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 是否是普通对象
3
+ * @param {*} obj 对象
4
+ */
5
+ export function isPlainObject(obj: any): boolean;
6
+ /**
7
+ * 延时
8
+ * @param {number} t 秒数
9
+ */
10
+ export function sleep(t: number): Promise<any>;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 定制TypeError消息
3
+ * @param {Function} constructor 类
4
+ * @param {string} method
5
+ * @param {...string} args 可接受的参数类型
6
+ * @throws `TypeError`
7
+ */
8
+ export function typeError({ name }: Function, method: string, ...args: string[]): never;
9
+ /**
10
+ * 不是被构造器或原型方法调用
11
+ * @param {string} name 方法名称
12
+ */
13
+ export function externalUse(name: string): boolean;
14
+ /**
15
+ * 撤销最近一次Mutation
16
+ * @param {import('../../typings/event').AstEvent} e 事件
17
+ * @param {import('../../typings/event').AstEventData} data 事件数据
18
+ * @throws `RangeError` 无法撤销的事件类型
19
+ */
20
+ export function undo(e: import('../../typings/event').AstEvent, data: import('../../typings/event').AstEventData): void;
@@ -0,0 +1,8 @@
1
+ export = diff;
2
+ /**
3
+ * 比较两个文件
4
+ * @param {string} oldStr 旧文本
5
+ * @param {string} newStr 新文本
6
+ * @param {string} uid 唯一标识
7
+ */
8
+ declare function diff(oldStr: string, newStr: string, uid?: string): Promise<void>;
@@ -0,0 +1,28 @@
1
+ export type LintError = import('../../typings/token').LintError;
2
+ /**
3
+ * 生成对于子节点的LintError对象
4
+ * @param {Token} child 子节点
5
+ * @param {{top: number, left: number, start: number}} boundingRect 父节点的绝对定位
6
+ * @param {string} msg 错误信息
7
+ * @param {'error'|'warning'} severity 严重程度
8
+ * @returns {LintError}
9
+ */
10
+ export function generateForChild(child: Token, boundingRect: {
11
+ top: number;
12
+ left: number;
13
+ start: number;
14
+ }, msg: string, severity?: 'error' | 'warning'): LintError;
15
+ /**
16
+ * 生成对于自己的LintError对象
17
+ * @param {Token} token 节点
18
+ * @param {{top: number, left: number, start: number}} boundingRect 绝对定位
19
+ * @param {string} msg 错误信息
20
+ * @param {'error'|'warning'} severity 严重程度
21
+ * @returns {LintError}
22
+ */
23
+ export function generateForSelf(token: Token, boundingRect: {
24
+ top: number;
25
+ left: number;
26
+ start: number;
27
+ }, msg: string, severity?: 'error' | 'warning'): LintError;
28
+ import Token = require("../src");