diff options
Diffstat (limited to 'alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js')
-rw-r--r-- | alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js b/alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js new file mode 100644 index 0000000..ece7d83 --- /dev/null +++ b/alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js @@ -0,0 +1,27 @@ +"use strict"; +const whatwgURL = require("whatwg-url"); +const HTMLElementImpl = require("./HTMLElement-impl").implementation; +const { fallbackBaseURL } = require("../helpers/document-base-url"); + +class HTMLBaseElementImpl extends HTMLElementImpl { + get href() { + const document = this._ownerDocument; + + const url = this.hasAttributeNS(null, "href") ? this.getAttributeNS(null, "href") : ""; + const parsed = whatwgURL.parseURL(url, { baseURL: fallbackBaseURL(document) }); + + if (parsed === null) { + return url; + } + + return whatwgURL.serializeURL(parsed); + } + + set href(value) { + this.setAttributeNS(null, "href", value); + } +} + +module.exports = { + implementation: HTMLBaseElementImpl +}; |