react-native-nitro-storage 0.13.0 → 0.14.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 (50) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +58 -4
  3. package/docs/api-reference.md +49 -43
  4. package/docs/batch-transactions-migrations.md +7 -0
  5. package/docs/qa/agent-device-replay.md +70 -0
  6. package/docs/secure-storage.md +12 -6
  7. package/lib/commonjs/Storage.types.js +4 -2
  8. package/lib/commonjs/Storage.types.js.map +1 -1
  9. package/lib/commonjs/core/durability.js +30 -2
  10. package/lib/commonjs/core/durability.js.map +1 -1
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/index.web.js.map +1 -1
  13. package/lib/commonjs/shared.js.map +1 -1
  14. package/lib/commonjs/storage-core.js +37 -3
  15. package/lib/commonjs/storage-core.js.map +1 -1
  16. package/lib/commonjs/testing.js +1 -0
  17. package/lib/commonjs/testing.js.map +1 -1
  18. package/lib/module/Storage.types.js +4 -2
  19. package/lib/module/Storage.types.js.map +1 -1
  20. package/lib/module/core/durability.js +30 -2
  21. package/lib/module/core/durability.js.map +1 -1
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/index.web.js.map +1 -1
  24. package/lib/module/shared.js.map +1 -1
  25. package/lib/module/storage-core.js +37 -3
  26. package/lib/module/storage-core.js.map +1 -1
  27. package/lib/module/testing.js +1 -0
  28. package/lib/module/testing.js.map +1 -1
  29. package/lib/typescript/Storage.types.d.ts +4 -2
  30. package/lib/typescript/Storage.types.d.ts.map +1 -1
  31. package/lib/typescript/core/durability.d.ts +7 -1
  32. package/lib/typescript/core/durability.d.ts.map +1 -1
  33. package/lib/typescript/index.d.ts +4 -2
  34. package/lib/typescript/index.d.ts.map +1 -1
  35. package/lib/typescript/index.web.d.ts +4 -2
  36. package/lib/typescript/index.web.d.ts.map +1 -1
  37. package/lib/typescript/shared.d.ts +8 -1
  38. package/lib/typescript/shared.d.ts.map +1 -1
  39. package/lib/typescript/storage-core.d.ts +6 -3
  40. package/lib/typescript/storage-core.d.ts.map +1 -1
  41. package/lib/typescript/testing.d.ts +7 -4
  42. package/lib/typescript/testing.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/src/Storage.types.ts +4 -2
  45. package/src/core/durability.ts +46 -2
  46. package/src/index.ts +4 -0
  47. package/src/index.web.ts +4 -0
  48. package/src/shared.ts +17 -1
  49. package/src/storage-core.ts +61 -7
  50. package/src/testing.ts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"durability.d.ts","sourceRoot":"","sources":["../../../src/core/durability.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,iBAAiB,IAAI,OAAO,CAAC;IAC7B,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1C,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC/D,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACnE,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvD,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3D,yBAAyB,IAAI,IAAI,CAAC;IAClC,2BAA2B,IAAI,IAAI,CAAC;IACpC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAC5E,mBAAmB,CACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,aAAa,CAAC,EAAE,aAAa,GAC5B,kBAAkB,CAAC;IACtB,eAAe,IAAI,IAAI,CAAC;IACxB,iBAAiB,IAAI,IAAI,CAAC;IAC1B,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CAC3D,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,iCAAiC,IAAI,aAAa,CAAC;CACpD,GAAG,qBAAqB,CAqOxB"}
