react-native-mmkv 3.3.0 → 4.0.0-beta.1

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 (95) hide show
  1. package/android/CMakeLists.txt +18 -9
  2. package/android/build.gradle +6 -2
  3. package/cpp/{MMKVManagedBuffer.h → ManagedMMBuffer.h} +6 -6
  4. package/cpp/MmkvHostObject.cpp +13 -8
  5. package/cpp/MmkvHostObject.h +1 -2
  6. package/cpp/MmkvTypes.h +50 -0
  7. package/cpp/NativeMmkvModule.cpp +3 -3
  8. package/cpp/NativeMmkvModule.h +1 -8
  9. package/lib/commonjs/hooks.js +2 -2
  10. package/lib/commonjs/hooks.js.map +1 -1
  11. package/lib/module/hooks.js +2 -2
  12. package/lib/module/hooks.js.map +1 -1
  13. package/lib/typescript/src/MemoryWarningListener.web.d.ts.map +1 -1
  14. package/lib/typescript/src/createMMKV.d.ts.map +1 -1
  15. package/lib/typescript/src/createMMKV.web.d.ts.map +1 -1
  16. package/package.json +24 -24
  17. package/react-native-mmkv.podspec +3 -9
  18. package/react-native.config.js +9 -0
  19. package/src/hooks.ts +2 -2
  20. package/MMKV/Core/CMakeLists.txt +0 -172
  21. package/MMKV/Core/CodedInputData.cpp +0 -252
  22. package/MMKV/Core/CodedInputData.h +0 -87
  23. package/MMKV/Core/CodedInputDataCrypt.cpp +0 -280
  24. package/MMKV/Core/CodedInputDataCrypt.h +0 -87
  25. package/MMKV/Core/CodedInputDataCrypt_OSX.cpp +0 -62
  26. package/MMKV/Core/CodedInputData_OSX.cpp +0 -92
  27. package/MMKV/Core/CodedOutputData.cpp +0 -186
  28. package/MMKV/Core/CodedOutputData.h +0 -88
  29. package/MMKV/Core/Core.xcodeproj/project.pbxproj +0 -707
  30. package/MMKV/Core/Core.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  31. package/MMKV/Core/Core.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  32. package/MMKV/Core/Core.xcodeproj/xcshareddata/xcschemes/Core.xcscheme +0 -67
  33. package/MMKV/Core/Core.xcodeproj/xcshareddata/xcschemes/MMKVWatchCore.xcscheme +0 -67
  34. package/MMKV/Core/InterProcessLock.cpp +0 -186
  35. package/MMKV/Core/InterProcessLock.h +0 -119
  36. package/MMKV/Core/InterProcessLock_Android.cpp +0 -103
  37. package/MMKV/Core/InterProcessLock_Win32.cpp +0 -108
  38. package/MMKV/Core/KeyValueHolder.cpp +0 -236
  39. package/MMKV/Core/KeyValueHolder.h +0 -122
  40. package/MMKV/Core/MMBuffer.cpp +0 -210
  41. package/MMKV/Core/MMBuffer.h +0 -111
  42. package/MMKV/Core/MMKV.cpp +0 -1702
  43. package/MMKV/Core/MMKV.h +0 -595
  44. package/MMKV/Core/MMKVLog.cpp +0 -127
  45. package/MMKV/Core/MMKVLog.h +0 -86
  46. package/MMKV/Core/MMKVLog_Android.cpp +0 -134
  47. package/MMKV/Core/MMKVMetaInfo.hpp +0 -99
  48. package/MMKV/Core/MMKVPredef.h +0 -293
  49. package/MMKV/Core/MMKV_Android.cpp +0 -261
  50. package/MMKV/Core/MMKV_IO.cpp +0 -1905
  51. package/MMKV/Core/MMKV_IO.h +0 -57
  52. package/MMKV/Core/MMKV_OSX.cpp +0 -423
  53. package/MMKV/Core/MMKV_OSX.h +0 -57
  54. package/MMKV/Core/MemoryFile.cpp +0 -603
  55. package/MMKV/Core/MemoryFile.h +0 -194
  56. package/MMKV/Core/MemoryFile_Android.cpp +0 -236
  57. package/MMKV/Core/MemoryFile_Linux.cpp +0 -125
  58. package/MMKV/Core/MemoryFile_OSX.cpp +0 -142
  59. package/MMKV/Core/MemoryFile_Win32.cpp +0 -554
  60. package/MMKV/Core/MiniPBCoder.cpp +0 -672
  61. package/MMKV/Core/MiniPBCoder.h +0 -151
  62. package/MMKV/Core/MiniPBCoder_OSX.cpp +0 -237
  63. package/MMKV/Core/PBEncodeItem.hpp +0 -104
  64. package/MMKV/Core/PBUtility.cpp +0 -61
  65. package/MMKV/Core/PBUtility.h +0 -148
  66. package/MMKV/Core/ScopedLock.hpp +0 -69
  67. package/MMKV/Core/ThreadLock.cpp +0 -75
  68. package/MMKV/Core/ThreadLock.h +0 -81
  69. package/MMKV/Core/ThreadLock_Win32.cpp +0 -89
  70. package/MMKV/Core/aes/AESCrypt.cpp +0 -273
  71. package/MMKV/Core/aes/AESCrypt.h +0 -112
  72. package/MMKV/Core/aes/openssl/openssl_aes-armv4.S +0 -1243
  73. package/MMKV/Core/aes/openssl/openssl_aes.h +0 -130
  74. package/MMKV/Core/aes/openssl/openssl_aes_core.cpp +0 -1044
  75. package/MMKV/Core/aes/openssl/openssl_aes_locl.h +0 -38
  76. package/MMKV/Core/aes/openssl/openssl_aesv8-armx.S +0 -308
  77. package/MMKV/Core/aes/openssl/openssl_arm_arch.h +0 -84
  78. package/MMKV/Core/aes/openssl/openssl_cfb128.cpp +0 -97
  79. package/MMKV/Core/aes/openssl/openssl_md32_common.h +0 -254
  80. package/MMKV/Core/aes/openssl/openssl_md5.h +0 -49
  81. package/MMKV/Core/aes/openssl/openssl_md5_dgst.cpp +0 -166
  82. package/MMKV/Core/aes/openssl/openssl_md5_locl.h +0 -75
  83. package/MMKV/Core/aes/openssl/openssl_md5_one.cpp +0 -30
  84. package/MMKV/Core/aes/openssl/openssl_opensslconf.h +0 -271
  85. package/MMKV/Core/core.vcxproj +0 -288
  86. package/MMKV/Core/core.vcxproj.filters +0 -150
  87. package/MMKV/Core/crc32/Checksum.h +0 -75
  88. package/MMKV/Core/crc32/crc32_armv8.cpp +0 -134
  89. package/MMKV/Core/crc32/zlib/CMakeLists.txt +0 -60
  90. package/MMKV/Core/crc32/zlib/crc32.cpp +0 -55
  91. package/MMKV/Core/crc32/zlib/crc32.h +0 -48
  92. package/MMKV/Core/crc32/zlib/zconf.h +0 -380
  93. package/MMKV/Core/crc32/zlib/zutil.h +0 -25
  94. package/MMKV/LICENSE.TXT +0 -193
  95. package/MMKV/README.md +0 -354
