feat: blob URL support (#10045)

This commit adds blob URL support. Blob URLs are stored in a process
global storage, that can be accessed from all workers, and the module
loader. Blob URLs can be created using `URL.createObjectURL` and revoked
using `URL.revokeObjectURL`.

This commit does not add support for `fetch`ing blob URLs. This will be
added in a follow up commit.
This commit is contained in:
Luca Casonato 2021-04-07 15:22:14 +02:00 committed by GitHub
parent 2865f39bec
commit 966ce7de8a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 488 additions and 33 deletions

View file

@ -0,0 +1,13 @@
const blob = new Blob(
[
"enum A {\n A,\n B,\n C,\n }\n \n export function a() {\n throw new Error(`Hello ${A.C}`);\n }\n ",
],
{
type: "application/typescript",
},
);
const url = URL.createObjectURL(blob);
const { a } = await import(url);
a();