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

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 (97) hide show
  1. package/MMKV/Core/CMakeLists.txt +12 -4
  2. package/MMKV/Core/Core.xcodeproj/project.pbxproj +13 -4
  3. package/MMKV/Core/Core.xcodeproj/xcshareddata/xcschemes/Core.xcscheme +1 -1
  4. package/MMKV/Core/Core.xcodeproj/xcshareddata/xcschemes/MMKVWatchCore.xcscheme +1 -1
  5. package/MMKV/Core/MMKV.cpp +3 -4
  6. package/MMKV/Core/MMKVLog_Android.cpp +56 -1
  7. package/MMKV/Core/MMKVPredef.h +8 -1
  8. package/MMKV/Core/MMKV_Android.cpp +3 -3
  9. package/MMKV/Core/MMKV_IO.cpp +1 -1
  10. package/MMKV/Core/MemoryFile.cpp +33 -2
  11. package/MMKV/Core/MemoryFile.h +1 -0
  12. package/MMKV/Core/MemoryFile_Android.cpp +13 -3
  13. package/MMKV/Core/MemoryFile_Linux.cpp +8 -3
  14. package/MMKV/Core/MemoryFile_Win32.cpp +3 -3
  15. package/MMKV/Core/ThreadLock.cpp +9 -5
  16. package/MMKV/Core/ThreadLock.h +2 -3
  17. package/MMKV/Core/aes/AESCrypt.h +1 -0
  18. package/MMKV/Core/aes/openssl/openssl_aes.h +12 -0
  19. package/MMKV/Core/aes/openssl/openssl_aes_core.cpp +4 -4
  20. package/MMKV/Core/core.vcxproj +102 -0
  21. package/MMKV/Core/crc32/Checksum.h +5 -0
  22. package/MMKV/Core/crc32/crc32_armv8.cpp +3 -1
  23. package/MMKV/Core/crc32/zlib/CMakeLists.txt +60 -0
  24. package/MMKV/LICENSE.TXT +193 -0
  25. package/MMKV/README.md +74 -10
  26. package/README.md +40 -8
  27. package/cpp/MMKVManagedBuffer.h +1 -6
  28. package/cpp/MmkvHostObject.cpp +1 -0
  29. package/cpp/MmkvHostObject.h +1 -6
  30. package/cpp/NativeMmkvModule.cpp +9 -6
  31. package/lib/commonjs/LazyTurboModule.js +66 -0
  32. package/lib/commonjs/LazyTurboModule.js.map +1 -0
  33. package/lib/commonjs/MMKV.js +5 -11
  34. package/lib/commonjs/MMKV.js.map +1 -1
  35. package/lib/commonjs/NativeMmkv.js +13 -44
  36. package/lib/commonjs/NativeMmkv.js.map +1 -1
  37. package/lib/commonjs/NativeMmkvPlatformContext.js +5 -1
  38. package/lib/commonjs/NativeMmkvPlatformContext.js.map +1 -1
  39. package/lib/commonjs/PlatformChecker.js +3 -3
  40. package/lib/commonjs/PlatformChecker.js.map +1 -1
  41. package/lib/commonjs/Types.js +2 -0
  42. package/lib/commonjs/Types.js.map +1 -0
  43. package/lib/commonjs/createMMKV.js +1 -2
  44. package/lib/commonjs/createMMKV.js.map +1 -1
  45. package/lib/commonjs/createMMKV.web.js.map +1 -1
  46. package/lib/commonjs/index.js +19 -0
  47. package/lib/commonjs/index.js.map +1 -1
  48. package/lib/module/LazyTurboModule.js +60 -0
  49. package/lib/module/LazyTurboModule.js.map +1 -0
  50. package/lib/module/MMKV.js +6 -13
  51. package/lib/module/MMKV.js.map +1 -1
  52. package/lib/module/NativeMmkv.js +10 -41
  53. package/lib/module/NativeMmkv.js.map +1 -1
  54. package/lib/module/NativeMmkvPlatformContext.js +5 -1
  55. package/lib/module/NativeMmkvPlatformContext.js.map +1 -1
  56. package/lib/module/PlatformChecker.js +2 -2
  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 +2 -3
  61. package/lib/module/createMMKV.js.map +1 -1
  62. package/lib/module/createMMKV.web.js.map +1 -1
  63. package/lib/module/index.js +1 -0
  64. package/lib/module/index.js.map +1 -1
  65. package/lib/typescript/src/LazyTurboModule.d.ts +9 -0
  66. package/lib/typescript/src/LazyTurboModule.d.ts.map +1 -0
  67. package/lib/typescript/src/MMKV.d.ts +1 -85
  68. package/lib/typescript/src/MMKV.d.ts.map +1 -1
  69. package/lib/typescript/src/NativeMmkv.d.ts +9 -5
  70. package/lib/typescript/src/NativeMmkv.d.ts.map +1 -1
  71. package/lib/typescript/src/NativeMmkvPlatformContext.d.ts.map +1 -1
  72. package/lib/typescript/src/PlatformChecker.d.ts +1 -1
  73. package/lib/typescript/src/PlatformChecker.d.ts.map +1 -1
  74. package/lib/typescript/src/Types.d.ts +86 -0
  75. package/lib/typescript/src/Types.d.ts.map +1 -0
  76. package/lib/typescript/src/createMMKV.d.ts +2 -1
  77. package/lib/typescript/src/createMMKV.d.ts.map +1 -1
  78. package/lib/typescript/src/createMMKV.mock.d.ts +1 -1
  79. package/lib/typescript/src/createMMKV.mock.d.ts.map +1 -1
  80. package/lib/typescript/src/createMMKV.web.d.ts +2 -1
  81. package/lib/typescript/src/createMMKV.web.d.ts.map +1 -1
  82. package/lib/typescript/src/index.d.ts +1 -0
  83. package/lib/typescript/src/index.d.ts.map +1 -1
  84. package/package.json +17 -14
  85. package/react-native.config.js +20 -0
  86. package/src/LazyTurboModule.ts +98 -0
  87. package/src/MMKV.ts +7 -98
  88. package/src/NativeMmkv.ts +19 -46
  89. package/src/NativeMmkvPlatformContext.ts +5 -3
  90. package/src/PlatformChecker.ts +4 -2
  91. package/src/Types.ts +89 -0
  92. package/src/__tests__/hooks.test.tsx +1 -0
  93. package/src/createMMKV.mock.ts +1 -1
  94. package/src/createMMKV.ts +4 -5
  95. package/src/createMMKV.web.ts +2 -1
  96. package/src/index.ts +4 -0
  97. package/src/index.tsx +0 -2