1
+ {"version":3,"file":"durability.d.ts","sourceRoot":"","sources":["../../../src/core/durability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEtE,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,CAC/C,KAAK,EAAE,0BAA0B,KAC9B,IAAI,CAAC;AAEV,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,8BAA8B,CAC5B,QAAQ,EAAE,kCAAkC,GAAG,SAAS,GACvD,IAAI,CAAC;IACR,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,iBAAiB,IAAI,OAAO,CAAC;IAC7B,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1C,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC/D,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACnE,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvD,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3D,yBAAyB,IAAI,IAAI,CAAC;IAClC,2BAA2B,IAAI,IAAI,CAAC;IACpC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAC5E,mBAAmB,CACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,aAAa,CAAC,EAAE,aAAa,GAC5B,kBAAkB,CAAC;IACtB,eAAe,IAAI,IAAI,CAAC;IACxB,iBAAiB,IAAI,IAAI,CAAC;IAC1B,kBAAkB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CAC3D,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,iCAAiC,IAAI,aAAa,CAAC;CACpD,GAAG,qBAAqB,CAqQxB"}
@@ -5,6 +5,7 @@ import { StorageScope } from "./Storage.types";
5
5
  import type { WebDiskStorageBackend, WebSecureStorageBackend } from "./web-storage-backend";
6
6
  export type { ExpirationConfig, Migration, MigrationContext, SecureAuthStorageConfig, StorageEventObserverOptions, StorageExportOptions, StorageCacheMetrics, StorageMetricSummary, StorageMetricsEvent, StorageMetricsObserver, StorageSelectorListener, StorageSelectorSubscribeOptions, StorageCompositeError, StorageCompensationError, StorageVersion, Validator, VersionedValue, } from "./shared";
7
7
  export { isKeychainLockedError } from "./shared";
8
+ export type { StorageScheduledFlushError, StorageScheduledFlushErrorObserver, } from "./core/durability";
8
9
  export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
9
10
  export type { Storage } from "./Storage.nitro";
10
11
  export { migrateFromMMKV } from "./migration";
@@ -53,6 +54,7 @@ export declare const storage: {
53
54
  setDiskWritesAsync: (enabled: boolean) => void;
54
55
  flushDiskWrites: () => void;
55
56
  flushSecureWrites: () => void;
57
+ setScheduledFlushErrorObserver: (observer?: import(".").StorageScheduledFlushErrorObserver) => void;
56
58
  setMetricsObserver: (observer?: import("./shared").StorageMetricsObserver) => void;
57
59
  getMetricsSnapshot: () => Record<string, import("./shared").StorageMetricSummary>;
58
60
  getScopedMetricsSnapshot: () => Record<string, import("./shared").StorageMetricSummary>;
@@ -78,9 +80,9 @@ export declare const setBatch: <const TItems extends readonly {
78
80
  value: ReturnType<TItems[Index]["get"]>;
79
81
  }; }, scope: StorageScope) => void;
80
82
  export declare const removeBatch: (items: readonly import("./storage-core").BatchRemoveItem[], scope: StorageScope) => void;
81
- export declare const registerMigration: (version: number, migration: import("./shared").Migration) => void;
83
+ export declare const registerMigration: <TResult>(version: number, migration: import("./shared").Migration<TResult>) => void;
82
84
  export declare const migrateToLatest: (scope?: StorageScope) => number;
