Blame view

lib/jsdom/living/range/AbstractRange-impl.js 965 Bytes
858f2bdf5   Boyan Georgiev   fixes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
  };