@@ -1,13 +1,8 @@
1
1
  import { AppState } from 'react-native';
2
2
  import { createMMKV } from './createMMKV';
3
3
  import { createMockMMKV } from './createMMKV.mock';
4
- import { isJest } from './PlatformChecker';
4
+ import { isTest } 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
  /**
@@ -22,14 +17,12 @@ export class MMKV {
22
17
  id: 'mmkv.default'
23
18
  }) {
24
19
  this.id = configuration.id;
25
- this.nativeInstance = isJest() ? createMockMMKV() : createMMKV(configuration);
20
+ this.nativeInstance = isTest() ? 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","isTest","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":[]}
@@ -1,8 +1,8 @@
1
- export function isJest() {
1
+ export function isTest() {
2
2
  if (global.process == null) {
3
3
  // In a WebBrowser/Electron the `process` variable does not exist
4
4
  return false;
5
5
  }
6
- return process.env.JEST_WORKER_ID != null;
6
+ return process.env.JEST_WORKER_ID != null || process.env.VITEST_WORKER_ID != null;
7
7
  }
8
8
  //# sourceMappingURL=PlatformChecker.js.map
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["isTest","global","process","env","JEST_WORKER_ID","VITEST_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,OACEA,OAAO,CAACC,GAAG,CAACC,cAAc,IAAI,IAAI,IAAIF,OAAO,CAACC,GAAG,CAACE,gBAAgB,IAAI,IAAI;AAE9E","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":[]}
@@ -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","trim"],"sourceRoot":"../../src","sources":["createMMKV.web.ts"],"mappings":"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","ignoreList":[]}
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,3 +1,4 @@
1
1
  export * from './MMKV';
2
2
  export * from './hooks';
3
+ export { Mode, Configuration } from './NativeMmkv';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["Mode","Configuration"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,SAAS;AAEvB,SAASA,IAAI,EAAEC,aAAa,QAAQ,cAAc","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { TurboModule } from 'react-native';
2
+ declare global {
3
+ var __turboModuleProxy: unknown | undefined;
4
+ }
5
+ /**
6
+ * Lazily get a TurboModule by wrapping it in a Proxy.
7
+ */
8
+ export declare function getLazyTurboModule<T extends TurboModule>(initializeTurboModule: () => T | null): T;
9
+ //# 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;AAEpE,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAQD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EACtD,qBAAqB,EAAE,MAAM,CAAC,GAAG,IAAI,GACpC,CAAC,CA+EH"}
@@ -1,90 +1,6 @@
1
1
  import { Configuration } from './NativeMmkv';
