react-native-nitro-storage 0.3.0 → 0.3.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/README.md +414 -256
- package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +98 -11
- package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +15 -0
- package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +130 -33
- package/android/src/main/java/com/nitrostorage/NitroStoragePackage.kt +2 -2
- package/cpp/bindings/HybridStorage.cpp +121 -12
- package/cpp/bindings/HybridStorage.hpp +10 -0
- package/cpp/core/NativeStorageAdapter.hpp +15 -0
- package/ios/IOSStorageAdapterCpp.hpp +19 -0
- package/ios/IOSStorageAdapterCpp.mm +233 -32
- package/lib/commonjs/Storage.types.js +23 -1
- package/lib/commonjs/Storage.types.js.map +1 -1
- package/lib/commonjs/index.js +173 -32
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +289 -49
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/internal.js +10 -0
- package/lib/commonjs/internal.js.map +1 -1
- package/lib/module/Storage.types.js +22 -0
- package/lib/module/Storage.types.js.map +1 -1
- package/lib/module/index.js +163 -35
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +278 -51
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/internal.js +8 -0
- package/lib/module/internal.js.map +1 -1
- package/lib/typescript/Storage.nitro.d.ts +10 -0
- package/lib/typescript/Storage.nitro.d.ts.map +1 -1
- package/lib/typescript/Storage.types.d.ts +20 -0
- package/lib/typescript/Storage.types.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +30 -7
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +40 -7
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/internal.d.ts +2 -0
- package/lib/typescript/internal.d.ts.map +1 -1
- package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +10 -0
- package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +10 -0
- package/package.json +4 -1
- package/src/Storage.nitro.ts +11 -2
- package/src/Storage.types.ts +22 -0
- package/src/index.ts +270 -71
- package/src/index.web.ts +431 -90
- package/src/internal.ts +14 -4
- package/src/migration.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useSyncExternalStore","StorageScope","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","migrateFromMMKV","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","pendingSecureWrites","secureFlushScheduled","getBrowserStorage","scope","globalThis","localStorage","sessionStorage","undefined","getScopedListeners","get","getScopeRawCache","cacheRawValue","key","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","scopedListeners","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","push","length","WebStorage","setBatch","removeBatch","scheduleSecureWrite","name","equals","other","dispose","storage","setItem","getItem","remove","removeItem","keys","index","getBatch","map","addOnChange","_scope","_callback","getRawValue","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","clearAll","canUseRawBatchPath","item","_hasExpiration","_hasValidation","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","validate","onValidationError","expiration","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","defaultValue","ensureValidatedValue","candidate","hadStoredValue","resolved","canUseCachedValue","deserializableRaw","parse","valueOrFn","currentValue","newValue","deleteItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","items","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","filter","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","entries","reverse","previousValue"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,OAAO;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SACEC,qBAAqB,EAErBC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,EAChBC,8BAA8B,EAC9BC,gCAAgC,QAC3B,YAAY;AAEnB,SAASN,YAAY,QAAQ,iBAAiB;AAC9C,SAASO,eAAe,QAAQ,aAAa;AAwC7C,MAAMC,oBAAoB,GAAG,IAAIC,GAAG,CAAoB,CAAC;AACzD,MAAMC,YAAY,GAChB,OAAOC,cAAc,KAAK,UAAU,GAChCA,cAAc,GACbC,IAAgB,IAAK;EACpBC,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC;AAC9B,CAAC;AAmBP,MAAMI,WAAW,GAAG,IAAIP,GAAG,CAAkB,CAAC;AAC9C,MAAMQ,eAAoC,GAAG,IAAIR,GAAG,CAAC,CAAC;AACtD,MAAMS,iBAAiB,GAAG,IAAIT,GAAG,CAAsC,CACrE,CAACT,YAAY,CAACmB,IAAI,EAAE,IAAIV,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACT,YAAY,CAACoB,MAAM,EAAE,IAAIX,GAAG,CAAC,CAAC,CAAC,CACjC,CAAC;AACF,MAAMY,cAAc,GAAG,IAAIZ,GAAG,CAAkD,CAC9E,CAACT,YAAY,CAACmB,IAAI,EAAE,IAAIV,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACT,YAAY,CAACoB,MAAM,EAAE,IAAIX,GAAG,CAAC,CAAC,CAAC,CACjC,CAAC;AACF,MAAMa,mBAAmB,GAAG,IAAIb,GAAG,CAA6B,CAAC;AACjE,IAAIc,oBAAoB,GAAG,KAAK;AAEhC,SAASC,iBAAiBA,CAACC,KAAa,EAAkC;EACxE,IAAIA,KAAK,KAAKzB,YAAY,CAACmB,IAAI,EAAE;IAC/B,OAAOO,UAAU,CAACC,YAAY;EAChC;EACA,IAAIF,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;IACjC,OAAOM,UAAU,CAACE,cAAc;EAClC;EACA,OAAOC,SAAS;AAClB;AAEA,SAASC,kBAAkBA,CAACL,KAAqB,EAAuB;EACtE,OAAOP,iBAAiB,CAACa,GAAG,CAACN,KAAK,CAAC;AACrC;AAEA,SAASO,gBAAgBA,CAACP,KAAqB,EAAmC;EAChF,OAAOJ,cAAc,CAACU,GAAG,CAACN,KAAK,CAAC;AAClC;AAEA,SAASQ,aAAaA,CAACR,KAAqB,EAAES,GAAW,EAAEC,KAAyB,EAAQ;EAC1FH,gBAAgB,CAACP,KAAK,CAAC,CAACW,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;AACzC;AAEA,SAASE,kBAAkBA,CACzBZ,KAAqB,EACrBS,GAAW,EACS;EACpB,OAAOF,gBAAgB,CAACP,KAAK,CAAC,CAACM,GAAG,CAACG,GAAG,CAAC;AACzC;AAEA,SAASI,iBAAiBA,CAACb,KAAqB,EAAES,GAAW,EAAW;EACtE,OAAOF,gBAAgB,CAACP,KAAK,CAAC,CAACc,GAAG,CAACL,GAAG,CAAC;AACzC;AAEA,SAASM,kBAAkBA,CAACf,KAAqB,EAAQ;EACvDO,gBAAgB,CAACP,KAAK,CAAC,CAACgB,KAAK,CAAC,CAAC;AACjC;AAEA,SAASC,kBAAkBA,CAACC,QAA6B,EAAET,GAAW,EAAQ;EAC5ES,QAAQ,CAACZ,GAAG,CAACG,GAAG,CAAC,EAAEU,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;AACtD;AAEA,SAASC,kBAAkBA,CAACH,QAA6B,EAAQ;EAC/DA,QAAQ,CAACC,OAAO,CAAEG,SAAS,IAAK;IAC9BA,SAAS,CAACH,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EAC7C,CAAC,CAAC;AACJ;AAEA,SAASG,cAAcA,CACrBL,QAA6B,EAC7BT,GAAW,EACXW,QAAoB,EACR;EACZ,IAAIE,SAAS,GAAGJ,QAAQ,CAACZ,GAAG,CAACG,GAAG,CAAC;EACjC,IAAI,CAACa,SAAS,EAAE;IACdA,SAAS,GAAG,IAAIE,GAAG,CAAC,CAAC;IACrBN,QAAQ,CAACP,GAAG,CAACF,GAAG,EAAEa,SAAS,CAAC;EAC9B;EACAA,SAAS,CAACG,GAAG,CAACL,QAAQ,CAAC;EAEvB,OAAO,MAAM;IACX,MAAMM,eAAe,GAAGR,QAAQ,CAACZ,GAAG,CAACG,GAAG,CAAC;IACzC,IAAI,CAACiB,eAAe,EAAE;MACpB;IACF;IACAA,eAAe,CAACC,MAAM,CAACP,QAAQ,CAAC;IAChC,IAAIM,eAAe,CAACE,IAAI,KAAK,CAAC,EAAE;MAC9BV,QAAQ,CAACS,MAAM,CAAClB,GAAG,CAAC;IACtB;EACF,CAAC;AACH;AAEA,SAASoB,sBAAsBA,CAACpB,GAAW,EAAsB;EAC/D,OAAOZ,mBAAmB,CAACS,GAAG,CAACG,GAAG,CAAC,EAAEC,KAAK;AAC5C;AAEA,SAASoB,qBAAqBA,CAACrB,GAAW,EAAW;EACnD,OAAOZ,mBAAmB,CAACiB,GAAG,CAACL,GAAG,CAAC;AACrC;AAEA,SAASsB,uBAAuBA,CAACtB,GAAW,EAAQ;EAClDZ,mBAAmB,CAAC8B,MAAM,CAAClB,GAAG,CAAC;AACjC;AAEA,SAASuB,iBAAiBA,CAAA,EAAS;EACjClC,oBAAoB,GAAG,KAAK;EAE5B,IAAID,mBAAmB,CAAC+B,IAAI,KAAK,CAAC,EAAE;IAClC;EACF;EAEA,MAAMK,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACtC,mBAAmB,CAACuC,MAAM,CAAC,CAAC,CAAC;EACvDvC,mBAAmB,CAACmB,KAAK,CAAC,CAAC;EAE3B,MAAMqB,SAAmB,GAAG,EAAE;EAC9B,MAAMC,WAAqB,GAAG,EAAE;EAChC,MAAMC,YAAsB,GAAG,EAAE;EAEjCN,MAAM,CAACd,OAAO,CAAC,CAAC;IAAEV,GAAG;IAAEC;EAAM,CAAC,KAAK;IACjC,IAAIA,KAAK,KAAKN,SAAS,EAAE;MACvBmC,YAAY,CAACC,IAAI,CAAC/B,GAAG,CAAC;IACxB,CAAC,MAAM;MACL4B,SAAS,CAACG,IAAI,CAAC/B,GAAG,CAAC;MACnB6B,WAAW,CAACE,IAAI,CAAC9B,KAAK,CAAC;IACzB;EACF,CAAC,CAAC;EAEF,IAAI2B,SAAS,CAACI,MAAM,GAAG,CAAC,EAAE;IACxBC,UAAU,CAACC,QAAQ,CAACN,SAAS,EAAEC,WAAW,EAAE/D,YAAY,CAACoB,MAAM,CAAC;EAClE;EACA,IAAI4C,YAAY,CAACE,MAAM,GAAG,CAAC,EAAE;IAC3BC,UAAU,CAACE,WAAW,CAACL,YAAY,EAAEhE,YAAY,CAACoB,MAAM,CAAC;EAC3D;AACF;AAEA,SAASkD,mBAAmBA,CAACpC,GAAW,EAAEC,KAAyB,EAAQ;EACzEb,mBAAmB,CAACc,GAAG,CAACF,GAAG,EAAE;IAAEA,GAAG;IAAEC;EAAM,CAAC,CAAC;EAC5C,IAAIZ,oBAAoB,EAAE;IACxB;EACF;EACAA,oBAAoB,GAAG,IAAI;EAC3Bb,YAAY,CAAC+C,iBAAiB,CAAC;AACjC;AAEA,MAAMU,UAAmB,GAAG;EAC1BI,IAAI,EAAE,SAAS;EACfC,MAAM,EAAGC,KAAK,IAAKA,KAAK,KAAKN,UAAU;EACvCO,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBtC,GAAG,EAAEA,CAACF,GAAW,EAAEC,KAAa,EAAEV,KAAa,KAAK;IAClD,MAAMkD,OAAO,GAAGnD,iBAAiB,CAACC,KAAK,CAAC;IACxCkD,OAAO,EAAEC,OAAO,CAAC1C,GAAG,EAAEC,KAAK,CAAC;IAC5B,IAAIV,KAAK,KAAKzB,YAAY,CAACmB,IAAI,IAAIM,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;MAChEsB,kBAAkB,CAACZ,kBAAkB,CAACL,KAAK,CAAC,EAAES,GAAG,CAAC;IACpD;EACF,CAAC;EACDH,GAAG,EAAEA,CAACG,GAAW,EAAET,KAAa,KAAK;IACnC,MAAMkD,OAAO,GAAGnD,iBAAiB,CAACC,KAAK,CAAC;IACxC,OAAOkD,OAAO,EAAEE,OAAO,CAAC3C,GAAG,CAAC,IAAIL,SAAS;EAC3C,CAAC;EACDiD,MAAM,EAAEA,CAAC5C,GAAW,EAAET,KAAa,KAAK;IACtC,MAAMkD,OAAO,GAAGnD,iBAAiB,CAACC,KAAK,CAAC;IACxCkD,OAAO,EAAEI,UAAU,CAAC7C,GAAG,CAAC;IACxB,IAAIT,KAAK,KAAKzB,YAAY,CAACmB,IAAI,IAAIM,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;MAChEsB,kBAAkB,CAACZ,kBAAkB,CAACL,KAAK,CAAC,EAAES,GAAG,CAAC;IACpD;EACF,CAAC;EACDO,KAAK,EAAGhB,KAAa,IAAK;IACxB,MAAMkD,OAAO,GAAGnD,iBAAiB,CAACC,KAAK,CAAC;IACxCkD,OAAO,EAAElC,KAAK,CAAC,CAAC;IAChB,IAAIhB,KAAK,KAAKzB,YAAY,CAACmB,IAAI,IAAIM,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;MAChE0B,kBAAkB,CAAChB,kBAAkB,CAACL,KAAK,CAAC,CAAC;IAC/C;EACF,CAAC;EACD2C,QAAQ,EAAEA,CAACY,IAAc,EAAEnB,MAAgB,EAAEpC,KAAa,KAAK;IAC7D,MAAMkD,OAAO,GAAGnD,iBAAiB,CAACC,KAAK,CAAC;IACxC,IAAI,CAACkD,OAAO,EAAE;MACZ;IACF;IAEAK,IAAI,CAACpC,OAAO,CAAC,CAACV,GAAG,EAAE+C,KAAK,KAAK;MAC3BN,OAAO,CAACC,OAAO,CAAC1C,GAAG,EAAE2B,MAAM,CAACoB,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC;IACF,IAAIxD,KAAK,KAAKzB,YAAY,CAACmB,IAAI,IAAIM,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;MAChE,MAAM2B,SAAS,GAAGjB,kBAAkB,CAACL,KAAK,CAAC;MAC3CuD,IAAI,CAACpC,OAAO,CAAEV,GAAG,IAAKQ,kBAAkB,CAACK,SAAS,EAAEb,GAAG,CAAC,CAAC;IAC3D;EACF,CAAC;EACDgD,QAAQ,EAAEA,CAACF,IAAc,EAAEvD,KAAa,KAAK;IAC3C,MAAMkD,OAAO,GAAGnD,iBAAiB,CAACC,KAAK,CAAC;IACxC,OAAOuD,IAAI,CAACG,GAAG,CAAEjD,GAAG,IAAKyC,OAAO,EAAEE,OAAO,CAAC3C,GAAG,CAAC,IAAIL,SAAS,CAAC;EAC9D,CAAC;EACDwC,WAAW,EAAEA,CAACW,IAAc,EAAEvD,KAAa,KAAK;IAC9C,MAAMkD,OAAO,GAAGnD,iBAAiB,CAACC,KAAK,CAAC;IACxC,IAAI,CAACkD,OAAO,EAAE;MACZ;IACF;IAEAK,IAAI,CAACpC,OAAO,CAAEV,GAAG,IAAK;MACpByC,OAAO,CAACI,UAAU,CAAC7C,GAAG,CAAC;IACzB,CAAC,CAAC;IACF,IAAIT,KAAK,KAAKzB,YAAY,CAACmB,IAAI,IAAIM,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;MAChE,MAAM2B,SAAS,GAAGjB,kBAAkB,CAACL,KAAK,CAAC;MAC3CuD,IAAI,CAACpC,OAAO,CAAEV,GAAG,IAAKQ,kBAAkB,CAACK,SAAS,EAAEb,GAAG,CAAC,CAAC;IAC3D;EACF,CAAC;EACDkD,WAAW,EAAEA,CACXC,MAAc,EACdC,SAA2D,KACxD;IACH,OAAO,MAAM,CAAC,CAAC;EACjB;AACF,CAAC;AAED,SAASC,WAAWA,CAACrD,GAAW,EAAET,KAAmB,EAAsB;EACzErB,gBAAgB,CAACqB,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKzB,YAAY,CAACwF,MAAM,EAAE;IACjC,MAAMrD,KAAK,GAAGnB,WAAW,CAACe,GAAG,CAACG,GAAG,CAAC;IAClC,OAAO,OAAOC,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGN,SAAS;EACtD;EAEA,IAAIJ,KAAK,KAAKzB,YAAY,CAACoB,MAAM,IAAImC,qBAAqB,CAACrB,GAAG,CAAC,EAAE;IAC/D,OAAOoB,sBAAsB,CAACpB,GAAG,CAAC;EACpC;EAEA,OAAOiC,UAAU,CAACpC,GAAG,CAACG,GAAG,EAAET,KAAK,CAAC;AACnC;AAEA,SAASgE,WAAWA,CAACvD,GAAW,EAAEC,KAAa,EAAEV,KAAmB,EAAQ;EAC1ErB,gBAAgB,CAACqB,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKzB,YAAY,CAACwF,MAAM,EAAE;IACjCxE,WAAW,CAACoB,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;IAC3BO,kBAAkB,CAACzB,eAAe,EAAEiB,GAAG,CAAC;IACxC;EACF;EAEA,IAAIT,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;IACjCqC,iBAAiB,CAAC,CAAC;IACnBD,uBAAuB,CAACtB,GAAG,CAAC;EAC9B;EAEAiC,UAAU,CAAC/B,GAAG,CAACF,GAAG,EAAEC,KAAK,EAAEV,KAAK,CAAC;EACjCQ,aAAa,CAACR,KAAK,EAAES,GAAG,EAAEC,KAAK,CAAC;AAClC;AAEA,SAASuD,cAAcA,CAACxD,GAAW,EAAET,KAAmB,EAAQ;EAC9DrB,gBAAgB,CAACqB,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKzB,YAAY,CAACwF,MAAM,EAAE;IACjCxE,WAAW,CAACoC,MAAM,CAAClB,GAAG,CAAC;IACvBQ,kBAAkB,CAACzB,eAAe,EAAEiB,GAAG,CAAC;IACxC;EACF;EAEA,IAAIT,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;IACjCqC,iBAAiB,CAAC,CAAC;IACnBD,uBAAuB,CAACtB,GAAG,CAAC;EAC9B;EAEAiC,UAAU,CAACW,MAAM,CAAC5C,GAAG,EAAET,KAAK,CAAC;EAC7BQ,aAAa,CAACR,KAAK,EAAES,GAAG,EAAEL,SAAS,CAAC;AACtC;AAEA,SAAS8D,oBAAoBA,CAAClE,KAAmB,EAAU;EACzD,MAAMmE,GAAG,GAAGL,WAAW,CAACtF,qBAAqB,EAAEwB,KAAK,CAAC;EACrD,IAAImE,GAAG,KAAK/D,SAAS,EAAE;IACrB,OAAO,CAAC;EACV;EAEA,MAAMgE,MAAM,GAAGC,MAAM,CAACC,QAAQ,CAACH,GAAG,EAAE,EAAE,CAAC;EACvC,OAAOE,MAAM,CAACE,QAAQ,CAACH,MAAM,CAAC,IAAIA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC;AAC3D;AAEA,SAASI,qBAAqBA,CAACxE,KAAmB,EAAEyE,OAAe,EAAQ;EACzET,WAAW,CAACxF,qBAAqB,EAAEkG,MAAM,CAACD,OAAO,CAAC,EAAEzE,KAAK,CAAC;AAC5D;AAEA,OAAO,MAAMkD,OAAO,GAAG;EACrBlC,KAAK,EAAGhB,KAAmB,IAAK;IAC9B,IAAIA,KAAK,KAAKzB,YAAY,CAACwF,MAAM,EAAE;MACjCxE,WAAW,CAACyB,KAAK,CAAC,CAAC;MACnBK,kBAAkB,CAAC7B,eAAe,CAAC;MACnC;IACF;IAEA,IAAIQ,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;MACjCqC,iBAAiB,CAAC,CAAC;MACnBnC,mBAAmB,CAACmB,KAAK,CAAC,CAAC;IAC7B;IAEAD,kBAAkB,CAACf,KAAK,CAAC;IACzB0C,UAAU,CAAC1B,KAAK,CAAChB,KAAK,CAAC;EACzB,CAAC;EACD2E,QAAQ,EAAEA,CAAA,KAAM;IACdzB,OAAO,CAAClC,KAAK,CAACzC,YAAY,CAACwF,MAAM,CAAC;IAClCb,OAAO,CAAClC,KAAK,CAACzC,YAAY,CAACmB,IAAI,CAAC;IAChCwD,OAAO,CAAClC,KAAK,CAACzC,YAAY,CAACoB,MAAM,CAAC;EACpC;AACF,CAAC;AA8BD,SAASiF,kBAAkBA,CAACC,IAAsB,EAAW;EAC3D,OAAOA,IAAI,CAACC,cAAc,KAAK,KAAK,IAAID,IAAI,CAACE,cAAc,KAAK,KAAK;AACvE;AAEA,SAASC,gBAAgBA,CAAItE,KAAQ,EAAU;EAC7C,OAAO9B,8BAA8B,CAAC8B,KAAK,CAAC;AAC9C;AAEA,SAASuE,kBAAkBA,CAAIvE,KAAa,EAAK;EAC/C,OAAO7B,gCAAgC,CAAC6B,KAAK,CAAC;AAChD;AAEA,OAAO,SAASwE,iBAAiBA,CAC/BC,MAA4B,EACZ;EAChB,MAAMC,SAAS,GAAGD,MAAM,CAACC,SAAS,IAAIJ,gBAAgB;EACtD,MAAMK,WAAW,GAAGF,MAAM,CAACE,WAAW,IAAIJ,kBAAkB;EAC5D,MAAMK,QAAQ,GAAGH,MAAM,CAACnF,KAAK,KAAKzB,YAAY,CAACwF,MAAM;EACrD,MAAMwB,QAAQ,GAAGJ,MAAM,CAACI,QAAQ;EAChC,MAAMC,iBAAiB,GAAGL,MAAM,CAACK,iBAAiB;EAClD,MAAMC,UAAU,GAAGN,MAAM,CAACM,UAAU;EACpC,MAAMC,eAAe,GAAGD,UAAU,EAAEE,KAAK;EACzC,MAAMC,gBAAgB,GAAGH,UAAU,IAAIH,QAAQ,GAAG,IAAItG,GAAG,CAAiB,CAAC,GAAG,IAAI;EAClF,MAAM6G,SAAS,GAAG,CAACP,QAAQ,IAAIH,MAAM,CAACU,SAAS,KAAK,IAAI;EACxD,MAAMC,oBAAoB,GACxBX,MAAM,CAACnF,KAAK,KAAKzB,YAAY,CAACoB,MAAM,IAAIwF,MAAM,CAACW,oBAAoB,KAAK,IAAI;EAC9E,MAAMC,cAAqC,GACzCZ,MAAM,CAACnF,KAAK,KAAKzB,YAAY,CAACmB,IAAI,GAC9BnB,YAAY,CAACmB,IAAI,GACjByF,MAAM,CAACnF,KAAK,KAAKzB,YAAY,CAACoB,MAAM,GAClCpB,YAAY,CAACoB,MAAM,GACnB,IAAI;EAEZ,IAAI8F,UAAU,IAAIA,UAAU,CAACE,KAAK,IAAI,CAAC,EAAE;IACvC,MAAM,IAAIK,KAAK,CAAC,0CAA0C,CAAC;EAC7D;EAEA,MAAM1E,SAAS,GAAG,IAAIE,GAAG,CAAa,CAAC;EACvC,IAAIyE,WAAgC,GAAG,IAAI;EAC3C,IAAIC,OAAgB,GAAG9F,SAAS;EAChC,IAAI+F,SAAwB;EAC5B,IAAIC,YAAY,GAAG,KAAK;EAExB,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;IAClCH,OAAO,GAAG9F,SAAS;IACnB+F,SAAS,GAAG/F,SAAS;IACrBgG,YAAY,GAAG,KAAK;EACtB,CAAC;EAED,MAAME,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAIL,WAAW,EAAE;MACf;IACF;IAEA,MAAM7E,QAAQ,GAAGA,CAAA,KAAM;MACrBiF,qBAAqB,CAAC,CAAC;MACvB/E,SAAS,CAACH,OAAO,CAAEoF,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAIjB,QAAQ,EAAE;MACZW,WAAW,GAAG1E,cAAc,CAAC/B,eAAe,EAAE2F,MAAM,CAAC1E,GAAG,EAAEW,QAAQ,CAAC;MACnE;IACF;IAEA6E,WAAW,GAAG1E,cAAc,CAAClB,kBAAkB,CAAC0F,cAAe,CAAC,EAAEZ,MAAM,CAAC1E,GAAG,EAAEW,QAAQ,CAAC;EACzF,CAAC;EAED,MAAMoF,aAAa,GAAGA,CAAA,KAAe;IACnC,IAAIlB,QAAQ,EAAE;MACZ,IAAIM,gBAAgB,EAAE;QACpB,MAAMa,SAAS,GAAGb,gBAAgB,CAACtF,GAAG,CAAC6E,MAAM,CAAC1E,GAAG,CAAC;QAClD,IAAIgG,SAAS,KAAKrG,SAAS,IAAIqG,SAAS,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;UACtDf,gBAAgB,CAACjE,MAAM,CAACwD,MAAM,CAAC1E,GAAG,CAAC;UACnClB,WAAW,CAACoC,MAAM,CAACwD,MAAM,CAAC1E,GAAG,CAAC;UAC9BQ,kBAAkB,CAACzB,eAAe,EAAE2F,MAAM,CAAC1E,GAAG,CAAC;UAC/C,OAAOL,SAAS;QAClB;MACF;MACA,OAAOb,WAAW,CAACe,GAAG,CAAC6E,MAAM,CAAC1E,GAAG,CAAC;IACpC;IAEA,IAAIsF,cAAc,KAAKxH,YAAY,CAACoB,MAAM,IAAImC,qBAAqB,CAACqD,MAAM,CAAC1E,GAAG,CAAC,EAAE;MAC/E,OAAOoB,sBAAsB,CAACsD,MAAM,CAAC1E,GAAG,CAAC;IAC3C;IAEA,IAAIoF,SAAS,EAAE;MACb,IAAIhF,iBAAiB,CAACkF,cAAc,EAAGZ,MAAM,CAAC1E,GAAG,CAAC,EAAE;QAClD,OAAOG,kBAAkB,CAACmF,cAAc,EAAGZ,MAAM,CAAC1E,GAAG,CAAC;MACxD;IACF;IAEA,MAAM0D,GAAG,GAAGzB,UAAU,CAACpC,GAAG,CAAC6E,MAAM,CAAC1E,GAAG,EAAE0E,MAAM,CAACnF,KAAK,CAAC;IACpDQ,aAAa,CAACuF,cAAc,EAAGZ,MAAM,CAAC1E,GAAG,EAAE0D,GAAG,CAAC;IAC/C,OAAOA,GAAG;EACZ,CAAC;EAED,MAAMyC,cAAc,GAAIC,QAAgB,IAAW;IACjDrG,aAAa,CAACuF,cAAc,EAAGZ,MAAM,CAAC1E,GAAG,EAAEoG,QAAQ,CAAC;IAEpD,IAAIf,oBAAoB,EAAE;MACxBjD,mBAAmB,CAACsC,MAAM,CAAC1E,GAAG,EAAEoG,QAAQ,CAAC;MACzC;IACF;IAEA,IAAId,cAAc,KAAKxH,YAAY,CAACoB,MAAM,EAAE;MAC1CoC,uBAAuB,CAACoD,MAAM,CAAC1E,GAAG,CAAC;IACrC;IAEAiC,UAAU,CAAC/B,GAAG,CAACwE,MAAM,CAAC1E,GAAG,EAAEoG,QAAQ,EAAE1B,MAAM,CAACnF,KAAK,CAAC;EACpD,CAAC;EAED,MAAM8G,eAAe,GAAGA,CAAA,KAAY;IAClCtG,aAAa,CAACuF,cAAc,EAAGZ,MAAM,CAAC1E,GAAG,EAAEL,SAAS,CAAC;IAErD,IAAI0F,oBAAoB,EAAE;MACxBjD,mBAAmB,CAACsC,MAAM,CAAC1E,GAAG,EAAEL,SAAS,CAAC;MAC1C;IACF;IAEA,IAAI2F,cAAc,KAAKxH,YAAY,CAACoB,MAAM,EAAE;MAC1CoC,uBAAuB,CAACoD,MAAM,CAAC1E,GAAG,CAAC;IACrC;IAEAiC,UAAU,CAACW,MAAM,CAAC8B,MAAM,CAAC1E,GAAG,EAAE0E,MAAM,CAACnF,KAAK,CAAC;EAC7C,CAAC;EAED,MAAM+G,2BAA2B,GAAIrG,KAAQ,IAAW;IACtD,IAAI4E,QAAQ,EAAE;MACZ,IAAIM,gBAAgB,EAAE;QACpBA,gBAAgB,CAACjF,GAAG,CAACwE,MAAM,CAAC1E,GAAG,EAAEiG,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIjB,eAAe,IAAI,CAAC,CAAC,CAAC;MACvE;MACAnG,WAAW,CAACoB,GAAG,CAACwE,MAAM,CAAC1E,GAAG,EAAEC,KAAK,CAAC;MAClCO,kBAAkB,CAACzB,eAAe,EAAE2F,MAAM,CAAC1E,GAAG,CAAC;MAC/C;IACF;IAEA,MAAMuG,UAAU,GAAG5B,SAAS,CAAC1E,KAAK,CAAC;IACnC,IAAI+E,UAAU,EAAE;MACd,MAAMwB,QAAwB,GAAG;QAC/BC,sBAAsB,EAAE,IAAI;QAC5BT,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGlB,UAAU,CAACE,KAAK;QACxCwB,OAAO,EAAEH;MACX,CAAC;MACDJ,cAAc,CAACQ,IAAI,CAACC,SAAS,CAACJ,QAAQ,CAAC,CAAC;MACxC;IACF;IAEAL,cAAc,CAACI,UAAU,CAAC;EAC5B,CAAC;EAED,MAAMM,mBAAmB,GAAIC,YAAqB,IAAQ;IACxD,IAAI/B,iBAAiB,EAAE;MACrB,OAAOA,iBAAiB,CAAC+B,YAAY,CAAC;IACxC;IAEA,OAAOpC,MAAM,CAACqC,YAAY;EAC5B,CAAC;EAED,MAAMC,oBAAoB,GAAGA,CAACC,SAAkB,EAAEC,cAAuB,KAAQ;IAC/E,IAAI,CAACpC,QAAQ,IAAIA,QAAQ,CAACmC,SAAS,CAAC,EAAE;MACpC,OAAOA,SAAS;IAClB;IAEA,MAAME,QAAQ,GAAGN,mBAAmB,CAACI,SAAS,CAAC;IAC/C,IAAInC,QAAQ,IAAI,CAACA,QAAQ,CAACqC,QAAQ,CAAC,EAAE;MACnC,OAAOzC,MAAM,CAACqC,YAAY;IAC5B;IACA,IAAIG,cAAc,EAAE;MAClBZ,2BAA2B,CAACa,QAAQ,CAAC;IACvC;IACA,OAAOA,QAAQ;EACjB,CAAC;EAED,MAAMtH,GAAG,GAAGA,CAAA,KAAS;IACnB,MAAM6D,GAAG,GAAGqC,aAAa,CAAC,CAAC;IAE3B,MAAMqB,iBAAiB,GAAG,CAACpC,UAAU,IAAI,CAACG,gBAAgB;IAC1D,IAAIiC,iBAAiB,IAAI1D,GAAG,KAAK+B,OAAO,IAAIE,YAAY,EAAE;MACxD,OAAOD,SAAS;IAClB;IAEAD,OAAO,GAAG/B,GAAG;IAEb,IAAIA,GAAG,KAAK/D,SAAS,EAAE;MACrB+F,SAAS,GAAGsB,oBAAoB,CAACtC,MAAM,CAACqC,YAAY,EAAE,KAAK,CAAC;MAC5DpB,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAIb,QAAQ,EAAE;MACZa,SAAS,GAAGsB,oBAAoB,CAACtD,GAAG,EAAE,IAAI,CAAC;MAC3CiC,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAI2B,iBAAiB,GAAG3D,GAAa;IAErC,IAAIsB,UAAU,EAAE;MACd,IAAI;QACF,MAAMrB,MAAM,GAAGgD,IAAI,CAACW,KAAK,CAAC5D,GAAa,CAAY;QACnD,IAAI1F,gBAAgB,CAAC2F,MAAM,CAAC,EAAE;UAC5B,IAAIA,MAAM,CAACqC,SAAS,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;YAClCG,eAAe,CAAC,CAAC;YACjBT,qBAAqB,CAAC,CAAC;YACvBF,SAAS,GAAGsB,oBAAoB,CAACtC,MAAM,CAACqC,YAAY,EAAE,KAAK,CAAC;YAC5DpB,YAAY,GAAG,IAAI;YACnB,OAAOD,SAAS;UAClB;UAEA2B,iBAAiB,GAAG1D,MAAM,CAAC+C,OAAO;QACpC;MACF,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;IAEAhB,SAAS,GAAGsB,oBAAoB,CAACpC,WAAW,CAACyC,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACtE1B,YAAY,GAAG,IAAI;IACnB,OAAOD,SAAS;EAClB,CAAC;EAED,MAAMxF,GAAG,GAAIqH,SAA+B,IAAW;IACrD,MAAMC,YAAY,GAAG3H,GAAG,CAAC,CAAC;IAC1B,MAAM4H,QAAQ,GACZ,OAAOF,SAAS,KAAK,UAAU,GAC1BA,SAAS,CAAoBC,YAAY,CAAC,GAC3CD,SAAS;IAEf3B,qBAAqB,CAAC,CAAC;IAEvB,IAAId,QAAQ,IAAI,CAACA,QAAQ,CAAC2C,QAAQ,CAAC,EAAE;MACnC,MAAM,IAAIlC,KAAK,CACb,8BAA8Bb,MAAM,CAAC1E,GAAG,eAAelC,YAAY,CAAC4G,MAAM,CAACnF,KAAK,CAAC,IACnF,CAAC;IACH;IAEA+G,2BAA2B,CAACmB,QAAQ,CAAC;EACvC,CAAC;EAED,MAAMC,UAAU,GAAGA,CAAA,KAAY;IAC7B9B,qBAAqB,CAAC,CAAC;IAEvB,IAAIf,QAAQ,EAAE;MACZ,IAAIM,gBAAgB,EAAE;QACpBA,gBAAgB,CAACjE,MAAM,CAACwD,MAAM,CAAC1E,GAAG,CAAC;MACrC;MACAlB,WAAW,CAACoC,MAAM,CAACwD,MAAM,CAAC1E,GAAG,CAAC;MAC9BQ,kBAAkB,CAACzB,eAAe,EAAE2F,MAAM,CAAC1E,GAAG,CAAC;MAC/C;IACF;IAEAqG,eAAe,CAAC,CAAC;EACnB,CAAC;EAED,MAAMsB,SAAS,GAAI7B,QAAoB,IAAmB;IACxDD,kBAAkB,CAAC,CAAC;IACpBhF,SAAS,CAACG,GAAG,CAAC8E,QAAQ,CAAC;IACvB,OAAO,MAAM;MACXjF,SAAS,CAACK,MAAM,CAAC4E,QAAQ,CAAC;MAC1B,IAAIjF,SAAS,CAACM,IAAI,KAAK,CAAC,IAAIqE,WAAW,EAAE;QACvCA,WAAW,CAAC,CAAC;QACbA,WAAW,GAAG,IAAI;MACpB;IACF,CAAC;EACH,CAAC;EAED,MAAMoC,WAA2B,GAAG;IAClC/H,GAAG;IACHK,GAAG;IACHgB,MAAM,EAAEwG,UAAU;IAClBC,SAAS;IACThD,SAAS;IACTC,WAAW;IACXiD,iBAAiB,EAAEA,CAAA,KAAM;MACvBjC,qBAAqB,CAAC,CAAC;MACvB/E,SAAS,CAACH,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD2D,cAAc,EAAEQ,QAAQ,KAAKnF,SAAS;IACtC0E,cAAc,EAAEW,UAAU,KAAKrF,SAAS;IACxCmI,iBAAiB,EAAE1C,SAAS;IAC5B7F,KAAK,EAAEmF,MAAM,CAACnF,KAAK;IACnBS,GAAG,EAAE0E,MAAM,CAAC1E;EACd,CAAC;EAED,OAAO4H,WAAW;AACpB;AAEA,OAAO,SAASG,UAAUA,CACxB3D,IAAoB,EACwB;EAC5C,MAAMnE,KAAK,GAAGpC,oBAAoB,CAACuG,IAAI,CAACuD,SAAS,EAAEvD,IAAI,CAACvE,GAAG,EAAEuE,IAAI,CAACvE,GAAG,CAAC;EACtE,OAAO,CAACI,KAAK,EAAEmE,IAAI,CAAClE,GAAG,CAAC;AAC1B;AAEA,OAAO,SAAS8H,kBAAkBA,CAChC5D,IAAoB,EACpB6D,QAAiC,EACjCC,OAAsD,GAAGC,MAAM,CAACC,EAAE,EACd;EACpD,MAAMC,WAAW,GAAGzK,MAAM,CAA6D;IACrF0K,QAAQ,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;IAChC,MAAMC,YAAY,GAAGP,QAAQ,CAAC7D,IAAI,CAACvE,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM4I,OAAO,GAAGJ,WAAW,CAACI,OAAO;IACnC,IAAIA,OAAO,CAACH,QAAQ,IAAIJ,OAAO,CAACO,OAAO,CAACxI,KAAK,EAAEuI,YAAY,CAAC,EAAE;MAC5D,OAAOC,OAAO,CAACxI,KAAK;IACtB;IAEAoI,WAAW,CAACI,OAAO,GAAG;MAAEH,QAAQ,EAAE,IAAI;MAAErI,KAAK,EAAEuI;IAAa,CAAC;IAC7D,OAAOA,YAAY;EACrB,CAAC;EAED,MAAME,aAAa,GAAG7K,oBAAoB,CACxCuG,IAAI,CAACuD,SAAS,EACdY,mBAAmB,EACnBA,mBACF,CAAC;EACD,OAAO,CAACG,aAAa,EAAEtE,IAAI,CAAClE,GAAG,CAAC;AAClC;AAEA,OAAO,SAASyI,aAAaA,CAAIvE,IAAoB,EAAE;EACrD,OAAOA,IAAI,CAAClE,GAAG;AACjB;AAmBA,OAAO,SAAS8C,QAAQA,CACtB4F,KAAwC,EACxCrJ,KAAmB,EACR;EACXtB,gBAAgB,CAAC2K,KAAK,EAAErJ,KAAK,CAAC;EAE9B,IAAIA,KAAK,KAAKzB,YAAY,CAACwF,MAAM,EAAE;IACjC,OAAOsF,KAAK,CAAC3F,GAAG,CAAEmB,IAAI,IAAKA,IAAI,CAACvE,GAAG,CAAC,CAAC,CAAC;EACxC;EAEA,MAAMgJ,eAAe,GAAGD,KAAK,CAACE,KAAK,CAAE1E,IAAI,IAAKD,kBAAkB,CAACC,IAAI,CAAC,CAAC;EACvE,IAAI,CAACyE,eAAe,EAAE;IACpB,OAAOD,KAAK,CAAC3F,GAAG,CAAEmB,IAAI,IAAKA,IAAI,CAACvE,GAAG,CAAC,CAAC,CAAC;EACxC;EACA,MAAMkJ,aAAa,GAAGH,KAAK,CAACE,KAAK,CAAE1E,IAAI,IAAKA,IAAI,CAAC0D,iBAAiB,KAAK,IAAI,CAAC;EAE5E,MAAMkB,SAAS,GAAG,IAAIvH,KAAK,CAAqBmH,KAAK,CAAC5G,MAAM,CAAC;EAC7D,MAAMiH,WAAqB,GAAG,EAAE;EAChC,MAAMC,UAAoB,GAAG,EAAE;EAE/BN,KAAK,CAAClI,OAAO,CAAC,CAAC0D,IAAI,EAAErB,KAAK,KAAK;IAC7B,IAAIxD,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;MACjC,IAAImC,qBAAqB,CAAC+C,IAAI,CAACpE,GAAG,CAAC,EAAE;QACnCgJ,SAAS,CAACjG,KAAK,CAAC,GAAG3B,sBAAsB,CAACgD,IAAI,CAACpE,GAAG,CAAC;QACnD;MACF;IACF;IAEA,IAAI+I,aAAa,EAAE;MACjB,IAAI3I,iBAAiB,CAACb,KAAK,EAAE6E,IAAI,CAACpE,GAAG,CAAC,EAAE;QACtCgJ,SAAS,CAACjG,KAAK,CAAC,GAAG5C,kBAAkB,CAACZ,KAAK,EAAE6E,IAAI,CAACpE,GAAG,CAAC;QACtD;MACF;IACF;IAEAiJ,WAAW,CAAClH,IAAI,CAACqC,IAAI,CAACpE,GAAG,CAAC;IAC1BkJ,UAAU,CAACnH,IAAI,CAACgB,KAAK,CAAC;EACxB,CAAC,CAAC;EAEF,IAAIkG,WAAW,CAACjH,MAAM,GAAG,CAAC,EAAE;IAC1B,MAAMmH,aAAa,GAAGlH,UAAU,CAACe,QAAQ,CAACiG,WAAW,EAAE1J,KAAK,CAAC;IAC7D4J,aAAa,CAACzI,OAAO,CAAC,CAACT,KAAK,EAAE8C,KAAK,KAAK;MACtC,MAAM/C,GAAG,GAAGiJ,WAAW,CAAClG,KAAK,CAAC;MAC9B,MAAMqG,WAAW,GAAGF,UAAU,CAACnG,KAAK,CAAC;MACrCiG,SAAS,CAACI,WAAW,CAAC,GAAGnJ,KAAK;MAC9BF,aAAa,CAACR,KAAK,EAAES,GAAG,EAAEC,KAAK,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,OAAO2I,KAAK,CAAC3F,GAAG,CAAC,CAACmB,IAAI,EAAErB,KAAK,KAAK;IAChC,MAAMW,GAAG,GAAGsF,SAAS,CAACjG,KAAK,CAAC;IAC5B,IAAIW,GAAG,KAAK/D,SAAS,EAAE;MACrB,OAAOyE,IAAI,CAACvE,GAAG,CAAC,CAAC;IACnB;IACA,OAAOuE,IAAI,CAACQ,WAAW,CAAClB,GAAG,CAAC;EAC9B,CAAC,CAAC;AACJ;AAEA,OAAO,SAASxB,QAAQA,CACtB0G,KAAwC,EACxCrJ,KAAmB,EACb;EACNtB,gBAAgB,CACd2K,KAAK,CAAC3F,GAAG,CAAEoG,UAAU,IAAKA,UAAU,CAACjF,IAAI,CAAC,EAC1C7E,KACF,CAAC;EAED,IAAIA,KAAK,KAAKzB,YAAY,CAACwF,MAAM,EAAE;IACjCsF,KAAK,CAAClI,OAAO,CAAC,CAAC;MAAE0D,IAAI;MAAEnE;IAAM,CAAC,KAAKmE,IAAI,CAAClE,GAAG,CAACD,KAAK,CAAC,CAAC;IACnD;EACF;EAEA,MAAM4I,eAAe,GAAGD,KAAK,CAACE,KAAK,CAAC,CAAC;IAAE1E;EAAK,CAAC,KAAKD,kBAAkB,CAACC,IAAI,CAAC,CAAC;EAC3E,IAAI,CAACyE,eAAe,EAAE;IACpBD,KAAK,CAAClI,OAAO,CAAC,CAAC;MAAE0D,IAAI;MAAEnE;IAAM,CAAC,KAAKmE,IAAI,CAAClE,GAAG,CAACD,KAAK,CAAC,CAAC;IACnD;EACF;EAEA,MAAM6C,IAAI,GAAG8F,KAAK,CAAC3F,GAAG,CAAEqG,KAAK,IAAKA,KAAK,CAAClF,IAAI,CAACpE,GAAG,CAAC;EACjD,MAAM2B,MAAM,GAAGiH,KAAK,CAAC3F,GAAG,CAAEqG,KAAK,IAAKA,KAAK,CAAClF,IAAI,CAACO,SAAS,CAAC2E,KAAK,CAACrJ,KAAK,CAAC,CAAC;EACtE,IAAIV,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;IACjCqC,iBAAiB,CAAC,CAAC;EACrB;EACAU,UAAU,CAACC,QAAQ,CAACY,IAAI,EAAEnB,MAAM,EAAEpC,KAAK,CAAC;EACxCuD,IAAI,CAACpC,OAAO,CAAC,CAACV,GAAG,EAAE+C,KAAK,KAAKhD,aAAa,CAACR,KAAK,EAAES,GAAG,EAAE2B,MAAM,CAACoB,KAAK,CAAC,CAAC,CAAC;AACxE;AAEA,OAAO,SAASZ,WAAWA,CACzByG,KAAiC,EACjCrJ,KAAmB,EACb;EACNtB,gBAAgB,CAAC2K,KAAK,EAAErJ,KAAK,CAAC;EAE9B,IAAIA,KAAK,KAAKzB,YAAY,CAACwF,MAAM,EAAE;IACjCsF,KAAK,CAAClI,OAAO,CAAE0D,IAAI,IAAKA,IAAI,CAAClD,MAAM,CAAC,CAAC,CAAC;IACtC;EACF;EAEA,MAAM4B,IAAI,GAAG8F,KAAK,CAAC3F,GAAG,CAAEmB,IAAI,IAAKA,IAAI,CAACpE,GAAG,CAAC;EAC1C,IAAIT,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;IACjCqC,iBAAiB,CAAC,CAAC;EACrB;EACAU,UAAU,CAACE,WAAW,CAACW,IAAI,EAAEvD,KAAK,CAAC;EACnCuD,IAAI,CAACpC,OAAO,CAAEV,GAAG,IAAKD,aAAa,CAACR,KAAK,EAAES,GAAG,EAAEL,SAAS,CAAC,CAAC;AAC7D;AAEA,OAAO,SAAS4J,iBAAiBA,CAACvF,OAAe,EAAEwF,SAAoB,EAAQ;EAC7E,IAAI,CAAC5F,MAAM,CAAC6F,SAAS,CAACzF,OAAO,CAAC,IAAIA,OAAO,IAAI,CAAC,EAAE;IAC9C,MAAM,IAAIuB,KAAK,CAAC,+CAA+C,CAAC;EAClE;EAEA,IAAIjH,oBAAoB,CAAC+B,GAAG,CAAC2D,OAAO,CAAC,EAAE;IACrC,MAAM,IAAIuB,KAAK,CAAC,qBAAqBvB,OAAO,yBAAyB,CAAC;EACxE;EAEA1F,oBAAoB,CAAC4B,GAAG,CAAC8D,OAAO,EAAEwF,SAAS,CAAC;AAC9C;AAEA,OAAO,SAASE,eAAeA,CAACnK,KAAmB,GAAGzB,YAAY,CAACmB,IAAI,EAAU;EAC/Ef,gBAAgB,CAACqB,KAAK,CAAC;EACvB,MAAMoK,cAAc,GAAGlG,oBAAoB,CAAClE,KAAK,CAAC;EAClD,MAAMqK,QAAQ,GAAGnI,KAAK,CAACC,IAAI,CAACpD,oBAAoB,CAACwE,IAAI,CAAC,CAAC,CAAC,CACrD+G,MAAM,CAAE7F,OAAO,IAAKA,OAAO,GAAG2F,cAAc,CAAC,CAC7CG,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EAExB,IAAIC,cAAc,GAAGN,cAAc;EACnC,MAAMO,OAAyB,GAAG;IAChC3K,KAAK;IACL4K,MAAM,EAAGnK,GAAG,IAAKqD,WAAW,CAACrD,GAAG,EAAET,KAAK,CAAC;IACxC6K,MAAM,EAAEA,CAACpK,GAAG,EAAEC,KAAK,KAAKsD,WAAW,CAACvD,GAAG,EAAEC,KAAK,EAAEV,KAAK,CAAC;IACtD8K,SAAS,EAAGrK,GAAG,IAAKwD,cAAc,CAACxD,GAAG,EAAET,KAAK;EAC/C,CAAC;EAEDqK,QAAQ,CAAClJ,OAAO,CAAEsD,OAAO,IAAK;IAC5B,MAAMwF,SAAS,GAAGlL,oBAAoB,CAACuB,GAAG,CAACmE,OAAO,CAAC;IACnD,IAAI,CAACwF,SAAS,EAAE;MACd;IACF;IACAA,SAAS,CAACU,OAAO,CAAC;IAClBnG,qBAAqB,CAACxE,KAAK,EAAEyE,OAAO,CAAC;IACrCiG,cAAc,GAAGjG,OAAO;EAC1B,CAAC,CAAC;EAEF,OAAOiG,cAAc;AACvB;AAEA,OAAO,SAASK,cAAcA,CAC5B/K,KAAmB,EACnBgL,WAA+C,EAC5C;EACHrM,gBAAgB,CAACqB,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKzB,YAAY,CAACoB,MAAM,EAAE;IACjCqC,iBAAiB,CAAC,CAAC;EACrB;EAEA,MAAMiJ,QAAQ,GAAG,IAAIjM,GAAG,CAA6B,CAAC;EAEtD,MAAMkM,gBAAgB,GAAIzK,GAAW,IAAK;IACxC,IAAIwK,QAAQ,CAACnK,GAAG,CAACL,GAAG,CAAC,EAAE;MACrB;IACF;IACAwK,QAAQ,CAACtK,GAAG,CAACF,GAAG,EAAEqD,WAAW,CAACrD,GAAG,EAAET,KAAK,CAAC,CAAC;EAC5C,CAAC;EAED,MAAMmL,EAAsB,GAAG;IAC7BnL,KAAK;IACL4K,MAAM,EAAGnK,GAAG,IAAKqD,WAAW,CAACrD,GAAG,EAAET,KAAK,CAAC;IACxC6K,MAAM,EAAEA,CAACpK,GAAG,EAAEC,KAAK,KAAK;MACtBwK,gBAAgB,CAACzK,GAAG,CAAC;MACrBuD,WAAW,CAACvD,GAAG,EAAEC,KAAK,EAAEV,KAAK,CAAC;IAChC,CAAC;IACD8K,SAAS,EAAGrK,GAAG,IAAK;MAClByK,gBAAgB,CAACzK,GAAG,CAAC;MACrBwD,cAAc,CAACxD,GAAG,EAAET,KAAK,CAAC;IAC5B,CAAC;IACDoD,OAAO,EAAGyB,IAAI,IAAK;MACjBnG,gBAAgB,CAAC,CAACmG,IAAI,CAAC,EAAE7E,KAAK,CAAC;MAC/B,OAAO6E,IAAI,CAACvE,GAAG,CAAC,CAAC;IACnB,CAAC;IACD6C,OAAO,EAAEA,CAAC0B,IAAI,EAAEnE,KAAK,KAAK;MACxBhC,gBAAgB,CAAC,CAACmG,IAAI,CAAC,EAAE7E,KAAK,CAAC;MAC/BkL,gBAAgB,CAACrG,IAAI,CAACpE,GAAG,CAAC;MAC1BoE,IAAI,CAAClE,GAAG,CAACD,KAAK,CAAC;IACjB,CAAC;IACD4C,UAAU,EAAGuB,IAAI,IAAK;MACpBnG,gBAAgB,CAAC,CAACmG,IAAI,CAAC,EAAE7E,KAAK,CAAC;MAC/BkL,gBAAgB,CAACrG,IAAI,CAACpE,GAAG,CAAC;MAC1BoE,IAAI,CAAClD,MAAM,CAAC,CAAC;IACf;EACF,CAAC;EAED,IAAI;IACF,OAAOqJ,WAAW,CAACG,EAAE,CAAC;EACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdlJ,KAAK,CAACC,IAAI,CAAC8I,QAAQ,CAACI,OAAO,CAAC,CAAC,CAAC,CAC3BC,OAAO,CAAC,CAAC,CACTnK,OAAO,CAAC,CAAC,CAACV,GAAG,EAAE8K,aAAa,CAAC,KAAK;MACjC,IAAIA,aAAa,KAAKnL,SAAS,EAAE;QAC/B6D,cAAc,CAACxD,GAAG,EAAET,KAAK,CAAC;MAC5B,CAAC,MAAM;QACLgE,WAAW,CAACvD,GAAG,EAAE8K,aAAa,EAAEvL,KAAK,CAAC;MACxC;IACF,CAAC,CAAC;IACJ,MAAMoL,KAAK;EACb;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useRef","useSyncExternalStore","StorageScope","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","prefixKey","isNamespaced","AccessControl","BiometricLevel","migrateFromMMKV","asInternal","item","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","memoryStore","memoryListeners","webScopeListeners","Disk","Secure","scopedRawCache","pendingSecureWrites","secureFlushScheduled","SECURE_WEB_PREFIX","BIOMETRIC_WEB_PREFIX","hasWarnedAboutWebBiometricFallback","getBrowserStorage","scope","globalThis","localStorage","undefined","toSecureStorageKey","key","fromSecureStorageKey","slice","length","toBiometricStorageKey","fromBiometricStorageKey","getScopedListeners","get","getScopeRawCache","cacheRawValue","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","scopedListeners","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","push","WebStorage","setBatch","removeBatch","scheduleSecureWrite","name","equals","other","dispose","storage","storageKey","setItem","getItem","remove","removeItem","i","startsWith","keys","index","getBatch","map","addOnChange","_scope","_callback","getAllKeys","k","setSecureAccessControl","setKeychainAccessGroup","setSecureBiometric","__DEV__","console","warn","getSecureBiometric","deleteSecureBiometric","hasSecureBiometric","clearSecureBiometric","keysToNotify","toRemove","getRawValue","Memory","setRawValue","removeRawValue","readMigrationVersion","raw","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","clearAll","clearNamespace","namespace","namespacedKeys","filter","clearBiometric","getAll","result","val","setAccessControl","_level","_group","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","defaultSerialize","defaultDeserialize","createStorageItem","config","serialize","deserialize","isMemory","isBiometric","biometric","secureAccessControl","accessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","nonMemoryScope","Error","unsubscribe","lastRaw","lastValue","hasLastValue","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","Date","now","writeStoredRaw","rawValue","removeStoredRaw","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","defaultValue","ensureValidatedValue","candidate","hadStoredValue","resolved","canUseCachedValue","deserializableRaw","parse","valueOrFn","currentValue","newValue","deleteItem","hasItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","items","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","error","entries","reverse","previousValue","createSecureAuthStorage","options","ns","itemConfig"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/internal.js
CHANGED
|
@@ -4,6 +4,7 @@ import { StorageScope } from "./Storage.types";
|
|
|
4
4
|
export const MIGRATION_VERSION_KEY = "__nitro_storage_migration_version__";
|
|
5
5
|
export const NATIVE_BATCH_MISSING_SENTINEL = "__nitro_storage_batch_missing__::v1";
|
|
6
6
|
const PRIMITIVE_FAST_PATH_PREFIX = "__nitro_storage_primitive__:";
|
|
7
|
+
const NAMESPACE_SEPARATOR = ":";
|
|
7
8
|
export function isStoredEnvelope(value) {
|
|
8
9
|
if (typeof value !== "object" || value === null) {
|
|
9
10
|
return false;
|
|
@@ -31,6 +32,13 @@ export function decodeNativeBatchValue(value) {
|
|
|
31
32
|
}
|
|
32
33
|
return value;
|
|
33
34
|
}
|
|
35
|
+
export function prefixKey(namespace, key) {
|
|
36
|
+
if (!namespace) return key;
|
|
37
|
+
return `${namespace}${NAMESPACE_SEPARATOR}${key}`;
|
|
38
|
+
}
|
|
39
|
+
export function isNamespaced(key, namespace) {
|
|
40
|
+
return key.startsWith(`${namespace}${NAMESPACE_SEPARATOR}`);
|
|
41
|
+
}
|
|
34
42
|
export function serializeWithPrimitiveFastPath(value) {
|
|
35
43
|
if (value === null) {
|
|
36
44
|
return `${PRIMITIVE_FAST_PATH_PREFIX}l`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","serializeWithPrimitiveFastPath","Number","isFinite","serialized","JSON","stringify","deserializeWithPrimitiveFastPath","
|
|
1
|
+
{"version":3,"names":["StorageScope","MIGRATION_VERSION_KEY","NATIVE_BATCH_MISSING_SENTINEL","PRIMITIVE_FAST_PATH_PREFIX","NAMESPACE_SEPARATOR","isStoredEnvelope","value","candidate","__nitroStorageEnvelope","expiresAt","payload","assertValidScope","scope","Memory","Disk","Secure","Error","String","assertBatchScope","items","mismatchedItem","find","item","expectedScope","actualScope","key","decodeNativeBatchValue","undefined","prefixKey","namespace","isNamespaced","startsWith","serializeWithPrimitiveFastPath","Number","isFinite","serialized","JSON","stringify","deserializeWithPrimitiveFastPath","encodedValue","slice","length","separatorIndex","indexOf","tag","parsed","parse"],"sourceRoot":"../../src","sources":["internal.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,9 +7,19 @@ export interface Storage extends HybridObject<{
|
|
|
7
7
|
get(key: string, scope: number): string | undefined;
|
|
8
8
|
remove(key: string, scope: number): void;
|
|
9
9
|
clear(scope: number): void;
|
|
10
|
+
has(key: string, scope: number): boolean;
|
|
11
|
+
getAllKeys(scope: number): string[];
|
|
12
|
+
size(scope: number): number;
|
|
10
13
|
setBatch(keys: string[], values: string[], scope: number): void;
|
|
11
14
|
getBatch(keys: string[], scope: number): (string | undefined)[];
|
|
12
15
|
removeBatch(keys: string[], scope: number): void;
|
|
13
16
|
addOnChange(scope: number, callback: (key: string, value: string | undefined) => void): () => void;
|
|
17
|
+
setSecureAccessControl(level: number): void;
|
|
18
|
+
setKeychainAccessGroup(group: string): void;
|
|
19
|
+
setSecureBiometric(key: string, value: string): void;
|
|
20
|
+
getSecureBiometric(key: string): string | undefined;
|
|
21
|
+
deleteSecureBiometric(key: string): void;
|
|
22
|
+
hasSecureBiometric(key: string): boolean;
|
|
23
|
+
clearSecureBiometric(): void;
|
|
14
24
|
}
|
|
15
25
|
//# sourceMappingURL=Storage.nitro.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Storage.nitro.d.ts","sourceRoot":"","sources":["../../src/Storage.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"Storage.nitro.d.ts","sourceRoot":"","sources":["../../src/Storage.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,OAAQ,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IAC3E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,WAAW,CACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GACzD,MAAM,IAAI,CAAC;IACd,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,oBAAoB,IAAI,IAAI,CAAC;CAC9B"}
|
|
@@ -3,4 +3,24 @@ export declare enum StorageScope {
|
|
|
3
3
|
Disk = 1,
|
|
4
4
|
Secure = 2
|
|
5
5
|
}
|
|
6
|
+
export declare enum AccessControl {
|
|
7
|
+
/** Accessible when unlocked (default). */
|
|
8
|
+
WhenUnlocked = 0,
|
|
9
|
+
/** Accessible after first unlock until restart. Good for background token refresh. */
|
|
10
|
+
AfterFirstUnlock = 1,
|
|
11
|
+
/** Accessible only when passcode is set, non-migratable. */
|
|
12
|
+
WhenPasscodeSetThisDeviceOnly = 2,
|
|
13
|
+
/** Same as WhenUnlocked but non-migratable between devices. */
|
|
14
|
+
WhenUnlockedThisDeviceOnly = 3,
|
|
15
|
+
/** Same as AfterFirstUnlock but non-migratable. */
|
|
16
|
+
AfterFirstUnlockThisDeviceOnly = 4
|
|
17
|
+
}
|
|
18
|
+
export declare enum BiometricLevel {
|
|
19
|
+
/** No biometric requirement (default). */
|
|
20
|
+
None = 0,
|
|
21
|
+
/** Require biometric or passcode for each access. */
|
|
22
|
+
BiometryOrPasscode = 1,
|
|
23
|
+
/** Require biometric only (no passcode fallback). */
|
|
24
|
+
BiometryOnly = 2
|
|
25
|
+
}
|
|
6
26
|
//# sourceMappingURL=Storage.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Storage.types.d.ts","sourceRoot":"","sources":["../../src/Storage.types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,MAAM,IAAI;IACV,IAAI,IAAI;IACR,MAAM,IAAI;CACX"}
|
|
1
|
+
{"version":3,"file":"Storage.types.d.ts","sourceRoot":"","sources":["../../src/Storage.types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,MAAM,IAAI;IACV,IAAI,IAAI;IACR,MAAM,IAAI;CACX;AAED,oBAAY,aAAa;IACvB,0CAA0C;IAC1C,YAAY,IAAI;IAChB,sFAAsF;IACtF,gBAAgB,IAAI;IACpB,4DAA4D;IAC5D,6BAA6B,IAAI;IACjC,+DAA+D;IAC/D,0BAA0B,IAAI;IAC9B,mDAAmD;IACnD,8BAA8B,IAAI;CACnC;AAED,oBAAY,cAAc;IACxB,0CAA0C;IAC1C,IAAI,IAAI;IACR,qDAAqD;IACrD,kBAAkB,IAAI;IACtB,qDAAqD;IACrD,YAAY,IAAI;CACjB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { StorageScope } from "./Storage.types";
|
|
2
|
-
export { StorageScope } from "./Storage.types";
|
|
1
|
+
import { StorageScope, AccessControl } from "./Storage.types";
|
|
2
|
+
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
3
3
|
export type { Storage } from "./Storage.nitro";
|
|
4
4
|
export { migrateFromMMKV } from "./migration";
|
|
5
5
|
export type Validator<T> = (value: unknown) => value is T;
|
|
@@ -25,6 +25,14 @@ export type TransactionContext = {
|
|
|
25
25
|
export declare const storage: {
|
|
26
26
|
clear: (scope: StorageScope) => void;
|
|
27
27
|
clearAll: () => void;
|
|
28
|
+
clearNamespace: (namespace: string, scope: StorageScope) => void;
|
|
29
|
+
clearBiometric: () => void;
|
|
30
|
+
has: (key: string, scope: StorageScope) => boolean;
|
|
31
|
+
getAllKeys: (scope: StorageScope) => string[];
|
|
32
|
+
getAll: (scope: StorageScope) => Record<string, string>;
|
|
33
|
+
size: (scope: StorageScope) => number;
|
|
34
|
+
setAccessControl: (level: AccessControl) => void;
|
|
35
|
+
setKeychainAccessGroup: (group: string) => void;
|
|
28
36
|
};
|
|
29
37
|
export interface StorageItemConfig<T> {
|
|
30
38
|
key: string;
|
|
@@ -35,20 +43,21 @@ export interface StorageItemConfig<T> {
|
|
|
35
43
|
validate?: Validator<T>;
|
|
36
44
|
onValidationError?: (invalidValue: unknown) => T;
|
|
37
45
|
expiration?: ExpirationConfig;
|
|
46
|
+
onExpired?: (key: string) => void;
|
|
38
47
|
readCache?: boolean;
|
|
39
48
|
coalesceSecureWrites?: boolean;
|
|
49
|
+
namespace?: string;
|
|
50
|
+
biometric?: boolean;
|
|
51
|
+
accessControl?: AccessControl;
|
|
40
52
|
}
|
|
41
53
|
export interface StorageItem<T> {
|
|
42
54
|
get: () => T;
|
|
43
55
|
set: (value: T | ((prev: T) => T)) => void;
|
|
44
56
|
delete: () => void;
|
|
57
|
+
has: () => boolean;
|
|
45
58
|
subscribe: (callback: () => void) => () => void;
|
|
46
59
|
serialize: (value: T) => string;
|
|
47
60
|
deserialize: (value: string) => T;
|
|
48
|
-
_triggerListeners: () => void;
|
|
49
|
-
_hasValidation?: boolean;
|
|
50
|
-
_hasExpiration?: boolean;
|
|
51
|
-
_readCacheEnabled?: boolean;
|
|
52
61
|
scope: StorageScope;
|
|
53
62
|
key: string;
|
|
54
63
|
}
|
|
@@ -56,7 +65,13 @@ export declare function createStorageItem<T = undefined>(config: StorageItemConf
|
|
|
56
65
|
export declare function useStorage<T>(item: StorageItem<T>): [T, (value: T | ((prev: T) => T)) => void];
|
|
57
66
|
export declare function useStorageSelector<T, TSelected>(item: StorageItem<T>, selector: (value: T) => TSelected, isEqual?: (prev: TSelected, next: TSelected) => boolean): [TSelected, (value: T | ((prev: T) => T)) => void];
|
|
58
67
|
export declare function useSetStorage<T>(item: StorageItem<T>): (value: T | ((prev: T) => T)) => void;
|
|
59
|
-
type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize"
|
|
68
|
+
type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize"> & {
|
|
69
|
+
_hasValidation?: boolean;
|
|
70
|
+
_hasExpiration?: boolean;
|
|
71
|
+
_readCacheEnabled?: boolean;
|
|
72
|
+
_isBiometric?: boolean;
|
|
73
|
+
_secureAccessControl?: AccessControl;
|
|
74
|
+
};
|
|
60
75
|
type BatchRemoveItem = Pick<StorageItem<unknown>, "key" | "scope" | "delete">;
|
|
61
76
|
export type StorageBatchSetItem<T> = {
|
|
62
77
|
item: StorageItem<T>;
|
|
@@ -68,4 +83,12 @@ export declare function removeBatch(items: readonly BatchRemoveItem[], scope: St
|
|
|
68
83
|
export declare function registerMigration(version: number, migration: Migration): void;
|
|
69
84
|
export declare function migrateToLatest(scope?: StorageScope): number;
|
|
70
85
|
export declare function runTransaction<T>(scope: StorageScope, transaction: (context: TransactionContext) => T): T;
|
|
86
|
+
export type SecureAuthStorageConfig<K extends string = string> = Record<K, {
|
|
87
|
+
ttlMs?: number;
|
|
88
|
+
biometric?: boolean;
|
|
89
|
+
accessControl?: AccessControl;
|
|
90
|
+
}>;
|
|
91
|
+
export declare function createSecureAuthStorage<K extends string>(config: SecureAuthStorageConfig<K>, options?: {
|
|
92
|
+
namespace?: string;
|
|
93
|
+
}): Record<K, StorageItem<string>>;
|
|
71
94
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { StorageScope } from "./Storage.types";
|
|
2
|
-
export { StorageScope } from "./Storage.types";
|
|
1
|
+
import { StorageScope, AccessControl } from "./Storage.types";
|
|
2
|
+
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
3
3
|
export { migrateFromMMKV } from "./migration";
|
|
4
4
|
export type Validator<T> = (value: unknown) => value is T;
|
|
5
5
|
export type ExpirationConfig = {
|
|
@@ -29,14 +29,32 @@ export interface Storage {
|
|
|
29
29
|
get(key: string, scope: number): string | undefined;
|
|
30
30
|
remove(key: string, scope: number): void;
|
|
31
31
|
clear(scope: number): void;
|
|
32
|
+
has(key: string, scope: number): boolean;
|
|
33
|
+
getAllKeys(scope: number): string[];
|
|
34
|
+
size(scope: number): number;
|
|
32
35
|
setBatch(keys: string[], values: string[], scope: number): void;
|
|
33
36
|
getBatch(keys: string[], scope: number): (string | undefined)[];
|
|
34
37
|
removeBatch(keys: string[], scope: number): void;
|
|
35
38
|
addOnChange(scope: number, callback: (key: string, value: string | undefined) => void): () => void;
|
|
39
|
+
setSecureAccessControl(level: number): void;
|
|
40
|
+
setKeychainAccessGroup(group: string): void;
|
|
41
|
+
setSecureBiometric(key: string, value: string): void;
|
|
42
|
+
getSecureBiometric(key: string): string | undefined;
|
|
43
|
+
deleteSecureBiometric(key: string): void;
|
|
44
|
+
hasSecureBiometric(key: string): boolean;
|
|
45
|
+
clearSecureBiometric(): void;
|
|
36
46
|
}
|
|
37
47
|
export declare const storage: {
|
|
38
48
|
clear: (scope: StorageScope) => void;
|
|
39
49
|
clearAll: () => void;
|
|
50
|
+
clearNamespace: (namespace: string, scope: StorageScope) => void;
|
|
51
|
+
clearBiometric: () => void;
|
|
52
|
+
has: (key: string, scope: StorageScope) => boolean;
|
|
53
|
+
getAllKeys: (scope: StorageScope) => string[];
|
|
54
|
+
getAll: (scope: StorageScope) => Record<string, string>;
|
|
55
|
+
size: (scope: StorageScope) => number;
|
|
56
|
+
setAccessControl: (_level: AccessControl) => void;
|
|
57
|
+
setKeychainAccessGroup: (_group: string) => void;
|
|
40
58
|
};
|
|
41
59
|
export interface StorageItemConfig<T> {
|
|
42
60
|
key: string;
|
|
@@ -47,20 +65,21 @@ export interface StorageItemConfig<T> {
|
|
|
47
65
|
validate?: Validator<T>;
|
|
48
66
|
onValidationError?: (invalidValue: unknown) => T;
|
|
49
67
|
expiration?: ExpirationConfig;
|
|
68
|
+
onExpired?: (key: string) => void;
|
|
50
69
|
readCache?: boolean;
|
|
51
70
|
coalesceSecureWrites?: boolean;
|
|
71
|
+
namespace?: string;
|
|
72
|
+
biometric?: boolean;
|
|
73
|
+
accessControl?: AccessControl;
|
|
52
74
|
}
|
|
53
75
|
export interface StorageItem<T> {
|
|
54
76
|
get: () => T;
|
|
55
77
|
set: (value: T | ((prev: T) => T)) => void;
|
|
56
78
|
delete: () => void;
|
|
79
|
+
has: () => boolean;
|
|
57
80
|
subscribe: (callback: () => void) => () => void;
|
|
58
81
|
serialize: (value: T) => string;
|
|
59
82
|
deserialize: (value: string) => T;
|
|
60
|
-
_triggerListeners: () => void;
|
|
61
|
-
_hasValidation?: boolean;
|
|
62
|
-
_hasExpiration?: boolean;
|
|
63
|
-
_readCacheEnabled?: boolean;
|
|
64
83
|
scope: StorageScope;
|
|
65
84
|
key: string;
|
|
66
85
|
}
|
|
@@ -68,7 +87,13 @@ export declare function createStorageItem<T = undefined>(config: StorageItemConf
|
|
|
68
87
|
export declare function useStorage<T>(item: StorageItem<T>): [T, (value: T | ((prev: T) => T)) => void];
|
|
69
88
|
export declare function useStorageSelector<T, TSelected>(item: StorageItem<T>, selector: (value: T) => TSelected, isEqual?: (prev: TSelected, next: TSelected) => boolean): [TSelected, (value: T | ((prev: T) => T)) => void];
|
|
70
89
|
export declare function useSetStorage<T>(item: StorageItem<T>): (value: T | ((prev: T) => T)) => void;
|
|
71
|
-
type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize"
|
|
90
|
+
type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserialize"> & {
|
|
91
|
+
_hasValidation?: boolean;
|
|
92
|
+
_hasExpiration?: boolean;
|
|
93
|
+
_readCacheEnabled?: boolean;
|
|
94
|
+
_isBiometric?: boolean;
|
|
95
|
+
_secureAccessControl?: AccessControl;
|
|
96
|
+
};
|
|
72
97
|
type BatchRemoveItem = Pick<StorageItem<unknown>, "key" | "scope" | "delete">;
|
|
73
98
|
export type StorageBatchSetItem<T> = {
|
|
74
99
|
item: StorageItem<T>;
|
|
@@ -80,4 +105,12 @@ export declare function removeBatch(items: readonly BatchRemoveItem[], scope: St
|
|
|
80
105
|
export declare function registerMigration(version: number, migration: Migration): void;
|
|
81
106
|
export declare function migrateToLatest(scope?: StorageScope): number;
|
|
82
107
|
export declare function runTransaction<T>(scope: StorageScope, transaction: (context: TransactionContext) => T): T;
|
|
108
|
+
export type SecureAuthStorageConfig<K extends string = string> = Record<K, {
|
|
109
|
+
ttlMs?: number;
|
|
110
|
+
biometric?: boolean;
|
|
111
|
+
accessControl?: AccessControl;
|
|
112
|
+
}>;
|
|
113
|
+
export declare function createSecureAuthStorage<K extends string>(config: SecureAuthStorageConfig<K>, options?: {
|
|
114
|
+
namespace?: string;
|
|
115
|
+
}): Record<K, StorageItem<string>>;
|
|
83
116
|
//# sourceMappingURL=index.web.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export type ScopedBatchItem = {
|
|
|
14
14
|
};
|
|
15
15
|
export declare function assertBatchScope(items: readonly ScopedBatchItem[], scope: StorageScope): void;
|
|
16
16
|
export declare function decodeNativeBatchValue(value: string | undefined): string | undefined;
|
|
17
|
+
export declare function prefixKey(namespace: string | undefined, key: string): string;
|
|
18
|
+
export declare function isNamespaced(key: string, namespace: string): boolean;
|
|
17
19
|
export declare function serializeWithPrimitiveFastPath<T>(value: T): string;
|
|
18
20
|
export declare function deserializeWithPrimitiveFastPath<T>(value: string): T;
|
|
19
21
|
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAC3E,eAAO,MAAM,6BAA6B,wCACH,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAC3E,eAAO,MAAM,6BAA6B,wCACH,CAAC;AAIxC,MAAM,MAAM,cAAc,GAAG;IAC3B,sBAAsB,EAAE,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAWxE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAQ1D;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,eAAe,EAAE,EACjC,KAAK,EAAE,YAAY,GAClB,IAAI,CAaN;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,wBAAgB,8BAA8B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CA4BlE;AAED,wBAAgB,gCAAgC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAkCpE"}
|
|
@@ -18,10 +18,20 @@ namespace margelo::nitro::NitroStorage {
|
|
|
18
18
|
prototype.registerHybridMethod("get", &HybridStorageSpec::get);
|
|
19
19
|
prototype.registerHybridMethod("remove", &HybridStorageSpec::remove);
|
|
20
20
|
prototype.registerHybridMethod("clear", &HybridStorageSpec::clear);
|
|
21
|
+
prototype.registerHybridMethod("has", &HybridStorageSpec::has);
|
|
22
|
+
prototype.registerHybridMethod("getAllKeys", &HybridStorageSpec::getAllKeys);
|
|
23
|
+
prototype.registerHybridMethod("size", &HybridStorageSpec::size);
|
|
21
24
|
prototype.registerHybridMethod("setBatch", &HybridStorageSpec::setBatch);
|
|
22
25
|
prototype.registerHybridMethod("getBatch", &HybridStorageSpec::getBatch);
|
|
23
26
|
prototype.registerHybridMethod("removeBatch", &HybridStorageSpec::removeBatch);
|
|
24
27
|
prototype.registerHybridMethod("addOnChange", &HybridStorageSpec::addOnChange);
|
|
28
|
+
prototype.registerHybridMethod("setSecureAccessControl", &HybridStorageSpec::setSecureAccessControl);
|
|
29
|
+
prototype.registerHybridMethod("setKeychainAccessGroup", &HybridStorageSpec::setKeychainAccessGroup);
|
|
30
|
+
prototype.registerHybridMethod("setSecureBiometric", &HybridStorageSpec::setSecureBiometric);
|
|
31
|
+
prototype.registerHybridMethod("getSecureBiometric", &HybridStorageSpec::getSecureBiometric);
|
|
32
|
+
prototype.registerHybridMethod("deleteSecureBiometric", &HybridStorageSpec::deleteSecureBiometric);
|
|
33
|
+
prototype.registerHybridMethod("hasSecureBiometric", &HybridStorageSpec::hasSecureBiometric);
|
|
34
|
+
prototype.registerHybridMethod("clearSecureBiometric", &HybridStorageSpec::clearSecureBiometric);
|
|
25
35
|
});
|
|
26
36
|
}
|
|
27
37
|
|
|
@@ -55,10 +55,20 @@ namespace margelo::nitro::NitroStorage {
|
|
|
55
55
|
virtual std::optional<std::string> get(const std::string& key, double scope) = 0;
|
|
56
56
|
virtual void remove(const std::string& key, double scope) = 0;
|
|
57
57
|
virtual void clear(double scope) = 0;
|
|
58
|
+
virtual bool has(const std::string& key, double scope) = 0;
|
|
59
|
+
virtual std::vector<std::string> getAllKeys(double scope) = 0;
|
|
60
|
+
virtual double size(double scope) = 0;
|
|
58
61
|
virtual void setBatch(const std::vector<std::string>& keys, const std::vector<std::string>& values, double scope) = 0;
|
|
59
62
|
virtual std::vector<std::string> getBatch(const std::vector<std::string>& keys, double scope) = 0;
|
|
60
63
|
virtual void removeBatch(const std::vector<std::string>& keys, double scope) = 0;
|
|
61
64
|
virtual std::function<void()> addOnChange(double scope, const std::function<void(const std::string& /* key */, const std::optional<std::string>& /* value */)>& callback) = 0;
|
|
65
|
+
virtual void setSecureAccessControl(double level) = 0;
|
|
66
|
+
virtual void setKeychainAccessGroup(const std::string& group) = 0;
|
|
67
|
+
virtual void setSecureBiometric(const std::string& key, const std::string& value) = 0;
|
|
68
|
+
virtual std::optional<std::string> getSecureBiometric(const std::string& key) = 0;
|
|
69
|
+
virtual void deleteSecureBiometric(const std::string& key) = 0;
|
|
70
|
+
virtual bool hasSecureBiometric(const std::string& key) = 0;
|
|
71
|
+
virtual void clearSecureBiometric() = 0;
|
|
62
72
|
|
|
63
73
|
protected:
|
|
64
74
|
// Hybrid Setup
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-storage",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "The fastest, most complete storage solution for React Native. Synchronous Memory, Disk, and Secure storage in one unified API. Built with Nitro Modules.",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -43,6 +43,9 @@
|
|
|
43
43
|
"build": "bob build",
|
|
44
44
|
"clean": "rimraf lib nitrogen/generated",
|
|
45
45
|
"codegen": "nitrogen --logLevel=\"debug\"",
|
|
46
|
+
"lint": "bunx eslint src --max-warnings=0 --fix",
|
|
47
|
+
"format": "bunx prettier --write \"src/**/*.{ts,tsx}\" \"../../README.md\"",
|
|
48
|
+
"format:check": "bunx prettier --check \"src/**/*.{ts,tsx}\" \"../../README.md\"",
|
|
46
49
|
"typecheck": "tsc --noEmit",
|
|
47
50
|
"test": "jest",
|
|
48
51
|
"test:coverage": "jest --coverage",
|
package/src/Storage.nitro.ts
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
import { type HybridObject } from "react-native-nitro-modules";
|
|
2
|
-
import { StorageScope } from "./Storage.types";
|
|
3
2
|
|
|
4
3
|
export interface Storage extends HybridObject<{ ios: "c++"; android: "c++" }> {
|
|
5
4
|
set(key: string, value: string, scope: number): void;
|
|
6
5
|
get(key: string, scope: number): string | undefined;
|
|
7
6
|
remove(key: string, scope: number): void;
|
|
8
7
|
clear(scope: number): void;
|
|
8
|
+
has(key: string, scope: number): boolean;
|
|
9
|
+
getAllKeys(scope: number): string[];
|
|
10
|
+
size(scope: number): number;
|
|
9
11
|
setBatch(keys: string[], values: string[], scope: number): void;
|
|
10
12
|
getBatch(keys: string[], scope: number): (string | undefined)[];
|
|
11
13
|
removeBatch(keys: string[], scope: number): void;
|
|
12
14
|
addOnChange(
|
|
13
15
|
scope: number,
|
|
14
|
-
callback: (key: string, value: string | undefined) => void
|
|
16
|
+
callback: (key: string, value: string | undefined) => void,
|
|
15
17
|
): () => void;
|
|
18
|
+
setSecureAccessControl(level: number): void;
|
|
19
|
+
setKeychainAccessGroup(group: string): void;
|
|
20
|
+
setSecureBiometric(key: string, value: string): void;
|
|
21
|
+
getSecureBiometric(key: string): string | undefined;
|
|
22
|
+
deleteSecureBiometric(key: string): void;
|
|
23
|
+
hasSecureBiometric(key: string): boolean;
|
|
24
|
+
clearSecureBiometric(): void;
|
|
16
25
|
}
|