wikiparser-node
Version:
A Node.js parser for MediaWiki markup with AST
66 lines (65 loc) • 2.27 kB
TypeScript
import { Token } from './index';
import type { Config, LintError, AST } from '../base';
import type { AtomToken, SyntaxToken, TranscludeToken } from '../internal';
/**
* template or magic word parameter
*
* 模板或魔术字参数
* @classdesc `{childNodes: [Token, Token]}`
*/
export declare abstract class ParameterToken extends Token {
readonly name: string;
readonly childNodes: readonly [Token, Token];
abstract get firstChild(): Token;
abstract get lastChild(): Token;
abstract get parentNode(): TranscludeToken | undefined;
abstract get nextSibling(): this | undefined;
abstract get previousSibling(): AtomToken | SyntaxToken | this | undefined;
abstract get children(): [Token, Token];
abstract get firstElementChild(): Token;
abstract get lastElementChild(): Token;
abstract get parentElement(): TranscludeToken | undefined;
abstract get nextElementSibling(): this | undefined;
abstract get previousElementSibling(): AtomToken | SyntaxToken | this | undefined;
get type(): 'parameter';
/** whether to be anonymous / 是否是匿名参数 */
get anon(): boolean;
/** whether to be a duplicated parameter / 是否是重复参数 */
get duplicated(): boolean;
set duplicated(value: boolean);
set anon(value: boolean);
/** parameter value / 参数值 */
get value(): string;
set value(value: string);
/**
* @param key 参数名
* @param value 参数值
*/
constructor(key?: string | number, value?: string, config?: Config, accum?: Token[]);
text(): string;
cloneNode(): this;
safeReplaceWith(token: this): void;
/**
* Get the parameter value
*
* 获取参数值
*/
getValue(): string;
/**
* Set the parameter value
*
* 设置参数值
* @param value parameter value / 参数值
*/
setValue(value: string): void;
/**
* Rename the parameter
*
* 修改参数名
* @param key new parameter name / 新参数名
* @param force whether to rename regardless of conflicts / 是否无视冲突命名
* @throws `Error` 仅用于模板参数
* @throws `RangeError` 更名造成重复参数
*/
rename(key: string, force?: boolean): void;
}