@simplysm/capacitor-plugin-broadcast 13.0.75 → 13.0.77
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/README.md +42 -30
- package/android/src/main/java/kr/co/simplysm/capacitor/broadcast/BroadcastPlugin.java +1 -1
- package/dist/Broadcast.d.ts +10 -6
- package/dist/Broadcast.d.ts.map +1 -1
- package/dist/Broadcast.js +16 -10
- package/dist/Broadcast.js.map +1 -1
- package/dist/{IBroadcastPlugin.d.ts → BroadcastPlugin.d.ts} +10 -6
- package/dist/BroadcastPlugin.d.ts.map +1 -0
- package/dist/BroadcastPlugin.js +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/web/BroadcastWeb.d.ts +4 -4
- package/dist/web/BroadcastWeb.d.ts.map +1 -1
- package/dist/web/BroadcastWeb.js.map +1 -1
- package/package.json +1 -1
- package/src/Broadcast.ts +22 -14
- package/src/{IBroadcastPlugin.ts → BroadcastPlugin.ts} +11 -6
- package/src/index.ts +1 -1
- package/src/web/BroadcastWeb.ts +4 -4
- package/dist/IBroadcastPlugin.d.ts.map +0 -1
- package/dist/IBroadcastPlugin.js +0 -1
- /package/dist/{IBroadcastPlugin.js.map → BroadcastPlugin.js.map} +0 -0
package/README.md
CHANGED
|
@@ -35,10 +35,10 @@ const unsub = await Broadcast.subscribe(
|
|
|
35
35
|
await unsub();
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
| Parameter | Type
|
|
39
|
-
| ---------- |
|
|
40
|
-
| `filters` | `string[]`
|
|
41
|
-
| `callback` | `(result:
|
|
38
|
+
| Parameter | Type | Description |
|
|
39
|
+
| ---------- | -------------------------------------- | ----------------------------------------------- |
|
|
40
|
+
| `filters` | `string[]` | List of broadcast action strings to listen for |
|
|
41
|
+
| `callback` | `(result: BroadcastResult) => void` | Called each time a matching broadcast is received |
|
|
42
42
|
|
|
43
43
|
Returns: `Promise<() => Promise<void>>` — an async function that unsubscribes the receiver.
|
|
44
44
|
|
|
@@ -67,10 +67,10 @@ await Broadcast.send({
|
|
|
67
67
|
});
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
| Parameter | Type
|
|
71
|
-
| ---------------- |
|
|
72
|
-
| `options.action` | `string`
|
|
73
|
-
| `options.extras` | `Record<string, unknown>` (optional)
|
|
70
|
+
| Parameter | Type | Description |
|
|
71
|
+
| ---------------- | ------------------------------------- | ------------------------------------ |
|
|
72
|
+
| `options.action` | `string` | The broadcast action string to send |
|
|
73
|
+
| `options.extras` | `Record<string, unknown>` (optional) | Extra data to include in the intent |
|
|
74
74
|
|
|
75
75
|
#### `Broadcast.getLaunchIntent()`
|
|
76
76
|
|
|
@@ -84,16 +84,16 @@ console.log(intent.action);
|
|
|
84
84
|
console.log(intent.extras);
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
Returns: `Promise<
|
|
87
|
+
Returns: `Promise<BroadcastResult>`
|
|
88
88
|
|
|
89
|
-
#### `Broadcast.
|
|
89
|
+
#### `Broadcast.addListener(eventName, callback)`
|
|
90
90
|
|
|
91
91
|
Registers a listener for new intents received while the app is running. Returns a `PluginListenerHandle` which can be released by calling `.remove()`.
|
|
92
92
|
|
|
93
93
|
```ts
|
|
94
94
|
import { Broadcast } from "@simplysm/capacitor-plugin-broadcast";
|
|
95
95
|
|
|
96
|
-
const handle = await Broadcast.
|
|
96
|
+
const handle = await Broadcast.addListener("newIntent", (result) => {
|
|
97
97
|
console.log(result.action);
|
|
98
98
|
console.log(result.extras);
|
|
99
99
|
});
|
|
@@ -102,40 +102,52 @@ const handle = await Broadcast.addNewIntentListener((result) => {
|
|
|
102
102
|
await handle.remove();
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
| Parameter
|
|
106
|
-
|
|
|
107
|
-
| `
|
|
105
|
+
| Parameter | Type | Description |
|
|
106
|
+
| ----------- | -------------------------------------- | ------------------------------------ |
|
|
107
|
+
| `eventName` | `"newIntent"` | The event to listen for |
|
|
108
|
+
| `callback` | `(result: BroadcastResult) => void` | Called when a new intent is received |
|
|
108
109
|
|
|
109
110
|
Returns: `Promise<PluginListenerHandle>`
|
|
110
111
|
|
|
112
|
+
#### `Broadcast.removeAllListeners()`
|
|
113
|
+
|
|
114
|
+
Removes all registered event listeners.
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
import { Broadcast } from "@simplysm/capacitor-plugin-broadcast";
|
|
118
|
+
|
|
119
|
+
await Broadcast.removeAllListeners();
|
|
120
|
+
```
|
|
121
|
+
|
|
111
122
|
## Types
|
|
112
123
|
|
|
113
|
-
### `
|
|
124
|
+
### `BroadcastResult`
|
|
114
125
|
|
|
115
126
|
Represents the data received from a broadcast intent.
|
|
116
127
|
|
|
117
128
|
```ts
|
|
118
|
-
import type {
|
|
129
|
+
import type { BroadcastResult } from "@simplysm/capacitor-plugin-broadcast";
|
|
119
130
|
```
|
|
120
131
|
|
|
121
|
-
| Field
|
|
122
|
-
|
|
|
123
|
-
| `action`
|
|
124
|
-
| `extras`
|
|
132
|
+
| Field | Type | Description |
|
|
133
|
+
| -------- | ------------------------------------- | --------------------- |
|
|
134
|
+
| `action` | `string` (optional) | The broadcast action |
|
|
135
|
+
| `extras` | `Record<string, unknown>` (optional) | Extra intent data |
|
|
125
136
|
|
|
126
|
-
### `
|
|
137
|
+
### `BroadcastPlugin`
|
|
127
138
|
|
|
128
139
|
The low-level Capacitor plugin interface. Use the `Broadcast` class instead of this interface directly.
|
|
129
140
|
|
|
130
141
|
```ts
|
|
131
|
-
import type {
|
|
142
|
+
import type { BroadcastPlugin } from "@simplysm/capacitor-plugin-broadcast";
|
|
132
143
|
```
|
|
133
144
|
|
|
134
|
-
| Method
|
|
135
|
-
|
|
|
136
|
-
| `subscribe`
|
|
137
|
-
| `unsubscribe`
|
|
138
|
-
| `unsubscribeAll`
|
|
139
|
-
| `send`
|
|
140
|
-
| `getLaunchIntent`
|
|
141
|
-
| `addListener`
|
|
145
|
+
| Method | Signature | Description |
|
|
146
|
+
| -------------------- | ---------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
|
|
147
|
+
| `subscribe` | `(options: { filters: string[] }, callback: (result: BroadcastResult) => void) => Promise<{ id: string }>` | Register a broadcast receiver |
|
|
148
|
+
| `unsubscribe` | `(options: { id: string }) => Promise<void>` | Unsubscribe a specific receiver by ID |
|
|
149
|
+
| `unsubscribeAll` | `() => Promise<void>` | Unsubscribe all receivers |
|
|
150
|
+
| `send` | `(options: { action: string; extras?: Record<string, unknown> }) => Promise<void>` | Send a broadcast |
|
|
151
|
+
| `getLaunchIntent` | `() => Promise<BroadcastResult>` | Get the launch intent |
|
|
152
|
+
| `addListener` | `(eventName: "newIntent", listenerFunc: (data: BroadcastResult) => void) => Promise<PluginListenerHandle>` | Listen for new intents while app is running |
|
|
153
|
+
| `removeAllListeners` | `() => Promise<void>` | Remove all event listeners |
|
|
@@ -34,7 +34,7 @@ public class BroadcastPlugin extends Plugin {
|
|
|
34
34
|
@Override
|
|
35
35
|
protected void handleOnNewIntent(Intent intent) {
|
|
36
36
|
super.handleOnNewIntent(intent);
|
|
37
|
-
notifyListeners("
|
|
37
|
+
notifyListeners("newIntent", intentToJson(intent));
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
@PluginMethod(returnType = PluginMethod.RETURN_CALLBACK)
|
package/dist/Broadcast.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PluginListenerHandle } from "@capacitor/core";
|
|
2
|
-
import type {
|
|
2
|
+
import type { BroadcastResult } from "./BroadcastPlugin";
|
|
3
3
|
/**
|
|
4
4
|
* Android Broadcast send/receive plugin
|
|
5
5
|
* - For industrial device integration (barcode scanners, PDAs, etc.)
|
|
@@ -20,7 +20,7 @@ export declare abstract class Broadcast {
|
|
|
20
20
|
* unsub();
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
static subscribe(filters: string[], callback: (result:
|
|
23
|
+
static subscribe(filters: string[], callback: (result: BroadcastResult) => void): Promise<() => Promise<void>>;
|
|
24
24
|
/**
|
|
25
25
|
* Unsubscribe all broadcast receivers
|
|
26
26
|
*/
|
|
@@ -45,11 +45,15 @@ export declare abstract class Broadcast {
|
|
|
45
45
|
/**
|
|
46
46
|
* Get launch intent
|
|
47
47
|
*/
|
|
48
|
-
static getLaunchIntent(): Promise<
|
|
48
|
+
static getLaunchIntent(): Promise<BroadcastResult>;
|
|
49
49
|
/**
|
|
50
|
-
* Register listener for
|
|
51
|
-
* @returns Listener handle (release with remove())
|
|
50
|
+
* Register listener for events
|
|
51
|
+
* @returns Listener handle (release with handle.remove())
|
|
52
52
|
*/
|
|
53
|
-
static
|
|
53
|
+
static addListener(eventName: "newIntent", callback: (result: BroadcastResult) => void): Promise<PluginListenerHandle>;
|
|
54
|
+
/**
|
|
55
|
+
* Remove all event listeners
|
|
56
|
+
*/
|
|
57
|
+
static removeAllListeners(): Promise<void>;
|
|
54
58
|
}
|
|
55
59
|
//# sourceMappingURL=Broadcast.d.ts.map
|
package/dist/Broadcast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Broadcast.d.ts","sourceRoot":"","sources":["../src/Broadcast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Broadcast.d.ts","sourceRoot":"","sources":["../src/Broadcast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAS1E;;;GAGG;AACH,8BAAsB,SAAS;IAC7B;;;;;;;;;;;;;;OAcG;WACU,SAAS,CACpB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAC1C,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAY/B;;OAEG;WACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;;;;;;;;;;OAYG;WACU,IAAI,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/F;;OAEG;WACU,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;IAIxD;;;OAGG;WACU,WAAW,CACtB,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAC1C,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;OAEG;WACU,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjD"}
|
package/dist/Broadcast.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { registerPlugin } from "@capacitor/core";
|
|
2
|
-
const
|
|
2
|
+
const broadcastPlugin = registerPlugin("Broadcast", {
|
|
3
3
|
web: async () => {
|
|
4
4
|
const { BroadcastWeb } = await import("./web/BroadcastWeb");
|
|
5
5
|
return new BroadcastWeb();
|
|
@@ -22,20 +22,20 @@ class Broadcast {
|
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
static async subscribe(filters, callback) {
|
|
25
|
-
const { id } = await
|
|
25
|
+
const { id } = await broadcastPlugin.subscribe({ filters }, (result) => {
|
|
26
26
|
if (result.action != null) {
|
|
27
27
|
callback(result);
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
return async () => {
|
|
31
|
-
await
|
|
31
|
+
await broadcastPlugin.unsubscribe({ id });
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Unsubscribe all broadcast receivers
|
|
36
36
|
*/
|
|
37
37
|
static async unsubscribeAll() {
|
|
38
|
-
await
|
|
38
|
+
await broadcastPlugin.unsubscribeAll();
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* Send broadcast
|
|
@@ -51,20 +51,26 @@ class Broadcast {
|
|
|
51
51
|
* ```
|
|
52
52
|
*/
|
|
53
53
|
static async send(options) {
|
|
54
|
-
await
|
|
54
|
+
await broadcastPlugin.send(options);
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* Get launch intent
|
|
58
58
|
*/
|
|
59
59
|
static async getLaunchIntent() {
|
|
60
|
-
return
|
|
60
|
+
return broadcastPlugin.getLaunchIntent();
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
|
-
* Register listener for
|
|
64
|
-
* @returns Listener handle (release with remove())
|
|
63
|
+
* Register listener for events
|
|
64
|
+
* @returns Listener handle (release with handle.remove())
|
|
65
65
|
*/
|
|
66
|
-
static async
|
|
67
|
-
return
|
|
66
|
+
static async addListener(eventName, callback) {
|
|
67
|
+
return broadcastPlugin.addListener(eventName, callback);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Remove all event listeners
|
|
71
|
+
*/
|
|
72
|
+
static async removeAllListeners() {
|
|
73
|
+
await broadcastPlugin.removeAllListeners();
|
|
68
74
|
}
|
|
69
75
|
}
|
|
70
76
|
export {
|
package/dist/Broadcast.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/Broadcast.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,sBAAsB;AAI/B,MAAM,kBAAkB,
|
|
4
|
+
"mappings": "AAAA,SAAS,sBAAsB;AAI/B,MAAM,kBAAkB,eAAgC,aAAa;AAAA,EACnE,KAAK,YAAY;AACf,UAAM,EAAE,aAAa,IAAI,MAAM,OAAO,oBAAoB;AAC1D,WAAO,IAAI,aAAa;AAAA,EAC1B;AACF,CAAC;AAMM,MAAe,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgB9B,aAAa,UACX,SACA,UAC8B;AAC9B,UAAM,EAAE,GAAG,IAAI,MAAM,gBAAgB,UAAU,EAAE,QAAQ,GAAG,CAAC,WAAW;AAEtE,UAAI,OAAO,UAAU,MAAM;AACzB,iBAAS,MAAM;AAAA,MACjB;AAAA,IACF,CAAC;AACD,WAAO,YAAY;AACjB,YAAM,gBAAgB,YAAY,EAAE,GAAG,CAAC;AAAA,IAC1C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,iBAAgC;AAC3C,UAAM,gBAAgB,eAAe;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,aAAa,KAAK,SAA8E;AAC9F,UAAM,gBAAgB,KAAK,OAAO;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,kBAA4C;AACvD,WAAO,gBAAgB,gBAAgB;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa,YACX,WACA,UAC+B;AAC/B,WAAO,gBAAgB,YAAY,WAAW,QAAQ;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,qBAAoC;AAC/C,UAAM,gBAAgB,mBAAmB;AAAA,EAC3C;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import type { PluginListenerHandle } from "@capacitor/core";
|
|
2
|
-
export interface
|
|
2
|
+
export interface BroadcastResult {
|
|
3
3
|
/** Broadcast action */
|
|
4
4
|
action?: string;
|
|
5
5
|
/** Extra data */
|
|
6
6
|
extras?: Record<string, unknown>;
|
|
7
7
|
}
|
|
8
|
-
export interface
|
|
8
|
+
export interface BroadcastPlugin {
|
|
9
9
|
/**
|
|
10
10
|
* Register broadcast receiver
|
|
11
11
|
*/
|
|
12
12
|
subscribe(options: {
|
|
13
13
|
filters: string[];
|
|
14
|
-
}, callback: (result:
|
|
14
|
+
}, callback: (result: BroadcastResult) => void): Promise<{
|
|
15
15
|
id: string;
|
|
16
16
|
}>;
|
|
17
17
|
/**
|
|
@@ -34,10 +34,14 @@ export interface IBroadcastPlugin {
|
|
|
34
34
|
/**
|
|
35
35
|
* Get launch intent
|
|
36
36
|
*/
|
|
37
|
-
getLaunchIntent(): Promise<
|
|
37
|
+
getLaunchIntent(): Promise<BroadcastResult>;
|
|
38
38
|
/**
|
|
39
39
|
* Register listener for new intents received while app is running
|
|
40
40
|
*/
|
|
41
|
-
addListener(eventName: "
|
|
41
|
+
addListener(eventName: "newIntent", listenerFunc: (data: BroadcastResult) => void): Promise<PluginListenerHandle>;
|
|
42
|
+
/**
|
|
43
|
+
* Remove all event listeners
|
|
44
|
+
*/
|
|
45
|
+
removeAllListeners(): Promise<void>;
|
|
42
46
|
}
|
|
43
|
-
//# sourceMappingURL=
|
|
47
|
+
//# sourceMappingURL=BroadcastPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BroadcastPlugin.d.ts","sourceRoot":"","sources":["../src/BroadcastPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,SAAS,CACP,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAC1C,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE3B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;OAEG;IACH,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5C;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,WAAW,EACtB,YAAY,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,GAC5C,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=BroadcastPlugin.js.map
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { WebPlugin } from "@capacitor/core";
|
|
2
|
-
import type {
|
|
3
|
-
export declare class BroadcastWeb extends WebPlugin implements
|
|
2
|
+
import type { BroadcastPlugin, BroadcastResult } from "../BroadcastPlugin";
|
|
3
|
+
export declare class BroadcastWeb extends WebPlugin implements BroadcastPlugin {
|
|
4
4
|
private static readonly _warn;
|
|
5
5
|
subscribe(_options: {
|
|
6
6
|
filters: string[];
|
|
7
|
-
}, _callback: (result:
|
|
7
|
+
}, _callback: (result: BroadcastResult) => void): Promise<{
|
|
8
8
|
id: string;
|
|
9
9
|
}>;
|
|
10
10
|
unsubscribe(_options: {
|
|
@@ -15,6 +15,6 @@ export declare class BroadcastWeb extends WebPlugin implements IBroadcastPlugin
|
|
|
15
15
|
action: string;
|
|
16
16
|
extras?: Record<string, unknown>;
|
|
17
17
|
}): Promise<void>;
|
|
18
|
-
getLaunchIntent(): Promise<
|
|
18
|
+
getLaunchIntent(): Promise<BroadcastResult>;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=BroadcastWeb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BroadcastWeb.d.ts","sourceRoot":"","sources":["../../src/web/BroadcastWeb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"BroadcastWeb.d.ts","sourceRoot":"","sources":["../../src/web/BroadcastWeb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE3E,qBAAa,YAAa,SAAQ,SAAU,YAAW,eAAe;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAEgD;IAE7E,SAAS,CACP,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAC/B,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAC3C,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAKpB,WAAW,CAAC,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,IAAI,CAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnF,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;CAG5C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/web/BroadcastWeb.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,iBAAiB;AAGnB,MAAM,qBAAqB,
|
|
4
|
+
"mappings": "AAAA,SAAS,iBAAiB;AAGnB,MAAM,qBAAqB,UAAqC;AAAA,EACrE,OAAwB,QAAQ;AAAA;AAAA,IAE9B,QAAQ,KAAK,4DAA4D;AAAA;AAAA,EAE3E,UACE,UACA,WACyB;AACzB,iBAAa,MAAM;AACnB,WAAO,QAAQ,QAAQ,EAAE,IAAI,WAAW,CAAC;AAAA,EAC3C;AAAA,EAEA,MAAM,YAAY,UAAyC;AAAA,EAE3D;AAAA,EAEA,MAAM,iBAAgC;AAAA,EAEtC;AAAA,EAEA,KAAK,UAA+E;AAClF,iBAAa,MAAM;AACnB,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,kBAA4C;AAC1C,WAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,EAC3B;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
package/src/Broadcast.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { registerPlugin } from "@capacitor/core";
|
|
2
2
|
import type { PluginListenerHandle } from "@capacitor/core";
|
|
3
|
-
import type {
|
|
3
|
+
import type { BroadcastPlugin, BroadcastResult } from "./BroadcastPlugin";
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const broadcastPlugin = registerPlugin<BroadcastPlugin>("Broadcast", {
|
|
6
6
|
web: async () => {
|
|
7
7
|
const { BroadcastWeb } = await import("./web/BroadcastWeb");
|
|
8
8
|
return new BroadcastWeb();
|
|
@@ -31,16 +31,16 @@ export abstract class Broadcast {
|
|
|
31
31
|
*/
|
|
32
32
|
static async subscribe(
|
|
33
33
|
filters: string[],
|
|
34
|
-
callback: (result:
|
|
34
|
+
callback: (result: BroadcastResult) => void,
|
|
35
35
|
): Promise<() => Promise<void>> {
|
|
36
|
-
const { id } = await
|
|
36
|
+
const { id } = await broadcastPlugin.subscribe({ filters }, (result) => {
|
|
37
37
|
// Filter out the initial resolve that only contains { id }
|
|
38
38
|
if (result.action != null) {
|
|
39
39
|
callback(result);
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
return async () => {
|
|
43
|
-
await
|
|
43
|
+
await broadcastPlugin.unsubscribe({ id });
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
|
|
@@ -48,7 +48,7 @@ export abstract class Broadcast {
|
|
|
48
48
|
* Unsubscribe all broadcast receivers
|
|
49
49
|
*/
|
|
50
50
|
static async unsubscribeAll(): Promise<void> {
|
|
51
|
-
await
|
|
51
|
+
await broadcastPlugin.unsubscribeAll();
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
/**
|
|
@@ -65,23 +65,31 @@ export abstract class Broadcast {
|
|
|
65
65
|
* ```
|
|
66
66
|
*/
|
|
67
67
|
static async send(options: { action: string; extras?: Record<string, unknown> }): Promise<void> {
|
|
68
|
-
await
|
|
68
|
+
await broadcastPlugin.send(options);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* Get launch intent
|
|
73
73
|
*/
|
|
74
|
-
static async getLaunchIntent(): Promise<
|
|
75
|
-
return
|
|
74
|
+
static async getLaunchIntent(): Promise<BroadcastResult> {
|
|
75
|
+
return broadcastPlugin.getLaunchIntent();
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
|
-
* Register listener for
|
|
80
|
-
* @returns Listener handle (release with remove())
|
|
79
|
+
* Register listener for events
|
|
80
|
+
* @returns Listener handle (release with handle.remove())
|
|
81
81
|
*/
|
|
82
|
-
static async
|
|
83
|
-
|
|
82
|
+
static async addListener(
|
|
83
|
+
eventName: "newIntent",
|
|
84
|
+
callback: (result: BroadcastResult) => void,
|
|
84
85
|
): Promise<PluginListenerHandle> {
|
|
85
|
-
return
|
|
86
|
+
return broadcastPlugin.addListener(eventName, callback);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Remove all event listeners
|
|
91
|
+
*/
|
|
92
|
+
static async removeAllListeners(): Promise<void> {
|
|
93
|
+
await broadcastPlugin.removeAllListeners();
|
|
86
94
|
}
|
|
87
95
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { PluginListenerHandle } from "@capacitor/core";
|
|
2
2
|
|
|
3
|
-
export interface
|
|
3
|
+
export interface BroadcastResult {
|
|
4
4
|
/** Broadcast action */
|
|
5
5
|
action?: string;
|
|
6
6
|
/** Extra data */
|
|
7
7
|
extras?: Record<string, unknown>;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
export interface
|
|
10
|
+
export interface BroadcastPlugin {
|
|
11
11
|
/**
|
|
12
12
|
* Register broadcast receiver
|
|
13
13
|
*/
|
|
14
14
|
subscribe(
|
|
15
15
|
options: { filters: string[] },
|
|
16
|
-
callback: (result:
|
|
16
|
+
callback: (result: BroadcastResult) => void,
|
|
17
17
|
): Promise<{ id: string }>;
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -34,13 +34,18 @@ export interface IBroadcastPlugin {
|
|
|
34
34
|
/**
|
|
35
35
|
* Get launch intent
|
|
36
36
|
*/
|
|
37
|
-
getLaunchIntent(): Promise<
|
|
37
|
+
getLaunchIntent(): Promise<BroadcastResult>;
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
40
|
* Register listener for new intents received while app is running
|
|
41
41
|
*/
|
|
42
42
|
addListener(
|
|
43
|
-
eventName: "
|
|
44
|
-
listenerFunc: (data:
|
|
43
|
+
eventName: "newIntent",
|
|
44
|
+
listenerFunc: (data: BroadcastResult) => void,
|
|
45
45
|
): Promise<PluginListenerHandle>;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Remove all event listeners
|
|
49
|
+
*/
|
|
50
|
+
removeAllListeners(): Promise<void>;
|
|
46
51
|
}
|
package/src/index.ts
CHANGED
package/src/web/BroadcastWeb.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { WebPlugin } from "@capacitor/core";
|
|
2
|
-
import type {
|
|
2
|
+
import type { BroadcastPlugin, BroadcastResult } from "../BroadcastPlugin";
|
|
3
3
|
|
|
4
|
-
export class BroadcastWeb extends WebPlugin implements
|
|
4
|
+
export class BroadcastWeb extends WebPlugin implements BroadcastPlugin {
|
|
5
5
|
private static readonly _warn = () =>
|
|
6
6
|
// eslint-disable-next-line no-console
|
|
7
7
|
console.warn("[Broadcast] Broadcast is not supported in web environment.");
|
|
8
8
|
|
|
9
9
|
subscribe(
|
|
10
10
|
_options: { filters: string[] },
|
|
11
|
-
_callback: (result:
|
|
11
|
+
_callback: (result: BroadcastResult) => void,
|
|
12
12
|
): Promise<{ id: string }> {
|
|
13
13
|
BroadcastWeb._warn();
|
|
14
14
|
return Promise.resolve({ id: "web-stub" });
|
|
@@ -27,7 +27,7 @@ export class BroadcastWeb extends WebPlugin implements IBroadcastPlugin {
|
|
|
27
27
|
return Promise.resolve();
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
getLaunchIntent(): Promise<
|
|
30
|
+
getLaunchIntent(): Promise<BroadcastResult> {
|
|
31
31
|
return Promise.resolve({});
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IBroadcastPlugin.d.ts","sourceRoot":"","sources":["../src/IBroadcastPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,SAAS,CACP,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAC3C,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE3B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;OAEG;IACH,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7C;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,aAAa,EACxB,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,GAC7C,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClC"}
|
package/dist/IBroadcastPlugin.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=IBroadcastPlugin.js.map
|
|
File without changes
|