ParamLineToken - bhsd-harry/wikiparser-node GitHub Wiki

Other Languages

简介

<dynamicpagelist><inputbox> 标签内的一行参数。这个类继承了 Token 类的全部属性和方法,这里不再列出。

✅ 在 MiniBrowser 版本中可用。

Properties

name

✅ 展开

type: string
小写的扩展标签名,只读。

// name
var line = Parser.parse('<inputbox>type=create</inputbox>')
	.querySelector('param-line');
assert.equal(line, 'type=create');
assert.strictEqual(line.name, 'inputbox');

type

✅ 展开

type: 'param-line'

// type
var line = Parser.parse('<inputbox>type=create</inputbox>')
	.querySelector('param-line');
assert.equal(line, 'type=create');
assert.strictEqual(line.type, 'param-line');

Methods

cloneNode

展开

returns: this
深拷贝节点。

// cloneNode (main)
var line = Parser.parse('<inputbox>type=create</inputbox>')
	.querySelector('param-line');
assert.equal(line, 'type=create');
assert.deepStrictEqual(line.cloneNode(), line);

lint

✅ 展开

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

// lint
var line = Parser.parse(`<dynamicpagelist>category=<nowiki>a</nowiki>
</dynamicpagelist>`).querySelector('param-line');
assert.equal(line, 'category=<nowiki>a</nowiki>');
assert.deepStrictEqual(line.lint(), [
	{
		rule: 'no-ignored',
		severity: 'error',
		message: 'invalid parameter of <dynamicpagelist>',
		startLine: 0,
		startCol: 17,
		startIndex: 17,
		endLine: 0,
		endCol: 44,
		endIndex: 44,
	},
]);

line = Parser.parse('<dynamicpagelist>category</dynamicpagelist>')
	.querySelector('param-line');
assert.equal(line, 'category');
assert.deepStrictEqual(line.lint(), [
	{
		rule: 'no-ignored',
		severity: 'error',
		message: 'invalid parameter of <dynamicpagelist>',
		startLine: 0,
		startCol: 17,
		startIndex: 17,
		endLine: 0,
		endCol: 25,
		endIndex: 25,
		suggestions: [
			{
				desc: 'remove',
				range: [17, 25],
				text: '',
			},
		],
	},
]);

line = Parser.parse('<inputbox># {{template}}</inputbox>')
	.querySelector('param-line');
assert.equal(line, '# {{template}}');
assert.deepStrictEqual(line.lint(), [
	{
		rule: 'no-ignored',
		severity: 'error',
		message: 'invalid parameter of <inputbox>',
		startLine: 0,
		startCol: 10,
		startIndex: 10,
		endLine: 0,
		endCol: 24,
		endIndex: 24,
		suggestions: [
			{
				desc: 'remove',
				range: [10, 24],
				text: '',
			},
		],
	},
]);

line = Parser.parse('<dynamicpagelist>CATEGORY=A</dynamicpagelist>')
	.querySelector('param-line');
assert.equal(line, 'CATEGORY=A');
assert.deepStrictEqual(line.lint(), [
	{
		rule: 'no-ignored',
		severity: 'error',
		message: 'invalid parameter of <dynamicpagelist>',
		startLine: 0,
		startCol: 17,
		startIndex: 17,
		endLine: 0,
		endCol: 27,
		endIndex: 27,
		suggestions: [
			{
				desc: 'remove',
				range: [17, 27],
				text: '',
			},
		],
	},
]);

line = Parser.parse('<inputbox>{{{1}}}</inputbox>', true)
	.querySelector('param-line');
assert.equal(line, '{{{1}}}');
assert.deepStrictEqual(line.lint(), [
	{
		rule: 'arg-in-ext',
		severity: 'warning',
		message: 'template argument inside an extension tag',
		startLine: 0,
		startCol: 10,
		startIndex: 10,
		endLine: 0,
		endCol: 17,
		endIndex: 17,
	},
]);
⚠️ **GitHub.com Fallback** ⚠️