react-native-mmkv 3.0.0-beta.4 → 3.0.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/android/build.gradle +3 -0
  2. package/android/src/main/cpp/AndroidLogger.cpp +3 -3
  3. package/cpp/MmkvHostObject.cpp +38 -50
  4. package/cpp/{Logger.h → MmkvLogger.h} +3 -3
  5. package/cpp/NativeMmkvModule.cpp +2 -2
  6. package/ios/AppleLogger.mm +3 -3
  7. package/lib/commonjs/MMKV.js +0 -13
  8. package/lib/commonjs/MMKV.js.map +1 -1
  9. package/lib/commonjs/ModuleNotFoundError.js +75 -0
  10. package/lib/commonjs/ModuleNotFoundError.js.map +1 -0
  11. package/lib/commonjs/NativeMmkv.js +21 -14
  12. package/lib/commonjs/NativeMmkv.js.map +1 -1
  13. package/lib/commonjs/NativeMmkvPlatformContext.js +14 -5
  14. package/lib/commonjs/NativeMmkvPlatformContext.js.map +1 -1
  15. package/lib/commonjs/createMMKV.js +2 -1
  16. package/lib/commonjs/createMMKV.js.map +1 -1
  17. package/lib/commonjs/hooks.js.map +1 -1
  18. package/lib/module/MMKV.js +0 -1
  19. package/lib/module/MMKV.js.map +1 -1
  20. package/lib/module/ModuleNotFoundError.js +68 -0
  21. package/lib/module/ModuleNotFoundError.js.map +1 -0
  22. package/lib/module/NativeMmkv.js +20 -14
  23. package/lib/module/NativeMmkv.js.map +1 -1
  24. package/lib/module/NativeMmkvPlatformContext.js +13 -4
  25. package/lib/module/NativeMmkvPlatformContext.js.map +1 -1
  26. package/lib/module/createMMKV.js +3 -2
  27. package/lib/module/createMMKV.js.map +1 -1
  28. package/lib/module/hooks.js.map +1 -1
  29. package/lib/typescript/src/MMKV.d.ts +3 -3
  30. package/lib/typescript/src/MMKV.d.ts.map +1 -1
  31. package/lib/typescript/src/ModuleNotFoundError.d.ts +7 -0
  32. package/lib/typescript/src/ModuleNotFoundError.d.ts.map +1 -0
  33. package/lib/typescript/src/NativeMmkv.d.ts +3 -3
  34. package/lib/typescript/src/NativeMmkv.d.ts.map +1 -1
  35. package/lib/typescript/src/NativeMmkvPlatformContext.d.ts +2 -2
  36. package/lib/typescript/src/NativeMmkvPlatformContext.d.ts.map +1 -1
  37. package/lib/typescript/src/createMMKV.d.ts.map +1 -1
  38. package/lib/typescript/src/hooks.d.ts +2 -1
  39. package/lib/typescript/src/hooks.d.ts.map +1 -1
  40. package/package.json +5 -22
  41. package/react-native-mmkv.podspec +3 -0
  42. package/src/MMKV.ts +3 -3
  43. package/src/ModuleNotFoundError.ts +95 -0
  44. package/src/NativeMmkv.ts +21 -17
  45. package/src/NativeMmkvPlatformContext.ts +16 -5
  46. package/src/createMMKV.ts +4 -2
  47. package/src/hooks.ts +2 -1
  48. package/LICENSE +0 -20
  49. package/MMKV/LICENSE.TXT +0 -193
  50. package/MMKV/README.md +0 -354
  51. package/README.md +0 -282
  52. package/lib/commonjs/LazyTurboModule.js +0 -66
  53. package/lib/commonjs/LazyTurboModule.js.map +0 -1
  54. package/lib/module/LazyTurboModule.js +0 -60
  55. package/lib/module/LazyTurboModule.js.map +0 -1
  56. package/lib/typescript/src/LazyTurboModule.d.ts +0 -9
  57. package/lib/typescript/src/LazyTurboModule.d.ts.map +0 -1
  58. package/src/LazyTurboModule.ts +0 -98
@@ -36,6 +36,9 @@ def supportsNamespace() {
36
36
  return (major == 7 && minor >= 3) || major >= 8
37
37
  }
38
38
 
