happy-dom 2.40.2 → 2.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of happy-dom might be problematic. Click here for more details.

Files changed (43) hide show
  1. package/lib/css/CSSStyleDeclaration.d.ts +12 -12
  2. package/lib/css/CSSStyleDeclaration.js +13 -4
  3. package/lib/css/CSSStyleDeclaration.js.map +1 -1
  4. package/lib/index.d.ts +2 -1
  5. package/lib/index.js +3 -1
  6. package/lib/index.js.map +1 -1
  7. package/lib/nodes/document/Document.d.ts +13 -0
  8. package/lib/nodes/document/Document.js +21 -0
  9. package/lib/nodes/document/Document.js.map +1 -1
  10. package/lib/nodes/document/IDocument.d.ts +7 -0
  11. package/lib/nodes/element/DOMTokenList.d.ts +101 -0
  12. package/lib/nodes/element/DOMTokenList.js +205 -0
  13. package/lib/nodes/element/DOMTokenList.js.map +1 -0
  14. package/lib/nodes/element/Element.d.ts +5 -5
  15. package/lib/nodes/element/Element.js +3 -3
  16. package/lib/nodes/element/Element.js.map +1 -1
  17. package/lib/nodes/element/IDOMTokenList.d.ts +16 -0
  18. package/lib/nodes/element/IDOMTokenList.js +3 -0
  19. package/lib/nodes/element/IDOMTokenList.js.map +1 -0
  20. package/lib/nodes/element/IElement.d.ts +2 -2
  21. package/lib/selection/Selection.d.ts +95 -0
  22. package/lib/selection/Selection.js +127 -0
  23. package/lib/selection/Selection.js.map +1 -0
  24. package/lib/window/IWindow.d.ts +3 -0
  25. package/lib/window/Window.d.ts +3 -0
  26. package/lib/window/Window.js +3 -0
  27. package/lib/window/Window.js.map +1 -1
  28. package/package.json +2 -2
  29. package/src/css/CSSStyleDeclaration.ts +41 -36
  30. package/src/index.ts +3 -1
  31. package/src/nodes/document/Document.ts +19 -0
  32. package/src/nodes/document/IDocument.ts +8 -0
  33. package/src/nodes/element/DOMTokenList.ts +201 -0
  34. package/src/nodes/element/Element.ts +4 -3
  35. package/src/nodes/element/IDOMTokenList.ts +17 -0
  36. package/src/nodes/element/IElement.ts +2 -2
  37. package/src/selection/Selection.ts +140 -0
  38. package/src/window/IWindow.ts +3 -0
  39. package/src/window/Window.ts +3 -0
  40. package/lib/nodes/element/ClassList.d.ts +0 -40
  41. package/lib/nodes/element/ClassList.js +0 -99
  42. package/lib/nodes/element/ClassList.js.map +0 -1
  43. package/src/nodes/element/ClassList.ts +0 -92
