UNPKG

wikiparser-node

Version:

A Node.js parser for MediaWiki markup with AST

82 lines (81 loc) 2.94 kB
import Parser from '../../index'; import { Token } from '../index'; import { TableBaseToken } from './base'; import type { Config, LintError, AST } from '../../base'; import type { SyntaxToken, AttributesToken, TrToken, TableToken } from '../../internal'; export type TdSubtypes = 'td' | 'th' | 'caption'; export interface TdSpanAttrs { rowspan?: number; colspan?: number; } declare type TdAttrGetter<T extends string> = T extends keyof TdSpanAttrs ? number : string | true | undefined; declare type TdAttrSetter<T extends string> = T extends keyof TdSpanAttrs ? number : string | boolean; export type TdAttrs = Record<string, string | true> & TdSpanAttrs; /** * `<td>`, `<th>` or `<caption>` * * `<td>`、`<th>`或`<caption>` * @classdesc `{childNodes: [SyntaxToken, AttributesToken, Token]}` */ export declare abstract class TdToken extends TableBaseToken { #private; readonly childNodes: readonly [SyntaxToken, AttributesToken, Token]; abstract get parentNode(): TrToken | TableToken | undefined; abstract get nextSibling(): this | TrToken | SyntaxToken | undefined; abstract get previousSibling(): Token | undefined; abstract get children(): [SyntaxToken, AttributesToken, Token]; abstract get parentElement(): TrToken | TableToken | undefined; abstract get nextElementSibling(): this | TrToken | SyntaxToken | undefined; get type(): 'td'; /** rowspan */ get rowspan(): number; /** colspan */ get colspan(): number; /** cell type / 单元格类型 */ get subtype(): TdSubtypes; set subtype(subtype: TdSubtypes); set rowspan(rowspan: number); set colspan(colspan: number); /** inner wikitext / 内部wikitext */ get innerText(): string; set innerText(text: string); /** * @param syntax 单元格语法 * @param inner 内部wikitext */ constructor(syntax: string, inner?: string, config?: Config, accum?: Token[]); /** * Check if the cell is at the beginning of a line * * 是否位于行首 */ isIndependent(): boolean; getAttr<T extends string>(key: T): TdAttrGetter<T>; escape(): void; cloneNode(): this; /** * Move to a new line * * 改为独占一行 */ independence(): void; getAttrs(): TdAttrs; /** * @override * @param key attribute name / 属性键 * @param value attribute value / 属性值 * @param prop attribute object / 属性对象 */ setAttr<T extends string>(key: T, value: TdAttrSetter<T>): void; setAttr(prop: Record<string, string | number | boolean>): void; } /** * 创建新的单元格 * @param inner 内部wikitext * @param subtype 单元格类型 * @param attr 单元格属性 * @param include 是否嵌入 * @param config */ export declare const createTd: (inner: string | Token, subtype?: TdSubtypes, attr?: TdAttrs, include?: boolean, config?: Config) => TdToken; export {};