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.
60 lines (55 loc) • 972 B
text/typescript
/**
* MediaList interface.
*/
export default class MediaList {
public readonly length = 0;
/**
* Media text.
*
* @returns Media text.
*/
public get mediaText(): string {
const mediaText = [];
for (let i = 0; i < this.length; i++) {
mediaText.push(this[i]);
}
return mediaText.join(', ');
}
/**
* Returns item.
*
* @param index Index.
* @returns Item.
*/
public item(index: number): string {
return this[index] || '';
}
/**
* Appends a medium.
*
* @param medium Medium.
*/
public appendMedium(medium: string): void {
this[this.length] = medium;
(<number>this.length)++;
}
/**
* Deletes a medium.
*
* @param medium Medium.
*/
public deleteMedium(medium: string): void {
let isDeleted = false;
for (let i = 0; i < this.length; i++) {
if (isDeleted) {
this[i - 1] = this[i];
}
if (this[i] === medium) {
isDeleted = true;
}
}
if (isDeleted) {
(<number>this.length)--;
}
}
}