@flighthq/host-capacitor 0.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.
Files changed (74) hide show
  1. package/dist/capacitorApp.d.ts +4 -0
  2. package/dist/capacitorApp.d.ts.map +1 -0
  3. package/dist/capacitorApp.js +172 -0
  4. package/dist/capacitorApp.js.map +1 -0
  5. package/dist/capacitorClipboard.d.ts +4 -0
  6. package/dist/capacitorClipboard.d.ts.map +1 -0
  7. package/dist/capacitorClipboard.js +127 -0
  8. package/dist/capacitorClipboard.js.map +1 -0
  9. package/dist/capacitorConnectivity.d.ts +4 -0
  10. package/dist/capacitorConnectivity.d.ts.map +1 -0
  11. package/dist/capacitorConnectivity.js +69 -0
  12. package/dist/capacitorConnectivity.js.map +1 -0
  13. package/dist/capacitorDevice.d.ts +4 -0
  14. package/dist/capacitorDevice.d.ts.map +1 -0
  15. package/dist/capacitorDevice.js +100 -0
  16. package/dist/capacitorDevice.js.map +1 -0
  17. package/dist/capacitorDialog.d.ts +4 -0
  18. package/dist/capacitorDialog.d.ts.map +1 -0
  19. package/dist/capacitorDialog.js +39 -0
  20. package/dist/capacitorDialog.js.map +1 -0
  21. package/dist/capacitorFileSystem.d.ts +4 -0
  22. package/dist/capacitorFileSystem.d.ts.map +1 -0
  23. package/dist/capacitorFileSystem.js +216 -0
  24. package/dist/capacitorFileSystem.js.map +1 -0
  25. package/dist/capacitorGeolocation.d.ts +4 -0
  26. package/dist/capacitorGeolocation.d.ts.map +1 -0
  27. package/dist/capacitorGeolocation.js +104 -0
  28. package/dist/capacitorGeolocation.js.map +1 -0
  29. package/dist/capacitorHaptics.d.ts +4 -0
  30. package/dist/capacitorHaptics.d.ts.map +1 -0
  31. package/dist/capacitorHaptics.js +56 -0
  32. package/dist/capacitorHaptics.js.map +1 -0
  33. package/dist/capacitorKeyboard.d.ts +4 -0
  34. package/dist/capacitorKeyboard.d.ts.map +1 -0
  35. package/dist/capacitorKeyboard.js +89 -0
  36. package/dist/capacitorKeyboard.js.map +1 -0
  37. package/dist/capacitorModule.d.ts +310 -0
  38. package/dist/capacitorModule.d.ts.map +1 -0
  39. package/dist/capacitorModule.js +31 -0
  40. package/dist/capacitorModule.js.map +1 -0
  41. package/dist/capacitorNotification.d.ts +4 -0
  42. package/dist/capacitorNotification.d.ts.map +1 -0
  43. package/dist/capacitorNotification.js +172 -0
  44. package/dist/capacitorNotification.js.map +1 -0
  45. package/dist/capacitorRegister.d.ts +3 -0
  46. package/dist/capacitorRegister.d.ts.map +1 -0
  47. package/dist/capacitorRegister.js +52 -0
  48. package/dist/capacitorRegister.js.map +1 -0
  49. package/dist/capacitorShare.d.ts +4 -0
  50. package/dist/capacitorShare.d.ts.map +1 -0
  51. package/dist/capacitorShare.js +66 -0
  52. package/dist/capacitorShare.js.map +1 -0
  53. package/dist/capacitorStatusBar.d.ts +4 -0
  54. package/dist/capacitorStatusBar.d.ts.map +1 -0
  55. package/dist/capacitorStatusBar.js +80 -0
  56. package/dist/capacitorStatusBar.js.map +1 -0
  57. package/dist/index.d.ts +15 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +15 -0
  60. package/dist/index.js.map +1 -0
  61. package/package.json +49 -0
  62. package/src/capacitorApp.test.ts +81 -0
  63. package/src/capacitorClipboard.test.ts +71 -0
  64. package/src/capacitorConnectivity.test.ts +64 -0
  65. package/src/capacitorDevice.test.ts +99 -0
  66. package/src/capacitorDialog.test.ts +50 -0
  67. package/src/capacitorFileSystem.test.ts +88 -0
  68. package/src/capacitorGeolocation.test.ts +75 -0
  69. package/src/capacitorHaptics.test.ts +75 -0
  70. package/src/capacitorKeyboard.test.ts +89 -0
  71. package/src/capacitorNotification.test.ts +95 -0
  72. package/src/capacitorRegister.test.ts +104 -0
  73. package/src/capacitorShare.test.ts +68 -0
  74. package/src/capacitorStatusBar.test.ts +66 -0
