happy-dom
Version:
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.
36 lines (32 loc) • 1.19 kB
text/typescript
import * as PropertySymbol from '../../PropertySymbol.js';
import HTMLCollection from '../element/HTMLCollection.js';
import HTMLFormElement from './HTMLFormElement.js';
import RadioNodeList from './RadioNodeList.js';
import THTMLFormControlElement from './THTMLFormControlElement.js';
/**
* HTMLFormControlsCollection.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormControlsCollection
*/
export default class HTMLFormControlsCollection extends HTMLCollection<
THTMLFormControlElement,
THTMLFormControlElement | RadioNodeList
> {
private declare [PropertySymbol.ownerElement]: HTMLFormElement;
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
* @param ownerElement Form element.
*/
constructor(illegalConstructorSymbol: symbol, ownerElement: HTMLFormElement) {
super(illegalConstructorSymbol, () => ownerElement[PropertySymbol.getFormControlItems]());
this[PropertySymbol.ownerElement] = ownerElement;
}
/**
* @override
*/
public namedItem(name: string): THTMLFormControlElement | RadioNodeList | null {
return this[PropertySymbol.ownerElement][PropertySymbol.getFormControlNamedItem](name);
}
}