@@ -2,7 +2,12 @@ cmake_minimum_required(VERSION 3.9.0)
2
2
  project(ReactNativeMmkv)
3
3
 
4
4
  set(CMAKE_VERBOSE_MAKEFILE ON)
5
- set(CMAKE_CXX_STANDARD 17)
5
+ set(CMAKE_CXX_STANDARD 20)
6
+
7
+ # Check for supported ABIs only
8
+ if(NOT (ANDROID_ABI STREQUAL "arm64-v8a" OR ANDROID_ABI STREQUAL "x86_64"))
9
+ message(FATAL_ERROR "MMKV prefab does not support ABI: ${ANDROID_ABI}. Supported ABIs: arm64-v8a, x86_64")
10
+ endif()
6
11
 
7
12
  # Compile sources
8
13
  add_library(
@@ -13,20 +18,24 @@ add_library(
13
18
  ../cpp/NativeMmkvModule.cpp
14
19
  )
15
20
 
16
- # Add headers search paths
17
- target_include_directories(react-native-mmkv PUBLIC ../MMKV/Core)
18
- target_include_directories(react-native-mmkv PUBLIC ../cpp)
21
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../cpp)
19
22
 
20
- # Add MMKV core dependency
21
- add_subdirectory(../MMKV/Core core)
23
+ # Find MMKV prefab package
24
+ find_package(mmkv REQUIRED CONFIG)
22
25
 