@@ -0,0 +1,310 @@
1
+ export interface CapacitorApi {
2
+ app: CapacitorAppPlugin;
3
+ clipboard: CapacitorClipboardPlugin;
4
+ device: CapacitorDevicePlugin;
5
+ dialog: CapacitorDialogPlugin;
6
+ filesystem: CapacitorFilesystemPlugin;
7
+ geolocation: CapacitorGeolocationPlugin;
8
+ haptics: CapacitorHapticsPlugin;
9
+ keyboard: CapacitorKeyboardPlugin;
10
+ localNotifications: CapacitorLocalNotificationsPlugin;
11
+ network: CapacitorNetworkPlugin;
12
+ share: CapacitorSharePlugin;
13
+ statusBar: CapacitorStatusBarPlugin;
14
+ }
15
+ export interface CapacitorPluginListenerHandle {
16
+ remove(): Promise<void>;
17
+ }
18
+ export interface CapacitorAppPlugin {
19
+ addListener(eventName: 'appStateChange', listener: (state: Readonly<{
20
+ isActive: boolean;
21
+ }>) => void): Promise<CapacitorPluginListenerHandle>;
22
+ addListener(eventName: 'appUrlOpen', listener: (event: Readonly<{
23
+ url: string;
24
+ }>) => void): Promise<CapacitorPluginListenerHandle>;
25
+ exitApp(): Promise<void>;
26
+ getInfo(): Promise<CapacitorAppInfo>;
27
+ minimizeApp(): Promise<void>;
28
+ }
29
+ export interface CapacitorAppInfo {
30
+ build: string;
31
+ id: string;
32
+ name: string;
33
+ version: string;
34
+ }
35
+ export interface CapacitorClipboardPlugin {
36
+ read(): Promise<CapacitorClipboardReadResult>;
37
+ write(options: Readonly<CapacitorClipboardWriteOptions>): Promise<void>;
38
+ }
39
+ export interface CapacitorClipboardReadResult {
40
+ type: string;
41
+ value: string;
42
+ }
43
+ export interface CapacitorClipboardWriteOptions {
44
+ image?: string;
45
+ label?: string;
46
+ string?: string;
47
+ url?: string;
48
+ }
49
+ export interface CapacitorDevicePlugin {
50
+ getId(): Promise<CapacitorDeviceId>;
51
+ getInfo(): Promise<CapacitorDeviceInfo>;
52
+ }
53
+ export interface CapacitorDeviceId {
54
+ identifier: string;
55
+ }
56
+ export interface CapacitorDeviceInfo {
57
+ isVirtual: boolean;
58
+ manufacturer: string;
59
+ model: string;
60
+ name?: string;
61
+ operatingSystem: string;
62
+ osVersion: string;
63
+ platform: string;
64
+ webViewVersion: string;
65
+ }
66
+ export interface CapacitorDialogPlugin {
67
+ alert(options: Readonly<CapacitorDialogAlertOptions>): Promise<void>;
68
+ confirm(options: Readonly<CapacitorDialogConfirmOptions>): Promise<CapacitorDialogConfirmResult>;
69
+ prompt(options: Readonly<CapacitorDialogPromptOptions>): Promise<CapacitorDialogPromptResult>;
70
+ }
71
+ export interface CapacitorDialogAlertOptions {
72
+ buttonTitle?: string;
73
+ message: string;
74
+ title?: string;
75
+ }
76
+ export interface CapacitorDialogConfirmOptions {
77
+ cancelButtonTitle?: string;
78
+ message: string;
79
+ okButtonTitle?: string;
80
+ title?: string;
81
+ }
82
+ export interface CapacitorDialogConfirmResult {
83
+ value: boolean;
84
+ }
85
+ export interface CapacitorDialogPromptOptions {
86
+ cancelButtonTitle?: string;
87
+ inputPlaceholder?: string;
88
+ inputText?: string;
89
+ message: string;
90
+ okButtonTitle?: string;
91
+ title?: string;
92
+ }
93
+ export interface CapacitorDialogPromptResult {
94
+ cancelled: boolean;
95
+ value: string;
96
+ }
97
+ export interface CapacitorFilesystemPlugin {
98
+ appendFile(options: Readonly<CapacitorFilesystemWriteOptions>): Promise<void>;
99
+ copy(options: Readonly<CapacitorFilesystemCopyOptions>): Promise<void>;
100
+ deleteFile(options: Readonly<CapacitorFilesystemPathOptions>): Promise<void>;
101
+ mkdir(options: Readonly<CapacitorFilesystemMkdirOptions>): Promise<void>;
102
+ readFile(options: Readonly<CapacitorFilesystemReadOptions>): Promise<CapacitorFilesystemReadResult>;
103
+ readdir(options: Readonly<CapacitorFilesystemPathOptions>): Promise<CapacitorFilesystemReaddirResult>;
104
+ rename(options: Readonly<CapacitorFilesystemCopyOptions>): Promise<void>;
105
+ rmdir(options: Readonly<CapacitorFilesystemRmdirOptions>): Promise<void>;
106
+ stat(options: Readonly<CapacitorFilesystemPathOptions>): Promise<CapacitorFilesystemStatResult>;
107
+ writeFile(options: Readonly<CapacitorFilesystemWriteOptions>): Promise<CapacitorFilesystemWriteResult>;
108
+ }
109
+ export interface CapacitorFilesystemPathOptions {
110
+ path: string;
111
+ }
112
+ export interface CapacitorFilesystemReadOptions {
113
+ encoding?: string;
114
+ path: string;
115
+ }
116
+ export interface CapacitorFilesystemReadResult {
117
+ data: string;
118
+ }
119
+ export interface CapacitorFilesystemWriteOptions {
120
+ data: string;
121
+ encoding?: string;
122
+ path: string;
123
+ recursive?: boolean;
124
+ }
125
+ export interface CapacitorFilesystemWriteResult {
126
+ uri: string;
127
+ }
128
+ export interface CapacitorFilesystemCopyOptions {
129
+ from: string;
130
+ to: string;
131
+ }
132
+ export interface CapacitorFilesystemMkdirOptions {
133
+ path: string;
134
+ recursive?: boolean;
135
+ }
136
+ export interface CapacitorFilesystemRmdirOptions {
137
+ path: string;
138
+ recursive?: boolean;
139
+ }
140
+ export interface CapacitorFilesystemReaddirResult {
141
+ files: CapacitorFileInfo[];
142
+ }
143
+ export interface CapacitorFileInfo {
144
+ ctime?: number;
145
+ mtime: number;
146
+ name: string;
147
+ size: number;
148
+ type: string;
149
+ uri: string;
150
+ }
151
+ export interface CapacitorFilesystemStatResult {
152
+ ctime?: number;
153
+ mtime: number;
154
+ size: number;
155
+ type: string;
156
+ uri: string;
157
+ }
158
+ export interface CapacitorGeolocationPlugin {
159
+ checkPermissions(): Promise<CapacitorGeolocationPermissionStatus>;
160
+ clearWatch(options: Readonly<{
161
+ id: string;
162
+ }>): Promise<void>;
163
+ getCurrentPosition(options?: Readonly<CapacitorGeolocationOptions>): Promise<CapacitorPosition>;
164
+ requestPermissions(options?: Readonly<CapacitorGeolocationPermissionOptions>): Promise<CapacitorGeolocationPermissionStatus>;
165
+ watchPosition(options: Readonly<CapacitorGeolocationOptions>, callback: (position: CapacitorPosition | null, err?: unknown) => void): Promise<string>;
166
+ }
167
+ export interface CapacitorGeolocationOptions {
168
+ enableHighAccuracy?: boolean;
169
+ maximumAge?: number;
170
+ timeout?: number;
171
+ }
172
+ export interface CapacitorGeolocationPermissionOptions {
173
+ permissions?: string[];
174
+ }
175
+ export interface CapacitorGeolocationPermissionStatus {
176
+ coarseLocation?: string;
177
+ location: string;
178
+ }
179
+ export interface CapacitorPosition {
180
+ coords: CapacitorPositionCoords;
181
+ timestamp: number;
182
+ }
183
+ export interface CapacitorPositionCoords {
184
+ accuracy: number;
185
+ altitude: number | null;
186
+ altitudeAccuracy: number | null;
187
+ heading: number | null;
188
+ latitude: number;
189
+ longitude: number;
190
+ speed: number | null;
191
+ }
192
+ export interface CapacitorHapticsPlugin {
193
+ impact(options: Readonly<{
194
+ style: string;
195
+ }>): Promise<void>;
196
+ notification(options: Readonly<{
197
+ type: string;
198
+ }>): Promise<void>;
199
+ selectionChanged(): Promise<void>;
200
+ selectionEnd(): Promise<void>;
201
+ selectionStart(): Promise<void>;
202
+ vibrate(options: Readonly<{
203
+ duration?: number;
204
+ }>): Promise<void>;
205
+ }
206
+ export interface CapacitorKeyboardPlugin {
207
+ addListener(eventName: 'keyboardWillShow' | 'keyboardDidShow', listener: (info: Readonly<{
208
+ keyboardHeight: number;
209
+ }>) => void): Promise<CapacitorPluginListenerHandle>;
210
+ addListener(eventName: 'keyboardWillHide' | 'keyboardDidHide', listener: () => void): Promise<CapacitorPluginListenerHandle>;
211
+ hide(): Promise<void>;
212
+ setAccessoryBarVisible(options: Readonly<{
213
+ isVisible: boolean;
214
+ }>): Promise<void>;
215
+ setResizeMode(options: Readonly<{
216
+ mode: string;
217
+ }>): Promise<void>;
218
+ setScroll(options: Readonly<{
219
+ isDisabled: boolean;
220
+ }>): Promise<void>;
221
+ setStyle(options: Readonly<{
222
+ style: string;
223
+ }>): Promise<void>;
224
+ show(): Promise<void>;
225
+ }
226
+ export interface CapacitorLocalNotificationsPlugin {
227
+ addListener(eventName: 'localNotificationActionPerformed', listener: (action: Readonly<CapacitorLocalNotificationAction>) => void): Promise<CapacitorPluginListenerHandle>;
228
+ cancel(options: Readonly<{
229
+ notifications: ReadonlyArray<{
230
+ id: number;
231
+ }>;
232
+ }>): Promise<void>;
233
+ checkPermissions(): Promise<CapacitorLocalNotificationsPermission>;
234
+ getPending(): Promise<CapacitorLocalNotificationsPending>;
235
+ requestPermissions(): Promise<CapacitorLocalNotificationsPermission>;
236
+ schedule(options: Readonly<{
237
+ notifications: ReadonlyArray<CapacitorLocalNotificationSchema>;
238
+ }>): Promise<CapacitorLocalNotificationsScheduleResult>;
239
+ }
240
+ export interface CapacitorLocalNotificationSchema {
241
+ body?: string;
242
+ id: number;
243
+ schedule?: {
244
+ at?: Date;
245
+ };
246
+ title: string;
247
+ }
248
+ export interface CapacitorLocalNotificationsScheduleResult {
249
+ notifications: Array<{
250
+ id: number;
251
+ }>;
252
+ }
253
+ export interface CapacitorLocalNotificationsPending {
254
+ notifications: CapacitorLocalNotificationSchema[];
255
+ }
256
+ export interface CapacitorLocalNotificationsPermission {
257
+ display: string;
258
+ }
259
+ export interface CapacitorLocalNotificationAction {
260
+ actionId: string;
261
+ notification: {
262
+ id: number;
263
+ };
264
+ }
265
+ export interface CapacitorNetworkPlugin {
266
+ addListener(eventName: 'networkStatusChange', listener: (status: Readonly<CapacitorConnectionStatus>) => void): Promise<CapacitorPluginListenerHandle>;
267
+ getStatus(): Promise<CapacitorConnectionStatus>;
268
+ }
269
+ export interface CapacitorConnectionStatus {
270
+ connected: boolean;
271
+ connectionType: string;
272
+ }
273
+ export interface CapacitorSharePlugin {
274
+ canShare(): Promise<CapacitorShareCanResult>;
275
+ share(options: Readonly<CapacitorShareOptions>): Promise<CapacitorShareResult>;
276
+ }
277
+ export interface CapacitorShareOptions {
278
+ dialogTitle?: string;
279
+ files?: string[];
280
+ text?: string;
281
+ title?: string;
282
+ url?: string;
283
+ }
284
+ export interface CapacitorShareCanResult {
285
+ value: boolean;
286
+ }
287
+ export interface CapacitorShareResult {
288
+ activityType?: string;
289
+ }
290
+ export interface CapacitorStatusBarPlugin {
291
+ getInfo(): Promise<CapacitorStatusBarInfoResult>;
292
+ hide(): Promise<void>;
293
+ setBackgroundColor(options: Readonly<{
294
+ color: string;
295
+ }>): Promise<void>;
296
+ setOverlaysWebView(options: Readonly<{
297
+ overlay: boolean;
298
+ }>): Promise<void>;
299
+ setStyle(options: Readonly<{
300
+ style: string;
301
+ }>): Promise<void>;
302
+ show(): Promise<void>;
303
+ }
304
+ export interface CapacitorStatusBarInfoResult {
305
+ color?: string;
306
+ overlays?: boolean;
307
+ style: string;
308
+ visible: boolean;
309
+ }
310
+ //# sourceMappingURL=capacitorModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capacitorModule.d.ts","sourceRoot":"","sources":["../src/capacitorModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ // The precise slice of the Capacitor JavaScript plugin API — `@capacitor/core` plus the official
2
+ // plugins — that Flight's host backends call. The real Capacitor plugin objects satisfy this
3
+ // structurally, so a consumer aggregates them and passes the object directly:
4
+ //
5
+ // import { App } from '@capacitor/app';
6
+ // import { Clipboard } from '@capacitor/clipboard';
7
+ // import { Device } from '@capacitor/device';
8
+ // import { Dialog } from '@capacitor/dialog';
9
+ // import { Filesystem } from '@capacitor/filesystem';
10
+ // import { Geolocation } from '@capacitor/geolocation';
11
+ // import { Haptics } from '@capacitor/haptics';
12
+ // import { Keyboard } from '@capacitor/keyboard';
13
+ // import { LocalNotifications } from '@capacitor/local-notifications';
14
+ // import { Network } from '@capacitor/network';
15
+ // import { Share } from '@capacitor/share';
16
+ // import { StatusBar } from '@capacitor/status-bar';
17
+ // registerCapacitorBackends({ app: App, clipboard: Clipboard, device: Device, dialog: Dialog,
18
+ // filesystem: Filesystem, geolocation: Geolocation, haptics: Haptics, keyboard: Keyboard,
19
+ // localNotifications: LocalNotifications, network: Network, share: Share, statusBar: StatusBar });
20
+ //
21
+ // Typing it here (rather than importing `@capacitor/*`) keeps this package dependency-free and unit
22
+ // testable with a fake — and documents exactly which Capacitor surface the seams require, which is the
23
+ // real coupling between Flight and a Capacitor host. Members are intentionally minimal; widen only when
24
+ // a backend needs more. Note the wide async/sync gap: every Capacitor plugin call is Promise-based,
25
+ // while several Flight seams (device/statusbar/connectivity snapshot getters, keyboard info) are
26
+ // synchronous. Those adapters prefetch-and-cache (and, where the value is live, subscribe to keep the
27
+ // cache fresh) — see each adapter for the exact contract. `@capacitor/preferences` is deliberately
28
+ // absent: `StorageBackend` is synchronous but Preferences is async, an unbridgeable mismatch, so the
29
+ // storage seam keeps its web default rather than being adapted (see registerCapacitorBackends).
30
+ export {};
31
+ //# sourceMappingURL=capacitorModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capacitorModule.js","sourceRoot":"","sources":["../src/capacitorModule.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,6FAA6F;AAC7F,8EAA8E;AAC9E,EAAE;AACF,0CAA0C;AAC1C,sDAAsD;AACtD,gDAAgD;AAChD,gDAAgD;AAChD,wDAAwD;AACxD,0DAA0D;AAC1D,kDAAkD;AAClD,oDAAoD;AACpD,yEAAyE;AACzE,kDAAkD;AAClD,8CAA8C;AAC9C,uDAAuD;AACvD,gGAAgG;AAChG,8FAA8F;AAC9F,uGAAuG;AACvG,EAAE;AACF,oGAAoG;AACpG,uGAAuG;AACvG,wGAAwG;AACxG,oGAAoG;AACpG,iGAAiG;AACjG,sGAAsG;AACtG,mGAAmG;AACnG,qGAAqG;AACrG,gGAAgG"}
@@ -0,0 +1,4 @@
1
+ import type { NotificationBackend } from '@flighthq/types';
2
+ import type { CapacitorApi } from './capacitorModule';
3
+ export declare function createCapacitorNotificationBackend(capacitor: CapacitorApi): NotificationBackend;
4
+ //# sourceMappingURL=capacitorNotification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capacitorNotification.d.ts","sourceRoot":"","sources":["../src/capacitorNotification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAoD,MAAM,iBAAiB,CAAC;AAE7G,OAAO,KAAK,EAAE,YAAY,EAAmE,MAAM,mBAAmB,CAAC;AAUvH,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,YAAY,GAAG,mBAAmB,CAkI/F"}
@@ -0,0 +1,172 @@
1
+ // Maps Flight's NotificationBackend onto Capacitor's `@capacitor/local-notifications`. Capacitor ids are
2
+ // numeric while Flight's are strings, so the adapter mints a monotonic numeric id per notification and
3
+ // maps back to the caller's string id (or a generated one) on return. `notify` schedules an immediate
4
+ // notification; `scheduleNotification` schedules at the request time; `getPendingNotifications` reads the
5
+ // pending list. `requestPermission` maps directly; the sync `getPermission` is served from a value
6
+ // prefetched once at construction (async→sync bridge), so it may read 'default' until that first probe
7
+ // resolves. Click/action delivery wires through the `localNotificationActionPerformed` listener; active
8
+ // list, image, and in-place update are outside the modeled surface and report the contract sentinels.
9
+ export function createCapacitorNotificationBackend(capacitor) {
10
+ const notifications = capacitor.localNotifications;
11
+ let nextNumericId = 1;
12
+ // A notification's Flight id, keyed by the numeric id Capacitor uses, so returned/enumerated
13
+ // notifications carry the caller's original string id rather than the internal counter.
14
+ const idByNumber = new Map();
15
+ // Sync getPermission has no async escape; prefetch the display state once and cache it.
16
+ let cachedPermission = 'default';
17
+ notifications
18
+ .checkPermissions()
19
+ .then((status) => {
20
+ cachedPermission = toNotificationPermission(status.display);
21
+ })
22
+ .catch(() => {
23
+ /* leave the 'default' sentinel */
24
+ });
25
+ return {
26
+ async notify(request) {
27
+ const numericId = nextNumericId++;
28
+ const stringId = request.id ?? `notification-${numericId}`;
29
+ idByNumber.set(numericId, stringId);
30
+ try {
31
+ await notifications.schedule({ notifications: [{ id: numericId, title: request.title, body: request.body }] });
32
+ return stringId;
33
+ }
34
+ catch {
35
+ return '';
36
+ }
37
+ },
38
+ async requestPermission() {
39
+ try {
40
+ const status = await notifications.requestPermissions();
41
+ cachedPermission = toNotificationPermission(status.display);
42
+ return cachedPermission;
43
+ }
44
+ catch {
45
+ return 'denied';
46
+ }
47
+ },
48
+ getPermission() {
49
+ return cachedPermission;
50
+ },
51
+ isSupported() {
52
+ return true;
53
+ },
54
+ getCapabilities() {
55
+ return {
56
+ actions: true,
57
+ channels: true,
58
+ coldStart: true,
59
+ image: false,
60
+ listActive: false,
61
+ scheduling: true,
62
+ textReply: false,
63
+ };
64
+ },
65
+ async getLaunchNotification() {
66
+ return null;
67
+ },
68
+ async getActiveNotifications() {
69
+ // Capacitor exposes pending (scheduled) notifications, not the currently-displayed set; report none.
70
+ return [];
71
+ },
72
+ async getPendingNotifications() {
73
+ try {
74
+ const pending = await notifications.getPending();
75
+ return pending.notifications.map((schema) => ({
76
+ id: idByNumber.get(schema.id) ?? String(schema.id),
77
+ request: { id: idByNumber.get(schema.id) ?? String(schema.id), title: schema.title, body: schema.body },
78
+ schedule: { at: schema.schedule?.at?.getTime() ?? 0 },
79
+ }));
80
+ }
81
+ catch {
82
+ return [];
83
+ }
84
+ },
85
+ async scheduleNotification(request, schedule) {
86
+ const numericId = nextNumericId++;
87
+ const stringId = request.id ?? `notification-${numericId}`;
88
+ idByNumber.set(numericId, stringId);
89
+ const schema = {
90
+ id: numericId,
91
+ title: request.title,
92
+ body: request.body,
93
+ schedule: { at: new Date(schedule.at) },
94
+ };
95
+ try {
96
+ await notifications.schedule({ notifications: [schema] });
97
+ return stringId;
98
+ }
99
+ catch {
100
+ return '';
101
+ }
102
+ },
103
+ cancelScheduledNotification(id) {
104
+ const numericId = findNumericId(idByNumber, id);
105
+ if (numericId === null)
106
+ return;
107
+ notifications.cancel({ notifications: [{ id: numericId }] }).catch(() => { });
108
+ },
109
+ closeNotification() {
110
+ // Capacitor local notifications expose no dismiss-shown-by-id call.
111
+ },
112
+ closeAllNotifications() {
113
+ // No dismiss-all call.
114
+ },
115
+ async updateNotification() {
116
+ // Capacitor has no in-place update; report not applied.
117
+ return false;
118
+ },
119
+ subscribeClick(listener) {
120
+ return toUnsubscribe(notifications.addListener('localNotificationActionPerformed', (action) => {
121
+ if (action.actionId === 'tap')
122
+ listener(idByNumber.get(action.notification.id) ?? String(action.notification.id));
123
+ }));
124
+ },
125
+ subscribeAction(listener) {
126
+ return toUnsubscribe(notifications.addListener('localNotificationActionPerformed', (action) => listener(idByNumber.get(action.notification.id) ?? String(action.notification.id), action.actionId)));
127
+ },
128
+ subscribeDismiss() {
129
+ return () => { };
130
+ },
131
+ subscribeReply() {
132
+ return () => { };
133
+ },
134
+ subscribeShow() {
135
+ return () => { };
136
+ },
137
+ };
138
+ }
139
+ function findNumericId(idByNumber, stringId) {
140
+ for (const [numericId, mapped] of idByNumber) {
141
+ if (mapped === stringId)
142
+ return numericId;
143
+ }
144
+ const parsed = Number(stringId);
145
+ return Number.isNaN(parsed) ? null : parsed;
146
+ }
147
+ function toNotificationPermission(display) {
148
+ if (display === 'granted')
149
+ return 'granted';
150
+ if (display === 'denied')
151
+ return 'denied';
152
+ return 'default';
153
+ }
154
+ // Bridges Capacitor's Promise<PluginListenerHandle> to Flight's synchronous unsubscribe: fire the
155
+ // registration, adopt the handle when it resolves, and remove it (immediately if already resolved).
156
+ function toUnsubscribe(handlePromise) {
157
+ let removed = false;
158
+ let handle = null;
159
+ handlePromise
160
+ .then((resolved) => {
161
+ handle = resolved;
162
+ if (removed)
163
+ handle.remove().catch(() => { });
164
+ })
165
+ .catch(() => { });
166
+ return () => {
167
+ removed = true;
168
+ if (handle !== null)
169
+ handle.remove().catch(() => { });
170
+ };
171
+ }
172
+ //# sourceMappingURL=capacitorNotification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capacitorNotification.js","sourceRoot":"","sources":["../src/capacitorNotification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CapacitorApi } from './capacitorModule';
2
+ export declare function registerCapacitorBackends(capacitor: CapacitorApi): void;
3
+ //# sourceMappingURL=capacitorRegister.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capacitorRegister.d.ts","sourceRoot":"","sources":["../src/capacitorRegister.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkBtD,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAavE"}
@@ -0,0 +1,52 @@
1
+ import { setAppBackend } from '@flighthq/app';
2
+ import { setClipboardBackend } from '@flighthq/clipboard';
3
+ import { setConnectivityBackend } from '@flighthq/connectivity';
4
+ import { setDeviceBackend } from '@flighthq/device';
5
+ import { setDialogBackend } from '@flighthq/dialog';
6
+ import { setFileSystemBackend } from '@flighthq/filesystem';
7
+ import { setGeolocationBackend } from '@flighthq/geolocation';
8
+ import { setHapticsBackend } from '@flighthq/haptics';
9
+ import { setSoftKeyboardBackend } from '@flighthq/keyboard';
10
+ import { setNotificationBackend } from '@flighthq/notification';
11
+ import { setShareBackend } from '@flighthq/share';
12
+ import { setStatusBarBackend } from '@flighthq/statusbar';
13
+ import { createCapacitorAppBackend } from './capacitorApp';
14
+ import { createCapacitorClipboardBackend } from './capacitorClipboard';
15
+ import { createCapacitorConnectivityBackend } from './capacitorConnectivity';
16
+ import { createCapacitorDeviceBackend } from './capacitorDevice';
17
+ import { createCapacitorDialogBackend } from './capacitorDialog';
18
+ import { createCapacitorFileSystemBackend } from './capacitorFileSystem';
19
+ import { createCapacitorGeolocationBackend } from './capacitorGeolocation';
20
+ import { createCapacitorHapticsBackend } from './capacitorHaptics';
21
+ import { createCapacitorKeyboardBackend } from './capacitorKeyboard';
22
+ import { createCapacitorNotificationBackend } from './capacitorNotification';
23
+ import { createCapacitorShareBackend } from './capacitorShare';
24
+ import { createCapacitorStatusBarBackend } from './capacitorStatusBar';
25
+ // Installs every Capacitor host backend into its capability package in one call. Run this once at app
26
+ // startup, passing an object that aggregates the official Capacitor plugin objects the seams use:
27
+ //
28
+ // import { App } from '@capacitor/app';
29
+ // // …import the other plugins…
30
+ // registerCapacitorBackends({ app: App, clipboard: Clipboard, /* … */ statusBar: StatusBar });
31
+ //
32
+ // After this, the covered mobile seams resolve to their Capacitor implementations instead of the web
33
+ // defaults. Seams outside Capacitor's mobile model (window, menu, tray, shortcut, updater, protocol, ipc,
34
+ // power, screen, net) are intentionally left registered to their web defaults — a Capacitor app runs in a
35
+ // webview, so those defaults keep working. Storage is deliberately not adapted: `StorageBackend` is
36
+ // synchronous but `@capacitor/preferences` is async (an unbridgeable mismatch), so localStorage — which
37
+ // works in the webview — remains the storage backend. Each set*Backend(null) reverts one capability to web.
38
+ export function registerCapacitorBackends(capacitor) {
39
+ setAppBackend(createCapacitorAppBackend(capacitor));
40
+ setClipboardBackend(createCapacitorClipboardBackend(capacitor));
41
+ setConnectivityBackend(createCapacitorConnectivityBackend(capacitor));
42
+ setDeviceBackend(createCapacitorDeviceBackend(capacitor));
43
+ setDialogBackend(createCapacitorDialogBackend(capacitor));
44
+ setFileSystemBackend(createCapacitorFileSystemBackend(capacitor));
45
+ setGeolocationBackend(createCapacitorGeolocationBackend(capacitor));
46
+ setHapticsBackend(createCapacitorHapticsBackend(capacitor));
47
+ setNotificationBackend(createCapacitorNotificationBackend(capacitor));
48
+ setShareBackend(createCapacitorShareBackend(capacitor));
49
+ setSoftKeyboardBackend(createCapacitorKeyboardBackend(capacitor));
50
+ setStatusBarBackend(createCapacitorStatusBarBackend(capacitor));
51
+ }
52
+ //# sourceMappingURL=capacitorRegister.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capacitorRegister.js","sourceRoot":"","sources":["../src/capacitorRegister.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,kCAAkC,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,kCAAkC,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,sGAAsG;AACtG,kGAAkG;AAClG,EAAE;AACF,0CAA0C;AAC1C,kCAAkC;AAClC,iGAAiG;AACjG,EAAE;AACF,qGAAqG;AACrG,0GAA0G;AAC1G,0GAA0G;AAC1G,oGAAoG;AACpG,wGAAwG;AACxG,4GAA4G;AAC5G,MAAM,UAAU,yBAAyB,CAAC,SAAuB;IAC/D,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;IACpD,mBAAmB,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,sBAAsB,CAAC,kCAAkC,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,gBAAgB,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,gBAAgB,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,oBAAoB,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,qBAAqB,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,iBAAiB,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5D,sBAAsB,CAAC,kCAAkC,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,eAAe,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,sBAAsB,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,mBAAmB,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ShareBackend } from '@flighthq/types';
2
+ import type { CapacitorApi } from './capacitorModule';
3
+ export declare function createCapacitorShareBackend(capacitor: CapacitorApi): ShareBackend;
4
+ //# sourceMappingURL=capacitorShare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capacitorShare.d.ts","sourceRoot":"","sources":["../src/capacitorShare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAStD,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,YAAY,GAAG,YAAY,CAiDjF"}