wikiparser-node 0.11.0 → 1.0.0-beta.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.
Files changed (252) hide show
  1. package/config/.schema.json +26 -0
  2. package/dist/index.d.ts +61 -113
  3. package/dist/index.js +314 -0
  4. package/dist/lib/element.d.ts +122 -108
  5. package/dist/lib/element.js +656 -0
  6. package/dist/lib/node.d.ts +115 -221
  7. package/dist/lib/node.js +473 -0
  8. package/dist/lib/ranges.d.ts +27 -26
  9. package/dist/lib/ranges.js +130 -0
  10. package/dist/lib/text.d.ts +36 -28
  11. package/dist/lib/text.js +215 -0
  12. package/dist/lib/title.d.ts +26 -12
  13. package/dist/lib/title.js +108 -0
  14. package/dist/mixin/attributesParent.js +90 -0
  15. package/dist/mixin/fixed.js +29 -0
  16. package/dist/mixin/hidden.js +19 -0
  17. package/dist/mixin/singleLine.js +23 -0
  18. package/dist/mixin/sol.js +41 -0
  19. package/dist/parser/brackets.js +118 -0
  20. package/dist/parser/commentAndExt.js +48 -0
  21. package/dist/parser/converter.js +31 -0
  22. package/dist/parser/externalLinks.js +22 -0
  23. package/dist/parser/hrAndDoubleUnderscore.js +35 -0
  24. package/dist/parser/html.js +29 -0
  25. package/dist/parser/links.js +86 -0
  26. package/dist/parser/list.js +51 -0
  27. package/dist/parser/magicLinks.js +32 -0
  28. package/dist/parser/quotes.js +57 -0
  29. package/dist/parser/selector.js +158 -0
  30. package/dist/parser/table.js +108 -0
  31. package/dist/src/arg.d.ts +47 -23
  32. package/dist/src/arg.js +196 -0
  33. package/dist/src/atom.d.ts +12 -0
  34. package/dist/src/atom.js +22 -0
  35. package/dist/src/attribute.d.ts +74 -33
  36. package/dist/src/attribute.js +433 -0
  37. package/dist/src/attributes.d.ts +61 -55
  38. package/dist/src/attributes.js +371 -0
  39. package/dist/src/converter.d.ts +45 -71
  40. package/dist/src/converter.js +135 -0
  41. package/dist/src/converterFlags.d.ts +64 -39
  42. package/dist/src/converterFlags.js +235 -0
  43. package/dist/src/converterRule.d.ts +49 -27
  44. package/dist/src/converterRule.js +255 -0
  45. package/dist/src/extLink.d.ts +41 -38
  46. package/dist/src/extLink.js +154 -0
  47. package/dist/src/gallery.d.ts +59 -18
  48. package/dist/src/gallery.js +132 -0
  49. package/dist/src/heading.d.ts +60 -22
  50. package/dist/src/heading.js +135 -0
  51. package/dist/src/hidden.d.ts +20 -0
  52. package/dist/src/hidden.js +24 -0
  53. package/dist/src/html.d.ts +83 -29
  54. package/dist/src/html.js +242 -0
  55. package/dist/src/imageParameter.d.ts +59 -40
  56. package/dist/src/imageParameter.js +251 -0
  57. package/dist/src/imagemap.d.ts +65 -21
  58. package/dist/src/imagemap.js +169 -0
  59. package/dist/src/imagemapLink.d.ts +46 -14
  60. package/dist/src/imagemapLink.js +38 -0
  61. package/dist/src/index.d.ts +71 -105
  62. package/dist/src/index.js +826 -0
  63. package/dist/src/link/base.d.ts +71 -0
  64. package/dist/src/link/base.js +225 -0
  65. package/dist/src/link/category.d.ts +10 -11
  66. package/dist/src/link/category.js +26 -0
  67. package/dist/src/link/file.d.ts +61 -39
  68. package/dist/src/link/file.js +242 -0
  69. package/dist/src/link/galleryImage.d.ts +34 -12
  70. package/dist/src/link/galleryImage.js +98 -0
  71. package/dist/src/link/index.d.ts +25 -63
  72. package/dist/src/link/index.js +136 -0
  73. package/dist/src/magicLink.d.ts +22 -15
  74. package/dist/src/magicLink.js +126 -0
  75. package/dist/src/nested.d.ts +47 -0
  76. package/dist/src/nested.js +84 -0
  77. package/dist/src/nowiki/base.d.ts +39 -0
  78. package/dist/src/nowiki/base.js +29 -0
  79. package/dist/src/nowiki/comment.d.ts +31 -20
  80. package/dist/src/nowiki/comment.js +61 -0
  81. package/dist/src/nowiki/dd.d.ts +17 -11
  82. package/dist/src/nowiki/dd.js +50 -0
  83. package/dist/src/nowiki/doubleUnderscore.d.ts +28 -13
  84. package/dist/src/nowiki/doubleUnderscore.js +45 -0
  85. package/dist/src/nowiki/hr.d.ts +28 -10
  86. package/dist/src/nowiki/hr.js +33 -0
  87. package/dist/src/nowiki/index.d.ts +17 -23
  88. package/dist/src/nowiki/index.js +21 -0
  89. package/dist/src/nowiki/list.d.ts +15 -7
  90. package/dist/src/nowiki/list.js +11 -0
  91. package/dist/src/nowiki/noinclude.d.ts +20 -7
  92. package/dist/src/nowiki/noinclude.js +22 -0
  93. package/dist/src/nowiki/quote.d.ts +25 -10
  94. package/dist/src/nowiki/quote.js +55 -0
  95. package/dist/src/onlyinclude.d.ts +28 -12
  96. package/dist/src/onlyinclude.js +64 -0
  97. package/dist/src/paramTag/index.d.ts +40 -17
  98. package/dist/src/paramTag/index.js +76 -0
  99. package/dist/src/paramTag/inputbox.d.ts +8 -7
  100. package/dist/src/paramTag/inputbox.js +19 -0
  101. package/dist/src/parameter.d.ts +62 -41
  102. package/dist/src/parameter.js +201 -0
  103. package/dist/src/pre.d.ts +32 -0
  104. package/dist/src/pre.js +39 -0
  105. package/dist/src/syntax.d.ts +17 -14
  106. package/dist/src/syntax.js +65 -0
  107. package/dist/src/table/base.d.ts +55 -0
  108. package/dist/src/table/base.js +77 -0
  109. package/dist/src/table/index.d.ts +123 -156
  110. package/dist/src/table/index.js +811 -0
  111. package/dist/src/table/td.d.ts +90 -67
  112. package/dist/src/table/td.js +276 -0
  113. package/dist/src/table/tr.d.ts +30 -85
  114. package/dist/src/table/tr.js +48 -0
  115. package/dist/src/table/trBase.d.ts +72 -0
  116. package/dist/src/table/trBase.js +153 -0
  117. package/dist/src/tagPair/ext.d.ts +47 -11
  118. package/dist/src/tagPair/ext.js +127 -0
  119. package/dist/src/tagPair/include.d.ts +32 -13
  120. package/dist/src/tagPair/include.js +40 -0
  121. package/dist/src/tagPair/index.d.ts +44 -29
  122. package/dist/src/tagPair/index.js +111 -0
  123. package/dist/src/transclude.d.ts +88 -85
  124. package/dist/src/transclude.js +739 -0
  125. package/dist/util/base.js +26 -0
  126. package/dist/util/debug.js +52 -0
  127. package/dist/util/diff.js +69 -0
  128. package/dist/util/lint.js +38 -0
  129. package/dist/util/string.js +103 -0
  130. package/errors/README +1 -0
  131. package/i18n/zh-hans.json +1 -0
  132. package/i18n/zh-hant.json +1 -0
  133. package/package.json +21 -24
  134. package/printed/README +1 -0
  135. package/dist/mixin/attributeParent.d.ts +0 -9
  136. package/dist/mixin/fixedToken.d.ts +0 -8
  137. package/dist/mixin/hidden.d.ts +0 -8
  138. package/dist/mixin/singleLine.d.ts +0 -8
  139. package/dist/mixin/sol.d.ts +0 -8
  140. package/dist/parser/brackets.d.ts +0 -12
  141. package/dist/parser/commentAndExt.d.ts +0 -8
  142. package/dist/parser/converter.d.ts +0 -7
  143. package/dist/parser/externalLinks.d.ts +0 -7
  144. package/dist/parser/hrAndDoubleUnderscore.d.ts +0 -11
  145. package/dist/parser/html.d.ts +0 -7
  146. package/dist/parser/links.d.ts +0 -7
  147. package/dist/parser/list.d.ts +0 -7
  148. package/dist/parser/magicLinks.d.ts +0 -7
  149. package/dist/parser/quotes.d.ts +0 -7
  150. package/dist/parser/selector.d.ts +0 -12
  151. package/dist/parser/table.d.ts +0 -11
  152. package/dist/src/atom/hidden.d.ts +0 -5
  153. package/dist/src/atom/index.d.ts +0 -15
  154. package/dist/src/charinsert.d.ts +0 -32
  155. package/dist/src/hasNowiki/index.d.ts +0 -14
  156. package/dist/src/hasNowiki/pre.d.ts +0 -13
  157. package/dist/src/nested/choose.d.ts +0 -13
  158. package/dist/src/nested/combobox.d.ts +0 -13
  159. package/dist/src/nested/index.d.ts +0 -18
  160. package/dist/src/nested/references.d.ts +0 -13
  161. package/dist/tool/index.d.ts +0 -420
  162. package/dist/util/base.d.ts +0 -10
  163. package/dist/util/debug.d.ts +0 -20
  164. package/dist/util/diff.d.ts +0 -8
  165. package/dist/util/lint.d.ts +0 -28
  166. package/dist/util/string.d.ts +0 -55
  167. package/index.js +0 -333
  168. package/lib/element.js +0 -618
  169. package/lib/node.js +0 -730
  170. package/lib/ranges.js +0 -130
  171. package/lib/text.js +0 -265
  172. package/lib/title.js +0 -83
  173. package/mixin/attributeParent.js +0 -117
  174. package/mixin/fixedToken.js +0 -40
  175. package/mixin/hidden.js +0 -21
  176. package/mixin/singleLine.js +0 -31
  177. package/mixin/sol.js +0 -54
  178. package/parser/brackets.js +0 -128
  179. package/parser/commentAndExt.js +0 -62
  180. package/parser/converter.js +0 -46
  181. package/parser/externalLinks.js +0 -33
  182. package/parser/hrAndDoubleUnderscore.js +0 -49
  183. package/parser/html.js +0 -42
  184. package/parser/links.js +0 -94
  185. package/parser/list.js +0 -59
  186. package/parser/magicLinks.js +0 -41
  187. package/parser/quotes.js +0 -64
  188. package/parser/selector.js +0 -180
  189. package/parser/table.js +0 -114
  190. package/src/arg.js +0 -207
  191. package/src/atom/hidden.js +0 -13
  192. package/src/atom/index.js +0 -43
  193. package/src/attribute.js +0 -472
  194. package/src/attributes.js +0 -453
  195. package/src/charinsert.js +0 -97
  196. package/src/converter.js +0 -176
  197. package/src/converterFlags.js +0 -284
  198. package/src/converterRule.js +0 -256
  199. package/src/extLink.js +0 -180
  200. package/src/gallery.js +0 -149
  201. package/src/hasNowiki/index.js +0 -44
  202. package/src/hasNowiki/pre.js +0 -40
  203. package/src/heading.js +0 -134
  204. package/src/html.js +0 -254
  205. package/src/imageParameter.js +0 -303
  206. package/src/imagemap.js +0 -199
  207. package/src/imagemapLink.js +0 -41
  208. package/src/index.js +0 -938
  209. package/src/link/category.js +0 -44
  210. package/src/link/file.js +0 -287
  211. package/src/link/galleryImage.js +0 -120
  212. package/src/link/index.js +0 -388
  213. package/src/magicLink.js +0 -151
  214. package/src/nested/choose.js +0 -24
  215. package/src/nested/combobox.js +0 -23
  216. package/src/nested/index.js +0 -96
  217. package/src/nested/references.js +0 -23
  218. package/src/nowiki/comment.js +0 -71
  219. package/src/nowiki/dd.js +0 -59
  220. package/src/nowiki/doubleUnderscore.js +0 -56
  221. package/src/nowiki/hr.js +0 -41
  222. package/src/nowiki/index.js +0 -56
  223. package/src/nowiki/list.js +0 -16
  224. package/src/nowiki/noinclude.js +0 -28
  225. package/src/nowiki/quote.js +0 -69
  226. package/src/onlyinclude.js +0 -64
  227. package/src/paramTag/index.js +0 -89
  228. package/src/paramTag/inputbox.js +0 -35
  229. package/src/parameter.js +0 -239
  230. package/src/syntax.js +0 -91
  231. package/src/table/index.js +0 -985
  232. package/src/table/td.js +0 -343
  233. package/src/table/tr.js +0 -319
  234. package/src/tagPair/ext.js +0 -146
  235. package/src/tagPair/include.js +0 -50
  236. package/src/tagPair/index.js +0 -131
  237. package/src/transclude.js +0 -843
  238. package/tool/index.js +0 -1209
  239. package/typings/api.d.ts +0 -9
  240. package/typings/array.d.ts +0 -29
  241. package/typings/event.d.ts +0 -22
  242. package/typings/index.d.ts +0 -118
  243. package/typings/node.d.ts +0 -35
  244. package/typings/parser.d.ts +0 -12
  245. package/typings/table.d.ts +0 -10
  246. package/typings/token.d.ts +0 -31
  247. package/typings/tool.d.ts +0 -6
  248. package/util/base.js +0 -17
  249. package/util/debug.js +0 -73
  250. package/util/diff.js +0 -76
  251. package/util/lint.js +0 -57
  252. package/util/string.js +0 -126
