@flighthq/host-tauri 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/tauriDialog.d.ts.map +1 -1
- package/dist/tauriDialog.js +16 -1
- package/dist/tauriDialog.js.map +1 -1
- package/package.json +14 -14
- package/src/tauriDialog.test.ts +23 -0
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/host-tauri`. The `@f
|
|
|
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-tauri@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/host-tauri@0.5.1-next.685.f72fc7f](https://github.com/flighthq/flight/tree/f72fc7feaa9653d950f39c7d2fe6365f48e82e51/packages/host-tauri)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/f72fc7feaa9653d950f39c7d2fe6365f48e82e51/LICENSE.md)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tauriDialog.d.ts","sourceRoot":"","sources":["../src/tauriDialog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,0BAA0B,EAE1B,MAAM,EAGN,qBAAqB,EAErB,qBAAqB,EAErB,oBAAoB,EAEpB,QAAQ,EAET,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,QAAQ,GAAG,0BAA0B,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"tauriDialog.d.ts","sourceRoot":"","sources":["../src/tauriDialog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,0BAA0B,EAE1B,MAAM,EAGN,qBAAqB,EAErB,qBAAqB,EAErB,oBAAoB,EAEpB,QAAQ,EAET,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,QAAQ,GAAG,0BAA0B,GAAG,MAAM,CAqB1G;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,QAAQ,GAAG,qBAAqB,GAAG,MAAM,CAyBhG;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,QAAQ,GAAG,qBAAqB,GAAG,MAAM,CAmBhG;AAID,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,QAAQ,GAAG,oBAAoB,CAyBrF"}
|
package/dist/tauriDialog.js
CHANGED
|
@@ -2,7 +2,9 @@ import { createFileDialogHandle } from '@flighthq/dialog/contract';
|
|
|
2
2
|
import { createEntity } from '@flighthq/entity/contract';
|
|
3
3
|
export function createTauriDirectoryOpenDialogBackend(tauri) {
|
|
4
4
|
return createEntity({
|
|
5
|
-
async open() {
|
|
5
|
+
async open(options) {
|
|
6
|
+
if (options?.signal?.aborted)
|
|
7
|
+
return { outcome: 'cancelled' };
|
|
6
8
|
const open = tauri.dialog?.open;
|
|
7
9
|
if (typeof open !== 'function')
|
|
8
10
|
return { outcome: 'runtime-unavailable' };
|
|
@@ -28,6 +30,8 @@ export function createTauriDirectoryOpenDialogBackend(tauri) {
|
|
|
28
30
|
export function createTauriFileOpenDialogBackend(tauri) {
|
|
29
31
|
return createEntity({
|
|
30
32
|
async open(options) {
|
|
33
|
+
if (options.signal?.aborted)
|
|
34
|
+
return { outcome: 'cancelled' };
|
|
31
35
|
const open = tauri.dialog?.open;
|
|
32
36
|
if (typeof open !== 'function')
|
|
33
37
|
return { outcome: 'runtime-unavailable' };
|
|
@@ -57,6 +61,8 @@ export function createTauriFileOpenDialogBackend(tauri) {
|
|
|
57
61
|
export function createTauriFileSaveDialogBackend(tauri) {
|
|
58
62
|
return createEntity({
|
|
59
63
|
async save(options) {
|
|
64
|
+
if (options.signal?.aborted)
|
|
65
|
+
return { outcome: 'cancelled' };
|
|
60
66
|
const save = tauri.dialog?.save;
|
|
61
67
|
if (typeof save !== 'function')
|
|
62
68
|
return { outcome: 'runtime-unavailable' };
|
|
@@ -83,6 +89,13 @@ export function createTauriMessageDialogBackend(tauri) {
|
|
|
83
89
|
const dialog = tauri.dialog;
|
|
84
90
|
return {
|
|
85
91
|
async message(options) {
|
|
92
|
+
if (options.signal?.aborted) {
|
|
93
|
+
return {
|
|
94
|
+
buttonIndex: options.cancelId ?? 0,
|
|
95
|
+
cancelled: true,
|
|
96
|
+
checkboxChecked: options.checkboxChecked ?? false,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
86
99
|
await dialog.message(options.message, {
|
|
87
100
|
title: options.title,
|
|
88
101
|
kind: toTauriMessageKind(options.kind),
|
|
@@ -90,6 +103,8 @@ export function createTauriMessageDialogBackend(tauri) {
|
|
|
90
103
|
return { buttonIndex: 0, cancelled: false, checkboxChecked: false };
|
|
91
104
|
},
|
|
92
105
|
async confirm(options) {
|
|
106
|
+
if (options.signal?.aborted)
|
|
107
|
+
return false;
|
|
93
108
|
return dialog.confirm(options.message, {
|
|
94
109
|
title: options.title,
|
|
95
110
|
kind: toTauriMessageKind(options.kind),
|
package/dist/tauriDialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tauriDialog.js","sourceRoot":"","sources":["../src/tauriDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAiBzD,MAAM,UAAU,qCAAqC,CAAC,KAAe;IACnE,OAAO,YAAY,CAAC;QAClB,KAAK,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"tauriDialog.js","sourceRoot":"","sources":["../src/tauriDialog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/host-tauri",
|
|
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,19 +38,19 @@
|
|
|
38
38
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@flighthq/entity": "0.5.1-next.
|
|
42
|
-
"@flighthq/app": "0.5.1-next.
|
|
43
|
-
"@flighthq/application": "0.5.1-next.
|
|
44
|
-
"@flighthq/clipboard": "0.5.1-next.
|
|
45
|
-
"@flighthq/dialog": "0.5.1-next.
|
|
46
|
-
"@flighthq/menu": "0.5.1-next.
|
|
47
|
-
"@flighthq/notification": "0.5.1-next.
|
|
48
|
-
"@flighthq/platform": "0.5.1-next.
|
|
49
|
-
"@flighthq/shortcut": "0.5.1-next.
|
|
50
|
-
"@flighthq/shell": "0.5.1-next.
|
|
51
|
-
"@flighthq/signals": "0.5.1-next.
|
|
52
|
-
"@flighthq/tray": "0.5.1-next.
|
|
53
|
-
"@flighthq/types": "0.5.1-next.
|
|
41
|
+
"@flighthq/entity": "0.5.1-next.685.f72fc7f",
|
|
42
|
+
"@flighthq/app": "0.5.1-next.685.f72fc7f",
|
|
43
|
+
"@flighthq/application": "0.5.1-next.685.f72fc7f",
|
|
44
|
+
"@flighthq/clipboard": "0.5.1-next.685.f72fc7f",
|
|
45
|
+
"@flighthq/dialog": "0.5.1-next.685.f72fc7f",
|
|
46
|
+
"@flighthq/menu": "0.5.1-next.685.f72fc7f",
|
|
47
|
+
"@flighthq/notification": "0.5.1-next.685.f72fc7f",
|
|
48
|
+
"@flighthq/platform": "0.5.1-next.685.f72fc7f",
|
|
49
|
+
"@flighthq/shortcut": "0.5.1-next.685.f72fc7f",
|
|
50
|
+
"@flighthq/shell": "0.5.1-next.685.f72fc7f",
|
|
51
|
+
"@flighthq/signals": "0.5.1-next.685.f72fc7f",
|
|
52
|
+
"@flighthq/tray": "0.5.1-next.685.f72fc7f",
|
|
53
|
+
"@flighthq/types": "0.5.1-next.685.f72fc7f"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"typescript": "^5.3.0"
|
package/src/tauriDialog.test.ts
CHANGED
|
@@ -114,6 +114,29 @@ describe('createTauriFileOpenDialogBackend', () => {
|
|
|
114
114
|
expect((await createTauriFileOpenDialogBackend(tauri).open({})).outcome).toBe('runtime-unavailable');
|
|
115
115
|
expect((await createTauriFileSaveDialogBackend(tauri).save({})).outcome).toBe('runtime-unavailable');
|
|
116
116
|
});
|
|
117
|
+
|
|
118
|
+
it('does not open a native picker when already aborted', async () => {
|
|
119
|
+
const { tauri, calls } = fakeTauri('/ignored', null);
|
|
120
|
+
const controller = new AbortController();
|
|
121
|
+
controller.abort();
|
|
122
|
+
await expect(createTauriFileOpenDialogBackend(tauri).open({ signal: controller.signal })).resolves.toEqual({
|
|
123
|
+
outcome: 'cancelled',
|
|
124
|
+
});
|
|
125
|
+
expect(calls.open).toEqual([]);
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
it('preserves a native selection completed after an in-flight abort', async () => {
|
|
129
|
+
const controller = new AbortController();
|
|
130
|
+
const { tauri } = fakeTauri('/selected', null);
|
|
131
|
+
const open = tauri.dialog.open;
|
|
132
|
+
tauri.dialog.open = async (options) => {
|
|
133
|
+
const result = await open(options);
|
|
134
|
+
controller.abort(new Error('native picker already completed'));
|
|
135
|
+
return result;
|
|
136
|
+
};
|
|
137
|
+
const result = await createTauriFileOpenDialogBackend(tauri).open({ signal: controller.signal });
|
|
138
|
+
expect(result.outcome).toBe('selected');
|
|
139
|
+
});
|
|
117
140
|
});
|
|
118
141
|
|
|
119
142
|
describe('createTauriFileSaveDialogBackend', () => {
|