@@ -0,0 +1,95 @@
1
+ import INode from '../nodes/node/INode';
2
+ /**
3
+ * Selection.
4
+ *
5
+ * Reference:
6
+ * https://developer.mozilla.org/en-US/docs/Web/API/Selection.
7
+ */
8
+ export default class Selection {
9
+ readonly anchorNode: INode;
10
+ readonly anchorOffset: number;
11
+ readonly baseNode: INode;
12
+ readonly baseOffset: number;
13
+ readonly extentNode: INode;
14
+ readonly extentOffset: number;
15
+ readonly focusNode: INode;
16
+ readonly focusOffset: number;
17
+ readonly isCollapsed: boolean;
18
+ readonly rangeCount: number;
19
+ readonly type: string;
20
+ /**
21
+ * Adds a range.
22
+ *
23
+ * @param _range Range.
24
+ */
25
+ addRange(_range: object): void;
26
+ /**
27
+ * Collapses the current selection to a single point.
28
+ *
29
+ * @param _node Node.
30
+ * @param _offset Offset.
31
+ */
32
+ collapse(_node: INode, _offset?: number): void;
33
+ /**
34
+ * Collapses the selection to the end.
35
+ */
36
+ collapseToEnd(): void;
37
+ /**
38
+ * Collapses the selection to the start.
39
+ */
40
+ collapseToStart(): void;
41
+ /**
42
+ * Indicates whether a specified node is part of the selection.
43
+ *
44
+ * @param _node Node.
45
+ * @param _partialContainer Partial container.
46
+ * @returns Always returns "true" for now.
47
+ */
48
+ containsNode(_node: INode, _partialContainer?: INode): boolean;
49
+ /**
50
+ * Deletes the selected text from the document's DOM.
51
+ */
52
+ deleteFromDocument(): void;
53
+ /**
54
+ * Moves the focus of the selection to a specified point.
55
+ *
56
+ * @param _node Node.
57
+ * @param _offset Offset.
58
+ */
59
+ extend(_node: INode, _offset?: number): void;
60
+ /**
61
+ * Moves the focus of the selection to a specified point.
62
+ *
63
+ * @param _index Index.
64
+ */
65
+ getRangeAt(_index: number): object;
66
+ /**
67
+ * Removes a range from a selection.
68
+ *
69
+ * @param _range Range.
70
+ */
71
+ removeRange(_range: object): void;
72
+ /**
73
+ * Removes all ranges.
74
+ */
75
+ removeAllRanges(): void;
76
+ /**
77
+ * Selects all children.
78
+ *
79
+ * @param _parentNode Parent node.
80
+ */
81
+ selectAllChildren(_parentNode: INode): void;
82
+ /**
83
+ * Sets the selection to be a range including all or parts of two specified DOM nodes, and any content located between them.
84
+ *
85
+ * @param _anchorNode Anchor node.
86
+ * @param _anchorOffset Anchor offset.
87
+ * @param _focusNode Focus node.
88
+ * @param _focusOffset Focus offset.
89
+ */
90
+ setBaseAndExtent(_anchorNode: INode, _anchorOffset: number, _focusNode: INode, _focusOffset: number): void;
91
+ /**
92
+ * Returns string currently being represented by the selection object.
93
+ */
94
+ toString(): string;
95
+ }
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Selection.
5
+ *
6
+ * Reference:
7
+ * https://developer.mozilla.org/en-US/docs/Web/API/Selection.
8
+ */
9
+ var Selection = /** @class */ (function () {
10
+ function Selection() {
11
+ this.anchorNode = null;
12
+ this.anchorOffset = 0;
13
+ this.baseNode = null;
14
+ this.baseOffset = 0;
15
+ this.extentNode = null;
16
+ this.extentOffset = 0;
17
+ this.focusNode = null;
18
+ this.focusOffset = 0;
19
+ this.isCollapsed = true;
20
+ this.rangeCount = 0;
21
+ this.type = 'None';
22
+ }
23
+ /**
24
+ * Adds a range.
25
+ *
26
+ * @param _range Range.
27
+ */
28
+ Selection.prototype.addRange = function (_range) {
29
+ // Do nothing.
30
+ };
31
+ /**
32
+ * Collapses the current selection to a single point.
33
+ *
34
+ * @param _node Node.
35
+ * @param _offset Offset.
36
+ */
37
+ Selection.prototype.collapse = function (_node, _offset) {
38
+ // Do nothing.
39
+ };
40
+ /**
41
+ * Collapses the selection to the end.
42
+ */
43
+ Selection.prototype.collapseToEnd = function () {
44
+ // Do nothing.
45
+ };
46
+ /**
47
+ * Collapses the selection to the start.
48
+ */
49
+ Selection.prototype.collapseToStart = function () {
50
+ // Do nothing.
51
+ };
52
+ /**
53
+ * Indicates whether a specified node is part of the selection.
54
+ *
55
+ * @param _node Node.
56
+ * @param _partialContainer Partial container.
57
+ * @returns Always returns "true" for now.
58
+ */
59
+ Selection.prototype.containsNode = function (_node, _partialContainer) {
60
+ return true;
61
+ };
62
+ /**
63
+ * Deletes the selected text from the document's DOM.
64
+ */
65
+ Selection.prototype.deleteFromDocument = function () {
66
+ // Do nothing.
67
+ };
68
+ /**
69
+ * Moves the focus of the selection to a specified point.
70
+ *
71
+ * @param _node Node.
72
+ * @param _offset Offset.
73
+ */
74
+ Selection.prototype.extend = function (_node, _offset) {
75
+ // Do nothing.
76
+ };
77
+ /**
78
+ * Moves the focus of the selection to a specified point.
79
+ *
80
+ * @param _index Index.
81
+ */
82
+ Selection.prototype.getRangeAt = function (_index) {
83
+ throw new Error('Not a valid index.');
84
+ };
85
+ /**
86
+ * Removes a range from a selection.
87
+ *
88
+ * @param _range Range.
89
+ */
90
+ Selection.prototype.removeRange = function (_range) {
91
+ // Do nothing.
92
+ };
93
+ /**
94
+ * Removes all ranges.
95
+ */
96
+ Selection.prototype.removeAllRanges = function () {
97
+ // Do nothing.
98
+ };
99
+ /**
100
+ * Selects all children.
101
+ *
102
+ * @param _parentNode Parent node.
103
+ */
104
+ Selection.prototype.selectAllChildren = function (_parentNode) {
105
+ // Do nothing.
106
+ };
107
+ /**
108
+ * Sets the selection to be a range including all or parts of two specified DOM nodes, and any content located between them.
109
+ *
110
+ * @param _anchorNode Anchor node.
111
+ * @param _anchorOffset Anchor offset.
112
+ * @param _focusNode Focus node.
113
+ * @param _focusOffset Focus offset.
114
+ */
115
+ Selection.prototype.setBaseAndExtent = function (_anchorNode, _anchorOffset, _focusNode, _focusOffset) {
116
+ // Do nothing.
117
+ };
118
+ /**
119
+ * Returns string currently being represented by the selection object.
120
+ */
121
+ Selection.prototype.toString = function () {
122
+ return '';
123
+ };
124
+ return Selection;
125
+ }());
126
+ exports.default = Selection;
127
+ //# sourceMappingURL=Selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Selection.js","sourceRoot":"","sources":["../../src/selection/Selection.ts"],"names":[],"mappings":";;AAEA;;;;;GAKG;AACH;IAAA;QACiB,eAAU,GAAU,IAAI,CAAC;QACzB,iBAAY,GAAW,CAAC,CAAC;QACzB,aAAQ,GAAU,IAAI,CAAC;QACvB,eAAU,GAAW,CAAC,CAAC;QACvB,eAAU,GAAU,IAAI,CAAC;QACzB,iBAAY,GAAW,CAAC,CAAC;QACzB,cAAS,GAAU,IAAI,CAAC;QACxB,gBAAW,GAAW,CAAC,CAAC;QACxB,gBAAW,GAAY,IAAI,CAAC;QAC5B,eAAU,GAAW,CAAC,CAAC;QACvB,SAAI,GAAW,MAAM,CAAC;IAwHvC,CAAC;IAtHA;;;;OAIG;IACI,4BAAQ,GAAf,UAAgB,MAAc;QAC7B,cAAc;IACf,CAAC;IAED;;;;;OAKG;IACI,4BAAQ,GAAf,UAAgB,KAAY,EAAE,OAAgB;QAC7C,cAAc;IACf,CAAC;IAED;;OAEG;IACI,iCAAa,GAApB;QACC,cAAc;IACf,CAAC;IAED;;OAEG;IACI,mCAAe,GAAtB;QACC,cAAc;IACf,CAAC;IAED;;;;;;OAMG;IACI,gCAAY,GAAnB,UAAoB,KAAY,EAAE,iBAAyB;QAC1D,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACI,sCAAkB,GAAzB;QACC,cAAc;IACf,CAAC;IAED;;;;;OAKG;IACI,0BAAM,GAAb,UAAc,KAAY,EAAE,OAAgB;QAC3C,cAAc;IACf,CAAC;IAED;;;;OAIG;IACI,8BAAU,GAAjB,UAAkB,MAAc;QAC/B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,+BAAW,GAAlB,UAAmB,MAAc;QAChC,cAAc;IACf,CAAC;IAED;;OAEG;IACI,mCAAe,GAAtB;QACC,cAAc;IACf,CAAC;IAED;;;;OAIG;IACI,qCAAiB,GAAxB,UAAyB,WAAkB;QAC1C,cAAc;IACf,CAAC;IAED;;;;;;;OAOG;IACI,oCAAgB,GAAvB,UACC,WAAkB,EAClB,aAAqB,EACrB,UAAiB,EACjB,YAAoB;QAEpB,cAAc;IACf,CAAC;IAED;;OAEG;IACI,4BAAQ,GAAf;QACC,OAAO,EAAE,CAAC;IACX,CAAC;IACF,gBAAC;AAAD,CAAC,AAnID,IAmIC"}
@@ -69,6 +69,7 @@ import Window from './Window';
69
69
  import URLSearchParams from '../url-search-params/URLSearchParams';
