${identifier}
${identifier + (nullable ? "?" : "")}
`;
}
}
@@ -244,12 +259,13 @@ function renderException(details) {
* @param {IdlPrimitive} details
*/
function renderIdlPrimitiveType(details) {
- const { identifier } = details;
+ const { identifier, nullable } = details;
const element = html`${identifier}
${identifier + (nullable ? "?" : "")}
`;
return element;
}
diff --git a/src/core/inlines.js b/src/core/inlines.js
index 72fd63d45b..544ca15817 100644
--- a/src/core/inlines.js
+++ b/src/core/inlines.js
@@ -61,7 +61,7 @@ const l10n = getIntlData(localizationStrings);
// TODO: Replace (?!`) at the end with (?:]+\??)?\|\B/; // |var : Type?|
const inlineCitation = /(?:\[\[(?:!|\\|\?)?[\w.-]+(?:|[^\]]+)?\]\])/; // [[citation]]
const inlineExpansion = /(?:\[\[\[(?:!|\\|\?)?#?[\w-.]+\]\]\])/; // [[[expand]]]
diff --git a/tests/spec/core/inlines-spec.js b/tests/spec/core/inlines-spec.js
index 1680405959..65a6394ee3 100644
--- a/tests/spec/core/inlines-spec.js
+++ b/tests/spec/core/inlines-spec.js
@@ -530,6 +530,56 @@ describe("Core - Inlines", () => {
);
});
+ it("supports {{ Nullable? }} types and primitives", async () => {
+ const body = `
+ + [Exposed=Window] + interface InterFace{}; + dictionary Dict{}; ++
{{ InterFace? }}
+{{ Dict? }}
+{{ unsigned short? }}
+