This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
Doric/doric-js/generateDts.js
2023-03-29 11:55:23 +08:00

39 lines
1.1 KiB
JavaScript

const fs = require("fs");
const path = require("path");
const crypto = require("crypto");
async function work() {
const imageDts = await fs.promises.readFile("src/image.d.ts", "utf-8");
const indexDts = await fs.promises.readFile("index.d.ts", "utf-8");
const content = `declare module "doric" {
${indexDts
.replace(/\sdeclare\s/g, " ")
.split("\n")
.map((e) => ` ${e}`)
.join("\n")}
}
${imageDts}
`;
await fs.promises.writeFile("index.d.ts", content);
const files = [
"bundle/doric-lib.js",
"bundle/doric-sandbox.js",
"bundle/doric-web.js",
"bundle/doric-web.html",
];
const androidAssets = "../doric-android/doric/src/main/assets";
for (let file of files) {
const md5 = crypto.createHash("md5");
md5.update(path.basename(file));
const name = md5.digest("hex").toLowerCase();
const data = await fs.promises.readFile(file);
const temp = new Uint8Array(data.buffer);
for (let i = 0; i < temp.length; i++) {
temp[i] = 0xff - temp[i];
}
await fs.promises.writeFile(path.resolve(androidAssets, name), data);
}
}
work();