wikiparser-node 0.11.0 → 1.0.0-beta.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 (251) hide show
  1. package/dist/index.d.ts +59 -113
  2. package/dist/index.js +307 -0
  3. package/dist/lib/element.d.ts +122 -108
  4. package/dist/lib/element.js +656 -0
  5. package/dist/lib/node.d.ts +115 -221
  6. package/dist/lib/node.js +473 -0
  7. package/dist/lib/ranges.d.ts +27 -26
  8. package/dist/lib/ranges.js +130 -0
  9. package/dist/lib/text.d.ts +36 -28
  10. package/dist/lib/text.js +215 -0
  11. package/dist/lib/title.d.ts +25 -12
  12. package/dist/lib/title.js +100 -0
  13. package/dist/mixin/attributesParent.js +90 -0
  14. package/dist/mixin/fixed.js +29 -0
  15. package/dist/mixin/hidden.js +19 -0
  16. package/dist/mixin/singleLine.js +23 -0
  17. package/dist/mixin/sol.js +41 -0
  18. package/dist/parser/brackets.js +117 -0
  19. package/dist/parser/commentAndExt.js +48 -0
  20. package/dist/parser/converter.js +31 -0
  21. package/dist/parser/externalLinks.js +22 -0
  22. package/dist/parser/hrAndDoubleUnderscore.js +33 -0
  23. package/dist/parser/html.js +29 -0
  24. package/dist/parser/links.js +86 -0
  25. package/dist/parser/list.js +51 -0
  26. package/dist/parser/magicLinks.js +32 -0
  27. package/dist/parser/quotes.js +57 -0
  28. package/dist/parser/selector.js +158 -0
  29. package/dist/parser/table.js +108 -0
  30. package/dist/src/arg.d.ts +47 -23
  31. package/dist/src/arg.js +196 -0
  32. package/dist/src/atom.d.ts +12 -0
  33. package/dist/src/atom.js +22 -0
  34. package/dist/src/attribute.d.ts +74 -33
  35. package/dist/src/attribute.js +433 -0
  36. package/dist/src/attributes.d.ts +61 -55
  37. package/dist/src/attributes.js +371 -0
  38. package/dist/src/converter.d.ts +45 -71
  39. package/dist/src/converter.js +135 -0
  40. package/dist/src/converterFlags.d.ts +64 -39
  41. package/dist/src/converterFlags.js +235 -0
  42. package/dist/src/converterRule.d.ts +49 -27
  43. package/dist/src/converterRule.js +255 -0
  44. package/dist/src/extLink.d.ts +41 -38
  45. package/dist/src/extLink.js +154 -0
  46. package/dist/src/gallery.d.ts +59 -18
  47. package/dist/src/gallery.js +132 -0
  48. package/dist/src/heading.d.ts +60 -22
  49. package/dist/src/heading.js +135 -0
  50. package/dist/src/hidden.d.ts +20 -0
  51. package/dist/src/hidden.js +24 -0
  52. package/dist/src/html.d.ts +83 -29
  53. package/dist/src/html.js +242 -0
  54. package/dist/src/imageParameter.d.ts +59 -40
  55. package/dist/src/imageParameter.js +251 -0
  56. package/dist/src/imagemap.d.ts +65 -21
  57. package/dist/src/imagemap.js +164 -0
  58. package/dist/src/imagemapLink.d.ts +46 -14
  59. package/dist/src/imagemapLink.js +38 -0
  60. package/dist/src/index.d.ts +71 -105
  61. package/dist/src/index.js +826 -0
  62. package/dist/src/link/base.d.ts +71 -0
  63. package/dist/src/link/base.js +225 -0
  64. package/dist/src/link/category.d.ts +10 -11
  65. package/dist/src/link/category.js +26 -0
  66. package/dist/src/link/file.d.ts +61 -39
  67. package/dist/src/link/file.js +242 -0
  68. package/dist/src/link/galleryImage.d.ts +34 -12
  69. package/dist/src/link/galleryImage.js +98 -0
  70. package/dist/src/link/index.d.ts +25 -63
  71. package/dist/src/link/index.js +136 -0
  72. package/dist/src/magicLink.d.ts +22 -15
  73. package/dist/src/magicLink.js +126 -0
  74. package/dist/src/nested.d.ts +47 -0
  75. package/dist/src/nested.js +84 -0
  76. package/dist/src/nowiki/base.d.ts +39 -0
  77. package/dist/src/nowiki/base.js +29 -0
  78. package/dist/src/nowiki/comment.d.ts +31 -20
  79. package/dist/src/nowiki/comment.js +61 -0
  80. package/dist/src/nowiki/dd.d.ts +17 -11
  81. package/dist/src/nowiki/dd.js +50 -0
  82. package/dist/src/nowiki/doubleUnderscore.d.ts +28 -13
  83. package/dist/src/nowiki/doubleUnderscore.js +45 -0
  84. package/dist/src/nowiki/hr.d.ts +28 -10
  85. package/dist/src/nowiki/hr.js +33 -0
  86. package/dist/src/nowiki/index.d.ts +17 -23
  87. package/dist/src/nowiki/index.js +21 -0
  88. package/dist/src/nowiki/list.d.ts +15 -7
  89. package/dist/src/nowiki/list.js +11 -0
  90. package/dist/src/nowiki/noinclude.d.ts +20 -7
  91. package/dist/src/nowiki/noinclude.js +22 -0
  92. package/dist/src/nowiki/quote.d.ts +25 -10
  93. package/dist/src/nowiki/quote.js +55 -0
  94. package/dist/src/onlyinclude.d.ts +28 -12
  95. package/dist/src/onlyinclude.js +64 -0
  96. package/dist/src/paramTag/index.d.ts +40 -17
  97. package/dist/src/paramTag/index.js +76 -0
  98. package/dist/src/paramTag/inputbox.d.ts +8 -7
  99. package/dist/src/paramTag/inputbox.js +19 -0
  100. package/dist/src/parameter.d.ts +62 -41
  101. package/dist/src/parameter.js +201 -0
  102. package/dist/src/pre.d.ts +32 -0
  103. package/dist/src/pre.js +39 -0
  104. package/dist/src/syntax.d.ts +17 -14
  105. package/dist/src/syntax.js +65 -0
  106. package/dist/src/table/base.d.ts +55 -0
  107. package/dist/src/table/base.js +77 -0
  108. package/dist/src/table/index.d.ts +123 -156
  109. package/dist/src/table/index.js +811 -0
  110. package/dist/src/table/td.d.ts +90 -67
  111. package/dist/src/table/td.js +276 -0
  112. package/dist/src/table/tr.d.ts +30 -85
  113. package/dist/src/table/tr.js +48 -0
  114. package/dist/src/table/trBase.d.ts +72 -0
  115. package/dist/src/table/trBase.js +153 -0
  116. package/dist/src/tagPair/ext.d.ts +47 -11
  117. package/dist/src/tagPair/ext.js +127 -0
  118. package/dist/src/tagPair/include.d.ts +32 -13
  119. package/dist/src/tagPair/include.js +40 -0
  120. package/dist/src/tagPair/index.d.ts +44 -29
  121. package/dist/src/tagPair/index.js +111 -0
  122. package/dist/src/transclude.d.ts +88 -85
  123. package/dist/src/transclude.js +739 -0
  124. package/dist/util/base.js +26 -0
  125. package/dist/util/debug.js +52 -0
  126. package/dist/util/diff.js +69 -0
  127. package/dist/util/lint.js +38 -0
  128. package/dist/util/string.js +103 -0
  129. package/errors/README +1 -0
  130. package/i18n/zh-hans.json +1 -0
  131. package/i18n/zh-hant.json +1 -0
  132. package/package.json +11 -14
  133. package/printed/README +1 -0
  134. package/dist/mixin/attributeParent.d.ts +0 -9
  135. package/dist/mixin/fixedToken.d.ts +0 -8
  136. package/dist/mixin/hidden.d.ts +0 -8
  137. package/dist/mixin/singleLine.d.ts +0 -8
  138. package/dist/mixin/sol.d.ts +0 -8
  139. package/dist/parser/brackets.d.ts +0 -12
  140. package/dist/parser/commentAndExt.d.ts +0 -8
  141. package/dist/parser/converter.d.ts +0 -7
  142. package/dist/parser/externalLinks.d.ts +0 -7
  143. package/dist/parser/hrAndDoubleUnderscore.d.ts +0 -11
  144. package/dist/parser/html.d.ts +0 -7
  145. package/dist/parser/links.d.ts +0 -7
  146. package/dist/parser/list.d.ts +0 -7
  147. package/dist/parser/magicLinks.d.ts +0 -7
  148. package/dist/parser/quotes.d.ts +0 -7
  149. package/dist/parser/selector.d.ts +0 -12
  150. package/dist/parser/table.d.ts +0 -11
  151. package/dist/src/atom/hidden.d.ts +0 -5
  152. package/dist/src/atom/index.d.ts +0 -15
  153. package/dist/src/charinsert.d.ts +0 -32
  154. package/dist/src/hasNowiki/index.d.ts +0 -14
  155. package/dist/src/hasNowiki/pre.d.ts +0 -13
  156. package/dist/src/nested/choose.d.ts +0 -13
  157. package/dist/src/nested/combobox.d.ts +0 -13
  158. package/dist/src/nested/index.d.ts +0 -18
  159. package/dist/src/nested/references.d.ts +0 -13
  160. package/dist/tool/index.d.ts +0 -420
  161. package/dist/util/base.d.ts +0 -10
  162. package/dist/util/debug.d.ts +0 -20
  163. package/dist/util/diff.d.ts +0 -8
  164. package/dist/util/lint.d.ts +0 -28
  165. package/dist/util/string.d.ts +0 -55
  166. package/index.js +0 -333
  167. package/lib/element.js +0 -618
  168. package/lib/node.js +0 -730
  169. package/lib/ranges.js +0 -130
  170. package/lib/text.js +0 -265
  171. package/lib/title.js +0 -83
  172. package/mixin/attributeParent.js +0 -117
  173. package/mixin/fixedToken.js +0 -40
  174. package/mixin/hidden.js +0 -21
  175. package/mixin/singleLine.js +0 -31
  176. package/mixin/sol.js +0 -54
  177. package/parser/brackets.js +0 -128
  178. package/parser/commentAndExt.js +0 -62
  179. package/parser/converter.js +0 -46
  180. package/parser/externalLinks.js +0 -33
  181. package/parser/hrAndDoubleUnderscore.js +0 -49
  182. package/parser/html.js +0 -42
  183. package/parser/links.js +0 -94
  184. package/parser/list.js +0 -59
  185. package/parser/magicLinks.js +0 -41
  186. package/parser/quotes.js +0 -64
  187. package/parser/selector.js +0 -180
  188. package/parser/table.js +0 -114
  189. package/src/arg.js +0 -207
  190. package/src/atom/hidden.js +0 -13
  191. package/src/atom/index.js +0 -43
  192. package/src/attribute.js +0 -472
  193. package/src/attributes.js +0 -453
  194. package/src/charinsert.js +0 -97
  195. package/src/converter.js +0 -176
  196. package/src/converterFlags.js +0 -284
  197. package/src/converterRule.js +0 -256
  198. package/src/extLink.js +0 -180
  199. package/src/gallery.js +0 -149
  200. package/src/hasNowiki/index.js +0 -44
  201. package/src/hasNowiki/pre.js +0 -40
  202. package/src/heading.js +0 -134
  203. package/src/html.js +0 -254
  204. package/src/imageParameter.js +0 -303
  205. package/src/imagemap.js +0 -199
  206. package/src/imagemapLink.js +0 -41
  207. package/src/index.js +0 -938
  208. package/src/link/category.js +0 -44
  209. package/src/link/file.js +0 -287
  210. package/src/link/galleryImage.js +0 -120
  211. package/src/link/index.js +0 -388
  212. package/src/magicLink.js +0 -151
  213. package/src/nested/choose.js +0 -24
  214. package/src/nested/combobox.js +0 -23
  215. package/src/nested/index.js +0 -96
  216. package/src/nested/references.js +0 -23
  217. package/src/nowiki/comment.js +0 -71
  218. package/src/nowiki/dd.js +0 -59
  219. package/src/nowiki/doubleUnderscore.js +0 -56
  220. package/src/nowiki/hr.js +0 -41
  221. package/src/nowiki/index.js +0 -56
  222. package/src/nowiki/list.js +0 -16
  223. package/src/nowiki/noinclude.js +0 -28
  224. package/src/nowiki/quote.js +0 -69
  225. package/src/onlyinclude.js +0 -64
  226. package/src/paramTag/index.js +0 -89
  227. package/src/paramTag/inputbox.js +0 -35
  228. package/src/parameter.js +0 -239
  229. package/src/syntax.js +0 -91
  230. package/src/table/index.js +0 -985
  231. package/src/table/td.js +0 -343
  232. package/src/table/tr.js +0 -319
  233. package/src/tagPair/ext.js +0 -146
  234. package/src/tagPair/include.js +0 -50
  235. package/src/tagPair/index.js +0 -131
  236. package/src/transclude.js +0 -843
  237. package/tool/index.js +0 -1209
  238. package/typings/api.d.ts +0 -9
  239. package/typings/array.d.ts +0 -29
  240. package/typings/event.d.ts +0 -22
  241. package/typings/index.d.ts +0 -118
  242. package/typings/node.d.ts +0 -35
  243. package/typings/parser.d.ts +0 -12
  244. package/typings/table.d.ts +0 -10
  245. package/typings/token.d.ts +0 -31
  246. package/typings/tool.d.ts +0 -6
  247. package/util/base.js +0 -17
  248. package/util/debug.js +0 -73
  249. package/util/diff.js +0 -76
  250. package/util/lint.js +0 -57
  251. 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;