silverbullet/plug-api/plugos-syscall/asset.ts

17 lines
481 B
TypeScript

import { base64DecodeDataUrl } from "../../plugos/asset_bundle/base64.ts";
import { syscall } from "./syscall.ts";
export async function readAsset(
plugName: string,
name: string,
encoding: "utf8" | "dataurl" = "utf8",
): Promise<string> {
const dataUrl = await syscall("asset.readAsset", plugName, name) as string;
switch (encoding) {
case "utf8":
return new TextDecoder().decode(base64DecodeDataUrl(dataUrl));
case "dataurl":
return dataUrl;
}
}