ConverterFlagsToken - bhsd-harry/wikiparser-node GitHub Wiki

目录

Other Languages

简介

转换类型标记。这个类继承了 Token 类的全部属性和方法,这里不再列出。

✅ 在 MiniBrowser 版本中可用。

Properties

flags

展开

type: Set<string>
所有转换类型标记。

// flags (main)
var flags = Parser.parse("-{H|}-").querySelector("converter-flags");
assert.deepStrictEqual(flags.flags, new Set(["H"]));
flags.flags = new Set(["R"]);
assert.equal(flags, "R");

Methods

getUnknownFlags

✅ 展开

returns: Set<string>
获取未知的转换类型标记。

// getUnknownFlags
var flags = Parser.parse("-{{{{a}}}|}-").querySelector("converter-flags");
assert.deepStrictEqual(flags.getUnknownFlags(), new Set(["{{{a}}}"]));

getVariantFlags

✅ 展开

returns: Set<string>
获取指定语言变体的转换标记。

// getVariantFlags
var flags = Parser.parse("-{zh-cn|}-").querySelector("converter-flags");
assert.deepStrictEqual(flags.getVariantFlags(), new Set(["zh-cn"]));

lint

✅ 展开

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

// lint
var flags = Parser.parse("-{h|}-").querySelector("converter-flags");
assert.deepStrictEqual(flags.lint(), [
	{
		rule: "no-ignored",
		severity: "error",
		message: "invalid conversion flag",
		startLine: 0,
		startCol: 2,
		startIndex: 2,
		endLine: 0,
		endCol: 3,
		endIndex: 3,
		fix: {
			range: [2, 3],
			text: "H",
			desc: "uppercase",
		},
	},
]);

cloneNode

展开

returns: this
深拷贝节点。

// cloneNode (main)
var flags = Parser.parse("-{}-").querySelector("converter-flags");
assert.deepStrictEqual(flags.cloneNode(), flags);

getAllFlags

展开

returns: Set<string>
获取所有转换类型标记。

// getAllFlags (main)
var flags = Parser.parse("-{A|}-").querySelector("converter-flags");
assert.deepStrictEqual(flags.getAllFlags(), new Set(["A"]));

getFlagTokens

展开

param: string 转换类型标记
returns: Token[]
获取转换类型标记节点。

// getFlagTokens (main)
var flags = Parser.parse("-{A|}-").querySelector("converter-flags");
assert.deepStrictEqual(flags.getFlagTokens("A"), [flags.firstChild]);

getEffectiveFlags

展开

returns: Set<string>
获取有效的转换类型标记。

// getEffectiveFlags (main)
var flags = Parser.parse("-{}-").querySelector("converter-flags");
assert.deepStrictEqual(flags.getEffectiveFlags(), new Set(["S"]));

hasFlag

展开

param: string 转换类型标记
returns: boolean
是否具有某转换类型标记。

// hasFlag (main)
var flags = Parser.parse("-{R|}-").querySelector("converter-flags");
assert.ok(flags.hasFlag("R"));
flags.firstChild.replaceChildren("H");
assert.ok(!flags.hasFlag("R"));
assert.ok(flags.hasFlag("H"));

hasEffectiveFlag

展开

param: string 转换类型标记
returns: boolean
是否具有某有效的转换类型标记。

// hasEffectiveFlag (main)
var flags = Parser.parse("-{}-").querySelector("converter-flags");
assert.ok(flags.hasEffectiveFlag("S"));

removeFlag

展开

param: string 转换类型标记
移除某转换类型标记。

// removeFlag (main)
var flags = Parser.parse("-{R|}-").querySelector("converter-flags");
flags.removeFlag("R");
assert.equal(flags, "");

setFlag

展开

param: string 转换类型标记
添加转换类型标记。

// setFlag (main)
var flags = Parser.parse("-{}-").querySelector("converter-flags");
flags.setFlag("R");
assert.equal(flags, "R");

toggleFlag

展开

param: string 转换类型标记
开关转换类型标记。

// toggleFlag (main)
var flags = Parser.parse("-{R|}-").querySelector("converter-flags");
flags.toggleFlag("R");
flags.toggleFlag("D");
assert.equal(flags, "D");
⚠️ **GitHub.com Fallback** ⚠️