@flighthq/host-capacitor 0.5.0-next.1944.cd6b6e7 → 0.5.1-edge.638.d4dbd4e

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 (71) hide show
  1. package/README.md +3 -3
  2. package/dist/capacitorApp.d.ts +5 -2
  3. package/dist/capacitorApp.d.ts.map +1 -1
  4. package/dist/capacitorApp.js +27 -153
  5. package/dist/capacitorApp.js.map +1 -1
  6. package/dist/capacitorClipboard.d.ts +4 -2
  7. package/dist/capacitorClipboard.d.ts.map +1 -1
  8. package/dist/capacitorClipboard.js +6 -61
  9. package/dist/capacitorClipboard.js.map +1 -1
  10. package/dist/capacitorConnectivity.d.ts +4 -2
  11. package/dist/capacitorConnectivity.d.ts.map +1 -1
  12. package/dist/capacitorConnectivity.js +90 -44
  13. package/dist/capacitorConnectivity.js.map +1 -1
  14. package/dist/capacitorDevice.d.ts +2 -2
  15. package/dist/capacitorDevice.d.ts.map +1 -1
  16. package/dist/capacitorDevice.js +3 -2
  17. package/dist/capacitorDevice.js.map +1 -1
  18. package/dist/capacitorDialog.d.ts +3 -2
  19. package/dist/capacitorDialog.d.ts.map +1 -1
  20. package/dist/capacitorDialog.js +11 -18
  21. package/dist/capacitorDialog.js.map +1 -1
  22. package/dist/capacitorFileSystem.d.ts +2 -2
  23. package/dist/capacitorFileSystem.d.ts.map +1 -1
  24. package/dist/capacitorFileSystem.js +5 -62
  25. package/dist/capacitorFileSystem.js.map +1 -1
  26. package/dist/capacitorGeolocation.d.ts +2 -2
  27. package/dist/capacitorGeolocation.d.ts.map +1 -1
  28. package/dist/capacitorGeolocation.js +16 -23
  29. package/dist/capacitorGeolocation.js.map +1 -1
  30. package/dist/capacitorKeyboard.d.ts +8 -2
  31. package/dist/capacitorKeyboard.d.ts.map +1 -1
  32. package/dist/capacitorKeyboard.js +96 -51
  33. package/dist/capacitorKeyboard.js.map +1 -1
  34. package/dist/capacitorNotification.d.ts +2 -2
  35. package/dist/capacitorNotification.d.ts.map +1 -1
  36. package/dist/capacitorNotification.js +250 -153
  37. package/dist/capacitorNotification.js.map +1 -1
  38. package/dist/capacitorProtocol.d.ts +3 -0
  39. package/dist/capacitorProtocol.d.ts.map +1 -0
  40. package/dist/capacitorProtocol.js +27 -0
  41. package/dist/capacitorProtocol.js.map +1 -0
  42. package/dist/capacitorRegister.d.ts +11 -2
  43. package/dist/capacitorRegister.d.ts.map +1 -1
  44. package/dist/capacitorRegister.js +78 -36
  45. package/dist/capacitorRegister.js.map +1 -1
  46. package/dist/capacitorShare.d.ts +2 -2
  47. package/dist/capacitorShare.d.ts.map +1 -1
  48. package/dist/capacitorShare.js +22 -41
  49. package/dist/capacitorShare.js.map +1 -1
  50. package/dist/capacitorStatusBar.d.ts +2 -2
  51. package/dist/capacitorStatusBar.d.ts.map +1 -1
  52. package/dist/capacitorStatusBar.js +5 -8
  53. package/dist/capacitorStatusBar.js.map +1 -1
  54. package/dist/contract.d.ts +1 -0
  55. package/dist/contract.d.ts.map +1 -1
  56. package/dist/contract.js +1 -0
  57. package/dist/contract.js.map +1 -1
  58. package/package.json +14 -15
  59. package/src/capacitorApp.test.ts +41 -47
  60. package/src/capacitorClipboard.test.ts +2 -10
  61. package/src/capacitorConnectivity.test.ts +101 -31
  62. package/src/capacitorDevice.test.ts +5 -0
  63. package/src/capacitorDialog.test.ts +23 -15
  64. package/src/capacitorFileSystem.test.ts +16 -7
  65. package/src/capacitorGeolocation.test.ts +10 -6
  66. package/src/capacitorKeyboard.test.ts +182 -31
  67. package/src/capacitorNotification.test.ts +120 -76
  68. package/src/capacitorProtocol.test.ts +41 -0
  69. package/src/capacitorRegister.test.ts +91 -37
  70. package/src/capacitorShare.test.ts +38 -38
  71. package/src/capacitorStatusBar.test.ts +5 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @flighthq/host-capacitor
