mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 01:00:34 +08:00
19 lines
709 B
TypeScript
19 lines
709 B
TypeScript
import { toASCII } from 'punycode';
|
|
import { traceAsync } from './trace-runner';
|
|
import { createMemoizedPromise } from './memo-promise';
|
|
import { getPublicSuffixListTextPromise } from '../download-publicsuffixlist';
|
|
|
|
export const getGorhillPublicSuffixPromise = createMemoizedPromise(() => traceAsync('create gorhill public suffix instance', async () => {
|
|
const customFetch = (url: string | URL) => Promise.resolve(Bun.file(url));
|
|
|
|
const [publicSuffixListDat, { default: gorhill }] = await Promise.all([
|
|
getPublicSuffixListTextPromise(),
|
|
import('@gorhill/publicsuffixlist')
|
|
]);
|
|
|
|
gorhill.parse(publicSuffixListDat, toASCII);
|
|
await gorhill.enableWASM({ customFetch });
|
|
|
|
return gorhill;
|
|
}));
|