39
+ logger.warn("[react-native-mmkv] Thank you for using react-native-mmkv ❤️")
40
+ logger.warn("[react-native-mmkv] If you enjoy using react-native-mmkv, please consider sponsoring this project: https://github.com/sponsors/mrousavy")
41
+
39
42
  android {
40
43
  if (supportsNamespace()) {
41
44
  namespace "com.mrousavy.mmkv"
@@ -1,14 +1,14 @@
1
1
  //
2
- // AndroidLogger.cpp
2
+ // AndroidMmkvLogger.cpp
3
3
  // react-native-mmkv
4
4
  //
5
5
  // Created by Marc Rousavy on 05.03.24.
6
6
  //
7
7
 
8
- #include "Logger.h"
8
+ #include "MmkvLogger.h"
9
9
  #include <android/log.h>
10
10
 
11
- void Logger::log(const std::string& tag, const std::string& message) {
11
+ void MmkvLogger::log(const std::string& tag, const std::string& message) {
12
12
  #pragma clang diagnostic push
13
13
  #pragma clang diagnostic ignored "-Wformat-security"
14
14
  __android_log_print(ANDROID_LOG_INFO, tag.c_str(), message.c_str());
@@ -7,20 +7,21 @@
7
7
  //
8
8
 
9
9
  #include "MmkvHostObject.h"
10
- #include "Logger.h"
11
10
  #include "MMKVManagedBuffer.h"
11
+ #include "MmkvLogger.h"
12
12
  #include <MMKV.h>
13
13
  #include <string>
14
14
  #include <vector>
15
15
 
16
16
  using namespace mmkv;
17
+ using namespace facebook;
17
18
 
18
19
  MmkvHostObject::MmkvHostObject(const facebook::react::MMKVConfig& config) {
19
20
  std::string path = config.path.has_value() ? config.path.value() : "";
20
21
  std::string encryptionKey = config.encryptionKey.has_value() ? config.encryptionKey.value() : "";
21
22
  bool hasEncryptionKey = encryptionKey.size() > 0;
22
- Logger::log("RNMMKV", "Creating MMKV instance \"%s\"... (Path: %s, Encrypted: %s)",
23
- config.id.c_str(), path.c_str(), hasEncryptionKey ? "true" : "false");
23
+ MmkvLogger::log("RNMMKV", "Creating MMKV instance \"%s\"... (Path: %s, Encrypted: %s)",
24
+ config.id.c_str(), path.c_str(), hasEncryptionKey ? "true" : "false");
24
25
 
25
26
  std::string* pathPtr = path.size() > 0 ? &path : nullptr;
26
27
  std::string* encryptionKeyPtr = encryptionKey.size() > 0 ? &encryptionKey : nullptr;
@@ -51,7 +52,7 @@ MmkvHostObject::MmkvHostObject(const facebook::react::MMKVConfig& config) {
51
52
  MmkvHostObject::~MmkvHostObject() {
52
53
  if (instance != nullptr) {
53
54
  std::string instanceId = instance->mmapID();
54
- Logger::log("RNMMKV", "Destroying MMKV instance \"%s\"...", instanceId.c_str());
55
+ MmkvLogger::log("RNMMKV", "Destroying MMKV instance \"%s\"...", instanceId.c_str());
55
56
  instance->sync();
56
57
  instance->clearMemoryCache();
57
58
  }
@@ -59,32 +60,20 @@ MmkvHostObject::~MmkvHostObject() {
59
60
  }
60
61
 
61
62
  std::vector<jsi::PropNameID> MmkvHostObject::getPropertyNames(jsi::Runtime& rt) {
62
- std::vector<jsi::PropNameID> result;
63
- result.reserve(12);
64
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("set")));
65
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("getBoolean")));
66
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("getBuffer")));
67
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("getString")));
68
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("getNumber")));
69
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("contains")));
70
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("delete")));
71
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("getAllKeys")));
72
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("deleteAll")));
73
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("recrypt")));
74
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("trim")));
75
- result.push_back(jsi::PropNameID::forUtf8(rt, std::string("size")));
76
- return result;
63
+ return jsi::PropNameID::names(rt, "set", "getBoolean", "getBuffer", "getString", "getNumber",
64
+ "contains", "delete", "getAllKeys", "deleteAll", "recrypt", "trim",
65
+ "size");
77
66
  }
78
67
 
