mirror of
https://gitee.com/openharmony/napi_generator
synced 2025-02-22 10:16:10 +00:00
style: modify napi unit test cases
Signed-off-by: chenxun <chenxun@kaihong.com>
This commit is contained in:
parent
5ff5d03190
commit
8f26be7648
@ -66,7 +66,7 @@ describe('Analyze', function () {
|
||||
let asyncArray = retJson.substring(retJson.lastIndexOf("\[") + 1, retJson.lastIndexOf("\]")).split("}");
|
||||
assert.strictEqual(asyncArray[0], "{\"name\":\"v1\",\"type\":\"string\",\"optional\":false");
|
||||
assert.strictEqual(asyncArray[1], ",{\"name\":\"cb\",\"type\":\"AsyncCallback<string>\",\"optional\":false");
|
||||
assert.strictEqual(asyncArray[2], "],\"ret\":\"string\"");
|
||||
assert.strictEqual(asyncArray[2], "],\"ret\":\"string\",\"isStatic\":false");
|
||||
});
|
||||
|
||||
partOfNamespace(correctResult);
|
||||
@ -186,7 +186,11 @@ function partOfFunctionTwo() {
|
||||
it('test gen/analyze/function analyzePromiseFunction', function () {
|
||||
let data = "if_promise(v1: Array<number>): Promise<boolean>;";
|
||||
let ret = analyzeFunction(data, false, `if_promise`, "v1: Array<number>", "Promise<boolean>");
|
||||
assert.strictEqual(ret, null);
|
||||
let retJson = JSON.stringify(ret)
|
||||
let retType = retJson.search("\"type\":4")
|
||||
assert.strictEqual(retType > 0, true);
|
||||
let retReturn = retJson.search('\"ret\":\"void\"')
|
||||
assert.strictEqual(retReturn > 0, true);
|
||||
});
|
||||
}
|
||||
|
||||
@ -200,24 +204,27 @@ function partOfNamespace(correctResult) {
|
||||
assert.strictEqual(exportResult, "\"exports\":[\"Entity\"]")
|
||||
let enumResult = nameResult.substring(nameResult.search("\"enum\""), nameResult.indexOf("\"const\"") - 1);
|
||||
assert.strictEqual(enumResult.search("\"name\":\"Entity\"") > 0, true);
|
||||
assert.strictEqual(enumResult.search("\"enumValueType\":0") > 0, true);
|
||||
assert.strictEqual(enumResult.search("\"enumValueType\":1") > 0, true);
|
||||
let searchInte = nameResult.indexOf("\"interface\"")
|
||||
let interResult = nameResult.substring(searchInte, nameResult.indexOf("\"class\"") - 1);
|
||||
assert.strictEqual(interResult.search("{\"name\":\"animal\",\"type\":\"string\"}") > 0, true);
|
||||
let interFun = interResult.substring(interResult.search("function") - 1, interResult.length - 3);
|
||||
let qiePianStart = interResult.lastIndexOf("function") - 1;
|
||||
let qiepianEnd = interResult.lastIndexOf("parentNameList")-2;
|
||||
let interFun = interResult.substring(qiePianStart, qiepianEnd);
|
||||
let interValue = "\"value\":[{\"name\":\"v1\",\"type\":\"string\",\"optional\":false}],";
|
||||
let interRet = "\"ret\":\"string\"}]"
|
||||
assert.strictEqual(interFun, "\"function\":[{\"name\":\"fix\",\"type\":1," + interValue + interRet);
|
||||
|
||||
let interRet = "\"ret\":\"string\","
|
||||
let interIsStatic = "\"isStatic\":false\}]"
|
||||
let funcResult = "\"function\":[{\"name\":\"fix\",\"type\":1," + interValue + interRet + interIsStatic;
|
||||
assert.strictEqual(interFun, funcResult);
|
||||
});
|
||||
|
||||
it('test gen/analyze/namespace analyzeNamespaceClass', function () {
|
||||
let ret = analyzeNamespace('\nnamespace Space3 {\nclass TestClass {\nstatic $fun1(v:string):boolean;\n}\n}\n');
|
||||
let retJson = JSON.stringify(ret);
|
||||
let nameResult = retJson.substring(retJson.search("namespace"), retJson.length - 2)
|
||||
let qiePianStart = nameResult.lastIndexOf("\"class\"") - 1
|
||||
let classResult = nameResult.substring(qiePianStart, nameResult.lastIndexOf("\"namespace\"") - 2)
|
||||
assert.strictEqual(classResult.search("\"functiontType\":\"static\"") > 0, true)
|
||||
let interResult = nameResult.substring(nameResult.search("\"interface\"") - 1,nameResult.length)
|
||||
let classResult = interResult.substring(interResult.search("\"function\"") - 1, interResult.length)
|
||||
assert.strictEqual(classResult.search("\"isStatic\":true") > 0, true)
|
||||
});
|
||||
|
||||
it('test gen/analyze/namespace analyzeNamespaceFunction', function () {
|
||||
|
@ -57,8 +57,10 @@ describe('Generate', function () {
|
||||
}
|
||||
let ret = generateEnum('GrantStatus', data);
|
||||
let retJson = JSON.stringify(ret);
|
||||
let result = { "implH": "\nenum GrantStatus {\n STATUS0 = 0,\n};\n", "implCpp": "" };
|
||||
assert.strictEqual(retJson, JSON.stringify(result));
|
||||
let qiepianEnd = retJson.search('\"implCpp\":\"\"') - 1;
|
||||
let actualResult = retJson.substring(1, qiepianEnd);
|
||||
let expectresult = '"implH":"\\nenum class GrantStatus {\\n STATUS0 = 0,\\n};\\n"';
|
||||
assert.strictEqual(actualResult, expectresult);
|
||||
});
|
||||
|
||||
it('test gen/generate/function_async generateFunctionAsync', function () {
|
||||
@ -66,9 +68,9 @@ describe('Generate', function () {
|
||||
let struct = retJson.substring(retJson.indexOf("{"),retJson.indexOf("}")+1)
|
||||
assert.strictEqual(struct,"{\\n std::string in0;\\n uint32_t outErrCode = 0;\\n std::string out;\\n}")
|
||||
let execute = retJson.substring(retJson.indexOf("if_async_execute"),retJson.indexOf("*data")+6)
|
||||
assert.strictEqual(execute,"if_async_execute(XNapiTool *pxt, void *data)")
|
||||
assert.strictEqual(execute,"if_async_execute(XNapiTool *pxt, DataPtr data)\\n{\\n void *data_")
|
||||
let complete = retJson.substring(retJson.indexOf("if_async_complete"),retJson.lastIndexOf("*data")+6)
|
||||
assert.strictEqual(complete,"if_async_complete(XNapiTool *pxt, void *data)")
|
||||
assert.strictEqual(complete,"if_async_complete(XNapiTool *pxt, DataPtr data)\\n{\\n void *data_")
|
||||
let middle = retJson.substring(retJson.indexOf("if_async_middle"),retJson.indexOf("info)")+5)
|
||||
assert.strictEqual(middle,"if_async_middle(napi_env env, napi_callback_info info)")
|
||||
});
|
||||
@ -76,7 +78,7 @@ describe('Generate', function () {
|
||||
it('test gen/generate/function_direct generateFunctionDirect', function () {
|
||||
let retJson = funcDirectAssert();
|
||||
let struct = retJson.substring(retJson.indexOf("{"), retJson.indexOf("}") + 1)
|
||||
assert.strictEqual(struct, "{\\n std::string in0;\\n \\n std::string out;\\n}")
|
||||
assert.strictEqual(struct, "{\\n std::string in0;\\n std::string out;\\n}")
|
||||
let middle = retJson.substring(retJson.indexOf("if_direct_middle"), retJson.indexOf("info)") + 5)
|
||||
assert.strictEqual(middle, "if_direct_middle(napi_env env, napi_callback_info info)")
|
||||
});
|
||||
@ -84,7 +86,7 @@ describe('Generate', function () {
|
||||
it('test gen/generate/function_sync generateFunctionSync', function () {
|
||||
let retJson = funcSyncAssert();
|
||||
let struct = retJson.substring(retJson.indexOf("{"), retJson.indexOf("}") + 1)
|
||||
assert.strictEqual(struct, "{\\n std::string in0;\\n \\n std::string out;\\n}")
|
||||
assert.strictEqual(struct, "{\\n std::string in0;\\n std::string out;\\n}")
|
||||
let middle = retJson.substring(retJson.indexOf("if_callback_middle"), retJson.indexOf("info)") + 5)
|
||||
assert.strictEqual(middle, "if_callback_middle(napi_env env, napi_callback_info info)")
|
||||
});
|
||||
@ -159,17 +161,21 @@ function funcSyncAssert() {
|
||||
function partOfInterface() {
|
||||
|
||||
it('test gen/generate/interface generateVariable', function () {
|
||||
variable = {
|
||||
hDefine: '',
|
||||
middleValue: ''
|
||||
let variable = {
|
||||
hDefine: "",
|
||||
middleValue: "",
|
||||
};
|
||||
let ret = generateVariable('disable', 'boolean', variable, 'ConfigOption');
|
||||
let value = {
|
||||
name: "disable",
|
||||
type: "boolean",
|
||||
}
|
||||
let ret = generateVariable(value, variable, 'ConfigOption');
|
||||
assert.strictEqual(JSON.stringify(ret), undefined);
|
||||
});
|
||||
|
||||
it('test gen/generate/interface mapTypeString', function () {
|
||||
let ret = mapTypeString("Map<string,string>", "map1");
|
||||
let result = "\n std::map<std::string,std::string> map1;";
|
||||
let result = "\n std::map<std::string, std::string> map1;";
|
||||
assert.strictEqual(JSON.stringify(ret), JSON.stringify(result));
|
||||
});
|
||||
|
||||
@ -181,7 +187,7 @@ function partOfInterface() {
|
||||
let ret = generateInterface('ConfigOption', data, 'napitest::');
|
||||
let retJson = JSON.stringify(ret).substring(1, JSON.stringify(ret).length);
|
||||
let configOption = retJson.substring(retJson.indexOf("{"), retJson.indexOf("}") + 1);
|
||||
let configResult = "{\\npublic:\\n bool disable;\\n std::map<std::string,std::string> map1;\\n}";
|
||||
let configResult = "{\\npublic:\\n bool disable;\\n std::map<std::string, std::string> map1;\\n}";
|
||||
assert.strictEqual(configOption, configResult);
|
||||
assert.strictEqual(retJson.search("ConfigOption_middle") > 0, true)
|
||||
assert.strictEqual(retJson.search("middleInit") > 0, true)
|
||||
@ -210,9 +216,9 @@ function partOfTest() {
|
||||
it('test gen/generate/param_generate jsToC', function () {
|
||||
assert.strictEqual(jsToC("a", "b", "string"), "pxt->SwapJs2CUtf8(b, a);");
|
||||
|
||||
assert.strictEqual(jsToC("a", "b", "NUMBER_TYPE_1"), "NUMBER_JS_2_C(b,NUMBER_TYPE_1,a);");
|
||||
assert.strictEqual(jsToC("a", "b", "NUMBER_TYPE_1"), "NUMBER_JS_2_C(b, NUMBER_TYPE_1, a);");
|
||||
|
||||
assert.strictEqual(jsToC("a", "b", "boolean"), "BOOLEAN_JS_2_C(b,bool,a);");
|
||||
assert.strictEqual(jsToC("a", "b", "boolean"), "BOOLEAN_JS_2_C(b, bool, a);\n");
|
||||
|
||||
let retJsToC = JSON.stringify(jsToC("a", "b", "Array<string>"));
|
||||
retJsToC = re.replaceAll(retJsToC, "len[0-9]*", "len");
|
||||
@ -267,7 +273,7 @@ function partOfTestTwo(){
|
||||
retcToJs = re.replaceAll(retcToJs, "len[0-9]*", "len")
|
||||
retcToJs = re.replaceAll(retcToJs, "i[0-9]*", "i")
|
||||
retcToJs = re.replaceAll(retcToJs, "tnv[0-9]*", "tnv")
|
||||
assert.strictEqual(retcToJs, JSON.stringify(cToJsParam()))
|
||||
assert.strictEqual(retcToJs, JSON.stringify(cToJsParamArray()))
|
||||
|
||||
let retcToJs1 = JSON.stringify(cToJs("a", "string[]", "b", 1))
|
||||
retcToJs1 = re.replaceAll(retcToJs1, "len[0-9]*", "len")
|
||||
@ -308,78 +314,76 @@ function cToJsParam() {
|
||||
}
|
||||
|
||||
function cToJsParamArray() {
|
||||
let value = 'uint32_t len=a.size();\n' +
|
||||
' for(uint32_t i=0;i<len;i++) {\n' +
|
||||
' napi_value tnv = nullptr;\n' +
|
||||
' tnv = pxt->SwapC2JsUtf8(a[i].c_str());\n' +
|
||||
' pxt->SetArrayElement(b, i, tnv);\n' +
|
||||
' }'
|
||||
let value = 'pxt->CreateArray(b);\n' +
|
||||
' uint32_t outLen1 = a.size();\n' +
|
||||
' for (uint32_t i = 0; i < outLen1; i++) {\n' +
|
||||
' napi_value tnv = nullptr;\n' +
|
||||
' tnv = pxt->SwapC2JsUtf8(a[i].c_str());\n' +
|
||||
' pxt->SetArrayElement(b, i, tnv);\n' +
|
||||
' }'
|
||||
return value
|
||||
}
|
||||
|
||||
function cToJsParamMap() {
|
||||
let value = 'result = nullptr;\n' +
|
||||
' for (auto i = a.begin(); i != a.end(); i++)\n' +
|
||||
' {\n' +
|
||||
' const char * tnv;\n' +
|
||||
' napi_value tnv1 = nullptr;\n' +
|
||||
' tnv = (i -> first).c_str();\n' +
|
||||
' for (auto i = a.begin(); i != a.end(); i++) {\n' +
|
||||
' const char * tnv;\n' +
|
||||
' napi_value tnv1 = nullptr;\n' +
|
||||
' tnv = (i -> first).c_str();\n' +
|
||||
' tnv1 = pxt->SwapC2JsUtf8(i->second.c_str());\n' +
|
||||
' pxt->SetMapElement(b, tnv, tnv1);\n' +
|
||||
' }'
|
||||
' pxt->SetMapElement(b, tnv, tnv1);\n' +
|
||||
' }'
|
||||
return value
|
||||
}
|
||||
|
||||
function cToJsParamMap1() {
|
||||
let value = 'result = nullptr;\n' +
|
||||
' for (auto i = a.begin(); i != a.end(); i++)\n' +
|
||||
' {\n' +
|
||||
' const char * tnv;\n' +
|
||||
' napi_value tnv1 = nullptr;\n' +
|
||||
' tnv = (i -> first).c_str();\n' +
|
||||
' for (auto i = a.begin(); i != a.end(); i++) {\n' +
|
||||
' const char * tnv;\n' +
|
||||
' napi_value tnv1 = nullptr;\n' +
|
||||
' tnv = (i -> first).c_str();\n' +
|
||||
' tnv1 = pxt->SwapC2JsUtf8(i->second.c_str());\n' +
|
||||
' pxt->SetMapElement(b, tnv, tnv1);\n' +
|
||||
' }'
|
||||
' pxt->SetMapElement(b, tnv, tnv1);\n' +
|
||||
' }'
|
||||
return value
|
||||
}
|
||||
|
||||
function jsToCParam() {
|
||||
let value = ' uint32_t len=pxt->GetArrayLength(b);\n' +
|
||||
' for(uint32_t i=0;i<len;i++) {\n' +
|
||||
let value = ' uint32_t len = pxt->GetArrayLength(b);\n' +
|
||||
' for (uint32_t i = 0; i < len; i++) {\n' +
|
||||
' std::string tt;\n' +
|
||||
' pxt->SwapJs2CUtf8(pxt->GetArrayElement(b,i), tt);\n' +
|
||||
' pxt->SwapJs2CUtf8(pxt->GetArrayElement(b, i), tt);\n' +
|
||||
' a.push_back(tt);\n' +
|
||||
'\n' +
|
||||
' }\n'
|
||||
return value
|
||||
}
|
||||
|
||||
function jsToCParamArray() {
|
||||
let value = ' uint32_t len=pxt->GetArrayLength(b);\n' +
|
||||
' for(uint32_t i=0;i<len;i++) {\n' +
|
||||
let value = ' uint32_t len = pxt->GetArrayLength(b);\n' +
|
||||
' for (uint32_t i = 0; i < len; i++) {\n' +
|
||||
' std::string tt;\n' +
|
||||
' pxt->SwapJs2CUtf8(pxt->GetArrayElement(b,i), tt);\n' +
|
||||
' pxt->SwapJs2CUtf8(pxt->GetArrayElement(b, i), tt);\n' +
|
||||
' a.push_back(tt);\n' +
|
||||
'\n' +
|
||||
' }\n'
|
||||
return value
|
||||
}
|
||||
|
||||
function jsToCParamMap() {
|
||||
let value = 'uint32_t len=pxt->GetMapLength(b);\n' +
|
||||
'for(uint32_t i=0;i<len;i++) {\n' +
|
||||
let value = 'uint32_t len = pxt->GetMapLength(b);\n' +
|
||||
'for (uint32_t i = 0; i < len; i++) {\n' +
|
||||
' std::string tt;\n' +
|
||||
' bool tt1;\n' +
|
||||
' pxt->SwapJs2CUtf8(pxt->GetMapElementName(b,i), tt);\n' +
|
||||
' tt1 = pxt->SwapJs2CBool(pxt->GetMapElementValue(b,tt.c_str()));\n' +
|
||||
' pxt->SwapJs2CUtf8(pxt->GetMapElementName(b, i), tt);\n' +
|
||||
' tt1 = pxt->SwapJs2CBool(pxt->GetMapElementValue(b, tt.c_str()));\n' +
|
||||
'\n' +
|
||||
' a.insert(std::make_pair(tt, tt1));\n' +
|
||||
'}'
|
||||
return value
|
||||
}
|
||||
|
||||
function jsToCParamMap1() {
|
||||
let value = 'uint32_t len=pxt->GetMapLength(b);\n' +
|
||||
'for(uint32_t i=0;i<len;i++) {\n' +
|
||||
let value = 'uint32_t len = pxt->GetMapLength(b);\n' +
|
||||
'for (uint32_t i = 0; i < len; i++) {\n' +
|
||||
' std::string tt;\n' +
|
||||
' number tt1;\n' +
|
||||
' [replace_swap]\n' +
|
||||
@ -428,8 +432,10 @@ function partOfNamespace(correctResult) {
|
||||
"namespace": []
|
||||
};
|
||||
let retJson = JSON.stringify(generateEnumResult(data));
|
||||
let result = "{\"implH\":\"\\nenum GrantStatus {\\n PERMISSION_DEFAULT = 0,\\n};\\n\",\"implCpp\":\"\"}";
|
||||
assert.strictEqual(retJson, result);
|
||||
let actualResult = retJson.substring(1,retJson.indexOf("implCpp") - 2);
|
||||
let expectresult1 = "\"implH\":\"\\nclass GrantStatus {\\npublic:\\n ";
|
||||
let expectresult2 = "static const std::string PERMISSION_DEFAULT;\\n};\\n\"";
|
||||
assert.strictEqual(actualResult, expectresult1 + expectresult2);
|
||||
});
|
||||
|
||||
partOfNamespaceTwo();
|
||||
|
@ -36,34 +36,34 @@
|
||||
"Generate": {
|
||||
"generateFunctionSync": "[\"\\nstruct if_callback_value_struct {\\n std::string in0;\\n \\n std::string out;\\n};\\n\\nstatic napi_value if_callback_middle(napi_env env, napi_callback_info info)\\n{\\n XNapiTool *pxt = std::make_unique<XNapiTool>(env, info).release();\\n if (pxt->IsFailed()) {\\n napi_value err = pxt->GetError();\\n delete pxt;\\n return err;\\n }\\n TestClass1 *pInstance = (TestClass1 *)pxt->UnWarpInstance();\\n\\n struct if_callback_value_struct *vio = new if_callback_value_struct();\\n \\n pxt->SwapJs2CUtf8(pxt->GetArgv(0), vio->in0);\\n\\n pInstance->if_callback(vio->in0, vio->out);\\n\\n napi_value result = nullptr;\\n result = pxt->SwapC2JsUtf8(vio->out.c_str());\\n\\n {\\n napi_value args[1] = {result};\\n pxt->SyncCallBack(pxt->GetArgv(1), 1, args);\\n }\\n result = pxt->UndefinedValue();\\n\\n delete vio;\\n if (pxt->IsFailed()) {\\n result = pxt->GetError();\\n }\\n delete pxt; // release\\n return result;\\n}\",\"\\nbool if_callback(std::string &v1, std::string &out);\",\"\\nbool TestClass1::if_callback(std::string &v1, std::string &out)\\n{\\n return true;\\n}\\n\"]",
|
||||
"generateInterface": "{\"implH\":\"\\nclass ConfigOption {\\npublic:\\n bool disable;\\n std::map<std::string,std::string> map1;\\n};\",\"implCpp\":\"\",\"middleBody\":\"\\nclass ConfigOption_middle {\\npublic:\\nstatic napi_value constructor(napi_env env, napi_callback_info info)\\n{\\n XNapiTool *pxt = new XNapiTool(env, info);\\n\\n ConfigOption *p = new ConfigOption();\\n\\n napi_value thisvar = pxt->WrapInstance(p, release);\\n\\n return thisvar;\\n}\\nstatic void release(void *p)\\n{\\n ConfigOption *p2 = (ConfigOption *)p;\\n delete p2;\\n}\\n\\n static napi_value getvalue_disable(napi_env env, napi_callback_info info)\\n {\\n XNapiTool *pxt = std::make_unique<XNapiTool>(env, info).release();\\n ConfigOption *p = (ConfigOption *)pxt->UnWarpInstance();\\n napi_value result;\\n result = pxt->SwapC2JsBool(p->disable);\\n delete pxt;\\n return result;\\n }\\n static napi_value setvalue_disable(napi_env env, napi_callback_info info)\\n {\\n std::shared_ptr<XNapiTool> pxt = std::make_shared<XNapiTool>(env, info);\\n ConfigOption *p = (ConfigOption *)pxt->UnWarpInstance();\\n BOOLEAN_JS_2_C(pxt->GetArgv(0),bool,p->disable);\\n return nullptr;\\n }\\n\\n static napi_value getvalue_map1(napi_env env, napi_callback_info info)\\n {\\n XNapiTool *pxt = std::make_unique<XNapiTool>(env, info).release();\\n ConfigOption *p = (ConfigOption *)pxt->UnWarpInstance();\\n napi_value result;\\n result = nullptr;\\n for (auto i = p->map1.begin(); i != p->map1.end(); i++)\\n {\\n const char * tnv1;\\n napi_value tnv2 = nullptr;\\n tnv1 = (i -> first).c_str();\\n tnv2 = pxt->SwapC2JsUtf8(i->second.c_str());\\n pxt->SetMapElement(result, tnv1, tnv2);\\n }\\n delete pxt;\\n return result;\\n }\\n static napi_value setvalue_map1(napi_env env, napi_callback_info info)\\n {\\n std::shared_ptr<XNapiTool> pxt = std::make_shared<XNapiTool>(env, info);\\n ConfigOption *p = (ConfigOption *)pxt->UnWarpInstance();\\n uint32_t len1=pxt->GetMapLength(pxt->GetArgv(0));\\nfor(uint32_t i1=0;i1<len1;i1++) {\\n std::string tt1;\\n std::string tt2;\\n pxt->SwapJs2CUtf8(pxt->GetMapElementName(pxt->GetArgv(0),i1), tt1);\\n pxt->SwapJs2CUtf8(pxt->GetMapElementValue(pxt->GetArgv(0),tt1.c_str()), tt2);\\n p->map1.insert(std::make_pair(tt1, tt2));\\n}\\n return nullptr;\\n }\\n\\n};\",\"middleInit\":\"{\\n std::map<const char *,std::map<const char *,napi_callback>> valueList;\\n valueList[\\\"disable\\\"][\\\"getvalue\\\"]=napitest::ConfigOption_middle::getvalue_disable;\\n valueList[\\\"disable\\\"][\\\"setvalue\\\"]=napitest::ConfigOption_middle::setvalue_disable;\\n valueList[\\\"map1\\\"][\\\"getvalue\\\"]=napitest::ConfigOption_middle::getvalue_map1;\\n valueList[\\\"map1\\\"][\\\"setvalue\\\"]=napitest::ConfigOption_middle::setvalue_map1;\\n std::map<const char *, napi_callback> funcList;\\n pxt->DefineClass(\\\"ConfigOption\\\", napitest::ConfigOption_middle::constructor, valueList ,funcList);\\n}\\n\"}",
|
||||
"ParamGenerate": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"pxt->SwapJs2CUtf8(pxt->GetArgv(0), vio->in0);\\\\n\\\",\\\"valueDefine\\\":\\\"std::string& v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::string in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"pxt->SwapJs2CUtf8(pxt->GetArgv(XNapiTool::ZERO), vio->in0);\\\\n\\\",\\\"valueDefine\\\":\\\"std::string& v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::string in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"returnGenerate": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::string& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::string out;\",\"valuePackage\":\"result = pxt->SwapC2JsUtf8(vio->out.c_str());\"}",
|
||||
"generateFunctionDirect": "[\"\\nstruct if_direct_value_struct {\\n std::string in0;\\n \\n std::string out;\\n};\\n\\nstatic napi_value if_direct_middle(napi_env env, napi_callback_info info)\\n{\\n XNapiTool *pxt = std::make_unique<XNapiTool>(env, info).release();\\n if (pxt->IsFailed()) {\\n napi_value err = pxt->GetError();\\n delete pxt;\\n return err;\\n }\\n TestClass1 *pInstance = (TestClass1 *)pxt->UnWarpInstance();\\n\\n struct if_direct_value_struct *vio = new if_direct_value_struct();\\n \\n pxt->SwapJs2CUtf8(pxt->GetArgv(0), vio->in0);\\n\\n pInstance->if_direct(vio->in0, vio->out);\\n\\n napi_value result = nullptr;\\n result = pxt->SwapC2JsUtf8(vio->out.c_str());\\n\\n delete vio;\\n if (pxt->IsFailed()) {\\n result = pxt->GetError();\\n }\\n delete pxt; // release\\n return result;\\n}\",\"\\nbool if_direct(std::string &v1, std::string &out);\",\"\\nbool TestClass1::if_direct(std::string &v1, std::string &out)\\n{\\n return true;\\n}\\n\"]",
|
||||
"generateFunctionAsync": "[\"\\nstruct if_async_value_struct {\\n std::string in0;\\n \\n std::string out;\\n};\\n\\nstatic void if_async_execute(XNapiTool *pxt, void *data)\\n{\\n if_async_value_struct *vio = (if_async_value_struct *)data;\\n TestClass1 *pInstance = (TestClass1 *)pxt->GetAsyncInstance();\\n\\n pInstance->if_async(vio->in0, vio->out);\\n}\\n\\nstatic void if_async_complete(XNapiTool *pxt, void *data)\\n{\\n if_async_value_struct *vio = (if_async_value_struct *)data;\\n \\n napi_value result = nullptr;\\n result = pxt->SwapC2JsUtf8(vio->out.c_str());\\n \\n {\\n napi_value args[1] = {result};\\n pxt->FinishAsync(1, args);\\n }\\n\\n delete vio;\\n}\\n\\nstatic napi_value if_async_middle(napi_env env, napi_callback_info info)\\n{\\n XNapiTool *pxt = std::make_unique<XNapiTool>(env, info).release();\\n if (pxt->IsFailed()) {\\n napi_value err = pxt->GetError();\\n delete pxt;\\n return err;\\n }\\n pxt->SetAsyncInstance(pxt->UnWarpInstance());\\n\\n struct if_async_value_struct *vio = new if_async_value_struct();\\n \\n pxt->SwapJs2CUtf8(pxt->GetArgv(0), vio->in0);\\n\\n \\n napi_value result = pxt->StartAsync(if_async_execute, vio, if_async_complete, pxt->GetArgc() == 2 ? pxt->GetArgv(1) : nullptr);\\n\\n if (pxt->IsFailed()) {\\n result = pxt->GetError();\\n }\\n return result;\\n}\",\"\\nbool if_async(std::string &v1, std::string &out);\",\"\\nbool TestClass1::if_async(std::string &v1, std::string &out)\\n{\\n return true;\\n}\\n\"]",
|
||||
"connectResult": "[\"\\n static napi_value getvalue_disable(napi_env env, napi_callback_info info)\\n {\\n XNapiTool *pxt = std::make_unique<XNapiTool>(env, info).release();\\n ConfigOption *p = (ConfigOption *)pxt->UnWarpInstance();\\n napi_value result;\\n result = pxt->SwapC2JsBool(p->disable);\\n delete pxt;\\n return result;\\n }\\n static napi_value setvalue_disable(napi_env env, napi_callback_info info)\\n {\\n std::shared_ptr<XNapiTool> pxt = std::make_shared<XNapiTool>(env, info);\\n ConfigOption *p = (ConfigOption *)pxt->UnWarpInstance();\\n BOOLEAN_JS_2_C(pxt->GetArgv(0),bool,p->disable);\\n return nullptr;\\n }\\n\\n static napi_value getvalue_map1(napi_env env, napi_callback_info info)\\n {\\n XNapiTool *pxt = std::make_unique<XNapiTool>(env, info).release();\\n ConfigOption *p = (ConfigOption *)pxt->UnWarpInstance();\\n napi_value result;\\n result = nullptr;\\n for (auto i = p->map1.begin(); i != p->map1.end(); i++)\\n {\\n const char * tnv1;\\n napi_value tnv2 = nullptr;\\n tnv1 = (i -> first).c_str();\\n tnv2 = pxt->SwapC2JsUtf8(i->second.c_str());\\n pxt->SetMapElement(result, tnv1, tnv2);\\n }\\n delete pxt;\\n return result;\\n }\\n static napi_value setvalue_map1(napi_env env, napi_callback_info info)\\n {\\n std::shared_ptr<XNapiTool> pxt = std::make_shared<XNapiTool>(env, info);\\n ConfigOption *p = (ConfigOption *)pxt->UnWarpInstance();\\n uint32_t len2=pxt->GetMapLength(pxt->GetArgv(0));\\nfor(uint32_t i2=0;i2<len2;i2++) {\\n std::string tt2;\\n std::string tt3;\\n pxt->SwapJs2CUtf8(pxt->GetMapElementName(pxt->GetArgv(0),i2), tt2);\\n pxt->SwapJs2CUtf8(pxt->GetMapElementValue(pxt->GetArgv(0),tt2.c_str()), tt3);\\n p->map1.insert(std::make_pair(tt2, tt3));\\n}\\n return nullptr;\\n }\\n\",\"\\n bool disable;\\n std::map<std::string,std::string> map1;\",\"\",\"{\\n std::map<const char *,std::map<const char *,napi_callback>> valueList;\\n valueList[\\\"disable\\\"][\\\"getvalue\\\"]=napitest::ConfigOption_middle::getvalue_disable;\\n valueList[\\\"disable\\\"][\\\"setvalue\\\"]=napitest::ConfigOption_middle::setvalue_disable;\\n valueList[\\\"map1\\\"][\\\"getvalue\\\"]=napitest::ConfigOption_middle::getvalue_map1;\\n valueList[\\\"map1\\\"][\\\"setvalue\\\"]=napitest::ConfigOption_middle::setvalue_map1;\\n std::map<const char *, napi_callback> funcList;\"]",
|
||||
"getNamespaceResult": "{\"class\":[],\"const\":[],\"enum\":[{\"name\":\"TestClass\",\"body\":{\"element\":[{\"name\":\"name\",\"value\":\"\",\"type\":\"string\"}],\"function\":[],\"enumValueType\":0}}],\"export\":[],\"function\":[{\"name\":\"fun1\",\"type\":1,\"value\":[{\"name\":\"v\",\"type\":\"Array<string>\"}],\"ret\":\"string\"}],\"interface\":[{\"name\":\"TestClass1\",\"body\":{\"function\":[],\"value\":[{\"name\":\"age\",\"type\":\"NUMBER_TYPE_1\"}]}}],\"namespace\":[],\"middleFunc\":null,\"implH\":null,\"implCpp\":null,\"middleInit\":null}",
|
||||
"generateEnumResult": "{\"implH\":\"\\nenum GrantStatus {\\nPERMISSION_DEFAULT = 0,\\nPERMISSION_DENIED = -1,\\nPERMISSION_GRANTED = 2,\\nPERMISSION_PASS = 3,\\n};\\n\",\"implCpp\":\"\"}",
|
||||
"generateFunction": "[\"\\nstruct fun1_value_struct {\\nuint32_t outErrCode = 0;\\nstd::string out;\\n};\\n\\nvoid fun1_execute(XNapiTool *pxt, void *data)\\n{\\nfun1_value_struct *vio = (fun1_value_struct *)data;\\n\\n\\nfun1(vio->outErrCode, vio->out);\\n}\\n\\nvoid fun1_complete(XNapiTool *pxt, void *data)\\n{\\nfun1_value_struct *vio = (fun1_value_struct *)data;\\n\\nnapi_value result = nullptr;\\n\\nresult = pxt->SwapC2JsUtf8(vio->out.c_str());\\n\\nnapi_value errCodeResult = nullptr;\\nnapi_value napiErrCode = nullptr;\\nnapiErrCode = NUMBER_C_2_JS(pxt, vio->outErrCode);\\npxt->SetValueProperty(errCodeResult, \\\"code\\\", napiErrCode);\\n{\\nnapi_value args[2] = {errCodeResult, result};\\npxt->FinishAsync(2, args);\\n}\\n\\n\\ndelete vio;\\n}\\n\\nnapi_value fun1_middle(napi_env env, napi_callback_info info)\\n{\\nXNapiTool *pxt = std::make_unique<XNapiTool>(env, info).release();\\nif (pxt->IsFailed()) {\\nnapi_value err = pxt->GetError();\\ndelete pxt;\\nreturn err;\\n}\\n\\n\\nstruct fun1_value_struct *vio = new fun1_value_struct();\\n\\n\\n\\n\\n\\n\\nnapi_value result = pxt->StartAsync(fun1_execute, vio, fun1_complete, pxt->GetArgc() == 1 ? pxt->GetArgv(0) : nullptr);\\n\\nif (pxt->IsFailed()) {\\nresult = pxt->GetError();\\n}\\nreturn result;\\n}\",\"\\nbool fun1(uint32_t& outErrCode, std::string& out);\",\"\\nbool fun1(uint32_t& outErrCode, std::string& out)\\n{\\nreturn true;\\n}\\n\"]",
|
||||
"paramGenerateArray": "{\"valueCheckout\":\"uint32_t len=pxt->GetArrayLength(pxt->GetArgv(0));\\nfor(uint32_t i=0;i<len;i++) {\\nstd::string tt;\\npxt->SwapJs2CUtf8(pxt->GetArrayElement(pxt->GetArgv(0),i), tt);\\nvio->in0.push_back(tt);\\n\\n}\\n\",\"valueDefine\":\"std::vector<std::string> &v\",\"valueFill\":\"vio->in0\",\"valueIn\":\"\\nstd::vector<std::string> in0;\",\"valueOut\":\"\",\"valuePackage\":\"\"}",
|
||||
"paramGenerateMap": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"uint32_t len=pxt->GetMapLength(pxt->GetArgv(0));\\nfor(uint32_t i=0;i<len;i++) {\\nstd::string tt;\\nstd::string tt1;\\npxt->SwapJs2CUtf8(pxt->GetMapElementName(pxt->GetArgv(0),i), tt);\\npxt->SwapJs2CUtf8(pxt->GetMapElementValue(pxt->GetArgv(0),tt.c_str()), tt1);\\nvio->in0.insert(std::make_pair(tt, tt1));\\n}\\n\",\"valueDefine\":\"std::map<std::string,std::string>& v\",\"valueFill\":\"vio->in0\",\"valueIn\":\"\\nstd::map<std::string,std::string> in0;\",\"valueOut\":\"\",\"valuePackage\":\"\"}",
|
||||
"mapTempleteFunc": "\"uint32_t len=pxt->GetMapLength(pxt->GetArgv(0));\\nfor(uint32_t i=0;i<len;i++) {\\nstd::string kk1;\\nstd::string kk2;\\npxt->SwapJs2CUtf8(pxt->GetMapElementName(pxt->GetArgv(0),i), kk1);\\npxt->SwapJs2CUtf8(pxt->GetMapElementValue(pxt->GetArgv(0),kk1.c_str()), kk2);\\nvio->in0.insert(std::make_pair(kk1, kk2));\\n}\"",
|
||||
"generateNamespace": "{\"implH\":\"namespacenapitest{\\nenumTestEnum{\\nname=0,\\n};\\n\\nclassTestInterface{\\npublic:\\nNUMBER_TYPE_1age;\\n};\\nboolfun1(std::vector<std::string>&v,std::string&out);\\n}\",\"implCpp\":\"namespacenapitest{\\nboolfun1(std::vector<std::string>&v,std::string&out)\\n{\\nreturntrue;\\n}\\n}\",\"middleBody\":\"namespacenapitest{\\nclassTestInterface_middle{\\npublic:\\nstaticnapi_valueconstructor(napi_envenv,napi_callback_infoinfo)\\n{\\nXNapiTool*pxt=newXNapiTool(env,info);\\n\\nTestInterface*p=newTestInterface();\\n\\nnapi_valuethisvar=pxt->WrapInstance(p,release);\\n\\nreturnthisvar;\\n}\\nstaticvoidrelease(void*p)\\n{\\nTestInterface*p2=(TestInterface*)p;\\ndeletep2;\\n}\\n\\nstaticnapi_valuegetvalue_age(napi_envenv,napi_callback_infoinfo)\\n{\\nXNapiTool*pxt=std::make_unique<XNapiTool>(env,info).release();\\nTestInterface*p=(TestInterface*)pxt->UnWarpInstance();\\nnapi_valueresult;\\nresult=NUMBER_C_2_JS(pxt,p->age);\\ndeletepxt;\\nreturnresult;\\n}\\nstaticnapi_valuesetvalue_age(napi_envenv,napi_callback_infoinfo)\\n{\\nstd::shared_ptr<XNapiTool>pxt=std::make_shared<XNapiTool>(env,info);\\nTestInterface*p=(TestInterface*)pxt->UnWarpInstance();\\nNUMBER_JS_2_C(pxt->GetArgv(0),NUMBER_TYPE_1,p->age);\\nreturnnullptr;\\n}\\n\\n};\\nstructfun1_value_struct{\\nstd::vector<std::string>in0;\\n\\nstd::stringout;\\n};\\n\\nnapi_valuefun1_middle(napi_envenv,napi_callback_infoinfo)\\n{\\nXNapiTool*pxt=std::make_unique<XNapiTool>(env,info).release();\\nif(pxt->IsFailed()){\\nnapi_valueerr=pxt->GetError();\\ndeletepxt;\\nreturnerr;\\n}\\n\\n\\nstructfun1_value_struct*vio=newfun1_value_struct();\\n\\nuint32_tlen7=pxt->GetArrayLength(pxt->GetArgv(0));\\nfor(uint32_ti7=0;i7<len7;i7++){\\nstd::stringtt7;\\npxt->SwapJs2CUtf8(pxt->GetArrayElement(pxt->GetArgv(0),i7),tt7);\\nvio->in0.push_back(tt7);\\n\\n}\\n\\n\\nfun1(vio->in0,vio->out);\\n\\nnapi_valueresult=nullptr;\\nresult=pxt->SwapC2JsUtf8(vio->out.c_str());\\n\\n\\n\\ndeletevio;\\nif(pxt->IsFailed()){\\nresult=pxt->GetError();\\n}\\n\\ndeletepxt;//release\\nreturnresult;\\n}}\",\"middleInit\":\"{\\nstd::map<constchar*,std::map<constchar*,napi_callback>>valueList;\\nvalueList[\\\"age\\\"][\\\"getvalue\\\"]=napitest::TestInterface_middle::getvalue_age;\\nvalueList[\\\"age\\\"][\\\"setvalue\\\"]=napitest::TestInterface_middle::setvalue_age;\\nstd::map<constchar*,napi_callback>funcList;\\npxt->DefineClass(\\\"TestInterface\\\",napitest::TestInterface_middle::constructor,valueList,funcList);\\n}\\npxt->DefineFunction(\\\"fun1\\\",napitest::fun1_middle);\\n\"}",
|
||||
"ParamGenerate1": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"NUMBER_JS_2_C(pxt->GetArgv(0),NUMBER_TYPE_1,vio->in0);\\\\n\\\",\\\"valueDefine\\\":\\\"NUMBER_TYPE_1& v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nNUMBER_TYPE_1 in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate2": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"BOOLEAN_JS_2_C(pxt->GetArgv(0),bool,vio->in0);\\\\n\\\",\\\"valueDefine\\\":\\\"bool& v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nbool in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate3": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len=pxt->GetArrayLength(pxt->GetArgv(0));\\\\nfor(uint32_t i=0;i<len;i++) {\\\\nstd::string tt;\\\\npxt->SwapJs2CUtf8(pxt->GetArrayElement(pxt->GetArgv(0),i), tt);\\\\nvio->in0.push_back(tt);\\\\n\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<std::string> &v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<std::string> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate4": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len=pxt->GetArrayLength(pxt->GetArgv(0));\\\\nfor(uint32_t i=0;i<len;i++) {\\\\nbool tt;\\\\ntt = pxt->SwapJs2CBool(pxt->GetArrayElement(pxt->GetArgv(0),i));\\\\nvio->in0.push_back(tt);\\\\n\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<bool> &v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<bool> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate5": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len=pxt->GetArrayLength(pxt->GetArgv(0));\\\\nfor(uint32_t i=0;i<len;i++) {\\\\nnumber tt;\\\\n[replace_swap]\\\\nvio->in0.push_back(tt);\\\\n\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<number> &v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<number> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate6": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len=pxt->GetArrayLength(pxt->GetArgv(0));\\\\nfor(uint32_t i=0;i<len;i++) {\\\\nstd::string tt;\\\\npxt->SwapJs2CUtf8(pxt->GetArrayElement(pxt->GetArgv(0),i), tt);\\\\nvio->in0.push_back(tt);\\\\n\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<std::string> &v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<std::string> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate7": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len=pxt->GetArrayLength(pxt->GetArgv(0));\\\\nfor(uint32_t i=0;i<len;i++) {\\\\nbool tt;\\\\ntt = pxt->SwapJs2CBool(pxt->GetArrayElement(pxt->GetArgv(0),i));\\\\nvio->in0.push_back(tt);\\\\n\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<bool> &v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<bool> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate8": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len=pxt->GetArrayLength(pxt->GetArgv(0));\\\\nfor(uint32_t i=0;i<len;i++) {\\\\nnumber tt;\\\\n[replace_swap]\\\\nvio->in0.push_back(tt);\\\\n\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<number> &v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<number> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"generateFunction": "[\"\\nstruct fun1_value_struct {\\nuint32_t outErrCode = 0;\\nstd::string out;\\n};\\n\\nvoid fun1_execute(XNapiTool *pxt, DataPtr data)\\n{\\nvoid *data_ptr = data;\\nfun1_value_struct *vio = static_cast<fun1_value_struct *>(data_ptr);\\n\\nfun1(vio->outErrCode, vio->out);\\n}\\n\\nvoid fun1_complete(XNapiTool *pxt, DataPtr data)\\n{\\nvoid *data_ptr = data;\\nfun1_value_struct *vio = static_cast<fun1_value_struct *>(data_ptr);\\nnapi_value result = nullptr;\\nresult = pxt->SwapC2JsUtf8(vio->out.c_str());\\nnapi_value errCodeResult = nullptr;\\nnapi_value napiErrCode = nullptr;\\nnapiErrCode = NUMBER_C_2_JS(pxt, vio->outErrCode);\\npxt->SetValueProperty(errCodeResult, \\\"code\\\", napiErrCode);\\n{\\nnapi_value args[XNapiTool::TWO] = {errCodeResult, result};\\npxt->FinishAsync(XNapiTool::TWO, args);\\n}\\n\\ndelete vio;\\n}\\n\\nnapi_value fun1_middle(napi_env env, napi_callback_info info)\\n{\\nXNapiTool *pxt = std::make_unique<XNapiTool>(env, info).release();\\nif (pxt->IsFailed()) {\\nnapi_value err = pxt->GetError();\\ndelete pxt;\\nreturn err;\\n}\\n\\nstruct fun1_value_struct *vio = new fun1_value_struct();\\n\\nnapi_value result = pxt->StartAsync(fun1_execute, reinterpret_cast<DataPtr>(vio), fun1_complete,\\npxt->GetArgc() == XNapiTool::ONE? pxt->GetArgv(XNapiTool::ZERO) : nullptr);\\nif (pxt->IsFailed()) {\\nresult = pxt->GetError();\\n}\\nreturn result;\\n}\",\"\\nbool fun1(uint32_t& outErrCode, std::string& out);\",\"\\nbool fun1(uint32_t& outErrCode, std::string& out)\\n{\\nreturn true;\\n}\\n\"]",
|
||||
"paramGenerateArray": "{\"valueCheckout\":\"uint32_t len = pxt->GetArrayLength(pxt->GetArgv(XNapiTool::ZERO));\\nfor (uint32_t i = 0; i < len; i++) {\\nstd::string tt;\\npxt->SwapJs2CUtf8(pxt->GetArrayElement(pxt->GetArgv(XNapiTool::ZERO), i), tt);\\nvio->in0.push_back(tt);\\n}\\n\",\"valueDefine\":\"std::vector<std::string>&v\",\"valueFill\":\"vio->in0\",\"valueIn\":\"\\nstd::vector<std::string> in0;\",\"valueOut\":\"\",\"valuePackage\":\"\"}",
|
||||
"paramGenerateMap": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"uint32_t len = pxt->GetMapLength(pxt->GetArgv(XNapiTool::ZERO));\\nfor (uint32_t i = 0; i < len; i++) {\\nstd::string tt;\\nstd::string tt1;\\npxt->SwapJs2CUtf8(pxt->GetMapElementName(pxt->GetArgv(XNapiTool::ZERO), i), tt);\\npxt->SwapJs2CUtf8(pxt->GetMapElementValue(pxt->GetArgv(XNapiTool::ZERO), tt.c_str()), tt1);\\n\\nvio->in0.insert(std::make_pair(tt, tt1));\\n}\\n\",\"valueDefine\":\"std::map<std::string, std::string>& v\",\"valueFill\":\"vio->in0\",\"valueIn\":\"\\nstd::map<std::string, std::string> in0;\",\"valueOut\":\"\",\"valuePackage\":\"\"}",
|
||||
"mapTempleteFunc": "\"uint32_t len = pxt->GetMapLength(pxt->GetArgv(0));\\nfor (uint32_t i = 0; i < len; i++) {\\nstd::string kk1;\\nstd::string kk2;\\npxt->SwapJs2CUtf8(pxt->GetMapElementName(pxt->GetArgv(0), i), kk1);\\npxt->SwapJs2CUtf8(pxt->GetMapElementValue(pxt->GetArgv(0), kk1.c_str()), kk2);\\n\\nvio->in0.insert(std::make_pair(kk1, kk2));\\n}\"",
|
||||
"generateNamespace": "{\"implH\":\"\\nnamespacenapitest{\\nenumclassTestEnum{\\nname=0,\\n};\\n\\nclassTestInterface{\\npublic:\\nNUMBER_TYPE_1age;\\n};\\n\\nboolfun1(std::vector<std::string>&v,std::string&out);\\n}\",\"implCpp\":\"\\nnamespacenapitest{\\nboolfun1(std::vector<std::string>&v,std::string&out)\\n{\\nreturntrue;\\n}\\n}\",\"middleBody\":\"\\nnamespacenapitest{\\nclassTestInterface_middle{\\npublic:\\nstaticnapi_valueconstructor(napi_envenv,napi_callback_infoinfo)\\n{\\nXNapiTool*pxt=newXNapiTool(env,info);\\nTestInterface*p=newTestInterface();\\nnapi_valuethisvar=pxt->WrapInstance(reinterpret_cast<DataPtr>(p),release);\\nreturnthisvar;\\n}\\nstaticvoidrelease(DataPtrp)\\n{\\nvoid*dataPtr=p;\\nTestInterface*p2=static_cast<TestInterface*>(dataPtr);\\ndeletep2;\\n}\\n\\nstaticnapi_valuegetvalue_age(napi_envenv,napi_callback_infoinfo)\\n{\\nXNapiTool*pxt=std::make_unique<XNapiTool>(env,info).release();\\nvoid*instPtr=pxt->UnWarpInstance();\\nTestInterface*p=static_cast<TestInterface*>(instPtr);\\nnapi_valueresult=nullptr;\\nresult=NUMBER_C_2_JS(pxt,p->age);\\ndeletepxt;\\nreturnresult;\\n}\\nstaticnapi_valuesetvalue_age(napi_envenv,napi_callback_infoinfo)\\n{\\nstd::shared_ptr<XNapiTool>pxt=std::make_shared<XNapiTool>(env,info);\\nvoid*instPtr=pxt->UnWarpInstance();\\nTestInterface*p=static_cast<TestInterface*>(instPtr);\\nNUMBER_JS_2_C(pxt->GetArgv(XNapiTool::ZERO),NUMBER_TYPE_1,p->age);\\nreturnnullptr;\\n}\\n};\\nstructfun1_value_struct{\\nstd::vector<std::string>in0;\\nstd::stringout;\\n};\\n\\nnapi_valuefun1_middle(napi_envenv,napi_callback_infoinfo)\\n{\\nXNapiTool*pxt=std::make_unique<XNapiTool>(env,info).release();\\nif(pxt->IsFailed()){\\nnapi_valueerr=pxt->GetError();\\ndeletepxt;\\nreturnerr;\\n}\\n\\nstructfun1_value_struct*vio=newfun1_value_struct();\\nuint32_tlen7=pxt->GetArrayLength(pxt->GetArgv(XNapiTool::ZERO));\\nfor(uint32_ti7=0;i7<len7;i7++){\\nstd::stringtt7;\\npxt->SwapJs2CUtf8(pxt->GetArrayElement(pxt->GetArgv(XNapiTool::ZERO),i7),tt7);\\nvio->in0.push_back(tt7);\\n}\\nfun1(vio->in0,vio->out);\\nnapi_valueresult=nullptr;\\nresult=pxt->SwapC2JsUtf8(vio->out.c_str());\\ndeletevio;\\nif(pxt->IsFailed()){\\nresult=pxt->GetError();\\n}\\ndeletepxt;//release\\nreturnresult;\\n}}\",\"middleInit\":\"std::map<constchar*,std::any>enumMapTestEnum;\\nenumMapTestEnum[\\\"name\\\"]=0;\\npxt->CreateEnumObject(\\\"TestEnum\\\",enumMapTestEnum);\\n{\\nstd::map<constchar*,std::map<constchar*,napi_callback>>valueList;\\nvalueList[\\\"age\\\"][\\\"getvalue\\\"]=napitest::TestInterface_middle::getvalue_age;\\nvalueList[\\\"age\\\"][\\\"setvalue\\\"]=napitest::TestInterface_middle::setvalue_age;\\nstd::map<constchar*,napi_callback>funcList;\\npxt->DefineClass(\\\"TestInterface\\\",napitest::TestInterface_middle::constructor,\\nvalueList,funcList);\\n}\\npxt->DefineFunction(\\\"fun1\\\",napitest::fun1_middle);\\n\"}",
|
||||
"ParamGenerate1": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"NUMBER_JS_2_C(pxt->GetArgv(XNapiTool::ZERO), NUMBER_TYPE_1, vio->in0);\\\\n\\\",\\\"valueDefine\\\":\\\"NUMBER_TYPE_1& v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nNUMBER_TYPE_1 in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate2": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"BOOLEAN_JS_2_C(pxt->GetArgv(XNapiTool::ZERO), bool, vio->in0);\\\\n\\\\n\\\",\\\"valueDefine\\\":\\\"bool& v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nbool in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate3": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len = pxt->GetArrayLength(pxt->GetArgv(XNapiTool::ZERO));\\\\nfor (uint32_t i = 0; i < len; i++) {\\\\nstd::string tt;\\\\npxt->SwapJs2CUtf8(pxt->GetArrayElement(pxt->GetArgv(XNapiTool::ZERO), i), tt);\\\\nvio->in0.push_back(tt);\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<std::string>&v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<std::string> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate4": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len = pxt->GetArrayLength(pxt->GetArgv(XNapiTool::ZERO));\\\\nfor (uint32_t i = 0; i < len; i++) {\\\\nbool tt;\\\\ntt = pxt->SwapJs2CBool(pxt->GetArrayElement(pxt->GetArgv(XNapiTool::ZERO), i));\\\\nvio->in0.push_back(tt);\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<bool>&v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<bool> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate5": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len = pxt->GetArrayLength(pxt->GetArgv(XNapiTool::ZERO));\\\\nfor (uint32_t i = 0; i < len; i++) {\\\\nnumber tt;\\\\n[replace_swap]\\\\nvio->in0.push_back(tt);\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<number>&v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<number> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate6": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len = pxt->GetArrayLength(pxt->GetArgv(XNapiTool::ZERO));\\\\nfor (uint32_t i = 0; i < len; i++) {\\\\nstd::string tt;\\\\npxt->SwapJs2CUtf8(pxt->GetArrayElement(pxt->GetArgv(XNapiTool::ZERO), i), tt);\\\\nvio->in0.push_back(tt);\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<std::string>&v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<std::string> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate7": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len = pxt->GetArrayLength(pxt->GetArgv(XNapiTool::ZERO));\\\\nfor (uint32_t i = 0; i < len; i++) {\\\\nbool tt;\\\\ntt = pxt->SwapJs2CBool(pxt->GetArrayElement(pxt->GetArgv(XNapiTool::ZERO), i));\\\\nvio->in0.push_back(tt);\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<bool>&v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<bool> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"ParamGenerate8": "\"{\\\"optionalParamDestory\\\":\\\"\\\",\\\"valueCheckout\\\":\\\"uint32_t len = pxt->GetArrayLength(pxt->GetArgv(XNapiTool::ZERO));\\\\nfor (uint32_t i = 0; i < len; i++) {\\\\nnumber tt;\\\\n[replace_swap]\\\\nvio->in0.push_back(tt);\\\\n}\\\\n\\\",\\\"valueDefine\\\":\\\"std::vector<number>&v\\\",\\\"valueFill\\\":\\\"vio->in0\\\",\\\"valueIn\\\":\\\"\\\\nstd::vector<number> in0;\\\",\\\"valueOut\\\":\\\"\\\",\\\"valuePackage\\\":\\\"\\\"}\"",
|
||||
"returnGenerate1": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"NUMBER_TYPE_1& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"NUMBER_TYPE_1 out;\",\"valuePackage\":\"result = NUMBER_C_2_JS(pxt, vio->out);\"}",
|
||||
"returnGenerate2": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"bool& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"bool out;\",\"valuePackage\":\"result = pxt->SwapC2JsBool(vio->out);\"}",
|
||||
"returnGenerate3": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<std::string>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<std::string> out;\",\"valuePackage\":\"uint32_t len=vio->out.size();\\nfor(uint32_t i=0;i<len;i++) {\\nnapi_value tnv = nullptr;\\ntnv = pxt->SwapC2JsUtf8(vio->out[i].c_str());\\npxt->SetArrayElement(result, i, tnv);\\n}\"}",
|
||||
"returnGenerate4": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<NUMBER_TYPE_1>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<NUMBER_TYPE_1> out;\",\"valuePackage\":\"uint32_t len=vio->out.size();\\nfor(uint32_t i=0;i<len;i++) {\\nnapi_value tnv = nullptr;\\ntnv = NUMBER_C_2_JS(pxt,vio->out[i]);\\npxt->SetArrayElement(result, i, tnv);\\n}\"}",
|
||||
"returnGenerate5": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<boolean>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<boolean> out;\",\"valuePackage\":\"\"}",
|
||||
"returnGenerate6": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<std::string>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<std::string> out;\",\"valuePackage\":\"uint32_t len=vio->out.size();\\nfor(uint32_t i=0;i<len;i++) {\\nnapi_value tnv = nullptr;\\ntnv = pxt->SwapC2JsUtf8(vio->out[i].c_str());\\npxt->SetArrayElement(result, i, tnv);\\n}\"}",
|
||||
"returnGenerate7": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<boolean>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<boolean> out;\",\"valuePackage\":\"\"}",
|
||||
"returnGenerate8": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"NUMBER_TYPE_1[]& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"NUMBER_TYPE_1[] out;\",\"valuePackage\":\"result = NUMBER_C_2_JS(pxt, vio->out);\"}"
|
||||
"returnGenerate3": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<std::string>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<std::string> out;\",\"valuePackage\":\"pxt->CreateArray(result);\\nuint32_t outLen1 = vio->out.size();\\nfor (uint32_t i = 0; i < outLen1; i++) {\\nnapi_value tnv = nullptr;\\ntnv = pxt->SwapC2JsUtf8(vio->out[i].c_str());\\npxt->SetArrayElement(result, i, tnv);\\n}\"}",
|
||||
"returnGenerate4": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<NUMBER_TYPE_1>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<NUMBER_TYPE_1> out;\",\"valuePackage\":\"pxt->CreateArray(result);\\nuint32_t outLen1 = vio->out.size();\\nfor (uint32_t i = 0; i < outLen1; i++) {\\nnapi_value tnv = nullptr;\\ntnv = NUMBER_C_2_JS(pxt, vio->out[i]);\\npxt->SetArrayElement(result, i, tnv);\\n}\"}",
|
||||
"returnGenerate5": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<bool>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<bool> out;\",\"valuePackage\":\"pxt->CreateArray(result);\\nuint32_t outLen1 = vio->out.size();\\nfor (uint32_t i = 0; i < outLen1; i++) {\\nnapi_value tnv = nullptr;\\ntnv = pxt->SwapC2JsBool(vio->out[i]);\\npxt->SetArrayElement(result, i, tnv);\\n}\"}",
|
||||
"returnGenerate6": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<std::string>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<std::string> out;\",\"valuePackage\":\"pxt->CreateArray(result);\\nuint32_t outLen1 = vio->out.size();\\nfor (uint32_t i = 0; i < outLen1; i++) {\\nnapi_value tnv = nullptr;\\ntnv = pxt->SwapC2JsUtf8(vio->out[i].c_str());\\npxt->SetArrayElement(result, i, tnv);\\n}\"}",
|
||||
"returnGenerate7": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<bool>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<bool> out;\",\"valuePackage\":\"pxt->CreateArray(result);\\nuint32_t outLen1 = vio->out.size();\\nfor (uint32_t i = 0; i < outLen1; i++) {\\nnapi_value tnv = nullptr;\\ntnv = pxt->SwapC2JsBool(vio->out[i]);\\npxt->SetArrayElement(result, i, tnv);\\n}\"}",
|
||||
"returnGenerate8": "{\"optionalParamDestory\":\"\",\"valueCheckout\":\"\",\"valueDefine\":\"std::vector<NUMBER_TYPE_1>& out\",\"valueFill\":\"vio->out\",\"valueIn\":\"\",\"valueOut\":\"std::vector<NUMBER_TYPE_1> out;\",\"valuePackage\":\"pxt->CreateArray(result);\\nuint32_t outLen1 = vio->out.size();\\nfor (uint32_t i = 0; i < outLen1; i++) {\\nnapi_value tnv = nullptr;\\ntnv = NUMBER_C_2_JS(pxt, vio->out[i]);\\npxt->SetArrayElement(result, i, tnv);\\n}\"}"
|
||||
},
|
||||
"Generate1": {
|
||||
"ParamGenerate": "{\"valueIn\":\"\\n NUMBER_TYPE_1 in0;\",\"valueOut\":\"\",\"valueCheckout\":\"NUMBER_JS_2_C(pxt->GetArgv(0),NUMBER_TYPE_1,vio->in0);\",\"valueFill\":\"vio->in0\",\"valuePackage\":\"\",\"valueDefine\":\"NUMBER_TYPE_1 &a\"}",
|
||||
|
Loading…
x
Reference in New Issue
Block a user