react-native-mmkv 2.12.2 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -200
- package/MMKV/Core/Core.xcodeproj/project.pbxproj +4 -2
- package/MMKV/Core/MMKVPredef.h +1 -1
- package/MMKV/Core/MMKV_IO.cpp +5 -1
- package/MMKV/Core/MemoryFile.cpp +1 -0
- package/MMKV/Core/MemoryFile_OSX.cpp +2 -1
- package/MMKV/README.md +8 -8
- package/README.md +7 -1
- package/android/CMakeLists.txt +20 -28
- package/android/build.gradle +59 -89
- package/android/gradle.properties +4 -5
- package/android/src/main/AndroidManifest.xml +2 -2
- package/android/src/{hasNamespace/AndroidManifest.xml → main/AndroidManifestNew.xml} +0 -1
- package/android/src/main/cpp/AndroidLogger.cpp +16 -0
- package/android/src/main/cpp/cpp-adapter.cpp +4 -80
- package/android/src/main/java/com/mrousavy/mmkv/MmkvPackage.java +44 -0
- package/android/src/main/java/com/mrousavy/mmkv/MmkvPlatformContextModule.java +17 -0
- package/cpp/Logger.h +35 -0
- package/cpp/MMKVManagedBuffer.h +37 -0
- package/{android/src/main/cpp → cpp}/MmkvHostObject.cpp +126 -63
- package/{android/src/main/cpp → cpp}/MmkvHostObject.h +14 -3
- package/cpp/NativeMmkvModule.cpp +40 -0
- package/cpp/NativeMmkvModule.h +37 -0
- package/ios/AppleLogger.mm +16 -0
- package/ios/MmkvOnLoad.mm +25 -0
- package/ios/MmkvPlatformContext.h +19 -0
- package/ios/MmkvPlatformContextModule.mm +37 -0
- package/lib/commonjs/MMKV.js +34 -4
- package/lib/commonjs/MMKV.js.map +1 -1
- package/lib/commonjs/NativeMmkv.js +66 -0
- package/lib/commonjs/NativeMmkv.js.map +1 -0
- package/lib/commonjs/NativeMmkvPlatformContext.js +9 -0
- package/lib/commonjs/NativeMmkvPlatformContext.js.map +1 -0
- package/lib/commonjs/PlatformChecker.js.map +1 -1
- package/lib/commonjs/createMMKV.js +7 -43
- package/lib/commonjs/createMMKV.js.map +1 -1
- package/lib/commonjs/createMMKV.mock.js +5 -1
- package/lib/commonjs/createMMKV.mock.js.map +1 -1
- package/lib/commonjs/createMMKV.web.js +8 -4
- package/lib/commonjs/createMMKV.web.js.map +1 -1
- package/lib/commonjs/createTextEncoder.js.map +1 -1
- package/lib/commonjs/hooks.js +11 -10
- package/lib/commonjs/hooks.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/MMKV.js +23 -4
- package/lib/module/MMKV.js.map +1 -1
- package/lib/module/NativeMmkv.js +63 -0
- package/lib/module/NativeMmkv.js.map +1 -0
- package/lib/module/NativeMmkvPlatformContext.js +3 -0
- package/lib/module/NativeMmkvPlatformContext.js.map +1 -0
- package/lib/module/PlatformChecker.js.map +1 -1
- package/lib/module/createMMKV.js +7 -43
- package/lib/module/createMMKV.js.map +1 -1
- package/lib/module/createMMKV.mock.js +5 -1
- package/lib/module/createMMKV.mock.js.map +1 -1
- package/lib/module/createMMKV.web.js +6 -4
- package/lib/module/createMMKV.web.js.map +1 -1
- package/lib/module/createTextEncoder.js.map +1 -1
- package/lib/module/hooks.js +7 -2
- package/lib/module/hooks.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/{MMKV.d.ts → src/MMKV.d.ts} +26 -49
- package/lib/typescript/src/MMKV.d.ts.map +1 -0
- package/lib/typescript/src/NativeMmkv.d.ts +79 -0
- package/lib/typescript/src/NativeMmkv.d.ts.map +1 -0
- package/lib/typescript/src/NativeMmkvPlatformContext.d.ts +9 -0
- package/lib/typescript/src/NativeMmkvPlatformContext.d.ts.map +1 -0
- package/lib/typescript/src/PlatformChecker.d.ts.map +1 -0
- package/lib/typescript/src/__tests__/hooks.test.d.ts +2 -0
- package/lib/typescript/src/__tests__/hooks.test.d.ts.map +1 -0
- package/lib/typescript/src/createMMKV.d.ts +3 -0
- package/lib/typescript/src/createMMKV.d.ts.map +1 -0
- package/lib/typescript/src/createMMKV.mock.d.ts +3 -0
- package/lib/typescript/src/createMMKV.mock.d.ts.map +1 -0
- package/lib/typescript/src/createMMKV.web.d.ts +3 -0
- package/lib/typescript/src/createMMKV.web.d.ts.map +1 -0
- package/lib/typescript/src/createTextEncoder.d.ts.map +1 -0
- package/lib/typescript/{hooks.d.ts → src/hooks.d.ts} +7 -4
- package/lib/typescript/src/hooks.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/package.json +49 -40
- package/react-native-mmkv.podspec +17 -18
- package/src/MMKV.ts +40 -62
- package/src/NativeMmkv.ts +132 -0
- package/src/NativeMmkvPlatformContext.ts +12 -0
- package/src/__tests__/hooks.test.tsx +88 -0
- package/src/createMMKV.mock.ts +7 -3
- package/src/createMMKV.ts +9 -63
- package/src/createMMKV.web.ts +6 -2
- package/src/hooks.ts +17 -11
- package/android/src/main/java/com/reactnativemmkv/MmkvModule.java +0 -49
- package/android/src/main/java/com/reactnativemmkv/MmkvPackage.java +0 -26
- package/cpp/TypedArray.cpp +0 -322
- package/cpp/TypedArray.h +0 -153
- package/ios/JSIUtils.h +0 -38
- package/ios/JSIUtils.mm +0 -167
- package/ios/Mmkv.xcodeproj/project.pbxproj +0 -291
- package/ios/MmkvHostObject.h +0 -27
- package/ios/MmkvHostObject.mm +0 -295
- package/ios/MmkvModule.h +0 -5
- package/ios/MmkvModule.mm +0 -101
- package/lib/typescript/MMKV.d.ts.map +0 -1
- package/lib/typescript/PlatformChecker.d.ts.map +0 -1
- package/lib/typescript/createMMKV.d.ts +0 -7
- package/lib/typescript/createMMKV.d.ts.map +0 -1
- package/lib/typescript/createMMKV.mock.d.ts +0 -3
- package/lib/typescript/createMMKV.mock.d.ts.map +0 -1
- package/lib/typescript/createMMKV.web.d.ts +0 -3
- package/lib/typescript/createMMKV.web.d.ts.map +0 -1
- package/lib/typescript/createTextEncoder.d.ts.map +0 -1
- package/lib/typescript/hooks.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- /package/lib/typescript/{PlatformChecker.d.ts → src/PlatformChecker.d.ts} +0 -0
- /package/lib/typescript/{createTextEncoder.d.ts → src/createTextEncoder.d.ts} +0 -0
- /package/lib/typescript/{index.d.ts → src/index.d.ts} +0 -0
- /package/src/{index.ts → index.tsx} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isConfigurationEqual","left","right","encryptionKey","id","path","defaultInstance","getDefaultInstance","MMKV","useMMKV","configuration","instance","useRef","lastConfiguration","current","createMMKVHook","getter","key","mmkv","bump","setBump","useState","value","useMemo","set","useCallback","v","newValue","delete","
|
|
1
|
+
{"version":3,"names":["_react","require","_MMKV","isConfigurationEqual","left","right","encryptionKey","id","path","mode","defaultInstance","getDefaultInstance","MMKV","useMMKV","configuration","instance","useRef","lastConfiguration","current","createMMKVHook","getter","key","mmkv","bump","setBump","useState","value","useMemo","set","useCallback","v","newValue","delete","ArrayBuffer","Error","useEffect","listener","addOnValueChangedListener","changedKey","b","remove","useMMKVString","exports","getString","useMMKVNumber","getNumber","useMMKVBoolean","getBoolean","useMMKVBuffer","getBuffer","useMMKVObject","json","setJson","undefined","JSON","parse","setValue","Function","currentJson","currentValue","stringify","useMMKVListener","valueChangedListener","ref"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.
|
|
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":[]}
|
package/lib/module/MMKV.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
import { AppState } from 'react-native';
|
|
1
2
|
import { createMMKV } from './createMMKV';
|
|
2
3
|
import { createMockMMKV } from './createMMKV.mock';
|
|
3
4
|
import { isJest } from './PlatformChecker';
|
|
5
|
+
export { Configuration, Mode } from './NativeMmkv';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Represents a single MMKV instance.
|
|
9
|
+
*/
|
|
10
|
+
|
|
4
11
|
const onValueChangedListeners = new Map();
|
|
5
12
|
|
|
6
13
|
/**
|
|
@@ -11,13 +18,18 @@ export class MMKV {
|
|
|
11
18
|
* Creates a new MMKV instance with the given Configuration.
|
|
12
19
|
* If no custom `id` is supplied, `'mmkv.default'` will be used.
|
|
13
20
|
*/
|
|
14
|
-
constructor(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
21
|
+
constructor(configuration = {
|
|
22
|
+
id: 'mmkv.default'
|
|
23
|
+
}) {
|
|
18
24
|
this.id = configuration.id;
|
|
19
25
|
this.nativeInstance = isJest() ? createMockMMKV() : createMMKV(configuration);
|
|
20
26
|
this.functionCache = {};
|
|
27
|
+
if ('WeakRef' in global) {
|
|
28
|
+
const weakSelf = new WeakRef(this);
|
|
29
|
+
AppState.addEventListener('memoryWarning', () => {
|
|
30
|
+
weakSelf.deref()?.trim();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
21
33
|
}
|
|
22
34
|
get onValueChangedListeners() {
|
|
23
35
|
if (!onValueChangedListeners.has(this.id)) {
|
|
@@ -39,6 +51,9 @@ export class MMKV {
|
|
|
39
51
|
}
|
|
40
52
|
}
|
|
41
53
|
}
|
|
54
|
+
get size() {
|
|
55
|
+
return this.nativeInstance.size;
|
|
56
|
+
}
|
|
42
57
|
set(key, value) {
|
|
43
58
|
const func = this.getFunctionFromCache('set');
|
|
44
59
|
func(key, value);
|
|
@@ -83,6 +98,10 @@ export class MMKV {
|
|
|
83
98
|
const func = this.getFunctionFromCache('recrypt');
|
|
84
99
|
return func(key);
|
|
85
100
|
}
|
|
101
|
+
trim() {
|
|
102
|
+
const func = this.getFunctionFromCache('trim');
|
|
103
|
+
func();
|
|
104
|
+
}
|
|
86
105
|
toString() {
|
|
87
106
|
return `MMKV (${this.id}): [${this.getAllKeys().join(', ')}]`;
|
|
88
107
|
}
|
package/lib/module/MMKV.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createMMKV","createMockMMKV","isJest","onValueChangedListeners","Map","MMKV","constructor","configuration","id","nativeInstance","functionCache","has","set","get","getFunctionFromCache","functionName","onValuesChanged","keys","length","key","listener","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":"AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,MAAM,QAAQ,mBAAmB;
|
|
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":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { NativeModules, Platform } from 'react-native';
|
|
2
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
3
|
+
import { PlatformContext } from './NativeMmkvPlatformContext';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Configures the mode of the MMKV instance.
|
|
7
|
+
*/
|
|
8
|
+
export let Mode = /*#__PURE__*/function (Mode) {
|
|
9
|
+
Mode[Mode["SINGLE_PROCESS"] = 0] = "SINGLE_PROCESS";
|
|
10
|
+
Mode[Mode["MULTI_PROCESS"] = 1] = "MULTI_PROCESS";
|
|
11
|
+
return Mode;
|
|
12
|
+
}({});
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Used for configuration of a single MMKV instance.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
let module = null;
|
|
19
|
+
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
|
|
59
|
+
module.initialize(basePath);
|
|
60
|
+
}
|
|
61
|
+
return module;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=NativeMmkv.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isJest","global","process","env","JEST_WORKER_ID"],"sourceRoot":"../../src","sources":["PlatformChecker.ts"],"mappings":"AAAA,OAAO,SAASA,
|
|
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":[]}
|
package/lib/module/createMMKV.js
CHANGED
|
@@ -1,48 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const ROOT_DIRECTORY = null;
|
|
1
|
+
import { getMMKVTurboModule } from './NativeMmkv';
|
|
2
|
+
const module = getMMKVTurboModule();
|
|
4
3
|
export const createMMKV = config => {
|
|
5
|
-
|
|
6
|
-
if (
|
|
7
|
-
|
|
8
|
-
|
|
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);
|
|
4
|
+
const instance = module.createMMKV(config);
|
|
5
|
+
if (__DEV__) {
|
|
6
|
+
if (typeof instance !== 'object' || instance == null) {
|
|
7
|
+
throw new Error('Failed to create MMKV instance - an unknown object was returned by createMMKV(..)!');
|
|
32
8
|
}
|
|
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
9
|
}
|
|
46
|
-
return
|
|
10
|
+
return instance;
|
|
47
11
|
};
|
|
48
12
|
//# sourceMappingURL=createMMKV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
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":[]}
|
|
@@ -19,12 +19,16 @@ export const createMockMMKV = () => {
|
|
|
19
19
|
},
|
|
20
20
|
getBuffer: key => {
|
|
21
21
|
const result = storage.get(key);
|
|
22
|
-
return result instanceof
|
|
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","
|
|
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' &&
|
|
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 =
|
|
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":"
|
|
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,
|
|
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":[]}
|
package/lib/module/hooks.js
CHANGED
|
@@ -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
|
|
59
|
+
if (newValue instanceof ArrayBuffer) {
|
|
55
60
|
mmkv.set(key, newValue);
|
|
56
61
|
break;
|
|
57
62
|
} else {
|
package/lib/module/hooks.js.map
CHANGED
|
@@ -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","
|
|
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":[]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,SAAS","ignoreList":[]}
|
|
@@ -1,55 +1,16 @@
|
|
|
1
|
+
import { Configuration } from './NativeMmkv';
|
|
2
|
+
export { Configuration, Mode } from './NativeMmkv';
|
|
1
3
|
interface Listener {
|
|
2
4
|
remove: () => void;
|
|
3
5
|
}
|
|
4
|
-
/**
|
|
5
|
-
* Used for configuration of a single MMKV instance.
|
|
6
|
-
*/
|
|
7
|
-
export interface MMKVConfiguration {
|
|
8
|
-
/**
|
|
9
|
-
* The MMKV instance's ID. If you want to use multiple instances, make sure to use different IDs!
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* const userStorage = new MMKV({ id: `user-${userId}-storage` })
|
|
14
|
-
* const globalStorage = new MMKV({ id: 'global-app-storage' })
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* @default 'mmkv.default'
|
|
18
|
-
*/
|
|
19
|
-
id: string;
|
|
20
|
-
/**
|
|
21
|
-
* The MMKV instance's root path. By default, MMKV stores file inside `$(Documents)/mmkv/`. You can customize MMKV's root directory on MMKV initialization:
|
|
22
|
-
|
|
23
|
-
* @example
|
|
24
|
-
* ```ts
|
|
25
|
-
* const temporaryStorage = new MMKV({ path: '/tmp/' })
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* _Notice_: On iOS you can set the AppGroup bundle property to share the same storage between your app and its extensions.
|
|
29
|
-
* In this case `path` property will be ignored.
|
|
30
|
-
* See more on MMKV configuration [here](https://github.com/Tencent/MMKV/wiki/iOS_tutorial#configuration).
|
|
31
|
-
*/
|
|
32
|
-
path?: string;
|
|
33
|
-
/**
|
|
34
|
-
* 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.
|
|
35
|
-
*
|
|
36
|
-
* Encryption keys can have a maximum length of 16 bytes.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```ts
|
|
40
|
-
* const secureStorage = new MMKV({ encryptionKey: 'my-encryption-key!' })
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
encryptionKey?: string;
|
|
44
|
-
}
|
|
45
6
|
/**
|
|
46
7
|
* Represents a single MMKV instance.
|
|
47
8
|
*/
|
|
48
|
-
interface
|
|
9
|
+
export interface NativeMMKV {
|
|
49
10
|
/**
|
|
50
11
|
* Set a value for the given `key`.
|
|
51
12
|
*/
|
|
52
|
-
set: (key: string, value: boolean | string | number |
|
|
13
|
+
set: (key: string, value: boolean | string | number | ArrayBuffer) => void;
|
|
53
14
|
/**
|
|
54
15
|
* Get the boolean value for the given `key`, or `undefined` if it does not exist.
|
|
55
16
|
*
|
|
@@ -73,7 +34,7 @@ interface MMKVInterface {
|
|
|
73
34
|
*
|
|
74
35
|
* @default undefined
|
|
75
36
|
*/
|
|
76
|
-
getBuffer: (key: string) =>
|
|
37
|
+
getBuffer: (key: string) => ArrayBuffer | undefined;
|
|
77
38
|
/**
|
|
78
39
|
* Checks whether the given `key` is being stored in this MMKV instance.
|
|
79
40
|
*/
|
|
@@ -100,6 +61,22 @@ interface MMKVInterface {
|
|
|
100
61
|
* Encryption keys can have a maximum length of 16 bytes.
|
|
101
62
|
*/
|
|
102
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 {
|
|
103
80
|
/**
|
|
104
81
|
* Adds a value changed listener. The Listener will be called whenever any value
|
|
105
82
|
* in this storage instance changes (set or delete).
|
|
@@ -108,7 +85,6 @@ interface MMKVInterface {
|
|
|
108
85
|
*/
|
|
109
86
|
addOnValueChangedListener: (onValueChanged: (key: string) => void) => Listener;
|
|
110
87
|
}
|
|
111
|
-
export type NativeMMKV = Pick<MMKVInterface, 'clearAll' | 'contains' | 'delete' | 'getAllKeys' | 'getBoolean' | 'getNumber' | 'getString' | 'getBuffer' | 'set' | 'recrypt'>;
|
|
112
88
|
/**
|
|
113
89
|
* A single MMKV instance.
|
|
114
90
|
*/
|
|
@@ -120,23 +96,24 @@ export declare class MMKV implements MMKVInterface {
|
|
|
120
96
|
* Creates a new MMKV instance with the given Configuration.
|
|
121
97
|
* If no custom `id` is supplied, `'mmkv.default'` will be used.
|
|
122
98
|
*/
|
|
123
|
-
constructor(configuration?:
|
|
99
|
+
constructor(configuration?: Configuration);
|
|
124
100
|
private get onValueChangedListeners();
|
|
125
101
|
private getFunctionFromCache;
|
|
126
102
|
private onValuesChanged;
|
|
127
|
-
|
|
103
|
+
get size(): number;
|
|
104
|
+
set(key: string, value: boolean | string | number | ArrayBuffer): void;
|
|
128
105
|
getBoolean(key: string): boolean | undefined;
|
|
129
106
|
getString(key: string): string | undefined;
|
|
130
107
|
getNumber(key: string): number | undefined;
|
|
131
|
-
getBuffer(key: string):
|
|
108
|
+
getBuffer(key: string): ArrayBuffer | undefined;
|
|
132
109
|
contains(key: string): boolean;
|
|
133
110
|
delete(key: string): void;
|
|
134
111
|
getAllKeys(): string[];
|
|
135
112
|
clearAll(): void;
|
|
136
113
|
recrypt(key: string | undefined): void;
|
|
114
|
+
trim(): void;
|
|
137
115
|
toString(): string;
|
|
138
116
|
toJSON(): object;
|
|
139
117
|
addOnValueChangedListener(onValueChanged: (key: string) => void): Listener;
|
|
140
118
|
}
|
|
141
|
-
export {};
|
|
142
119
|
//# 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,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"}
|