aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js')
-rw-r--r--node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js b/node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js
new file mode 100644
index 0000000..55a0719
--- /dev/null
+++ b/node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js
@@ -0,0 +1,43 @@
+"use strict";
+
+// https://dom.spec.whatwg.org/#abstractrange
+class AbstractRangeImpl {
+ constructor(globalObject, args, privateData) {
+ const { start, end } = privateData;
+
+ this._start = start;
+ this._end = end;
+
+ this._globalObject = globalObject;
+ }
+
+ // https://dom.spec.whatwg.org/#dom-range-startcontainer
+ get startContainer() {
+ return this._start.node;
+ }
+
+ // https://dom.spec.whatwg.org/#dom-range-startoffset
+ get startOffset() {
+ return this._start.offset;
+ }
+
+ // https://dom.spec.whatwg.org/#dom-range-endcontainer
+ get endContainer() {
+ return this._end.node;
+ }
+
+ // https://dom.spec.whatwg.org/#dom-range-endoffset
+ get endOffset() {
+ return this._end.offset;
+ }
+
+ // https://dom.spec.whatwg.org/#dom-range-collapsed
+ get collapsed() {
+ const { _start, _end } = this;
+ return _start.node === _end.node && _start.offset === _end.offset;
+ }
+}
+
+module.exports = {
+ implementation: AbstractRangeImpl
+};