70
70
  import HTMLCollection from '../nodes/element/HTMLCollection';
71
71
  import NodeList from '../nodes/node/NodeList';
72
+ import Selection from '../selection/Selection';
72
73
  /**
73
74
  * Window.
74
75
  */
@@ -145,6 +146,7 @@ export default interface IWindow {
145
146
  readonly NodeList: typeof NodeList;
146
147
  readonly CSSUnitValue: typeof CSSUnitValue;
147
148
  readonly CSS: CSS;
149
+ readonly Selection: typeof Selection;
148
150
  onload: (event: Event) => void;
149
151
  onerror: (event: ErrorEvent) => void;
150
152
  readonly document: Document;
@@ -159,6 +161,7 @@ export default interface IWindow {
159
161
  readonly top: IWindow;
160
162
  readonly parent: IWindow;
161
163
  readonly window: IWindow;
164
+ readonly globalThis: IWindow;
162
165
  readonly screen: Screen;
163
166
  readonly innerWidth: number;
164
167
  readonly innerHeight: number;
@@ -69,6 +69,7 @@ import URLSearchParams from '../url-search-params/URLSearchParams';
69
69
  import HTMLCollection from '../nodes/element/HTMLCollection';
70
70
  import NodeList from '../nodes/node/NodeList';
71
71
  import MediaQueryList from '../match-media/MediaQueryList';
72
+ import Selection from '../selection/Selection';
72
73
  import * as PerfHooks from 'perf_hooks';
73
74
  /**
74
75
  * Handles the Window.
@@ -163,6 +164,7 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
163
164
  readonly NodeList: typeof NodeList;
164
165
  readonly MediaQueryList: typeof MediaQueryList;
165
166
  readonly CSSUnitValue: typeof CSSUnitValue;
167
+ readonly Selection: typeof Selection;
166
168
  onload: (event: Event) => void;
167
169
  onerror: (event: ErrorEvent) => void;
168
170
  readonly document: Document;
@@ -177,6 +179,7 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
177
179
  readonly top: this;
178
180
  readonly parent: this;
179
181
  readonly window: this;
182
+ readonly globalThis: this;
180
183
  readonly screen: Screen;
181
184
  readonly innerWidth = 1024;
182
185
  readonly innerHeight = 768;
@@ -145,6 +145,7 @@ var URLSearchParams_1 = __importDefault(require("../url-search-params/URLSearchP
145
145
  var HTMLCollection_1 = __importDefault(require("../nodes/element/HTMLCollection"));
146
146
  var NodeList_1 = __importDefault(require("../nodes/node/NodeList"));
147
147
  var MediaQueryList_1 = __importDefault(require("../match-media/MediaQueryList"));
148
+ var Selection_1 = __importDefault(require("../selection/Selection"));
148
149
  var PerfHooks = __importStar(require("perf_hooks"));
149
150
  var FETCH_RESPONSE_TYPE_METHODS = ['blob', 'json', 'text'];
150
151
  /**
@@ -240,6 +241,7 @@ var Window = /** @class */ (function (_super) {
240
241
  _this.NodeList = NodeList_1.default;
241
242
  _this.MediaQueryList = MediaQueryList_1.default;
242
243
  _this.CSSUnitValue = CSSUnitValue_1.default;
244
+ _this.Selection = Selection_1.default;
243
245
  // Events
244
246
  _this.onload = null;
245
247
  _this.onerror = null;
@@ -252,6 +254,7 @@ var Window = /** @class */ (function (_super) {
252
254
  _this.top = _this;
253
255
  _this.parent = _this;
254
256
  _this.window = _this;
257
+ _this.globalThis = _this;
255
258
  _this.screen = new Screen_1.default();
256
259
  _this.innerWidth = 1024;
257
260
  _this.innerHeight = 768;
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "2.40.2",
3
+ "version": "2.42.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -75,5 +75,5 @@
75
75
  "ts-jest": "^26.5.6",
76
76
  "typescript": "^4.2.4"
77
77
  },
78
- "gitHead": "f00a0abe098f8e9c42dd4cf1cfdab5fa7e21a92c"
78
+ "gitHead": "f463a9e7e94ff43649a47350e096c8e1bd96b079"
79
79
  }
@@ -10,7 +10,36 @@ export default class CSSStyleDeclaration {
10
10
  private _attributes: { [k: string]: Attr } = null;
11
11
  private _computedStyleElement: { isConnected: boolean } = null;
12
12
 
13
- /* eslint-disable require-jsdoc */
13
+ /**
14
+ * Constructor.
15
+ *
16
+ * @param [attributes] Attributes.
17
+ * @param [computedStyleElement] Computed style element.
18
+ * @param computedStyleElement.isConnected
19
+ */
20
+ constructor(
21
+ attributes: { [k: string]: Attr } = {},
22
+ computedStyleElement: { isConnected: boolean } = null
23
+ ) {
24
+ const style = attributes['style'];
25
+ let index = 0;
26
+
27
+ this._attributes = attributes;
28
+ this._computedStyleElement = computedStyleElement;
29
+
30
+ if (style && style.value) {
31
+ const parts = style.value.split(';');
32
+ for (const part of parts) {
33
+ if (part) {
34
+ const [name] = part.trim().split(':');
35
+ this[index] = name;
36
+ index++;
37
+ }
38
+ }
39
+ }
40
+
41
+ (<number>this.length) = index;
42
+ }
14
43
 
15
44
  /**
16
45
  *
@@ -4809,8 +4838,6 @@ export default class CSSStyleDeclaration {
4809
4838
  this.setProperty('zoom', zoom);
4810
4839
  }
4811
4840
 
4812
- /* eslint-enable require-jsdoc */
4813
-
4814
4841
  /**
4815
4842
  * Returns the style decleration as a CSS text.
4816
4843
  *
@@ -4844,7 +4871,11 @@ export default class CSSStyleDeclaration {
4844
4871
  for (const part of parts) {
4845
4872
  if (part) {
4846
4873
  const [name, value] = part.trim().split(':');
4847
- newStyle.push(`${name}: ${value.trim()};`);
4874
+ if (value) {
4875
+ newStyle.push(`${name}: ${value.trim()};`);
4876
+ } else {
4877
+ newStyle.push(name);
4878
+ }
4848
4879
  this[index] = name;
4849
4880
  index++;
4850
4881
  }
@@ -4860,37 +4891,6 @@ export default class CSSStyleDeclaration {
4860
4891
  }
4861
4892
  }
4862
4893
 
4863
- /**
4864
- * Constructor.
4865
- *
4866
- * @param [attributes] Attributes.
4867
- * @param [computedStyleElement] Computed style element.
4868
- * @param computedStyleElement.isConnected
4869
- */
4870
- constructor(
4871
- attributes: { [k: string]: Attr } = {},
4872
- computedStyleElement: { isConnected: boolean } = null
4873
- ) {
4874
- const style = attributes['style'];
4875
- let index = 0;
4876
-
4877
- this._attributes = attributes;
4878
- this._computedStyleElement = computedStyleElement;
4879
-
4880
- if (style && style.value) {
4881
- const parts = style.value.split(';');
4882
- for (const part of parts) {
4883
- if (part) {
4884
- const [name] = part.trim().split(':');
4885
- this[index] = name;
4886
- index++;
4887
- }
4888
- }
4889
- }
4890
-
4891
- (<number>this.length) = index;
4892
- }
4893
-
4894
4894
  /**
4895
4895
  * Returns item.
4896
4896
  *
@@ -4932,8 +4932,10 @@ export default class CSSStyleDeclaration {
4932
4932
  if (name === propertyName) {
4933
4933
  newStyle.push(`${name}: ${value};`);
4934
4934
  isExisting = true;
4935
- } else {
4935
+ } else if (existingValue) {
4936
4936
  newStyle.push(`${name}: ${existingValue.trim()};`);
4937
+ } else {
4938
+ newStyle.push(`${name};`);
4937
4939
  }
4938
4940
 
4939
4941
  this[index] = name;
@@ -5011,6 +5013,9 @@ export default class CSSStyleDeclaration {
5011
5013
  if (part) {
5012
5014
  const [name, value] = part.trim().split(':');
5013
5015
  if (name === propertyName) {
5016
+ if (!value) {
5017
+ return '';
5018
+ }
5014
5019
  return value.trim();
5015
5020
  }
5016
5021
  }
package/src/index.ts CHANGED
@@ -106,6 +106,7 @@ import ChildLessElements from './config/ChildLessElements';
106
106
  import CSSStyleSheet from './css/CSSStyleSheet';
107
107
  import Storage from './storage/Storage';
108
108
  import URLSearchParams from './url-search-params/URLSearchParams';
109
+ import Selection from './selection/Selection';
109
110
 
110
111
  export {
111
112
  AsyncWindow,
@@ -215,5 +216,6 @@ export {
215
216
  ChildLessElements,
216
217
  CSSStyleSheet,
217
218
  Storage,
218
- URLSearchParams
219
+ URLSearchParams,
220
+ Selection
219
221
  };
@@ -35,6 +35,7 @@ import IHTMLStyleElement from '../html-style-element/IHTMLStyleElement';
35
35
  import DocumentReadyStateEnum from './DocumentReadyStateEnum';
36
36
  import DocumentReadyStateManager from './DocumentReadyStateManager';
37
37
  import Location from '../../location/Location';
38
+ import Selection from '../../selection/Selection';
38
39
 
39
40
  /**
40
41
  * Document.
@@ -239,6 +240,15 @@ export default class Document extends Node implements IDocument {
239
240
  return this._defaultView.location;
240
241
  }
241
242
 
243
+ /**
244
+ * Returns scripts.
245
+ *
246
+ * @returns Scripts.
247
+ */
248
+ public get scripts(): IHTMLCollection<IElement> {
249
+ return this.getElementsByTagName('script');
250
+ }
251
+
242
252
  /**
243
253
  * Inserts a set of Node objects or DOMString objects after the last child of the ParentNode. DOMString objects are inserted as equivalent Text nodes.
244
254
  *
@@ -699,6 +709,15 @@ export default class Document extends Node implements IDocument {
699
709
  return adopted;
700
710
  }
701
711
 
712
+ /**
713
+ * Returns selection.
714
+ *
715
+ * @returns Selection.
716
+ */
717
+ public getSelection(): Selection {
718
+ return new Selection();
719
+ }
720
+
702
721
  /**
703
722
  * @override
704
723
  */
@@ -11,6 +11,7 @@ import IParentNode from '../parent-node/IParentNode';
11
11
  import INode from '../node/INode';
12
12
  import ICharacterData from '../character-data/ICharacterData';
13
13
  import IDocumentFragment from '../document-fragment/IDocumentFragment';
14
+ import Selection from '../../selection/Selection';
14
15
 
15
16
  /**
16
17
  * Document.
@@ -152,4 +153,11 @@ export default interface IDocument extends IParentNode {
152
153
  * @returns Adopted node.
153
154
  */
154
155
  adoptNode(node: INode): INode;
156
+
157
+ /**
158
+ * Returns selection.
159
+ *
160
+ * @returns Selection.
161
+ */
162
+ getSelection(): Selection;
155
163
  }