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(), []);