react-native-mmkv 3.0.0-beta.1 → 3.0.0-beta.2

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 (60) hide show
  1. package/README.md +28 -3
  2. package/cpp/MMKVManagedBuffer.h +1 -6
  3. package/cpp/MmkvHostObject.h +1 -6
  4. package/cpp/NativeMmkvModule.cpp +7 -1
  5. package/lib/commonjs/LazyTurboModule.js +49 -0
  6. package/lib/commonjs/LazyTurboModule.js.map +1 -0
  7. package/lib/commonjs/MMKV.js +4 -10
  8. package/lib/commonjs/MMKV.js.map +1 -1
  9. package/lib/commonjs/NativeMmkv.js +13 -44
  10. package/lib/commonjs/NativeMmkv.js.map +1 -1
  11. package/lib/commonjs/NativeMmkvPlatformContext.js +5 -1
  12. package/lib/commonjs/NativeMmkvPlatformContext.js.map +1 -1
  13. package/lib/commonjs/Types.js +2 -0
  14. package/lib/commonjs/Types.js.map +1 -0
  15. package/lib/commonjs/createMMKV.js +1 -2
  16. package/lib/commonjs/createMMKV.js.map +1 -1
  17. package/lib/commonjs/createMMKV.web.js.map +1 -1
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/module/LazyTurboModule.js +43 -0
  20. package/lib/module/LazyTurboModule.js.map +1 -0
  21. package/lib/module/MMKV.js +4 -11
  22. package/lib/module/MMKV.js.map +1 -1
  23. package/lib/module/NativeMmkv.js +10 -41
  24. package/lib/module/NativeMmkv.js.map +1 -1
  25. package/lib/module/NativeMmkvPlatformContext.js +5 -1
  26. package/lib/module/NativeMmkvPlatformContext.js.map +1 -1
  27. package/lib/module/Types.js +2 -0
  28. package/lib/module/Types.js.map +1 -0
  29. package/lib/module/createMMKV.js +2 -3
  30. package/lib/module/createMMKV.js.map +1 -1
  31. package/lib/module/createMMKV.web.js.map +1 -1
  32. package/lib/module/index.js.map +1 -1
  33. package/lib/typescript/src/LazyTurboModule.d.ts +6 -0
  34. package/lib/typescript/src/LazyTurboModule.d.ts.map +1 -0
  35. package/lib/typescript/src/MMKV.d.ts +1 -85
  36. package/lib/typescript/src/MMKV.d.ts.map +1 -1
  37. package/lib/typescript/src/NativeMmkv.d.ts +9 -5
  38. package/lib/typescript/src/NativeMmkv.d.ts.map +1 -1
  39. package/lib/typescript/src/NativeMmkvPlatformContext.d.ts.map +1 -1
  40. package/lib/typescript/src/Types.d.ts +86 -0
  41. package/lib/typescript/src/Types.d.ts.map +1 -0
  42. package/lib/typescript/src/createMMKV.d.ts +2 -1
  43. package/lib/typescript/src/createMMKV.d.ts.map +1 -1
  44. package/lib/typescript/src/createMMKV.mock.d.ts +1 -1
  45. package/lib/typescript/src/createMMKV.mock.d.ts.map +1 -1
  46. package/lib/typescript/src/createMMKV.web.d.ts +2 -1
  47. package/lib/typescript/src/createMMKV.web.d.ts.map +1 -1
  48. package/lib/typescript/src/index.d.ts.map +1 -1
  49. package/package.json +17 -14
  50. package/react-native.config.js +20 -0
  51. package/src/LazyTurboModule.ts +62 -0
  52. package/src/MMKV.ts +5 -96
  53. package/src/NativeMmkv.ts +19 -46
  54. package/src/NativeMmkvPlatformContext.ts +5 -3
  55. package/src/Types.ts +89 -0
  56. package/src/__tests__/hooks.test.tsx +1 -0
  57. package/src/createMMKV.mock.ts +1 -1
  58. package/src/createMMKV.ts +4 -5
  59. package/src/createMMKV.web.ts +2 -1
  60. /package/src/{index.tsx → index.ts} +0 -0
package/README.md CHANGED
@@ -100,7 +100,7 @@ export const storage = new MMKV()
100
100
 
101
101
  This creates a new storage instance using the default MMKV storage ID (`mmkv.default`).
102
102
 
103
- #### App Groups
103
+ #### App Groups or Extensions
104
104
 
105
105
  If you want to share MMKV data between your app and other apps or app extensions in the same group, open `Info.plist` and create an `AppGroup` key with your app group's value. MMKV will then automatically store data inside the app group which can be read and written to from other apps or app extensions in the same group by making use of MMKV's multi processing mode.
