rn-mmkv-storage-flipper
Version:
Flipper plugin to see MMKV Storage actions
2 lines (1 loc) • 3.9 kB
JavaScript
"use strict";import{addPlugin as o}from"react-native-flipper";export default function c(r){o({getId:function(){return"react-native-mmkv-storage"},runInBackground:function(){return!0},onConnect:function(a){if(r){var s=Array.isArray(r)?r:[r];s.forEach(function(e){e.transactions?(a.send("supportStatus",{reason:null}),e.transactions.register("array","onread",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"READ",key:n,type:"array",value:t,time:new Date().toISOString()})}),e.transactions.register("array","onwrite",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"WRITE",key:n,type:"array",value:t,time:new Date().toISOString()})}),e.transactions.register("array","ondelete",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"DELETE",key:n,type:"",value:t,time:new Date().toISOString()})}),e.transactions.register("boolean","onread",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"READ",key:n,type:"boolean",value:t,time:new Date().toISOString()})}),e.transactions.register("boolean","onwrite",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"WRITE",key:n,type:"boolean",value:t,time:new Date().toISOString()})}),e.transactions.register("boolean","ondelete",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"DELETE",key:n,type:"",value:t,time:new Date().toISOString()})}),e.transactions.register("number","onread",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"READ",key:n,type:"number",value:t,time:new Date().toISOString()})}),e.transactions.register("number","onwrite",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"WRITE",key:n,type:"number",value:t,time:new Date().toISOString()})}),e.transactions.register("number","ondelete",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"DELETE",key:n,type:"",value:t,time:new Date().toISOString()})}),e.transactions.register("object","onread",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"READ",key:n,type:"object",value:t,time:new Date().toISOString()})}),e.transactions.register("object","onwrite",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"WRITE",key:n,type:"object",value:t,time:new Date().toISOString()})}),e.transactions.register("object","ondelete",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"DELETE",key:n,type:"",value:t,time:new Date().toISOString()})}),e.transactions.register("string","onread",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"READ",key:n,type:"string",value:t,time:new Date().toISOString()})}),e.transactions.register("string","onwrite",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"WRITE",key:n,type:"string",value:t,time:new Date().toISOString()})}),e.transactions.register("string","ondelete",function(n,t){a.send("newData",{instanceID:e.instanceID,mode:"DELETE",key:n,type:"",value:t,time:new Date().toISOString()})})):a.send("supportStatus",{reason:"You're using RN MMKV storage that don't have Transaction Manager. Please update to the latest version."})}),a.receive("editValue",function(e,n){var t=s.find(function(i){return e.data.instanceID===i.instanceID});if(t){switch(e.data.type){case"boolean":t.setBool(e.data.key,e.newValue);break;case"number":t.setInt(e.data.key,e.newValue);break;case"string":t.setString(e.data.key,e.newValue);break;case"array":t.setArray(e.data.key,e.newValue);break;case"object":t.setMap(e.data.key,e.newValue);break;default:break}n.success()}else n.error({reason:"Mismatch instance ID"})}),a.receive("deleteItem",function(e,n){var t=s.find(function(i){return e.data.instanceID===i.instanceID});if(t){try{t.removeItem(e.data.key)}catch{}n.success()}else n.error({reason:"Mismatch instance ID"})})}else a.send("supportStatus",{reason:"MMKV instance not found!"})},onDisconnect:function(){try{Array.isArray(r)?r.forEach(function(a){a.transactions.clear()}):r.transactions.clear()}catch{}}})}