ListToken - bhsd-harry/wikiparser-node GitHub Wiki

目录

Other Languages

简介

位于行首的列表。这个类继承了 Token 类的全部属性和方法,这里不再列出。

✅ 在 MiniBrowser 版本中可用。
🌐 在 Browser 版本中可用。

Properties

indent

🌐 展开

加入的版本:1.16.5

type: number
缩进数。在 Browser 版本中为只读属性。

// indent (print)
var {firstChild} = Parser.parse("::a");
assert.equal(firstChild, "::");
assert.strictEqual(firstChild.indent, 2);
// indent (main)
var {firstChild} = Parser.parse("::a");
firstChild.indent = 1;
assert.equal(firstChild, ":");

dd

展开

type: boolean
是否包含:,只读。

// dd (main)
var {firstChild} = Parser.parse(":");
assert.ok(firstChild.dd);

dt

展开

type: boolean
是否包含;,只读。

// dt (main)
var {firstChild} = Parser.parse(";");
assert.ok(firstChild.dt);

ul

展开

type: boolean
是否包含*,只读。

// ul (main)
var {firstChild} = Parser.parse("*");
assert.ok(firstChild.ul);

ol

展开

type: boolean
是否包含#,只读。

// ol (main)
var {firstChild} = Parser.parse("#");
assert.ok(firstChild.ol);

Methods

lint

✅ 展开

returns: LintError[]
报告潜在语法错误。

// lint
var list = Parser.parse(`Foo
#redirect [[Bar]]`).querySelector("list");
assert.equal(list, "#");
assert.deepStrictEqual(
	list.lint(),
	[
		{
			rule: "syntax-like",
			severity: "error",
			message: "redirect-like syntax in a list item",
			startLine: 1,
			startCol: 0,
			startIndex: 4,
			endLine: 1,
			endCol: 12,
			endIndex: 16,
		},
	],
);

json

🌐 展开

将语法树保存为 JSON。

// json (print)
var {lastChild} = Parser.parse("\n:");
assert.deepStrictEqual(lastChild.json(), {
	range: [1, 2],
	type: "list",
	indent: 1,
	childNodes: [
		{
			range: [1, 2],
			data: ":",
		},
	],
});

getRange

展开

returns: Token
获取列表行的范围。

// getRange (main)
var {firstChild} = Parser.parse(";a");
assert.equal(firstChild.getRange(), "a");
({firstChild} = Parser.parse(";a:b"));
assert.equal(firstChild.getRange(), "a");
⚠️ **GitHub.com Fallback** ⚠️