UNPKG

wikiparser-node

Version:

A Node.js parser for MediaWiki markup with AST

43 lines (42 loc) 1.77 kB
import { Token } from './index'; import { ExtToken } from './tagPair/ext'; import { NoincludeToken } from './nowiki/noinclude'; import type { Config, LintError } from '../base'; import type { CommentToken, AttributesToken, IncludeToken, ArgToken, TranscludeToken } from '../internal'; declare type Child = ExtToken | NoincludeToken | CommentToken | IncludeToken | ArgToken | TranscludeToken; /** * extension tag that has a nested structure * * 嵌套式的扩展标签 * @classdesc `{childNodes: (ExtToken|NoincludeToken|CommentToken)[]}` */ export declare abstract class NestedToken extends Token { #private; readonly name: string; readonly childNodes: readonly Child[]; abstract get firstChild(): Child | undefined; abstract get lastChild(): Child | undefined; abstract get nextSibling(): undefined; abstract get previousSibling(): AttributesToken | undefined; abstract get parentNode(): ExtToken | undefined; abstract get children(): Child[]; abstract get firstElementChild(): Child | undefined; abstract get lastElementChild(): Child | undefined; abstract get previousElementSibling(): AttributesToken | undefined; abstract get nextElementSibling(): undefined; abstract get parentElement(): ExtToken | undefined; get type(): 'ext-inner'; /** * @param regex 内层正则 * @param tags 内层标签名 */ constructor(wikitext: string | undefined, regex: RegExp | boolean, tags: readonly string[], config: Config, accum?: Token[]); /** * @override * @param token node to be inserted / 待插入的子节点 * @param i position to be inseted at / 插入位置 */ insertAt<T extends Token>(token: T, i?: number): T; cloneNode(): this; } export {};