@flighthq/host-capacitor 0.5.1-next.658.9cb44d7 → 0.5.1-next.685.f72fc7f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/capacitorDialog.d.ts.map +1 -1
- package/dist/capacitorDialog.js +11 -0
- package/dist/capacitorDialog.js.map +1 -1
- package/dist/capacitorFileSystem.d.ts.map +1 -1
- package/dist/capacitorFileSystem.js +24 -9
- package/dist/capacitorFileSystem.js.map +1 -1
- package/package.json +13 -13
- package/src/capacitorDialog.test.ts +9 -0
- package/src/capacitorFileSystem.test.ts +25 -0
package/README.md
CHANGED
|
@@ -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.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/host-capacitor@0.5.1-next.685.f72fc7f](https://github.com/flighthq/flight/tree/f72fc7feaa9653d950f39c7d2fe6365f48e82e51/packages/host-capacitor)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/f72fc7feaa9653d950f39c7d2fe6365f48e82e51/LICENSE.md)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitorDialog.d.ts","sourceRoot":"","sources":["../src/capacitorDialog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIhH,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,YAAY,GAAG,oBAAoB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"capacitorDialog.d.ts","sourceRoot":"","sources":["../src/capacitorDialog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIhH,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,YAAY,GAAG,oBAAoB,GAAG,MAAM,CAqB1G;AAED,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,YAAY,GAAG,mBAAmB,GAAG,MAAM,CAcxG"}
|
package/dist/capacitorDialog.js
CHANGED
|
@@ -5,11 +5,20 @@ export function createCapacitorMessageDialogBackend(capacitor) {
|
|
|
5
5
|
const dialog = capacitor.dialog;
|
|
6
6
|
return createEntity({
|
|
7
7
|
async message(options) {
|
|
8
|
+
if (options.signal?.aborted) {
|
|
9
|
+
return {
|
|
10
|
+
buttonIndex: options.cancelId ?? 0,
|
|
11
|
+
cancelled: true,
|
|
12
|
+
checkboxChecked: options.checkboxChecked ?? false,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
8
15
|
await dialog.alert({ title: options.title, message: options.message });
|
|
9
16
|
// Capacitor's alert is a single-button acknowledgement; it reports no button choice or checkbox.
|
|
10
17
|
return { buttonIndex: 0, cancelled: false, checkboxChecked: false };
|
|
11
18
|
},
|
|
12
19
|
async confirm(options) {
|
|
20
|
+
if (options.signal?.aborted)
|
|
21
|
+
return false;
|
|
13
22
|
const result = await dialog.confirm({ title: options.title, message: options.message });
|
|
14
23
|
return result.value;
|
|
15
24
|
},
|
|
@@ -19,6 +28,8 @@ export function createCapacitorPromptDialogBackend(capacitor) {
|
|
|
19
28
|
const dialog = capacitor.dialog;
|
|
20
29
|
return createEntity({
|
|
21
30
|
async prompt(options) {
|
|
31
|
+
if (options.signal?.aborted)
|
|
32
|
+
return null;
|
|
22
33
|
const result = await dialog.prompt({
|
|
23
34
|
title: options.title,
|
|
24
35
|
message: options.message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitorDialog.js","sourceRoot":"","sources":["../src/capacitorDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,sGAAsG;AACtG,kHAAkH;AAClH,MAAM,UAAU,mCAAmC,CAAC,SAAuB;IACzE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,OAAO,YAAY,CAAC;QAClB,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;KAC6B,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,SAAuB;IACxE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,OAAO,YAAY,CAAC;QAClB,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;KAC4B,CAAC,CAAC;AACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"capacitorDialog.js","sourceRoot":"","sources":["../src/capacitorDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,sGAAsG;AACtG,kHAAkH;AAClH,MAAM,UAAU,mCAAmC,CAAC,SAAuB;IACzE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,OAAO,CAAC,OAAO;YACnB,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC5B,OAAO;oBACL,WAAW,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;oBAClC,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,KAAK;iBAClD,CAAC;YACJ,CAAC;YACD,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,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,OAAO,KAAK,CAAC;YAC1C,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;KAC6B,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,SAAuB;IACxE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,MAAM,CAAC,OAAO;YAClB,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;gBAAE,OAAO,IAAI,CAAC;YACzC,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;KAC4B,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitorFileSystem.d.ts","sourceRoot":"","sources":["../src/capacitorFileSystem.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAuB,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAUlH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,YAAY,GAAG,sBAAsB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"capacitorFileSystem.d.ts","sourceRoot":"","sources":["../src/capacitorFileSystem.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAuB,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAUlH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,YAAY,GAAG,sBAAsB,GAAG,MAAM,CAqIzG"}
|
|
@@ -10,15 +10,20 @@ import { createEntity } from '@flighthq/entity/contract';
|
|
|
10
10
|
export function createCapacitorFileSystemBackend(capacitor) {
|
|
11
11
|
const filesystem = capacitor.filesystem;
|
|
12
12
|
return createEntity({
|
|
13
|
-
async readTextFile(path) {
|
|
13
|
+
async readTextFile(path, signal) {
|
|
14
|
+
signal?.throwIfAborted();
|
|
15
|
+
let data;
|
|
14
16
|
try {
|
|
15
|
-
|
|
17
|
+
data = (await filesystem.readFile({ path, encoding: 'utf8' })).data;
|
|
16
18
|
}
|
|
17
19
|
catch {
|
|
18
20
|
return null;
|
|
19
21
|
}
|
|
22
|
+
signal?.throwIfAborted();
|
|
23
|
+
return readResultAsText(data);
|
|
20
24
|
},
|
|
21
|
-
async writeTextFile(path, data) {
|
|
25
|
+
async writeTextFile(path, data, signal) {
|
|
26
|
+
signal?.throwIfAborted();
|
|
22
27
|
try {
|
|
23
28
|
await filesystem.writeFile({ path, data, encoding: 'utf8', recursive: true });
|
|
24
29
|
return true;
|
|
@@ -27,15 +32,20 @@ export function createCapacitorFileSystemBackend(capacitor) {
|
|
|
27
32
|
return false;
|
|
28
33
|
}
|
|
29
34
|
},
|
|
30
|
-
async readBinaryFile(path) {
|
|
35
|
+
async readBinaryFile(path, signal) {
|
|
36
|
+
signal?.throwIfAborted();
|
|
37
|
+
let data;
|
|
31
38
|
try {
|
|
32
|
-
|
|
39
|
+
data = (await filesystem.readFile({ path })).data;
|
|
33
40
|
}
|
|
34
41
|
catch {
|
|
35
42
|
return null;
|
|
36
43
|
}
|
|
44
|
+
signal?.throwIfAborted();
|
|
45
|
+
return readResultAsBytes(data);
|
|
37
46
|
},
|
|
38
|
-
async writeBinaryFile(path, data) {
|
|
47
|
+
async writeBinaryFile(path, data, signal) {
|
|
48
|
+
signal?.throwIfAborted();
|
|
39
49
|
try {
|
|
40
50
|
await filesystem.writeFile({ path, data: bytesToBase64(data), recursive: true });
|
|
41
51
|
return true;
|
|
@@ -87,13 +97,17 @@ export function createCapacitorFileSystemBackend(capacitor) {
|
|
|
87
97
|
return false;
|
|
88
98
|
}
|
|
89
99
|
},
|
|
90
|
-
async readDirectory(path) {
|
|
100
|
+
async readDirectory(path, signal) {
|
|
101
|
+
signal?.throwIfAborted();
|
|
102
|
+
let files;
|
|
91
103
|
try {
|
|
92
|
-
|
|
104
|
+
files = (await filesystem.readdir({ path })).files;
|
|
93
105
|
}
|
|
94
106
|
catch {
|
|
95
107
|
return [];
|
|
96
108
|
}
|
|
109
|
+
signal?.throwIfAborted();
|
|
110
|
+
return files.map((file) => toFileEntry(file.name, file.uri, file.type));
|
|
97
111
|
},
|
|
98
112
|
async statFile(path) {
|
|
99
113
|
try {
|
|
@@ -129,7 +143,8 @@ export function createCapacitorFileSystemBackend(capacitor) {
|
|
|
129
143
|
return false;
|
|
130
144
|
}
|
|
131
145
|
},
|
|
132
|
-
async appendTextFile(path, data) {
|
|
146
|
+
async appendTextFile(path, data, signal) {
|
|
147
|
+
signal?.throwIfAborted();
|
|
133
148
|
try {
|
|
134
149
|
await filesystem.appendFile({ path, data, encoding: 'utf8' });
|
|
135
150
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacitorFileSystem.js","sourceRoot":"","sources":["../src/capacitorFileSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,4GAA4G;AAC5G,mGAAmG;AACnG,qFAAqF;AACrF,yGAAyG;AACzG,kGAAkG;AAClG,gGAAgG;AAChG,EAAE;AACF,8EAA8E;AAC9E,MAAM,UAAU,gCAAgC,CAAC,SAAuB;IACtE,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;IACxC,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,YAAY,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"capacitorFileSystem.js","sourceRoot":"","sources":["../src/capacitorFileSystem.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/host-capacitor",
|
|
3
|
-
"version": "0.5.1-next.
|
|
3
|
+
"version": "0.5.1-next.685.f72fc7f",
|
|
4
4
|
"author": "Joshua Granick and other contributors",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,18 +38,18 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/app": "0.5.1-next.
|
|
42
|
-
"@flighthq/clipboard": "0.5.1-next.
|
|
43
|
-
"@flighthq/device": "0.5.1-next.
|
|
44
|
-
"@flighthq/dialog": "0.5.1-next.
|
|
45
|
-
"@flighthq/entity": "0.5.1-next.
|
|
46
|
-
"@flighthq/filesystem": "0.5.1-next.
|
|
47
|
-
"@flighthq/geolocation": "0.5.1-next.
|
|
48
|
-
"@flighthq/haptics": "0.5.1-next.
|
|
49
|
-
"@flighthq/notification": "0.5.1-next.
|
|
50
|
-
"@flighthq/share": "0.5.1-next.
|
|
51
|
-
"@flighthq/statusbar": "0.5.1-next.
|
|
52
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/app": "0.5.1-next.685.f72fc7f",
|
|
42
|
+
"@flighthq/clipboard": "0.5.1-next.685.f72fc7f",
|
|
43
|
+
"@flighthq/device": "0.5.1-next.685.f72fc7f",
|
|
44
|
+
"@flighthq/dialog": "0.5.1-next.685.f72fc7f",
|
|
45
|
+
"@flighthq/entity": "0.5.1-next.685.f72fc7f",
|
|
46
|
+
"@flighthq/filesystem": "0.5.1-next.685.f72fc7f",
|
|
47
|
+
"@flighthq/geolocation": "0.5.1-next.685.f72fc7f",
|
|
48
|
+
"@flighthq/haptics": "0.5.1-next.685.f72fc7f",
|
|
49
|
+
"@flighthq/notification": "0.5.1-next.685.f72fc7f",
|
|
50
|
+
"@flighthq/share": "0.5.1-next.685.f72fc7f",
|
|
51
|
+
"@flighthq/statusbar": "0.5.1-next.685.f72fc7f",
|
|
52
|
+
"@flighthq/types": "0.5.1-next.685.f72fc7f"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"typescript": "^5.3.0"
|
|
@@ -56,4 +56,13 @@ describe('createCapacitorPromptDialogBackend', () => {
|
|
|
56
56
|
const backend = createCapacitorPromptDialogBackend(fakeCapacitor({ value: '', cancelled: true }).capacitor);
|
|
57
57
|
expect(await backend.prompt({ message: 'name?' })).toBeNull();
|
|
58
58
|
});
|
|
59
|
+
|
|
60
|
+
it('does not call the plugin for a pre-aborted prompt', async () => {
|
|
61
|
+
const { capacitor, calls } = fakeCapacitor();
|
|
62
|
+
const controller = new AbortController();
|
|
63
|
+
controller.abort();
|
|
64
|
+
const backend = createCapacitorPromptDialogBackend(capacitor);
|
|
65
|
+
await expect(backend.prompt({ message: 'name?', signal: controller.signal })).resolves.toBeNull();
|
|
66
|
+
expect(calls).toEqual([]);
|
|
67
|
+
});
|
|
59
68
|
});
|
|
@@ -84,6 +84,31 @@ describe('createCapacitorFileSystemBackend', () => {
|
|
|
84
84
|
expect([...(await backend.readBinaryFile('/blob.bin'))!]).toEqual([70, 108, 105, 103, 104, 116]);
|
|
85
85
|
});
|
|
86
86
|
|
|
87
|
+
it('rejects pre-aborted reads before calling the plugin', async () => {
|
|
88
|
+
const { capacitor } = fakeCapacitor();
|
|
89
|
+
const readFile = vi.spyOn(capacitor.filesystem, 'readFile');
|
|
90
|
+
const controller = new AbortController();
|
|
91
|
+
const reason = new Error('cancel Capacitor read');
|
|
92
|
+
controller.abort(reason);
|
|
93
|
+
const backend = createCapacitorFileSystemBackend(capacitor);
|
|
94
|
+
await expect(backend.readTextFile('/a.txt', controller.signal)).rejects.toBe(reason);
|
|
95
|
+
expect(readFile).not.toHaveBeenCalled();
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
it('reports a completed plugin write even when the signal aborts in flight', async () => {
|
|
99
|
+
const { capacitor, files } = fakeCapacitor();
|
|
100
|
+
const controller = new AbortController();
|
|
101
|
+
const writeFile = capacitor.filesystem.writeFile;
|
|
102
|
+
capacitor.filesystem.writeFile = async (options) => {
|
|
103
|
+
const result = await writeFile(options);
|
|
104
|
+
controller.abort(new Error('after native write'));
|
|
105
|
+
return result;
|
|
106
|
+
};
|
|
107
|
+
const backend = createCapacitorFileSystemBackend(capacitor);
|
|
108
|
+
await expect(backend.writeTextFile('/complete.txt', 'saved', controller.signal)).resolves.toBe(true);
|
|
109
|
+
expect(files.get('/complete.txt')?.data).toBe('saved');
|
|
110
|
+
});
|
|
111
|
+
|
|
87
112
|
it('maps exists/stat/remove and reports null for a missing file', async () => {
|
|
88
113
|
const backend = createCapacitorFileSystemBackend(fakeCapacitor().capacitor);
|
|
89
114
|
await backend.writeTextFile('/c.txt', 'x');
|