react-native-nitro-storage 0.1.3 → 0.3.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.
Files changed (48) hide show
  1. package/README.md +320 -391
  2. package/android/src/main/cpp/AndroidStorageAdapterCpp.cpp +101 -0
  3. package/android/src/main/cpp/AndroidStorageAdapterCpp.hpp +6 -41
  4. package/android/src/main/java/com/nitrostorage/AndroidStorageAdapter.kt +125 -37
  5. package/app.plugin.js +9 -7
  6. package/cpp/bindings/HybridStorage.cpp +214 -19
  7. package/cpp/bindings/HybridStorage.hpp +1 -0
  8. package/cpp/core/NativeStorageAdapter.hpp +7 -0
  9. package/ios/IOSStorageAdapterCpp.hpp +6 -0
  10. package/ios/IOSStorageAdapterCpp.mm +90 -7
  11. package/lib/commonjs/index.js +537 -66
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/index.web.js +558 -130
  14. package/lib/commonjs/index.web.js.map +1 -1
  15. package/lib/commonjs/internal.js +102 -0
  16. package/lib/commonjs/internal.js.map +1 -0
  17. package/lib/module/index.js +528 -67
  18. package/lib/module/index.js.map +1 -1
  19. package/lib/module/index.web.js +536 -122
  20. package/lib/module/index.web.js.map +1 -1
  21. package/lib/module/internal.js +92 -0
  22. package/lib/module/internal.js.map +1 -0
  23. package/lib/typescript/index.d.ts +42 -6
  24. package/lib/typescript/index.d.ts.map +1 -1
  25. package/lib/typescript/index.web.d.ts +45 -12
  26. package/lib/typescript/index.web.d.ts.map +1 -1
  27. package/lib/typescript/internal.d.ts +19 -0
  28. package/lib/typescript/internal.d.ts.map +1 -0
  29. package/lib/typescript/migration.d.ts +2 -3
  30. package/lib/typescript/migration.d.ts.map +1 -1
  31. package/nitrogen/generated/android/NitroStorage+autolinking.cmake +1 -1
  32. package/nitrogen/generated/android/NitroStorage+autolinking.gradle +1 -1
  33. package/nitrogen/generated/android/NitroStorageOnLoad.cpp +1 -1
  34. package/nitrogen/generated/android/NitroStorageOnLoad.hpp +1 -1
  35. package/nitrogen/generated/android/kotlin/com/margelo/nitro/com/nitrostorage/NitroStorageOnLoad.kt +1 -1
  36. package/nitrogen/generated/ios/NitroStorage+autolinking.rb +1 -1
  37. package/nitrogen/generated/ios/NitroStorage-Swift-Cxx-Bridge.cpp +1 -1
  38. package/nitrogen/generated/ios/NitroStorage-Swift-Cxx-Bridge.hpp +1 -1
  39. package/nitrogen/generated/ios/NitroStorage-Swift-Cxx-Umbrella.hpp +1 -1
  40. package/nitrogen/generated/ios/NitroStorageAutolinking.mm +1 -1
  41. package/nitrogen/generated/ios/NitroStorageAutolinking.swift +5 -1
  42. package/nitrogen/generated/shared/c++/HybridStorageSpec.cpp +1 -1
  43. package/nitrogen/generated/shared/c++/HybridStorageSpec.hpp +1 -1
  44. package/package.json +19 -8
  45. package/src/index.ts +734 -74
  46. package/src/index.web.ts +732 -128
  47. package/src/internal.ts +134 -0
  48. package/src/migration.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeNitroModules","_Storage","_storageModule","getStorageModule","NitroModules","createHybridObject","memoryStore","Map","memoryListeners","Set","notifyMemoryListeners","key","value","forEach","listener","storage","exports","clear","scope","StorageScope","Memory","undefined","clearAll","Disk","Secure","defaultSerialize","JSON","stringify","defaultDeserialize","parse","createStorageItem","config","serialize","deserialize","isMemory","listeners","unsubscribe","ensureSubscription","lastRaw","lastValue","l","add","delete","addOnChange","get","raw","defaultValue","set","valueOrFn","currentValue","newValue","serialized","deleteItem","remove","subscribe","callback","size","_triggerListeners","useStorage","item","useSyncExternalStore","useSetStorage","getBatch","items","map","keys","rawValues","idx","setBatch","i","values","removeBatch"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeNitroModules","_Storage","_internal","_migration","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","_storageModule","getStorageModule","NitroModules","createHybridObject","memoryStore","memoryListeners","scopedListeners","StorageScope","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingSecureWrites","secureFlushScheduled","getScopedListeners","scope","get","getScopeRawCache","cacheRawValue","key","value","set","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","notifyKeyListeners","registry","forEach","listener","notifyAllListeners","listeners","addKeyListener","Set","add","delete","size","readPendingSecureWrite","hasPendingSecureWrite","clearPendingSecureWrite","flushSecureWrites","writes","Array","from","values","keysToSet","valuesToSet","keysToRemove","undefined","push","storageModule","length","setBatch","removeBatch","scheduleSecureWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","getRawValue","assertValidScope","Memory","setRawValue","removeRawValue","remove","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","Number","parseInt","isFinite","writeMigrationVersion","version","String","storage","exports","clearAll","canUseRawBatchPath","item","_hasExpiration","_hasValidation","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","serialize","deserialize","isMemory","validate","onValidationError","expiration","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceSecureWrites","nonMemoryScope","Error","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","isStoredEnvelope","valueOrFn","currentValue","newValue","deleteItem","subscribe","storageItem","_triggerListeners","_readCacheEnabled","useStorage","useSyncExternalStore","useStorageSelector","selector","isEqual","Object","is","selectedRef","useRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage","getBatch","items","assertBatchScope","map","useRawBatchPath","every","useBatchCache","rawValues","keysToFetch","keyIndexes","index","fetchedValues","decodeNativeBatchValue","targetIndex","batchEntry","keys","entry","registerMigration","migration","isInteger","migrateToLatest","currentVersion","versions","filter","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","entries","reverse","previousValue"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}