SyntaxToken - bhsd-harry/wikiparser-node GitHub Wiki

Other Languages

简介

各类特殊语法。这个类继承了 Token 类的全部属性和方法,这里不再列出。

✅ 在 MiniBrowser 版本中可用。

Properties

type

✅ 展开

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');

Methods

cloneNode

展开

returns: this
深拷贝节点。

// cloneNode (main)
var {firstChild: {firstChild}} = Parser.parse('{|');
assert.equal(firstChild, '{|');
assert.deepStrictEqual(firstChild.cloneNode(), firstChild);

lint

✅ 展开

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

// lint
var {firstChild: {firstChild}} = Parser.parse('{|\n|}');
assert.equal(firstChild, '{|');
assert.deepStrictEqual(firstChild.lint(), []);
⚠️ **GitHub.com Fallback** ⚠️