mediawiki-skins-MinervaNeue/resources/skins.minerva.scripts/UriUtil.js
Ed Sanders 2be7b9f919 build: Update jsdoc-wmf-theme to 1.1.0
Additional changes:
* Update Minerva so that it doesn't output any APIs
to the documentation - this is intentional as Minerva does
not have any public facing APIs.

Bug: T368081
Change-Id: Ie1a3ea30cbf35663c7fdd2494c1698044882969e
2024-06-28 12:38:54 -07:00

39 lines
1.1 KiB
JavaScript

/**
* Compares the default Uri host, usually `window.location.host`, and `mw.Uri.host`. Equivalence
* tests internal linkage, a mismatch may indicate an external link. Interwiki links are
* considered external.
*
* This function only indicates internal in the sense of being on the same host or not. It has
* no knowledge of [[Link]] vs [Link] links.
*
* On https://meta.wikimedia.org/wiki/Foo, the following links would be considered *internal*
* and return `true`:
*
* https://meta.wikimedia.org/
* https://meta.wikimedia.org/wiki/Bar
* https://meta.wikimedia.org/w/index.php?title=Bar
*
* Similarly, the following links would be considered *not* internal and return `false`:
*
* https://archive.org/
* https://foo.wikimedia.org/
* https://en.wikipedia.org/
* https://en.wikipedia.org/wiki/Bar
*
* @ignore
* @param {mw.Uri} uri
* @return {boolean}
*/
function isInternal( uri ) {
try {
// mw.Uri can throw exceptions (T264914, T66884)
return uri.host === mw.Uri().host;
} catch ( e ) {
return false;
}
}
module.exports = {
isInternal
};