MCPcopy Create free account
hub / github.com/Tencent/MMKV / encodeArray

Function encodeArray

OpenHarmony/MMKV/src/main/cpp/native_bridge.cpp:1176–1199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1174
1175template <typename T>
1176napi_value encodeArray(napi_env env, napi_callback_info info) {
1177 size_t argc = 6;
1178 napi_value args[6] = {nullptr};
1179 NAPI_CALL(napi_get_cb_info(env, info, &argc, args, nullptr, nullptr));
1180
1181 auto handle = NValueToUInt64(env, args[0]);
1182 auto key = NValueToString(env, args[1]);
1183 MMKV *kv = reinterpret_cast<MMKV *>(handle);
1184 if (kv && key.length() > 0) {
1185 auto buffer = NValueToMMBuffer(env, args[2]);
1186 auto offset = NValueToUInt32(env, args[3]);
1187 auto length = NValueToUInt32(env, args[4]);
1188 auto ptr = (uint8_t *)buffer.getPtr() + offset;
1189 std::span<T> value((T *)ptr, length / sizeof(T));
1190 if (IsNValueUndefined(env, args[5])) {
1191 auto ret = kv->set(value, key);
1192 return BoolToNValue(env, ret);
1193 }
1194 uint32_t expiration = NValueToUInt32(env, args[5]);
1195 auto ret = kv->set(value, key, expiration);
1196 return BoolToNValue(env, ret);
1197 }
1198 return BoolToNValue(env, false);
1199}
1200
1201template <typename T>
1202napi_value decodeArray(napi_env env, napi_callback_info info) {

Callers

nothing calls this directly

Calls 7

NValueToUInt64Function · 0.85
NValueToMMBufferFunction · 0.85
NValueToUInt32Function · 0.85
NValueToStringFunction · 0.70
IsNValueUndefinedFunction · 0.70
BoolToNValueFunction · 0.70
setMethod · 0.45

Tested by

no test coverage detected