wikiparser-node
Version:
A Node.js parser for MediaWiki markup with AST
43 lines (42 loc) • 1.77 kB
TypeScript
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 {};