@@ -1,162 +1,176 @@
1
- export = AstElement;
1
+ import * as Parser from '../index';
2
+ import * as AstNode from './node';
3
+ import AstText = require('./text');
4
+ import type { AstNodeTypes } from './node';
2
5
  /** 类似HTMLElement */
3
- declare class AstElement extends AstNode {
4
- /** @type {string} */ name: string;
5
- /** 子节点总数 */
6
+ declare abstract class AstElement extends AstNode {
7
+ #private;
8
+ /** @browser */
9
+ name?: string;
10
+ /**
11
+ * 子节点总数
12
+ * @browser
13
+ */
6
14
  get length(): number;
15
+ /** 全部非文本子节点 */
16
+ get children(): import('../src')[];
17
+ /** 首位非文本子节点 */
18
+ get firstElementChild(): import('../src') | undefined;
19
+ /** 末位非文本子节点 */
20
+ get lastElementChild(): import('../src') | undefined;
21
+ /** 非文本子节点总数 */
22
+ get childElementCount(): number;
23
+ /** 父节点 */
24
+ get parentElement(): import('../src') | undefined;
25
+ /** AstElement.prototype.text()的getter写法 */
26
+ get outerText(): string;
27
+ /** 不可见 */
28
+ get hidden(): boolean;
29
+ /** 后一个可见的兄弟节点 */
30
+ get nextVisibleSibling(): AstNodeTypes | undefined;
31
+ /** 前一个可见的兄弟节点 */
32
+ get previousVisibleSibling(): AstNodeTypes | undefined;
33
+ /** 内部高度 */
34
+ get clientHeight(): number | undefined;
35
+ /** 内部宽度 */
36
+ get clientWidth(): number | undefined;
37
+ constructor();
7
38
  /**
8
- * 全部非文本子节点
9
- * @complexity `n`
39
+ * 可见部分
40
+ * @browser
41
+ * @param separator 子节点间的连接符
10
42
  */
11
- get children(): AstElement[];
43
+ text(separator?: string): string;
12
44
  /**
13
- * 首位非文本子节点
14
- * @returns {this}
45
+ * 合并相邻的文本子节点
46
+ * @browser
15
47
  */
16
- get firstElementChild(): AstElement;
48
+ normalize(): void;
17
49
  /**
18
- * 末位非文本子节点
19
- * @complexity `n`
50
+ * 移除子节点
51
+ * @browser
52
+ * @param i 移除位置
20
53
  */
21
- get lastElementChild(): AstElement;
54
+ removeAt(i: number): AstNodeTypes;
22
55
  /**
23
- * 非文本子节点总数
24
- * @complexity `n`
56
+ * 插入子节点
57
+ * @browser
58
+ * @param node 待插入的子节点
59
+ * @param i 插入位置
60
+ * @throws `RangeError` 不能插入祖先节点
25
61
  */
26
- get childElementCount(): number;
27
- /** 父节点 */
28
- get parentElement(): this;
62
+ insertAt<T extends AstNodeTypes>(node: T, i?: number): T;
29
63
  /**
30
- * AstElement.prototype.text()的getter写法
31
- * @complexity `n`
64
+ * 最近的祖先节点
65
+ * @browser
32
66
  */
33
- get outerText(): string;
67
+ closest(selector: string): import('../src') | undefined;
34
68
  /**
35
- * 不可见
69
+ * 在末尾批量插入子节点
70
+ * @browser
71
+ * @param elements 插入节点
36
72
  */
37
- get hidden(): boolean;
73
+ append(...elements: (AstNodeTypes | string)[]): void;
38
74
  /**
39
- * 后一个可见的兄弟节点
40
- * @complexity `n`
75
+ * 批量替换子节点
76
+ * @browser
77
+ * @param elements 新的子节点
41
78
  */
42
- get nextVisibleSibling(): this;
79
+ replaceChildren(...elements: (AstNodeTypes | string)[]): void;
43
80
  /**
44
- * 前一个可见的兄弟节点
45
- * @complexity `n`
81
+ * 修改文本子节点
82
+ * @browser
83
+ * @param str 新文本
84
+ * @param i 子节点位置
85
+ * @throws `RangeError` 对应位置的子节点不是文本节点
46
86
  */
47
- get previousVisibleSibling(): this;
48
- /** 内部高度 */
49
- get clientHeight(): number;
50
- /** 内部宽度 */
51
- get clientWidth(): number;
87
+ setText(str: string, i?: number): string;
52
88
  /**
53
- * 销毁
54
- * @complexity `n`
89
+ * 还原为wikitext
90
+ * @browser
91
+ * @param separator 子节点间的连接符
55
92
  */
56
- destroy(): void;
93
+ toString(selector?: string, separator?: string): string;
57
94
  /**
58
- * 检查是否符合选择器
59
- * @param {string|SelectorArray[]} selector
60
- * @returns {boolean}
61
- * @complexity `n`
95
+ * Linter
96
+ * @browser
62
97
  */
63
- matches(selector: string | SelectorArray[]): boolean;
98
+ lint(start?: number): Parser.LintError[];
64
99
  /**
65
- * 符合选择器的第一个后代节点
66
- * @param {string} selector
67
- * @returns {this|undefined}
68
- * @complexity `n`
100
+ * 以HTML格式打印
101
+ * @browser
102
+ * @param opt 选项
69
103
  */
70
- querySelector(selector: string): this | undefined;
104
+ print(opt?: PrintOpt): string;
71
105
  /**
72
- * 符合选择器的所有后代节点
73
- * @param {string} selector
74
- * @complexity `n`
106
+ * 保存为JSON
107
+ * @browser
108
+ * @param file 文件名
75
109
  */
76
- querySelectorAll(selector: string): AstElement[];
110
+ json(file?: string): unknown;
111
+ /** 销毁 */
112
+ destroy(): void;
113
+ /** 检查是否符合选择器 */
114
+ matches(selector?: string): boolean;
115
+ /** 符合选择器的第一个后代节点 */
116
+ querySelector(selector: string): import('../src') | undefined;
117
+ /** 符合选择器的所有后代节点 */
118
+ querySelectorAll(selector: string): import('../src')[];
77
119
  /**
78
120
  * id选择器
79
- * @param {string} id id名
121
+ * @param id id名
80
122
  */
81
- getElementById(id: string): AstElement;
123
+ getElementById(id: string): import('../src') | undefined;
82
124
  /**
83
125
  * 类选择器
84
- * @param {string} className 类名之一
126
+ * @param className 类名之一
85
127
  */
86
- getElementsByClassName(className: string): AstElement[];
128
+ getElementsByClassName(className: string): import('../src')[];
87
129
  /**
88
130
  * 标签名选择器
89
- * @param {string} name 标签名
131
+ * @param name 标签名
90
132
  */
91
- getElementsByTagName(name: string): AstElement[];
133
+ getElementsByTagName(name: string): import('../src')[];
92
134
  /**
93
135
  * 获取某一行的wikitext
94
- * @param {number} n 行号
136
+ * @param n 行号
95
137
  */
96
- getLine(n: number): string;
138
+ getLine(n: number): string | undefined;
97
139
  /**
98
140
  * 在开头批量插入子节点
99
- * @param {...this} elements 插入节点
100
- * @complexity `n`
101
- */
102
- prepend(...elements: AstElement[]): void;
103
- /**
104
- * 最近的祖先节点
105
- * @param {string} selector
106
- */
107
- closest(selector: string): this;
108
- /**
109
- * 在末尾批量插入子节点
110
- * @param {...this} elements 插入节点
111
- * @complexity `n`
112
- */
113
- append(...elements: AstElement[]): void;
114
- /**
115
- * 批量替换子节点
116
- * @param {...this} elements 新的子节点
117
- * @complexity `n`
141
+ * @param elements 插入节点
118
142
  */
119
- replaceChildren(...elements: AstElement[]): void;
143
+ prepend(...elements: (AstNodeTypes | string)[]): void;
120
144
  /**
121
- * 修改文本子节点
122
- * @param {string} str 新文本
123
- * @param {number} i 子节点位置
124
- * @throws `RangeError` 对应位置的子节点不是文本节点
125
- */
126
- setText(str: string, i?: number): string;
127
- /**
128
- * 还原为wikitext
129
- * @param {string} selector
130
- * @param {string} separator 子节点间的连接符
131
- * @returns {string}
145
+ * 移除子节点
146
+ * @param node 子节点
132
147
  */
133
- toString(selector: string, separator?: string): string;
148
+ removeChild<T extends AstNodeTypes>(node: T): T;
134
149
  /**
135
- * Linter
136
- * @param {number} start 起始位置
150
+ * 在末尾插入子节点
151
+ * @param node 插入节点
137
152
  */
138
- lint(start?: number): import("../../typings/token").LintError[];
153
+ appendChild(node: string): AstText;
154
+ /** @ignore */
155
+ appendChild<T extends AstNodeTypes>(node: T): T;
139
156
  /**
140
- * 以HTML格式打印
141
- * @param {import('../../typings/node').printOpt} opt 选项
142
- * @returns {string}
157
+ * 在指定位置前插入子节点
158
+ * @param child 插入节点
159
+ * @param reference 指定位置处的子节点
143
160
  */
144
- print(opt?: import('../../typings/node').printOpt): string;
161
+ insertBefore(child: string, reference?: AstNodeTypes): AstText;
162
+ /** @ignore */
163
+ insertBefore<T extends AstNodeTypes>(child: T, reference?: AstNodeTypes): T;
145
164
  /**
146
- * 保存为JSON
147
- * @param {string} file 文件名
148
- * @returns {Record<string, *>}
165
+ * 替换子节点
166
+ * @param newChild 新子节点
167
+ * @param oldChild 原子节点
149
168
  */
150
- json(file: string): Record<string, any>;
169
+ replaceChild<T extends AstNodeTypes>(newChild: AstNodeTypes | string, oldChild: T): T;
151
170
  /**
152
171
  * 输出AST
153
- * @param {number} depth 当前深度
172
+ * @param depth 当前深度
154
173
  */
155
174
  echo(depth?: number): void;
156
- #private;
157
- }
158
- declare namespace AstElement {
159
- export { SelectorArray };
160
175
  }
161
- import AstNode = require("./node");
162
- type SelectorArray = import('../../typings/parser').SelectorArray;
176
+ export = AstElement;