happy-dom 9.1.7 → 9.1.8

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 (42) hide show
  1. package/lib/nodes/document/Document.d.ts +5 -5
  2. package/lib/nodes/document/Document.js +1 -1
  3. package/lib/nodes/document/Document.js.map +1 -1
  4. package/lib/nodes/document/IDocument.d.ts +1 -1
  5. package/lib/nodes/document-fragment/DocumentFragment.d.ts +1 -1
  6. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  7. package/lib/nodes/element/Element.d.ts +4 -4
  8. package/lib/nodes/element/Element.js +2 -2
  9. package/lib/nodes/element/Element.js.map +1 -1
  10. package/lib/nodes/element/ElementUtility.js +1 -1
  11. package/lib/nodes/element/ElementUtility.js.map +1 -1
  12. package/lib/nodes/element/HTMLCollection.d.ts +10 -3
  13. package/lib/nodes/element/HTMLCollection.js +18 -5
  14. package/lib/nodes/element/HTMLCollection.js.map +1 -1
  15. package/lib/nodes/element/IHTMLCollection.d.ts +2 -2
  16. package/lib/nodes/html-form-element/HTMLFormControlsCollection.d.ts +21 -3
  17. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js +41 -6
  18. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js.map +1 -1
  19. package/lib/nodes/html-form-element/IHTMLFormControlsCollection.d.ts +1 -2
  20. package/lib/nodes/html-select-element/HTMLOptionsCollection.d.ts +1 -1
  21. package/lib/nodes/html-select-element/HTMLOptionsCollection.js.map +1 -1
  22. package/lib/nodes/html-select-element/HTMLSelectElement.js +1 -1
  23. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  24. package/lib/nodes/html-select-element/IHTMLOptionsCollection.d.ts +1 -1
  25. package/lib/nodes/parent-node/IParentNode.d.ts +4 -4
  26. package/lib/nodes/parent-node/ParentNodeUtility.d.ts +3 -3
  27. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/nodes/document/Document.ts +6 -14
  30. package/src/nodes/document/IDocument.ts +1 -1
  31. package/src/nodes/document-fragment/DocumentFragment.ts +1 -1
  32. package/src/nodes/element/Element.ts +13 -14
  33. package/src/nodes/element/ElementUtility.ts +8 -7
  34. package/src/nodes/element/HTMLCollection.ts +21 -10
  35. package/src/nodes/element/IHTMLCollection.ts +2 -2
  36. package/src/nodes/html-form-element/HTMLFormControlsCollection.ts +53 -13
  37. package/src/nodes/html-form-element/IHTMLFormControlsCollection.ts +2 -8
  38. package/src/nodes/html-select-element/HTMLOptionsCollection.ts +1 -1
  39. package/src/nodes/html-select-element/HTMLSelectElement.ts +1 -3
  40. package/src/nodes/html-select-element/IHTMLOptionsCollection.ts +1 -2
  41. package/src/nodes/parent-node/IParentNode.ts +4 -7
  42. package/src/nodes/parent-node/ParentNodeUtility.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLOptionsCollection.js","sourceRoot":"","sources":["../../../src/nodes/html-select-element/HTMLOptionsCollection.ts"],"names":[],"mappings":";;;;;AAAA,gFAAwD;AACxD,+EAAuD;AAKvD;;;;;GAKG;AACH,MAAqB,qBACpB,SAAQ,wBAAsD;IAK9D;;;OAGG;IACH,YAAY,aAAiC;QAC5C,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,IAAW,aAAa,CAAC,aAAqB;QAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,aAAa,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,OAA2B,EAAE,MAAoC;QAC3E,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO;SACP;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;YAClC,IAAI,MAAM,GAAG,CAAC,EAAE;gBACf,OAAO;aACP;YAED,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAS,MAAM,CAAC,CAAC,CAAC;YAChE,OAAO;SACP;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,MAAM,IAAI,sBAAY,CACrB,8HAA8H,CAC9H,CAAC;SACF;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;YAChB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAqB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACjE;IACF,CAAC;CACD;AApFD,wCAoFC"}