23
26
  # Add android/log dependency
24
- find_library(log-lib log)
27
+ find_library(android_log log)
28
+
29
+ target_include_directories(
30
+ react-native-mmkv
31
+ PUBLIC
32
+ ${CMAKE_CURRENT_SOURCE_DIR}/../cpp
33
+ )
25
34
 
26
35
  target_link_libraries(
27
36
  react-native-mmkv
28
- core # <-- MMKV core
29
- ${log-lib} # <-- Logcat logger
37
+ mmkv::mmkv # <-- MMKV core (now manually configured)
38
+ ${android_log} # <-- Logcat logger
30
39
  android # <-- Android JNI core
31
40
  react_codegen_RNMmkvSpec # <-- Generated Specs from CodeGen
32
41
  )
@@ -5,7 +5,7 @@ buildscript {
5
5
  }
6
6
 
7
7
  dependencies {
8
- classpath "com.android.tools.build:gradle:7.2.1"
8
+ classpath "com.android.tools.build:gradle:8.12.1"
9
9
  }
10
10
  }
11
11
 
@@ -44,6 +44,7 @@ android {
44
44
 
45
45
  buildFeatures {
46
46
  buildConfig true
47
+ prefab true
47
48
  }
48
49
 
49
50
  buildTypes {
@@ -74,8 +75,8 @@ android {
74
75
  }
75
76
 
76
77
  repositories {
77
- mavenCentral()
78
78
  google()
79
+ mavenCentral()
79
80
  }
80
81
 
81
82
 
@@ -84,6 +85,9 @@ dependencies {
84
85
  // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
85
86
  //noinspection GradleDynamicVersion
86
87
  implementation "com.facebook.react:react-native:+"
88
+
89
+ // Use the MMKV shared lib - includes C++ prefabs (shared STL for React Native compatibility)
90
+ implementation "com.tencent:mmkv-shared:2.2.3"
87
91
  }
88
92
 
89
93
  if (isNewArchitectureEnabled()) {
@@ -1,5 +1,5 @@
1
1
  //
2
- // ManagedBuffer.h
2
+ // ManagedMMBuffer.h
3
3
  // react-native-mmkv
4
4
  //
5
5
  // Created by Marc Rousavy on 25.03.24.
@@ -7,17 +7,17 @@
7
7
 
8
8
  #pragma once
9
9
 
10
- #include "MMKVManagedBuffer.h"
10
+ #include "MmkvTypes.h" // IWYU pragma: keep
11
11
  #include <jsi/jsi.h>
12
12
 
13
13
  using namespace facebook;
14
14
 
15
15
  /**
16
- A jsi::MutableBuffer that manages mmkv::MMBuffer memory (by ownership).
16
+ A jsi::MutableBuffer that manages MMBuffer memory (by ownership).
17
17
  */
18
- class MMKVManagedBuffer : public jsi::MutableBuffer {
18
+ class ManagedMMBuffer : public jsi::MutableBuffer {
19
19
  public:
20
- explicit MMKVManagedBuffer(mmkv::MMBuffer&& buffer) : _buffer(std::move(buffer)) {}
20
+ explicit ManagedMMBuffer(MMBuffer&& buffer) : _buffer(std::move(buffer)) {}
21
21
 
22
22
  uint8_t* data() override {
23
23
  return static_cast<uint8_t*>(_buffer.getPtr());
@@ -28,5 +28,5 @@ public:
28
28
  }
29
29
 
30
30
  private:
31
- mmkv::MMBuffer _buffer;
31
+ MMBuffer _buffer;
32
32
  };
@@ -7,9 +7,8 @@
7
7
  //
8
8
 
9
9
  #include "MmkvHostObject.h"
10
- #include "MMKVManagedBuffer.h"
10
+ #include "ManagedMMBuffer.h"
11
11
  #include "MmkvLogger.h"
12
- #include <MMKV.h>
13
12
  #include <string>
14
13
  #include <vector>
15
14
 
@@ -28,7 +27,7 @@ MmkvHostObject::MmkvHostObject(const facebook::react::MMKVConfig& config) {
28
27
  MMKVMode mode = getMMKVMode(config);
29
28
  if (config.readOnly.has_value() && config.readOnly.value()) {
30
29
  MmkvLogger::log("RNMMKV", "Instance is read-only!");
31
- mode = mode | MMKVMode::MMKV_READ_ONLY;
30
+ mode = mode | mmkv::MMKV_READ_ONLY;
32
31
  }
33
32
 
34
33
  #ifdef __APPLE__
@@ -71,14 +70,14 @@ std::vector<jsi::PropNameID> MmkvHostObject::getPropertyNames(jsi::Runtime& rt)
71
70
 
72
71
  MMKVMode MmkvHostObject::getMMKVMode(const facebook::react::MMKVConfig& config) {
73
72
  if (!config.mode.has_value()) {
74
- return MMKVMode::MMKV_SINGLE_PROCESS;
73
+ return mmkv::MMKV_SINGLE_PROCESS;
75
74
  }
76
75
  react::NativeMmkvMode mode = config.mode.value();
77
76
  switch (mode) {
78
77
  case react::NativeMmkvMode::SINGLE_PROCESS:
79
- return MMKVMode::MMKV_SINGLE_PROCESS;
78
+ return mmkv::MMKV_SINGLE_PROCESS;
80
79
  case react::NativeMmkvMode::MULTI_PROCESS:
81
- return MMKVMode::MMKV_MULTI_PROCESS;
80
+ return mmkv::MMKV_MULTI_PROCESS;
82
81
  default:
83
82
  [[unlikely]] throw std::runtime_error("Invalid MMKV Mode value!");
84
83
  }
@@ -221,12 +220,18 @@ jsi::Value MmkvHostObject::get(jsi::Runtime& runtime, const jsi::PropNameID& pro
221
220
  }
222
221
 
223
222
  std::string keyName = arguments[0].getString(runtime).utf8(runtime);
224
- mmkv::MMBuffer buffer;
223
+ MMBuffer buffer;
224
+ #ifdef __OBJC__
225
+ // iOS: Convert std::string to NSString* for MMKVCore pod compatibility
226
+ bool hasValue = instance->getBytes(@(keyName.c_str()), buffer);
227
+ #else
228
+ // Android/other platforms: Use std::string directly (converts to std::string_view)
225
229
  bool hasValue = instance->getBytes(keyName, buffer);
230
+ #endif
226
231
  if (!hasValue) [[unlikely]] {
227
232
  return jsi::Value::undefined();
228
233
  }
229
- auto mutableData = std::make_shared<MMKVManagedBuffer>(std::move(buffer));
234
+ auto mutableData = std::make_shared<ManagedMMBuffer>(std::move(buffer));
230
235
  return jsi::ArrayBuffer(runtime, mutableData);
231
236
  });
232
237
  }
@@ -8,12 +8,11 @@
8
8
 
9
9
  #pragma once
10
10
 
11
- #include "MMKV.h"
11
+ #include "MmkvTypes.h" // IWYU pragma: keep
12
12
  #include "NativeMmkvModule.h"
13
13
  #include <jsi/jsi.h>
14
14
 
15
15
  using namespace facebook;
16
- using namespace mmkv;
17
16
 
18
17
  class MmkvHostObject : public jsi::HostObject {
19
18
  public:
@@ -0,0 +1,50 @@
1
+ //
2
+ // MmkvTypes.h
3
+ // react-native-mmkv
4
+ //
5
+ // Created by Brad Anderson on 10.08.2025.
6
+ // Platform-specific MMKV type unification header
7
+ //
8
+
9
+ #pragma once
10
+
11
+ // Platform-specific MMKV includes
12
+ #ifdef __ANDROID__
13
+ #include <MMKV/MMKV.h>
14
+
15
+ // On Android, bring global namespace types into mmkv namespace for consistency
16
+ namespace mmkv {
17
+ using MMKV = ::MMKV;
18
+ using MMKVMode = ::MMKVMode;
19
+ using MMKVLogLevel = ::MMKVLogLevel;
20
+
21
+ // Constants - bring into mmkv namespace
22
+ constexpr auto MMKVLogDebug = ::MMKVLogDebug;
23
+ constexpr auto MMKVLogInfo = ::MMKVLogInfo;
24
+ constexpr auto MMKVLogWarning = ::MMKVLogWarning;
25
+ constexpr auto MMKVLogError = ::MMKVLogError;
26
+ constexpr auto MMKVLogNone = ::MMKVLogNone;
27
+
28
+ constexpr auto MMKV_SINGLE_PROCESS = ::MMKV_SINGLE_PROCESS;
29
+ constexpr auto MMKV_MULTI_PROCESS = ::MMKV_MULTI_PROCESS;
30
+ constexpr auto MMKV_READ_ONLY = ::MMKVMode::MMKV_READ_ONLY;
31
+ } // namespace mmkv
32
+
33
+ #else
34
+ #include <MMKVCore/MMKV.h>
35
+ // iOS already has everything in mmkv:: namespace
36
+ #endif
37
+
38
+ /**
39
+ * Unified MMKV namespace usage for cross-platform compatibility.
40
+ *
41
+ * After including this header, use:
42
+ * - mmkv::MMKV for the main class
43
+ * - mmkv::MMKVMode for mode enum
44
+ * - mmkv::MMKVLogLevel for log level enum
45
+ * - mmkv::MMBuffer for buffer type
46
+ * - mmkv::MMKV_SINGLE_PROCESS / mmkv::MMKV_MULTI_PROCESS for modes
47
+ * - mmkv::MMKVLogDebug, etc. for log levels
48
+ */
49
+
50
+ using namespace mmkv;
@@ -6,9 +6,9 @@
6
6
  //
7
7
 
8
8
  #include "NativeMmkvModule.h"
9
- #include "MMKV.h"
10
9
  #include "MmkvHostObject.h"
11
10
  #include "MmkvLogger.h"
11
+ #include "MmkvTypes.h" // IWYU pragma: keep
12
12
 
13
13
  namespace facebook::react {
14
14
 
@@ -23,9 +23,9 @@ bool NativeMmkvModule::initialize(jsi::Runtime& runtime, std::string basePath) {
23
23
  MmkvLogger::log("RNMMKV", "Initializing MMKV at %s...", basePath.c_str());
24
24
 
25
25
  #ifdef DEBUG
26
- MMKVLogLevel logLevel = MMKVLogDebug;
26
+ MMKVLogLevel logLevel = mmkv::MMKVLogDebug;
27
27
  #else
28
- MMKVLogLevel logLevel = MMKVLogWarning;
28
+ MMKVLogLevel logLevel = mmkv::MMKVLogWarning;
29
29
  #endif
30
30
 
31
31
  MMKV::initializeMMKV(basePath, logLevel);
@@ -7,15 +7,8 @@
7
7
 
8
8
  #pragma once
9
9
 
10
- #if __has_include(<React-Codegen/RNMmkvSpecJSI.h>)
11
- // CocoaPods include (iOS)
12
- #include <React-Codegen/RNMmkvSpecJSI.h>
13
- #elif __has_include(<RNMmkvSpecJSI.h>)
14
- // CMake include on Android
15
10
  #include <RNMmkvSpecJSI.h>
16
- #else
17
- #error Cannot find react-native-mmkv spec! Try cleaning your cache and re-running CodeGen!
18
- #endif
11
+ #include <string>
19
12
 
20
13
  namespace facebook::react {
21
14
 
@@ -33,8 +33,8 @@ function getDefaultInstance() {
33
33
  */
34
34
 
35
35
  function useMMKV(configuration) {
36
- const instance = (0, _react.useRef)();
37
- const lastConfiguration = (0, _react.useRef)();
36
+ const instance = (0, _react.useRef)(undefined);
37
+ const lastConfiguration = (0, _react.useRef)(undefined);
38
38
  if (configuration == null) return getDefaultInstance();
39
39
  if (instance.current == null || !isConfigurationEqual(lastConfiguration.current, configuration)) {
40
40
  lastConfiguration.current = configuration;
@@ -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","undefined","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","JSON","parse","setValue","Function","currentJson","currentValue","stringify","useMMKVListener","valueChangedListener","ref"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"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","ignoreList":[]}
@@ -24,8 +24,8 @@ function getDefaultInstance() {
24
24
  */
25
25
 
26
26
  export function useMMKV(configuration) {
27
- const instance = useRef();
28
- const lastConfiguration = useRef();
27
+ const instance = useRef(undefined);
28
+ const lastConfiguration = useRef(undefined);
29
29
  if (configuration == null) return getDefaultInstance();
30
30
  if (instance.current == null || !isConfigurationEqual(lastConfiguration.current, configuration)) {
31
31
  lastConfiguration.current = configuration;
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useState","useMemo","useCallback","useEffect","MMKV","isConfigurationEqual","left","right","encryptionKey","id","path","mode","defaultInstance","getDefaultInstance","useMMKV","configuration","instance","lastConfiguration","current","createMMKVHook","getter","key","mmkv","bump","setBump","value","set","v","newValue","delete","ArrayBuffer","Error","listener","addOnValueChangedListener","changedKey","b","remove","useMMKVString","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":["useRef","useState","useMemo","useCallback","useEffect","MMKV","isConfigurationEqual","left","right","encryptionKey","id","path","mode","defaultInstance","getDefaultInstance","useMMKV","configuration","instance","undefined","lastConfiguration","current","createMMKVHook","getter","key","mmkv","bump","setBump","value","set","v","newValue","delete","ArrayBuffer","Error","listener","addOnValueChangedListener","changedKey","b","remove","useMMKVString","getString","useMMKVNumber","getNumber","useMMKVBoolean","getBoolean","useMMKVBuffer","getBuffer","useMMKVObject","json","setJson","JSON","parse","setValue","Function","currentJson","currentValue","stringify","useMMKVListener","valueChangedListener","ref"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryWarningListener.web.d.ts","sourceRoot":"","sources":["../../../src/MemoryWarningListener.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,wBAAwB,UAAW,aAAa,KAAG,IAE/D,CAAC"}
1
+ {"version":3,"file":"MemoryWarningListener.web.d.ts","sourceRoot":"","sources":["../../../src/MemoryWarningListener.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,wBAAwB,GAAI,OAAO,aAAa,KAAG,IAE/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createMMKV.d.ts","sourceRoot":"","sources":["../../../src/createMMKV.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAQ,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAGpE,eAAO,MAAM,UAAU,WAAY,aAAa,KAAG,UAoClD,CAAC"}
1
+ {"version":3,"file":"createMMKV.d.ts","sourceRoot":"","sources":["../../../src/createMMKV.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAQ,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAGpE,eAAO,MAAM,UAAU,GAAI,QAAQ,aAAa,KAAG,UAoClD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createMMKV.web.d.ts","sourceRoot":"","sources":["../../../src/createMMKV.web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAoBzD,eAAO,MAAM,UAAU,WAAY,aAAa,KAAG,UAyGlD,CAAC"}
1
+ {"version":3,"file":"createMMKV.web.d.ts","sourceRoot":"","sources":["../../../src/createMMKV.web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAoBzD,eAAO,MAAM,UAAU,GAAI,QAAQ,aAAa,KAAG,UAyGlD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-mmkv",
3
- "version": "3.3.0",
3
+ "version": "4.0.0-beta.1",
4
4
  "description": "The fastest key/value storage for React Native. ~30x faster than AsyncStorage! Works on Android, iOS and Web.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -10,7 +10,6 @@
10
10
  "files": [
11
11
  "cpp/**/*.h",
12
12
  "cpp/**/*.cpp",
13
- "MMKV/Core",
14
13
  "android/src",
15
14
  "android/build.gradle",
16
15
  "android/CMakeLists.txt",
@@ -37,9 +36,8 @@
37
36
  "test": "jest",
38
37
  "typecheck": "tsc --noEmit",
39
38
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
40
- "prepare": "git submodule update --init --recursive && bob build",
39
+ "prepare": "bob build",
41
40
  "prepack": "bob build",
42
- "update-submodule": "git submodule update --remote --merge",
43
41
  "pods": "cd example && yarn pods",
44
42
  "release": "release-it",
45
43
  "codegen": "npx react-native codegen"
@@ -70,26 +68,28 @@
70
68
  "registry": "https://registry.npmjs.org/"
71
69
  },
72
70
  "devDependencies": {
73
- "@firmnav/eslint-github-actions-formatter": "^1.0.1",
74
- "@jamesacarr/eslint-formatter-github-actions": "^0.2.0",
75
- "@react-native-community/cli-types": "^15.1.3",
76
- "@react-native/eslint-config": "^0.77.1",
77
- "@release-it/conventional-changelog": "^9.0.1",
78
- "@testing-library/react-native": "^13.0.1",
79
- "@types/jest": "^29.5.13",
80
- "@types/react": "^18.3.11",
81
- "del-cli": "^6.0.0",
82
- "eslint": "^8.51.0",
83
- "eslint-config-prettier": "^9.0.0",
84
- "eslint-plugin-prettier": "^5.2.1",
85
- "jest": "^29.7.0",
86
- "prettier": "^3.3.3",
87
- "react": "^18.3.1",
88
- "react-native": "^0.77.1",
89
- "react-native-builder-bob": "^0.37.0",
90
- "react-test-renderer": "18.3.1",
91
- "release-it": "^17.10.0",
92
- "typescript": "^5.5.4"
71
+ "@firmnav/eslint-github-actions-formatter": "1.0.1",
72
+ "@jamesacarr/eslint-formatter-github-actions": "0.2.0",
73
+ "@react-native-community/cli": "19.1.1",
74
+ "@react-native-community/cli-types": "18.0.0",
75
+ "@react-native/babel-preset": "^0.81.0",
76
+ "@react-native/eslint-config": "0.81.0",
77
+ "@release-it/conventional-changelog": "9.0.1",
78
+ "@testing-library/react-native": "13.0.1",
79
+ "@types/jest": "29.5.13",
80
+ "@types/react": "19.1.01",
81
+ "del-cli": "6.0.0",
82
+ "eslint": "8.51.0",
83
+ "eslint-config-prettier": "9.0.0",
84
+ "eslint-plugin-prettier": "5.2.1",
85
+ "jest": "29.7.0",
86
+ "prettier": "3.3.3",
87
+ "react": "19.1.0",
88
+ "react-native": "0.81.0",
89
+ "react-native-builder-bob": "0.37.0",
90
+ "react-test-renderer": "19.1.0",
91
+ "release-it": "17.10.0",
92
+ "typescript": "^5.8.3"
93
93
  },
94
94
  "peerDependencies": {
95
95
  "react": "*",
@@ -1,7 +1,6 @@
1
1
  require "json"
2
2
 
3
3
  package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
- folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
5
4
 
6
5
  Pod::UI.puts "[react-native-mmkv] Thank you for using react-native-mmkv ❤️"
7
6
  Pod::UI.puts "[react-native-mmkv] If you enjoy using react-native-mmkv, please consider sponsoring this project: https://github.com/sponsors/mrousavy"
@@ -18,21 +17,16 @@ Pod::Spec.new do |s|
18
17
  s.source = { :git => "https://github.com/mrousavy/react-native-mmkv.git", :tag => "#{s.version}" }
19
18
 
20
19
  s.pod_target_xcconfig = {
21
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
22
- "CLANG_CXX_LIBRARY" => "libc++",
23
- "CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF" => "NO",
24
- # FORCE_POSIX ensures we are using C++ types instead of Objective-C types for MMKV.
25
- "GCC_PREPROCESSOR_DEFINITIONS" => "$(inherited) FORCE_POSIX",
20
+ "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
26
21
  }
27
22
  s.compiler_flags = '-x objective-c++'
28
23
  s.libraries = "z", "c++"
29
24
  s.source_files = [
30
25
  # react-native-mmkv
31
26
  "ios/**/*.{h,m,mm}",
32
- "cpp/**/*.{hpp,cpp,c,h}",
33
- # MMKV/Core
34
- "MMKV/Core/**/*.{h,cpp,hpp,S}",
27
+ "cpp/**/*.{hpp,cpp,c,h}"
35
28
  ]
36
29
 
30
+ s.dependency 'MMKVCore', '>= 2.2.3'
37
31
  install_modules_dependencies(s)
38
32
  end
@@ -17,4 +17,13 @@ module.exports = {
17
17
  },
18
18
  },
19
19
  },
20
+ // Codegen configuration for TurboModules
21
+ codegenConfig: {
22
+ name: 'RNMmkvSpec',
23
+ type: 'modules',
24
+ jsSrcsDir: 'src',
25
+ android: {
26
+ javaPackageName: 'com.mrousavy.mmkv',
27
+ },
28
+ },
20
29
  };
package/src/hooks.ts CHANGED
@@ -34,8 +34,8 @@ export function useMMKV(): MMKV;
34
34
  */
35
35
  export function useMMKV(configuration: Configuration): MMKV;
36
36
  export function useMMKV(configuration?: Configuration): MMKV {
37
- const instance = useRef<MMKV>();
38
- const lastConfiguration = useRef<Configuration>();
37
+ const instance = useRef<MMKV>(undefined);
38
+ const lastConfiguration = useRef<Configuration>(undefined);
39
39
 
40
40
  if (configuration == null) return getDefaultInstance();
41
41