@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.
- package/dist/capacitorApp.d.ts +4 -0
- package/dist/capacitorApp.d.ts.map +1 -0
- package/dist/capacitorApp.js +172 -0
- package/dist/capacitorApp.js.map +1 -0
- package/dist/capacitorClipboard.d.ts +4 -0
- package/dist/capacitorClipboard.d.ts.map +1 -0
- package/dist/capacitorClipboard.js +127 -0
- package/dist/capacitorClipboard.js.map +1 -0
- package/dist/capacitorConnectivity.d.ts +4 -0
- package/dist/capacitorConnectivity.d.ts.map +1 -0
- package/dist/capacitorConnectivity.js +69 -0
- package/dist/capacitorConnectivity.js.map +1 -0
- package/dist/capacitorDevice.d.ts +4 -0
- package/dist/capacitorDevice.d.ts.map +1 -0
- package/dist/capacitorDevice.js +100 -0
- package/dist/capacitorDevice.js.map +1 -0
- package/dist/capacitorDialog.d.ts +4 -0
- package/dist/capacitorDialog.d.ts.map +1 -0
- package/dist/capacitorDialog.js +39 -0
- package/dist/capacitorDialog.js.map +1 -0
- package/dist/capacitorFileSystem.d.ts +4 -0
- package/dist/capacitorFileSystem.d.ts.map +1 -0
- package/dist/capacitorFileSystem.js +216 -0
- package/dist/capacitorFileSystem.js.map +1 -0
- package/dist/capacitorGeolocation.d.ts +4 -0
- package/dist/capacitorGeolocation.d.ts.map +1 -0
- package/dist/capacitorGeolocation.js +104 -0
- package/dist/capacitorGeolocation.js.map +1 -0
- package/dist/capacitorHaptics.d.ts +4 -0
- package/dist/capacitorHaptics.d.ts.map +1 -0
- package/dist/capacitorHaptics.js +56 -0
- package/dist/capacitorHaptics.js.map +1 -0
- package/dist/capacitorKeyboard.d.ts +4 -0
- package/dist/capacitorKeyboard.d.ts.map +1 -0
- package/dist/capacitorKeyboard.js +89 -0
- package/dist/capacitorKeyboard.js.map +1 -0
- package/dist/capacitorModule.d.ts +310 -0
- package/dist/capacitorModule.d.ts.map +1 -0
- package/dist/capacitorModule.js +31 -0
- package/dist/capacitorModule.js.map +1 -0
- package/dist/capacitorNotification.d.ts +4 -0
- package/dist/capacitorNotification.d.ts.map +1 -0
- package/dist/capacitorNotification.js +172 -0
- package/dist/capacitorNotification.js.map +1 -0
- package/dist/capacitorRegister.d.ts +3 -0
- package/dist/capacitorRegister.d.ts.map +1 -0
- package/dist/capacitorRegister.js +52 -0
- package/dist/capacitorRegister.js.map +1 -0
- package/dist/capacitorShare.d.ts +4 -0
- package/dist/capacitorShare.d.ts.map +1 -0
- package/dist/capacitorShare.js +66 -0
- package/dist/capacitorShare.js.map +1 -0
- package/dist/capacitorStatusBar.d.ts +4 -0
- package/dist/capacitorStatusBar.d.ts.map +1 -0
- package/dist/capacitorStatusBar.js +80 -0
- package/dist/capacitorStatusBar.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/package.json +49 -0
- package/src/capacitorApp.test.ts +81 -0
- package/src/capacitorClipboard.test.ts +71 -0
- package/src/capacitorConnectivity.test.ts +64 -0
- package/src/capacitorDevice.test.ts +99 -0
- package/src/capacitorDialog.test.ts +50 -0
- package/src/capacitorFileSystem.test.ts +88 -0
- package/src/capacitorGeolocation.test.ts +75 -0
- package/src/capacitorHaptics.test.ts +75 -0
- package/src/capacitorKeyboard.test.ts +89 -0
- package/src/capacitorNotification.test.ts +95 -0
- package/src/capacitorRegister.test.ts +104 -0
- package/src/capacitorShare.test.ts +68 -0
- package/src/capacitorStatusBar.test.ts +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorApp.d.ts","sourceRoot":"","sources":["../src/capacitorApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,mBAAmB,CAAC;AAcrF,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,YAAY,GAAG,UAAU,CA6I7E"}
|
|
@@ -0,0 +1,172 @@
|
|
|
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
|
|
19
|
+
.getInfo()
|
|
20
|
+
.then((info) => {
|
|
21
|
+
cachedName = info.name;
|
|
22
|
+
cachedVersion = info.version;
|
|
23
|
+
})
|
|
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) => {
|
|
133
|
+
if (state.isActive)
|
|
134
|
+
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
|
+
};
|
|
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=capacitorApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorApp.js","sourceRoot":"","sources":["../src/capacitorApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorClipboard.d.ts","sourceRoot":"","sources":["../src/capacitorClipboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQtD,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,YAAY,GAAG,gBAAgB,CAgHzF"}
|
|
@@ -0,0 +1,127 @@
|
|
|
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.
|
|
7
|
+
export function createCapacitorClipboardBackend(capacitor) {
|
|
8
|
+
const clipboard = capacitor.clipboard;
|
|
9
|
+
return {
|
|
10
|
+
async readText() {
|
|
11
|
+
try {
|
|
12
|
+
const result = await clipboard.read();
|
|
13
|
+
return result.type.startsWith('image') ? '' : result.value;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return '';
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
async writeText(text) {
|
|
20
|
+
try {
|
|
21
|
+
await clipboard.write({ string: text });
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
},
|
|
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
|
+
async hasText() {
|
|
37
|
+
try {
|
|
38
|
+
const result = await clipboard.read();
|
|
39
|
+
return !result.type.startsWith('image') && result.value.length > 0;
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
async readImage() {
|
|
46
|
+
try {
|
|
47
|
+
const result = await clipboard.read();
|
|
48
|
+
return result.type.startsWith('image') ? result.value : '';
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
async writeImage(dataUrl) {
|
|
55
|
+
try {
|
|
56
|
+
await clipboard.write({ image: dataUrl });
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
async hasImage() {
|
|
64
|
+
try {
|
|
65
|
+
return (await clipboard.read()).type.startsWith('image');
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
},
|
|
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
|
+
async clear() {
|
|
108
|
+
// Capacitor has no clipboard clear; overwrite with empty text as the closest honest equivalent.
|
|
109
|
+
try {
|
|
110
|
+
await clipboard.write({ string: '' });
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
},
|
|
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
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=capacitorClipboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorClipboard.js","sourceRoot":"","sources":["../src/capacitorClipboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ConnectivityBackend } from '@flighthq/types';
|
|
2
|
+
import type { CapacitorApi } from './capacitorModule';
|
|
3
|
+
export declare function createCapacitorConnectivityBackend(capacitor: CapacitorApi): ConnectivityBackend;
|
|
4
|
+
//# sourceMappingURL=capacitorConnectivity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorConnectivity.d.ts","sourceRoot":"","sources":["../src/capacitorConnectivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAkD,MAAM,iBAAiB,CAAC;AAE3G,OAAO,KAAK,EAAE,YAAY,EAA4D,MAAM,mBAAmB,CAAC;AAShH,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,YAAY,GAAG,mBAAmB,CAiC/F"}
|
|
@@ -0,0 +1,69 @@
|
|
|
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).
|
|
8
|
+
export function createCapacitorConnectivityBackend(capacitor) {
|
|
9
|
+
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' };
|
|
12
|
+
network
|
|
13
|
+
.getStatus()
|
|
14
|
+
.then((status) => {
|
|
15
|
+
mirror = status;
|
|
16
|
+
})
|
|
17
|
+
.catch(() => {
|
|
18
|
+
/* leave the offline/unknown default */
|
|
19
|
+
});
|
|
20
|
+
network
|
|
21
|
+
.addListener('networkStatusChange', (status) => {
|
|
22
|
+
mirror = status;
|
|
23
|
+
})
|
|
24
|
+
.catch(() => { });
|
|
25
|
+
return {
|
|
26
|
+
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';
|
|
35
|
+
return out;
|
|
36
|
+
},
|
|
37
|
+
subscribe(listener) {
|
|
38
|
+
return toUnsubscribe(network.addListener('networkStatusChange', () => listener()));
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function toConnectionType(connectionType) {
|
|
43
|
+
if (connectionType === 'wifi')
|
|
44
|
+
return 'wifi';
|
|
45
|
+
if (connectionType === 'cellular')
|
|
46
|
+
return 'cellular';
|
|
47
|
+
if (connectionType === 'none')
|
|
48
|
+
return 'none';
|
|
49
|
+
return 'unknown';
|
|
50
|
+
}
|
|
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
|
+
//# sourceMappingURL=capacitorConnectivity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorConnectivity.js","sourceRoot":"","sources":["../src/capacitorConnectivity.ts"],"names":[],"mappings":"AAIA,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorDevice.d.ts","sourceRoot":"","sources":["../src/capacitorDevice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAKd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,mBAAmB,CAAC;AAS3E,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,YAAY,GAAG,aAAa,CAiFnF"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { DeviceFormFactorPhone, DeviceFormFactorUnknown } from '@flighthq/types';
|
|
2
|
+
// Maps Flight's DeviceBackend onto Capacitor's `@capacitor/device`. DeviceBackend reads are synchronous
|
|
3
|
+
// out-fills, whereas Capacitor's getInfo/getId are async, so the adapter prefetches both once at
|
|
4
|
+
// construction and fills the caller's `out` from the cached values (sentinels — '' / -1 / false — until
|
|
5
|
+
// the first probe resolves). Capacitor reports device identity (model, manufacturer, OS, virtual,
|
|
6
|
+
// webview), which map onto DeviceInfo; the fields it does not report (arch, memory, GPU, ABIs, board,
|
|
7
|
+
// rooted/jailbroken) keep their sentinels. Display metrics, capabilities, and safe-area insets have no
|
|
8
|
+
// `@capacitor/device` call, so those out-fills report sentinels too.
|
|
9
|
+
export function createCapacitorDeviceBackend(capacitor) {
|
|
10
|
+
const device = capacitor.device;
|
|
11
|
+
// Sync getters over async Capacitor: prefetch identity once and serve the cached values.
|
|
12
|
+
let cachedInfo = null;
|
|
13
|
+
let cachedId = '';
|
|
14
|
+
device
|
|
15
|
+
.getInfo()
|
|
16
|
+
.then((info) => {
|
|
17
|
+
cachedInfo = info;
|
|
18
|
+
})
|
|
19
|
+
.catch(() => {
|
|
20
|
+
/* leave null → sentinels */
|
|
21
|
+
});
|
|
22
|
+
device
|
|
23
|
+
.getId()
|
|
24
|
+
.then((id) => {
|
|
25
|
+
cachedId = id.identifier;
|
|
26
|
+
})
|
|
27
|
+
.catch(() => {
|
|
28
|
+
/* leave '' */
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
getCapabilities(out) {
|
|
32
|
+
// `@capacitor/device` reports no input capabilities; report the false sentinels.
|
|
33
|
+
out.hasKeyboard = false;
|
|
34
|
+
out.hasMouse = false;
|
|
35
|
+
out.hasStylus = false;
|
|
36
|
+
return out;
|
|
37
|
+
},
|
|
38
|
+
getDisplayMetrics(out) {
|
|
39
|
+
// No display metrics on `@capacitor/device`; report the -1 sentinels.
|
|
40
|
+
out.colorDepth = -1;
|
|
41
|
+
out.densityDpi = -1;
|
|
42
|
+
out.logicalHeight = -1;
|
|
43
|
+
out.logicalWidth = -1;
|
|
44
|
+
out.physicalHeight = -1;
|
|
45
|
+
out.physicalWidth = -1;
|
|
46
|
+
out.pixelRatio = -1;
|
|
47
|
+
return out;
|
|
48
|
+
},
|
|
49
|
+
getId() {
|
|
50
|
+
return cachedId;
|
|
51
|
+
},
|
|
52
|
+
getInfo(out) {
|
|
53
|
+
const info = cachedInfo;
|
|
54
|
+
out.arch = '';
|
|
55
|
+
out.availableMemory = -1;
|
|
56
|
+
out.boardName = '';
|
|
57
|
+
out.colorGamut = '';
|
|
58
|
+
out.cpuCores = -1;
|
|
59
|
+
out.fontScale = -1;
|
|
60
|
+
out.formFactor = toFormFactor(info);
|
|
61
|
+
out.gpuRenderer = '';
|
|
62
|
+
out.gpuVendor = '';
|
|
63
|
+
out.isHdr = false;
|
|
64
|
+
out.isJailbroken = false;
|
|
65
|
+
out.isLowEndDevice = false;
|
|
66
|
+
out.isRooted = false;
|
|
67
|
+
out.isVirtual = info?.isVirtual ?? false;
|
|
68
|
+
out.manufacturer = info?.manufacturer ?? '';
|
|
69
|
+
out.marketingName = info?.name ?? '';
|
|
70
|
+
out.model = info?.model ?? '';
|
|
71
|
+
out.osBuild = '';
|
|
72
|
+
out.osName = info?.operatingSystem ?? '';
|
|
73
|
+
out.osVersion = info?.osVersion ?? '';
|
|
74
|
+
out.platformString = info?.platform ?? '';
|
|
75
|
+
out.productName = info?.model ?? '';
|
|
76
|
+
out.supportedAbis = [];
|
|
77
|
+
out.totalMemory = -1;
|
|
78
|
+
out.webViewVersion = info?.webViewVersion ?? '';
|
|
79
|
+
return out;
|
|
80
|
+
},
|
|
81
|
+
getSafeAreaInsets(out) {
|
|
82
|
+
// No safe-area call on `@capacitor/device`; report zero insets.
|
|
83
|
+
out.top = 0;
|
|
84
|
+
out.right = 0;
|
|
85
|
+
out.bottom = 0;
|
|
86
|
+
out.left = 0;
|
|
87
|
+
return out;
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// Capacitor's platform is 'ios' | 'android' | 'web'; a mobile platform is a phone (no tablet signal),
|
|
92
|
+
// otherwise unknown. A native host that classifies tablets can override this backend.
|
|
93
|
+
function toFormFactor(info) {
|
|
94
|
+
if (info === null)
|
|
95
|
+
return DeviceFormFactorUnknown;
|
|
96
|
+
if (info.platform === 'ios' || info.platform === 'android')
|
|
97
|
+
return DeviceFormFactorPhone;
|
|
98
|
+
return DeviceFormFactorUnknown;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=capacitorDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorDevice.js","sourceRoot":"","sources":["../src/capacitorDevice.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAIjF,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;QACL,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;KACF,CAAC;AACJ,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorDialog.d.ts","sourceRoot":"","sources":["../src/capacitorDialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOtD,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,YAAY,GAAG,aAAa,CAgCnF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Maps Flight's DialogBackend onto Capacitor's async `@capacitor/dialog`. `message` maps to `alert`, a
|
|
2
|
+
// single-button acknowledgement (so it resolves buttonIndex 0 / not-cancelled / no checkbox); `confirm`
|
|
3
|
+
// maps to `confirm`; `prompt` maps to `prompt`, resolving the entered text or the null sentinel on
|
|
4
|
+
// cancel. Capacitor Dialog has no native file picker, so openFile/openDirectory resolve [] and saveFile
|
|
5
|
+
// resolves null — those belong to a filesystem/document-picker plugin, not Dialog.
|
|
6
|
+
export function createCapacitorDialogBackend(capacitor) {
|
|
7
|
+
const dialog = capacitor.dialog;
|
|
8
|
+
return {
|
|
9
|
+
async openFile() {
|
|
10
|
+
// Capacitor Dialog has no file picker; report none.
|
|
11
|
+
return [];
|
|
12
|
+
},
|
|
13
|
+
async openDirectory() {
|
|
14
|
+
return [];
|
|
15
|
+
},
|
|
16
|
+
async saveFile() {
|
|
17
|
+
return null;
|
|
18
|
+
},
|
|
19
|
+
async message(options) {
|
|
20
|
+
await dialog.alert({ title: options.title, message: options.message });
|
|
21
|
+
// Capacitor's alert is a single-button acknowledgement; it reports no button choice or checkbox.
|
|
22
|
+
return { buttonIndex: 0, cancelled: false, checkboxChecked: false };
|
|
23
|
+
},
|
|
24
|
+
async confirm(options) {
|
|
25
|
+
const result = await dialog.confirm({ title: options.title, message: options.message });
|
|
26
|
+
return result.value;
|
|
27
|
+
},
|
|
28
|
+
async prompt(options) {
|
|
29
|
+
const result = await dialog.prompt({
|
|
30
|
+
title: options.title,
|
|
31
|
+
message: options.message,
|
|
32
|
+
inputText: options.defaultValue,
|
|
33
|
+
inputPlaceholder: options.placeholder,
|
|
34
|
+
});
|
|
35
|
+
return result.cancelled ? null : result.value;
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=capacitorDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorDialog.js","sourceRoot":"","sources":["../src/capacitorDialog.ts"],"names":[],"mappings":"AAIA,uGAAuG;AACvG,wGAAwG;AACxG,mGAAmG;AACnG,wGAAwG;AACxG,mFAAmF;AACnF,MAAM,UAAU,4BAA4B,CAAC,SAAuB;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,OAAO;QACL,KAAK,CAAC,QAAQ;YACZ,oDAAoD;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,CAAC,aAAa;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,OAAO;YACnB,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,iGAAiG;YACjG,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QACtE,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,OAAO;YACnB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,OAAO;YAClB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;gBACjC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,YAAY;gBAC/B,gBAAgB,EAAE,OAAO,CAAC,WAAW;aACtC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capacitorFileSystem.d.ts","sourceRoot":"","sources":["../src/capacitorFileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAYtD,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,YAAY,GAAG,iBAAiB,CA2K3F"}
|