UNPKG

react-native-app-data-sharing

Version:

This React Native package facilitates seamless and secure data sharing between applications on the same device.

140 lines 3.92 kB
import type { ACCESS_CONTROL, ACCESSIBLE, AUTHENTICATION_TYPE } from './DataSharingEnums.ios'; /** * Interface for shared data options * @property {boolean} dataSync * - whether to sync data to other apps * - default: true */ export interface DataOptionsType { android?: { dataSync?: boolean; }; ios?: string | SetOptions | GetOptions; } /** * Interface for initial provider * @property {Array<string>} appsBundleIds * - array of other apps bundle ids */ export interface InitialProviderType { android?: { appsBundleIds: Array<string>; }; ios?: { accessGroup?: string; serviceName?: string; }; } export declare enum ErrorCode { VALUE_ERROR = "VALUE_ERROR", KEY_ERROR = "KEY_ERROR", CLEAR_ERROR = "CLEAR_ERROR", NO_DATA_FOUND_ERROR = "NO_DATA_FOUND_ERROR", ACTION_ERROR = "ACTION_ERROR", SAVE_ERROR = "SAVE_ERROR", UPDATE_ERROR = "UPDATE_ERROR", DELETE_ERROR = "DELETE_ERROR", UNEXPECTED_ERROR = "UNEXPECTED_ERROR" } export interface ErrorType { code: ErrorCode; message: string; } /** * * * * * * IOS Options for keychain functions. * * * * * */ /** * Options for authentication prompt displayed to the user. */ export type AuthenticationPrompt = { /** The title for the authentication prompt. */ title?: string; }; export type BaseOptions = { /** The service name to associate with the keychain item. * @default 'App bundle ID' */ service?: string; /** The server name to associate with the keychain item. */ server?: string; /** Whether to synchronize the keychain item to iCloud. * @platform iOS */ cloudSync?: boolean; }; /** Base options for keychain functions. */ export type SetOptions = { /** The access group to share keychain items between apps. * @platform iOS, visionOS */ accessGroup?: string; /** Specifies when a keychain item is accessible. * @platform iOS, visionOS * @default ACCESSIBLE.AFTER_FIRST_UNLOCK */ accessible?: ACCESSIBLE; /** Authentication prompt details or a title string. * @default * ```json * { * "title": "Authenticate to retrieve secret", * "cancel": "Cancel" * } * ``` * */ authenticationPrompt?: string | AuthenticationPrompt; } & BaseOptions & AccessControlOption; /** Base options for keychain functions. */ export type GetOptions = { /** The access control policy to use for the keychain item. */ accessControl?: ACCESS_CONTROL; /** Authentication prompt details or a title string. * @default * ```json * { * "title": "Authenticate to retrieve secret", * } * ``` * */ authenticationPrompt?: string | AuthenticationPrompt; } & BaseOptions & AccessControlOption; export type AccessControlOption = { /** The access control policy to use for the keychain item. */ accessControl?: ACCESS_CONTROL; }; export type AuthenticationTypeOption = { /** Authentication type for retrieving keychain item. * @platform iOS, visionOS * @default AUTHENTICATION_TYPE.DEVICE_PASSCODE_OR_BIOMETRICS */ authenticationType?: AUTHENTICATION_TYPE; }; /** * Result returned by keychain functions. */ export type Result = { /** The service name associated with the keychain item. */ service: string; }; /** * User credentials returned by keychain functions. */ export type UserCredentials = { /** The username associated with the keychain item. */ username: string; /** The password associated with the keychain item. */ password: string; } & Result; /** * Shared web credentials returned by keychain functions. * @platform iOS */ export type SharedWebCredentials = { /** The server associated with the keychain item. */ server: string; } & UserCredentials; //# sourceMappingURL=DataSharingTypes.d.ts.map