NativeAsyncStorage.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * Copyright (c) Facebook, Inc. and its affiliates.
  3. *
  4. * This source code is licensed under the MIT license found in the
  5. * LICENSE file in the root directory of this source tree.
  6. *
  7. * @flow strict-local
  8. * @format
  9. */
  10. 'use strict';
  11. import type {TurboModule} from '../TurboModule/RCTExport';
  12. import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
  13. export interface Spec extends TurboModule {
  14. +getConstants: () => {||};
  15. +multiGet: (
  16. keys: Array<string>,
  17. callback: (
  18. errors: ?Array<{|message: string|}>,
  19. kvPairs: ?Array<Array<string>>,
  20. ) => void,
  21. ) => void;
  22. +multiSet: (
  23. kvPairs: Array<Array<string>>,
  24. callback: (errors: ?Array<{|message: string|}>) => void,
  25. ) => void;
  26. +multiMerge: (
  27. kvPairs: Array<Array<string>>,
  28. callback: (errors: ?Array<{|message: string|}>) => void,
  29. ) => void;
  30. +multiRemove: (
  31. keys: Array<string>,
  32. callback: (errors: ?Array<{|message: string|}>) => void,
  33. ) => void;
  34. +clear: (callback: (error: {|message: string|}) => void) => void;
  35. +getAllKeys: (
  36. callback: (error: ?{|message: string|}, allKeys: ?Array<string>) => void,
  37. ) => void;
  38. }
  39. export default (TurboModuleRegistry.get<Spec>('AsyncSQLiteDBStorage') ||
  40. TurboModuleRegistry.get<Spec>('AsyncLocalStorage'): ?Spec);