UNPKG

@huddle01/react-native-background-actions

Version:

React Native background service library for running background tasks forever in Android & iOS

173 lines (172 loc) 5.15 kB
export const Priority: Readonly<{ MIN: number; LOW: number; DEFAULT: number; HIGHT: number; MAX: number; }>; export const Importance: Readonly<{ DEFAULT: number; MAX: number; HIGHT: number; LOW: number; MIN: number; NONE: number; }>; export default backgroundServer; export type BackgroundTaskOptions = { taskName: string; taskTitle: string; taskDesc: string; taskIcon: { name: string; type: string; package?: string; }; color?: string | undefined; linkingURI?: string | undefined; priority?: number | undefined; importance?: number | undefined; ongoing?: boolean | undefined; autoCancel?: boolean | undefined; stopOnTerminate?: boolean | undefined; serviceTypes?: string | undefined; progressBar?: { max: number; value: number; indeterminate?: boolean | undefined; } | undefined; }; declare const backgroundServer: BackgroundServer; /** * @typedef {{taskName: string, * taskTitle: string, * taskDesc: string, * taskIcon: {name: string, type: string, package?: string}, * color?: string * linkingURI?: string, * priority?: number, * importance?: number, * ongoing?: boolean, * autoCancel?: boolean, * stopOnTerminate?: boolean, * serviceTypes?: string, * progressBar?: {max: number, value: number, indeterminate?: boolean}, * }} BackgroundTaskOptions * @extends EventEmitter<'expiration',any> */ declare class BackgroundServer extends EventEmitter<"expiration", any> { /** @private */ private _runnedTasks; /** @private @type {(arg0?: any) => void} */ private _stopTask; /** @private */ private _isRunning; /** @private @type {BackgroundTaskOptions} */ private _currentOptions; /** * @private */ private _addListeners; /** * **ANDROID ONLY** * * Updates the task notification. * * *On iOS this method will return immediately* * * @param {{taskTitle?: string, * taskDesc?: string, * taskIcon?: {name: string, type: string, package?: string}, * color?: string, * linkingURI?: string, * priority?: number, * importance?: number, * ongoing?: boolean, * autoCancel?: boolean, * stopOnTerminate?: boolean, * serviceTypes?: string, * progressBar?: {max: number, value: number, indeterminate?: boolean}}} taskData */ updateNotification(taskData: { taskTitle?: string; taskDesc?: string; taskIcon?: { name: string; type: string; package?: string; }; color?: string; linkingURI?: string; priority?: number; importance?: number; ongoing?: boolean; autoCancel?: boolean; stopOnTerminate?: boolean; serviceTypes?: string; progressBar?: { max: number; value: number; indeterminate?: boolean; }; }): Promise<void>; /** * Returns if the current background task is running. * * It returns `true` if `start()` has been called and the task has not finished. * * It returns `false` if `stop()` has been called, **even if the task has not finished**. */ isRunning(): boolean; /** * @template T * * @param {(taskData?: T) => Promise<void>} task * @param {BackgroundTaskOptions & {parameters?: T}} options * @returns {Promise<void>} */ start<T>(task: (taskData?: T | undefined) => Promise<void>, options: { taskName: string; taskTitle: string; taskDesc: string; taskIcon: { name: string; type: string; package?: string; }; color?: string | undefined; linkingURI?: string | undefined; priority?: number | undefined; importance?: number | undefined; ongoing?: boolean | undefined; autoCancel?: boolean | undefined; stopOnTerminate?: boolean | undefined; serviceTypes?: string | undefined; progressBar?: { max: number; value: number; indeterminate?: boolean | undefined; } | undefined; } & { parameters?: T | undefined; }): Promise<void>; /** * @private * @template T * @param {(taskData?: T) => Promise<void>} task * @param {T} [parameters] */ private _generateTask; /** * @private * @param {BackgroundTaskOptions} options */ private _normalizeOptions; /** * Stops the background task. * * @returns {Promise<void>} */ stop(): Promise<void>; } import EventEmitter from "eventemitter3";