react-native-mmkv 2.10.2 → 2.11.0

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.
@@ -41,12 +41,10 @@ function createMMKVHook(getter) {
41
41
  return (key, instance) => {
42
42
  const mmkv = instance ?? getDefaultInstance();
43
43
  const [value, setValue] = (0, _react.useState)(() => getter(mmkv, key));
44
- const valueRef = (0, _react.useRef)(value);
45
- valueRef.current = value;
46
44
 
47
45
  // update value by user set
48
46
  const set = (0, _react.useCallback)(v => {
49
- const newValue = typeof v === 'function' ? v(valueRef.current) : v;
47
+ const newValue = typeof v === 'function' ? v(getter(mmkv, key)) : v;
50
48
  switch (typeof newValue) {
51
49
  case 'number':
52
50
  case 'string':
@@ -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","value","setValue","useState","valueRef","set","useCallback","v","newValue","delete","Uint8Array","Error","useEffect","listener","addOnValueChangedListener","changedKey","remove","useMMKVString","getString","useMMKVNumber","getNumber","useMMKVBoolean","getBoolean","useMMKVBuffer","getBuffer","useMMKVObject","string","setString","useMemo","undefined","JSON","parse","stringify","useMMKVListener","valueChangedListener","ref"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":";;;;;;;;;;;AAAA;AACA;AAEA,SAASA,oBAAoB,CAC3BC,IAAwB,EACxBC,KAAyB,EAChB;EACT,IAAID,IAAI,IAAI,IAAI,IAAIC,KAAK,IAAI,IAAI,EAAE,OAAOD,IAAI,IAAI,IAAI,IAAIC,KAAK,IAAI,IAAI;EAEvE,OACED,IAAI,CAACE,aAAa,KAAKD,KAAK,CAACC,aAAa,IAC1CF,IAAI,CAACG,EAAE,KAAKF,KAAK,CAACE,EAAE,IACpBH,IAAI,CAACI,IAAI,KAAKH,KAAK,CAACG,IAAI;AAE5B;AAEA,IAAIC,eAA4B,GAAG,IAAI;AACvC,SAASC,kBAAkB,GAAS;EAClC,IAAID,eAAe,IAAI,IAAI,EAAE;IAC3BA,eAAe,GAAG,IAAIE,UAAI,EAAE;EAC9B;EACA,OAAOF,eAAe;AACxB;;AAEA;AACA;AACA;;AAOO,SAASG,OAAO,CAACC,aAAiC,EAAQ;EAC/D,MAAMC,QAAQ,GAAG,IAAAC,aAAM,GAAQ;EAC/B,MAAMC,iBAAiB,GAAG,IAAAD,aAAM,GAAqB;EAErD,IAAIF,aAAa,IAAI,IAAI,EAAE,OAAOH,kBAAkB,EAAE;EAEtD,IACEI,QAAQ,CAACG,OAAO,IAAI,IAAI,IACxB,CAACd,oBAAoB,CAACa,iBAAiB,CAACC,OAAO,EAAEJ,aAAa,CAAC,EAC/D;IACAG,iBAAiB,CAACC,OAAO,GAAGJ,aAAa;IACzCC,QAAQ,CAACG,OAAO,GAAG,IAAIN,UAAI,CAACE,aAAa,CAAC;EAC5C;EAEA,OAAOC,QAAQ,CAACG,OAAO;AACzB;AAEA,SAASC,cAAc,CAIrBC,MAA0C,EAAE;EAC5C,OAAO,CACLC,GAAW,EACXN,QAAe,KACuC;IACtD,MAAMO,IAAI,GAAGP,QAAQ,IAAIJ,kBAAkB,EAAE;IAC7C,MAAM,CAACY,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAML,MAAM,CAACE,IAAI,EAAED,GAAG,CAAC,CAAC;IAC3D,MAAMK,QAAQ,GAAG,IAAAV,aAAM,EAAIO,KAAK,CAAC;IACjCG,QAAQ,CAACR,OAAO,GAAGK,KAAK;;IAExB;IACA,MAAMI,GAAG,GAAG,IAAAC,kBAAW,EACpBC,CAAa,IAAK;MACjB,MAAMC,QAAQ,GAAG,OAAOD,CAAC,KAAK,UAAU,GAAGA,CAAC,CAACH,QAAQ,CAACR,OAAO,CAAC,GAAGW,CAAC;MAClE,QAAQ,OAAOC,QAAQ;QACrB,KAAK,QAAQ;QACb,KAAK,QAAQ;QACb,KAAK,SAAS;UACZR,IAAI,CAACK,GAAG,CAACN,GAAG,EAAES,QAAQ,CAAC;UACvB;QACF,KAAK,WAAW;UACdR,IAAI,CAACS,MAAM,CAACV,GAAG,CAAC;UAChB;QACF,KAAK,QAAQ;UACX,IAAIS,QAAQ,YAAYE,UAAU,EAAE;YAClCV,IAAI,CAACK,GAAG,CAACN,GAAG,EAAES,QAAQ,CAAC;YACvB;UACF,CAAC,MAAM;YACL,MAAM,IAAIG,KAAK,CACZ,sBAAqBH,QAAS,qBAAoB,CACpD;UACH;QACF;UACE,MAAM,IAAIG,KAAK,CAAE,cAAa,OAAOH,QAAS,oBAAmB,CAAC;MAAC;IAEzE,CAAC,EACD,CAACT,GAAG,EAAEC,IAAI,CAAC,CACZ;;IAED;IACA,IAAAY,gBAAS,EAAC,MAAM;MACdV,QAAQ,CAACJ,MAAM,CAACE,IAAI,EAAED,GAAG,CAAC,CAAC;IAC7B,CAAC,EAAE,CAACA,GAAG,EAAEC,IAAI,CAAC,CAAC;;IAEf;IACA,IAAAY,gBAAS,EAAC,MAAM;MACd,MAAMC,QAAQ,GAAGb,IAAI,CAACc,yBAAyB,CAAEC,UAAU,IAAK;QAC9D,IAAIA,UAAU,KAAKhB,GAAG,EAAE;UACtBG,QAAQ,CAACJ,MAAM,CAACE,IAAI,EAAED,GAAG,CAAC,CAAC;QAC7B;MACF,CAAC,CAAC;MACF,OAAO,MAAMc,QAAQ,CAACG,MAAM,EAAE;IAChC,CAAC,EAAE,CAACjB,GAAG,EAAEC,IAAI,CAAC,CAAC;IAEf,OAAO,CAACC,KAAK,EAAEI,GAAG,CAAC;EACrB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMY,aAAa,GAAGpB,cAAc,CAAC,CAACJ,QAAQ,EAAEM,GAAG,KACxDN,QAAQ,CAACyB,SAAS,CAACnB,GAAG,CAAC,CACxB;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAUO,MAAMoB,aAAa,GAAGtB,cAAc,CAAC,CAACJ,QAAQ,EAAEM,GAAG,KACxDN,QAAQ,CAAC2B,SAAS,CAACrB,GAAG,CAAC,CACxB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAUO,MAAMsB,cAAc,GAAGxB,cAAc,CAAC,CAACJ,QAAQ,EAAEM,GAAG,KACzDN,QAAQ,CAAC6B,UAAU,CAACvB,GAAG,CAAC,CACzB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAUO,MAAMwB,aAAa,GAAG1B,cAAc,CAAC,CAACJ,QAAQ,EAAEM,GAAG,KACxDN,QAAQ,CAAC+B,SAAS,CAACzB,GAAG,CAAC,CACxB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;AAYO,SAAS0B,aAAa,CAC3B1B,GAAW,EACXN,QAAe,EACmD;EAClE,MAAM,CAACiC,MAAM,EAAEC,SAAS,CAAC,GAAGV,aAAa,CAAClB,GAAG,EAAEN,QAAQ,CAAC;EAExD,MAAMQ,KAAK,GAAG,IAAA2B,cAAO,EAAC,MAAM;IAC1B,IAAIF,MAAM,IAAI,IAAI,EAAE,OAAOG,SAAS;IACpC,OAAOC,IAAI,CAACC,KAAK,CAACL,MAAM,CAAC;EAC3B,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EACZ,MAAMxB,QAAQ,GAAG,IAAAI,kBAAW,EACzBC,CAAgB,IAAK;IACpB,IAAIA,CAAC,IAAI,IAAI,EAAE;MACb;MACAoB,SAAS,CAACE,SAAS,CAAC;IACtB,CAAC,MAAM;MACL;MACAF,SAAS,CAACG,IAAI,CAACE,SAAS,CAACzB,CAAC,CAAC,CAAC;IAC9B;EACF,CAAC,EACD,CAACoB,SAAS,CAAC,CACZ;EAED,OAAO,CAAC1B,KAAK,EAAEC,QAAQ,CAAC;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS+B,eAAe,CAC7BC,oBAA2C,EAC3CzC,QAAe,EACT;EACN,MAAM0C,GAAG,GAAG,IAAAzC,aAAM,EAACwC,oBAAoB,CAAC;EACxCC,GAAG,CAACvC,OAAO,GAAGsC,oBAAoB;EAElC,MAAMlC,IAAI,GAAGP,QAAQ,IAAIJ,kBAAkB,EAAE;EAE7C,IAAAuB,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAGb,IAAI,CAACc,yBAAyB,CAAEC,UAAU,IAAK;MAC9DoB,GAAG,CAACvC,OAAO,CAACmB,UAAU,CAAC;IACzB,CAAC,CAAC;IACF,OAAO,MAAMF,QAAQ,CAACG,MAAM,EAAE;EAChC,CAAC,EAAE,CAAChB,IAAI,CAAC,CAAC;AACZ"}
1
+ {"version":3,"names":["isConfigurationEqual","left","right","encryptionKey","id","path","defaultInstance","getDefaultInstance","MMKV","useMMKV","configuration","instance","useRef","lastConfiguration","current","createMMKVHook","getter","key","mmkv","value","setValue","useState","set","useCallback","v","newValue","delete","Uint8Array","Error","useEffect","listener","addOnValueChangedListener","changedKey","remove","useMMKVString","getString","useMMKVNumber","getNumber","useMMKVBoolean","getBoolean","useMMKVBuffer","getBuffer","useMMKVObject","string","setString","useMemo","undefined","JSON","parse","stringify","useMMKVListener","valueChangedListener","ref"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"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"}
@@ -30,12 +30,10 @@ function createMMKVHook(getter) {
30
30
  return (key, instance) => {
31
31
  const mmkv = instance ?? getDefaultInstance();
32
32
  const [value, setValue] = useState(() => getter(mmkv, key));
33
- const valueRef = useRef(value);
34
- valueRef.current = value;
35
33
 
36
34
  // update value by user set
37
35
  const set = useCallback(v => {
38
- const newValue = typeof v === 'function' ? v(valueRef.current) : v;
36
+ const newValue = typeof v === 'function' ? v(getter(mmkv, key)) : v;
39
37
  switch (typeof newValue) {
40
38
  case 'number':
41
39
  case 'string':
@@ -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","value","setValue","valueRef","set","v","newValue","delete","Uint8Array","Error","listener","addOnValueChangedListener","changedKey","remove","useMMKVString","getString","useMMKVNumber","getNumber","useMMKVBoolean","getBoolean","useMMKVBuffer","getBuffer","useMMKVObject","string","setString","undefined","JSON","parse","stringify","useMMKVListener","valueChangedListener","ref"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"AAAA,SAASA,MAAM,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,EAAEC,SAAS,QAAQ,OAAO;AACzE,SAASC,IAAI,QAA2B,QAAQ;AAEhD,SAASC,oBAAoB,CAC3BC,IAAwB,EACxBC,KAAyB,EAChB;EACT,IAAID,IAAI,IAAI,IAAI,IAAIC,KAAK,IAAI,IAAI,EAAE,OAAOD,IAAI,IAAI,IAAI,IAAIC,KAAK,IAAI,IAAI;EAEvE,OACED,IAAI,CAACE,aAAa,KAAKD,KAAK,CAACC,aAAa,IAC1CF,IAAI,CAACG,EAAE,KAAKF,KAAK,CAACE,EAAE,IACpBH,IAAI,CAACI,IAAI,KAAKH,KAAK,CAACG,IAAI;AAE5B;AAEA,IAAIC,eAA4B,GAAG,IAAI;AACvC,SAASC,kBAAkB,GAAS;EAClC,IAAID,eAAe,IAAI,IAAI,EAAE;IAC3BA,eAAe,GAAG,IAAIP,IAAI,EAAE;EAC9B;EACA,OAAOO,eAAe;AACxB;;AAEA;AACA;AACA;;AAOA,OAAO,SAASE,OAAO,CAACC,aAAiC,EAAQ;EAC/D,MAAMC,QAAQ,GAAGhB,MAAM,EAAQ;EAC/B,MAAMiB,iBAAiB,GAAGjB,MAAM,EAAqB;EAErD,IAAIe,aAAa,IAAI,IAAI,EAAE,OAAOF,kBAAkB,EAAE;EAEtD,IACEG,QAAQ,CAACE,OAAO,IAAI,IAAI,IACxB,CAACZ,oBAAoB,CAACW,iBAAiB,CAACC,OAAO,EAAEH,aAAa,CAAC,EAC/D;IACAE,iBAAiB,CAACC,OAAO,GAAGH,aAAa;IACzCC,QAAQ,CAACE,OAAO,GAAG,IAAIb,IAAI,CAACU,aAAa,CAAC;EAC5C;EAEA,OAAOC,QAAQ,CAACE,OAAO;AACzB;AAEA,SAASC,cAAc,CAIrBC,MAA0C,EAAE;EAC5C,OAAO,CACLC,GAAW,EACXL,QAAe,KACuC;IACtD,MAAMM,IAAI,GAAGN,QAAQ,IAAIH,kBAAkB,EAAE;IAC7C,MAAM,CAACU,KAAK,EAAEC,QAAQ,CAAC,GAAGvB,QAAQ,CAAC,MAAMmB,MAAM,CAACE,IAAI,EAAED,GAAG,CAAC,CAAC;IAC3D,MAAMI,QAAQ,GAAGzB,MAAM,CAAIuB,KAAK,CAAC;IACjCE,QAAQ,CAACP,OAAO,GAAGK,KAAK;;IAExB;IACA,MAAMG,GAAG,GAAGvB,WAAW,CACpBwB,CAAa,IAAK;MACjB,MAAMC,QAAQ,GAAG,OAAOD,CAAC,KAAK,UAAU,GAAGA,CAAC,CAACF,QAAQ,CAACP,OAAO,CAAC,GAAGS,CAAC;MAClE,QAAQ,OAAOC,QAAQ;QACrB,KAAK,QAAQ;QACb,KAAK,QAAQ;QACb,KAAK,SAAS;UACZN,IAAI,CAACI,GAAG,CAACL,GAAG,EAAEO,QAAQ,CAAC;UACvB;QACF,KAAK,WAAW;UACdN,IAAI,CAACO,MAAM,CAACR,GAAG,CAAC;UAChB;QACF,KAAK,QAAQ;UACX,IAAIO,QAAQ,YAAYE,UAAU,EAAE;YAClCR,IAAI,CAACI,GAAG,CAACL,GAAG,EAAEO,QAAQ,CAAC;YACvB;UACF,CAAC,MAAM;YACL,MAAM,IAAIG,KAAK,CACZ,sBAAqBH,QAAS,qBAAoB,CACpD;UACH;QACF;UACE,MAAM,IAAIG,KAAK,CAAE,cAAa,OAAOH,QAAS,oBAAmB,CAAC;MAAC;IAEzE,CAAC,EACD,CAACP,GAAG,EAAEC,IAAI,CAAC,CACZ;;IAED;IACAlB,SAAS,CAAC,MAAM;MACdoB,QAAQ,CAACJ,MAAM,CAACE,IAAI,EAAED,GAAG,CAAC,CAAC;IAC7B,CAAC,EAAE,CAACA,GAAG,EAAEC,IAAI,CAAC,CAAC;;IAEf;IACAlB,SAAS,CAAC,MAAM;MACd,MAAM4B,QAAQ,GAAGV,IAAI,CAACW,yBAAyB,CAAEC,UAAU,IAAK;QAC9D,IAAIA,UAAU,KAAKb,GAAG,EAAE;UACtBG,QAAQ,CAACJ,MAAM,CAACE,IAAI,EAAED,GAAG,CAAC,CAAC;QAC7B;MACF,CAAC,CAAC;MACF,OAAO,MAAMW,QAAQ,CAACG,MAAM,EAAE;IAChC,CAAC,EAAE,CAACd,GAAG,EAAEC,IAAI,CAAC,CAAC;IAEf,OAAO,CAACC,KAAK,EAAEG,GAAG,CAAC;EACrB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMU,aAAa,GAAGjB,cAAc,CAAC,CAACH,QAAQ,EAAEK,GAAG,KACxDL,QAAQ,CAACqB,SAAS,CAAChB,GAAG,CAAC,CACxB;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMiB,aAAa,GAAGnB,cAAc,CAAC,CAACH,QAAQ,EAAEK,GAAG,KACxDL,QAAQ,CAACuB,SAAS,CAAClB,GAAG,CAAC,CACxB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMmB,cAAc,GAAGrB,cAAc,CAAC,CAACH,QAAQ,EAAEK,GAAG,KACzDL,QAAQ,CAACyB,UAAU,CAACpB,GAAG,CAAC,CACzB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMqB,aAAa,GAAGvB,cAAc,CAAC,CAACH,QAAQ,EAAEK,GAAG,KACxDL,QAAQ,CAAC2B,SAAS,CAACtB,GAAG,CAAC,CACxB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASuB,aAAa,CAC3BvB,GAAW,EACXL,QAAe,EACmD;EAClE,MAAM,CAAC6B,MAAM,EAAEC,SAAS,CAAC,GAAGV,aAAa,CAACf,GAAG,EAAEL,QAAQ,CAAC;EAExD,MAAMO,KAAK,GAAGrB,OAAO,CAAC,MAAM;IAC1B,IAAI2C,MAAM,IAAI,IAAI,EAAE,OAAOE,SAAS;IACpC,OAAOC,IAAI,CAACC,KAAK,CAACJ,MAAM,CAAC;EAC3B,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EACZ,MAAMrB,QAAQ,GAAGrB,WAAW,CACzBwB,CAAgB,IAAK;IACpB,IAAIA,CAAC,IAAI,IAAI,EAAE;MACb;MACAmB,SAAS,CAACC,SAAS,CAAC;IACtB,CAAC,MAAM;MACL;MACAD,SAAS,CAACE,IAAI,CAACE,SAAS,CAACvB,CAAC,CAAC,CAAC;IAC9B;EACF,CAAC,EACD,CAACmB,SAAS,CAAC,CACZ;EAED,OAAO,CAACvB,KAAK,EAAEC,QAAQ,CAAC;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS2B,eAAe,CAC7BC,oBAA2C,EAC3CpC,QAAe,EACT;EACN,MAAMqC,GAAG,GAAGrD,MAAM,CAACoD,oBAAoB,CAAC;EACxCC,GAAG,CAACnC,OAAO,GAAGkC,oBAAoB;EAElC,MAAM9B,IAAI,GAAGN,QAAQ,IAAIH,kBAAkB,EAAE;EAE7CT,SAAS,CAAC,MAAM;IACd,MAAM4B,QAAQ,GAAGV,IAAI,CAACW,yBAAyB,CAAEC,UAAU,IAAK;MAC9DmB,GAAG,CAACnC,OAAO,CAACgB,UAAU,CAAC;IACzB,CAAC,CAAC;IACF,OAAO,MAAMF,QAAQ,CAACG,MAAM,EAAE;EAChC,CAAC,EAAE,CAACb,IAAI,CAAC,CAAC;AACZ"}
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","value","setValue","set","v","newValue","delete","Uint8Array","Error","listener","addOnValueChangedListener","changedKey","remove","useMMKVString","getString","useMMKVNumber","getNumber","useMMKVBoolean","getBoolean","useMMKVBuffer","getBuffer","useMMKVObject","string","setString","undefined","JSON","parse","stringify","useMMKVListener","valueChangedListener","ref"],"sourceRoot":"../../src","sources":["hooks.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAuBjD;;GAEG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAAC;AAChC;;;GAGG;AACH,wBAAgB,OAAO,CAAC,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;AAgFhE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QAlEjB,MAAM,aACA,IAAI,kIAC8B,IAAI,CAkEpD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QAhFjB,MAAM,aACA,IAAI,kIAC8B,IAAI,CAgFpD,CAAC;AACF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QA7FlB,MAAM,aACA,IAAI,sIAC8B,IAAI,CA6FpD,CAAC;AACF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QA1GjB,MAAM,aACA,IAAI,kJAC8B,IAAI,CA0GpD,CAAC;AACF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,IAAI,GACd,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC,CAqBlE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC3C,QAAQ,CAAC,EAAE,IAAI,GACd,IAAI,CAYN"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAuBjD;;GAEG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAAC;AAChC;;;GAGG;AACH,wBAAgB,OAAO,CAAC,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;AA8EhE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QAhEjB,MAAM,aACA,IAAI,kIAC8B,IAAI,CAgEpD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QA9EjB,MAAM,aACA,IAAI,kIAC8B,IAAI,CA8EpD,CAAC;AACF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QA3FlB,MAAM,aACA,IAAI,sIAC8B,IAAI,CA2FpD,CAAC;AACF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,QAxGjB,MAAM,aACA,IAAI,kJAC8B,IAAI,CAwGpD,CAAC;AACF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,IAAI,GACd,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC,CAqBlE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC3C,QAAQ,CAAC,EAAE,IAAI,GACd,IAAI,CAYN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-mmkv",
3
- "version": "2.10.2",
3
+ "version": "2.11.0",
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",
@@ -24,12 +24,16 @@
24
24
  "ios/Mmkv.xcodeproj/project.pbxproj",
25
25
  "src",
26
26
  "react-native-mmkv.podspec",
27
- "README.md"
27
+ "README.md",
28
+ "img/banner-light.png",
29
+ "img/banner-dark.png"
28
30
  ],
29
31
  "scripts": {
30
32
  "typescript": "tsc --noEmit",
31
33
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
32
34
  "lint-ci": "yarn lint -f ./node_modules/@firmnav/eslint-github-actions-formatter/dist/formatter.js",
35
+ "lint-cpp": "scripts/clang-format.sh",
36
+ "test": "jest",
33
37
  "prepare": "git submodule update --init --recursive && bob build",
34
38
  "prepack": "bob build",
35
39
  "update-submodule": "git submodule update --remote --merge",
@@ -58,16 +62,22 @@
58
62
  "@react-native-community/eslint-config": "^3.2.0",
59
63
  "@react-native-community/eslint-plugin": "^1.3.0",
60
64
  "@release-it/conventional-changelog": "^5.1.1",
65
+ "@testing-library/react-native": "^12.3.2",
61
66
  "@tsconfig/react-native": "^2.0.3",
62
- "@types/react": "^18.0.34",
67
+ "@types/jest": "^29.5.7",
68
+ "@types/react": "^18.2.36",
69
+ "@types/react-test-renderer": "^18.0.5",
63
70
  "@typescript-eslint/eslint-plugin": "^5.58.0",
64
71
  "@typescript-eslint/parser": "^5.58.0",
65
72
  "eslint": "^8.38.0",
66
73
  "eslint-plugin-jest": "^27.2.1",
74
+ "jest": "^29.7.0",
75
+ "metro-react-native-babel-preset": "^0.77.0",
67
76
  "prettier": "^2.8.7",
68
77
  "react": "^18.2.0",
69
78
  "react-native": "^0.71.6",
70
79
  "react-native-builder-bob": "^0.20.4",
80
+ "react-test-renderer": "^18.2.0",
71
81
  "release-it": "^15.10.1",
72
82
  "typescript": "^4.9.4"
73
83
  },
package/src/hooks.ts CHANGED
@@ -59,13 +59,11 @@ function createMMKVHook<
59
59
  ): [value: T, setValue: (value: TSetAction) => void] => {
60
60
  const mmkv = instance ?? getDefaultInstance();
61
61
  const [value, setValue] = useState(() => getter(mmkv, key));
62
- const valueRef = useRef<T>(value);
63
- valueRef.current = value;
64
62
 
65
63
  // update value by user set
66
64
  const set = useCallback(
67
65
  (v: TSetAction) => {
68
- const newValue = typeof v === 'function' ? v(valueRef.current) : v;
66
+ const newValue = typeof v === 'function' ? v(getter(mmkv, key)) : v;
69
67
  switch (typeof newValue) {
70
68
  case 'number':
71
69
  case 'string':