2
+ import { Listener, MMKVInterface } from './Types';
2
3
  export { Configuration, Mode } from './NativeMmkv';
3
- interface Listener {
4
- remove: () => void;
5
- }
6
- /**
7
- * Represents a single MMKV instance.
8
- */
9
- export interface NativeMMKV {
10
- /**
11
- * Set a value for the given `key`.
12
- */
13
- set: (key: string, value: boolean | string | number | ArrayBuffer) => void;
14
- /**
15
- * Get the boolean value for the given `key`, or `undefined` if it does not exist.
16
- *
17
- * @default undefined
18
- */
19
- getBoolean: (key: string) => boolean | undefined;
20
- /**
21
- * Get the string value for the given `key`, or `undefined` if it does not exist.
22
- *
23
- * @default undefined
24
- */
25
- getString: (key: string) => string | undefined;
26
- /**
27
- * Get the number value for the given `key`, or `undefined` if it does not exist.
28
- *
29
- * @default undefined
30
- */
31
- getNumber: (key: string) => number | undefined;
32
- /**
33
- * Get a raw buffer of unsigned 8-bit (0-255) data.
34
- *
35
- * @default undefined
36
- */
37
- getBuffer: (key: string) => ArrayBuffer | undefined;
38
- /**
39
- * Checks whether the given `key` is being stored in this MMKV instance.
40
- */
41
- contains: (key: string) => boolean;
42
- /**
43
- * Delete the given `key`.
44
- */
45
- delete: (key: string) => void;
46
- /**
47
- * Get all keys.
48
- *
49
- * @default []
50
- */
51
- getAllKeys: () => string[];
52
- /**
53
- * Delete all keys.
54
- */
55
- clearAll: () => void;
56
- /**
57
- * Sets (or updates) the encryption-key to encrypt all data in this MMKV instance with.
58
- *
59
- * To remove encryption, pass `undefined` as a key.
60
- *
61
- * Encryption keys can have a maximum length of 16 bytes.
62
- */
63
- recrypt: (key: string | undefined) => void;
64
- /**
65
- * Trims the storage space and clears memory cache.
66
- *
67
- * Since MMKV does not resize itself after deleting keys, you can call `trim()`
68
- * after deleting a bunch of keys to manually trim the memory- and
69
- * disk-file to reduce storage and memory usage.
70
- *
71
- * In most applications, this is not needed at all.
72
- */
73
- trim(): void;
74
- /**
75
- * Get the current total size of the storage, in bytes.
76
- */
77
- readonly size: number;
78
- }
79
- interface MMKVInterface extends NativeMMKV {
80
- /**
81
- * Adds a value changed listener. The Listener will be called whenever any value
82
- * in this storage instance changes (set or delete).
83
- *
84
- * To unsubscribe from value changes, call `remove()` on the Listener.
85
- */
86
- addOnValueChangedListener: (onValueChanged: (key: string) => void) => Listener;
87
- }
88
4
  /**
89
5
  * A single MMKV instance.
90
6
  */
