summaryrefslogtreecommitdiff
path: root/alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js
diff options
context:
space:
mode:
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.js27
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
+};