summaryrefslogtreecommitdiff
path: root/school/node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js
blob: 55a071953edea31af1c41a06e0de326434e4f131 (plain)
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
};