deno wasm mod
This commit is contained in:
@@ -1,9 +1,32 @@
|
||||
import {fetchDataWithTimeout} from "https://script.hatter.ink/@49/deno-commons-mod.ts";
|
||||
import {
|
||||
args,
|
||||
execCommandShell,
|
||||
exit,
|
||||
fetchFileWithCache,
|
||||
log,
|
||||
} from "https://script.hatter.ink/@50/deno-commons-mod.ts";
|
||||
|
||||
// JQ WASM URL:
|
||||
// https://cdn.hatter.ink/doc/8998_BE8D1CBE6106C77968183F226E2129B5/jq.wasm
|
||||
|
||||
async function getCachedWasm(wasmUrl: string): Promise<string> {
|
||||
const wasmResponse = await fetchDataWithTimeout(wasmUrl);
|
||||
return null;
|
||||
async function execWasm(
|
||||
wasmCommand: string,
|
||||
wasmUrl: string,
|
||||
wasmArgs?: string[],
|
||||
): never {
|
||||
const wasmCacheFileMeta = await fetchFileWithCache(wasmUrl);
|
||||
const wasmCommandArgs = [wasmCacheFileMeta.cache_full_path, "--"];
|
||||
if (wasmArgs) {
|
||||
wasmCommandArgs.push(...wasmArgs);
|
||||
}
|
||||
log.debug(wasmCommandArgs);
|
||||
exit(await execCommandShell(wasmCommand, wasmCommandArgs));
|
||||
}
|
||||
|
||||
if (import.meta.main) {
|
||||
await execWasm(
|
||||
"wasmer",
|
||||
"https://cdn.hatter.ink/doc/8998_BE8D1CBE6106C77968183F226E2129B5/jq.wasm",
|
||||
args(),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user