wikiparser-node
Version:
A Node.js parser for MediaWiki markup with AST
158 lines (157 loc) • 4.59 kB
TypeScript
import { LinkBaseToken } from './base';
import { ImageParameterToken } from '../imageParameter';
import type { Config, LintError, AST } from '../../base';
import type { Token, AtomToken } from '../../internal';
import { Title } from '../../lib/title';
/**
* image
*
* 图片
* @classdesc `{childNodes: [AtomToken, ...ImageParameterToken[]]}`
*/
export declare abstract class FileToken extends LinkBaseToken {
#private;
readonly childNodes: readonly [AtomToken, ...ImageParameterToken[]];
abstract get lastChild(): AtomToken | ImageParameterToken;
abstract get children(): [AtomToken, ...ImageParameterToken[]];
abstract get lastElementChild(): AtomToken | ImageParameterToken;
get type(): 'file' | 'gallery-image' | 'imagemap-image';
/**
* file extension
*
* 扩展名
* @since v1.5.3
*/
get extension(): string | undefined;
/** image link / 图片链接 */
get link(): string | Title;
set link(value: string);
/** image size / 图片大小 */
get size(): {
width: string;
height: string;
} | undefined;
set size(size: {
width: string;
height: string;
} | undefined);
/** image width / 图片宽度 */
get width(): string | undefined;
set width(width: string | undefined);
/** image height / 图片高度 */
get height(): string | undefined;
set height(height: string | undefined);
/**
* @param link 文件名
* @param text 图片参数
* @param delimiter `|`
*/
constructor(link: string, text?: string, config?: Config, accum?: Token[], delimiter?: string);
/**
* Get all image parameter tokens
*
* 获取所有图片参数节点
*/
getAllArgs(): ImageParameterToken[];
/**
* Get image parameters with the specified name
*
* 获取指定图片参数
* @param key parameter name / 参数名
*/
getArgs(key: string): ImageParameterToken[];
/**
* Get the effective image parameter with the specified name
*
* 获取生效的指定图片参数
* @param key parameter name / 参数名
*/
getArg(key: string): ImageParameterToken | undefined;
/**
* Get the effective image parameter value
*
* 获取生效的指定图片参数值
* @param key parameter name / 参数名
*/
getValue(key: string): string | true | undefined;
/**
* Get image frame parameter tokens
*
* 获取图片框架属性参数节点
*/
getFrameArgs(): ImageParameterToken[];
/**
* Get image horizontal alignment parameter tokens
*
* 获取图片水平对齐参数节点
*/
getHorizAlignArgs(): ImageParameterToken[];
/**
* Get image vertical alignment parameter tokens
*
* 获取图片垂直对齐参数节点
*/
getVertAlignArgs(): ImageParameterToken[];
/**
* Get the effective image frame paremter value
*
* 获取生效的图片框架属性参数
* @since v1.11.0
*/
getFrame(): string | Title | undefined;
/**
* Get the effective image horizontal alignment parameter value
*
* 获取生效的图片水平对齐参数
* @since v1.11.0
*/
getHorizAlign(): string | undefined;
/**
* Get the effective image vertical alignment parameter value
*
* 获取生效的图片垂直对齐参数
* @since v1.11.0
*/
getVertAlign(): string | undefined;
/**
* Check if the image contains the specified parameter
*
* 是否具有指定图片参数
* @param key parameter name / 参数名
*/
hasArg(key: string): boolean;
/**
* Remove the specified image parameter
*
* 移除指定图片参数
* @param key parameter name / 参数名
*/
removeArg(key: string): void;
/**
* Get all image parameter names
*
* 获取图片参数名
*/
getKeys(): Set<string>;
/**
* Get the image parameter values with the specified name
*
* 获取指定的图片参数值
* @param key parameter name / 参数名
*/
getValues(key: string): (string | true)[];
/**
* Set the image parameter
*
* 设置图片参数
* @param key parameter name / 参数名
* @param value parameter value / 参数值
* @throws `RangeError` 未定义的图片参数
*/
setValue(key: string, value?: string | boolean): void;
/**
* @override
* @throws `Error` 不适用于图片
*/
setLinkText(): never;
}