react-native-mmkv 2.12.2 → 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 (131) hide show
  1. package/LICENSE +1 -200
  2. package/MMKV/Core/Core.xcodeproj/project.pbxproj +4 -2
  3. package/MMKV/Core/MMKVPredef.h +1 -1
  4. package/MMKV/Core/MMKV_IO.cpp +5 -1
  5. package/MMKV/Core/MemoryFile.cpp +1 -0
  6. package/MMKV/Core/MemoryFile_OSX.cpp +2 -1
  7. package/MMKV/README.md +8 -8
  8. package/README.md +35 -4
  9. package/android/CMakeLists.txt +20 -28
  10. package/android/build.gradle +59 -89
  11. package/android/gradle.properties +4 -5
  12. package/android/src/main/AndroidManifest.xml +2 -2
  13. package/android/src/{hasNamespace/AndroidManifest.xml → main/AndroidManifestNew.xml} +0 -1
  14. package/android/src/main/cpp/AndroidLogger.cpp +16 -0
  15. package/android/src/main/cpp/cpp-adapter.cpp +4 -80
  16. package/android/src/main/java/com/mrousavy/mmkv/MmkvPackage.java +44 -0
  17. package/android/src/main/java/com/mrousavy/mmkv/MmkvPlatformContextModule.java +17 -0
  18. package/cpp/Logger.h +35 -0
  19. package/cpp/MMKVManagedBuffer.h +32 -0
  20. package/{android/src/main/cpp → cpp}/MmkvHostObject.cpp +126 -63
  21. package/{android/src/main/cpp → cpp}/MmkvHostObject.h +9 -3
  22. package/cpp/NativeMmkvModule.cpp +46 -0
  23. package/cpp/NativeMmkvModule.h +37 -0
  24. package/ios/AppleLogger.mm +16 -0
  25. package/ios/MmkvOnLoad.mm +25 -0
  26. package/ios/MmkvPlatformContext.h +19 -0
  27. package/ios/MmkvPlatformContextModule.mm +37 -0
  28. package/lib/commonjs/LazyTurboModule.js +49 -0
  29. package/lib/commonjs/LazyTurboModule.js.map +1 -0
  30. package/lib/commonjs/MMKV.js +28 -4
  31. package/lib/commonjs/MMKV.js.map +1 -1
  32. package/lib/commonjs/NativeMmkv.js +35 -0
  33. package/lib/commonjs/NativeMmkv.js.map +1 -0
  34. package/lib/commonjs/NativeMmkvPlatformContext.js +13 -0
  35. package/lib/commonjs/NativeMmkvPlatformContext.js.map +1 -0
  36. package/lib/commonjs/PlatformChecker.js.map +1 -1
  37. package/lib/commonjs/Types.js +2 -0
  38. package/lib/commonjs/Types.js.map +1 -0
  39. package/lib/commonjs/createMMKV.js +6 -43
  40. package/lib/commonjs/createMMKV.js.map +1 -1
  41. package/lib/commonjs/createMMKV.mock.js +5 -1
  42. package/lib/commonjs/createMMKV.mock.js.map +1 -1
  43. package/lib/commonjs/createMMKV.web.js +8 -4
  44. package/lib/commonjs/createMMKV.web.js.map +1 -1
  45. package/lib/commonjs/createTextEncoder.js.map +1 -1
  46. package/lib/commonjs/hooks.js +11 -10
  47. package/lib/commonjs/hooks.js.map +1 -1
  48. package/lib/commonjs/index.js.map +1 -1
  49. package/lib/module/LazyTurboModule.js +43 -0
  50. package/lib/module/LazyTurboModule.js.map +1 -0
  51. package/lib/module/MMKV.js +16 -4
  52. package/lib/module/MMKV.js.map +1 -1
  53. package/lib/module/NativeMmkv.js +32 -0
  54. package/lib/module/NativeMmkv.js.map +1 -0
  55. package/lib/module/NativeMmkvPlatformContext.js +7 -0
  56. package/lib/module/NativeMmkvPlatformContext.js.map +1 -0
  57. package/lib/module/PlatformChecker.js.map +1 -1
  58. package/lib/module/Types.js +2 -0
  59. package/lib/module/Types.js.map +1 -0
  60. package/lib/module/createMMKV.js +6 -43
  61. package/lib/module/createMMKV.js.map +1 -1
  62. package/lib/module/createMMKV.mock.js +5 -1
  63. package/lib/module/createMMKV.mock.js.map +1 -1
  64. package/lib/module/createMMKV.web.js +6 -4
  65. package/lib/module/createMMKV.web.js.map +1 -1
  66. package/lib/module/createTextEncoder.js.map +1 -1
  67. package/lib/module/hooks.js +7 -2
  68. package/lib/module/hooks.js.map +1 -1
  69. package/lib/module/index.js.map +1 -1
  70. package/lib/typescript/src/LazyTurboModule.d.ts +6 -0
  71. package/lib/typescript/src/LazyTurboModule.d.ts.map +1 -0
  72. package/lib/typescript/src/MMKV.d.ts +35 -0
  73. package/lib/typescript/src/MMKV.d.ts.map +1 -0
  74. package/lib/typescript/src/NativeMmkv.d.ts +83 -0
  75. package/lib/typescript/src/NativeMmkv.d.ts.map +1 -0
  76. package/lib/typescript/src/NativeMmkvPlatformContext.d.ts +9 -0
  77. package/lib/typescript/src/NativeMmkvPlatformContext.d.ts.map +1 -0
  78. package/lib/typescript/src/PlatformChecker.d.ts.map +1 -0
  79. package/lib/typescript/src/Types.d.ts +86 -0
  80. package/lib/typescript/src/Types.d.ts.map +1 -0
  81. package/lib/typescript/src/__tests__/hooks.test.d.ts +2 -0
  82. package/lib/typescript/src/__tests__/hooks.test.d.ts.map +1 -0
  83. package/lib/typescript/src/createMMKV.d.ts +4 -0
  84. package/lib/typescript/src/createMMKV.d.ts.map +1 -0
  85. package/lib/typescript/src/createMMKV.mock.d.ts +3 -0
  86. package/lib/typescript/src/createMMKV.mock.d.ts.map +1 -0
  87. package/lib/typescript/src/createMMKV.web.d.ts +4 -0
  88. package/lib/typescript/src/createMMKV.web.d.ts.map +1 -0
  89. package/lib/typescript/src/createTextEncoder.d.ts.map +1 -0
  90. package/lib/typescript/{hooks.d.ts → src/hooks.d.ts} +7 -4
  91. package/lib/typescript/src/hooks.d.ts.map +1 -0
  92. package/lib/typescript/src/index.d.ts.map +1 -0
  93. package/package.json +52 -40
  94. package/react-native-mmkv.podspec +17 -18
  95. package/react-native.config.js +20 -0
  96. package/src/LazyTurboModule.ts +62 -0
  97. package/src/MMKV.ts +19 -132
  98. package/src/NativeMmkv.ts +105 -0
  99. package/src/NativeMmkvPlatformContext.ts +14 -0
  100. package/src/Types.ts +89 -0
  101. package/src/__tests__/hooks.test.tsx +89 -0
  102. package/src/createMMKV.mock.ts +7 -3
  103. package/src/createMMKV.ts +10 -65
  104. package/src/createMMKV.web.ts +7 -2
  105. package/src/hooks.ts +17 -11
  106. package/android/src/main/java/com/reactnativemmkv/MmkvModule.java +0 -49
  107. package/android/src/main/java/com/reactnativemmkv/MmkvPackage.java +0 -26
  108. package/cpp/TypedArray.cpp +0 -322
  109. package/cpp/TypedArray.h +0 -153
  110. package/ios/JSIUtils.h +0 -38
  111. package/ios/JSIUtils.mm +0 -167
  112. package/ios/Mmkv.xcodeproj/project.pbxproj +0 -291
  113. package/ios/MmkvHostObject.h +0 -27
  114. package/ios/MmkvHostObject.mm +0 -295
  115. package/ios/MmkvModule.h +0 -5
  116. package/ios/MmkvModule.mm +0 -101
  117. package/lib/typescript/MMKV.d.ts +0 -142
  118. package/lib/typescript/MMKV.d.ts.map +0 -1
  119. package/lib/typescript/PlatformChecker.d.ts.map +0 -1
  120. package/lib/typescript/createMMKV.d.ts +0 -7
  121. package/lib/typescript/createMMKV.d.ts.map +0 -1
  122. package/lib/typescript/createMMKV.mock.d.ts +0 -3
  123. package/lib/typescript/createMMKV.mock.d.ts.map +0 -1
  124. package/lib/typescript/createMMKV.web.d.ts +0 -3
  125. package/lib/typescript/createMMKV.web.d.ts.map +0 -1
  126. package/lib/typescript/createTextEncoder.d.ts.map +0 -1
  127. package/lib/typescript/hooks.d.ts.map +0 -1
  128. package/lib/typescript/index.d.ts.map +0 -1
  129. /package/lib/typescript/{PlatformChecker.d.ts → src/PlatformChecker.d.ts} +0 -0
  130. /package/lib/typescript/{createTextEncoder.d.ts → src/createTextEncoder.d.ts} +0 -0
  131. /package/lib/typescript/{index.d.ts → src/index.d.ts} +0 -0
