* Serialize/Deserialize state as string in store, instead of map To see if this positively impacts performance lag issues (channel sidebar opening, etc.) * Update app/store/mmkv_adapter.ts Co-authored-by: Elias Nahum <nahumhbl@gmail.com> * Update app/store/mmkv_adapter.ts * Typescript fixes Co-authored-by: Amit Uttam <changingrainbows@gmail.com> Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com> Co-authored-by: Elias Nahum <nahumhbl@gmail.com> Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
This commit is contained in:
parent
6cdb50ed39
commit
028dbf1d5a
1 changed files with 11 additions and 11 deletions
|
|
@ -38,20 +38,20 @@ export default async function getStorage(identifier = 'default') {
|
|||
getItem: (
|
||||
key: string,
|
||||
callback?: (
|
||||
error: Error | null | undefined,
|
||||
result: object | null,
|
||||
error: Error | null,
|
||||
result: string | null,
|
||||
) => void | null | undefined,
|
||||
): Promise<object | null> => {
|
||||
): Promise<string | Error> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
checkValidInput(key);
|
||||
MMKV.getMapAsync(key).then((result: object) => {
|
||||
MMKV.getStringAsync(key).then((result: string) => {
|
||||
if (callback) {
|
||||
callback(null, result);
|
||||
}
|
||||
resolve(result);
|
||||
resolve(JSON.parse(result));
|
||||
}).catch((error: Error) => {
|
||||
if (callback) {
|
||||
callback(null, error);
|
||||
callback(error, null);
|
||||
}
|
||||
reject(error);
|
||||
});
|
||||
|
|
@ -62,12 +62,12 @@ export default async function getStorage(identifier = 'default') {
|
|||
key: string,
|
||||
value: object,
|
||||
callback?: (
|
||||
error: Error | null | undefined
|
||||
error: Error | null
|
||||
) => void | null | undefined,
|
||||
): Promise<null> => {
|
||||
): Promise<null | Error> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
checkValidInput(key, value);
|
||||
MMKV.setMapAsync(key, value).then(() => {
|
||||
MMKV.setStringAsync(key, JSON.stringify(value)).then(() => {
|
||||
if (callback) {
|
||||
callback(null);
|
||||
}
|
||||
|
|
@ -84,7 +84,7 @@ export default async function getStorage(identifier = 'default') {
|
|||
removeItem: (
|
||||
key: string,
|
||||
callback?: (
|
||||
error: Error | null | undefined
|
||||
error: null
|
||||
) => void | null | undefined,
|
||||
): Promise<boolean> => {
|
||||
checkValidInput(key);
|
||||
|
|
@ -95,4 +95,4 @@ export default async function getStorage(identifier = 'default') {
|
|||
return MMKV.removeItem(key);
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue