@capgo/capacitor-background-task 8.1.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.
package/dist/docs.json ADDED
@@ -0,0 +1,407 @@
1
+ {
2
+ "api": {
3
+ "name": "BackgroundTaskPlugin",
4
+ "slug": "backgroundtaskplugin",
5
+ "docs": "",
6
+ "tags": [],
7
+ "methods": [
8
+ {
9
+ "name": "defineTask",
10
+ "signature": "(taskName: string, callback: BackgroundTaskCallback) => void",
11
+ "parameters": [
12
+ {
13
+ "name": "taskName",
14
+ "docs": "",
15
+ "type": "string"
16
+ },
17
+ {
18
+ "name": "callback",
19
+ "docs": "",
20
+ "type": "BackgroundTaskCallback"
21
+ }
22
+ ],
23
+ "returns": "void",
24
+ "tags": [],
25
+ "docs": "Define the JavaScript callback for a task. Call this at module/global scope.",
26
+ "complexTypes": [
27
+ "BackgroundTaskCallback"
28
+ ],
29
+ "slug": "definetask"
30
+ },
31
+ {
32
+ "name": "registerTaskAsync",
33
+ "signature": "(taskName: string, options?: BackgroundTaskOptions | undefined) => Promise<void>",
34
+ "parameters": [
35
+ {
36
+ "name": "taskName",
37
+ "docs": "",
38
+ "type": "string"
39
+ },
40
+ {
41
+ "name": "options",
42
+ "docs": "",
43
+ "type": "BackgroundTaskOptions | undefined"
44
+ }
45
+ ],
46
+ "returns": "Promise<void>",
47
+ "tags": [],
48
+ "docs": "Register a named periodic background task.",
49
+ "complexTypes": [
50
+ "BackgroundTaskOptions"
51
+ ],
52
+ "slug": "registertaskasync"
53
+ },
54
+ {
55
+ "name": "unregisterTaskAsync",
56
+ "signature": "(taskName: string) => Promise<void>",
57
+ "parameters": [
58
+ {
59
+ "name": "taskName",
60
+ "docs": "",
61
+ "type": "string"
62
+ }
63
+ ],
64
+ "returns": "Promise<void>",
65
+ "tags": [],
66
+ "docs": "Unregister a named periodic background task.",
67
+ "complexTypes": [],
68
+ "slug": "unregistertaskasync"
69
+ },
70
+ {
71
+ "name": "isTaskRegisteredAsync",
72
+ "signature": "(taskName: string) => Promise<boolean>",
73
+ "parameters": [
74
+ {
75
+ "name": "taskName",
76
+ "docs": "",
77
+ "type": "string"
78
+ }
79
+ ],
80
+ "returns": "Promise<boolean>",
81
+ "tags": [],
82
+ "docs": "Check whether a named task is registered.",
83
+ "complexTypes": [],
84
+ "slug": "istaskregisteredasync"
85
+ },
86
+ {
87
+ "name": "getRegisteredTasksAsync",
88
+ "signature": "() => Promise<string[]>",
89
+ "parameters": [],
90
+ "returns": "Promise<string[]>",
91
+ "tags": [],
92
+ "docs": "Return all registered task names.",
93
+ "complexTypes": [],
94
+ "slug": "getregisteredtasksasync"
95
+ },
96
+ {
97
+ "name": "getPendingTaskRunsAsync",
98
+ "signature": "() => Promise<BackgroundTaskEvent[]>",
99
+ "parameters": [],
100
+ "returns": "Promise<BackgroundTaskEvent[]>",
101
+ "tags": [],
102
+ "docs": "Return pending task runs that native recorded before JavaScript was ready.",
103
+ "complexTypes": [
104
+ "BackgroundTaskEvent"
105
+ ],
106
+ "slug": "getpendingtaskrunsasync"
107
+ },
108
+ {
109
+ "name": "getStatusAsync",
110
+ "signature": "() => Promise<BackgroundTaskStatus>",
111
+ "parameters": [],
112
+ "returns": "Promise<BackgroundTaskStatus>",
113
+ "tags": [],
114
+ "docs": "Return native background task availability.",
115
+ "complexTypes": [
116
+ "BackgroundTaskStatus"
117
+ ],
118
+ "slug": "getstatusasync"
119
+ },
120
+ {
121
+ "name": "triggerTaskWorkerForTestingAsync",
122
+ "signature": "() => Promise<boolean>",
123
+ "parameters": [],
124
+ "returns": "Promise<boolean>",
125
+ "tags": [],
126
+ "docs": "Trigger all registered tasks immediately for development/testing.",
127
+ "complexTypes": [],
128
+ "slug": "triggertaskworkerfortestingasync"
129
+ },
130
+ {
131
+ "name": "addExpirationListener",
132
+ "signature": "(listener: (event: BackgroundTaskEvent) => void) => Promise<PluginListenerHandle>",
133
+ "parameters": [
134
+ {
135
+ "name": "listener",
136
+ "docs": "",
137
+ "type": "(event: BackgroundTaskEvent) => void"
138
+ }
139
+ ],
140
+ "returns": "Promise<PluginListenerHandle>",
141
+ "tags": [],
142
+ "docs": "Listen for iOS expiration callbacks.",
143
+ "complexTypes": [
144
+ "PluginListenerHandle",
145
+ "BackgroundTaskEvent"
146
+ ],
147
+ "slug": "addexpirationlistener"
148
+ },
149
+ {
150
+ "name": "define",
151
+ "signature": "(callback: BackgroundTaskCallback) => void",
152
+ "parameters": [
153
+ {
154
+ "name": "callback",
155
+ "docs": "",
156
+ "type": "BackgroundTaskCallback"
157
+ }
158
+ ],
159
+ "returns": "void",
160
+ "tags": [],
161
+ "docs": "React Native background-task compatible single-task define helper.",
162
+ "complexTypes": [
163
+ "BackgroundTaskCallback"
164
+ ],
165
+ "slug": "define"
166
+ },
167
+ {
168
+ "name": "schedule",
169
+ "signature": "(options?: ReactNativeBackgroundTaskOptions | undefined) => Promise<void>",
170
+ "parameters": [
171
+ {
172
+ "name": "options",
173
+ "docs": "",
174
+ "type": "ReactNativeBackgroundTaskOptions | undefined"
175
+ }
176
+ ],
177
+ "returns": "Promise<void>",
178
+ "tags": [],
179
+ "docs": "React Native background-task compatible single-task scheduler.",
180
+ "complexTypes": [
181
+ "ReactNativeBackgroundTaskOptions"
182
+ ],
183
+ "slug": "schedule"
184
+ },
185
+ {
186
+ "name": "cancel",
187
+ "signature": "() => Promise<void>",
188
+ "parameters": [],
189
+ "returns": "Promise<void>",
190
+ "tags": [],
191
+ "docs": "React Native background-task compatible single-task cancel helper.",
192
+ "complexTypes": [],
193
+ "slug": "cancel"
194
+ },
195
+ {
196
+ "name": "statusAsync",
197
+ "signature": "() => Promise<ReactNativeBackgroundTaskStatus>",
198
+ "parameters": [],
199
+ "returns": "Promise<ReactNativeBackgroundTaskStatus>",
200
+ "tags": [],
201
+ "docs": "React Native background-task compatible status helper.",
202
+ "complexTypes": [
203
+ "ReactNativeBackgroundTaskStatus"
204
+ ],
205
+ "slug": "statusasync"
206
+ },
207
+ {
208
+ "name": "finish",
209
+ "signature": "(result?: BackgroundTaskResult | undefined) => Promise<void>",
210
+ "parameters": [
211
+ {
212
+ "name": "result",
213
+ "docs": "",
214
+ "type": "BackgroundTaskResult | undefined"
215
+ }
216
+ ],
217
+ "returns": "Promise<void>",
218
+ "tags": [],
219
+ "docs": "React Native background-task compatible finish helper. Normal Expo-style\ncallbacks are finished automatically.",
220
+ "complexTypes": [
221
+ "BackgroundTaskResult"
222
+ ],
223
+ "slug": "finish"
224
+ }
225
+ ],
226
+ "properties": []
227
+ },
228
+ "interfaces": [
229
+ {
230
+ "name": "BackgroundTaskEvent",
231
+ "slug": "backgroundtaskevent",
232
+ "docs": "Payload emitted when native scheduling asks JavaScript to run a task.",
233
+ "tags": [],
234
+ "methods": [],
235
+ "properties": [
236
+ {
237
+ "name": "taskName",
238
+ "tags": [],
239
+ "docs": "Name passed to registerTaskAsync.",
240
+ "complexTypes": [],
241
+ "type": "string"
242
+ },
243
+ {
244
+ "name": "taskId",
245
+ "tags": [],
246
+ "docs": "Native run identifier. The JavaScript wrapper finishes it automatically\nwhen the defined callback resolves.",
247
+ "complexTypes": [],
248
+ "type": "string"
249
+ },
250
+ {
251
+ "name": "timestamp",
252
+ "tags": [],
253
+ "docs": "Native timestamp for the run.",
254
+ "complexTypes": [],
255
+ "type": "number"
256
+ },
257
+ {
258
+ "name": "test",
259
+ "tags": [],
260
+ "docs": "True when triggered through triggerTaskWorkerForTestingAsync.",
261
+ "complexTypes": [],
262
+ "type": "boolean | undefined"
263
+ }
264
+ ]
265
+ },
266
+ {
267
+ "name": "BackgroundTaskOptions",
268
+ "slug": "backgroundtaskoptions",
269
+ "docs": "Options for registering a periodic background task.",
270
+ "tags": [],
271
+ "methods": [],
272
+ "properties": [
273
+ {
274
+ "name": "minimumInterval",
275
+ "tags": [],
276
+ "docs": "Inexact interval in minutes between task runs.\n\nDefaults to 720 minutes. Android enforces a 15 minute minimum. iOS treats\nthis as an earliest begin date and may run much later.",
277
+ "complexTypes": [],
278
+ "type": "number | undefined"
279
+ },
280
+ {
281
+ "name": "requiresNetwork",
282
+ "tags": [],
283
+ "docs": "Require an active network before running the native scheduler.\n\nDefaults to true.",
284
+ "complexTypes": [],
285
+ "type": "boolean | undefined"
286
+ }
287
+ ]
288
+ },
289
+ {
290
+ "name": "PluginListenerHandle",
291
+ "slug": "pluginlistenerhandle",
292
+ "docs": "",
293
+ "tags": [],
294
+ "methods": [],
295
+ "properties": [
296
+ {
297
+ "name": "remove",
298
+ "tags": [],
299
+ "docs": "",
300
+ "complexTypes": [],
301
+ "type": "() => Promise<void>"
302
+ }
303
+ ]
304
+ },
305
+ {
306
+ "name": "ReactNativeBackgroundTaskOptions",
307
+ "slug": "reactnativebackgroundtaskoptions",
308
+ "docs": "React Native background-task compatible schedule options.",
309
+ "tags": [],
310
+ "methods": [],
311
+ "properties": [
312
+ {
313
+ "name": "period",
314
+ "tags": [],
315
+ "docs": "Desired seconds between each execution. Mapped to minimumInterval minutes.",
316
+ "complexTypes": [],
317
+ "type": "number | undefined"
318
+ },
319
+ {
320
+ "name": "timeout",
321
+ "tags": [],
322
+ "docs": "Android-only timeout hint kept for API compatibility.",
323
+ "complexTypes": [],
324
+ "type": "number | undefined"
325
+ }
326
+ ]
327
+ },
328
+ {
329
+ "name": "ReactNativeBackgroundTaskStatus",
330
+ "slug": "reactnativebackgroundtaskstatus",
331
+ "docs": "React Native background-task compatible status payload.",
332
+ "tags": [],
333
+ "methods": [],
334
+ "properties": [
335
+ {
336
+ "name": "available",
337
+ "tags": [],
338
+ "docs": "Whether background tasks are available to the app.",
339
+ "complexTypes": [],
340
+ "type": "boolean"
341
+ },
342
+ {
343
+ "name": "unavailableReason",
344
+ "tags": [],
345
+ "docs": "Reason when unavailable.",
346
+ "complexTypes": [],
347
+ "type": "string | undefined"
348
+ }
349
+ ]
350
+ }
351
+ ],
352
+ "enums": [
353
+ {
354
+ "name": "BackgroundTaskResult",
355
+ "slug": "backgroundtaskresult",
356
+ "members": [
357
+ {
358
+ "name": "Success",
359
+ "value": "1",
360
+ "tags": [],
361
+ "docs": "The task finished successfully."
362
+ },
363
+ {
364
+ "name": "Failed",
365
+ "value": "2",
366
+ "tags": [],
367
+ "docs": "The task failed."
368
+ }
369
+ ]
370
+ },
371
+ {
372
+ "name": "BackgroundTaskStatus",
373
+ "slug": "backgroundtaskstatus",
374
+ "members": [
375
+ {
376
+ "name": "Restricted",
377
+ "value": "1",
378
+ "tags": [],
379
+ "docs": "Background task scheduling is unavailable or restricted."
380
+ },
381
+ {
382
+ "name": "Available",
383
+ "value": "2",
384
+ "tags": [],
385
+ "docs": "Background task scheduling is available."
386
+ }
387
+ ]
388
+ }
389
+ ],
390
+ "typeAliases": [
391
+ {
392
+ "name": "BackgroundTaskCallback",
393
+ "slug": "backgroundtaskcallback",
394
+ "docs": "Function executed for a background task.",
395
+ "types": [
396
+ {
397
+ "text": "(event: BackgroundTaskEvent): void | BackgroundTaskResult | Promise<void | BackgroundTaskResult>",
398
+ "complexTypes": [
399
+ "BackgroundTaskEvent",
400
+ "BackgroundTaskResult"
401
+ ]
402
+ }
403
+ ]
404
+ }
405
+ ],
406
+ "pluginConfigs": []
407
+ }
@@ -0,0 +1,192 @@
1
+ import type { PluginListenerHandle } from '@capacitor/core';
2
+ /**
3
+ * Return value for a background task callback.
4
+ */
5
+ export declare enum BackgroundTaskResult {
6
+ /**
7
+ * The task finished successfully.
8
+ */
9
+ Success = 1,
10
+ /**
11
+ * The task failed.
12
+ */
13
+ Failed = 2
14
+ }
15
+ /**
16
+ * Availability status for background task scheduling.
17
+ */
18
+ export declare enum BackgroundTaskStatus {
19
+ /**
20
+ * Background task scheduling is unavailable or restricted.
21
+ */
22
+ Restricted = 1,
23
+ /**
24
+ * Background task scheduling is available.
25
+ */
26
+ Available = 2
27
+ }
28
+ /**
29
+ * Options for registering a periodic background task.
30
+ */
31
+ export interface BackgroundTaskOptions {
32
+ /**
33
+ * Inexact interval in minutes between task runs.
34
+ *
35
+ * Defaults to 720 minutes. Android enforces a 15 minute minimum. iOS treats
36
+ * this as an earliest begin date and may run much later.
37
+ */
38
+ minimumInterval?: number;
39
+ /**
40
+ * Require an active network before running the native scheduler.
41
+ *
42
+ * Defaults to true.
43
+ */
44
+ requiresNetwork?: boolean;
45
+ }
46
+ /**
47
+ * Payload emitted when native scheduling asks JavaScript to run a task.
48
+ */
49
+ export interface BackgroundTaskEvent {
50
+ /**
51
+ * Name passed to registerTaskAsync.
52
+ */
53
+ taskName: string;
54
+ /**
55
+ * Native run identifier. The JavaScript wrapper finishes it automatically
56
+ * when the defined callback resolves.
57
+ */
58
+ taskId: string;
59
+ /**
60
+ * Native timestamp for the run.
61
+ */
62
+ timestamp: number;
63
+ /**
64
+ * True when triggered through triggerTaskWorkerForTestingAsync.
65
+ */
66
+ test?: boolean;
67
+ }
68
+ /**
69
+ * Function executed for a background task.
70
+ */
71
+ export type BackgroundTaskCallback = (event: BackgroundTaskEvent) => Promise<BackgroundTaskResult | void> | BackgroundTaskResult | void;
72
+ /**
73
+ * React Native background-task compatible schedule options.
74
+ */
75
+ export interface ReactNativeBackgroundTaskOptions {
76
+ /**
77
+ * Desired seconds between each execution. Mapped to minimumInterval minutes.
78
+ */
79
+ period?: number;
80
+ /**
81
+ * Android-only timeout hint kept for API compatibility.
82
+ */
83
+ timeout?: number;
84
+ }
85
+ /**
86
+ * React Native background-task compatible status payload.
87
+ */
88
+ export interface ReactNativeBackgroundTaskStatus {
89
+ /**
90
+ * Whether background tasks are available to the app.
91
+ */
92
+ available: boolean;
93
+ /**
94
+ * Reason when unavailable.
95
+ */
96
+ unavailableReason?: string;
97
+ }
98
+ export interface GetStatusResult {
99
+ status: BackgroundTaskStatus;
100
+ }
101
+ export interface BooleanResult {
102
+ value: boolean;
103
+ }
104
+ export interface PendingTaskRunsResult {
105
+ tasks: BackgroundTaskEvent[];
106
+ }
107
+ export interface RegisteredTasksResult {
108
+ tasks: string[];
109
+ }
110
+ export interface FinishOptions {
111
+ taskId: string;
112
+ taskName?: string;
113
+ result?: BackgroundTaskResult;
114
+ }
115
+ export interface RegisterTaskOptions {
116
+ taskName: string;
117
+ options?: BackgroundTaskOptions;
118
+ }
119
+ export interface TaskNameOptions {
120
+ taskName: string;
121
+ }
122
+ export interface NativeBackgroundTaskPlugin {
123
+ registerTask(options: RegisterTaskOptions): Promise<void>;
124
+ unregisterTask(options: TaskNameOptions): Promise<void>;
125
+ isTaskRegistered(options: TaskNameOptions): Promise<BooleanResult>;
126
+ getRegisteredTasks(): Promise<RegisteredTasksResult>;
127
+ getPendingTaskRuns(): Promise<PendingTaskRunsResult>;
128
+ getStatus(): Promise<GetStatusResult>;
129
+ triggerTaskWorkerForTesting(): Promise<BooleanResult>;
130
+ finish(options: FinishOptions): Promise<void>;
131
+ addListener(eventName: 'backgroundTask', listenerFunc: (event: BackgroundTaskEvent) => void): Promise<PluginListenerHandle>;
132
+ addListener(eventName: 'expiration', listenerFunc: (event: BackgroundTaskEvent) => void): Promise<PluginListenerHandle>;
133
+ }
134
+ export interface BackgroundTaskPlugin {
135
+ /**
136
+ * Define the JavaScript callback for a task. Call this at module/global scope.
137
+ */
138
+ defineTask(taskName: string, callback: BackgroundTaskCallback): void;
139
+ /**
140
+ * Register a named periodic background task.
141
+ */
142
+ registerTaskAsync(taskName: string, options?: BackgroundTaskOptions): Promise<void>;
143
+ /**
144
+ * Unregister a named periodic background task.
145
+ */
146
+ unregisterTaskAsync(taskName: string): Promise<void>;
147
+ /**
148
+ * Check whether a named task is registered.
149
+ */
150
+ isTaskRegisteredAsync(taskName: string): Promise<boolean>;
151
+ /**
152
+ * Return all registered task names.
153
+ */
154
+ getRegisteredTasksAsync(): Promise<string[]>;
155
+ /**
156
+ * Return pending task runs that native recorded before JavaScript was ready.
157
+ */
158
+ getPendingTaskRunsAsync(): Promise<BackgroundTaskEvent[]>;
159
+ /**
160
+ * Return native background task availability.
161
+ */
162
+ getStatusAsync(): Promise<BackgroundTaskStatus>;
163
+ /**
164
+ * Trigger all registered tasks immediately for development/testing.
165
+ */
166
+ triggerTaskWorkerForTestingAsync(): Promise<boolean>;
167
+ /**
168
+ * Listen for iOS expiration callbacks.
169
+ */
170
+ addExpirationListener(listener: (event: BackgroundTaskEvent) => void): Promise<PluginListenerHandle>;
171
+ /**
172
+ * React Native background-task compatible single-task define helper.
173
+ */
174
+ define(callback: BackgroundTaskCallback): void;
175
+ /**
176
+ * React Native background-task compatible single-task scheduler.
177
+ */
178
+ schedule(options?: ReactNativeBackgroundTaskOptions): Promise<void>;
179
+ /**
180
+ * React Native background-task compatible single-task cancel helper.
181
+ */
182
+ cancel(): Promise<void>;
183
+ /**
184
+ * React Native background-task compatible status helper.
185
+ */
186
+ statusAsync(): Promise<ReactNativeBackgroundTaskStatus>;
187
+ /**
188
+ * React Native background-task compatible finish helper. Normal Expo-style
189
+ * callbacks are finished automatically.
190
+ */
191
+ finish(result?: BackgroundTaskResult): Promise<void>;
192
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Return value for a background task callback.
3
+ */
4
+ export var BackgroundTaskResult;
5
+ (function (BackgroundTaskResult) {
6
+ /**
7
+ * The task finished successfully.
8
+ */
9
+ BackgroundTaskResult[BackgroundTaskResult["Success"] = 1] = "Success";
10
+ /**
11
+ * The task failed.
12
+ */
13
+ BackgroundTaskResult[BackgroundTaskResult["Failed"] = 2] = "Failed";
14
+ })(BackgroundTaskResult || (BackgroundTaskResult = {}));
15
+ /**
16
+ * Availability status for background task scheduling.
17
+ */
18
+ export var BackgroundTaskStatus;
19
+ (function (BackgroundTaskStatus) {
20
+ /**
21
+ * Background task scheduling is unavailable or restricted.
22
+ */
23
+ BackgroundTaskStatus[BackgroundTaskStatus["Restricted"] = 1] = "Restricted";
24
+ /**
25
+ * Background task scheduling is available.
26
+ */
27
+ BackgroundTaskStatus[BackgroundTaskStatus["Available"] = 2] = "Available";
28
+ })(BackgroundTaskStatus || (BackgroundTaskStatus = {}));
29
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAN,IAAY,oBAUX;AAVD,WAAY,oBAAoB;IAC9B;;OAEG;IACH,qEAAW,CAAA;IAEX;;OAEG;IACH,mEAAU,CAAA;AACZ,CAAC,EAVW,oBAAoB,KAApB,oBAAoB,QAU/B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,oBAUX;AAVD,WAAY,oBAAoB;IAC9B;;OAEG;IACH,2EAAc,CAAA;IAEd;;OAEG;IACH,yEAAa,CAAA;AACf,CAAC,EAVW,oBAAoB,KAApB,oBAAoB,QAU/B","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\n/**\n * Return value for a background task callback.\n */\nexport enum BackgroundTaskResult {\n /**\n * The task finished successfully.\n */\n Success = 1,\n\n /**\n * The task failed.\n */\n Failed = 2,\n}\n\n/**\n * Availability status for background task scheduling.\n */\nexport enum BackgroundTaskStatus {\n /**\n * Background task scheduling is unavailable or restricted.\n */\n Restricted = 1,\n\n /**\n * Background task scheduling is available.\n */\n Available = 2,\n}\n\n/**\n * Options for registering a periodic background task.\n */\nexport interface BackgroundTaskOptions {\n /**\n * Inexact interval in minutes between task runs.\n *\n * Defaults to 720 minutes. Android enforces a 15 minute minimum. iOS treats\n * this as an earliest begin date and may run much later.\n */\n minimumInterval?: number;\n\n /**\n * Require an active network before running the native scheduler.\n *\n * Defaults to true.\n */\n requiresNetwork?: boolean;\n}\n\n/**\n * Payload emitted when native scheduling asks JavaScript to run a task.\n */\nexport interface BackgroundTaskEvent {\n /**\n * Name passed to registerTaskAsync.\n */\n taskName: string;\n\n /**\n * Native run identifier. The JavaScript wrapper finishes it automatically\n * when the defined callback resolves.\n */\n taskId: string;\n\n /**\n * Native timestamp for the run.\n */\n timestamp: number;\n\n /**\n * True when triggered through triggerTaskWorkerForTestingAsync.\n */\n test?: boolean;\n}\n\n/**\n * Function executed for a background task.\n */\nexport type BackgroundTaskCallback = (\n event: BackgroundTaskEvent,\n) => Promise<BackgroundTaskResult | void> | BackgroundTaskResult | void;\n\n/**\n * React Native background-task compatible schedule options.\n */\nexport interface ReactNativeBackgroundTaskOptions {\n /**\n * Desired seconds between each execution. Mapped to minimumInterval minutes.\n */\n period?: number;\n\n /**\n * Android-only timeout hint kept for API compatibility.\n */\n timeout?: number;\n}\n\n/**\n * React Native background-task compatible status payload.\n */\nexport interface ReactNativeBackgroundTaskStatus {\n /**\n * Whether background tasks are available to the app.\n */\n available: boolean;\n\n /**\n * Reason when unavailable.\n */\n unavailableReason?: string;\n}\n\nexport interface GetStatusResult {\n status: BackgroundTaskStatus;\n}\n\nexport interface BooleanResult {\n value: boolean;\n}\n\nexport interface PendingTaskRunsResult {\n tasks: BackgroundTaskEvent[];\n}\n\nexport interface RegisteredTasksResult {\n tasks: string[];\n}\n\nexport interface FinishOptions {\n taskId: string;\n taskName?: string;\n result?: BackgroundTaskResult;\n}\n\nexport interface RegisterTaskOptions {\n taskName: string;\n options?: BackgroundTaskOptions;\n}\n\nexport interface TaskNameOptions {\n taskName: string;\n}\n\nexport interface NativeBackgroundTaskPlugin {\n registerTask(options: RegisterTaskOptions): Promise<void>;\n unregisterTask(options: TaskNameOptions): Promise<void>;\n isTaskRegistered(options: TaskNameOptions): Promise<BooleanResult>;\n getRegisteredTasks(): Promise<RegisteredTasksResult>;\n getPendingTaskRuns(): Promise<PendingTaskRunsResult>;\n getStatus(): Promise<GetStatusResult>;\n triggerTaskWorkerForTesting(): Promise<BooleanResult>;\n finish(options: FinishOptions): Promise<void>;\n addListener(\n eventName: 'backgroundTask',\n listenerFunc: (event: BackgroundTaskEvent) => void,\n ): Promise<PluginListenerHandle>;\n addListener(\n eventName: 'expiration',\n listenerFunc: (event: BackgroundTaskEvent) => void,\n ): Promise<PluginListenerHandle>;\n}\n\nexport interface BackgroundTaskPlugin {\n /**\n * Define the JavaScript callback for a task. Call this at module/global scope.\n */\n defineTask(taskName: string, callback: BackgroundTaskCallback): void;\n\n /**\n * Register a named periodic background task.\n */\n registerTaskAsync(taskName: string, options?: BackgroundTaskOptions): Promise<void>;\n\n /**\n * Unregister a named periodic background task.\n */\n unregisterTaskAsync(taskName: string): Promise<void>;\n\n /**\n * Check whether a named task is registered.\n */\n isTaskRegisteredAsync(taskName: string): Promise<boolean>;\n\n /**\n * Return all registered task names.\n */\n getRegisteredTasksAsync(): Promise<string[]>;\n\n /**\n * Return pending task runs that native recorded before JavaScript was ready.\n */\n getPendingTaskRunsAsync(): Promise<BackgroundTaskEvent[]>;\n\n /**\n * Return native background task availability.\n */\n getStatusAsync(): Promise<BackgroundTaskStatus>;\n\n /**\n * Trigger all registered tasks immediately for development/testing.\n */\n triggerTaskWorkerForTestingAsync(): Promise<boolean>;\n\n /**\n * Listen for iOS expiration callbacks.\n */\n addExpirationListener(listener: (event: BackgroundTaskEvent) => void): Promise<PluginListenerHandle>;\n\n /**\n * React Native background-task compatible single-task define helper.\n */\n define(callback: BackgroundTaskCallback): void;\n\n /**\n * React Native background-task compatible single-task scheduler.\n */\n schedule(options?: ReactNativeBackgroundTaskOptions): Promise<void>;\n\n /**\n * React Native background-task compatible single-task cancel helper.\n */\n cancel(): Promise<void>;\n\n /**\n * React Native background-task compatible status helper.\n */\n statusAsync(): Promise<ReactNativeBackgroundTaskStatus>;\n\n /**\n * React Native background-task compatible finish helper. Normal Expo-style\n * callbacks are finished automatically.\n */\n finish(result?: BackgroundTaskResult): Promise<void>;\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { BackgroundTaskPlugin, NativeBackgroundTaskPlugin } from './definitions';
2
+ declare const NativeBackgroundTask: NativeBackgroundTaskPlugin;
3
+ declare const BackgroundTask: BackgroundTaskPlugin;
4
+ export * from './definitions';
5
+ export { BackgroundTask, NativeBackgroundTask };