ImageParameterToken (EN) - bhsd-harry/wikiparser-node GitHub Wiki
Table of Contents
Image parameter. This class inherits all the properties and methods of the Token class which are not repeated here.
✅ Available in the Mini and Browser versions.
✅ Expand
type: string
Parameter name.
// name
var param = Parser.parse("[[file:a|b]]").querySelector("image-parameter");
assert.equal(param, "b");
assert.strictEqual(param.name, "caption");✅ Expand
type: string | Title
Image link. Read-only in the Mini and Browser versions.
// link
var param = Parser.parse("[[file:a|link=//b]]")
.querySelector("image-parameter");
assert.equal(param, "link=//b");
assert.strictEqual(param.link, "//b");// link (main)
var param = Parser.parse("[[file:a|link=//b]]")
.querySelector("image-parameter");
param.link = "c";
assert.equal(param, "link=c");✅ Expand
version added: 1.29.0
type: Title
Thumbnail file title. Read-only in the Mini and Browser versions.
// thumb
var param = Parser.parse("[[file:a|thumb=b]]")
.querySelector("image-parameter");
assert.equal(param, "thumb=b");
assert.deepStrictEqual(param.thumb, param.normalizeTitle("b", 6, {page: ""}));// thumb (main)
var param = Parser.parse("[[file:a|thumb=b]]")
.querySelector("image-parameter");
param.thumb = "c";
assert.equal(param, "thumb=c");Expand
type: string | true
See getValue and setValue methods.
// value (main)
var param = Parser.parse("[[file:a|thumb]]").querySelector("image-parameter");
assert.equal(param, "thumb");
assert.strictEqual(param.value, true);
param.value = false;
assert.strictEqual(param.parentNode, undefined);Expand
type: {width: string, height: string}
Image size.
// size (main)
var param = Parser.parse("[[file:a|1px]]").querySelector("image-parameter");
assert.equal(param, "1px");
assert.deepStrictEqual(param.size, {width: "1", height: ""});
param.size = {width: "", height: "2"};
assert.equal(param, "x2px");Expand
type: number
Image width.
// width (main)
var param = Parser.parse("[[file:a|1x1px]]").querySelector("image-parameter");
assert.equal(param, "1x1px");
assert.strictEqual(param.width, "1");
param.width = undefined;
assert.equal(param, "x1px");Expand
type: number
Image height.
// height (main)
var param = Parser.parse("[[file:a|1x1px]]").querySelector("image-parameter");
assert.equal(param, "1x1px");
assert.strictEqual(param.height, "1");
param.height = undefined;
assert.equal(param, "1px");✅ Expand
returns: LintError[]
Report potential grammar errors.
// lint
var param = Parser.parse("[[file:a|link=%25%]]")
.querySelector("image-parameter");
assert.equal(param, "link=%25%");
assert.deepStrictEqual(param.lint(), [
{
rule: "url-encoding",
severity: "warning",
message: "unnecessary percent-encoding in an internal link",
startLine: 0,
startCol: 9,
startIndex: 9,
endLine: 0,
endCol: 18,
endIndex: 18,
fix: {
desc: "decode",
range: [9, 18],
text: "link=%%",
},
},
]);
param = Parser.parse("<gallery>a|link=http://b/| c</gallery>")
.querySelector("image-parameter");
assert.equal(param, "link=http://b/| c");
assert.deepStrictEqual(param.lint(), [
{
rule: "invalid-gallery",
severity: "error",
message: "invalid link in gallery image",
startLine: 0,
startCol: 11,
startIndex: 11,
endLine: 0,
endCol: 28,
endIndex: 28,
suggestions: [
{
desc: "whitespace",
range: [25, 25],
text: " ",
},
],
},
]);✅ Expand
returns: string | true
Get the parameter value.
// getValue
var [thumbnail, width] = Parser.parse("[[file:a|thumb|100px]]")
.querySelectorAll("image-parameter");
assert.equal(thumbnail, "thumb");
assert.equal(width, "100px");
assert.strictEqual(thumbnail.getValue(), true);
assert.strictEqual(width.getValue(), "100");Expand
returns: this
Deep clone the node.
// cloneNode (main)
var param = Parser.parse("[[file:a|link=b]]").querySelector("image-parameter");
assert.equal(param, "link=b");
assert.deepStrictEqual(param.cloneNode(), param);Expand
param: string | true parameter value
Set the parameter value.
// setValue (main)
var [thumbnail, width] = Parser.parse("[[file:a|thumb|100px]]")
.querySelectorAll("image-parameter");
assert.equal(thumbnail, "thumb");
assert.equal(width, "100px");
thumbnail.setValue(false);
width.setValue("x100");
assert.strictEqual(thumbnail.parentNode, undefined);
assert.equal(width, "x100px");Expand
version added: 1.11.0
returns: string URL
Get the image link.
// getUrl (main)
var link = Parser.parse("[[file:a|link=//a]]")
.querySelector("image-parameter");
assert.equal(link, "link=//a");
assert.strictEqual(link.getUrl(), "https://a/");