@@ -1 +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,aAAa,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEnD,UAAU,QAAQ;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;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,UAAU,aAAc,SAAQ,UAAU;IACxC;;;;;OAKG;IACH,yBAAyB,EAAE,CACzB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,KAClC,QAAQ,CAAC;CACf;AAID;;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;IAejE,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"}
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"}
@@ -68,12 +68,16 @@ export interface Configuration {
68
68
  mode?: Mode;
69
69
  }
70
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
+ */
71
75
  initialize(basePath: string): boolean;
76
+ /**
77
+ * Create a new instance of MMKV.
78
+ * The returned {@linkcode UnsafeObject} is a `jsi::HostObject`.
79
+ */
72
80
  createMMKV(configuration: Configuration): UnsafeObject;
73
81
  }
74
- /**
75
- * Get the MMKV TurboModule, and initialize it if this is the first time calling.
76
- * This will throw an error if the module cannot be found.
77
- */
78
- export declare function getMMKVTurboModule(): Spec;
82
+ export declare const MMKVTurboModule: Spec;
79
83
  //# sourceMappingURL=NativeMmkv.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NativeMmkv.d.ts","sourceRoot":"","sources":["../../../src/NativeMmkv.ts"],"names":[],"mappings":";AAAA,OAAO,EAA2B,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAGzE;;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,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,YAAY,CAAC;CACxD;AAKD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CA8CzC"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NativeMmkvPlatformContext.d.ts","sourceRoot":"","sources":["../../../src/NativeMmkvPlatformContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,cAAc,CAAC;AAEhE,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;OAEG;IACH,gBAAgB,IAAI,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,eAAe,MAE3B,CAAC"}
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"}
@@ -1,2 +1,2 @@
1
- export declare function isJest(): boolean;
1
+ export declare function isTest(): boolean;
2
2
  //# sourceMappingURL=PlatformChecker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformChecker.d.ts","sourceRoot":"","sources":["../../../src/PlatformChecker.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,IAAI,OAAO,CAMhC"}
