codigo0/node_modules/happy-dom/lib/url/URL.js

41 lines
1.1 KiB
JavaScript
Raw Normal View History

import { URL as NodeJSURL } from 'url';
import * as PropertySymbol from '../PropertySymbol.js';
import { Blob as NodeJSBlob } from 'buffer';
import Blob from '../file/Blob.js';
/**
* URL.
*/
export default class URL extends NodeJSURL {
/**
* Constructor.
*
* @param url URL.
* @param [base] Base URL.
*/
constructor(url, base) {
try {
super(url, base);
}
catch (error) {
super('about:blank');
if (this[PropertySymbol.window]) {
throw new this[PropertySymbol.window].TypeError('Invalid URL');
}
throw error;
}
}
/**
* Creates a string containing a URL representing the object given in the parameter.
*
* @param object Object.
* @returns URL.
*/
static createObjectURL(object) {
if (object instanceof Blob) {
const blob = new NodeJSBlob([object[PropertySymbol.buffer]], { type: object.type });
return super.createObjectURL(blob);
}
return super.createObjectURL(object);
}
}
//# sourceMappingURL=URL.js.map