79
68
  MMKVMode MmkvHostObject::getMMKVMode(const facebook::react::MMKVConfig& config) {
80
69
  if (!config.mode.has_value()) {
81
70
  return MMKVMode::MMKV_SINGLE_PROCESS;
82
71
  }
83
- auto mode = config.mode.value();
72
+ react::MmkvCxxMode mode = config.mode.value();
84
73
  switch (mode) {
85
- case facebook::react::MmkvCxxMode::SINGLE_PROCESS:
74
+ case react::MmkvCxxMode::SINGLE_PROCESS:
86
75
  return MMKVMode::MMKV_SINGLE_PROCESS;
87
- case facebook::react::MmkvCxxMode::MULTI_PROCESS:
76
+ case react::MmkvCxxMode::MULTI_PROCESS:
88
77
  return MMKVMode::MMKV_MULTI_PROCESS;
89
78
  default:
90
79
  throw std::runtime_error("Invalid MMKV Mode value!");
@@ -92,13 +81,12 @@ MMKVMode MmkvHostObject::getMMKVMode(const facebook::react::MMKVConfig& config)
92
81
  }
93
82
 
94
83
  jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& propNameId) {
95
- auto propName = propNameId.utf8(runtime);
96
- auto funcName = "MMKV." + propName;
84
+ std::string propName = propNameId.utf8(runtime);
97
85
 
98
86
  if (propName == "set") {
99
87
  // MMKV.set(key: string, value: string | number | bool | ArrayBuffer)
100
88
  return jsi::Function::createFromHostFunction(
101
- runtime, jsi::PropNameID::forAscii(runtime, funcName),
89
+ runtime, jsi::PropNameID::forAscii(runtime, propName),
102
90
  2, // key, value
103
91
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
104
92
  size_t count) -> jsi::Value {
@@ -108,7 +96,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
108
96
  "MMKV::set: First argument ('key') has to be of type string!");
109
97
  }
110
98
 
111
- auto keyName = arguments[0].asString(runtime).utf8(runtime);
99
+ std::string keyName = arguments[0].asString(runtime).utf8(runtime);
112
100
 
113
101
  if (arguments[1].isBool()) {
114
102
  // bool
@@ -118,14 +106,14 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
118
106
  instance->set(arguments[1].getNumber(), keyName);
119
107
  } else if (arguments[1].isString()) {
120
108
  // string
121
- auto stringValue = arguments[1].asString(runtime).utf8(runtime);
109
+ std::string stringValue = arguments[1].asString(runtime).utf8(runtime);
122
110
  instance->set(stringValue, keyName);
123
111
  } else if (arguments[1].isObject()) {
124
112
  // object
125
- auto object = arguments[1].asObject(runtime);
113
+ jsi::Object object = arguments[1].asObject(runtime);
126
114
  if (object.isArrayBuffer(runtime)) {
127
115
  // ArrayBuffer
128
- auto arrayBuffer = object.getArrayBuffer(runtime);
116
+ jsi::ArrayBuffer arrayBuffer = object.getArrayBuffer(runtime);
129
117
  MMBuffer data(arrayBuffer.data(runtime), arrayBuffer.size(runtime), MMBufferNoCopy);
130
118
  instance->set(data, keyName);
131
119
  } else {
@@ -148,7 +136,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
148
136
  if (propName == "getBoolean") {
149
137
  // MMKV.getBoolean(key: string)
150
138
  return jsi::Function::createFromHostFunction(
151
- runtime, jsi::PropNameID::forAscii(runtime, funcName),
139
+ runtime, jsi::PropNameID::forAscii(runtime, propName),
152
140
  1, // key
153
141
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
154
142
  size_t count) -> jsi::Value {
@@ -157,9 +145,9 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
157
145
  throw jsi::JSError(runtime, "First argument ('key') has to be of type string!");
158
146
  }
159
147
 
160
- auto keyName = arguments[0].asString(runtime).utf8(runtime);
148
+ std::string keyName = arguments[0].asString(runtime).utf8(runtime);
161
149
  bool hasValue;
162
- auto value = instance->getBool(keyName, false, &hasValue);
150
+ bool value = instance->getBool(keyName, false, &hasValue);
163
151
  if (!hasValue) {
164
152
  [[unlikely]];
165
153
  return jsi::Value::undefined();
@@ -171,7 +159,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
171
159
  if (propName == "getNumber") {
172
160
  // MMKV.getNumber(key: string)
173
161
  return jsi::Function::createFromHostFunction(
174
- runtime, jsi::PropNameID::forAscii(runtime, funcName),
162
+ runtime, jsi::PropNameID::forAscii(runtime, propName),
175
163
  1, // key
176
164
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
177
165
  size_t count) -> jsi::Value {
@@ -180,9 +168,9 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
180
168
  throw jsi::JSError(runtime, "First argument ('key') has to be of type string!");
181
169
  }
182
170
 
183
- auto keyName = arguments[0].asString(runtime).utf8(runtime);
171
+ std::string keyName = arguments[0].asString(runtime).utf8(runtime);
184
172
  bool hasValue;
185
- auto value = instance->getDouble(keyName, 0.0, &hasValue);
173
+ double value = instance->getDouble(keyName, 0.0, &hasValue);
186
174
  if (!hasValue) {
187
175
  [[unlikely]];
188
176
  return jsi::Value::undefined();
@@ -194,7 +182,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
194
182
  if (propName == "getString") {
195
183
  // MMKV.getString(key: string)
196
184
  return jsi::Function::createFromHostFunction(
197
- runtime, jsi::PropNameID::forAscii(runtime, funcName),
185
+ runtime, jsi::PropNameID::forAscii(runtime, propName),
198
186
  1, // key
199
187
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
200
188
  size_t count) -> jsi::Value {
@@ -203,7 +191,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
203
191
  throw jsi::JSError(runtime, "First argument ('key') has to be of type string!");
204
192
  }
205
193
 
206
- auto keyName = arguments[0].asString(runtime).utf8(runtime);
194
+ std::string keyName = arguments[0].asString(runtime).utf8(runtime);
207
195
  std::string result;
208
196
  bool hasValue = instance->getString(keyName, result);
209
197
  if (!hasValue) {
@@ -217,7 +205,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
217
205
  if (propName == "getBuffer") {
218
206
  // MMKV.getBuffer(key: string)
219
207
  return jsi::Function::createFromHostFunction(
220
- runtime, jsi::PropNameID::forAscii(runtime, funcName),
208
+ runtime, jsi::PropNameID::forAscii(runtime, propName),
221
209
  1, // key
222
210
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
223
211
  size_t count) -> jsi::Value {
@@ -226,7 +214,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
226
214
  throw jsi::JSError(runtime, "First argument ('key') has to be of type string!");
227
215
  }
228
216
 
229
- auto keyName = arguments[0].asString(runtime).utf8(runtime);
217
+ std::string keyName = arguments[0].asString(runtime).utf8(runtime);
230
218
  mmkv::MMBuffer buffer;
231
219
  bool hasValue = instance->getBytes(keyName, buffer);
232
220
  if (!hasValue) {
@@ -241,7 +229,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
241
229
  if (propName == "contains") {
242
230
  // MMKV.contains(key: string)
243
231
  return jsi::Function::createFromHostFunction(
244
- runtime, jsi::PropNameID::forAscii(runtime, funcName),
232
+ runtime, jsi::PropNameID::forAscii(runtime, propName),
245
233
  1, // key
246
234
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
247
235
  size_t count) -> jsi::Value {
@@ -250,7 +238,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
250
238
  throw jsi::JSError(runtime, "First argument ('key') has to be of type string!");
251
239
  }
252
240
 
253
- auto keyName = arguments[0].asString(runtime).utf8(runtime);
241
+ std::string keyName = arguments[0].asString(runtime).utf8(runtime);
254
242
  bool containsKey = instance->containsKey(keyName);
255
243
  return jsi::Value(containsKey);
256
244
  });
@@ -259,7 +247,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
259
247
  if (propName == "delete") {
260
248
  // MMKV.delete(key: string)
261
249
  return jsi::Function::createFromHostFunction(
262
- runtime, jsi::PropNameID::forAscii(runtime, funcName),
250
+ runtime, jsi::PropNameID::forAscii(runtime, propName),
263
251
  1, // key
264
252
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
265
253
  size_t count) -> jsi::Value {
@@ -268,7 +256,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
268
256
  throw jsi::JSError(runtime, "First argument ('key') has to be of type string!");
269
257
  }
270
258
 
271
- auto keyName = arguments[0].asString(runtime).utf8(runtime);
259
+ std::string keyName = arguments[0].asString(runtime).utf8(runtime);
272
260
  instance->removeValueForKey(keyName);
273
261
  return jsi::Value::undefined();
274
262
  });
@@ -277,11 +265,11 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
277
265
  if (propName == "getAllKeys") {
278
266
  // MMKV.getAllKeys()
279
267
  return jsi::Function::createFromHostFunction(
280
- runtime, jsi::PropNameID::forAscii(runtime, funcName), 0,
268
+ runtime, jsi::PropNameID::forAscii(runtime, propName), 0,
281
269
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
282
270
  size_t count) -> jsi::Value {
283
- auto keys = instance->allKeys();
284
- auto array = jsi::Array(runtime, keys.size());
271
+ std::vector<std::string> keys = instance->allKeys();
272
+ jsi::Array array(runtime, keys.size());
285
273
  for (int i = 0; i < keys.size(); i++) {
286
274
  array.setValueAtIndex(runtime, i, keys[i]);
287
275
  }
@@ -292,7 +280,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
292
280
  if (propName == "clearAll") {
293
281
  // MMKV.clearAll()
294
282
  return jsi::Function::createFromHostFunction(
295
- runtime, jsi::PropNameID::forAscii(runtime, funcName), 0,
283
+ runtime, jsi::PropNameID::forAscii(runtime, propName), 0,
296
284
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
297
285
  size_t count) -> jsi::Value {
298
286
  instance->clearAll();
@@ -303,7 +291,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
303
291
  if (propName == "recrypt") {
304
292
  // MMKV.recrypt(encryptionKey)
305
293
  return jsi::Function::createFromHostFunction(
306
- runtime, jsi::PropNameID::forAscii(runtime, funcName),
294
+ runtime, jsi::PropNameID::forAscii(runtime, propName),
307
295
  1, // encryptionKey
308
296
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
309
297
  size_t count) -> jsi::Value {
@@ -318,7 +306,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
318
306
  instance->reKey(std::string());
319
307
  } else if (arguments[0].isString()) {
320
308
  // reKey(..) with new encryption-key
321
- auto encryptionKey = arguments[0].getString(runtime).utf8(runtime);
309
+ std::string encryptionKey = arguments[0].getString(runtime).utf8(runtime);
322
310
  instance->reKey(encryptionKey);
323
311
  } else {
324
312
  // Invalid argument (maybe object?)
@@ -334,7 +322,7 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
334
322
  if (propName == "trim") {
335
323
  // MMKV.trim()
336
324
  return jsi::Function::createFromHostFunction(
337
- runtime, jsi::PropNameID::forAscii(runtime, funcName), 0,
325
+ runtime, jsi::PropNameID::forAscii(runtime, propName), 0,
338
326
  [this](jsi::Runtime& runtime, const jsi::Value& thisValue, const jsi::Value* arguments,
339
327
  size_t count) -> jsi::Value {
340
328
  instance->clearMemoryCache();
@@ -1,5 +1,5 @@
1
1
  //
2
- // Logger.h
2
+ // MmkvLogger.h
3
3
  // react-native-mmkv
4
4
  //
5
5
  // Created by Marc Rousavy on 25.03.24.
@@ -7,9 +7,9 @@
7
7
 
8
8
  #include <string>
9
9
 
10
- class Logger {
10
+ class MmkvLogger {
11
11
  private:
12
- Logger() = delete;
12
+ MmkvLogger() = delete;
13
13
 
14
14
  private:
15
15
  template <typename... Args>
@@ -6,9 +6,9 @@
6
6
  //
7
7
 
8
8
  #include "NativeMmkvModule.h"
9
- #include "Logger.h"
10
9
  #include "MMKV.h"
11
10
  #include "MmkvHostObject.h"
11
+ #include "MmkvLogger.h"
12
12
 
13
13
  namespace facebook::react {
14
14
 
@@ -20,7 +20,7 @@ bool NativeMmkvModule::initialize(jsi::Runtime& runtime, std::string basePath) {
20
20
  throw jsi::JSError(runtime, "Path cannot be empty!");
21
21
  }
22
22
 
23
- Logger::log("RNMMKV", "Initializing MMKV at %s...", basePath.c_str());
23
+ MmkvLogger::log("RNMMKV", "Initializing MMKV at %s...", basePath.c_str());
24
24
 
25
25
  #ifdef DEBUG
26
26
  MMKVLogLevel logLevel = MMKVLogDebug;
@@ -1,14 +1,14 @@
1
1
  //
2
- // AppleLogger.m
2
+ // AppleMmkvLogger.m
3
3
  // react-native-mmkv
4
4
  //
5
5
  // Created by Marc Rousavy on 25.03.24.
6
6
  //
7
7
 
8
- #import "Logger.h"
8
+ #import "MmkvLogger.h"
9
9
  #import <Foundation/Foundation.h>
10
10
 
11
- void Logger::log(const std::string& tag, const std::string& message) {
11
+ void MmkvLogger::log(const std::string& tag, const std::string& message) {
12
12
  #pragma clang diagnostic push
13
13
  #pragma clang diagnostic ignored "-Wformat-security"
14
14
  NSLog(@"[%s]: %s", tag.c_str(), message.c_str());
@@ -3,24 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "Configuration", {
7
- enumerable: true,
8
- get: function () {
9
- return _NativeMmkv.Configuration;
10
- }
11
- });
12
6
  exports.MMKV = void 0;
13
- Object.defineProperty(exports, "Mode", {
14
- enumerable: true,
15
- get: function () {
16
- return _NativeMmkv.Mode;
17
- }
18
- });
19
7
  var _reactNative = require("react-native");
20
8
  var _createMMKV = require("./createMMKV");
21
9
  var _createMMKV2 = require("./createMMKV.mock");
22
10
  var _PlatformChecker = require("./PlatformChecker");
23
- var _NativeMmkv = require("./NativeMmkv");
24
11
  const onValueChangedListeners = new Map();
25
12
 
26
13
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_createMMKV","_createMMKV2","_PlatformChecker","_NativeMmkv","onValueChangedListeners","Map","MMKV","constructor","configuration","id","nativeInstance","isTest","createMockMMKV","createMMKV","functionCache","AppState","addEventListener","trim","has","set","get","getFunctionFromCache","functionName","onValuesChanged","keys","length","key","listener","size","value","func","getBoolean","getString","getNumber","getBuffer","contains","delete","getAllKeys","clearAll","recrypt","toString","join","toJSON","addOnValueChangedListener","onValueChanged","push","remove","index","indexOf","splice","exports"],"sourceRoot":"../../src","sources":["MMKV.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_createMMKV","_createMMKV2","_PlatformChecker","onValueChangedListeners","Map","MMKV","constructor","configuration","id","nativeInstance","isTest","createMockMMKV","createMMKV","functionCache","AppState","addEventListener","trim","has","set","get","getFunctionFromCache","functionName","onValuesChanged","keys","length","key","listener","size","value","func","getBoolean","getString","getNumber","getBuffer","contains","delete","getAllKeys","clearAll","recrypt","toString","join","toJSON","addOnValueChangedListener","onValueChanged","push","remove","index","indexOf","splice","exports"],"sourceRoot":"../../src","sources":["MMKV.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ModuleNotFoundError = void 0;
7
+ var _reactNative = require("react-native");
8
+ const BULLET_POINT = '\n* ';
9
+ function messageWithSuggestions(message, suggestions) {
10
+ return message + BULLET_POINT + suggestions.join(BULLET_POINT);
11
+ }
12
+ function getFrameworkType() {
13
+ // check if Expo
14
+ const ExpoConstants = _reactNative.NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants;
15
+ if (ExpoConstants != null) {
16
+ if (ExpoConstants.appOwnership === 'expo') {
17
+ // We're running Expo Go
18
+ return 'expo-go';
19
+ } else {
20
+ // We're running Expo bare / standalone
21
+ return 'expo';
22
+ }
23
+ }
24
+ return 'react-native';
25
+ }
26
+ class ModuleNotFoundError extends Error {
27
+ constructor(cause) {
28
+ // TurboModule not found, something went wrong!
29
+ if (global.__turboModuleProxy == null) {
30
+ // TurboModules are not available/new arch is not enabled.
31
+ // react-native-mmkv 3.x.x requires new arch (react-native >0.74)
32
+ // react-native-mmkv 2.x.x works on old arch (react-native <0.74)
33
+ const message = 'Failed to create a new MMKV instance: react-native-mmkv 3.x.x requires TurboModules, but the new architecture is not enabled!';
34
+ const suggestions = [];
35
+ suggestions.push('Downgrade to react-native-mmkv 2.x.x if you want to stay on the old architecture.');
36
+ suggestions.push('Enable the new architecture in your app to use react-native-mmkv 3.x.x. (See https://github.com/reactwg/react-native-new-architecture/blob/main/docs/enable-apps.md)');
37
+ const error = messageWithSuggestions(message, suggestions);
38
+ super(error, {
39
+ cause: cause
40
+ });
41
+ return;
42
+ }
43
+ const framework = getFrameworkType();
44
+ if (framework === 'expo-go') {
45
+ super('react-native-mmkv is not supported in Expo Go! Use EAS (`expo prebuild`) or eject to a bare workflow instead.');
46
+ return;
47
+ }
48
+ const message = 'Failed to create a new MMKV instance: The native MMKV Module could not be found.';
49
+ const suggestions = [];
50
+ suggestions.push('Make sure react-native-mmkv is correctly autolinked (run `npx react-native config` to verify)');
51
+ suggestions.push('Make sure you enabled the new architecture (TurboModules) and CodeGen properly generated the react-native-mmkv specs. See https://github.com/reactwg/react-native-new-architecture/blob/main/docs/enable-apps.md');
52
+ suggestions.push('Make sure you are using react-native 0.74.0 or higher, because react-native-mmkv is a C++ TurboModule.');
53
+ suggestions.push('Make sure you rebuilt the app.');
54
+ if (framework === 'expo') {
55
+ suggestions.push('Make sure you ran `expo prebuild`.');
56
+ }
57
+ switch (_reactNative.Platform.OS) {
58
+ case 'ios':
59
+ case 'macos':
60
+ suggestions.push('Make sure you ran `pod install` in the ios/ directory.');
61
+ break;
62
+ case 'android':
63
+ suggestions.push('Make sure gradle is synced.');
64
+ break;
65
+ default:
66
+ throw new Error(`MMKV is not supported on ${_reactNative.Platform.OS}!`);
67
+ }
68
+ const error = messageWithSuggestions(message, suggestions);
69
+ super(error, {
70
+ cause: cause
71
+ });
72
+ }
73
+ }
74
+ exports.ModuleNotFoundError = ModuleNotFoundError;
75
+ //# sourceMappingURL=ModuleNotFoundError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","BULLET_POINT","messageWithSuggestions","message","suggestions","join","getFrameworkType","ExpoConstants","NativeModules","NativeUnimoduleProxy","modulesConstants","ExponentConstants","appOwnership","ModuleNotFoundError","Error","constructor","cause","global","__turboModuleProxy","push","error","framework","Platform","OS","exports"],"sourceRoot":"../../src","sources":["ModuleNotFoundError.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAOA,MAAMC,YAAY,GAAG,MAAM;AAE3B,SAASC,sBAAsBA,CAC7BC,OAAe,EACfC,WAAqB,EACb;EACR,OAAOD,OAAO,GAAGF,YAAY,GAAGG,WAAW,CAACC,IAAI,CAACJ,YAAY,CAAC;AAChE;AAEA,SAASK,gBAAgBA,CAAA,EAAwC;EAC/D;EACA,MAAMC,aAAa,GACjBC,0BAAa,CAACC,oBAAoB,EAAEC,gBAAgB,EAAEC,iBAAiB;EACzE,IAAIJ,aAAa,IAAI,IAAI,EAAE;IACzB,IAAIA,aAAa,CAACK,YAAY,KAAK,MAAM,EAAE;MACzC;MACA,OAAO,SAAS;IAClB,CAAC,MAAM;MACL;MACA,OAAO,MAAM;IACf;EACF;EACA,OAAO,cAAc;AACvB;AAEO,MAAMC,mBAAmB,SAASC,KAAK,CAAC;EAC7CC,WAAWA,CAACC,KAAe,EAAE;IAC3B;IACA,IAAIC,MAAM,CAACC,kBAAkB,IAAI,IAAI,EAAE;MACrC;MACA;MACA;MACA,MAAMf,OAAO,GACX,+HAA+H;MACjI,MAAMC,WAAqB,GAAG,EAAE;MAChCA,WAAW,CAACe,IAAI,CACd,mFACF,CAAC;MACDf,WAAW,CAACe,IAAI,CACd,sKACF,CAAC;MACD,MAAMC,KAAK,GAAGlB,sBAAsB,CAACC,OAAO,EAAEC,WAAW,CAAC;MAC1D,KAAK,CAACgB,KAAK,EAAE;QAAEJ,KAAK,EAAEA;MAAM,CAAC,CAAC;MAC9B;IACF;IAEA,MAAMK,SAAS,GAAGf,gBAAgB,CAAC,CAAC;IACpC,IAAIe,SAAS,KAAK,SAAS,EAAE;MAC3B,KAAK,CACH,+GACF,CAAC;MACD;IACF;IAEA,MAAMlB,OAAO,GACX,kFAAkF;IACpF,MAAMC,WAAqB,GAAG,EAAE;IAChCA,WAAW,CAACe,IAAI,CACd,+FACF,CAAC;IACDf,WAAW,CAACe,IAAI,CACd,kNACF,CAAC;IACDf,WAAW,CAACe,IAAI,CACd,wGACF,CAAC;IACDf,WAAW,CAACe,IAAI,CAAC,gCAAgC,CAAC;IAClD,IAAIE,SAAS,KAAK,MAAM,EAAE;MACxBjB,WAAW,CAACe,IAAI,CAAC,oCAAoC,CAAC;IACxD;IACA,QAAQG,qBAAQ,CAACC,EAAE;MACjB,KAAK,KAAK;MACV,KAAK,OAAO;QACVnB,WAAW,CAACe,IAAI,CACd,wDACF,CAAC;QACD;MACF,KAAK,SAAS;QACZf,WAAW,CAACe,IAAI,CAAC,6BAA6B,CAAC;QAC/C;MACF;QACE,MAAM,IAAIL,KAAK,CAAE,4BAA2BQ,qBAAQ,CAACC,EAAG,GAAE,CAAC;IAC/D;IAEA,MAAMH,KAAK,GAAGlB,sBAAsB,CAACC,OAAO,EAAEC,WAAW,CAAC;IAC1D,KAAK,CAACgB,KAAK,EAAE;MAAEJ,KAAK,EAAEA;IAAM,CAAC,CAAC;EAChC;AACF;AAACQ,OAAA,CAAAX,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -3,9 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Mode = exports.MMKVTurboModule = void 0;
6
+ exports.Mode = void 0;
7
+ exports.getMMKVTurboModule = getMMKVTurboModule;
7
8
  var _reactNative = require("react-native");
8
- var _LazyTurboModule = require("./LazyTurboModule");
9
+ var _ModuleNotFoundError = require("./ModuleNotFoundError");
9
10
  var _NativeMmkvPlatformContext = require("./NativeMmkvPlatformContext");
10
11
  /**
11
12
  * Configures the mode of the MMKV instance.
@@ -18,18 +19,24 @@ let Mode = exports.Mode = /*#__PURE__*/function (Mode) {
18
19
  /**
19
20
  * Used for configuration of a single MMKV instance.
20
21
  */
21
- let basePath = null;
22
- function getNativeModule() {
23
- if (basePath == null) {
24
- // use default base path from the Platform (iOS/Android)
25
- basePath = _NativeMmkvPlatformContext.PlatformContext.getBaseDirectory();
26
- }
27
- const module = _reactNative.TurboModuleRegistry.get('MmkvCxx');
28
- if (module != null) {
29
- // initialize MMKV
30
- module.initialize(basePath);
22
+ let _module;
23
+ function getMMKVTurboModule() {
24
+ try {
25
+ if (_module == null) {
26
+ // 1. Load MMKV TurboModule
27
+ _module = _reactNative.TurboModuleRegistry.getEnforcing('MmkvCxx');
28
+
29
+ // 2. Get the PlatformContext TurboModule as well
30
+ const platformContext = (0, _NativeMmkvPlatformContext.getMMKVPlatformContextTurboModule)();
31
+
32
+ // 3. Initialize it with the documents directory from platform-specific context
33
+ const basePath = platformContext.getBaseDirectory();
34
+ _module.initialize(basePath);
35
+ }
36
+ return _module;
37
+ } catch (cause) {
38
+ // TurboModule could not be found!
39
+ throw new _ModuleNotFoundError.ModuleNotFoundError(cause);
31
40
  }
32
- return module;
33
41
  }
34
- const MMKVTurboModule = exports.MMKVTurboModule = (0, _LazyTurboModule.getLazyTurboModule)(getNativeModule);
35
42
  //# sourceMappingURL=NativeMmkv.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_LazyTurboModule","_NativeMmkvPlatformContext","Mode","exports","basePath","getNativeModule","PlatformContext","getBaseDirectory","module","TurboModuleRegistry","get","initialize","MMKVTurboModule","getLazyTurboModule"],"sourceRoot":"../../src","sources":["NativeMmkv.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AAEA;AACA;AACA;AAFA,IAGYG,IAAI,GAAAC,OAAA,CAAAD,IAAA,0BAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAWhB;AACA;AACA;AAiEA,IAAIE,QAAuB,GAAG,IAAI;AAElC,SAASC,eAAeA,CAAA,EAAgB;EACtC,IAAID,QAAQ,IAAI,IAAI,EAAE;IACpB;IACAA,QAAQ,GAAGE,0CAAe,CAACC,gBAAgB,CAAC,CAAC;EAC/C;EAEA,MAAMC,MAAM,GAAGC,gCAAmB,CAACC,GAAG,CAAO,SAAS,CAAC;EAEvD,IAAIF,MAAM,IAAI,IAAI,EAAE;IAClB;IACAA,MAAM,CAACG,UAAU,CAACP,QAAQ,CAAC;EAC7B;EAEA,OAAOI,MAAM;AACf;AACO,MAAMI,eAAe,GAAAT,OAAA,CAAAS,eAAA,GAAG,IAAAC,mCAAkB,EAACR,eAAe,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_ModuleNotFoundError","_NativeMmkvPlatformContext","Mode","exports","module","getMMKVTurboModule","TurboModuleRegistry","getEnforcing","platformContext","getMMKVPlatformContextTurboModule","basePath","getBaseDirectory","initialize","cause","ModuleNotFoundError"],"sourceRoot":"../../src","sources":["NativeMmkv.ts"],"mappings":";;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AAEA;AACA;AACA;AAFA,IAGYG,IAAI,GAAAC,OAAA,CAAAD,IAAA,0BAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAWhB;AACA;AACA;AAiEA,IAAIE,OAAmB;AAEhB,SAASC,kBAAkBA,CAAA,EAAS;EACzC,IAAI;IACF,IAAID,OAAM,IAAI,IAAI,EAAE;MAClB;MACAA,OAAM,GAAGE,gCAAmB,CAACC,YAAY,CAAO,SAAS,CAAC;;MAE1D;MACA,MAAMC,eAAe,GAAG,IAAAC,4DAAiC,EAAC,CAAC;;MAE3D;MACA,MAAMC,QAAQ,GAAGF,eAAe,CAACG,gBAAgB,CAAC,CAAC;MACnDP,OAAM,CAACQ,UAAU,CAACF,QAAQ,CAAC;IAC7B;IAEA,OAAON,OAAM;EACf,CAAC,CAAC,OAAOS,KAAK,EAAE;IACd;IACA,MAAM,IAAIC,wCAAmB,CAACD,KAAK,CAAC;EACtC;AACF","ignoreList":[]}
@@ -3,11 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.PlatformContext = void 0;
6
+ exports.getMMKVPlatformContextTurboModule = getMMKVPlatformContextTurboModule;
7
7
  var _reactNative = require("react-native");
8
- var _LazyTurboModule = require("./LazyTurboModule");
9
- function getModule() {
10
- return _reactNative.TurboModuleRegistry.get('MmkvPlatformContext');
8
+ var _ModuleNotFoundError = require("./ModuleNotFoundError");
9
+ let _module;
10
+ function getMMKVPlatformContextTurboModule() {
11
+ try {
12
+ if (_module == null) {
13
+ // 1. Get the TurboModule
14
+ _module = _reactNative.TurboModuleRegistry.getEnforcing('MmkvPlatformContext');
15
+ }
16
+ return _module;
17
+ } catch (e) {
18
+ // TurboModule could not be found!
19
+ throw new _ModuleNotFoundError.ModuleNotFoundError(e);
20
+ }
11
21
  }
12
- const PlatformContext = exports.PlatformContext = (0, _LazyTurboModule.getLazyTurboModule)(getModule);
13
22
  //# sourceMappingURL=NativeMmkvPlatformContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_LazyTurboModule","getModule","TurboModuleRegistry","get","PlatformContext","exports","getLazyTurboModule"],"sourceRoot":"../../src","sources":["NativeMmkvPlatformContext.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AASA,SAASE,SAASA,CAAA,EAAgB;EAChC,OAAOC,gCAAmB,CAACC,GAAG,CAAO,qBAAqB,CAAC;AAC7D;AACO,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,IAAAE,mCAAkB,EAACL,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_ModuleNotFoundError","module","getMMKVPlatformContextTurboModule","TurboModuleRegistry","getEnforcing","e","ModuleNotFoundError"],"sourceRoot":"../../src","sources":["NativeMmkvPlatformContext.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AASA,IAAIE,OAAmB;AAEhB,SAASC,iCAAiCA,CAAA,EAAS;EACxD,IAAI;IACF,IAAID,OAAM,IAAI,IAAI,EAAE;MAClB;MACAA,OAAM,GAAGE,gCAAmB,CAACC,YAAY,CAAO,qBAAqB,CAAC;IACxE;IACA,OAAOH,OAAM;EACf,CAAC,CAAC,OAAOI,CAAC,EAAE;IACV;IACA,MAAM,IAAIC,wCAAmB,CAACD,CAAC,CAAC;EAClC;AACF","ignoreList":[]}
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.createMMKV = void 0;
7
7
  var _NativeMmkv = require("./NativeMmkv");
8
8
  const createMMKV = config => {
9
- const instance = _NativeMmkv.MMKVTurboModule.createMMKV(config);
9
+ const module = (0, _NativeMmkv.getMMKVTurboModule)();
10
+ const instance = module.createMMKV(config);
10
11
  if (__DEV__) {
11
12
  if (typeof instance !== 'object' || instance == null) {
12
13
  throw new Error('Failed to create MMKV instance - an unknown object was returned by createMMKV(..)!');
@@ -1 +1 @@
1
- {"version":3,"names":["_NativeMmkv","require","createMMKV","config","instance","MMKVTurboModule","__DEV__","Error","exports"],"sourceRoot":"../../src","sources":["createMMKV.ts"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAGO,MAAMC,UAAU,GAAIC,MAAqB,IAAiB;EAC/D,MAAMC,QAAQ,GAAGC,2BAAe,CAACH,UAAU,CAACC,MAAM,CAAC;EACnD,IAAIG,OAAO,EAAE;IACX,IAAI,OAAOF,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,IAAI,IAAI,EAAE;MACpD,MAAM,IAAIG,KAAK,CACb,oFACF,CAAC;IACH;EACF;EACA,OAAOH,QAAQ;AACjB,CAAC;AAACI,OAAA,CAAAN,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_NativeMmkv","require","createMMKV","config","module","getMMKVTurboModule","instance","__DEV__","Error","exports"],"sourceRoot":"../../src","sources":["createMMKV.ts"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAGO,MAAMC,UAAU,GAAIC,MAAqB,IAAiB;EAC/D,MAAMC,MAAM,GAAG,IAAAC,8BAAkB,EAAC,CAAC;EAEnC,MAAMC,QAAQ,GAAGF,MAAM,CAACF,UAAU,CAACC,MAAM,CAAC;EAC1C,IAAII,OAAO,EAAE;IACX,IAAI,OAAOD,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,IAAI,IAAI,EAAE;MACpD,MAAM,IAAIE,KAAK,CACb,oFACF,CAAC;IACH;EACF;EACA,OAAOF,QAAQ;AACjB,CAAC;AAACG,OAAA,CAAAP,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_MMKV","isConfigurationEqual","left","right","encryptionKey","id","path","mode","defaultInstance","getDefaultInstance","MMKV","useMMKV","configuration","instance","useRef","lastConfiguration","current","createMMKVHook","getter","key","mmkv","bump","setBump","useState","value","useMemo","set","useCallback","v","newValue","delete","ArrayBuffer","Error","useEffect","listener","addOnValueChangedListener","changedKey","b","remove","useMMKVString","exports","getString","useMMKVNumber","getNumber","useMMKVBoolean","getBoolean","useMMKVBuffer","getBuffer","useMMKVObject","json","setJson","undefined","JSON","parse","setValue","Function","currentJson","currentValue","stringify","useMMKVListener","valueChangedListener","ref"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_MMKV","isConfigurationEqual","left","right","encryptionKey","id","path","mode","defaultInstance","getDefaultInstance","MMKV","useMMKV","configuration","instance","useRef","lastConfiguration","current","createMMKVHook","getter","key","mmkv","bump","setBump","useState","value","useMemo","set","useCallback","v","newValue","delete","ArrayBuffer","Error","useEffect","listener","addOnValueChangedListener","changedKey","b","remove","useMMKVString","exports","getString","useMMKVNumber","getNumber","useMMKVBoolean","getBoolean","useMMKVBuffer","getBuffer","useMMKVObject","json","setJson","undefined","JSON","parse","setValue","Function","currentJson","currentValue","stringify","useMMKVListener","valueChangedListener","ref"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"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","ignoreList":[]}