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;
}
`);
}