open-organism-observer/opencv-js-4.10.0/test/cvKeys.test.ts

43 lines
1 KiB
TypeScript

import path from "path";
import fs from "fs";
import * as ts from "typescript";
import { setupOpenCv } from "./cv";
beforeAll(setupOpenCv);
describe("CV keys", () => {
function getObjectKeys(obj: any) {
const keys: string[] = [];
for (let key in obj) {
if (!key.startsWith("dynCall")) {
keys.push(key);
}
}
// console.log(keys);
return keys;
}
it("output CV keys", async () => {
const objectNameMap: { [key: string]: any } = {
cv: cv,
"cv.Mat": new cv.Mat(),
};
const objectKeyMap: { [key: string]: string[] } = {
buildInformation: cv.getBuildInformation(),
};
for (const objName in objectNameMap) {
const obj = objectNameMap[objName];
const keys = getObjectKeys(obj);
objectKeyMap[objName] = keys;
}
// write the objectKeyMap to JSON file
const jsonString = JSON.stringify(objectKeyMap, null, 2);
const fileName = "../doc/cvKeys.json";
const filePath = path.join(__dirname, fileName);
fs.writeFileSync(filePath, jsonString);
});
});