happy-dom 7.1.1 → 7.3.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 (80) hide show
  1. package/lib/config/ElementTag.d.ts +4 -2
  2. package/lib/config/ElementTag.js +4 -2
  3. package/lib/config/ElementTag.js.map +1 -1
  4. package/lib/config/NonImplemenetedElementClasses.js +0 -3
  5. package/lib/config/NonImplemenetedElementClasses.js.map +1 -1
  6. package/lib/index.d.ts +11 -1
  7. package/lib/index.js +12 -2
  8. package/lib/index.js.map +1 -1
  9. package/lib/nodes/attr/Attr.d.ts +1 -0
  10. package/lib/nodes/attr/Attr.js +1 -0
  11. package/lib/nodes/attr/Attr.js.map +1 -1
  12. package/lib/nodes/document/Document.d.ts +9 -0
  13. package/lib/nodes/document/Document.js +21 -0
  14. package/lib/nodes/document/Document.js.map +1 -1
  15. package/lib/nodes/document/IDocument.d.ts +9 -0
  16. package/lib/nodes/element/Element.d.ts +1 -0
  17. package/lib/nodes/element/Element.js +1 -0
  18. package/lib/nodes/element/Element.js.map +1 -1
  19. package/lib/nodes/element/IElement.d.ts +1 -0
  20. package/lib/nodes/html-audio-element/HTMLAudioElement.d.ts +11 -0
  21. package/lib/nodes/html-audio-element/HTMLAudioElement.js +17 -0
  22. package/lib/nodes/html-audio-element/HTMLAudioElement.js.map +1 -0
  23. package/lib/nodes/html-audio-element/IHTMLAudioElement.d.ts +9 -0
  24. package/lib/nodes/html-audio-element/IHTMLAudioElement.js +3 -0
  25. package/lib/nodes/html-audio-element/IHTMLAudioElement.js.map +1 -0
  26. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +234 -0
  27. package/lib/nodes/html-media-element/HTMLMediaElement.js +418 -0
  28. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -0
  29. package/lib/nodes/html-media-element/IHTMLMediaElement.d.ts +76 -0
  30. package/lib/nodes/html-media-element/IHTMLMediaElement.js +3 -0
  31. package/lib/nodes/html-media-element/IHTMLMediaElement.js.map +1 -0
  32. package/lib/nodes/html-video-element/HTMLVideoElement.d.ts +11 -0
  33. package/lib/nodes/html-video-element/HTMLVideoElement.js +17 -0
  34. package/lib/nodes/html-video-element/HTMLVideoElement.js.map +1 -0
  35. package/lib/nodes/html-video-element/IHTMLVideoElement.d.ts +9 -0
  36. package/lib/nodes/html-video-element/IHTMLVideoElement.js +3 -0
  37. package/lib/nodes/html-video-element/IHTMLVideoElement.js.map +1 -0
  38. package/lib/nodes/node/INode.d.ts +8 -0
  39. package/lib/nodes/node/Node.d.ts +20 -0
  40. package/lib/nodes/node/Node.js +154 -0
  41. package/lib/nodes/node/Node.js.map +1 -1
  42. package/lib/nodes/node/NodeDocumentPositionEnum.d.ts +9 -0
  43. package/lib/nodes/node/NodeDocumentPositionEnum.js +13 -0
  44. package/lib/nodes/node/NodeDocumentPositionEnum.js.map +1 -0
  45. package/lib/nodes/node/NodeUtility.d.ts +16 -0
  46. package/lib/nodes/node/NodeUtility.js +100 -0
  47. package/lib/nodes/node/NodeUtility.js.map +1 -1
  48. package/lib/nodes/processing-instruction/IProcessingInstruction.d.ts +4 -0
  49. package/lib/nodes/processing-instruction/IProcessingInstruction.js +3 -0
  50. package/lib/nodes/processing-instruction/IProcessingInstruction.js.map +1 -0
  51. package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts +12 -0
  52. package/lib/nodes/processing-instruction/ProcessingInstruction.js +20 -0
  53. package/lib/nodes/processing-instruction/ProcessingInstruction.js.map +1 -0
  54. package/lib/window/IWindow.d.ts +8 -0
  55. package/lib/window/Window.d.ts +8 -0
  56. package/lib/window/Window.js +8 -0
  57. package/lib/window/Window.js.map +1 -1
  58. package/package.json +2 -2
  59. package/src/config/ElementTag.ts +4 -2
  60. package/src/config/NonImplemenetedElementClasses.ts +0 -3
  61. package/src/index.ts +21 -1
  62. package/src/nodes/attr/Attr.ts +1 -0
  63. package/src/nodes/document/Document.ts +28 -0
  64. package/src/nodes/document/IDocument.ts +10 -0
  65. package/src/nodes/element/Element.ts +1 -0
  66. package/src/nodes/element/IElement.ts +1 -0
  67. package/src/nodes/html-audio-element/HTMLAudioElement.ts +11 -0
  68. package/src/nodes/html-audio-element/IHTMLAudioElement.ts +11 -0
  69. package/src/nodes/html-media-element/HTMLMediaElement.ts +441 -0
  70. package/src/nodes/html-media-element/IHTMLMediaElement.ts +84 -0
  71. package/src/nodes/html-video-element/HTMLVideoElement.ts +11 -0
  72. package/src/nodes/html-video-element/IHTMLVideoElement.ts +11 -0
  73. package/src/nodes/node/INode.ts +8 -0
  74. package/src/nodes/node/Node.ts +191 -1
  75. package/src/nodes/node/NodeDocumentPositionEnum.ts +10 -0
  76. package/src/nodes/node/NodeUtility.ts +137 -0
  77. package/src/nodes/processing-instruction/IProcessingInstruction.ts +5 -0
  78. package/src/nodes/processing-instruction/ProcessingInstruction.ts +13 -0
  79. package/src/window/IWindow.ts +8 -0
  80. package/src/window/Window.ts +8 -0
