| 531 | static NAPIMMKVHandler g_napiHandler; |
| 532 | |
| 533 | static napi_value initialize(napi_env env, napi_callback_info info) { |
| 534 | g_env = env; |
| 535 | |
| 536 | size_t argc = 4; |
| 537 | napi_value args[4] = {nullptr}; |
| 538 | NAPI_CALL(napi_get_cb_info(env, info, &argc, args , nullptr, nullptr)); |
| 539 | |
| 540 | auto rootDir = NValueToString(env, args[0]); |
| 541 | auto cacheDir = NValueToString(env, args[1]); |
| 542 | |
| 543 | int32_t logLevel; |
| 544 | NAPI_CALL(napi_get_value_int32(env, args[2], &logLevel)); |
| 545 | |
| 546 | auto [hasCallback, wantLogRedirect, wantContentChangeNotification] = initCallbacks(env, args[3]); |
| 547 | mmkv::MMKVHandler *handler = (hasCallback || wantLogRedirect) ? &g_napiHandler : nullptr; |
| 548 | |
| 549 | MMKVInfo("rootDir: %s, cacheDir: %s, log level:%d, has callback: %d, want log redirect: %d", |
| 550 | rootDir.c_str(), cacheDir.c_str(), logLevel, hasCallback, wantLogRedirect); |
| 551 | |
| 552 | MMKV::initializeMMKV(rootDir, (MMKVLogLevel) logLevel, handler); |
| 553 | g_android_tmpDir = cacheDir; |
| 554 | |
| 555 | if (hasCallback || wantLogRedirect || wantContentChangeNotification) { |
| 556 | MMKV::registerHandler(&g_napiHandler); |
| 557 | } |
| 558 | |
| 559 | return StringToNValue(env, MMKV::getRootDir()); |
| 560 | } |
| 561 | |
| 562 | static napi_value version(napi_env env, napi_callback_info info) { |
| 563 | napi_value sum; |
nothing calls this directly
no test coverage detected