2
2
 
3
- Capacitor (mobile) host backend: registers Capacitor plugin implementations of Flight's app/clipboard/dialog/notification/share/filesystem/geolocation/haptics/connectivity/device/statusbar/keyboard seams over an injected CapacitorApi
3
+ Capacitor host providers and compatibility registration over an injected CapacitorApi
4
4
 
5
5
  ## Install
6
6
 
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/host-capacitor`. The
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/host-capacitor@0.5.0-next.1944.cd6b6e7](https://github.com/flighthq/flight/tree/cd6b6e71eb472b3a4249830a7743333f019fa7b7/packages/host-capacitor)
17
- - [License](https://github.com/flighthq/flight/blob/cd6b6e71eb472b3a4249830a7743333f019fa7b7/LICENSE.md)
16
+ - [Source for @flighthq/host-capacitor@0.5.1-edge.638.d4dbd4e](https://github.com/flighthq/flight/tree/d4dbd4e347dc8be10b180c85a766ab50333dcb51/packages/host-capacitor)
17
+ - [License](https://github.com/flighthq/flight/blob/d4dbd4e347dc8be10b180c85a766ab50333dcb51/LICENSE.md)
@@ -1,3 +1,6 @@
1
- import type { AppBackend, CapacitorApi } from '@flighthq/types/contract';
2
- export declare function createCapacitorAppBackend(capacitor: CapacitorApi): AppBackend;
1
+ import type { CapacitorApi, CapacitorAndroidAppCapabilities, CapacitorAppCapabilitiesFor, CapacitorCommonAppCapabilities, MobileOsProfile } from '@flighthq/types/contract';
2
+ export declare function createCapacitorAppCapabilities<Profile extends MobileOsProfile>(capacitor: CapacitorApi, profile: Profile): CapacitorAppCapabilitiesFor<Profile>;
3
+ export declare function createCapacitorAppCapabilities(capacitor: CapacitorApi, profile: 'android'): CapacitorAndroidAppCapabilities;
4
+ export declare function createCapacitorAppCapabilities(capacitor: CapacitorApi, profile: 'ios'): CapacitorCommonAppCapabilities;
5
+ export declare function createCapacitorAppCapabilities(capacitor: CapacitorApi, profile: MobileOsProfile): CapacitorAndroidAppCapabilities | CapacitorCommonAppCapabilities;
3
6
  //# sourceMappingURL=capacitorApp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capacitorApp.d.ts","sourceRoot":"","sources":["../src/capacitorApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAgB,YAAY,EAAiC,MAAM,0BAA0B,CAAC;AActH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,YAAY,GAAG,UAAU,CA6I7E"}
1
+ {"version":3,"file":"capacitorApp.d.ts","sourceRoot":"","sources":["../src/capacitorApp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAE9B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,8BAA8B,CAAC,OAAO,SAAS,eAAe,EAC5E,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,OAAO,GACf,2BAA2B,CAAC,OAAO,CAAC,CAAC;AACxC,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,SAAS,GACjB,+BAA+B,CAAC;AACnC,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,GAAG,8BAA8B,CAAC;AACxH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,eAAe,GACvB,+BAA+B,GAAG,8BAA8B,CAAC"}
@@ -1,172 +1,46 @@
1
- // Maps Flight's AppBackend onto Capacitor's `@capacitor/app` (identity + exit/minimize + lifecycle/url
2
- // events).
3
- //
4
- // Async→sync bridge: AppBackend's getName/getVersion are synchronous, while Capacitor's `getInfo` is
5
- // async, so the adapter prefetches it once at construction and the getters return the cached value —
6
- // '' until the first probe resolves. Control methods fire the async Capacitor call and forget: `quit`
7
- // maps to `exitApp` and `hideApp` to `minimizeApp` (both Android-only; no-ops elsewhere). Activation
8
- // and app-url events wire through `addListener` (subscribeActivate ← appStateChange isActive,
9
- // subscribeOpenFile ← appUrlOpen). The desktop-only surface — recent documents, dock, badge, attention,
10
- // login item, single-instance, command line, executable paths — has no Capacitor call and reports the
11
- // contract sentinels (''/[]/false/-1/no-op/inert unsubscribe). Locale is not exposed by `@capacitor/app`
12
- // (it lives on `@capacitor/device`), so the locale getters report the '' / [] sentinels.
13
- export function createCapacitorAppBackend(capacitor) {
14
- const app = capacitor.app;
15
- // Sync getters over async Capacitor: prefetch once, serve the cached value.
16
- let cachedName = '';
17
- let cachedVersion = '';
18
- app
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+ export function createCapacitorAppCapabilities(capacitor, profile) {
3
+ let name = '';
4
+ let version = '';
5
+ void capacitor.app
19
6
  .getInfo()
20
7
  .then((info) => {
21
- cachedName = info.name;
22
- cachedVersion = info.version;
8
+ name = info.name;
9
+ version = info.version;
23
10
  })
24
- .catch(() => {
25
- /* leave '' */
26
- });
27
- return {
28
- addRecentDocument() {
29
- // No Capacitor recent-documents API.
30
- },
31
- bounceDock() {
32
- return -1;
33
- },
34
- cancelAttention() {
35
- // No attention request to cancel.
36
- },
37
- cancelDockBounce() {
38
- // No dock bounce to cancel.
39
- },
40
- clearRecentDocuments() {
41
- // No Capacitor recent-documents API.
42
- },
43
- focus() {
44
- // No Capacitor app-focus call; a mobile app is foregrounded by the OS.
45
- },
46
- getAppDirectoryPath() {
47
- // App-relative paths come from `@capacitor/filesystem` directories; not bridged into this getter.
48
- return '';
49
- },
50
- getAppPath() {
51
- return '';
52
- },
53
- getCommandLine() {
54
- return [];
55
- },
56
- getExecutablePath() {
57
- return '';
58
- },
59
- getLocale() {
60
- // Locale is a `@capacitor/device` concern, not `@capacitor/app`; report the '' sentinel.
61
- return '';
62
- },
63
- getLoginItem() {
64
- const out = { openAtLogin: false, openAsHidden: false, path: '', args: [] };
65
- return out;
66
- },
67
- getName() {
68
- return cachedName;
69
- },
70
- getPreferredSystemLanguages() {
71
- return [];
72
- },
73
- getSystemLocale() {
74
- return '';
75
- },
76
- getVersion() {
77
- return cachedVersion;
78
- },
79
- hasSingleInstanceLock() {
80
- return false;
81
- },
82
- hideApp() {
83
- app.minimizeApp().catch(() => { });
84
- return true;
85
- },
86
- isAppHidden() {
87
- return false;
88
- },
89
- quit() {
90
- app.exitApp().catch(() => { });
91
- },
92
- relaunch() {
93
- // Capacitor has no relaunch API.
94
- },
95
- releaseSingleInstanceLock() {
96
- // No single-instance lock held.
97
- },
98
- requestAttention() {
99
- return -1;
100
- },
101
- requestSingleInstanceLock() {
102
- // A mobile app is single-instance by the OS model; report held.
103
- return true;
104
- },
105
- setActivationPolicy() {
106
- // No Capacitor activation-policy call.
107
- },
108
- setBadgeCount() {
109
- return false;
110
- },
111
- setDockBadge() {
112
- // No dock on mobile.
113
- },
114
- setDockMenu() {
115
- // No dock on mobile.
116
- },
117
- setLoginItem() {
118
- return false;
119
- },
120
- setName() {
121
- // The Capacitor app name is fixed at build time; report unsupported.
122
- return false;
123
- },
124
- setUserModelId() {
125
- return false;
126
- },
127
- showApp() {
128
- // Capacitor has no bring-to-foreground call; report unsupported.
129
- return false;
130
- },
131
- subscribeActivate(listener) {
132
- return toUnsubscribe(app.addListener('appStateChange', (state) => {
11
+ .catch(() => { });
12
+ const common = createEntity({
13
+ activate: createEntity({
14
+ subscribe: (listener) => toCapacitorUnsubscribe(capacitor.app.addListener('appStateChange', (state) => {
133
15
  if (state.isActive)
134
16
  listener();
135
- }));
136
- },
137
- subscribeAllWindowsClosed() {
138
- return () => { };
139
- },
140
- subscribeOpenFile(listener) {
141
- return toUnsubscribe(app.addListener('appUrlOpen', (event) => listener(event.url)));
142
- },
143
- subscribeQuitRequest() {
144
- return () => { };
145
- },
146
- subscribeReady() {
147
- return () => { };
148
- },
149
- subscribeSecondInstance() {
150
- return () => { };
151
- },
152
- };
17
+ })),
18
+ }),
19
+ name: createEntity({ getName: () => name }),
20
+ version: createEntity({ getVersion: () => version }),
21
+ });
22
+ if (profile === 'ios')
23
+ return common;
24
+ return createEntity({
25
+ ...common,
26
+ hide: createEntity({ hideApp: () => void capacitor.app.minimizeApp().catch(() => { }) }),
27
+ quit: createEntity({ quit: () => void capacitor.app.exitApp().catch(() => { }) }),
28
+ });
153
29
  }
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) {
30
+ function toCapacitorUnsubscribe(handlePromise) {
157
31
  let removed = false;
158
32
  let handle = null;
159
- handlePromise
33
+ void handlePromise
160
34
  .then((resolved) => {
161
35
  handle = resolved;
162
36
  if (removed)
163
- handle.remove().catch(() => { });
37
+ void handle.remove().catch(() => { });
164
38
  })
165
39
  .catch(() => { });
166
40
  return () => {
167
41
  removed = true;
168
42
  if (handle !== null)
169
- handle.remove().catch(() => { });
43
+ void handle.remove().catch(() => { });
170
44
  };
171
45
  }
172
46
  //# sourceMappingURL=capacitorApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capacitorApp.js","sourceRoot":"","sources":["../src/capacitorApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capacitorApp.js","sourceRoot":"","sources":["../src/capacitorApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAuBzD,MAAM,UAAU,8BAA8B,CAC5C,SAAuB,EACvB,OAAwB;IAExB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,SAAS,CAAC,GAAG;SACf,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IACzB,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnB,MAAM,MAAM,GAAmC,YAAY,CAAC;QAC1D,QAAQ,EAAE,YAAY,CAAC;YACrB,SAAS,EAAE,CAAC,QAAoB,EAAE,EAAE,CAClC,sBAAsB,CACpB,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;gBACpD,IAAI,KAAK,CAAC,QAAQ;oBAAE,QAAQ,EAAE,CAAC;YACjC,CAAC,CAAC,CACH;SACJ,CAAC;QACF,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3C,OAAO,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;KACrD,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO,YAAY,CAAC;QAClB,GAAG,MAAM;QACT,IAAI,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,CAAC;QACvF,IAAI,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,aAAqD;IACnF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,GAAyC,IAAI,CAAC;IACxD,KAAK,aAAa;SACf,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,MAAM,GAAG,QAAQ,CAAC;QAClB,IAAI,OAAO;YAAE,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnB,OAAO,GAAG,EAAE;QACV,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,MAAM,KAAK,IAAI;YAAE,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,5 @@
1
- import type { ClipboardBackend, CapacitorApi } from '@flighthq/types/contract';
2
- export declare function createCapacitorClipboardBackend(capacitor: CapacitorApi): ClipboardBackend;
1
+ import type { CapacitorApi, ClipboardImageBackend, ClipboardTextBackend } from '@flighthq/types/contract';
2
+ type CapacitorClipboardBackend = ClipboardImageBackend & ClipboardTextBackend;
3
+ export declare function createCapacitorClipboardBackend(capacitor: CapacitorApi): CapacitorClipboardBackend;
4
+ export {};
3
5
  //# sourceMappingURL=capacitorClipboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capacitorClipboard.d.ts","sourceRoot":"","sources":["../src/capacitorClipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQ/E,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,YAAY,GAAG,gBAAgB,CAgHzF"}
1
+ {"version":3,"file":"capacitorClipboard.d.ts","sourceRoot":"","sources":["../src/capacitorClipboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAElC,KAAK,yBAAyB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAI9E,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,YAAY,GAAG,yBAAyB,CA4DlG"}
@@ -1,12 +1,9 @@
1
- // Maps Flight's ClipboardBackend onto Capacitor's async `@capacitor/clipboard`. Text round-trips through
2
- // read/write; an image crosses as a data URL (Capacitor's `read` reports an `image/*` type, `write`
3
- // takes an `image` data URL), so readImage/writeImage/hasImage map too. Capacitor's clipboard has no
4
- // HTML/RTF/bookmark read, no arbitrary MIME flavors, no file list, and no change counter — those methods
5
- // report the contract's sentinels ('' / false / null / [] / -1). Reads resolve to sentinels on failure
6
- // instead of throwing.
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+ // Capacitor covers the text/clear and image clipboard vectors. Other capability slots are
3
+ // deliberately absent from its returned host rather than simulated by sentinels.
7
4
  export function createCapacitorClipboardBackend(capacitor) {
8
5
  const clipboard = capacitor.clipboard;
9
- return {
6
+ return createEntity({
10
7
  async readText() {
11
8
  try {
12
9
  const result = await clipboard.read();
@@ -25,14 +22,6 @@ export function createCapacitorClipboardBackend(capacitor) {
25
22
  return false;
26
23
  }
27
24
  },
28
- async readHtml() {
29
- // Capacitor's clipboard exposes no HTML read; report the empty sentinel.
30
- return '';
31
- },
32
- async writeHtml() {
33
- // Capacitor's clipboard exposes no HTML write; report unsupported.
34
- return false;
35
- },
36
25
  async hasText() {
37
26
  try {
38
27
  const result = await clipboard.read();
@@ -68,44 +57,8 @@ export function createCapacitorClipboardBackend(capacitor) {
68
57
  return false;
69
58
  }
70
59
  },
71
- async readRTF() {
72
- return '';
73
- },
74
- async writeRTF() {
75
- return false;
76
- },
77
- async readBookmark() {
78
- return null;
79
- },
80
- async writeBookmark() {
81
- return false;
82
- },
83
- async readFormat() {
84
- return '';
85
- },
86
- async writeFormat() {
87
- return false;
88
- },
89
- async hasFormat() {
90
- return false;
91
- },
92
- async getFormats() {
93
- return [];
94
- },
95
- async readItems() {
96
- return {};
97
- },
98
- async writeItems() {
99
- return false;
100
- },
101
- async readFiles() {
102
- return [];
103
- },
104
- async writeFiles() {
105
- return false;
106
- },
107
60
  async clear() {
108
- // Capacitor has no clipboard clear; overwrite with empty text as the closest honest equivalent.
61
+ // Capacitor has no clear call; overwriting with empty text is the closest honest equivalent.
109
62
  try {
110
63
  await clipboard.write({ string: '' });
111
64
  return true;
@@ -114,14 +67,6 @@ export function createCapacitorClipboardBackend(capacitor) {
114
67
  return false;
115
68
  }
116
69
  },
117
- getChangeCount() {
118
- // Capacitor exposes no clipboard change counter; -1 sentinel per the contract.
119
- return -1;
120
- },
121
- subscribeClipboardChange() {
122
- // Capacitor emits no clipboard-change event; inert unsubscribe.
123
- return () => { };
124
- },
125
- };
70
+ });
126
71
  }
127
72
  //# sourceMappingURL=capacitorClipboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capacitorClipboard.js","sourceRoot":"","sources":["../src/capacitorClipboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capacitorClipboard.js","sourceRoot":"","sources":["../src/capacitorClipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAUzD,0FAA0F;AAC1F,iFAAiF;AACjF,MAAM,UAAU,+BAA+B,CAAC,SAAuB;IACrE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IACtC,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,QAAQ;YACZ,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,IAAI;YAClB,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,KAAK,CAAC,OAAO;YACX,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,KAAK,CAAC,SAAS;YACb,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,OAAO;YACtB,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,KAAK,CAAC,KAAK;YACT,6FAA6F;YAC7F,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtC,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACiE,CAAC,CAAC;AACxE,CAAC"}
@@ -1,3 +1,5 @@
1
- import type { ConnectivityBackend, CapacitorApi } from '@flighthq/types/contract';
2
- export declare function createCapacitorConnectivityBackend(capacitor: CapacitorApi): ConnectivityBackend;
1
+ import type { CapacitorApi, ConnectivityChangeBackend, ConnectivityStatusBackend } from '@flighthq/types/contract';
2
+ type CapacitorConnectivityBackend = ConnectivityStatusBackend & ConnectivityChangeBackend;
3
+ export declare function createCapacitorConnectivityBackend(capacitor: CapacitorApi): CapacitorConnectivityBackend;
4
+ export {};
3
5
  //# sourceMappingURL=capacitorConnectivity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capacitorConnectivity.d.ts","sourceRoot":"","sources":["../src/capacitorConnectivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EAGnB,YAAY,EAGb,MAAM,0BAA0B,CAAC;AASlC,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,YAAY,GAAG,mBAAmB,CAiC/F"}
1
+ {"version":3,"file":"capacitorConnectivity.d.ts","sourceRoot":"","sources":["../src/capacitorConnectivity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAGZ,yBAAyB,EAGzB,yBAAyB,EAE1B,MAAM,0BAA0B,CAAC;AAElC,KAAK,4BAA4B,GAAG,yBAAyB,GAAG,yBAAyB,CAAC;AAM1F,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,YAAY,GAAG,4BAA4B,CAyExG"}
@@ -1,42 +1,106 @@
1
- // Maps Flight's ConnectivityBackend onto Capacitor's `@capacitor/network`. ConnectivityBackend.getStatus
2
- // is a synchronous snapshot, whereas Capacitor's getStatus is async, so the adapter keeps a local mirror:
3
- // it prefetches the status once and subscribes internally to `networkStatusChange` to keep the mirror
4
- // current, then fills the caller's `out` from it (reporting the offline/unknown default until the first
5
- // probe resolves). The public `subscribe` registers the caller's listener behind the same event. Capacitor
6
- // reports only connectivity + a coarse type, so downlink/rtt and the other fine-grained fields report
7
- // their -1 / '' sentinels; `metered` is derived (cellular or offline-save has no signal here).
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+ // Capacitor's async getStatus cannot truthfully fill a synchronous snapshot during construction, so
3
+ // the mirror starts UNKNOWN (`online: null`) rather than making an unmeasured offline claim. One native
4
+ // listener owns the mirror and fans out to every core entity; per-entity unsubscribe only leaves that
5
+ // local subscriber set. Provider destroy owns the one native handle.
8
6
  export function createCapacitorConnectivityBackend(capacitor) {
9
7
  const network = capacitor.network;
10
- // Local mirror of the last known status, filled into the caller's `out` on getStatus.
11
- let mirror = { connected: false, connectionType: 'unknown' };
8
+ const subscribers = new Set();
9
+ const mirror = unknownStatus();
10
+ let destroyed = false;
11
+ let nativeChangeObserved = false;
12
+ let handle = null;
13
+ let handleRemoved = false;
14
+ const removeHandle = () => {
15
+ if (handle === null || handleRemoved)
16
+ return;
17
+ handleRemoved = true;
18
+ void handle.remove().catch(() => { });
19
+ };
20
+ const notify = () => {
21
+ for (const listener of [...subscribers])
22
+ listener();
23
+ };
24
+ const update = (status) => {
25
+ mirror.online = status.connected;
26
+ mirror.type = toConnectionType(status.connectionType);
27
+ mirror.metered = mirror.type === 'cellular';
28
+ };
29
+ // Register the event source before starting the initial query. If an event wins the race, its newer
30
+ // state must not be overwritten by a late getStatus result captured before that event.
31
+ network
32
+ .addListener('networkStatusChange', (status) => {
33
+ if (destroyed)
34
+ return;
35
+ nativeChangeObserved = true;
36
+ update(status);
37
+ notify();
38
+ })
39
+ .then((resolved) => {
40
+ handle = resolved;
41
+ if (destroyed)
42
+ removeHandle();
43
+ })
44
+ .catch(() => { });
12
45
  network
13
46
  .getStatus()
14
47
  .then((status) => {
15
- mirror = status;
48
+ if (destroyed || nativeChangeObserved)
49
+ return;
50
+ update(status);
51
+ // Initial readiness is a real unknown→measured transition. Subscribers must see it so core can
52
+ // emit online/offline truthfully instead of retaining its pre-ready baseline forever.
53
+ notify();
16
54
  })
17
55
  .catch(() => {
18
- /* leave the offline/unknown default */
56
+ // Failure leaves the status unknown. Unknown means wait; it is not an offline observation.
19
57
  });
