mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-12 22:10:01 -04:00
26 lines
657 B
TypeScript
26 lines
657 B
TypeScript
import { ScramjetClient } from "../client";
|
|
import { config } from "../../shared";
|
|
import { rewriteUrl } from "../../shared/rewriters/url";
|
|
|
|
export default function (client: ScramjetClient, self: Self) {
|
|
const Function = client.natives.Function;
|
|
|
|
self[config.globals.importfn] = function (base: string) {
|
|
return function (url: string) {
|
|
const resolved = new URL(url, base).href;
|
|
|
|
return Function(
|
|
`return import("${rewriteUrl(resolved, client.meta)}")`
|
|
)();
|
|
};
|
|
};
|
|
|
|
self[config.globals.metafn] = function (base: string) {
|
|
return {
|
|
url: base,
|
|
resolve: function (url: string) {
|
|
return new URL(url, base).href;
|
|
},
|
|
};
|
|
};
|
|
}
|