export function shareScriptAsync()

in share/src/components/util.ts [117:160]


export function shareScriptAsync(screenshotUri: string, mainTS: string, mainBlocks: string) {
    let thumbnailBuffer: string;
    let thumbnailMimeType: string;

    if (screenshotUri) {
        const m = /^data:(image\/(png|gif));base64,([a-zA-Z0-9+/]+=*)$/.exec(screenshotUri);
        if (m) {
            thumbnailBuffer = m[3];
            thumbnailMimeType = m[1];
        }
    }

    const text = {
        ...scriptText
    }

    text["main.ts"] = mainTS;
    text["main.blocks"] = mainBlocks;

    const scrReq = {
        name: "Arcade Game",
        target: "arcade",
        targetVersion: "0.12.17",
        description: "Made with ❤️ in Microsoft MakeCode Arcade.",
        editor: "blocksprj",
        text,
        meta: {
            // versions: pxt.appTarget.versions,
            // blocksHeight: meta.blocksHeight,
            // blocksWidth: meta.blocksWidth
        },
        thumbnailBuffer,
        thumbnailMimeType
    };

    const opts: HttpRequestOptions = {
        headers: {},
        url: "https://arcade.makecode.com/api/scripts",
        data: scrReq,
        allowGzipPost: true
    }

    return requestAsync(opts);
}