wikiparser-node
Version:
A Node.js parser for MediaWiki markup with AST
59 lines (58 loc) • 1.8 kB
TypeScript
import { Token } from './index';
import { AtomToken } from './atom';
import { HiddenToken } from './hidden';
import type { Config, LintError, AST } from '../base';
/**
* argument wrapped in `{{{}}}`
*
* `{{{}}}`包裹的参数
* @classdesc `{childNodes: [AtomToken, ?Token, ...HiddenToken[]]}`
*/
export declare abstract class ArgToken extends Token {
#private;
readonly name: string;
readonly childNodes: readonly [AtomToken] | readonly [AtomToken, Token, ...HiddenToken[]];
abstract get firstChild(): AtomToken;
abstract get lastChild(): Token;
abstract get children(): [AtomToken] | [AtomToken, Token, ...HiddenToken[]];
abstract get firstElementChild(): AtomToken;
abstract get lastElementChild(): Token;
get type(): 'arg';
/** default value / 预设值 */
get default(): string | false;
set default(value: string | false);
/** @param parts 以'|'分隔的各部分 */
constructor(parts: readonly string[], config: Config, accum?: Token[]);
cloneNode(): this;
/**
* Remove redundant parts
*
* 移除无效部分
*/
removeRedundant(): void;
/**
* @override
* @param i position of the child node / 移除位置
*/
removeAt(i: number): Token;
/**
* @override
* @param token node to be inserted / 待插入的子节点
* @param i position to be inserted at / 插入位置
*/
insertAt<T extends Token>(token: T, i?: number): T;
/**
* Set the argument name
*
* 设置参数名
* @param name new argument name / 新参数名
*/
setName(name: string): void;
/**
* Set the default value
*
* 设置预设值
* @param value default value / 预设值
*/
setDefault(value: string | false): void;
}