1
+ {"version":3,"file":"PlatformChecker.d.ts","sourceRoot":"","sources":["../../../src/PlatformChecker.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,IAAI,OAAO,CAQhC"}
@@ -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"}
@@ -1,3 +1,4 @@
1
- import type { Configuration, NativeMMKV } from './MMKV';
1
+ import type { Configuration } from './MMKV';
2
+ import type { NativeMMKV } from './Types';
2
3
  export declare const createMMKV: (config: Configuration) => NativeMMKV;
3
4
  //# sourceMappingURL=createMMKV.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMMKV.d.ts","sourceRoot":"","sources":["../../../src/createMMKV.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAKxD,eAAO,MAAM,UAAU,WAAY,aAAa,KAAG,UAUlD,CAAC"}
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"}
@@ -1,3 +1,3 @@
1
- import type { NativeMMKV } from './MMKV';
1
+ import type { NativeMMKV } from './Types';
2
2
  export declare const createMockMMKV: () => NativeMMKV;
3
3
  //# sourceMappingURL=createMMKV.mock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMMKV.mock.d.ts","sourceRoot":"","sources":["../../../src/createMMKV.mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGzC,eAAO,MAAM,cAAc,QAAO,UAiCjC,CAAC"}
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"}
@@ -1,3 +1,4 @@
1
- import type { Configuration, NativeMMKV } from './MMKV';
1
+ import type { Configuration } from './MMKV';
2
+ import type { NativeMMKV } from './Types';
2
3
  export declare const createMMKV: (config: Configuration) => NativeMMKV;
3
4
  //# sourceMappingURL=createMMKV.web.d.ts.map
@@ -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,QAAQ,CAAC;AAoBxD,eAAO,MAAM,UAAU,WAAY,aAAa,KAAG,UAwGlD,CAAC"}
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"}
@@ -1,3 +1,4 @@
1
1
  export * from './MMKV';
2
2
  export * from './hooks';
3
+ export { Mode, Configuration } from './NativeMmkv';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-mmkv",
3
- "version": "3.0.0-beta.1",
3
+ "version": "3.0.0-beta.3",
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",
@@ -8,13 +8,14 @@
8
8
  "react-native": "src/index",
9
9
  "source": "src/index",
10
10
  "files": [
11
+ "cpp/**/*.h",
12
+ "cpp/**/*.cpp",
13
+ "MMKV/Core",
11
14
  "android/src",
12
15
  "android/build.gradle",
13
16
  "android/CMakeLists.txt",
14
17
  "android/cpp-adapter.cpp",
15
18
  "android/gradle.properties",
16
- "cpp",
17
- "MMKV/Core",
18
19
  "lib/commonjs",
19
20
  "lib/module",
20
21
  "lib/typescript",
@@ -24,6 +25,7 @@
24
25
  "ios/**/*.cpp",
25
26
  "src",
26
27
  "react-native-mmkv.podspec",
28
+ "react-native.config.js",
27
29
  "README.md",
28
30
  "img/banner-light.png",
29
31
  "img/banner-dark.png"
@@ -69,26 +71,30 @@
69
71
  "registry": "https://registry.npmjs.org/"
70
72
  },
71
73
  "devDependencies": {
72
- "@react-native-community/cli-types": "^14.0.0-alpha.1",
73
- "@react-native/eslint-config": "^0.75.0-main",
74
+ "@firmnav/eslint-github-actions-formatter": "^1.0.1",
75
+ "@jamesacarr/eslint-formatter-github-actions": "^0.2.0",
76
+ "@react-native-community/cli-types": "^14.0.0-alpha.4",
77
+ "@react-native/eslint-config": "^0.74.81",
74
78
  "@release-it/conventional-changelog": "^8.0.1",
79
+ "@testing-library/react-native": "^12.4.3",
75
80
  "@types/jest": "^29.5.5",
76
- "@types/react": "^18.2.70",
81
+ "@types/react": "^18.3.1",
77
82
  "del-cli": "^5.1.0",
78
83
  "eslint": "^8.51.0",
79
84
  "eslint-config-prettier": "^9.0.0",
80
85
  "eslint-plugin-prettier": "^5.0.1",
81
86
  "jest": "^29.7.0",
82
87
  "prettier": "^3.0.3",
83
- "react": "18.2.0",
84
- "react-native": "0.74.0-rc.5",
88
+ "react": "^18.3.1",
89
+ "react-native": "^0.74.0",
85
90
  "react-native-builder-bob": "^0.23.2",
86
- "release-it": "^17.1.1",
87
- "typescript": "^5.2.2"
91
+ "react-test-renderer": "18.3.1",
92
+ "release-it": "^17.2.1",
93
+ "typescript": "^5.4.5"
88
94
  },
89
95
  "resolutions": {
90
96
  "@types/react": "^18.2.44",
91
- "@react-native-community/cli": "^14.0.0-alpha.1"
97
+ "@react-native-community/cli": "^14.0.0-alpha.4"
92
98
  },
93
99
  "peerDependencies": {
94
100
  "react": "*",
@@ -191,8 +197,5 @@
191
197
  "type": "modules",
192
198
  "jsSrcsDir": "src"
193
199
  },
194
- "dependencies": {
195
- "@testing-library/react-native": "^12.4.4"
196
- },
197
200
  "packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447"
198
201
  }