20
- network
21
- .addListener('networkStatusChange', (status) => {
22
- mirror = status;
23
- })
24
- .catch(() => { });
25
- return {
58
+ return createEntity({
59
+ destroy() {
60
+ if (destroyed)
61
+ return;
62
+ destroyed = true;
63
+ subscribers.clear();
64
+ removeHandle();
65
+ },
26
66
  getStatus(out) {
27
- out.online = mirror.connected;
28
- out.type = toConnectionType(mirror.connectionType);
29
- out.downlink = -1;
30
- out.downlinkMax = -1;
31
- out.effectiveType = '';
32
- out.rtt = -1;
33
- out.saveData = false;
34
- out.metered = out.type === 'cellular';
67
+ copyStatus(out, mirror);
35
68
  return out;
36
69
  },
37
70
  subscribe(listener) {
38
- return toUnsubscribe(network.addListener('networkStatusChange', () => listener()));
71
+ if (destroyed)
72
+ return null;
73
+ subscribers.add(listener);
74
+ let active = true;
75
+ return () => {
76
+ if (!active)
77
+ return;
78
+ active = false;
79
+ subscribers.delete(listener);
80
+ };
39
81
  },
82
+ });
83
+ }
84
+ function copyStatus(out, source) {
85
+ out.online = source.online;
86
+ out.type = source.type;
87
+ out.downlink = source.downlink;
88
+ out.downlinkMax = source.downlinkMax;
89
+ out.effectiveType = source.effectiveType;
90
+ out.rtt = source.rtt;
91
+ out.saveData = source.saveData;
92
+ out.metered = source.metered;
93
+ }
94
+ function unknownStatus() {
95
+ return {
96
+ downlink: -1,
97
+ downlinkMax: -1,
98
+ effectiveType: '',
99
+ metered: false,
100
+ online: null,
101
+ rtt: -1,
102
+ saveData: false,
103
+ type: 'unknown',
40
104
  };
41
105
  }
