diff options
Diffstat (limited to 'docs/ucode.js')
-rw-r--r-- | docs/ucode.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/docs/ucode.js b/docs/ucode.js index 6728cdb..2377c7e 100644 --- a/docs/ucode.js +++ b/docs/ucode.js @@ -4,4 +4,36 @@ document.addEventListener('DOMContentLoaded', (ev) => { if (accordionState == null || accordionState == '{}') document.querySelectorAll('[data-isopen="false"]') .forEach(item => item.setAttribute('data-isopen', 'true')); + + const moduleName = location.pathname.match(/\/module-(.+)\.html$/)?.[1]; + + if (moduleName) { + const modulePrefix = `module:${moduleName}.`; + + document.querySelectorAll(`a[href^="module-${CSS.escape(moduleName)}."]`).forEach(a => { + if (a.text?.indexOf(modulePrefix) == 0) + a.text = a.text.substring(modulePrefix.length); + }); + } + + document.querySelectorAll('.param-type, .type-signature').forEach(span => { + let replaced; + do { + replaced = false; + span.innerHTML = span.innerHTML.replace(/\b(Object|Array)\.<((?:(?!&[lg]t;).)+)>/, + (m, t, st) => { + replaced = true; + + if (t == 'Object') + return `Object<${st.replace(/,\s*/, ': ')}>`; + else + return `${st}[]`; + }); + } while (replaced); + }); + + document.querySelectorAll('.type-signature').forEach(span => { + span.innerHTML = span.innerHTML.replace(/\(nullable\) (.+)$/, + '$1<span class="signature-attributes">nullable</span>'); + }); }); |