编辑代码

//JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
let params = [
    "accessKey",
    "secretKey",
    "endPoint",
    "project",
    "name",
    "xlogWorkSpace",
    "xlogLogStore",
    "monitorWorkSpace",
    "monitorLogStore"
];

const paramCount = params.length;

console.log(`
    size_t argc = ${paramCount};
    napi_value argv[${paramCount}] = { 0 };
    napi_value thisVar = nullptr;
    void *data = nullptr;
    napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);

    if (argc != ${paramCount}) {
        napi_throw_error(env, NULL, util::format("Wrong arguments, want ${paramCount} but %d received", argc).c_str());
        return nullptr;
    }
`);

for (let i=0; i<params.length; i++) {
console.log(`
    if (!napi_util::safeGetNapiValue(env, argv[${i}], ${params[i]}, "type mismatch for parameter ${i+1}")) {
        return nullptr;
    }
`);
}