83
- export declare const runTransaction: <T>(scope: StorageScope, transaction: (context: import("./storage-core").TransactionContext) => T) => T;
85
+ export declare const runTransaction: <T>(scope: StorageScope, transaction: (context: import("./storage-core").TransactionContext) => import("./shared").SynchronousCallbackResult<T>) => T;
84
86
  export declare const createSecureAuthStorage: <K extends string>(config: import("./shared").SecureAuthStorageConfig<K>, options?: {
85
87
  namespace?: string;
86
88
  group?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { StorageScope } from "./Storage.types";
5
5
  import { type WebDiskStorageBackend, type WebSecureStorageBackend } from "./web-storage-backend";
6
6
  export type { ExpirationConfig, Migration, MigrationContext, SecureAuthStorageConfig, StorageEventObserverOptions, StorageExportOptions, StorageCacheMetrics, StorageMetricSummary, StorageMetricsEvent, StorageMetricsObserver, StorageSelectorListener, StorageSelectorSubscribeOptions, StorageCompositeError, StorageCompensationError, StorageVersion, Validator, VersionedValue, } from "./shared";
7
7
  export { isKeychainLockedError } from "./shared";
8
+ export type { StorageScheduledFlushError, StorageScheduledFlushErrorObserver, } from "./core/durability";
8
9
  export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
9
10
  export type { Storage } from "./Storage.nitro";
10
11
  export { migrateFromMMKV } from "./migration";
@@ -53,6 +54,7 @@ export declare const storage: {
53
54
  setDiskWritesAsync: (enabled: boolean) => void;
54
55
  flushDiskWrites: () => void;
55
56
  flushSecureWrites: () => void;
57
+ setScheduledFlushErrorObserver: (observer?: import(".").StorageScheduledFlushErrorObserver) => void;
56
58
  setMetricsObserver: (observer?: import("./shared").StorageMetricsObserver) => void;
57
59
  getMetricsSnapshot: () => Record<string, import("./shared").StorageMetricSummary>;
58
60
  getScopedMetricsSnapshot: () => Record<string, import("./shared").StorageMetricSummary>;
@@ -78,9 +80,9 @@ export declare const setBatch: <const TItems extends readonly {
78
80
  value: ReturnType<TItems[Index]["get"]>;
79
81
  }; }, scope: StorageScope) => void;
80
82
  export declare const removeBatch: (items: readonly import("./storage-core").BatchRemoveItem[], scope: StorageScope) => void;
81
- export declare const registerMigration: (version: number, migration: import("./shared").Migration) => void;
83
+ export declare const registerMigration: <TResult>(version: number, migration: import("./shared").Migration<TResult>) => void;
82
84
  export declare const migrateToLatest: (scope?: StorageScope) => number;
83
- export declare const runTransaction: <T>(scope: StorageScope, transaction: (context: import("./storage-core").TransactionContext) => T) => T;
85
+ export declare const runTransaction: <T>(scope: StorageScope, transaction: (context: import("./storage-core").TransactionContext) => import("./shared").SynchronousCallbackResult<T>) => T;
84
86
  export declare const createSecureAuthStorage: <K extends string>(config: import("./shared").SecureAuthStorageConfig<K>, options?: {
85
87
  namespace?: string;
86
88
  group?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,13 @@ export type MigrationContext = {
46
46
  setRaw: (key: string, value: string) => void;
47
47
  removeRaw: (key: string) => void;
48
48
  };
49
- export type Migration = (context: MigrationContext) => void;
49
+ type CallableThenableResult<TResult> = TResult extends {
50
+ then?: infer Then;
51
+ } ? Extract<Then, (...args: never[]) => unknown> extends never ? never : TResult : never;
52
+ export type SynchronousCallbackResult<TResult> = [
53
+ CallableThenableResult<TResult>
54
+ ] extends [never] ? TResult : never;
55
+ export type Migration<TResult = unknown> = (context: MigrationContext) => SynchronousCallbackResult<TResult>;
50
56
  export type KeyListenerRegistry = Map<string, Set<() => void>>;
51
57
  export type RawBatchPathItem = {
52
58
  _hasValidation?: boolean;
@@ -120,4 +126,5 @@ export type SecureAuthStorageConfig<K extends string = string> = Record<K, {
120
126
  * authentication, and invalidated-key recovery paths.
121
127
  */
122
128
  export declare function isKeychainLockedError(err: unknown): boolean;
129
+ export {};
123
130
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/shared.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { type ExpirationConfig, type KeyListenerRegistry, type Migration, type NonMemoryScope, type SecureAuthStorageConfig, type StorageEventObserverOptions, type StorageExportOptions, type StorageCacheMetrics, type StorageMetricSummary, type StorageMetricsObserver, type StorageSelectorListener, type StorageSelectorSubscribeOptions, type StorageVersion, type Validator, type VersionedValue } from "./shared";
1
+ import { type StorageScheduledFlushErrorObserver } from "./core/durability";
2
+ import { type ExpirationConfig, type KeyListenerRegistry, type Migration, type NonMemoryScope, type SecureAuthStorageConfig, type StorageEventObserverOptions, type StorageExportOptions, type StorageCacheMetrics, type StorageMetricSummary, type StorageMetricsObserver, type StorageSelectorListener, type StorageSelectorSubscribeOptions, type SynchronousCallbackResult, type StorageVersion, type Validator, type VersionedValue } from "./shared";
2
3
  import { type StorageChangeOperation, type StorageChangeSource, type StorageEventListener, type StorageKeyChangeEvent } from "./storage-events";
3
4
  import type { StorageSetter } from "./storage-hooks";
4
5
  import { type SecureStorageMetadata } from "./storage-runtime";
@@ -191,6 +192,8 @@ export declare function createStorageCore(buildAdapter: (internals: StorageCoreI
191
192
  setDiskWritesAsync: (enabled: boolean) => void;
192
193
  flushDiskWrites: () => void;
193
194
  flushSecureWrites: () => void;
195
+ /** Observes scheduled flush failures; explicit flush calls still throw. */
196
+ setScheduledFlushErrorObserver: (observer?: StorageScheduledFlushErrorObserver) => void;
194
197
  setMetricsObserver: (observer?: StorageMetricsObserver) => void;
195
198
  getMetricsSnapshot: () => Record<string, StorageMetricSummary>;
196
199
  getScopedMetricsSnapshot: () => Record<string, StorageMetricSummary>;
@@ -211,9 +214,9 @@ export declare function createStorageCore(buildAdapter: (internals: StorageCoreI
211
214
  getBatch: <const TItems extends readonly BatchReadItem<unknown>[]>(items: TItems, scope: StorageScope) => BatchValues<TItems>;
212
215
  setBatch: <const TItems extends readonly StorageBatchSetCandidate[]>(items: StorageBatchSetEntries<TItems>, scope: StorageScope) => void;
213
216
  removeBatch: (items: readonly BatchRemoveItem[], scope: StorageScope) => void;
214
- registerMigration: (version: number, migration: Migration) => void;
217
+ registerMigration: <TResult>(version: number, migration: Migration<TResult>) => void;
215
218
  migrateToLatest: (scope?: StorageScope) => number;
216
- runTransaction: <T>(scope: StorageScope, transaction: (context: TransactionContext) => T) => T;
219
+ runTransaction: <T>(scope: StorageScope, transaction: (context: TransactionContext) => SynchronousCallbackResult<T>) => T;
217
220
  createSecureAuthStorage: <K extends string>(config: SecureAuthStorageConfig<K>, options?: {
218
221
  namespace?: string;
219
222
  group?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"storage-core.d.ts","sourceRoot":"","sources":["../../src/storage-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-core.d.ts","sourceRoot":"","sources":["../../src/storage-core.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { StorageScope, AccessControl } from "./Storage.types";
4
4
  import type { WebDiskStorageBackend, WebSecureStorageBackend } from "./web-storage-backend";
5
5
  export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
6
6
  export { isKeychainLockedError } from "./shared";
7
+ export type { StorageScheduledFlushError, StorageScheduledFlushErrorObserver, } from "./core/durability";
7
8
  export { migrateFromMMKV } from "./migration";
8
9
  export { getStorageErrorCode, isStorageError } from "./storage-runtime";
9
10
  export { describeWebBackendCapabilities, isIndexedDBWebBackend, type WebBackendCapabilities, } from "./web-backend-contract";
@@ -54,6 +55,7 @@ declare function buildTestingModule(): {
54
55
  setDiskWritesAsync: (enabled: boolean) => void;
55
56
  flushDiskWrites: () => void;
56
57
  flushSecureWrites: () => void;
58
+ setScheduledFlushErrorObserver: (observer?: import(".").StorageScheduledFlushErrorObserver) => void;
57
59
  setMetricsObserver: (observer?: import("./shared").StorageMetricsObserver) => void;
58
60
  getMetricsSnapshot: () => Record<string, import("./shared").StorageMetricSummary>;
59
61
  getScopedMetricsSnapshot: () => Record<string, import("./shared").StorageMetricSummary>;
@@ -79,9 +81,9 @@ declare function buildTestingModule(): {
79
81
  value: ReturnType<TItems[Index]["get"]>;
80
82
  }; }, scope: StorageScope) => void;
81
83
  removeBatch: (items: readonly import("./storage-core").BatchRemoveItem[], scope: StorageScope) => void;
82
- registerMigration: (version: number, migration: import("./shared").Migration) => void;
84
+ registerMigration: <TResult>(version: number, migration: import("./shared").Migration<TResult>) => void;
83
85
  migrateToLatest: (scope?: StorageScope) => number;
84
- runTransaction: <T>(scope: StorageScope, transaction: (context: import("./storage-core").TransactionContext) => T) => T;
86
+ runTransaction: <T>(scope: StorageScope, transaction: (context: import("./storage-core").TransactionContext) => import("./shared").SynchronousCallbackResult<T>) => T;
85
87
  createSecureAuthStorage: <K extends string>(config: import("./shared").SecureAuthStorageConfig<K>, options?: {
86
88
  namespace?: string;
87
89
  group?: string;
@@ -128,6 +130,7 @@ export declare const storage: {
128
130
  setDiskWritesAsync: (enabled: boolean) => void;
129
131
  flushDiskWrites: () => void;
130
132
  flushSecureWrites: () => void;
133
+ setScheduledFlushErrorObserver: (observer?: import(".").StorageScheduledFlushErrorObserver) => void;
131
134
  setMetricsObserver: (observer?: import("./shared").StorageMetricsObserver) => void;
132
135
  getMetricsSnapshot: () => Record<string, import("./shared").StorageMetricSummary>;
133
136
  getScopedMetricsSnapshot: () => Record<string, import("./shared").StorageMetricSummary>;
@@ -153,9 +156,9 @@ export declare const setBatch: <const TItems extends readonly {
153
156
  value: ReturnType<TItems[Index]["get"]>;
154
157
  }; }, scope: StorageScope) => void;
155
158
  export declare const removeBatch: (items: readonly import("./storage-core").BatchRemoveItem[], scope: StorageScope) => void;
156
- export declare const registerMigration: (version: number, migration: import("./shared").Migration) => void;
159
+ export declare const registerMigration: <TResult>(version: number, migration: import("./shared").Migration<TResult>) => void;
157
160
  export declare const migrateToLatest: (scope?: StorageScope) => number;
158
- export declare const runTransaction: <T>(scope: StorageScope, transaction: (context: import("./storage-core").TransactionContext) => T) => T;
161
+ export declare const runTransaction: <T>(scope: StorageScope, transaction: (context: import("./storage-core").TransactionContext) => import("./shared").SynchronousCallbackResult<T>) => T;
159
162
  export declare const createSecureAuthStorage: <K extends string>(config: import("./shared").SecureAuthStorageConfig<K>, options?: {
160
163
  namespace?: string;
161
164
  group?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-nitro-storage",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "Synchronous React Native storage powered by Nitro Modules and JSI: typed Memory, Disk, Keychain/Android Keystore secure storage, biometric auth, MMKV migration, Expo, Zustand/Jotai persistence, and web IndexedDB support.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -20,8 +20,10 @@ export enum AccessControl {
20
20
  export enum BiometricLevel {
21
21
  /** No biometric requirement (default). */
22
22
  None = 0,
23
- /** Require biometric or passcode for each access. */
23
+ /** iOS: Keychain user presence. Android: recent authentication when opening
24
+ * the protected store; later access uses its cached keyset. Web: no biometric enforcement. */
24
25
  BiometryOrPasscode = 1,
25
- /** Require biometric only (no passcode fallback). */
26
+ /** Biometric-only Keychain/Keystore policy, without passcode fallback.
27
+ * Android authenticates when opening the store, not each access. Web: no biometric enforcement. */
26
28
  BiometryOnly = 2,
27
29
  }
@@ -2,6 +2,15 @@ import { runMicrotask } from "../shared";
2
2
  import { StorageScope, type AccessControl } from "../Storage.types";
3
3
  import type { PendingDiskWrite, PendingSecureWrite } from "../shared";
4
4
 
5
+ export type StorageScheduledFlushError = {
6
+ readonly scope: StorageScope.Disk | StorageScope.Secure;
7
+ readonly error: unknown;
8
+ };
9
+
10
+ export type StorageScheduledFlushErrorObserver = (
11
+ error: StorageScheduledFlushError,
12
+ ) => void;
13
+
5
14
  export type DurabilityBackend = {
6
15
  setBatch(keys: string[], values: string[], scope: number): void;
7
16
  removeBatch(keys: string[], scope: number): void;
@@ -9,6 +18,9 @@ export type DurabilityBackend = {
9
18
  };
10
19
 
11
20
  export type DurabilityCoordinator = {
21
+ setScheduledFlushErrorObserver(
22
+ observer: StorageScheduledFlushErrorObserver | undefined,
23
+ ): void;
12
24
  setDiskWritesAsync(enabled: boolean): void;
13
25
  isDiskWritesAsync(): boolean;
14
26
  hasPendingDiskWrite(key: string): boolean;
@@ -42,6 +54,8 @@ export function createDurabilityCoordinator(options: {
42
54
  let nextGeneration = 0;
43
55
  let diskFlushScheduled = false;
44
56
  let diskWritesAsync = false;
57
+ let scheduledFlushErrorObserver:
58
+ StorageScheduledFlushErrorObserver | undefined;
45
59
  const pendingSecureWrites = new Map<string, PendingSecureWrite>();
46
60
  let secureFlushScheduled = false;
47
61
  const securePromotionsInProgress = new Set<string>();
@@ -168,6 +182,33 @@ export function createDurabilityCoordinator(options: {
168
182
  }
169
183
  }
170
184
 
185
+ function reportScheduledFlushError(
186
+ scope: StorageScheduledFlushError["scope"],
187
+ error: unknown,
188
+ ): void {
189
+ const observer = scheduledFlushErrorObserver;
190
+ if (observer === undefined) {
191
+ throw error;
192
+ }
193
+ observer({ scope, error });
194
+ }
195
+
196
+ function flushScheduledDiskWrites(): void {
197
+ try {
198
+ flushDiskWrites();
199
+ } catch (error) {
200
+ reportScheduledFlushError(StorageScope.Disk, error);
201
+ }
202
+ }
203
+
204
+ function flushScheduledSecureWrites(): void {
205
+ try {
206
+ flushSecureWrites();
207
+ } catch (error) {
208
+ reportScheduledFlushError(StorageScope.Secure, error);
209
+ }
210
+ }
211
+
171
212
  function scheduleDiskWrite(
172
213
  key: string,
173
214
  value: string | undefined,
@@ -182,7 +223,7 @@ export function createDurabilityCoordinator(options: {
182
223
  return pendingWrite;
183
224
  }
184
225
  diskFlushScheduled = true;
185
- runMicrotask(flushDiskWrites);
226
+ runMicrotask(flushScheduledDiskWrites);
186
227
  return pendingWrite;
187
228
  }
188
229
 
@@ -204,7 +245,7 @@ export function createDurabilityCoordinator(options: {
204
245
  return pendingWrite;
205
246
  }
206
247
  secureFlushScheduled = true;
207
- runMicrotask(flushSecureWrites);
248
+ runMicrotask(flushScheduledSecureWrites);
208
249
  return pendingWrite;
209
250
  }
210
251
 
@@ -225,6 +266,9 @@ export function createDurabilityCoordinator(options: {
225
266
  }
226
267
 
227
268
  return {
269
+ setScheduledFlushErrorObserver(observer) {
270
+ scheduledFlushErrorObserver = observer;
271
+ },
228
272
  setDiskWritesAsync(enabled) {
229
273
  diskWritesAsync = enabled;
230
274
  if (!enabled) {
package/src/index.ts CHANGED
@@ -49,6 +49,10 @@ export type {
49
49
  VersionedValue,
50
50
  } from "./shared";
51
51
  export { isKeychainLockedError } from "./shared";
52
+ export type {
53
+ StorageScheduledFlushError,
54
+ StorageScheduledFlushErrorObserver,
55
+ } from "./core/durability";
52
56
 
53
57
  export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
54
58
  export type { Storage } from "./Storage.nitro";
package/src/index.web.ts CHANGED
@@ -48,6 +48,10 @@ export type {
48
48
  VersionedValue,
49
49
  } from "./shared";
50
50
  export { isKeychainLockedError } from "./shared";
51
+ export type {
52
+ StorageScheduledFlushError,
53
+ StorageScheduledFlushErrorObserver,
54
+ } from "./core/durability";
51
55
 
52
56
  export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
53
57
  export type { Storage } from "./Storage.nitro";
package/src/shared.ts CHANGED
@@ -75,7 +75,23 @@ export type MigrationContext = {
75
75
  removeRaw: (key: string) => void;
76
76
  };
77
77
 
78
- export type Migration = (context: MigrationContext) => void;
78
+ type CallableThenableResult<TResult> = TResult extends {
79
+ then?: infer Then;
80
+ }
81
+ ? Extract<Then, (...args: never[]) => unknown> extends never
82
+ ? never
83
+ : TResult
84
+ : never;
85
+
86
+ export type SynchronousCallbackResult<TResult> = [
87
+ CallableThenableResult<TResult>,
88
+ ] extends [never]
89
+ ? TResult
90
+ : never;
91
+
92
+ export type Migration<TResult = unknown> = (
93
+ context: MigrationContext,
94
+ ) => SynchronousCallbackResult<TResult>;
79
95
 
80
96
  export type KeyListenerRegistry = Map<string, Set<() => void>>;
81
97
 
@@ -1,4 +1,7 @@
1
- import { createDurabilityCoordinator } from "./core/durability";
1
+ import {
2
+ createDurabilityCoordinator,
3
+ type StorageScheduledFlushErrorObserver,
4
+ } from "./core/durability";
2
5
  import { createMetricsRegistry } from "./core/metrics";
3
6
  import {
4
7
  MIGRATION_VERSION_KEY,
@@ -44,6 +47,7 @@ import {
44
47
  type StorageMetricsObserver,
45
48
  type StorageSelectorListener,
46
49
  type StorageSelectorSubscribeOptions,
50
+ type SynchronousCallbackResult,
47
51
  type StorageVersion,
48
52
  type Validator,
49
53
  type VersionedValue,
@@ -76,6 +80,28 @@ export type TransactionContext = {
76
80
  ) => void;
77
81
  };
78
82
 
83
+ function assertSynchronousCallbackResult(
84
+ value: unknown,
85
+ callbackKind: "Transaction" | "Migration",
86
+ ): void {
87
+ if (
88
+ value === null ||
89
+ (typeof value !== "object" && typeof value !== "function")
90
+ ) {
91
+ return;
92
+ }
93
+
94
+ const then = (value as { then?: unknown }).then;
95
+ if (typeof then !== "function") {
96
+ return;
97
+ }
98
+
99
+ void Promise.resolve(value).catch(() => undefined);
100
+ throw new TypeError(
101
+ `${callbackKind} callbacks must be synchronous and cannot return a Promise or thenable.`,
102
+ );
103
+ }
104
+
79
105
  export type StorageItemConfig<T> = {
80
106
  key: string;
81
107
  scope: StorageScope;
@@ -318,7 +344,7 @@ function asInternal<T>(item: StorageItem<T>): StorageItemInternal<T> {
318
344
  export function createStorageCore(
319
345
  buildAdapter: (internals: StorageCoreInternals) => StorageCoreAdapter,
320
346
  ) {
321
- const registeredMigrations = new Map<number, Migration>();
347
+ const registeredMigrations = new Map<number, Migration<unknown>>();
322
348
  const itemGroups = new Map<string, Set<StorageItemInternal<unknown>>>();
323
349
  const registeredKeyCounts = new Map<string, number>();
324
350
  const memoryStore = new Map<string, unknown>();
@@ -1485,6 +1511,12 @@ export function createStorageCore(
1485
1511
  flushSecureWrites();
1486
1512
  });
1487
1513
  },
1514
+ /** Observes scheduled flush failures; explicit flush calls still throw. */
1515
+ setScheduledFlushErrorObserver: (
1516
+ observer?: StorageScheduledFlushErrorObserver,
1517
+ ): void => {
1518
+ durability.setScheduledFlushErrorObserver(observer);
1519
+ },
1488
1520
  setMetricsObserver: (observer?: StorageMetricsObserver) => {
1489
1521
  metrics.setObserver(observer);
1490
1522
  },
@@ -3320,7 +3352,10 @@ export function createStorageCore(
3320
3352
  );
3321
3353
  }
3322
3354
 
3323
- function registerMigration(version: number, migration: Migration): void {
3355
+ function registerMigration<TResult>(
3356
+ version: number,
3357
+ migration: Migration<TResult>,
3358
+ ): void {
3324
3359
  if (!Number.isInteger(version) || version <= 0) {
3325
3360
  throw new Error("Migration version must be a positive integer.");
3326
3361
  }
@@ -3348,7 +3383,8 @@ export function createStorageCore(
3348
3383
  return;
3349
3384
  }
3350
3385
  runTransaction(scope, (tx) => {
3351
- migration(tx);
3386
+ const migrationResult: unknown = migration(tx);
3387
+ assertSynchronousCallbackResult(migrationResult, "Migration");
3352
3388
  tx.setRaw(MIGRATION_VERSION_KEY, String(version));
3353
3389
  });
3354
3390
  appliedVersion = version;
@@ -3360,7 +3396,7 @@ export function createStorageCore(
3360
3396
 
3361
3397
  function runTransaction<T>(
3362
3398
  scope: StorageScope,
3363
- transaction: (context: TransactionContext) => T,
3399
+ transaction: (context: TransactionContext) => SynchronousCallbackResult<T>,
3364
3400
  ): T {
3365
3401
  return measureOperation("transaction:run", scope, () => {
3366
3402
  assertValidScope(scope);
@@ -3379,6 +3415,12 @@ export function createStorageCore(
3379
3415
  };
3380
3416
  const rollback = new Map<string, TransactionRollbackEntry>();
3381
3417
  const itemRenameStates = new Map<StorageItemInternal<unknown>, boolean>();
3418
+ let transactionOpen = true;
3419
+ const assertTransactionOpen = (): void => {
3420
+ if (!transactionOpen) {
3421
+ throw new TypeError("Transaction context is closed.");
3422
+ }
3423
+ };
3382
3424
 
3383
3425
  const rememberRollback = (
3384
3426
  key: string,
@@ -3486,26 +3528,34 @@ export function createStorageCore(
3486
3528
 
3487
3529
  const tx: TransactionContext = {
3488
3530
  scope,
3489
- getRaw: (key) => getRawValue(key, scope),
3531
+ getRaw: (key) => {
3532
+ assertTransactionOpen();
3533
+ return getRawValue(key, scope);
3534
+ },
3490
3535
  setRaw: (key, value) => {
3536
+ assertTransactionOpen();
3491
3537
  rememberRollback(key);
3492
3538
  setRawValue(key, value, scope);
3493
3539
  },
3494
3540
  removeRaw: (key) => {
3541
+ assertTransactionOpen();
3495
3542
  rememberRollback(key, undefined, scope === StorageScope.Secure);
3496
3543
  removeRawValue(key, scope);
3497
3544
  },
3498
3545
  getItem: (item) => {
3546
+ assertTransactionOpen();
3499
3547
  assertBatchScope([item], scope);
3500
3548
  rememberItemRollback(item);
3501
3549
  return item.get();
3502
3550
  },
3503
3551
  setItem: (item, value) => {
3552
+ assertTransactionOpen();
3504
3553
  assertBatchScope([item], scope);
3505
3554
  rememberItemRollback(item);
3506
3555
  item.set(value);
3507
3556
  },
3508
3557
  removeItem: (item) => {
3558
+ assertTransactionOpen();
3509
3559
  assertBatchScope([item], scope);
3510
3560
  rememberItemRollback(item);
3511
3561
  item.delete();
@@ -3513,8 +3563,12 @@ export function createStorageCore(
3513
3563
  };
3514
3564
 
3515
3565
  try {
3516
- return transaction(tx);
3566
+ const result = transaction(tx);
3567
+ assertSynchronousCallbackResult(result, "Transaction");
3568
+ transactionOpen = false;
3569
+ return result;
3517
3570
  } catch (error) {
3571
+ transactionOpen = false;
3518
3572
  itemRenameStates.forEach((migrated, item) => {
3519
3573
  item._setRenameMigrationState(migrated);
3520
3574
  });