@@ -0,0 +1,7 @@
1
+ import { TurboModuleRegistry } from 'react-native';
2
+ import { getLazyTurboModule } from './LazyTurboModule';
3
+ function getModule() {
4
+ return TurboModuleRegistry.get('MmkvPlatformContext');
5
+ }
6
+ export const PlatformContext = getLazyTurboModule(getModule);
7
+ //# sourceMappingURL=NativeMmkvPlatformContext.js.map
@@ -0,0 +1 @@
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":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["isJest","global","process","env","JEST_WORKER_ID"],"sourceRoot":"../../src","sources":["PlatformChecker.ts"],"mappings":"AAAA,OAAO,SAASA,MAAM,GAAY;EAChC,IAAIC,MAAM,CAACC,OAAO,IAAI,IAAI,EAAE;IAC1B;IACA,OAAO,KAAK;EACd;EACA,OAAOA,OAAO,CAACC,GAAG,CAACC,cAAc,IAAI,IAAI;AAC3C"}
1
+ {"version":3,"names":["isJest","global","process","env","JEST_WORKER_ID"],"sourceRoot":"../../src","sources":["PlatformChecker.ts"],"mappings":"AAAA,OAAO,SAASA,MAAMA,CAAA,EAAY;EAChC,IAAIC,MAAM,CAACC,OAAO,IAAI,IAAI,EAAE;IAC1B;IACA,OAAO,KAAK;EACd;EACA,OAAOA,OAAO,CAACC,GAAG,CAACC,cAAc,IAAI,IAAI;AAC3C","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,48 +1,11 @@
1
- import { NativeModules, Platform } from 'react-native';
2
- // Root directory of all MMKV stores
3
- const ROOT_DIRECTORY = null;
1
+ import { MMKVTurboModule } from './NativeMmkv';
4
2
  export const createMMKV = config => {
5
- // Check if the constructor exists. If not, try installing the JSI bindings.
6
- if (global.mmkvCreateNewInstance == null) {
7
- // Get the native MMKV ReactModule
8
- const MMKVModule = NativeModules.MMKV;
9
- if (MMKVModule == null) {
10
- var _NativeModules$Native, _NativeModules$Native2;
11
- let message = 'Failed to create a new MMKV instance: The native MMKV Module could not be found.';
12
- message += '\n* Make sure react-native-mmkv is correctly autolinked (run `npx react-native config` to verify)';
13
- if (Platform.OS === 'ios' || Platform.OS === 'macos') {
14
- message += '\n* Make sure you ran `pod install` in the ios/ directory.';
15
- }
16
- if (Platform.OS === 'android') {
17
- message += '\n* Make sure gradle is synced.';
18
- }
19
- // check if Expo
20
- const ExpoConstants = (_NativeModules$Native = NativeModules.NativeUnimoduleProxy) === null || _NativeModules$Native === void 0 ? void 0 : (_NativeModules$Native2 = _NativeModules$Native.modulesConstants) === null || _NativeModules$Native2 === void 0 ? void 0 : _NativeModules$Native2.ExponentConstants;
21
- if (ExpoConstants != null) {
22
- if (ExpoConstants.appOwnership === 'expo') {
23
- // We're running Expo Go
24
- throw new Error('react-native-mmkv is not supported in Expo Go! Use EAS (`expo prebuild`) or eject to a bare workflow instead.');
25
- } else {
26
- // We're running Expo bare / standalone
27
- message += '\n* Make sure you ran `expo prebuild`.';
28
- }
29
- }
30
- message += '\n* Make sure you rebuilt the app.';
31
- throw new Error(message);
3
+ const instance = MMKVTurboModule.createMMKV(config);
4
+ if (__DEV__) {
5
+ if (typeof instance !== 'object' || instance == null) {
6
+ throw new Error('Failed to create MMKV instance - an unknown object was returned by createMMKV(..)!');
32
7
  }
33
-
34
- // Check if we are running on-device (JSI)
35
- if (global.nativeCallSyncHook == null || MMKVModule.install == null) {
36
- throw new Error('Failed to create a new MMKV instance: React Native is not running on-device. MMKV can only be used when synchronous method invocations (JSI) are possible. If you are using a remote debugger (e.g. Chrome), switch to an on-device debugger (e.g. Flipper) instead.');
37
- }
38
-
39
- // Call the synchronous blocking install() function
40
- const result = MMKVModule.install(ROOT_DIRECTORY);
41
- if (result !== true) throw new Error(`Failed to create a new MMKV instance: The native MMKV Module could not be installed! Looks like something went wrong when installing JSI bindings: ${result}`);
42
-
43
- // Check again if the constructor now exists. If not, throw an error.
44
- if (global.mmkvCreateNewInstance == null) throw new Error('Failed to create a new MMKV instance, the native initializer function does not exist. Are you trying to use MMKV from different JS Runtimes?');
45
8
  }
46
- return global.mmkvCreateNewInstance(config);
9
+ return instance;
47
10
  };
48
11
  //# sourceMappingURL=createMMKV.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","ROOT_DIRECTORY","createMMKV","config","global","mmkvCreateNewInstance","MMKVModule","MMKV","message","OS","ExpoConstants","NativeUnimoduleProxy","modulesConstants","ExponentConstants","appOwnership","Error","nativeCallSyncHook","install","result"],"sourceRoot":"../../src","sources":["createMMKV.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAStD;AACA,MAAMC,cAA6B,GAAG,IAAI;AAE1C,OAAO,MAAMC,UAAU,GAAIC,MAAyB,IAAiB;EACnE;EACA,IAAIC,MAAM,CAACC,qBAAqB,IAAI,IAAI,EAAE;IACxC;IACA,MAAMC,UAAU,GAAGP,aAAa,CAACQ,IAAI;IACrC,IAAID,UAAU,IAAI,IAAI,EAAE;MAAA;MACtB,IAAIE,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,4BACjBX,aAAa,CAACY,oBAAoB,oFAAlC,sBAAoCC,gBAAgB,2DAApD,uBAAsDC,iBAAiB;MACzE,IAAIH,aAAa,IAAI,IAAI,EAAE;QACzB,IAAIA,aAAa,CAACI,YAAY,KAAK,MAAM,EAAE;UACzC;UACA,MAAM,IAAIC,KAAK,CACb,+GAA+G,CAChH;QACH,CAAC,MAAM;UACL;UACAP,OAAO,IAAI,wCAAwC;QACrD;MACF;MAEAA,OAAO,IAAI,oCAAoC;MAC/C,MAAM,IAAIO,KAAK,CAACP,OAAO,CAAC;IAC1B;;IAEA;IACA,IAAIJ,MAAM,CAACY,kBAAkB,IAAI,IAAI,IAAIV,UAAU,CAACW,OAAO,IAAI,IAAI,EAAE;MACnE,MAAM,IAAIF,KAAK,CACb,sQAAsQ,CACvQ;IACH;;IAEA;IACA,MAAMG,MAAM,GAAGZ,UAAU,CAACW,OAAO,CAAChB,cAAc,CAAC;IACjD,IAAIiB,MAAM,KAAK,IAAI,EACjB,MAAM,IAAIH,KAAK,CACZ,sJAAqJG,MAAO,EAAC,CAC/J;;IAEH;IACA,IAAId,MAAM,CAACC,qBAAqB,IAAI,IAAI,EACtC,MAAM,IAAIU,KAAK,CACb,8IAA8I,CAC/I;EACL;EAEA,OAAOX,MAAM,CAACC,qBAAqB,CAACF,MAAM,CAAC;AAC7C,CAAC"}
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":[]}
@@ -19,12 +19,16 @@ export const createMockMMKV = () => {
19
19
  },
20
20
  getBuffer: key => {
21
21
  const result = storage.get(key);
22
- return result instanceof Uint8Array ? result : undefined;
22
+ return result instanceof ArrayBuffer ? result : undefined;
23
23
  },
24
24
  getAllKeys: () => Array.from(storage.keys()),
25
25
  contains: key => storage.has(key),
26
26
  recrypt: () => {
27
27
  console.warn('Encryption is not supported in mocked MMKV instances!');
28
+ },
29
+ size: 0,
30
+ trim: () => {
31
+ // no-op
28
32
  }
29
33
  };
30
34
  };
@@ -1 +1 @@
1
- {"version":3,"names":["createMockMMKV","storage","Map","clearAll","clear","delete","key","set","value","getString","result","get","undefined","getNumber","getBoolean","getBuffer","Uint8Array","getAllKeys","Array","from","keys","contains","has","recrypt","console","warn"],"sourceRoot":"../../src","sources":["createMMKV.mock.ts"],"mappings":"AAEA;AACA,OAAO,MAAMA,cAAc,GAAG,MAAkB;EAC9C,MAAMC,OAAO,GAAG,IAAIC,GAAG,EAAkD;EAEzE,OAAO;IACLC,QAAQ,EAAE,MAAMF,OAAO,CAACG,KAAK,EAAE;IAC/BC,MAAM,EAAGC,GAAG,IAAKL,OAAO,CAACI,MAAM,CAACC,GAAG,CAAC;IACpCC,GAAG,EAAE,CAACD,GAAG,EAAEE,KAAK,KAAKP,OAAO,CAACM,GAAG,CAACD,GAAG,EAAEE,KAAK,CAAC;IAC5CC,SAAS,EAAGH,GAAG,IAAK;MAClB,MAAMI,MAAM,GAAGT,OAAO,CAACU,GAAG,CAACL,GAAG,CAAC;MAC/B,OAAO,OAAOI,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGE,SAAS;IACxD,CAAC;IACDC,SAAS,EAAGP,GAAG,IAAK;MAClB,MAAMI,MAAM,GAAGT,OAAO,CAACU,GAAG,CAACL,GAAG,CAAC;MAC/B,OAAO,OAAOI,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGE,SAAS;IACxD,CAAC;IACDE,UAAU,EAAGR,GAAG,IAAK;MACnB,MAAMI,MAAM,GAAGT,OAAO,CAACU,GAAG,CAACL,GAAG,CAAC;MAC/B,OAAO,OAAOI,MAAM,KAAK,SAAS,GAAGA,MAAM,GAAGE,SAAS;IACzD,CAAC;IACDG,SAAS,EAAGT,GAAG,IAAK;MAClB,MAAMI,MAAM,GAAGT,OAAO,CAACU,GAAG,CAACL,GAAG,CAAC;MAC/B,OAAOI,MAAM,YAAYM,UAAU,GAAGN,MAAM,GAAGE,SAAS;IAC1D,CAAC;IACDK,UAAU,EAAE,MAAMC,KAAK,CAACC,IAAI,CAAClB,OAAO,CAACmB,IAAI,EAAE,CAAC;IAC5CC,QAAQ,EAAGf,GAAG,IAAKL,OAAO,CAACqB,GAAG,CAAChB,GAAG,CAAC;IACnCiB,OAAO,EAAE,MAAM;MACbC,OAAO,CAACC,IAAI,CAAC,uDAAuD,CAAC;IACvE;EACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"names":["createMockMMKV","storage","Map","clearAll","clear","delete","key","set","value","getString","result","get","undefined","getNumber","getBoolean","getBuffer","ArrayBuffer","getAllKeys","Array","from","keys","contains","has","recrypt","console","warn","size","trim"],"sourceRoot":"../../src","sources":["createMMKV.mock.ts"],"mappings":"AAEA;AACA,OAAO,MAAMA,cAAc,GAAGA,CAAA,KAAkB;EAC9C,MAAMC,OAAO,GAAG,IAAIC,GAAG,CAAkD,CAAC;EAE1E,OAAO;IACLC,QAAQ,EAAEA,CAAA,KAAMF,OAAO,CAACG,KAAK,CAAC,CAAC;IAC/BC,MAAM,EAAGC,GAAG,IAAKL,OAAO,CAACI,MAAM,CAACC,GAAG,CAAC;IACpCC,GAAG,EAAEA,CAACD,GAAG,EAAEE,KAAK,KAAKP,OAAO,CAACM,GAAG,CAACD,GAAG,EAAEE,KAAK,CAAC;IAC5CC,SAAS,EAAGH,GAAG,IAAK;MAClB,MAAMI,MAAM,GAAGT,OAAO,CAACU,GAAG,CAACL,GAAG,CAAC;MAC/B,OAAO,OAAOI,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGE,SAAS;IACxD,CAAC;IACDC,SAAS,EAAGP,GAAG,IAAK;MAClB,MAAMI,MAAM,GAAGT,OAAO,CAACU,GAAG,CAACL,GAAG,CAAC;MAC/B,OAAO,OAAOI,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGE,SAAS;IACxD,CAAC;IACDE,UAAU,EAAGR,GAAG,IAAK;MACnB,MAAMI,MAAM,GAAGT,OAAO,CAACU,GAAG,CAACL,GAAG,CAAC;MAC/B,OAAO,OAAOI,MAAM,KAAK,SAAS,GAAGA,MAAM,GAAGE,SAAS;IACzD,CAAC;IACDG,SAAS,EAAGT,GAAG,IAAK;MAClB,MAAMI,MAAM,GAAGT,OAAO,CAACU,GAAG,CAACL,GAAG,CAAC;MAC/B,OAAOI,MAAM,YAAYM,WAAW,GAAGN,MAAM,GAAGE,SAAS;IAC3D,CAAC;IACDK,UAAU,EAAEA,CAAA,KAAMC,KAAK,CAACC,IAAI,CAAClB,OAAO,CAACmB,IAAI,CAAC,CAAC,CAAC;IAC5CC,QAAQ,EAAGf,GAAG,IAAKL,OAAO,CAACqB,GAAG,CAAChB,GAAG,CAAC;IACnCiB,OAAO,EAAEA,CAAA,KAAM;MACbC,OAAO,CAACC,IAAI,CAAC,uDAAuD,CAAC;IACvE,CAAC;IACDC,IAAI,EAAE,CAAC;IACPC,IAAI,EAAEA,CAAA,KAAM;MACV;IAAA;EAEJ,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,8 +1,7 @@
1
- var _window$document;
2
1
  /* global localStorage */
3
2
 
4
3
  import { createTextEncoder } from './createTextEncoder';
5
- const canUseDOM = typeof window !== 'undefined' && ((_window$document = window.document) === null || _window$document === void 0 ? void 0 : _window$document.createElement) != null;
4
+ const canUseDOM = typeof window !== 'undefined' && window.document?.createElement != null;
6
5
  const hasAccessToLocalStorage = () => {
7
6
  try {
8
7
  // throws ACCESS_DENIED error
@@ -27,7 +26,6 @@ export const createMMKV = config => {
27
26
  console.warn('MMKV: LocalStorage has been disabled. Your experience will be limited to in-memory storage!');
28
27
  }
29
28
  const storage = () => {
30
- var _global, _window;
31
29
  if (!canUseDOM) {
32
30
  throw new Error('Tried to access storage on the server. Did you forget to call this in useEffect?');
33
31
  }
@@ -41,7 +39,7 @@ export const createMMKV = config => {
41
39
  key: index => Object.keys(inMemoryStorage).at(index) ?? null
42
40
  };
43
41
  }
44
- const domStorage = ((_global = global) === null || _global === void 0 ? void 0 : _global.localStorage) ?? ((_window = window) === null || _window === void 0 ? void 0 : _window.localStorage) ?? localStorage;
42
+ const domStorage = global?.localStorage ?? window?.localStorage ?? localStorage;
45
43
  if (domStorage == null) {
46
44
  throw new Error(`Could not find 'localStorage' instance!`);
47
45
  }
@@ -94,6 +92,10 @@ export const createMMKV = config => {
94
92
  contains: key => storage().getItem(prefixedKey(key)) != null,
95
93
  recrypt: () => {
96
94
  throw new Error('`recrypt(..)` is not supported on Web!');
95
+ },
96
+ size: 0,
97
+ trim: () => {
98
+ // no-op
97
99
  }
98
100
  };
99
101
  };
@@ -1 +1 @@
1
- {"version":3,"names":["createTextEncoder","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","id","includes","keyPrefix","prefixedKey","clearAll","startsWith","toString","getString","undefined","getNumber","Number","getBoolean","getBuffer","encode","getAllKeys","filter","map","slice","contains","recrypt"],"sourceRoot":"../../src","sources":["createMMKV.web.ts"],"mappings":"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"}
1
+ {"version":3,"names":["createTextEncoder","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","id","includes","keyPrefix","prefixedKey","clearAll","startsWith","toString","getString","undefined","getNumber","Number","getBoolean","getBuffer","encode","getAllKeys","filter","map","slice","contains","recrypt","trim"],"sourceRoot":"../../src","sources":["createMMKV.web.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createTextEncoder","global","TextEncoder","encode","Error","encodeInto","encoding"],"sourceRoot":"../../src","sources":["createTextEncoder.ts"],"mappings":"AAAA;AACA,OAAO,SAASA,iBAAiB,GAAgB;EAC/C,IAAIC,MAAM,CAACC,WAAW,IAAI,IAAI,EAAE;IAC9B,OAAO,IAAID,MAAM,CAACC,WAAW,EAAE;EACjC,CAAC,MAAM;IACL,OAAO;MACLC,MAAM,EAAE,MAAM;QACZ,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;MACtE,CAAC;MACDC,UAAU,EAAE,MAAM;QAChB,MAAM,IAAID,KAAK,CAAC,mDAAmD,CAAC;MACtE,CAAC;MACDE,QAAQ,EAAE;IACZ,CAAC;EACH;AACF"}
1
+ {"version":3,"names":["createTextEncoder","global","TextEncoder","encode","Error","encodeInto","encoding"],"sourceRoot":"../../src","sources":["createTextEncoder.ts"],"mappings":"AAAA;AACA,OAAO,SAASA,iBAAiBA,CAAA,EAAgB;EAC/C,IAAIC,MAAM,CAACC,WAAW,IAAI,IAAI,EAAE;IAC9B,OAAO,IAAID,MAAM,CAACC,WAAW,CAAC,CAAC;EACjC,CAAC,MAAM;IACL,OAAO;MACLC,MAAM,EAAEA,CAAA,KAAM;QACZ,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;MACtE,CAAC;MACDC,UAAU,EAAEA,CAAA,KAAM;QAChB,MAAM,IAAID,KAAK,CAAC,mDAAmD,CAAC;MACtE,CAAC;MACDE,QAAQ,EAAE;IACZ,CAAC;EACH;AACF","ignoreList":[]}
@@ -2,7 +2,7 @@ import { useRef, useState, useMemo, useCallback, useEffect } from 'react';
2
2
  import { MMKV } from './MMKV';
3
3
  function isConfigurationEqual(left, right) {
4
4
  if (left == null || right == null) return left == null && right == null;
5
- return left.encryptionKey === right.encryptionKey && left.id === right.id && left.path === right.path;
5
+ return left.encryptionKey === right.encryptionKey && left.id === right.id && left.path === right.path && left.mode === right.mode;
6
6
  }
7
7
  let defaultInstance = null;
8
8
  function getDefaultInstance() {
@@ -16,6 +16,11 @@ function getDefaultInstance() {
16
16
  * Use the default, shared MMKV instance.
17
17
  */
18
18
 
19
+ /**
20
+ * Use a custom MMKV instance with the given configuration.
21
+ * @param configuration The configuration to initialize the MMKV instance with. Does not have to be memoized.
22
+ */
23
+
19
24
  export function useMMKV(configuration) {
20
25
  const instance = useRef();
21
26
  const lastConfiguration = useRef();
@@ -51,7 +56,7 @@ function createMMKVHook(getter) {
51
56
  mmkv.delete(key);
52
57
  break;
53
58
  case 'object':
54
- if (newValue instanceof Uint8Array) {
59
+ if (newValue instanceof ArrayBuffer) {
55
60
  mmkv.set(key, newValue);
56
61
  break;
57
62
  } else {
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useState","useMemo","useCallback","useEffect","MMKV","isConfigurationEqual","left","right","encryptionKey","id","path","defaultInstance","getDefaultInstance","useMMKV","configuration","instance","lastConfiguration","current","createMMKVHook","getter","key","mmkv","bump","setBump","value","set","v","newValue","delete","Uint8Array","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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"}
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 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,SAAS"}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,SAAS","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import { TurboModule } from 'react-native';
2
+ /**
3
+ * Lazily get a TurboModule by wrapping it in a Proxy.
4
+ */
5
+ export declare function getLazyTurboModule<T extends TurboModule>(initializeTurboModule: () => T | null): T;
6
+ //# sourceMappingURL=LazyTurboModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LazyTurboModule.d.ts","sourceRoot":"","sources":["../../../src/LazyTurboModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,WAAW,EAAE,MAAM,cAAc,CAAC;AAMpE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EACtD,qBAAqB,EAAE,MAAM,CAAC,GAAG,IAAI,GACpC,CAAC,CAkDH"}
@@ -0,0 +1,35 @@
1
+ import { Configuration } from './NativeMmkv';
2
+ import { Listener, MMKVInterface } from './Types';
3
+ export { Configuration, Mode } from './NativeMmkv';
4
+ /**
5
+ * A single MMKV instance.
6
+ */
7
+ export declare class MMKV implements MMKVInterface {
8
+ private nativeInstance;
9
+ private functionCache;
10
+ private id;
11
+ /**
12
+ * Creates a new MMKV instance with the given Configuration.
13
+ * If no custom `id` is supplied, `'mmkv.default'` will be used.
14
+ */
15
+ constructor(configuration?: Configuration);
16
+ private get onValueChangedListeners();
17
+ private getFunctionFromCache;
18
+ private onValuesChanged;
19
+ get size(): number;
20
+ set(key: string, value: boolean | string | number | ArrayBuffer): void;
21
+ getBoolean(key: string): boolean | undefined;
22
+ getString(key: string): string | undefined;
23
+ getNumber(key: string): number | undefined;
24
+ getBuffer(key: string): ArrayBuffer | undefined;
25
+ contains(key: string): boolean;
26
+ delete(key: string): void;
27
+ getAllKeys(): string[];
28
+ clearAll(): void;
29
+ recrypt(key: string | undefined): void;
30
+ trim(): void;
31
+ toString(): string;
32
+ toJSON(): object;
33
+ addOnValueChangedListener(onValueChanged: (key: string) => void): Listener;
34
+ }
35
+ //# sourceMappingURL=MMKV.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MMKV.d.ts","sourceRoot":"","sources":["../../../src/MMKV.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAc,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAInD;;GAEG;AACH,qBAAa,IAAK,YAAW,aAAa;IACxC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,EAAE,CAAS;IAEnB;;;OAGG;gBACS,aAAa,GAAE,aAAsC;IAajE,OAAO,KAAK,uBAAuB,GAKlC;IAED,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe;IAUvB,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;IAMtE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI5C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI1C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI1C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI/C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI9B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMzB,UAAU,IAAI,MAAM,EAAE;IAItB,QAAQ,IAAI,IAAI;IAQhB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAItC,IAAI,IAAI,IAAI;IAKZ,QAAQ,IAAI,MAAM;IAGlB,MAAM,IAAI,MAAM;IAMhB,yBAAyB,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,QAAQ;CAY3E"}
@@ -0,0 +1,83 @@
1
+ /// <reference types="react-native/types/modules/Codegen" />
2
+ import { TurboModule } from 'react-native';
3
+ import { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
4
+ /**
5
+ * Configures the mode of the MMKV instance.
6
+ */
7
+ export declare enum Mode {
8
+ /**
9
+ * The MMKV instance is only used from a single process (this app).
10
+ */
11
+ SINGLE_PROCESS = 0,
12
+ /**
13
+ * The MMKV instance may be used from multiple processes, such as app clips, share extensions or background services.
14
+ */
15
+ MULTI_PROCESS = 1
16
+ }
17
+ /**
18
+ * Used for configuration of a single MMKV instance.
19
+ */
20
+ export interface Configuration {
21
+ /**
22
+ * The MMKV instance's ID. If you want to use multiple instances, make sure to use different IDs!
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const userStorage = new MMKV({ id: `user-${userId}-storage` })
27
+ * const globalStorage = new MMKV({ id: 'global-app-storage' })
28
+ * ```
29
+ *
30
+ * @default 'mmkv.default'
31
+ */
32
+ id: string;
33
+ /**
34
+ * The MMKV instance's root path. By default, MMKV stores file inside `$(Documents)/mmkv/`. You can customize MMKV's root directory on MMKV initialization:
35
+
36
+ * @example
37
+ * ```ts
38
+ * const temporaryStorage = new MMKV({ path: '/tmp/' })
39
+ * ```
40
+ *
41
+ * _Notice_: On iOS you can set the AppGroup bundle property to share the same storage between your app and its extensions.
42
+ * In this case `path` property will be ignored.
43
+ * See more on MMKV configuration [here](https://github.com/Tencent/MMKV/wiki/iOS_tutorial#configuration).
44
+ *
45
+ * @default undefined
46
+ */
47
+ path?: string;
48
+ /**
49
+ * The MMKV instance's encryption/decryption key. By default, MMKV stores all key-values in plain text on file, relying on iOS's sandbox to make sure the file is encrypted. Should you worry about information leaking, you can choose to encrypt MMKV.
50
+ *
51
+ * Encryption keys can have a maximum length of 16 bytes.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * const secureStorage = new MMKV({ encryptionKey: 'my-encryption-key!' })
56
+ * ```
57
+ *
58
+ * @default undefined
59
+ */
60
+ encryptionKey?: string;
61
+ /**
62
+ * Configure the processing mode for MMKV.
63
+ * - `SINGLE_PROCESS`: The MMKV instance is only used from a single process (this app).
64
+ * - `MULTI_PROCESS`: The MMKV instance may be used from multiple processes, such as app clips, share extensions or background services.
65
+ *
66
+ * @default SINGLE_PROCESS
67
+ */
68
+ mode?: Mode;
69
+ }
70
+ export interface Spec extends TurboModule {
71
+ /**
72
+ * Initialize MMKV with the given base storage directory.
73
+ * This should be the documents directory by default.
74
+ */
75
+ initialize(basePath: string): boolean;
76
+ /**
77
+ * Create a new instance of MMKV.
78
+ * The returned {@linkcode UnsafeObject} is a `jsi::HostObject`.
79
+ */
80
+ createMMKV(configuration: Configuration): UnsafeObject;
81
+ }
82
+ export declare const MMKVTurboModule: Spec;
83
+ //# sourceMappingURL=NativeMmkv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeMmkv.d.ts","sourceRoot":"","sources":["../../../src/NativeMmkv.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAIzE;;GAEG;AACH,oBAAY,IAAI;IACd;;OAEG;IACH,cAAc,IAAA;IACd;;OAEG;IACH,aAAa,IAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;OAUG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;OAGG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC;;;OAGG;IACH,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,YAAY,CAAC;CACxD;AAmBD,eAAO,MAAM,eAAe,MAAsC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { TurboModule } from 'react-native';
2
+ export interface Spec extends TurboModule {
3
+ /**
4
+ * Gets the base directory of the documents storage
5
+ */
6
+ getBaseDirectory(): string;
7
+ }
8
+ export declare const PlatformContext: Spec;
9
+ //# sourceMappingURL=NativeMmkvPlatformContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeMmkvPlatformContext.d.ts","sourceRoot":"","sources":["../../../src/NativeMmkvPlatformContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,cAAc,CAAC;AAGhE,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;OAEG;IACH,gBAAgB,IAAI,MAAM,CAAC;CAC5B;AAKD,eAAO,MAAM,eAAe,MAAgC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformChecker.d.ts","sourceRoot":"","sources":["../../../src/PlatformChecker.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,IAAI,OAAO,CAMhC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Represents a single MMKV instance.
3
+ */
4
+ export interface NativeMMKV {
5
+ /**
6
+ * Set a value for the given `key`.
7
+ */
8
+ set: (key: string, value: boolean | string | number | ArrayBuffer) => void;
9
+ /**
10
+ * Get the boolean value for the given `key`, or `undefined` if it does not exist.
11
+ *
12
+ * @default undefined
13
+ */
14
+ getBoolean: (key: string) => boolean | undefined;
15
+ /**
16
+ * Get the string value for the given `key`, or `undefined` if it does not exist.
17
+ *
18
+ * @default undefined
19
+ */
20
+ getString: (key: string) => string | undefined;
21
+ /**
22
+ * Get the number value for the given `key`, or `undefined` if it does not exist.
23
+ *
24
+ * @default undefined
25
+ */
26
+ getNumber: (key: string) => number | undefined;
27
+ /**
28
+ * Get a raw buffer of unsigned 8-bit (0-255) data.
29
+ *
30
+ * @default undefined
31
+ */
32
+ getBuffer: (key: string) => ArrayBuffer | undefined;
33
+ /**
34
+ * Checks whether the given `key` is being stored in this MMKV instance.
35
+ */
36
+ contains: (key: string) => boolean;
37
+ /**
38
+ * Delete the given `key`.
39
+ */
40
+ delete: (key: string) => void;
41
+ /**
42
+ * Get all keys.
43
+ *
44
+ * @default []
45
+ */
46
+ getAllKeys: () => string[];
47
+ /**
48
+ * Delete all keys.
49
+ */
50
+ clearAll: () => void;
51
+ /**
52
+ * Sets (or updates) the encryption-key to encrypt all data in this MMKV instance with.
53
+ *
54
+ * To remove encryption, pass `undefined` as a key.
55
+ *
56
+ * Encryption keys can have a maximum length of 16 bytes.
57
+ */
58
+ recrypt: (key: string | undefined) => void;
59
+ /**
60
+ * Trims the storage space and clears memory cache.
61
+ *
62
+ * Since MMKV does not resize itself after deleting keys, you can call `trim()`
63
+ * after deleting a bunch of keys to manually trim the memory- and
64
+ * disk-file to reduce storage and memory usage.
65
+ *
66
+ * In most applications, this is not needed at all.
67
+ */
68
+ trim(): void;
69
+ /**
70
+ * Get the current total size of the storage, in bytes.
71
+ */
72
+ readonly size: number;
73
+ }
74
+ export interface Listener {
75
+ remove: () => void;
76
+ }
77
+ export interface MMKVInterface extends NativeMMKV {
78
+ /**
79
+ * Adds a value changed listener. The Listener will be called whenever any value
80
+ * in this storage instance changes (set or delete).
81
+ *
82
+ * To unsubscribe from value changes, call `remove()` on the Listener.
83
+ */
84
+ addOnValueChangedListener: (onValueChanged: (key: string) => void) => Listener;
85
+ }
86
+ //# sourceMappingURL=Types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../../src/Types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC;IAC3E;;;;OAIG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAC;IACjD;;;;OAIG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C;;;;OAIG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C;;;;OAIG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IACpD;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B;;;;OAIG;IACH,UAAU,EAAE,MAAM,MAAM,EAAE,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC3C;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C;;;;;OAKG;IACH,yBAAyB,EAAE,CACzB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,KAClC,QAAQ,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hooks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/hooks.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { Configuration } from './MMKV';
2
+ import type { NativeMMKV } from './Types';
3
+ export declare const createMMKV: (config: Configuration) => NativeMMKV;
4
+ //# sourceMappingURL=createMMKV.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMMKV.d.ts","sourceRoot":"","sources":["../../../src/createMMKV.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,UAAU,WAAY,aAAa,KAAG,UAUlD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { NativeMMKV } from './Types';
2
+ export declare const createMockMMKV: () => NativeMMKV;
3
+ //# sourceMappingURL=createMMKV.mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMMKV.mock.d.ts","sourceRoot":"","sources":["../../../src/createMMKV.mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,eAAO,MAAM,cAAc,QAAO,UAiCjC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Configuration } from './MMKV';
2
+ import type { NativeMMKV } from './Types';
3
+ export declare const createMMKV: (config: Configuration) => NativeMMKV;
4
+ //# sourceMappingURL=createMMKV.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMMKV.web.d.ts","sourceRoot":"","sources":["../../../src/createMMKV.web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAoB1C,eAAO,MAAM,UAAU,WAAY,aAAa,KAAG,UAwGlD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTextEncoder.d.ts","sourceRoot":"","sources":["../../../src/createTextEncoder.ts"],"names":[],"mappings":"AACA,wBAAgB,iBAAiB,IAAI,WAAW,CAc/C"}
@@ -1,4 +1,4 @@
1
- import { MMKV, MMKVConfiguration } from './MMKV';
1
+ import { MMKV, Configuration } from './MMKV';
2
2
  /**
3
3
  * Use the default, shared MMKV instance.
4
4
  */
@@ -7,7 +7,7 @@ export declare function useMMKV(): MMKV;
7
7
  * Use a custom MMKV instance with the given configuration.
8
8
  * @param configuration The configuration to initialize the MMKV instance with. Does not have to be memoized.
9
9
  */
10
- export declare function useMMKV(configuration: MMKVConfiguration): MMKV;
10
+ export declare function useMMKV(configuration: Configuration): MMKV;
11
11
  /**
12
12
  * Use the string value of the given `key` from the given MMKV storage instance.
13
13
  *
@@ -51,7 +51,7 @@ export declare const useMMKVBoolean: (key: string, instance?: MMKV) => [value: b
51
51
  * const [privateKey, setPrivateKey] = useMMKVBuffer("user.privateKey")
52
52
  * ```
53
53
  */
54
- export declare const useMMKVBuffer: (key: string, instance?: MMKV) => [value: Uint8Array | undefined, setValue: (value: Uint8Array | ((current: Uint8Array | undefined) => Uint8Array | undefined) | undefined) => void];
54
+ export declare const useMMKVBuffer: (key: string, instance?: MMKV) => [value: ArrayBuffer | undefined, setValue: (value: ArrayBuffer | ((current: ArrayBuffer | undefined) => ArrayBuffer | undefined) | undefined) => void];
55
55
  /**
56
56
  * Use an object value of the given `key` from the given MMKV storage instance.
57
57
  *
@@ -64,7 +64,10 @@ export declare const useMMKVBuffer: (key: string, instance?: MMKV) => [value: Ui
64
64
  * const [user, setUser] = useMMKVObject<User>("user")
65
65
  * ```
66
66
  */
67
- export declare function useMMKVObject<T>(key: string, instance?: MMKV): [value: T | undefined, setValue: (value: T | undefined | ((prevValue: T | undefined) => T | undefined)) => void];
67
+ export declare function useMMKVObject<T>(key: string, instance?: MMKV): [
68
+ value: T | undefined,
69
+ setValue: (value: T | undefined | ((prevValue: T | undefined) => T | undefined)) => void
70
+ ];
68
71
  /**
69
72
  * Listen for changes in the given MMKV storage instance.
70
73
  * If no instance is passed, the default instance will be used.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAwB7C;;GAEG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAAC;AAChC;;;GAGG;AACH,wBAAgB,OAAO,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;AAiF5D;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QAnEjB,MAAM,aACA,IAAI,kIAC8B,IAAI,CAmEpD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QAjFjB,MAAM,aACA,IAAI,kIAC8B,IAAI,CAiFpD,CAAC;AACF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QA9FlB,MAAM,aACA,IAAI,sIAC8B,IAAI,CA8FpD,CAAC;AACF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QA3GjB,MAAM,aACA,IAAI,sJAC8B,IAAI,CA2GpD,CAAC;AACF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,IAAI,GACd;IACD,KAAK,EAAE,CAAC,GAAG,SAAS;IACpB,QAAQ,EAAE,CACR,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,GAAG,SAAS,CAAC,KACjE,IAAI;CACV,CA4BA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC3C,QAAQ,CAAC,EAAE,IAAI,GACd,IAAI,CAYN"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}