1
+ {"version":3,"file":"HTMLOptionsCollection.js","sourceRoot":"","sources":["../../../src/nodes/html-select-element/HTMLOptionsCollection.ts"],"names":[],"mappings":";;;;;AAAA,gFAAwD;AACxD,+EAAuD;AAKvD;;;;;GAKG;AACH,MAAqB,qBACpB,SAAQ,wBAAkC;IAK1C;;;OAGG;IACH,YAAY,aAAiC;QAC5C,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,IAAW,aAAa,CAAC,aAAqB;QAC7C,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,aAAa,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,OAA2B,EAAE,MAAoC;QAC3E,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO;SACP;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;YAClC,IAAI,MAAM,GAAG,CAAC,EAAE;gBACf,OAAO;aACP;YAED,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAS,MAAM,CAAC,CAAC,CAAC;YAChE,OAAO;SACP;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,MAAM,IAAI,sBAAY,CACrB,8HAA8H,CAC9H,CAAC;SACF;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;YAChB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAqB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SACjE;IACF,CAAC;CACD;AApFD,wCAoFC"}
@@ -308,7 +308,7 @@ class HTMLSelectElement extends HTMLElement_1.default {
308
308
  * @param [selectedOption] Selected option.
309
309
  */
310
310
  _updateOptionItems(selectedOption) {
311
- const optionElements = (this.getElementsByTagName('option'));
311
+ const optionElements = this.getElementsByTagName('option');
312
312
  if (optionElements.length < this.options.length) {
313
313
  this.options.splice(this.options.length - 1, this.options.length - optionElements.length);
314
314
  for (let i = optionElements.length - 1, max = this.length; i < max; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLSelectElement.js","sourceRoot":"","sources":["../../../src/nodes/html-select-element/HTMLSelectElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLSelectElement.js","sourceRoot":"","sources":["../../../src/nodes/html-select-element/HTMLSelectElement.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import IHTMLOptionElement from '../html-option-element/IHTMLOptionElement';
6
6
  * Reference:
7
7
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionsCollection.
8
8
  */
9
- export default interface IHTMLOptionsCollection extends IHTMLCollection<IHTMLOptionElement, IHTMLOptionElement> {
9
+ export default interface IHTMLOptionsCollection extends IHTMLCollection<IHTMLOptionElement> {
10
10
  selectedIndex: number;
11
11
  length: number;
12
12
  /**
@@ -6,7 +6,7 @@ export default interface IParentNode extends INode {
6
6
  readonly childElementCount: number;
7
7
  readonly firstElementChild: IElement;
8
8
  readonly lastElementChild: IElement;
9
- readonly children: IHTMLCollection<IElement, IElement>;
9
+ readonly children: IHTMLCollection<IElement>;
10
10
  /**
11
11
  * Inserts a set of Node objects or DOMString objects after the last child of the ParentNode. DOMString objects are inserted as equivalent Text nodes.
12
12
  *
@@ -39,14 +39,14 @@ export default interface IParentNode extends INode {
39
39
  * @param className Tag name.
40
40
  * @returns Matching element.
41
41
  */
42
- getElementsByClassName(className: string): IHTMLCollection<IElement, IElement>;
42
+ getElementsByClassName(className: string): IHTMLCollection<IElement>;
43
43
  /**
44
44
  * Returns an elements by tag name.
45
45
  *
46
46
  * @param tagName Tag name.
47
47
  * @returns Matching element.
48
48
  */
49
- getElementsByTagName(tagName: string): IHTMLCollection<IElement, IElement>;
49
+ getElementsByTagName(tagName: string): IHTMLCollection<IElement>;
50
50
  /**
51
51
  * Returns an elements by tag name and namespace.
52
52
  *
@@ -54,7 +54,7 @@ export default interface IParentNode extends INode {
54
54
  * @param tagName Tag name.
55
55
  * @returns Matching element.
56
56
  */
57
- getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement, IElement>;
57
+ getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement>;
58
58
  /**
59
59
  * Replaces the existing children of a node with a specified new set of children.
60
60
  *
@@ -35,7 +35,7 @@ export default class ParentNodeUtility {
35
35
  * @param className Tag name.
36
36
  * @returns Matching element.
37
37
  */
38
- static getElementsByClassName(parentNode: IElement | IDocumentFragment | IDocument, className: string): IHTMLCollection<IElement, IElement>;
38
+ static getElementsByClassName(parentNode: IElement | IDocumentFragment | IDocument, className: string): IHTMLCollection<IElement>;
39
39
  /**
40
40
  * Returns an elements by tag name.
41
41
  *
@@ -43,7 +43,7 @@ export default class ParentNodeUtility {
43
43
  * @param tagName Tag name.
44
44
  * @returns Matching element.
45
45
  */
46
- static getElementsByTagName(parentNode: IElement | IDocumentFragment | IDocument, tagName: string): IHTMLCollection<IElement, IElement>;
46
+ static getElementsByTagName(parentNode: IElement | IDocumentFragment | IDocument, tagName: string): IHTMLCollection<IElement>;
47
47
  /**
48
48
  * Returns an elements by tag name and namespace.
49
49
  *
@@ -52,7 +52,7 @@ export default class ParentNodeUtility {
52
52
  * @param tagName Tag name.
53
53
  * @returns Matching element.
54
54
  */
55
- static getElementsByTagNameNS(parentNode: IElement | IDocumentFragment | IDocument, namespaceURI: string, tagName: string): IHTMLCollection<IElement, IElement>;
55
+ static getElementsByTagNameNS(parentNode: IElement | IDocumentFragment | IDocument, namespaceURI: string, tagName: string): IHTMLCollection<IElement>;
56
56
  /**
57
57
  * Returns the first element matching a tag name.
58
58
  * This is not part of the browser standard and is only used internally in the document.
@@ -1 +1 @@
1
- {"version":3,"file":"ParentNodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/parent-node/ParentNodeUtility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParentNodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/parent-node/ParentNodeUtility.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "9.1.7",
3
+ "version": "9.1.8",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -57,10 +57,7 @@ export default class Document extends Node implements IDocument {
57
57
  public nodeType = Node.DOCUMENT_NODE;
58
58
  public adoptedStyleSheets: CSSStyleSheet[] = [];
59
59
  public implementation: DOMImplementation;
60
- public readonly children: IHTMLCollection<IElement, IElement> = new HTMLCollection<
61
- IElement,
62
- IElement
63
- >();
60
+ public readonly children: IHTMLCollection<IElement> = new HTMLCollection<IElement>();
64
61
  public readonly readyState = DocumentReadyStateEnum.interactive;
65
62
  public readonly isConnected: boolean = true;
66
63
  public readonly defaultView: IWindow;
@@ -421,10 +418,8 @@ export default class Document extends Node implements IDocument {
421
418
  *
422
419
  * @returns Scripts.
423
420
  */
424
- public get scripts(): IHTMLCollection<IHTMLScriptElement, IHTMLScriptElement> {
425
- return <IHTMLCollection<IHTMLScriptElement, IHTMLScriptElement>>(
426
- this.getElementsByTagName('script')
427
- );
421
+ public get scripts(): IHTMLCollection<IHTMLScriptElement> {
422
+ return <IHTMLCollection<IHTMLScriptElement>>this.getElementsByTagName('script');
428
423
  }
429
424
 
430
425
  /**
@@ -538,7 +533,7 @@ export default class Document extends Node implements IDocument {
538
533
  * @param className Tag name.
539
534
  * @returns Matching element.
540
535
  */
541
- public getElementsByClassName(className: string): IHTMLCollection<IElement, IElement> {
536
+ public getElementsByClassName(className: string): IHTMLCollection<IElement> {
542
537
  return ParentNodeUtility.getElementsByClassName(this, className);
543
538
  }
544
539
 
@@ -548,7 +543,7 @@ export default class Document extends Node implements IDocument {
548
543
  * @param tagName Tag name.
549
544
  * @returns Matching element.
550
545
  */
551
- public getElementsByTagName(tagName: string): IHTMLCollection<IElement, IElement> {
546
+ public getElementsByTagName(tagName: string): IHTMLCollection<IElement> {
552
547
  return ParentNodeUtility.getElementsByTagName(this, tagName);
553
548
  }
554
549
 
@@ -559,10 +554,7 @@ export default class Document extends Node implements IDocument {
559
554
  * @param tagName Tag name.
560
555
  * @returns Matching element.
561
556
  */
562
- public getElementsByTagNameNS(
563
- namespaceURI: string,
564
- tagName: string
565
- ): IHTMLCollection<IElement, IElement> {
557
+ public getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement> {
566
558
  return ParentNodeUtility.getElementsByTagNameNS(this, namespaceURI, tagName);
567
559
  }
568
560
 
@@ -32,7 +32,7 @@ export default interface IDocument extends IParentNode {
32
32
  readonly doctype: IDocumentType;
33
33
  readonly body: IHTMLElement;
34
34
  readonly head: IHTMLElement;
35
- readonly scripts: IHTMLCollection<IHTMLScriptElement, IHTMLScriptElement>;
35
+ readonly scripts: IHTMLCollection<IHTMLScriptElement>;
36
36
  readonly activeElement: IHTMLElement;
37
37
  readonly styleSheets: CSSStyleSheet[];
38
38
  readonly scrollingElement: IHTMLElement;
@@ -14,7 +14,7 @@ import INodeList from '../node/INodeList';
14
14
  */
15
15
  export default class DocumentFragment extends Node implements IDocumentFragment {
16
16
  public nodeType = Node.DOCUMENT_FRAGMENT_NODE;
17
- public readonly children: IHTMLCollection<IElement, IElement> = new HTMLCollection();
17
+ public readonly children: IHTMLCollection<IElement> = new HTMLCollection();
18
18
  public _rootNode: INode = this;
19
19
 
20
20
  /**
@@ -46,7 +46,7 @@ export default class Element extends Node implements IElement {
46
46
 
47
47
  public scrollTop = 0;
48
48
  public scrollLeft = 0;
49
- public children: IHTMLCollection<IElement, IElement> = new HTMLCollection<IElement, IElement>();
49
+ public children: IHTMLCollection<IElement> = new HTMLCollection<IElement>();
50
50
  public readonly namespaceURI: string = null;
51
51
 
52
52
  // Events
@@ -778,7 +778,7 @@ export default class Element extends Node implements IElement {
778
778
  * @param className Tag name.
779
779
  * @returns Matching element.
780
780
  */
781
- public getElementsByClassName(className: string): IHTMLCollection<IElement, IElement> {
781
+ public getElementsByClassName(className: string): IHTMLCollection<IElement> {
782
782
  return ParentNodeUtility.getElementsByClassName(this, className);
783
783
  }
784
784
 
@@ -788,7 +788,7 @@ export default class Element extends Node implements IElement {
788
788
  * @param tagName Tag name.
789
789
  * @returns Matching element.
790
790
  */
791
- public getElementsByTagName(tagName: string): IHTMLCollection<IElement, IElement> {
791
+ public getElementsByTagName(tagName: string): IHTMLCollection<IElement> {
792
792
  return ParentNodeUtility.getElementsByTagName(this, tagName);
793
793
  }
794
794
 
@@ -799,10 +799,7 @@ export default class Element extends Node implements IElement {
799
799
  * @param tagName Tag name.
800
800
  * @returns Matching element.
801
801
  */
802
- public getElementsByTagNameNS(
803
- namespaceURI: string,
804
- tagName: string
805
- ): IHTMLCollection<IElement, IElement> {
802
+ public getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement> {
806
803
  return ParentNodeUtility.getElementsByTagNameNS(this, namespaceURI, tagName);
807
804
  }
808
805
 
@@ -834,14 +831,16 @@ export default class Element extends Node implements IElement {
834
831
  if (attribute.name === 'id' || attribute.name === 'name') {
835
832
  if (this.parentNode && (<IElement>this.parentNode).children && attribute.value !== oldValue) {
836
833
  if (oldValue) {
837
- (<HTMLCollection<IElement, IElement>>(
838
- (<IElement>this.parentNode).children
839
- ))._removeNamedItem(this, oldValue);
834
+ (<HTMLCollection<IElement>>(<IElement>this.parentNode).children)._removeNamedItem(
835
+ this,
836
+ oldValue
837
+ );
840
838
  }
841
839
  if (attribute.value) {
842
- (<HTMLCollection<IElement, IElement>>(
843
- (<IElement>this.parentNode).children
844
- ))._appendNamedItem(this, attribute.value);
840
+ (<HTMLCollection<IElement>>(<IElement>this.parentNode).children)._appendNamedItem(
841
+ this,
842
+ attribute.value
843
+ );
845
844
  }
846
845
  }
847
846
  }
@@ -946,7 +945,7 @@ export default class Element extends Node implements IElement {
946
945
 
947
946
  if (attribute.name === 'id' || attribute.name === 'name') {
948
947
  if (this.parentNode && (<IElement>this.parentNode).children && attribute.value) {
949
- (<HTMLCollection<IElement, IElement>>(<IElement>this.parentNode).children)._removeNamedItem(
948
+ (<HTMLCollection<IElement>>(<IElement>this.parentNode).children)._removeNamedItem(
950
949
  this,
951
950
  attribute.value
952
951
  );
@@ -29,9 +29,10 @@ export default class ElementUtility {
29
29
  if (index !== -1) {
30
30
  for (const attribute of NAMED_ITEM_ATTRIBUTES) {
31
31
  if ((<Element>node)._attributes[attribute]) {
32
- (<HTMLCollection<IHTMLElement, IHTMLElement>>(
33
- (<IElement>node.parentNode).children
34
- ))._removeNamedItem(<IHTMLElement>node, (<Element>node)._attributes[attribute].value);
32
+ (<HTMLCollection<IHTMLElement>>(<IElement>node.parentNode).children)._removeNamedItem(
33
+ <IHTMLElement>node,
34
+ (<Element>node)._attributes[attribute].value
35
+ );
35
36
  }
36
37
  }
37
38
  (<IHTMLElement>node.parentNode).children.splice(index, 1);
@@ -40,7 +41,7 @@ export default class ElementUtility {
40
41
 
41
42
  for (const attribute of NAMED_ITEM_ATTRIBUTES) {
42
43
  if ((<Element>node)._attributes[attribute]) {
43
- (<HTMLCollection<IHTMLElement, IHTMLElement>>parentElement.children)._appendNamedItem(
44
+ (<HTMLCollection<IHTMLElement>>parentElement.children)._appendNamedItem(
44
45
  <IHTMLElement>node,
45
46
  (<Element>node)._attributes[attribute].value
46
47
  );
@@ -66,7 +67,7 @@ export default class ElementUtility {
66
67
  if (index !== -1) {
67
68
  for (const attribute of NAMED_ITEM_ATTRIBUTES) {
68
69
  if ((<Element>node)._attributes[attribute]) {
69
- (<HTMLCollection<IHTMLElement, IHTMLElement>>parentElement.children)._removeNamedItem(
70
+ (<HTMLCollection<IHTMLElement>>parentElement.children)._removeNamedItem(
70
71
  <IHTMLElement>node,
71
72
  (<Element>node)._attributes[attribute].value
72
73
  );
@@ -96,7 +97,7 @@ export default class ElementUtility {
96
97
  if (index !== -1) {
97
98
  for (const attribute of NAMED_ITEM_ATTRIBUTES) {
98
99
  if ((<Element>newNode)._attributes[attribute]) {
99
- (<HTMLCollection<IHTMLElement, IHTMLElement>>(
100
+ (<HTMLCollection<IHTMLElement>>(
100
101
  (<IElement>newNode.parentNode).children
101
102
  ))._removeNamedItem(
102
103
  <IHTMLElement>newNode,
@@ -132,7 +133,7 @@ export default class ElementUtility {
132
133
  if (referenceNode || referenceNode === null) {
133
134
  for (const attribute of NAMED_ITEM_ATTRIBUTES) {
134
135
  if ((<Element>newNode)._attributes[attribute]) {
135
- (<HTMLCollection<IHTMLElement, IHTMLElement>>parentElement.children)._appendNamedItem(
136
+ (<HTMLCollection<IHTMLElement>>parentElement.children)._appendNamedItem(
136
137
  <IHTMLElement>newNode,
137
138
  (<Element>newNode)._attributes[attribute].value
138
139
  );
@@ -1,12 +1,9 @@
1
1
  import IHTMLCollection from './IHTMLCollection';
2
2
 
3
3
  /**
4
- * Class list.
4
+ * HTML collection.
5
5
  */
6
- export default class HTMLCollection<T, NamedItem>
7
- extends Array
8
- implements IHTMLCollection<T, NamedItem>
9
- {
6
+ export default class HTMLCollection<T> extends Array implements IHTMLCollection<T> {
10
7
  protected _namedItems: { [k: string]: T[] } = {};
11
8
 
12
9
  /**
@@ -24,8 +21,10 @@ export default class HTMLCollection<T, NamedItem>
24
21
  * @param name Name.
25
22
  * @returns Node.
26
23
  */
27
- public namedItem(name: string): NamedItem | null {
28
- return this[name] || null;
24
+ public namedItem(name: string): T | null {
25
+ return this._namedItems[name] && this._namedItems[name].length
26
+ ? this._namedItems[name][0]
27
+ : null;
29
28
  }
30
29
 
31
30
  /**
@@ -42,7 +41,7 @@ export default class HTMLCollection<T, NamedItem>
42
41
  this._namedItems[name].push(node);
43
42
  }
44
43
 
45
- if (!this[name]) {
44
+ if (!this[name] && this._isValidPropertyName(name)) {
46
45
  this[name] = this._namedItems[name][0];
47
46
  }
48
47
  }
@@ -63,11 +62,23 @@ export default class HTMLCollection<T, NamedItem>
63
62
 
64
63
  if (this._namedItems[name].length === 0) {
65
64
  delete this._namedItems[name];
66
- delete this[name];
67
- } else {
65
+ if (this._isValidPropertyName(name)) {
66
+ delete this[name];
67
+ }
68
+ } else if (this._isValidPropertyName(name)) {
68
69
  this[name] = this._namedItems[name][0];
69
70
  }
70
71
  }
71
72
  }
72
73
  }
74
+
75
+ /**
76
+ * Returns "true" if the property name is valid.
77
+ *
78
+ * @param name Name.
79
+ * @returns True if the property name is valid.
80
+ */
81
+ protected _isValidPropertyName(name: string): boolean {
82
+ return isNaN(Number(name)) || name.includes('.');
83
+ }
73
84
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * HTMLCollection.
3
3
  */
4
- export default interface IHTMLCollection<T, NamedItem> extends Array<T> {
4
+ export default interface IHTMLCollection<T> extends Array<T> {
5
5
  /**
6
6
  * Returns item by index.
7
7
  *
@@ -15,5 +15,5 @@ export default interface IHTMLCollection<T, NamedItem> extends Array<T> {
15
15
  * @param name Name.
16
16
  * @returns Node.
17
17
  */
18
- namedItem(name: string): NamedItem | null;
18
+ namedItem(name: string): T | null;
19
19
  }
@@ -2,10 +2,8 @@ import IHTMLFormControlsCollection from './IHTMLFormControlsCollection';
2
2
  import IHTMLInputElement from '../html-input-element/IHTMLInputElement';
3
3
  import IHTMLTextAreaElement from '../html-text-area-element/IHTMLTextAreaElement';
4
4
  import IHTMLSelectElement from '../html-select-element/IHTMLSelectElement';
5
- import HTMLCollection from '../element/HTMLCollection';
6
5
  import RadioNodeList from './RadioNodeList';
7
6
  import IHTMLButtonElement from '../html-button-element/IHTMLButtonElement';
8
- import IRadioNodeList from './IRadioNodeList';
9
7
 
10
8
  /**
11
9
  * HTMLFormControlsCollection.
@@ -13,17 +11,45 @@ import IRadioNodeList from './IRadioNodeList';
13
11
  * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormControlsCollection
14
12
  */
15
13
  export default class HTMLFormControlsCollection
16
- extends HTMLCollection<
17
- IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement,
14
+ extends Array<IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement>
15
+ implements IHTMLFormControlsCollection
16
+ {
17
+ public _namedItems: { [k: string]: RadioNodeList } = {};
18
+
19
+ /**
20
+ * Returns item by index.
21
+ *
22
+ * @param index Index.
23
+ */
24
+ public item(
25
+ index: number
26
+ ): IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement | null {
27
+ return index >= 0 && this[index] ? this[index] : null;
28
+ }
29
+
30
+ /**
31
+ * Returns named item.
32
+ *
33
+ * @param name Name.
34
+ * @returns Node.
35
+ */
36
+ public namedItem(
37
+ name: string
38
+ ):
18
39
  | IHTMLInputElement
19
40
  | IHTMLTextAreaElement
20
41
  | IHTMLSelectElement
21
42
  | IHTMLButtonElement
22
- | IRadioNodeList
23
- >
24
- implements IHTMLFormControlsCollection
25
- {
26
- public _namedItems: { [k: string]: RadioNodeList } = {};
43
+ | RadioNodeList
44
+ | null {
45
+ if (this._namedItems[name] && this._namedItems[name].length) {
46
+ if (this._namedItems[name].length === 1) {
47
+ return this._namedItems[name][0];
48
+ }
49
+ return this._namedItems[name];
50
+ }
51
+ return null;
52
+ }
27
53
 
28
54
  /**
29
55
  * Appends named item.
@@ -42,8 +68,10 @@ export default class HTMLFormControlsCollection
42
68
  this._namedItems[name].push(node);
43
69
  }
44
70
 
45
- this[name] =
46
- this._namedItems[name].length > 1 ? this._namedItems[name] : this._namedItems[name][0];
71
+ if (this._isValidPropertyName(name)) {
72
+ this[name] =
73
+ this._namedItems[name].length > 1 ? this._namedItems[name] : this._namedItems[name][0];
74
+ }
47
75
  }
48
76
  }
49
77
 
@@ -65,12 +93,24 @@ export default class HTMLFormControlsCollection
65
93
 
66
94
  if (this._namedItems[name].length === 0) {
67
95
  delete this._namedItems[name];
68
- delete this[name];
69
- } else {
96
+ if (this._isValidPropertyName(name)) {
97
+ delete this[name];
98
+ }
99
+ } else if (this._isValidPropertyName(name)) {
70
100
  this[name] =
71
101
  this._namedItems[name].length > 1 ? this._namedItems[name] : this._namedItems[name][0];
72
102
  }
73
103
  }
74
104
  }
75
105
  }
106
+
107
+ /**
108
+ * Returns "true" if the property name is valid.
109
+ *
110
+ * @param name Name.
111
+ * @returns True if the property name is valid.
112
+ */
113
+ protected _isValidPropertyName(name: string): boolean {
114
+ return isNaN(Number(name)) || name.includes('.');
115
+ }
76
116
  }
@@ -1,4 +1,3 @@
1
- import IHTMLCollection from '../element/IHTMLCollection';
2
1
  import IHTMLButtonElement from '../html-button-element/IHTMLButtonElement';
3
2
  import IHTMLInputElement from '../html-input-element/IHTMLInputElement';
4
3
  import IHTMLSelectElement from '../html-select-element/IHTMLSelectElement';
@@ -11,13 +10,8 @@ import IRadioNodeList from './IRadioNodeList';
11
10
  * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormControlsCollection
12
11
  */
13
12
  export default interface IHTMLFormControlsCollection
14
- extends IHTMLCollection<
15
- IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement,
16
- | IHTMLInputElement
17
- | IHTMLTextAreaElement
18
- | IHTMLSelectElement
19
- | IHTMLButtonElement
20
- | IRadioNodeList
13
+ extends Array<
14
+ IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement
21
15
  > {
22
16
  /**
23
17
  * Returns item by index.
@@ -11,7 +11,7 @@ import IHTMLOptionsCollection from './IHTMLOptionsCollection';
11
11
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionsCollection.
12
12
  */
13
13
  export default class HTMLOptionsCollection
14
- extends HTMLCollection<IHTMLOptionElement, IHTMLOptionElement>
14
+ extends HTMLCollection<IHTMLOptionElement>
15
15
  implements IHTMLOptionsCollection
16
16
  {
17
17
  private _selectElement: IHTMLSelectElement;
@@ -342,9 +342,7 @@ export default class HTMLSelectElement extends HTMLElement implements IHTMLSelec
342
342
  * @param [selectedOption] Selected option.
343
343
  */
344
344
  public _updateOptionItems(selectedOption?: IHTMLOptionElement): void {
345
- const optionElements = <IHTMLCollection<IHTMLOptionElement, IHTMLOptionElement>>(
346
- this.getElementsByTagName('option')
347
- );
345
+ const optionElements = <IHTMLCollection<IHTMLOptionElement>>this.getElementsByTagName('option');
348
346
 
349
347
  if (optionElements.length < this.options.length) {
350
348
  this.options.splice(this.options.length - 1, this.options.length - optionElements.length);
@@ -7,8 +7,7 @@ import IHTMLOptionElement from '../html-option-element/IHTMLOptionElement';
7
7
  * Reference:
8
8
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionsCollection.
9
9
  */
10
- export default interface IHTMLOptionsCollection
11
- extends IHTMLCollection<IHTMLOptionElement, IHTMLOptionElement> {
10
+ export default interface IHTMLOptionsCollection extends IHTMLCollection<IHTMLOptionElement> {
12
11
  selectedIndex: number;
13
12
  length: number;
14
13
 
@@ -7,7 +7,7 @@ export default interface IParentNode extends INode {
7
7
  readonly childElementCount: number;
8
8
  readonly firstElementChild: IElement;
9
9
  readonly lastElementChild: IElement;
10
- readonly children: IHTMLCollection<IElement, IElement>;
10
+ readonly children: IHTMLCollection<IElement>;
11
11
 
12
12
  /**
13
13
  * Inserts a set of Node objects or DOMString objects after the last child of the ParentNode. DOMString objects are inserted as equivalent Text nodes.
@@ -45,7 +45,7 @@ export default interface IParentNode extends INode {
45
45
  * @param className Tag name.
46
46
  * @returns Matching element.
47
47
  */
48
- getElementsByClassName(className: string): IHTMLCollection<IElement, IElement>;
48
+ getElementsByClassName(className: string): IHTMLCollection<IElement>;
49
49
 
50
50
  /**
51
51
  * Returns an elements by tag name.
@@ -53,7 +53,7 @@ export default interface IParentNode extends INode {
53
53
  * @param tagName Tag name.
54
54
  * @returns Matching element.
55
55
  */
56
- getElementsByTagName(tagName: string): IHTMLCollection<IElement, IElement>;
56
+ getElementsByTagName(tagName: string): IHTMLCollection<IElement>;
57
57
 
58
58
  /**
59
59
  * Returns an elements by tag name and namespace.
@@ -62,10 +62,7 @@ export default interface IParentNode extends INode {
62
62
  * @param tagName Tag name.
63
63
  * @returns Matching element.
64
64
  */
65
- getElementsByTagNameNS(
66
- namespaceURI: string,
67
- tagName: string
68
- ): IHTMLCollection<IElement, IElement>;
65
+ getElementsByTagNameNS(namespaceURI: string, tagName: string): IHTMLCollection<IElement>;
69
66
 
70
67
  /**
71
68
  * Replaces the existing children of a node with a specified new set of children.