SyntaxToken - bhsd-harry/wikiparser-node GitHub Wiki
各类特殊语法。这个类继承了 Token 类的全部属性和方法,这里不再列出。
✅ 展开
type: string
节点类型。
// type
var {firstChild: {firstChild}} = Parser.parse("#redirect [[a]]"),
lastChild;
assert.equal(firstChild, "#redirect ");
assert.strictEqual(firstChild.type, "redirect-syntax");
({firstChild: {firstChild}} = Parser.parse("{{uc:a}}"));
assert.equal(firstChild, "uc");
assert.strictEqual(firstChild.type, "magic-word-name");
({firstChild: {firstChild}} = Parser.parse("{|"));
assert.equal(firstChild, "{|");
assert.strictEqual(firstChild.type, "table-syntax");
({firstChild: {lastChild}} = Parser.parse("==a== "));
assert.equal(lastChild, " ");
assert.strictEqual(lastChild.type, "heading-trail");
({firstChild: {firstChild}} = Parser.parse("<translate nowrap></translate>"));
assert.equal(firstChild, " nowrap");
assert.strictEqual(firstChild.type, "translate-attr");展开
returns: this
深拷贝节点。
// cloneNode (main)
var {firstChild: {firstChild}} = Parser.parse("{|");
assert.equal(firstChild, "{|");
assert.deepStrictEqual(firstChild.cloneNode(), firstChild);✅ 展开
returns: LintError[]
报告潜在语法错误。
// lint
var {firstChild: {firstChild}} = Parser.parse("{|\n|}");
assert.equal(firstChild, "{|");
assert.deepStrictEqual(firstChild.lint(), []);