@@ -0,0 +1,76 @@
1
+ import IHTMLElement from '../html-element/IHTMLElement';
2
+ /**
3
+ * HTML Media Element.
4
+ *
5
+ * Reference:
6
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.
7
+ */
8
+ export interface IMediaError {
9
+ code: number;
10
+ message: string;
11
+ }
12
+ export default interface IHTMLMediaElement extends IHTMLElement {
13
+ readonly currentSrc: string;
14
+ readonly duration: number;
15
+ readonly ended: boolean;
16
+ readonly error: IMediaError | null;
17
+ readonly networkState: number;
18
+ readonly played: object;
19
+ readonly readyState: number;
20
+ readonly seekable: object;
21
+ readonly seeking: boolean;
22
+ readonly textTracks: object[];
23
+ readonly videoTracks: object[];
24
+ readonly buffered: object;
25
+ autoplay: boolean;
26
+ controls: boolean;
27
+ crossOrigin: string;
28
+ currentTime: number | string;
29
+ defaultMuted: boolean;
30
+ defaultPlaybackRate: number | string;
31
+ loop: boolean;
32
+ muted: boolean;
33
+ paused: boolean;
34
+ playbackRate: number | string;
35
+ preload: string;
36
+ preservesPitch: boolean;
37
+ src: string;
38
+ volume: number | string;
39
+ /**
40
+ * A MediaStream object which can be used as a source for audio and/or video data by other media processing code,
41
+ * or as a source for WebRTC.
42
+ * Https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/captureStream
43
+ */
44
+ captureStream(): object;
45
+ /**
46
+ * The HTMLMediaElement method canPlayType() reports how likely it is that the current browser will be able to play
47
+ * media of a given MIME type.
48
+ * Https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/canPlayType
49
+ * possible return value: "" | "probably" | "maybe".
50
+ */
51
+ canPlayType(_type: string): string;
52
+ /**
53
+ * The HTMLMediaElement method load() resets the media element to its initial state and begins the process of
54
+ * selecting a media source and loading the media in preparation for playback to begin at the beginning.
55
+ * Https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/load.
56
+ */
57
+ load(): void;
58
+ /**
59
+ * The HTMLMediaElement.pause() method will pause playback of the media, if the media is already in a paused state
60
+ * this method will have no effect.
61
+ */
62
+ pause(): void;
63
+ /**
64
+ * The HTMLMediaElement play() method attempts to begin playback of the media. It returns a Promise
65
+ * which is resolved when playback has been successfully started.
66
+ */
67
+ play(): Promise<void>;
68
+ /**
69
+ * Clones a node.
70
+ *
71
+ * @override
72
+ * @param [deep=false] "true" to clone deep.
73
+ * @returns Cloned node.
74
+ */
75
+ cloneNode(deep: boolean): IHTMLMediaElement;
76
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHTMLMediaElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHTMLMediaElement.js","sourceRoot":"","sources":["../../../src/nodes/html-media-element/IHTMLMediaElement.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import HTMLMediaElement from '../html-media-element/HTMLMediaElement';
2
+ import IHTMLVideoElement from './IHTMLVideoElement';
3
+ /**
4
+ * HTML Video Element.
5
+ *
6
+ * Reference:
7
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement.
8
+ *
9
+ */
10
+ export default class HTMLVideoElement extends HTMLMediaElement implements IHTMLVideoElement {
11
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const HTMLMediaElement_1 = __importDefault(require("../html-media-element/HTMLMediaElement"));
7
+ /**
8
+ * HTML Video Element.
9
+ *
10
+ * Reference:
11
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement.
12
+ *
13
+ */
14
+ class HTMLVideoElement extends HTMLMediaElement_1.default {
15
+ }
16
+ exports.default = HTMLVideoElement;
17
+ //# sourceMappingURL=HTMLVideoElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLVideoElement.js","sourceRoot":"","sources":["../../../src/nodes/html-video-element/HTMLVideoElement.ts"],"names":[],"mappings":";;;;;AAAA,8FAAsE;AAGtE;;;;;;GAMG;AACH,MAAqB,gBAAiB,SAAQ,0BAAgB;CAAgC;AAA9F,mCAA8F"}
@@ -0,0 +1,9 @@
1
+ import IHTMLMediaElement from '../html-media-element/IHTMLMediaElement';
2
+ /**
3
+ * HTML Video Element.
4
+ *
5
+ * Reference:
6
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement.
7
+ */
8
+ declare type IHTMLVideoElement = IHTMLMediaElement;
9
+ export default IHTMLVideoElement;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHTMLVideoElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHTMLVideoElement.js","sourceRoot":"","sources":["../../../src/nodes/html-video-element/IHTMLVideoElement.ts"],"names":[],"mappings":""}
@@ -3,6 +3,7 @@ import IDocument from '../document/IDocument';
3
3
  import IElement from '../element/IElement';
4
4
  import INodeList from './INodeList';
5
5
  import NodeTypeEnum from './NodeTypeEnum';
6
+ import NodeDocumentPositionEnum from './NodeDocumentPositionEnum';
6
7
  export default interface INode extends IEventTarget {
7
8
  readonly ELEMENT_NODE: NodeTypeEnum;
8
9
  readonly ATTRIBUTE_NODE: NodeTypeEnum;
@@ -13,6 +14,12 @@ export default interface INode extends IEventTarget {
13
14
  readonly DOCUMENT_TYPE_NODE: NodeTypeEnum;
14
15
  readonly DOCUMENT_FRAGMENT_NODE: NodeTypeEnum;
15
16
  readonly PROCESSING_INSTRUCTION_NODE: NodeTypeEnum;
17
+ readonly DOCUMENT_POSITION_DISCONNECTED: NodeDocumentPositionEnum;
18
+ readonly DOCUMENT_POSITION_PRECEDING: NodeDocumentPositionEnum;
19
+ readonly DOCUMENT_POSITION_FOLLOWING: NodeDocumentPositionEnum;
20
+ readonly DOCUMENT_POSITION_CONTAINS: NodeDocumentPositionEnum;
21
+ readonly DOCUMENT_POSITION_CONTAINED_BY: NodeDocumentPositionEnum;
22
+ readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: NodeDocumentPositionEnum;
16
23
  readonly ownerDocument: IDocument;
17
24
  readonly parentNode: INode;
18
25
  readonly parentElement: IElement;
@@ -40,4 +47,5 @@ export default interface INode extends IEventTarget {
40
47
  insertBefore(newNode: INode, referenceNode?: INode | null): INode;
41
48
  replaceChild(newChild: INode, oldChild: INode): INode;
42
49
  toString(): string;
50
+ compareDocumentPosition(otherNode: INode): number;
43
51
  }
@@ -6,6 +6,7 @@ import IDocument from '../document/IDocument';
6
6
  import IElement from '../element/IElement';
7
7
  import INodeList from './INodeList';
8
8
  import NodeTypeEnum from './NodeTypeEnum';
9
+ import NodeDocumentPositionEnum from './NodeDocumentPositionEnum';
9
10
  /**
10
11
  * Node.
11
12
  */
@@ -20,6 +21,12 @@ export default class Node extends EventTarget implements INode {
20
21
  static readonly DOCUMENT_TYPE_NODE = NodeTypeEnum.documentTypeNode;
21
22
  static readonly DOCUMENT_FRAGMENT_NODE = NodeTypeEnum.documentFragmentNode;
22
23
  static readonly PROCESSING_INSTRUCTION_NODE = NodeTypeEnum.processingInstructionNode;
24
+ static readonly DOCUMENT_POSITION_CONTAINED_BY = NodeDocumentPositionEnum.containedBy;
25
+ static readonly DOCUMENT_POSITION_CONTAINS = NodeDocumentPositionEnum.contains;
26
+ static readonly DOCUMENT_POSITION_DISCONNECTED = NodeDocumentPositionEnum.disconnect;
27
+ static readonly DOCUMENT_POSITION_FOLLOWING = NodeDocumentPositionEnum.following;
28
+ static readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = NodeDocumentPositionEnum.implementationSpecific;
29
+ static readonly DOCUMENT_POSITION_PRECEDING = NodeDocumentPositionEnum.preceding;
23
30
  readonly ELEMENT_NODE = NodeTypeEnum.elementNode;
24
31
  readonly ATTRIBUTE_NODE = NodeTypeEnum.attributeNode;
25
32
  readonly TEXT_NODE = NodeTypeEnum.textNode;
@@ -29,6 +36,12 @@ export default class Node extends EventTarget implements INode {
29
36
  readonly DOCUMENT_TYPE_NODE = NodeTypeEnum.documentTypeNode;
30
37
  readonly DOCUMENT_FRAGMENT_NODE = NodeTypeEnum.documentFragmentNode;
31
38
  readonly PROCESSING_INSTRUCTION_NODE = NodeTypeEnum.processingInstructionNode;
39
+ readonly DOCUMENT_POSITION_CONTAINED_BY = NodeDocumentPositionEnum.containedBy;
40
+ readonly DOCUMENT_POSITION_CONTAINS = NodeDocumentPositionEnum.contains;
41
+ readonly DOCUMENT_POSITION_DISCONNECTED = NodeDocumentPositionEnum.disconnect;
42
+ readonly DOCUMENT_POSITION_FOLLOWING = NodeDocumentPositionEnum.following;
43
+ readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = NodeDocumentPositionEnum.implementationSpecific;
44
+ readonly DOCUMENT_POSITION_PRECEDING = NodeDocumentPositionEnum.preceding;
32
45
  readonly ownerDocument: IDocument;
33
46
  readonly parentNode: INode;
34
47
  readonly nodeType: number;
@@ -202,4 +215,11 @@ export default class Node extends EventTarget implements INode {
202
215
  * @param parentNode Parent node.
203
216
  */
204
217
  _connectToNode(parentNode?: INode): void;
218
+ /**
219
+ * Reports the position of its argument node relative to the node on which it is called.
220
+ *
221
+ * @see https://dom.spec.whatwg.org/#dom-node-comparedocumentposition
222
+ * @param otherNode Other node.
223
+ */
224
+ compareDocumentPosition(otherNode: INode): number;
205
225
  }
@@ -9,6 +9,8 @@ const MutationTypeEnum_1 = __importDefault(require("../../mutation-observer/Muta
9
9
  const DOMException_1 = __importDefault(require("../../exception/DOMException"));
10
10
  const NodeListFactory_1 = __importDefault(require("./NodeListFactory"));
11
11
  const NodeTypeEnum_1 = __importDefault(require("./NodeTypeEnum"));
12
+ const NodeDocumentPositionEnum_1 = __importDefault(require("./NodeDocumentPositionEnum"));
13
+ const NodeUtility_1 = __importDefault(require("./NodeUtility"));
12
14
  /**
13
15
  * Node.
14
16
  */
@@ -27,6 +29,12 @@ class Node extends EventTarget_1.default {
27
29
  this.DOCUMENT_TYPE_NODE = NodeTypeEnum_1.default.documentTypeNode;
28
30
  this.DOCUMENT_FRAGMENT_NODE = NodeTypeEnum_1.default.documentFragmentNode;
29
31
  this.PROCESSING_INSTRUCTION_NODE = NodeTypeEnum_1.default.processingInstructionNode;
32
+ this.DOCUMENT_POSITION_CONTAINED_BY = NodeDocumentPositionEnum_1.default.containedBy;
33
+ this.DOCUMENT_POSITION_CONTAINS = NodeDocumentPositionEnum_1.default.contains;
34
+ this.DOCUMENT_POSITION_DISCONNECTED = NodeDocumentPositionEnum_1.default.disconnect;
35
+ this.DOCUMENT_POSITION_FOLLOWING = NodeDocumentPositionEnum_1.default.following;
36
+ this.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = NodeDocumentPositionEnum_1.default.implementationSpecific;
37
+ this.DOCUMENT_POSITION_PRECEDING = NodeDocumentPositionEnum_1.default.preceding;
30
38
  this.ownerDocument = null;
31
39
  this.parentNode = null;
32
40
  this.childNodes = NodeListFactory_1.default.create();
@@ -433,6 +441,146 @@ class Node extends EventTarget_1.default {
433
441
  }
434
442
  }
435
443
  }
444
+ /**
445
+ * Reports the position of its argument node relative to the node on which it is called.
446
+ *
447
+ * @see https://dom.spec.whatwg.org/#dom-node-comparedocumentposition
448
+ * @param otherNode Other node.
449
+ */
450
+ compareDocumentPosition(otherNode) {
451
+ /**
452
+ * 1. If this is other, then return zero.
453
+ */
454
+ if (this === otherNode) {
455
+ return 0;
456
+ }
457
+ /**
458
+ * 2. Let node1 be other and node2 be this.
459
+ */
460
+ let node1 = otherNode;
461
+ let node2 = this;
462
+ /**
463
+ * 3. Let attr1 and attr2 be null.
464
+ */
465
+ let attr1 = null;
466
+ let attr2 = null;
467
+ /**
468
+ * 4. If node1 is an attribute, then set attr1 to node1 and node1 to attr1’s element.
469
+ */
470
+ if (node1.nodeType === Node.ATTRIBUTE_NODE) {
471
+ attr1 = node1;
472
+ node1 = attr1.ownerElement;
473
+ }
474
+ /**
475
+ * 5. If node2 is an attribute, then:
476
+ * 5.1. Set attr2 to node2 and node2 to attr2’s element.
477
+ */
478
+ if (node2.nodeType === Node.ATTRIBUTE_NODE) {
479
+ attr2 = node2;
480
+ node2 = attr2.ownerElement;
481
+ /**
482
+ * 5.2. If attr1 and node1 are non-null, and node2 is node1, then:
483
+ */
484
+ if (attr1 !== null && node1 !== null && node2 === node1) {
485
+ /**
486
+ * 5.2.1. For each attr in node2’s attribute list:
487
+ */
488
+ for (const attr of Object.values(node2.attributes)) {
489
+ /**
490
+ * 5.2.1.1. If attr equals attr1, then return the result of adding DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC and DOCUMENT_POSITION_PRECEDING.
491
+ */
492
+ if (NodeUtility_1.default.nodeEquals(attr, attr1)) {
493
+ return (Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | Node.DOCUMENT_POSITION_PRECEDING);
494
+ }
495
+ /**
496
+ * 5.2.1.2. If attr equals attr2, then return the result of adding DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC and DOCUMENT_POSITION_FOLLOWING.
497
+ */
498
+ if (NodeUtility_1.default.nodeEquals(attr, attr2)) {
499
+ return (Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | Node.DOCUMENT_POSITION_FOLLOWING);
500
+ }
501
+ }
502
+ }
503
+ }
504
+ const node2Ancestors = [];
505
+ let node2Ancestor = node2;
506
+ while (node2Ancestor) {
507
+ /**
508
+ * 7. If node1 is an ancestor of node2 […] then return the result of adding DOCUMENT_POSITION_CONTAINS to DOCUMENT_POSITION_PRECEDING.
509
+ */
510
+ if (node2Ancestor === node1) {
511
+ return Node.DOCUMENT_POSITION_CONTAINS | Node.DOCUMENT_POSITION_PRECEDING;
512
+ }
513
+ node2Ancestors.push(node2Ancestor);
514
+ node2Ancestor = node2Ancestor.parentNode;
515
+ }
516
+ const node1Ancestors = [];
517
+ let node1Ancestor = node1;
518
+ while (node1Ancestor) {
519
+ /**
520
+ * 8. If node1 is a descendant of node2 […] then return the result of adding DOCUMENT_POSITION_CONTAINED_BY to DOCUMENT_POSITION_FOLLOWING.
521
+ */
522
+ if (node1Ancestor === node2) {
523
+ return Node.DOCUMENT_POSITION_CONTAINED_BY | Node.DOCUMENT_POSITION_FOLLOWING;
524
+ }
525
+ node1Ancestors.push(node1Ancestor);
526
+ node1Ancestor = node1Ancestor.parentNode;
527
+ }
528
+ const reverseArrayIndex = (array, reverseIndex) => {
529
+ return array[array.length - 1 - reverseIndex];
530
+ };
531
+ const root = reverseArrayIndex(node2Ancestors, 0);
532
+ /**
533
+ * 6. If node1 or node2 is null, or node1’s root is not node2’s root, then return the result of adding
534
+ * DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, and either
535
+ * DOCUMENT_POSITION_PRECEDING or DOCUMENT_POSITION_FOLLOWING, with the constraint that this is to be consistent, together.
536
+ */
537
+ if (!root || root !== reverseArrayIndex(node1Ancestors, 0)) {
538
+ return (Node.DOCUMENT_POSITION_DISCONNECTED |
539
+ Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC |
540
+ Node.DOCUMENT_POSITION_FOLLOWING);
541
+ }
542
+ // Find the lowest common ancestor
543
+ let commonAncestorIndex = 0;
544
+ const ancestorsMinLength = Math.min(node2Ancestors.length, node1Ancestors.length);
545
+ for (let i = 0; i < ancestorsMinLength; ++i) {
546
+ const node2Ancestor = reverseArrayIndex(node2Ancestors, i);
547
+ const node1Ancestor = reverseArrayIndex(node1Ancestors, i);
548
+ if (node2Ancestor !== node1Ancestor) {
549
+ break;
550
+ }
551
+ commonAncestorIndex = i;
552
+ }
553
+ const commonAncestor = reverseArrayIndex(node2Ancestors, commonAncestorIndex);
554
+ // Indexes within the common ancestor
555
+ let indexes = 0;
556
+ let node2Index = -1;
557
+ let node1Index = -1;
558
+ const node2Node = reverseArrayIndex(node2Ancestors, commonAncestorIndex + 1);
559
+ const node1Node = reverseArrayIndex(node1Ancestors, commonAncestorIndex + 1);
560
+ const computeNodeIndexes = (nodes) => {
561
+ for (const childNode of nodes) {
562
+ computeNodeIndexes(childNode.childNodes);
563
+ if (childNode === node2Node) {
564
+ node2Index = indexes;
565
+ }
566
+ else if (childNode === node1Node) {
567
+ node1Index = indexes;
568
+ }
569
+ if (node2Index !== -1 && node1Index !== -1) {
570
+ break;
571
+ }
572
+ indexes++;
573
+ }
574
+ };
575
+ computeNodeIndexes(commonAncestor.childNodes);
576
+ /**
577
+ * 9. If node1 is preceding node2, then return DOCUMENT_POSITION_PRECEDING.
578
+ * 10. Return DOCUMENT_POSITION_FOLLOWING.
579
+ */
580
+ return node1Index < node2Index
581
+ ? Node.DOCUMENT_POSITION_PRECEDING
582
+ : Node.DOCUMENT_POSITION_FOLLOWING;
583
+ }
436
584
  }
437
585
  exports.default = Node;
438
586
  // Owner document is set when the Node is created by the Document
@@ -447,4 +595,10 @@ Node.DOCUMENT_NODE = NodeTypeEnum_1.default.documentNode;
447
595
  Node.DOCUMENT_TYPE_NODE = NodeTypeEnum_1.default.documentTypeNode;
448
596
  Node.DOCUMENT_FRAGMENT_NODE = NodeTypeEnum_1.default.documentFragmentNode;
449
597
  Node.PROCESSING_INSTRUCTION_NODE = NodeTypeEnum_1.default.processingInstructionNode;
598
+ Node.DOCUMENT_POSITION_CONTAINED_BY = NodeDocumentPositionEnum_1.default.containedBy;
599
+ Node.DOCUMENT_POSITION_CONTAINS = NodeDocumentPositionEnum_1.default.contains;
600
+ Node.DOCUMENT_POSITION_DISCONNECTED = NodeDocumentPositionEnum_1.default.disconnect;
601
+ Node.DOCUMENT_POSITION_FOLLOWING = NodeDocumentPositionEnum_1.default.following;
602
+ Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = NodeDocumentPositionEnum_1.default.implementationSpecific;
603
+ Node.DOCUMENT_POSITION_PRECEDING = NodeDocumentPositionEnum_1.default.preceding;
450
604
  //# sourceMappingURL=Node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/nodes/node/Node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/nodes/node/Node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ declare enum NodeDocumentPositionEnum {
2
+ disconnect = 1,
3
+ preceding = 2,
4
+ following = 4,
5
+ contains = 8,
6
+ containedBy = 16,
7
+ implementationSpecific = 32
8
+ }
9
+ export default NodeDocumentPositionEnum;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var NodeDocumentPositionEnum;
4
+ (function (NodeDocumentPositionEnum) {
5
+ NodeDocumentPositionEnum[NodeDocumentPositionEnum["disconnect"] = 1] = "disconnect";
6
+ NodeDocumentPositionEnum[NodeDocumentPositionEnum["preceding"] = 2] = "preceding";
7
+ NodeDocumentPositionEnum[NodeDocumentPositionEnum["following"] = 4] = "following";
8
+ NodeDocumentPositionEnum[NodeDocumentPositionEnum["contains"] = 8] = "contains";
9
+ NodeDocumentPositionEnum[NodeDocumentPositionEnum["containedBy"] = 16] = "containedBy";
10
+ NodeDocumentPositionEnum[NodeDocumentPositionEnum["implementationSpecific"] = 32] = "implementationSpecific";
11
+ })(NodeDocumentPositionEnum || (NodeDocumentPositionEnum = {}));
12
+ exports.default = NodeDocumentPositionEnum;
13
+ //# sourceMappingURL=NodeDocumentPositionEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeDocumentPositionEnum.js","sourceRoot":"","sources":["../../../src/nodes/node/NodeDocumentPositionEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,wBAOJ;AAPD,WAAK,wBAAwB;IAC5B,mFAAiB,CAAA;IACjB,iFAAgB,CAAA;IAChB,iFAAgB,CAAA;IAChB,+EAAe,CAAA;IACf,sFAAkB,CAAA;IAClB,4GAA6B,CAAA;AAC9B,CAAC,EAPI,wBAAwB,KAAxB,wBAAwB,QAO5B;AAED,kBAAe,wBAAwB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import INode from './INode';
2
+ import IElement from '../element/IElement';
2
3
  /**
3
4
  * Node utility.
4
5
  */
@@ -56,4 +57,19 @@ export default class NodeUtility {
56
57
  * @returns Next decentant node.
57
58
  */
58
59
  static nextDecendantNode(node: INode): INode;
60
+ /**
61
+ * Needed by https://dom.spec.whatwg.org/#concept-node-equals
62
+ *
63
+ * @param elementA
64
+ * @param elementB
65
+ */
66
+ static attributeListsEqual(elementA: IElement, elementB: IElement): boolean;
67
+ /**
68
+ * Check if node nodeA equals node nodeB.
69
+ * Reference: https://dom.spec.whatwg.org/#concept-node-equals
70
+ *
71
+ * @param nodeA Node A.
72
+ * @param nodeB Node B.
73
+ */
74
+ static nodeEquals(nodeA: INode, nodeB: INode): boolean;
59
75
  }
@@ -118,6 +118,106 @@ class NodeUtility {
118
118
  }
119
119
  return node.nextSibling;
120
120
  }
121
+ /**
122
+ * Needed by https://dom.spec.whatwg.org/#concept-node-equals
123
+ *
124
+ * @param elementA
125
+ * @param elementB
126
+ */
127
+ static attributeListsEqual(elementA, elementB) {
128
+ const listA = Object.values(elementA.attributes);
129
+ const listB = Object.values(elementB.attributes);
130
+ const lengthA = listA.length;
131
+ const lengthB = listB.length;
132
+ if (lengthA !== lengthB) {
133
+ return false;
134
+ }
135
+ for (let i = 0; i < lengthA; ++i) {
136
+ const attrA = listA[i];
137
+ if (!listB.some((attrB) => {
138
+ return ((typeof attrA === 'number' && typeof attrB === 'number' && attrA === attrB) ||
139
+ (typeof attrA === 'object' &&
140
+ typeof attrB === 'object' &&
141
+ NodeUtility.nodeEquals(attrA, attrB)));
142
+ })) {
143
+ return false;
144
+ }
145
+ }
146
+ return true;
147
+ }
148
+ /**
149
+ * Check if node nodeA equals node nodeB.
150
+ * Reference: https://dom.spec.whatwg.org/#concept-node-equals
151
+ *
152
+ * @param nodeA Node A.
153
+ * @param nodeB Node B.
154
+ */
155
+ static nodeEquals(nodeA, nodeB) {
156
+ if (nodeA.nodeType !== nodeB.nodeType) {
157
+ return false;
158
+ }
159
+ switch (nodeA.nodeType) {
160
+ case NodeTypeEnum_1.default.documentTypeNode:
161
+ const documentTypeA = nodeA;
162
+ const documentTypeB = nodeB;
163
+ if (documentTypeA.name !== documentTypeB.name ||
164
+ documentTypeA.publicId !== documentTypeB.publicId ||
165
+ documentTypeA.systemId !== documentTypeB.systemId) {
166
+ return false;
167
+ }
168
+ break;
169
+ case NodeTypeEnum_1.default.elementNode:
170
+ const elementA = nodeA;
171
+ const elementB = nodeB;
172
+ if (elementA.namespaceURI !== elementB.namespaceURI ||
173
+ elementA.prefix !== elementB.prefix ||
174
+ elementA.localName !== elementB.localName ||
175
+ elementA.attributes.length !== elementB.attributes.length) {
176
+ return false;
177
+ }
178
+ break;
179
+ case NodeTypeEnum_1.default.attributeNode:
180
+ const attributeA = nodeA;
181
+ const attributeB = nodeB;
182
+ if (attributeA.namespaceURI !== attributeB.namespaceURI ||
183
+ attributeA.localName !== attributeB.localName ||
184
+ attributeA.value !== attributeB.value) {
185
+ return false;
186
+ }
187
+ break;
188
+ case NodeTypeEnum_1.default.processingInstructionNode:
189
+ const processingInstructionA = nodeA;
190
+ const processingInstructionB = nodeB;
191
+ if (processingInstructionA.target !== processingInstructionB.target ||
192
+ processingInstructionA.data !== processingInstructionB.data) {
193
+ return false;
194
+ }
195
+ break;
196
+ case NodeTypeEnum_1.default.textNode:
197
+ case NodeTypeEnum_1.default.commentNode:
198
+ const textOrCommentA = nodeA;
199
+ const textOrCommentB = nodeB;
200
+ if (textOrCommentA.data !== textOrCommentB.data) {
201
+ return false;
202
+ }
203
+ break;
204
+ }
205
+ if (nodeA.nodeType === NodeTypeEnum_1.default.elementNode &&
206
+ !NodeUtility.attributeListsEqual(nodeA, nodeB)) {
207
+ return false;
208
+ }
209
+ if (nodeA.childNodes.length !== nodeB.childNodes.length) {
210
+ return false;
211
+ }
212
+ for (let i = 0; i < nodeA.childNodes.length; i++) {
213
+ const childNodeA = nodeA.childNodes[i];
214
+ const childNodeB = nodeB.childNodes[i];
215
+ if (!NodeUtility.nodeEquals(childNodeA, childNodeB)) {
216
+ return false;
217
+ }
218
+ }
219
+ return true;
220
+ }
121
221
  }
122
222
  exports.default = NodeUtility;
123
223
  //# sourceMappingURL=NodeUtility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/node/NodeUtility.ts"],"names":[],"mappings":";;;;;AAGA,kEAA0C;AAE1C;;GAEG;AACH,MAAqB,WAAW;IAC/B;;;;;;;;;;OAUG;IACI,MAAM,CAAC,mBAAmB,CAAC,YAAmB,EAAE,aAAoB;QAC1E,IAAI,MAAM,GAAU,aAAa,CAAC;QAClC,OAAO,MAAM,EAAE;YACd,IAAI,YAAY,KAAK,MAAM,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACZ;YACD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;SAC3B;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,WAAW,CAAC,KAAY,EAAE,KAAY;QACnD,IAAI,KAAK,KAAK,KAAK,EAAE;YACpB,OAAO,KAAK,CAAC;SACb;QAED,IAAI,OAAO,GAAU,KAAK,CAAC;QAE3B,OAAO,OAAO,EAAE;YACf,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAElC,IAAI,OAAO,KAAK,KAAK,EAAE;gBACtB,OAAO,IAAI,CAAC;aACZ;SACD;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,aAAa,CAAC,IAAW;QACtC,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACtB,KAAK,sBAAY,CAAC,gBAAgB;gBACjC,OAAO,CAAC,CAAC;YAEV,KAAK,sBAAY,CAAC,QAAQ,CAAC;YAC3B,KAAK,sBAAY,CAAC,yBAAyB,CAAC;YAC5C,KAAK,sBAAY,CAAC,WAAW;gBAC5B,OAA0B,IAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAE7C;gBACC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;SAC/B;IACF,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,SAAS,CAAC,IAAW,EAAE,IAAY;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,IAAI,UAAU,EAAE;YACf,OAAO,UAAU,CAAC;SAClB;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,OAAO,OAAO,EAAE;YACf,IAAI,OAAO,KAAK,IAAI,EAAE;gBACrB,OAAO,IAAI,CAAC;aACZ;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAExC,IAAI,WAAW,EAAE;gBAChB,OAAO,WAAW,CAAC;aACnB;YAED,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;SAC7B;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAAW;QAC1C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACjC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;SACvB;QAED,IAAI,CAAC,IAAI,EAAE;YACV,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;CACD;AAlID,8BAkIC"}
1
+ {"version":3,"file":"NodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/node/NodeUtility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import ICharacterData from '../character-data/ICharacterData';
2
+ export default interface IProcessingInstruction extends ICharacterData {
3
+ target: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IProcessingInstruction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IProcessingInstruction.js","sourceRoot":"","sources":["../../../src/nodes/processing-instruction/IProcessingInstruction.ts"],"names":[],"mappings":""}