42
106
  function toConnectionType(connectionType) {
@@ -48,22 +112,4 @@ function toConnectionType(connectionType) {
48
112
  return 'none';
49
113
  return 'unknown';
50
114
  }
51
- // Bridges Capacitor's Promise<PluginListenerHandle> to Flight's synchronous unsubscribe: fire the
52
- // registration, adopt the handle when it resolves, and remove it (immediately if already resolved).
53
- function toUnsubscribe(handlePromise) {
54
- let removed = false;
55
- let handle = null;
56
- handlePromise
57
- .then((resolved) => {
58
- handle = resolved;
59
- if (removed)
60
- handle.remove().catch(() => { });
61
- })
62
- .catch(() => { });
63
- return () => {
64
- removed = true;
65
- if (handle !== null)
66
- handle.remove().catch(() => { });
67
- };
68
- }
69
115
  //# sourceMappingURL=capacitorConnectivity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capacitorConnectivity.js","sourceRoot":"","sources":["../src/capacitorConnectivity.ts"],"names":[],"mappings":"AASA,yGAAyG;AACzG,0GAA0G;AAC1G,sGAAsG;AACtG,wGAAwG;AACxG,2GAA2G;AAC3G,sGAAsG;AACtG,+FAA+F;AAC/F,MAAM,UAAU,kCAAkC,CAAC,SAAuB;IACxE,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,sFAAsF;IACtF,IAAI,MAAM,GAA8B,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;IACxF,OAAO;SACJ,SAAS,EAAE;SACX,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE;QACV,uCAAuC;IACzC,CAAC,CAAC,CAAC;IACL,OAAO;SACJ,WAAW,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC7C,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnB,OAAO;QACL,SAAS,CAAC,GAAuB;YAC/B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;YAC9B,GAAG,CAAC,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACnD,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAClB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACrB,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC;YACvB,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACb,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;YACrB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;YACtC,OAAO,GAAG,CAAC;QACb,CAAC;QACD,SAAS,CAAC,QAAQ;YAChB,OAAO,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,cAAsB;IAC9C,IAAI,cAAc,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,cAAc,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IACrD,IAAI,cAAc,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC7C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kGAAkG;AAClG,oGAAoG;AACpG,SAAS,aAAa,CAAC,aAAqD;IAC1E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,GAAyC,IAAI,CAAC;IACxD,aAAa;SACV,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,MAAM,GAAG,QAAQ,CAAC;QAClB,IAAI,OAAO;YAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnB,OAAO,GAAG,EAAE;QACV,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"capacitorConnectivity.js","sourceRoot":"","sources":["../src/capacitorConnectivity.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { CapacitorApi, DeviceBackend } from '@flighthq/types/contract';
2
- export declare function createCapacitorDeviceBackend(capacitor: CapacitorApi): DeviceBackend;
1
+ import type { CapacitorApi, DeviceBackend, Entity } from '@flighthq/types/contract';
2
+ export declare function createCapacitorDeviceBackend(capacitor: CapacitorApi): DeviceBackend & Entity;
3
3
  //# sourceMappingURL=capacitorDevice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capacitorDevice.d.ts","sourceRoot":"","sources":["../src/capacitorDevice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,aAAa,EAKd,MAAM,0BAA0B,CAAC;AAUlC,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,YAAY,GAAG,aAAa,CAiFnF"}
1
+ {"version":3,"file":"capacitorDevice.d.ts","sourceRoot":"","sources":["../src/capacitorDevice.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAEZ,aAAa,EAIb,MAAM,EAEP,MAAM,0BAA0B,CAAC;AAUlC,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,YAAY,GAAG,aAAa,GAAG,MAAM,CAiF5F"}
@@ -1,3 +1,4 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
1
2
  import { DeviceFormFactorPhone, DeviceFormFactorUnknown } from '@flighthq/types/contract';
2
3
  // Maps Flight's DeviceBackend onto Capacitor's `@capacitor/device`. DeviceBackend reads are synchronous
3
4
  // out-fills, whereas Capacitor's getInfo/getId are async, so the adapter prefetches both once at
@@ -27,7 +28,7 @@ export function createCapacitorDeviceBackend(capacitor) {
27
28
  .catch(() => {
28
29
  /* leave '' */
29
30
  });
30
- return {
31
+ return createEntity({
31
32
  getCapabilities(out) {
32
33
  // `@capacitor/device` reports no input capabilities; report the false sentinels.
33
34
  out.hasKeyboard = false;
@@ -86,7 +87,7 @@ export function createCapacitorDeviceBackend(capacitor) {
86
87
  out.left = 0;
87
88
  return out;
88
89
  },
89
- };
90
+ });
90
91
  }
91
92
  // Capacitor's platform is 'ios' | 'android' | 'web'; a mobile platform is a phone (no tablet signal),
92
93
  // otherwise unknown. A native host that classifies tablets can override this backend.
@@ -1 +1 @@
1
- {"version":3,"file":"capacitorDevice.js","sourceRoot":"","sources":["../src/capacitorDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capacitorDevice.js","sourceRoot":"","sources":["../src/capacitorDevice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAWzD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,wGAAwG;AACxG,iGAAiG;AACjG,wGAAwG;AACxG,kGAAkG;AAClG,sGAAsG;AACtG,uGAAuG;AACvG,qEAAqE;AACrE,MAAM,UAAU,4BAA4B,CAAC,SAAuB;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,yFAAyF;IACzF,IAAI,UAAU,GAA+B,IAAI,CAAC;IAClD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,MAAM;SACH,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE;QACV,4BAA4B;IAC9B,CAAC,CAAC,CAAC;IACL,MAAM;SACH,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACX,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC;IAC3B,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE;QACV,cAAc;IAChB,CAAC,CAAC,CAAC;IACL,OAAO,YAAY,CAAC;QAClB,eAAe,CAAC,GAAuB;YACrC,iFAAiF;YACjF,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACxB,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;YACrB,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,iBAAiB,CAAC,GAAyB;YACzC,sEAAsE;YACtE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACpB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACpB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YACvB,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YACtB,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YACxB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YACvB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACpB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,KAAK;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAe;YACrB,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;YACzB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;YACnB,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;YACpB,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAClB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACnB,GAAG,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;YACrB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YAClB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YACzB,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC;YAC3B,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;YACrB,GAAG,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,KAAK,CAAC;YACzC,GAAG,CAAC,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC;YAC5C,GAAG,CAAC,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACrC,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAC9B,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;YACjB,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,eAAe,IAAI,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;YACtC,GAAG,CAAC,cAAc,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;YAC1C,GAAG,CAAC,WAAW,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACpC,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC;YACvB,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACrB,GAAG,CAAC,cAAc,GAAG,IAAI,EAAE,cAAc,IAAI,EAAE,CAAC;YAChD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,iBAAiB,CAAC,GAAmB;YACnC,gEAAgE;YAChE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACZ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YACd,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YACf,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACb,OAAO,GAAG,CAAC;QACb,CAAC;KACsB,CAAC,CAAC;AAC7B,CAAC;AAED,sGAAsG;AACtG,sFAAsF;AACtF,SAAS,YAAY,CAAC,IAA0C;IAC9D,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,uBAAuB,CAAC;IAClD,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,qBAAqB,CAAC;IACzF,OAAO,uBAAuB,CAAC;AACjC,CAAC"}
@@ -1,3 +1,4 @@
1
- import type { DialogBackend, CapacitorApi } from '@flighthq/types/contract';
2
- export declare function createCapacitorDialogBackend(capacitor: CapacitorApi): DialogBackend;
1
+ import type { CapacitorApi, Entity, MessageDialogBackend, PromptDialogBackend } from '@flighthq/types/contract';
2
+ export declare function createCapacitorMessageDialogBackend(capacitor: CapacitorApi): MessageDialogBackend & Entity;
3
+ export declare function createCapacitorPromptDialogBackend(capacitor: CapacitorApi): PromptDialogBackend & Entity;
3
4
  //# sourceMappingURL=capacitorDialog.d.ts.map