aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js')
-rw-r--r--node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js b/node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js
new file mode 100644
index 0000000..737b354
--- /dev/null
+++ b/node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js
@@ -0,0 +1,38 @@
+"use strict";
+
+class SVGAnimatedStringImpl {
+ constructor(globalObject, args, privateData) {
+ this._element = privateData.element;
+ this._attribute = privateData.attribute;
+ this._attributeDeprecated = privateData.attributeDeprecated; // can be undefined
+ this._initialValue = privateData.initialValue; // can be undefined
+ }
+
+ get baseVal() {
+ if (!this._element.hasAttributeNS(null, this._attribute)) {
+ if (this._attributeDeprecated !== undefined && this._element.hasAttributeNS(null, this._attributeDeprecated)) {
+ return this._element.getAttributeNS(null, this._attributeDeprecated);
+ } else if (this._initialValue !== undefined) {
+ return this._initialValue;
+ }
+ return "";
+ }
+ return this._element.getAttributeNS(null, this._attribute);
+ }
+
+ set baseVal(base) {
+ if (!this._element.hasAttributeNS(null, this._attribute) &&
+ this._attributeDeprecated !== undefined &&
+ this._element.hasAttributeNS(null, this._attributeDeprecated)) {
+ this._element.setAttributeNS(null, this._attributeDeprecated, base);
+ } else {
+ this._element.setAttributeNS(null, this._attribute, base);
+ }
+ }
+
+ get animVal() {
+ return this.baseVal;
+ }
+}
+
+exports.implementation = SVGAnimatedStringImpl;