106
106
  See [Configuring App Groups](https://developer.apple.com/documentation/xcode/configuring-app-groups).
@@ -113,7 +113,8 @@ import { MMKV } from 'react-native-mmkv'
113
113
  export const storage = new MMKV({
114
114
  id: `user-${userId}-storage`,
115
115
  path: `${USER_DIRECTORY}/storage`,
116
- encryptionKey: 'hunter2'
116
+ encryptionKey: 'hunter2',
117
+ mode: Mode.MULTI_PROCESS
117
118
  })
118
119
  ```
119
120
 
@@ -124,6 +125,7 @@ The following values can be configured:
124
125
  * `id`: The MMKV instance's ID. If you want to use multiple instances, use different IDs. For example, you can separate the global app's storage and a logged-in user's storage. (required if `path` or `encryptionKey` fields are specified, otherwise defaults to: `'mmkv.default'`)
125
126
  * `path`: The MMKV instance's root path. By default, MMKV stores file inside `$(Documents)/mmkv/`. You can customize MMKV's root directory on MMKV initialization (documentation: [iOS](https://github.com/Tencent/MMKV/wiki/iOS_advance#customize-location) / [Android](https://github.com/Tencent/MMKV/wiki/android_advance#customize-location))
126
127
  * `encryptionKey`: The MMKV instance's encryption/decryption key. By default, MMKV stores all key-values in plain text on file, relying on iOS's/Android's sandbox to make sure the file is encrypted. Should you worry about information leaking, you can choose to encrypt MMKV. (documentation: [iOS](https://github.com/Tencent/MMKV/wiki/iOS_advance#encryption) / [Android](https://github.com/Tencent/MMKV/wiki/android_advance#encryption))
128
+ * `mode`: The MMKV's process behaviour - when set to `MULTI_PROCESS`, the MMKV instance will assume data can be changed from the outside (e.g. App Clips, Extensions or App Groups).
127
129
 
128
130
  ### Set
129
131
 
@@ -141,6 +143,14 @@ const age = storage.getNumber('user.age') // 21
141
143
  const isMmkvFastAsf = storage.getBoolean('is-mmkv-fast-asf') // true
142
144
  ```
143
145
 
146
+ ### Hooks
147
+
148
+ ```js
149
+ const [username, setUsername] = useMMKVString('user.name')
150
+ const [age, setAge] = useMMKVNumber('user.age')
151
+ const [isMmkvFastAsf, setIsMmkvFastAf] = useMMKVBoolean('is-mmkv-fast-asf')
152
+ ```
153
+
144
154
  ### Keys
145
155
 
146
156
  ```js
@@ -197,6 +207,17 @@ const buffer = storage.getBuffer('someToken')
197
207
  console.log(buffer) // [1, 100, 255]
198
208
  ```
199
209
 
210
+ ### Size
211
+
212
+ ```js
213
+ // get size of MMKV storage in bytes
214
+ const size = storage.size
215
+ if (size >= 4096) {
216
+ // clean unused keys and clear memory cache
217
+ storage.trim()
218
+ }
219
+ ```
220
+
200
221
  ## Testing with Jest
201
222
 
202
223
  A mocked MMKV instance is automatically used when testing with Jest, so you will be able to use `new MMKV()` as per normal in your tests. Refer to [example/test/MMKV.test.ts](example/test/MMKV.test.ts) for an example.
@@ -221,7 +242,11 @@ If a user chooses to disable LocalStorage in their browser, the library will aut
221
242
 
222
243
  ## Limitations
223
244
 
224
- As the library uses JSI for synchronous native methods access, remote debugging (e.g. with Chrome) is no longer possible. Instead, you should use [Flipper](https://fbflipper.com).
245
+ - react-native-mmkv V3 requires react-native 0.74 or higher.
246
+ - react-native-mmkv V3 requires [the new architecture](https://reactnative.dev/docs/the-new-architecture/landing-page)/TurboModules to be enabled.
247
+ - Since react-native-mmkv uses JSI for synchronous native method invocations, remote debugging (e.g. with Chrome) is no longer possible. Instead, you should use [Flipper](https://fbflipper.com) or [React DevTools](https://react.dev/learn/react-developer-tools).
248
+
249
+ ## Integrations
225
250
 
226
251
  ### Flipper
227
252
 
@@ -7,13 +7,8 @@
7
7
 
8
8
  #pragma once
9
9
 
10
- #include <jsi/jsi.h>
11
-
12
- #if __has_include("MMKVManagedBuffer.h")
13
10
  #include "MMKVManagedBuffer.h"
14
- #else
15
- #include <MMKVCore/MMKVManagedBuffer.h>
16
- #endif
11
+ #include <jsi/jsi.h>
17
12
 
18
13
  using namespace facebook;
19
14
 
@@ -8,15 +8,10 @@
8
8
 
9
9
  #pragma once
10
10
 
11
+ #include "MMKV.h"
11
12
  #include "NativeMmkvModule.h"
12
13
  #include <jsi/jsi.h>
13
14
 
14
- #if __has_include("MMKV.h")
15
- #include "MMKV.h"
16
- #else
17
- #include <MMKVCore/MMKV.h>
18
- #endif
19
-
20
15
  using namespace facebook;
21
16
  using namespace mmkv;
22
17
 
@@ -22,7 +22,13 @@ bool NativeMmkvModule::initialize(jsi::Runtime& runtime, std::string basePath) {
22
22
 
23
23
  Logger::log("RNMMKV", "Initializing MMKV at %s...", basePath.c_str());
24
24
 
25
- MMKV::initializeMMKV(basePath);
25
+ #ifdef DEBUG
26
+ MMKVLogLevel logLevel = MMKVLogDebug;
27
+ #else
28
+ MMKVLogLevel logLevel = MMKVLogWarning;
29
+ #endif
30
+
31
+ MMKV::initializeMMKV(basePath, logLevel);
26
32
 
27
33
  return true;
28
34
  }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getLazyTurboModule = getLazyTurboModule;
7
+ var _reactNative = require("react-native");
8
+ /**
9
+ * Lazily get a TurboModule by wrapping it in a Proxy.
10
+ */
11
+ function getLazyTurboModule(initializeTurboModule) {
12
+ const proxy = new Proxy({
13
+ module: null
14
+ }, {
15
+ get: (target, property) => {
16
+ if (target.module == null) {
17
+ // Target is null, let's initialize it!
18
+ target.module = initializeTurboModule();
19
+ if (target.module == null) {
20
+ // TurboModule not found, something went wrong!
21
+ let message = 'Failed to create a new MMKV instance: The native MMKV Module could not be found.';
22
+ message += '\n* Make sure react-native-mmkv is correctly autolinked (run `npx react-native config` to verify)';
23
+ if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'macos') {
24
+ message += '\n* Make sure you ran `pod install` in the ios/ directory.';
25
+ }
26
+ if (_reactNative.Platform.OS === 'android') {
27
+ message += '\n* Make sure gradle is synced.';
28
+ }
29
+ // check if Expo
30
+ const ExpoConstants = _reactNative.NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants;
31
+ if (ExpoConstants != null) {
32
+ if (ExpoConstants.appOwnership === 'expo') {
33
+ // We're running Expo Go
34
+ throw new Error('react-native-mmkv is not supported in Expo Go! Use EAS (`expo prebuild`) or eject to a bare workflow instead.');
35
+ } else {
36
+ // We're running Expo bare / standalone
37
+ message += '\n* Make sure you ran `expo prebuild`.';
38
+ }
39
+ }
40
+ message += '\n* Make sure you rebuilt the app.';
41
+ throw new Error(message);
42
+ }
43
+ }
44
+ return target.module[property];
45
+ }
46
+ });
47
+ return proxy;
48
+ }
49
+ //# sourceMappingURL=LazyTurboModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","getLazyTurboModule","initializeTurboModule","proxy","Proxy","module","get","target","property","message","Platform","OS","ExpoConstants","NativeModules","NativeUnimoduleProxy","modulesConstants","ExponentConstants","appOwnership","Error"],"sourceRoot":"../../src","sources":["LazyTurboModule.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAMA;AACA;AACA;AACO,SAASC,kBAAkBA,CAChCC,qBAAqC,EAClC;EACH,MAAMC,KAAK,GAAG,IAAIC,KAAK,CACrB;IACEC,MAAM,EAAE;EACV,CAAC,EACD;IACEC,GAAG,EAAEA,CAACC,MAAM,EAAEC,QAAQ,KAAK;MACzB,IAAID,MAAM,CAACF,MAAM,IAAI,IAAI,EAAE;QACzB;QACAE,MAAM,CAACF,MAAM,GAAGH,qBAAqB,CAAC,CAAC;QAEvC,IAAIK,MAAM,CAACF,MAAM,IAAI,IAAI,EAAE;UACzB;UACA,IAAII,OAAO,GACT,kFAAkF;UACpFA,OAAO,IACL,mGAAmG;UACrG,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAID,qBAAQ,CAACC,EAAE,KAAK,OAAO,EAAE;YACpDF,OAAO,IACL,4DAA4D;UAChE;UACA,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;YAC7BF,OAAO,IAAI,iCAAiC;UAC9C;UACA;UACA,MAAMG,aAAa,GACjBC,0BAAa,CAACC,oBAAoB,EAAEC,gBAAgB,EAChDC,iBAAiB;UACvB,IAAIJ,aAAa,IAAI,IAAI,EAAE;YACzB,IAAIA,aAAa,CAACK,YAAY,KAAK,MAAM,EAAE;cACzC;cACA,MAAM,IAAIC,KAAK,CACb,+GACF,CAAC;YACH,CAAC,MAAM;cACL;cACAT,OAAO,IAAI,wCAAwC;YACrD;UACF;UAEAA,OAAO,IAAI,oCAAoC;UAC/C,MAAM,IAAIS,KAAK,CAACT,OAAO,CAAC;QAC1B;MACF;MAEA,OAAOF,MAAM,CAACF,MAAM,CAACG,QAAQ,CAAY;IAC3C;EACF,CACF,CAAC;EACD,OAAOL,KAAK;AACd","ignoreList":[]}
@@ -21,10 +21,6 @@ var _createMMKV = require("./createMMKV");
21
21
  var _createMMKV2 = require("./createMMKV.mock");
22
22
  var _PlatformChecker = require("./PlatformChecker");
23
23
  var _NativeMmkv = require("./NativeMmkv");
24
- /**
25
- * Represents a single MMKV instance.
26
- */
27
-
28
24
  const onValueChangedListeners = new Map();
29
25
 
30
26
  /**
@@ -41,12 +37,10 @@ class MMKV {
41
37
  this.id = configuration.id;
42
38
  this.nativeInstance = (0, _PlatformChecker.isJest)() ? (0, _createMMKV2.createMockMMKV)() : (0, _createMMKV.createMMKV)(configuration);
43
39
  this.functionCache = {};
44
- if ('WeakRef' in global) {
45
- const weakSelf = new WeakRef(this);
46
- _reactNative.AppState.addEventListener('memoryWarning', () => {
47
- weakSelf.deref()?.trim();
48
- });
49
- }
40
+ _reactNative.AppState.addEventListener('memoryWarning', () => {
41
+ // when we have a memory warning, delete unused keys by trimming MMKV
42
+ this.trim();
43
+ });
50
44
  }
51
45
  get onValueChangedListeners() {
52
46
  if (!onValueChangedListeners.has(this.id)) {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_createMMKV","_createMMKV2","_PlatformChecker","_NativeMmkv","onValueChangedListeners","Map","MMKV","constructor","configuration","id","nativeInstance","isJest","createMockMMKV","createMMKV","functionCache","global","weakSelf","WeakRef","AppState","addEventListener","deref","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":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AAMA;AACA;AACA;;AAoFA,MAAMK,uBAAuB,GAAG,IAAIC,GAAG,CAAoC,CAAC;;AAE5E;AACA;AACA;AACO,MAAMC,IAAI,CAA0B;EAKzC;AACF;AACA;AACA;EACEC,WAAWA,CAACC,aAA4B,GAAG;IAAEC,EAAE,EAAE;EAAe,CAAC,EAAE;IACjE,IAAI,CAACA,EAAE,GAAGD,aAAa,CAACC,EAAE;IAC1B,IAAI,CAACC,cAAc,GAAG,IAAAC,uBAAM,EAAC,CAAC,GAC1B,IAAAC,2BAAc,EAAC,CAAC,GAChB,IAAAC,sBAAU,EAACL,aAAa,CAAC;IAC7B,IAAI,CAACM,aAAa,GAAG,CAAC,CAAC;IAEvB,IAAI,SAAS,IAAIC,MAAM,EAAE;MACvB,MAAMC,QAAQ,GAAG,IAAIC,OAAO,CAAC,IAAI,CAAC;MAClCC,qBAAQ,CAACC,gBAAgB,CAAC,eAAe,EAAE,MAAM;QAC/CH,QAAQ,CAACI,KAAK,CAAC,CAAC,EAAEC,IAAI,CAAC,CAAC;MAC1B,CAAC,CAAC;IACJ;EACF;EAEA,IAAYjB,uBAAuBA,CAAA,EAAG;IACpC,IAAI,CAACA,uBAAuB,CAACkB,GAAG,CAAC,IAAI,CAACb,EAAE,CAAC,EAAE;MACzCL,uBAAuB,CAACmB,GAAG,CAAC,IAAI,CAACd,EAAE,EAAE,EAAE,CAAC;IAC1C;IACA,OAAOL,uBAAuB,CAACoB,GAAG,CAAC,IAAI,CAACf,EAAE,CAAC;EAC7C;EAEQgB,oBAAoBA,CAC1BC,YAAe,EACA;IACf,IAAI,IAAI,CAACZ,aAAa,CAACY,YAAY,CAAC,IAAI,IAAI,EAAE;MAC5C,IAAI,CAACZ,aAAa,CAACY,YAAY,CAAC,GAAG,IAAI,CAAChB,cAAc,CAACgB,YAAY,CAAC;IACtE;IACA,OAAO,IAAI,CAACZ,aAAa,CAACY,YAAY,CAAC;EACzC;EAEQC,eAAeA,CAACC,IAAc,EAAE;IACtC,IAAI,IAAI,CAACxB,uBAAuB,CAACyB,MAAM,KAAK,CAAC,EAAE;IAE/C,KAAK,MAAMC,GAAG,IAAIF,IAAI,EAAE;MACtB,KAAK,MAAMG,QAAQ,IAAI,IAAI,CAAC3B,uBAAuB,EAAE;QACnD2B,QAAQ,CAACD,GAAG,CAAC;MACf;IACF;EACF;EAEA,IAAIE,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACtB,cAAc,CAACsB,IAAI;EACjC;EACAT,GAAGA,CAACO,GAAW,EAAEG,KAA8C,EAAQ;IACrE,MAAMC,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,KAAK,CAAC;IAC7CS,IAAI,CAACJ,GAAG,EAAEG,KAAK,CAAC;IAEhB,IAAI,CAACN,eAAe,CAAC,CAACG,GAAG,CAAC,CAAC;EAC7B;EACAK,UAAUA,CAACL,GAAW,EAAuB;IAC3C,MAAMI,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,YAAY,CAAC;IACpD,OAAOS,IAAI,CAACJ,GAAG,CAAC;EAClB;EACAM,SAASA,CAACN,GAAW,EAAsB;IACzC,MAAMI,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,WAAW,CAAC;IACnD,OAAOS,IAAI,CAACJ,GAAG,CAAC;EAClB;EACAO,SAASA,CAACP,GAAW,EAAsB;IACzC,MAAMI,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,WAAW,CAAC;IACnD,OAAOS,IAAI,CAACJ,GAAG,CAAC;EAClB;EACAQ,SAASA,CAACR,GAAW,EAA2B;IAC9C,MAAMI,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,WAAW,CAAC;IACnD,OAAOS,IAAI,CAACJ,GAAG,CAAC;EAClB;EACAS,QAAQA,CAACT,GAAW,EAAW;IAC7B,MAAMI,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,UAAU,CAAC;IAClD,OAAOS,IAAI,CAACJ,GAAG,CAAC;EAClB;EACAU,MAAMA,CAACV,GAAW,EAAQ;IACxB,MAAMI,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,QAAQ,CAAC;IAChDS,IAAI,CAACJ,GAAG,CAAC;IAET,IAAI,CAACH,eAAe,CAAC,CAACG,GAAG,CAAC,CAAC;EAC7B;EACAW,UAAUA,CAAA,EAAa;IACrB,MAAMP,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,YAAY,CAAC;IACpD,OAAOS,IAAI,CAAC,CAAC;EACf;EACAQ,QAAQA,CAAA,EAAS;IACf,MAAMd,IAAI,GAAG,IAAI,CAACa,UAAU,CAAC,CAAC;IAE9B,MAAMP,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,UAAU,CAAC;IAClDS,IAAI,CAAC,CAAC;IAEN,IAAI,CAACP,eAAe,CAACC,IAAI,CAAC;EAC5B;EACAe,OAAOA,CAACb,GAAuB,EAAQ;IACrC,MAAMI,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,SAAS,CAAC;IACjD,OAAOS,IAAI,CAACJ,GAAG,CAAC;EAClB;EACAT,IAAIA,CAAA,EAAS;IACX,MAAMa,IAAI,GAAG,IAAI,CAACT,oBAAoB,CAAC,MAAM,CAAC;IAC9CS,IAAI,CAAC,CAAC;EACR;EAEAU,QAAQA,CAAA,EAAW;IACjB,OAAQ,SAAQ,IAAI,CAACnC,EAAG,OAAM,IAAI,CAACgC,UAAU,CAAC,CAAC,CAACI,IAAI,CAAC,IAAI,CAAE,GAAE;EAC/D;EACAC,MAAMA,CAAA,EAAW;IACf,OAAO;MACL,CAAC,IAAI,CAACrC,EAAE,GAAG,IAAI,CAACgC,UAAU,CAAC;IAC7B,CAAC;EACH;EAEAM,yBAAyBA,CAACC,cAAqC,EAAY;IACzE,IAAI,CAAC5C,uBAAuB,CAAC6C,IAAI,CAACD,cAAc,CAAC;IAEjD,OAAO;MACLE,MAAM,EAAEA,CAAA,KAAM;QACZ,MAAMC,KAAK,GAAG,IAAI,CAAC/C,uBAAuB,CAACgD,OAAO,CAACJ,cAAc,CAAC;QAClE,IAAIG,KAAK,KAAK,CAAC,CAAC,EAAE;UAChB,IAAI,CAAC/C,uBAAuB,CAACiD,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;QAC/C;MACF;IACF,CAAC;EACH;AACF;AAACG,OAAA,CAAAhD,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_createMMKV","_createMMKV2","_PlatformChecker","_NativeMmkv","onValueChangedListeners","Map","MMKV","constructor","configuration","id","nativeInstance","isJest","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":[]}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Mode = void 0;
7
- exports.getMMKVTurboModule = getMMKVTurboModule;
6
+ exports.Mode = exports.MMKVTurboModule = void 0;
8
7
  var _reactNative = require("react-native");
8
+ var _LazyTurboModule = require("./LazyTurboModule");
9
9
  var _NativeMmkvPlatformContext = require("./NativeMmkvPlatformContext");
10
10
  /**
11
11
  * Configures the mode of the MMKV instance.
@@ -18,49 +18,18 @@ let Mode = exports.Mode = /*#__PURE__*/function (Mode) {
18
18
  /**
19
19
  * Used for configuration of a single MMKV instance.
20
20
  */
21
- let _module = null;
22
21
  let basePath = null;
23
-
24
- /**
25
- * Get the MMKV TurboModule, and initialize it if this is the first time calling.
26
- * This will throw an error if the module cannot be found.
27
- */
28
- function getMMKVTurboModule() {
29
- if (_module == null) {
30
- // try to find the turbomodule
31
- _module = _reactNative.TurboModuleRegistry.get('MmkvCxx');
32
- if (_module == null) {
33
- // if it still is null, something went wrong!
34
- let message = 'Failed to create a new MMKV instance: The native MMKV Module could not be found.';
35
- message += '\n* Make sure react-native-mmkv is correctly autolinked (run `npx react-native config` to verify)';
36
- if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'macos') {
37
- message += '\n* Make sure you ran `pod install` in the ios/ directory.';
38
- }
39
- if (_reactNative.Platform.OS === 'android') {
40
- message += '\n* Make sure gradle is synced.';
41
- }
42
- // check if Expo
43
- const ExpoConstants = _reactNative.NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants;
44
- if (ExpoConstants != null) {
45
- if (ExpoConstants.appOwnership === 'expo') {
46
- // We're running Expo Go
47
- throw new Error('react-native-mmkv is not supported in Expo Go! Use EAS (`expo prebuild`) or eject to a bare workflow instead.');
48
- } else {
49
- // We're running Expo bare / standalone
50
- message += '\n* Make sure you ran `expo prebuild`.';
51
- }
52
- }
53
- message += '\n* Make sure you rebuilt the app.';
54
- throw new Error(message);
55
- }
56
- if (basePath == null) {
57
- // Get base path from platform specific context
58
- basePath = _NativeMmkvPlatformContext.PlatformContext.getBaseDirectory();
59
- }
60
-
61
- // Initialize MMKV
62
- _module.initialize(basePath);
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);
63
31
  }
64
- return _module;
32
+ return module;
65
33
  }
34
+ const MMKVTurboModule = exports.MMKVTurboModule = (0, _LazyTurboModule.getLazyTurboModule)(getNativeModule);
66
35
  //# sourceMappingURL=NativeMmkv.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeMmkvPlatformContext","Mode","exports","module","basePath","getMMKVTurboModule","TurboModuleRegistry","get","message","Platform","OS","ExpoConstants","NativeModules","NativeUnimoduleProxy","modulesConstants","ExponentConstants","appOwnership","Error","PlatformContext","getBaseDirectory","initialize"],"sourceRoot":"../../src","sources":["NativeMmkv.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,IAAAC,0BAAA,GAAAD,OAAA;AAEA;AACA;AACA;AAFA,IAGYE,IAAI,GAAAC,OAAA,CAAAD,IAAA,0BAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAWhB;AACA;AACA;AAyDA,IAAIE,OAAmB,GAAG,IAAI;AAC9B,IAAIC,QAAuB,GAAG,IAAI;;AAElC;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAAA,EAAS;EACzC,IAAIF,OAAM,IAAI,IAAI,EAAE;IAClB;IACAA,OAAM,GAAGG,gCAAmB,CAACC,GAAG,CAAO,SAAS,CAAC;IAEjD,IAAIJ,OAAM,IAAI,IAAI,EAAE;MAClB;MACA,IAAIK,OAAO,GACT,kFAAkF;MACpFA,OAAO,IACL,mGAAmG;MACrG,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAID,qBAAQ,CAACC,EAAE,KAAK,OAAO,EAAE;QACpDF,OAAO,IAAI,4DAA4D;MACzE;MACA,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7BF,OAAO,IAAI,iCAAiC;MAC9C;MACA;MACA,MAAMG,aAAa,GACjBC,0BAAa,CAACC,oBAAoB,EAAEC,gBAAgB,EAAEC,iBAAiB;MACzE,IAAIJ,aAAa,IAAI,IAAI,EAAE;QACzB,IAAIA,aAAa,CAACK,YAAY,KAAK,MAAM,EAAE;UACzC;UACA,MAAM,IAAIC,KAAK,CACb,+GACF,CAAC;QACH,CAAC,MAAM;UACL;UACAT,OAAO,IAAI,wCAAwC;QACrD;MACF;MAEAA,OAAO,IAAI,oCAAoC;MAC/C,MAAM,IAAIS,KAAK,CAACT,OAAO,CAAC;IAC1B;IAEA,IAAIJ,QAAQ,IAAI,IAAI,EAAE;MACpB;MACAA,QAAQ,GAAGc,0CAAe,CAACC,gBAAgB,CAAC,CAAC;IAC/C;;IAEA;IACAhB,OAAM,CAACiB,UAAU,CAAChB,QAAQ,CAAC;EAC7B;EAEA,OAAOD,OAAM;AACf","ignoreList":[]}
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":[]}
@@ -5,5 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.PlatformContext = void 0;
7
7
  var _reactNative = require("react-native");
8
- const PlatformContext = exports.PlatformContext = _reactNative.TurboModuleRegistry.getEnforcing('MmkvPlatformContext');
8
+ var _LazyTurboModule = require("./LazyTurboModule");
9
+ function getModule() {
10
+ return _reactNative.TurboModuleRegistry.get('MmkvPlatformContext');
11
+ }
12
+ const PlatformContext = exports.PlatformContext = (0, _LazyTurboModule.getLazyTurboModule)(getModule);
9
13
  //# sourceMappingURL=NativeMmkvPlatformContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","PlatformContext","exports","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeMmkvPlatformContext.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AASO,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAGE,gCAAmB,CAACC,YAAY,CAC7D,qBACF,CAAC","ignoreList":[]}
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":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=Types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["Types.ts"],"mappings":"","ignoreList":[]}
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createMMKV = void 0;
7
7
  var _NativeMmkv = require("./NativeMmkv");
8
- const _module = (0, _NativeMmkv.getMMKVTurboModule)();
9
8
  const createMMKV = config => {
10
- const instance = _module.createMMKV(config);
9
+ const instance = _NativeMmkv.MMKVTurboModule.createMMKV(config);
11
10
  if (__DEV__) {
12
11
  if (typeof instance !== 'object' || instance == null) {
13
12
  throw new Error('Failed to create MMKV instance - an unknown object was returned by createMMKV(..)!');
@@ -1 +1 @@
1
- {"version":3,"names":["_NativeMmkv","require","module","getMMKVTurboModule","createMMKV","config","instance","__DEV__","Error","exports"],"sourceRoot":"../../src","sources":["createMMKV.ts"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,MAAMC,OAAM,GAAG,IAAAC,8BAAkB,EAAC,CAAC;AAE5B,MAAMC,UAAU,GAAIC,MAAqB,IAAiB;EAC/D,MAAMC,QAAQ,GAAGJ,OAAM,CAACE,UAAU,CAACC,MAAM,CAAC;EAC1C,IAAIE,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,CAAAL,UAAA,GAAAA,UAAA","ignoreList":[]}
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 +1 @@
1
- {"version":3,"names":["_createTextEncoder","require","canUseDOM","window","document","createElement","hasAccessToLocalStorage","localStorage","KEY_WILDCARD","inMemoryStorage","Map","createMMKV","config","encryptionKey","Error","path","console","warn","storage","getItem","key","get","setItem","value","set","removeItem","delete","clear","length","size","index","Object","keys","at","domStorage","global","textEncoder","createTextEncoder","id","includes","keyPrefix","prefixedKey","clearAll","startsWith","toString","getString","undefined","getNumber","Number","getBoolean","getBuffer","encode","getAllKeys","filter","map","slice","contains","recrypt","trim","exports"],"sourceRoot":"../../src","sources":["createMMKV.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_createTextEncoder","require","canUseDOM","window","document","createElement","hasAccessToLocalStorage","localStorage","KEY_WILDCARD","inMemoryStorage","Map","createMMKV","config","encryptionKey","Error","path","console","warn","storage","getItem","key","get","setItem","value","set","removeItem","delete","clear","length","size","index","Object","keys","at","domStorage","global","textEncoder","createTextEncoder","id","includes","keyPrefix","prefixedKey","clearAll","startsWith","toString","getString","undefined","getNumber","Number","getBoolean","getBuffer","encode","getAllKeys","filter","map","slice","contains","recrypt","trim","exports"],"sourceRoot":"../../src","sources":["createMMKV.web.ts"],"mappings":";;;;;;AAGA,IAAAA,kBAAA,GAAAC,OAAA;AAHA;;AAKA,MAAMC,SAAS,GACb,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,QAAQ,EAAEC,aAAa,IAAI,IAAI;AAEzE,MAAMC,uBAAuB,GAAGA,CAAA,KAAM;EACpC,IAAI;IACF;IACAH,MAAM,CAACI,YAAY;IAEnB,OAAO,IAAI;EACb,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF,CAAC;AAED,MAAMC,YAAY,GAAG,IAAI;AACzB,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAAiB,CAAC;AAE1C,MAAMC,UAAU,GAAIC,MAAqB,IAAiB;EAC/D,IAAIA,MAAM,CAACC,aAAa,IAAI,IAAI,EAAE;IAChC,MAAM,IAAIC,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,IAAIF,MAAM,CAACG,IAAI,IAAI,IAAI,EAAE;IACvB,MAAM,IAAID,KAAK,CAAC,uCAAuC,CAAC;EAC1D;;EAEA;EACA,IAAI,CAACR,uBAAuB,CAAC,CAAC,IAAIJ,SAAS,EAAE;IAC3Cc,OAAO,CAACC,IAAI,CACV,6FACF,CAAC;EACH;EAEA,MAAMC,OAAO,GAAGA,CAAA,KAAM;IACpB,IAAI,CAAChB,SAAS,EAAE;MACd,MAAM,IAAIY,KAAK,CACb,kFACF,CAAC;IACH;IAEA,IAAI,CAACR,uBAAuB,CAAC,CAAC,EAAE;MAC9B,OAAO;QACLa,OAAO,EAAGC,GAAW,IAAKX,eAAe,CAACY,GAAG,CAACD,GAAG,CAAC,IAAI,IAAI;QAC1DE,OAAO,EAAEA,CAACF,GAAW,EAAEG,KAAa,KAClCd,eAAe,CAACe,GAAG,CAACJ,GAAG,EAAEG,KAAK,CAAC;QACjCE,UAAU,EAAGL,GAAW,IAAKX,eAAe,CAACiB,MAAM,CAACN,GAAG,CAAC;QACxDO,KAAK,EAAEA,CAAA,KAAMlB,eAAe,CAACkB,KAAK,CAAC,CAAC;QACpCC,MAAM,EAAEnB,eAAe,CAACoB,IAAI;QAC5BT,GAAG,EAAGU,KAAa,IAAKC,MAAM,CAACC,IAAI,CAACvB,eAAe,CAAC,CAACwB,EAAE,CAACH,KAAK,CAAC,IAAI;MACpE,CAAC;IACH;IAEA,MAAMI,UAAU,GACdC,MAAM,EAAE5B,YAAY,IAAIJ,MAAM,EAAEI,YAAY,IAAIA,YAAY;IAC9D,IAAI2B,UAAU,IAAI,IAAI,EAAE;MACtB,MAAM,IAAIpB,KAAK,CAAE,yCAAwC,CAAC;IAC5D;IACA,OAAOoB,UAAU;EACnB,CAAC;EAED,MAAME,WAAW,GAAG,IAAAC,oCAAiB,EAAC,CAAC;EAEvC,IAAIzB,MAAM,CAAC0B,EAAE,CAACC,QAAQ,CAAC/B,YAAY,CAAC,EAAE;IACpC,MAAM,IAAIM,KAAK,CACb,2DACF,CAAC;EACH;EAEA,MAAM0B,SAAS,GAAI,GAAE5B,MAAM,CAAC0B,EAAG,GAAE9B,YAAa,EAAC,CAAC,CAAC;EACjD,MAAMiC,WAAW,GAAIrB,GAAW,IAAK;IACnC,IAAIA,GAAG,CAACmB,QAAQ,CAAC,IAAI,CAAC,EAAE;MACtB,MAAM,IAAIzB,KAAK,CACb,4DACF,CAAC;IACH;IACA,OAAQ,GAAE0B,SAAU,GAAEpB,GAAI,EAAC;EAC7B,CAAC;EAED,OAAO;IACLsB,QAAQ,EAAEA,CAAA,KAAM;MACd,MAAMV,IAAI,GAAGD,MAAM,CAACC,IAAI,CAACd,OAAO,CAAC,CAAC,CAAC;MACnC,KAAK,MAAME,GAAG,IAAIY,IAAI,EAAE;QACtB,IAAIZ,GAAG,CAACuB,UAAU,CAACH,SAAS,CAAC,EAAE;UAC7BtB,OAAO,CAAC,CAAC,CAACO,UAAU,CAACL,GAAG,CAAC;QAC3B;MACF;IACF,CAAC;IACDM,MAAM,EAAGN,GAAG,IAAKF,OAAO,CAAC,CAAC,CAACO,UAAU,CAACgB,WAAW,CAACrB,GAAG,CAAC,CAAC;IACvDI,GAAG,EAAEA,CAACJ,GAAG,EAAEG,KAAK,KAAK;MACnBL,OAAO,CAAC,CAAC,CAACI,OAAO,CAACmB,WAAW,CAACrB,GAAG,CAAC,EAAEG,KAAK,CAACqB,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IACDC,SAAS,EAAGzB,GAAG,IAAKF,OAAO,CAAC,CAAC,CAACC,OAAO,CAACsB,WAAW,CAACrB,GAAG,CAAC,CAAC,IAAI0B,SAAS;IACpEC,SAAS,EAAG3B,GAAG,IAAK;MAClB,MAAMG,KAAK,GAAGL,OAAO,CAAC,CAAC,CAACC,OAAO,CAACsB,WAAW,CAACrB,GAAG,CAAC,CAAC;MACjD,IAAIG,KAAK,IAAI,IAAI,EAAE,OAAOuB,SAAS;MACnC,OAAOE,MAAM,CAACzB,KAAK,CAAC;IACtB,CAAC;IACD0B,UAAU,EAAG7B,GAAG,IAAK;MACnB,MAAMG,KAAK,GAAGL,OAAO,CAAC,CAAC,CAACC,OAAO,CAACsB,WAAW,CAACrB,GAAG,CAAC,CAAC;MACjD,IAAIG,KAAK,IAAI,IAAI,EAAE,OAAOuB,SAAS;MACnC,OAAOvB,KAAK,KAAK,MAAM;IACzB,CAAC;IACD2B,SAAS,EAAG9B,GAAG,IAAK;MAClB,MAAMG,KAAK,GAAGL,OAAO,CAAC,CAAC,CAACC,OAAO,CAACsB,WAAW,CAACrB,GAAG,CAAC,CAAC;MACjD,IAAIG,KAAK,IAAI,IAAI,EAAE,OAAOuB,SAAS;MACnC,OAAOV,WAAW,CAACe,MAAM,CAAC5B,KAAK,CAAC;IAClC,CAAC;IACD6B,UAAU,EAAEA,CAAA,KAAM;MAChB,MAAMpB,IAAI,GAAGD,MAAM,CAACC,IAAI,CAACd,OAAO,CAAC,CAAC,CAAC;MACnC,OAAOc,IAAI,CACRqB,MAAM,CAAEjC,GAAG,IAAKA,GAAG,CAACuB,UAAU,CAACH,SAAS,CAAC,CAAC,CAC1Cc,GAAG,CAAElC,GAAG,IAAKA,GAAG,CAACmC,KAAK,CAACf,SAAS,CAACZ,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD4B,QAAQ,EAAGpC,GAAG,IAAKF,OAAO,CAAC,CAAC,CAACC,OAAO,CAACsB,WAAW,CAACrB,GAAG,CAAC,CAAC,IAAI,IAAI;IAC9DqC,OAAO,EAAEA,CAAA,KAAM;MACb,MAAM,IAAI3C,KAAK,CAAC,wCAAwC,CAAC;IAC3D,CAAC;IACDe,IAAI,EAAE,CAAC;IACP6B,IAAI,EAAEA,CAAA,KAAM;MACV;IAAA;EAEJ,CAAC;AACH,CAAC;AAACC,OAAA,CAAAhD,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_MMKV","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_hooks"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,MAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,MAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,MAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_MMKV","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_hooks"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,MAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,MAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,MAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ import { NativeModules, Platform } from 'react-native';
2
+ /**
3
+ * Lazily get a TurboModule by wrapping it in a Proxy.
4
+ */
5
+ export function getLazyTurboModule(initializeTurboModule) {
6
+ const proxy = new Proxy({
7
+ module: null
8
+ }, {
9
+ get: (target, property) => {
10
+ if (target.module == null) {
11
+ // Target is null, let's initialize it!
12
+ target.module = initializeTurboModule();
13
+ if (target.module == null) {
14
+ // TurboModule not found, something went wrong!
15
+ let message = 'Failed to create a new MMKV instance: The native MMKV Module could not be found.';
16
+ message += '\n* Make sure react-native-mmkv is correctly autolinked (run `npx react-native config` to verify)';
17
+ if (Platform.OS === 'ios' || Platform.OS === 'macos') {
18
+ message += '\n* Make sure you ran `pod install` in the ios/ directory.';
19
+ }
20
+ if (Platform.OS === 'android') {
21
+ message += '\n* Make sure gradle is synced.';
22
+ }
23
+ // check if Expo
24
+ const ExpoConstants = NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants;
25
+ if (ExpoConstants != null) {
26
+ if (ExpoConstants.appOwnership === 'expo') {
27
+ // We're running Expo Go
28
+ throw new Error('react-native-mmkv is not supported in Expo Go! Use EAS (`expo prebuild`) or eject to a bare workflow instead.');
29
+ } else {
30
+ // We're running Expo bare / standalone
31
+ message += '\n* Make sure you ran `expo prebuild`.';
32
+ }
33
+ }
34
+ message += '\n* Make sure you rebuilt the app.';
35
+ throw new Error(message);
36
+ }
37
+ }
38
+ return target.module[property];
39
+ }
40
+ });
41
+ return proxy;
42
+ }
43
+ //# sourceMappingURL=LazyTurboModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","getLazyTurboModule","initializeTurboModule","proxy","Proxy","module","get","target","property","message","OS","ExpoConstants","NativeUnimoduleProxy","modulesConstants","ExponentConstants","appOwnership","Error"],"sourceRoot":"../../src","sources":["LazyTurboModule.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAqB,cAAc;AAMnE;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,qBAAqC,EAClC;EACH,MAAMC,KAAK,GAAG,IAAIC,KAAK,CACrB;IACEC,MAAM,EAAE;EACV,CAAC,EACD;IACEC,GAAG,EAAEA,CAACC,MAAM,EAAEC,QAAQ,KAAK;MACzB,IAAID,MAAM,CAACF,MAAM,IAAI,IAAI,EAAE;QACzB;QACAE,MAAM,CAACF,MAAM,GAAGH,qBAAqB,CAAC,CAAC;QAEvC,IAAIK,MAAM,CAACF,MAAM,IAAI,IAAI,EAAE;UACzB;UACA,IAAII,OAAO,GACT,kFAAkF;UACpFA,OAAO,IACL,mGAAmG;UACrG,IAAIT,QAAQ,CAACU,EAAE,KAAK,KAAK,IAAIV,QAAQ,CAACU,EAAE,KAAK,OAAO,EAAE;YACpDD,OAAO,IACL,4DAA4D;UAChE;UACA,IAAIT,QAAQ,CAACU,EAAE,KAAK,SAAS,EAAE;YAC7BD,OAAO,IAAI,iCAAiC;UAC9C;UACA;UACA,MAAME,aAAa,GACjBZ,aAAa,CAACa,oBAAoB,EAAEC,gBAAgB,EAChDC,iBAAiB;UACvB,IAAIH,aAAa,IAAI,IAAI,EAAE;YACzB,IAAIA,aAAa,CAACI,YAAY,KAAK,MAAM,EAAE;cACzC;cACA,MAAM,IAAIC,KAAK,CACb,+GACF,CAAC;YACH,CAAC,MAAM;cACL;cACAP,OAAO,IAAI,wCAAwC;YACrD;UACF;UAEAA,OAAO,IAAI,oCAAoC;UAC/C,MAAM,IAAIO,KAAK,CAACP,OAAO,CAAC;QAC1B;MACF;MAEA,OAAOF,MAAM,CAACF,MAAM,CAACG,QAAQ,CAAY;IAC3C;EACF,CACF,CAAC;EACD,OAAOL,KAAK;AACd","ignoreList":[]}
@@ -3,11 +3,6 @@ import { createMMKV } from './createMMKV';
3
3
  import { createMockMMKV } from './createMMKV.mock';
4
4
  import { isJest } from './PlatformChecker';
5
5
  export { Configuration, Mode } from './NativeMmkv';
6
-
7
- /**
8
- * Represents a single MMKV instance.
9
- */
10
-
11
6
  const onValueChangedListeners = new Map();
12
7
 
13
8
  /**
@@ -24,12 +19,10 @@ export class MMKV {
24
19
  this.id = configuration.id;
25
20
  this.nativeInstance = isJest() ? createMockMMKV() : createMMKV(configuration);
26
21
  this.functionCache = {};
27
- if ('WeakRef' in global) {
28
- const weakSelf = new WeakRef(this);
29
- AppState.addEventListener('memoryWarning', () => {
30
- weakSelf.deref()?.trim();
31
- });
32
- }
22
+ AppState.addEventListener('memoryWarning', () => {
23
+ // when we have a memory warning, delete unused keys by trimming MMKV
24
+ this.trim();
25
+ });
33
26
  }
34
27
  get onValueChangedListeners() {
35
28
  if (!onValueChangedListeners.has(this.id)) {
@@ -1 +1 @@
1
- {"version":3,"names":["AppState","createMMKV","createMockMMKV","isJest","Configuration","Mode","onValueChangedListeners","Map","MMKV","constructor","configuration","id","nativeInstance","functionCache","global","weakSelf","WeakRef","addEventListener","deref","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"],"sourceRoot":"../../src","sources":["MMKV.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AppState","createMMKV","createMockMMKV","isJest","Configuration","Mode","onValueChangedListeners","Map","MMKV","constructor","configuration","id","nativeInstance","functionCache","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"],"sourceRoot":"../../src","sources":["MMKV.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { NativeModules, Platform } from 'react-native';
2
1
  import { TurboModuleRegistry } from 'react-native';
2
+ import { getLazyTurboModule } from './LazyTurboModule';
3
3
  import { PlatformContext } from './NativeMmkvPlatformContext';
4
4
 
5
5
  /**
@@ -15,49 +15,18 @@ export let Mode = /*#__PURE__*/function (Mode) {
15
15
  * Used for configuration of a single MMKV instance.
16
16
  */
17
17
 
18
- let module = null;
19
18
  let basePath = null;
20
-
21
- /**
22
- * Get the MMKV TurboModule, and initialize it if this is the first time calling.
23
- * This will throw an error if the module cannot be found.
24
- */
25
- export function getMMKVTurboModule() {
26
- if (module == null) {
27
- // try to find the turbomodule
28
- module = TurboModuleRegistry.get('MmkvCxx');
29
- if (module == null) {
30
- // if it still is null, something went wrong!
31
- let message = 'Failed to create a new MMKV instance: The native MMKV Module could not be found.';
32
- message += '\n* Make sure react-native-mmkv is correctly autolinked (run `npx react-native config` to verify)';
33
- if (Platform.OS === 'ios' || Platform.OS === 'macos') {
34
- message += '\n* Make sure you ran `pod install` in the ios/ directory.';
35
- }
36
- if (Platform.OS === 'android') {
37
- message += '\n* Make sure gradle is synced.';
38
- }
39
- // check if Expo
40
- const ExpoConstants = NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants;
41
- if (ExpoConstants != null) {
42
- if (ExpoConstants.appOwnership === 'expo') {
43
- // We're running Expo Go
44
- throw new Error('react-native-mmkv is not supported in Expo Go! Use EAS (`expo prebuild`) or eject to a bare workflow instead.');
45
- } else {
46
- // We're running Expo bare / standalone
47
- message += '\n* Make sure you ran `expo prebuild`.';
48
- }
49
- }
50
- message += '\n* Make sure you rebuilt the app.';
51
- throw new Error(message);
52
- }
53
- if (basePath == null) {
54
- // Get base path from platform specific context
55
- basePath = PlatformContext.getBaseDirectory();
56
- }
57
-
58
- // Initialize MMKV
19
+ function getNativeModule() {
20
+ if (basePath == null) {
21
+ // use default base path from the Platform (iOS/Android)
22
+ basePath = PlatformContext.getBaseDirectory();
23
+ }
24
+ const module = TurboModuleRegistry.get('MmkvCxx');
25
+ if (module != null) {
26
+ // initialize MMKV
59
27
  module.initialize(basePath);
60
28
  }
61
29
  return module;
62
30
  }
31
+ export const MMKVTurboModule = getLazyTurboModule(getNativeModule);
63
32
  //# sourceMappingURL=NativeMmkv.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","TurboModuleRegistry","PlatformContext","Mode","module","basePath","getMMKVTurboModule","get","message","OS","ExpoConstants","NativeUnimoduleProxy","modulesConstants","ExponentConstants","appOwnership","Error","getBaseDirectory","initialize"],"sourceRoot":"../../src","sources":["NativeMmkv.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAqB,cAAc;AACnE,SAASC,mBAAmB,QAAQ,cAAc;AAElD,SAASC,eAAe,QAAQ,6BAA6B;;AAE7D;AACA;AACA;AACA,WAAYC,IAAI,0BAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;;AAWhB;AACA;AACA;;AAyDA,IAAIC,MAAmB,GAAG,IAAI;AAC9B,IAAIC,QAAuB,GAAG,IAAI;;AAElC;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAS;EACzC,IAAIF,MAAM,IAAI,IAAI,EAAE;IAClB;IACAA,MAAM,GAAGH,mBAAmB,CAACM,GAAG,CAAO,SAAS,CAAC;IAEjD,IAAIH,MAAM,IAAI,IAAI,EAAE;MAClB;MACA,IAAII,OAAO,GACT,kFAAkF;MACpFA,OAAO,IACL,mGAAmG;MACrG,IAAIR,QAAQ,CAACS,EAAE,KAAK,KAAK,IAAIT,QAAQ,CAACS,EAAE,KAAK,OAAO,EAAE;QACpDD,OAAO,IAAI,4DAA4D;MACzE;MACA,IAAIR,QAAQ,CAACS,EAAE,KAAK,SAAS,EAAE;QAC7BD,OAAO,IAAI,iCAAiC;MAC9C;MACA;MACA,MAAME,aAAa,GACjBX,aAAa,CAACY,oBAAoB,EAAEC,gBAAgB,EAAEC,iBAAiB;MACzE,IAAIH,aAAa,IAAI,IAAI,EAAE;QACzB,IAAIA,aAAa,CAACI,YAAY,KAAK,MAAM,EAAE;UACzC;UACA,MAAM,IAAIC,KAAK,CACb,+GACF,CAAC;QACH,CAAC,MAAM;UACL;UACAP,OAAO,IAAI,wCAAwC;QACrD;MACF;MAEAA,OAAO,IAAI,oCAAoC;MAC/C,MAAM,IAAIO,KAAK,CAACP,OAAO,CAAC;IAC1B;IAEA,IAAIH,QAAQ,IAAI,IAAI,EAAE;MACpB;MACAA,QAAQ,GAAGH,eAAe,CAACc,gBAAgB,CAAC,CAAC;IAC/C;;IAEA;IACAZ,MAAM,CAACa,UAAU,CAACZ,QAAQ,CAAC;EAC7B;EAEA,OAAOD,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getLazyTurboModule","PlatformContext","Mode","basePath","getNativeModule","getBaseDirectory","module","get","initialize","MMKVTurboModule"],"sourceRoot":"../../src","sources":["NativeMmkv.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAElD,SAASC,kBAAkB,QAAQ,mBAAmB;AACtD,SAASC,eAAe,QAAQ,6BAA6B;;AAE7D;AACA;AACA;AACA,WAAYC,IAAI,0BAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAJA,IAAI,CAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;;AAWhB;AACA;AACA;;AAiEA,IAAIC,QAAuB,GAAG,IAAI;AAElC,SAASC,eAAeA,CAAA,EAAgB;EACtC,IAAID,QAAQ,IAAI,IAAI,EAAE;IACpB;IACAA,QAAQ,GAAGF,eAAe,CAACI,gBAAgB,CAAC,CAAC;EAC/C;EAEA,MAAMC,MAAM,GAAGP,mBAAmB,CAACQ,GAAG,CAAO,SAAS,CAAC;EAEvD,IAAID,MAAM,IAAI,IAAI,EAAE;IAClB;IACAA,MAAM,CAACE,UAAU,CAACL,QAAQ,CAAC;EAC7B;EAEA,OAAOG,MAAM;AACf;AACA,OAAO,MAAMG,eAAe,GAAGT,kBAAkB,CAACI,eAAe,CAAC","ignoreList":[]}
@@ -1,3 +1,7 @@
1
1
  import { TurboModuleRegistry } from 'react-native';
2
- export const PlatformContext = TurboModuleRegistry.getEnforcing('MmkvPlatformContext');
2
+ import { getLazyTurboModule } from './LazyTurboModule';
3
+ function getModule() {
4
+ return TurboModuleRegistry.get('MmkvPlatformContext');
5
+ }
6
+ export const PlatformContext = getLazyTurboModule(getModule);
3
7
  //# sourceMappingURL=NativeMmkvPlatformContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","PlatformContext","getEnforcing"],"sourceRoot":"../../src","sources":["NativeMmkvPlatformContext.ts"],"mappings":"AAAA,SAAsBA,mBAAmB,QAAQ,cAAc;AAS/D,OAAO,MAAMC,eAAe,GAAGD,mBAAmB,CAACE,YAAY,CAC7D,qBACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getLazyTurboModule","getModule","get","PlatformContext"],"sourceRoot":"../../src","sources":["NativeMmkvPlatformContext.ts"],"mappings":"AAAA,SAAsBA,mBAAmB,QAAQ,cAAc;AAC/D,SAASC,kBAAkB,QAAQ,mBAAmB;AAStD,SAASC,SAASA,CAAA,EAAgB;EAChC,OAAOF,mBAAmB,CAACG,GAAG,CAAO,qBAAqB,CAAC;AAC7D;AACA,OAAO,MAAMC,eAAe,GAAGH,kBAAkB,CAACC,SAAS,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=Types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["Types.ts"],"mappings":"","ignoreList":[]}
@@ -1,7 +1,6 @@
1
- import { getMMKVTurboModule } from './NativeMmkv';
2
- const module = getMMKVTurboModule();
1
+ import { MMKVTurboModule } from './NativeMmkv';
3
2
  export const createMMKV = config => {
4
- const instance = module.createMMKV(config);
3
+ const instance = MMKVTurboModule.createMMKV(config);
5
4
  if (__DEV__) {
6
5
  if (typeof instance !== 'object' || instance == null) {
7
6
  throw new Error('Failed to create MMKV instance - an unknown object was returned by createMMKV(..)!');
@@ -1 +1 @@
1
- {"version":3,"names":["getMMKVTurboModule","module","createMMKV","config","instance","__DEV__","Error"],"sourceRoot":"../../src","sources":["createMMKV.ts"],"mappings":"AACA,SAASA,kBAAkB,QAAQ,cAAc;AAEjD,MAAMC,MAAM,GAAGD,kBAAkB,CAAC,CAAC;AAEnC,OAAO,MAAME,UAAU,GAAIC,MAAqB,IAAiB;EAC/D,MAAMC,QAAQ,GAAGH,MAAM,CAACC,UAAU,CAACC,MAAM,CAAC;EAC1C,IAAIE,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","ignoreList":[]}
1
+ {"version":3,"names":["MMKVTurboModule","createMMKV","config","instance","__DEV__","Error"],"sourceRoot":"../../src","sources":["createMMKV.ts"],"mappings":"AACA,SAASA,eAAe,QAAQ,cAAc;AAG9C,OAAO,MAAMC,UAAU,GAAIC,MAAqB,IAAiB;EAC/D,MAAMC,QAAQ,GAAGH,eAAe,CAACC,UAAU,CAACC,MAAM,CAAC;EACnD,IAAIE,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","ignoreList":[]}