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.
49 lines • 1.26 kB
JavaScript
import DOMException from '../exception/DOMException.js';
import Blob from '../file/Blob.js';
/**
* Clipboard Item API.
*
* Reference:
* https://developer.mozilla.org/en-US/docs/Web/API/ClipboardItem.
*/
export default class ClipboardItem {
presentationStyle = 'unspecified';
#data;
/**
* Constructor.
*
* @param data Data.
* @param [options] Options.
* @param [options.presentationStyle] Presentation style.
*/
constructor(data, options) {
this.#data = data;
if (options?.presentationStyle) {
this.presentationStyle = options.presentationStyle;
}
}
/**
* Returns types.
*
* @returns Types.
*/
get types() {
return Object.keys(this.#data);
}
/**
* Returns data by type.
*
* @param type Type.
* @returns Data.
*/
async getType(type) {
if (!this.#data[type]) {
throw new DOMException(`Failed to execute 'getType' on 'ClipboardItem': The type '${type}' was not found`);
}
if (this.#data[type] instanceof Blob) {
return this.#data[type];
}
return new Blob([await this.#data[type]], { type });
}
}
//# sourceMappingURL=ClipboardItem.js.map