webtau 0.4.0 → 0.5.0-alpha.2
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/core.d.ts +26 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +47 -2
- package/dist/core.js.map +1 -1
- package/dist/dialog.d.ts +9 -0
- package/dist/dialog.d.ts.map +1 -1
- package/dist/dialog.js +21 -0
- package/dist/dialog.js.map +1 -1
- package/dist/event.d.ts +9 -0
- package/dist/event.d.ts.map +1 -1
- package/dist/event.js +15 -0
- package/dist/event.js.map +1 -1
- package/dist/fs.d.ts +9 -0
- package/dist/fs.d.ts.map +1 -1
- package/dist/fs.js +31 -0
- package/dist/fs.js.map +1 -1
- package/dist/provider.d.ts +84 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +9 -0
- package/dist/provider.js.map +1 -0
- package/dist/window.d.ts +9 -0
- package/dist/window.d.ts.map +1 -1
- package/dist/window.js +68 -4
- package/dist/window.js.map +1 -1
- package/package.json +5 -1
package/dist/core.d.ts
CHANGED
|
@@ -5,7 +5,14 @@
|
|
|
5
5
|
* plain web app. In Tauri mode, delegates to `@tauri-apps/api/core`.
|
|
6
6
|
* In web mode, calls the corresponding function from a WASM module
|
|
7
7
|
* that was registered via `configure()`.
|
|
8
|
+
*
|
|
9
|
+
* A runtime provider can be registered via `registerProvider()` to
|
|
10
|
+
* route invoke() and convertFileSrc() through an arbitrary backend
|
|
11
|
+
* (e.g. Electrobun). When no provider is registered and `isTauri()`
|
|
12
|
+
* is true, Tauri auto-registers itself on first invoke().
|
|
8
13
|
*/
|
|
14
|
+
import type { CoreProvider } from "./provider";
|
|
15
|
+
export type { CoreProvider };
|
|
9
16
|
type WasmModule = Record<string, (...args: any[]) => any>;
|
|
10
17
|
export interface WebtauConfig {
|
|
11
18
|
/**
|
|
@@ -33,6 +40,25 @@ export interface WebtauConfig {
|
|
|
33
40
|
* ```
|
|
34
41
|
*/
|
|
35
42
|
export declare function configure(config: WebtauConfig): void;
|
|
43
|
+
/**
|
|
44
|
+
* Register a runtime provider that replaces the default Tauri/WASM
|
|
45
|
+
* routing in `invoke()` and `convertFileSrc()`.
|
|
46
|
+
*
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { registerProvider } from "webtau";
|
|
49
|
+
*
|
|
50
|
+
* registerProvider({
|
|
51
|
+
* id: "electrobun",
|
|
52
|
+
* invoke: (cmd, args) => electrobun.ipc.invoke(cmd, args),
|
|
53
|
+
* convertFileSrc: (path) => `electrobun://asset/${path}`,
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function registerProvider(provider: CoreProvider): void;
|
|
58
|
+
/** Returns the currently registered provider, or `null`. */
|
|
59
|
+
export declare function getProvider(): CoreProvider | null;
|
|
60
|
+
/** Clears the registered provider (useful for testing). */
|
|
61
|
+
export declare function resetProvider(): void;
|
|
36
62
|
/**
|
|
37
63
|
* Returns `true` when running inside Tauri.
|
|
38
64
|
* Checks for `window.__TAURI_INTERNALS__` which Tauri injects.
|
|
@@ -66,5 +92,4 @@ export declare function invoke<T = unknown>(command: string, args?: Record<strin
|
|
|
66
92
|
* ```
|
|
67
93
|
*/
|
|
68
94
|
export declare function convertFileSrc(filePath: string, protocol?: string): string;
|
|
69
|
-
export {};
|
|
70
95
|
//# sourceMappingURL=core.d.ts.map
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,YAAY,EAAE,YAAY,EAAE,CAAC;AAG7B,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAO1D,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpC;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAOpD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAE7D;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,IAAI,YAAY,GAAG,IAAI,CAEjD;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAKjC;AAyCD;;;;;;;;;;;GAWG;AACH,wBAAsB,MAAM,CAAC,CAAC,GAAG,OAAO,EACtC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CAqCZ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAM1E"}
|
package/dist/core.js
CHANGED
|
@@ -5,7 +5,13 @@
|
|
|
5
5
|
* plain web app. In Tauri mode, delegates to `@tauri-apps/api/core`.
|
|
6
6
|
* In web mode, calls the corresponding function from a WASM module
|
|
7
7
|
* that was registered via `configure()`.
|
|
8
|
+
*
|
|
9
|
+
* A runtime provider can be registered via `registerProvider()` to
|
|
10
|
+
* route invoke() and convertFileSrc() through an arbitrary backend
|
|
11
|
+
* (e.g. Electrobun). When no provider is registered and `isTauri()`
|
|
12
|
+
* is true, Tauri auto-registers itself on first invoke().
|
|
8
13
|
*/
|
|
14
|
+
let registeredProvider = null;
|
|
9
15
|
let wasmModule = null;
|
|
10
16
|
let wasmLoader = null;
|
|
11
17
|
let wasmLoadPromise = null;
|
|
@@ -32,6 +38,31 @@ export function configure(config) {
|
|
|
32
38
|
onLoadError = config.onLoadError;
|
|
33
39
|
}
|
|
34
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Register a runtime provider that replaces the default Tauri/WASM
|
|
43
|
+
* routing in `invoke()` and `convertFileSrc()`.
|
|
44
|
+
*
|
|
45
|
+
* ```ts
|
|
46
|
+
* import { registerProvider } from "webtau";
|
|
47
|
+
*
|
|
48
|
+
* registerProvider({
|
|
49
|
+
* id: "electrobun",
|
|
50
|
+
* invoke: (cmd, args) => electrobun.ipc.invoke(cmd, args),
|
|
51
|
+
* convertFileSrc: (path) => `electrobun://asset/${path}`,
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export function registerProvider(provider) {
|
|
56
|
+
registeredProvider = provider;
|
|
57
|
+
}
|
|
58
|
+
/** Returns the currently registered provider, or `null`. */
|
|
59
|
+
export function getProvider() {
|
|
60
|
+
return registeredProvider;
|
|
61
|
+
}
|
|
62
|
+
/** Clears the registered provider (useful for testing). */
|
|
63
|
+
export function resetProvider() {
|
|
64
|
+
registeredProvider = null;
|
|
65
|
+
}
|
|
35
66
|
/**
|
|
36
67
|
* Returns `true` when running inside Tauri.
|
|
37
68
|
* Checks for `window.__TAURI_INTERNALS__` which Tauri injects.
|
|
@@ -84,12 +115,24 @@ async function getWasmModule() {
|
|
|
84
115
|
* ```
|
|
85
116
|
*/
|
|
86
117
|
export async function invoke(command, args) {
|
|
118
|
+
// 1. Explicit provider — delegate immediately.
|
|
119
|
+
if (registeredProvider) {
|
|
120
|
+
return registeredProvider.invoke(command, args);
|
|
121
|
+
}
|
|
122
|
+
// 2. Auto-detect Tauri — lazily register a Tauri provider, then delegate.
|
|
87
123
|
if (isTauri()) {
|
|
88
124
|
// Dynamic import — @tauri-apps/api is an optional peer dependency.
|
|
89
125
|
// Only loaded at runtime inside Tauri, never in web builds.
|
|
90
126
|
const mod = await import("@tauri-apps/api/core");
|
|
91
|
-
|
|
127
|
+
const tauriProvider = {
|
|
128
|
+
id: "tauri",
|
|
129
|
+
invoke: (cmd, a) => mod.invoke(cmd, a),
|
|
130
|
+
convertFileSrc: (path, protocol) => mod.convertFileSrc(path, protocol),
|
|
131
|
+
};
|
|
132
|
+
registeredProvider = tauriProvider;
|
|
133
|
+
return tauriProvider.invoke(command, args);
|
|
92
134
|
}
|
|
135
|
+
// 3. WASM path — unchanged.
|
|
93
136
|
const wasm = await getWasmModule();
|
|
94
137
|
const fn = wasm[command];
|
|
95
138
|
if (typeof fn !== "function") {
|
|
@@ -115,8 +158,10 @@ export async function invoke(command, args) {
|
|
|
115
158
|
* ```
|
|
116
159
|
*/
|
|
117
160
|
export function convertFileSrc(filePath, protocol) {
|
|
161
|
+
if (registeredProvider) {
|
|
162
|
+
return registeredProvider.convertFileSrc(filePath, protocol);
|
|
163
|
+
}
|
|
118
164
|
// On web, just return the path as-is — no protocol conversion needed
|
|
119
|
-
void protocol;
|
|
120
165
|
return filePath;
|
|
121
166
|
}
|
|
122
167
|
//# sourceMappingURL=core.js.map
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/dialog.d.ts
CHANGED
|
@@ -2,7 +2,16 @@
|
|
|
2
2
|
* webtau/dialog — Web shim for @tauri-apps/api/dialog.
|
|
3
3
|
*
|
|
4
4
|
* Uses HTML <dialog> when available, with safe browser fallbacks.
|
|
5
|
+
*
|
|
6
|
+
* An optional DialogAdapter can be set via `setDialogAdapter()` to
|
|
7
|
+
* route all dialog operations through an alternative runtime.
|
|
8
|
+
*/
|
|
9
|
+
import type { DialogAdapter } from "./provider";
|
|
10
|
+
/**
|
|
11
|
+
* Set (or clear) a dialog adapter that overrides all dialog functions.
|
|
12
|
+
* Pass `null` to restore default HTML dialog/browser fallback behavior.
|
|
5
13
|
*/
|
|
14
|
+
export declare function setDialogAdapter(adapter: DialogAdapter | null): void;
|
|
6
15
|
export interface DialogFilter {
|
|
7
16
|
name?: string;
|
|
8
17
|
extensions: string[];
|
package/dist/dialog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAEpE;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqMD,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,GAAG,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAsB,IAAI,CACxB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAyCnC;AAED,wBAAsB,IAAI,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGlF"}
|
package/dist/dialog.js
CHANGED
|
@@ -2,7 +2,18 @@
|
|
|
2
2
|
* webtau/dialog — Web shim for @tauri-apps/api/dialog.
|
|
3
3
|
*
|
|
4
4
|
* Uses HTML <dialog> when available, with safe browser fallbacks.
|
|
5
|
+
*
|
|
6
|
+
* An optional DialogAdapter can be set via `setDialogAdapter()` to
|
|
7
|
+
* route all dialog operations through an alternative runtime.
|
|
8
|
+
*/
|
|
9
|
+
let dialogAdapter = null;
|
|
10
|
+
/**
|
|
11
|
+
* Set (or clear) a dialog adapter that overrides all dialog functions.
|
|
12
|
+
* Pass `null` to restore default HTML dialog/browser fallback behavior.
|
|
5
13
|
*/
|
|
14
|
+
export function setDialogAdapter(adapter) {
|
|
15
|
+
dialogAdapter = adapter;
|
|
16
|
+
}
|
|
6
17
|
function hasDom() {
|
|
7
18
|
return (typeof document !== "undefined" &&
|
|
8
19
|
typeof document.createElement === "function" &&
|
|
@@ -162,11 +173,15 @@ function filterToAccept(filters) {
|
|
|
162
173
|
return extensions.map((ext) => `.${ext.replace(/^\./, "")}`).join(",");
|
|
163
174
|
}
|
|
164
175
|
export async function message(messageText, options = {}) {
|
|
176
|
+
if (dialogAdapter)
|
|
177
|
+
return dialogAdapter.message(messageText, options);
|
|
165
178
|
await showChoiceDialog(messageText, options, [
|
|
166
179
|
{ value: "ok", label: options.okLabel ?? "OK" },
|
|
167
180
|
]);
|
|
168
181
|
}
|
|
169
182
|
export async function ask(messageText, options = {}) {
|
|
183
|
+
if (dialogAdapter)
|
|
184
|
+
return dialogAdapter.ask(messageText, options);
|
|
170
185
|
const value = await showChoiceDialog(messageText, options, [
|
|
171
186
|
{ value: "ok", label: options.okLabel ?? "OK" },
|
|
172
187
|
{ value: "cancel", label: options.cancelLabel ?? "Cancel" },
|
|
@@ -174,9 +189,13 @@ export async function ask(messageText, options = {}) {
|
|
|
174
189
|
return value === "ok";
|
|
175
190
|
}
|
|
176
191
|
export async function confirm(messageText, options = {}) {
|
|
192
|
+
if (dialogAdapter)
|
|
193
|
+
return dialogAdapter.ask(messageText, options);
|
|
177
194
|
return ask(messageText, options);
|
|
178
195
|
}
|
|
179
196
|
export async function open(options = {}) {
|
|
197
|
+
if (dialogAdapter)
|
|
198
|
+
return dialogAdapter.open(options);
|
|
180
199
|
if (!hasDom())
|
|
181
200
|
return null;
|
|
182
201
|
return new Promise((resolve) => {
|
|
@@ -214,6 +233,8 @@ export async function open(options = {}) {
|
|
|
214
233
|
});
|
|
215
234
|
}
|
|
216
235
|
export async function save(options = {}) {
|
|
236
|
+
if (dialogAdapter)
|
|
237
|
+
return dialogAdapter.save(options);
|
|
217
238
|
return showInputDialog("Select a file path to save.", options);
|
|
218
239
|
}
|
|
219
240
|
//# sourceMappingURL=dialog.js.map
|
package/dist/dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,IAAI,aAAa,GAAyB,IAAI,CAAC;AAE/C;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA6B;IAC5D,aAAa,GAAG,OAAO,CAAC;AAC1B,CAAC;AA8BD,SAAS,MAAM;IACb,OAAO,CACL,OAAO,QAAQ,KAAK,WAAW;QAC/B,OAAO,QAAQ,CAAC,aAAa,KAAK,UAAU;QAC5C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAChB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,CAAC,MAAM,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAsB,CAAC;QACjE,OAAO,OAAO,EAAE,CAAC,SAAS,KAAK,UAAU,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,WAAmB;IACxC,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC3C,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,WAAmB;IAC1C,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC7C,OAAO,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB,EAAE,KAAa;IACxD,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,WAAmB,EACnB,OAA6B,EAC7B,OAAuB;IAEvB,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,aAAa,CAAC,WAAW,CAAC,CAAC;YAC3B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5E,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAsB,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;QAC9C,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC;QACrC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE1B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QACnC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC;QAE7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YACtE,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,WAAmB,EACnB,OAA0B;IAE1B,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrB,OAAO,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAsB,CAAC;QACrE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;QAC5C,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC;QACrC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE1B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QACpB,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QACxC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QAC3B,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;QAClC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE1B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC;QAE7B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnD,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC1B,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC;QACjC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;QACxB,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;QAC7B,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC;YAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,OAAmC;IACzD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,WAAmB,EACnB,UAAgC,EAAE;IAElC,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE;QAC3C,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,WAAmB,EACnB,UAAgC,EAAE;IAElC,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE;QACzD,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;QAC/C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ,EAAE;KAC5D,CAAC,CAAC;IACH,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,WAAmB,EACnB,UAAgC,EAAE;IAElC,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,UAA6B,EAAE;IAE/B,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,EAAE;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;QACpB,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7B,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEpC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,wDAAwD;YACvD,KAA0D,CAAC,eAAe,GAAG,IAAI,CAAC;QACrF,CAAC;QAED,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAElC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChC,MAAM,GAAG,GAAI,IAA+C,CAAC,kBAAkB,CAAC;gBAChF,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,UAA6B,EAAE;IACxD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,eAAe,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/event.d.ts
CHANGED
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Uses a CustomEvent bridge in browser environments, with a
|
|
5
5
|
* lightweight in-memory fallback for non-browser test environments.
|
|
6
|
+
*
|
|
7
|
+
* An optional EventAdapter can be set via `setEventAdapter()` to
|
|
8
|
+
* route all event operations through an alternative runtime.
|
|
6
9
|
*/
|
|
10
|
+
import type { EventAdapter } from "./provider";
|
|
7
11
|
export interface Event<T> {
|
|
8
12
|
event: string;
|
|
9
13
|
id: number;
|
|
@@ -11,6 +15,11 @@ export interface Event<T> {
|
|
|
11
15
|
}
|
|
12
16
|
export type EventCallback<T> = (event: Event<T>) => void;
|
|
13
17
|
export type UnlistenFn = () => void;
|
|
18
|
+
/**
|
|
19
|
+
* Set (or clear) an event adapter that overrides listen/emit.
|
|
20
|
+
* Pass `null` to restore default CustomEvent/fallback behavior.
|
|
21
|
+
*/
|
|
22
|
+
export declare function setEventAdapter(adapter: EventAdapter | null): void;
|
|
14
23
|
export declare function listen<T>(event: string, handler: EventCallback<T>): Promise<UnlistenFn>;
|
|
15
24
|
export declare function once<T>(event: string, handler: EventCallback<T>): Promise<UnlistenFn>;
|
|
16
25
|
export declare function emit<T>(event: string, payload?: T): Promise<void>;
|
package/dist/event.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACzD,MAAM,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC;AAIpC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAElE;AA+DD,wBAAsB,MAAM,CAAC,CAAC,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,UAAU,CAAC,CAuBrB;AAED,wBAAsB,IAAI,CAAC,CAAC,EAC1B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,UAAU,CAAC,CAOrB;AAED,wBAAsB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQvE;AAED,wBAAsB,MAAM,CAAC,CAAC,EAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,CAAC,GACV,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
package/dist/event.js
CHANGED
|
@@ -3,7 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Uses a CustomEvent bridge in browser environments, with a
|
|
5
5
|
* lightweight in-memory fallback for non-browser test environments.
|
|
6
|
+
*
|
|
7
|
+
* An optional EventAdapter can be set via `setEventAdapter()` to
|
|
8
|
+
* route all event operations through an alternative runtime.
|
|
9
|
+
*/
|
|
10
|
+
let eventAdapter = null;
|
|
11
|
+
/**
|
|
12
|
+
* Set (or clear) an event adapter that overrides listen/emit.
|
|
13
|
+
* Pass `null` to restore default CustomEvent/fallback behavior.
|
|
6
14
|
*/
|
|
15
|
+
export function setEventAdapter(adapter) {
|
|
16
|
+
eventAdapter = adapter;
|
|
17
|
+
}
|
|
7
18
|
const domListeners = new Map();
|
|
8
19
|
const fallbackListeners = new Map();
|
|
9
20
|
let nextListenerId = 1;
|
|
@@ -48,6 +59,8 @@ function emitFallback(event, payload) {
|
|
|
48
59
|
}
|
|
49
60
|
}
|
|
50
61
|
export async function listen(event, handler) {
|
|
62
|
+
if (eventAdapter)
|
|
63
|
+
return eventAdapter.listen(event, handler);
|
|
51
64
|
const id = nextListenerId++;
|
|
52
65
|
if (!hasCustomEventBridge()) {
|
|
53
66
|
return addFallbackListener(event, id, handler, false);
|
|
@@ -75,6 +88,8 @@ export async function once(event, handler) {
|
|
|
75
88
|
return unlisten;
|
|
76
89
|
}
|
|
77
90
|
export async function emit(event, payload) {
|
|
91
|
+
if (eventAdapter)
|
|
92
|
+
return eventAdapter.emit(event, payload);
|
|
78
93
|
if (!hasCustomEventBridge()) {
|
|
79
94
|
emitFallback(event, payload);
|
|
80
95
|
return;
|
package/dist/event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"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"}
|
package/dist/fs.d.ts
CHANGED
|
@@ -3,7 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Uses IndexedDB when available, with an in-memory fallback for
|
|
5
5
|
* non-browser test environments.
|
|
6
|
+
*
|
|
7
|
+
* An optional FsAdapter can be set via `setFsAdapter()` to route
|
|
8
|
+
* all filesystem operations through an alternative runtime.
|
|
9
|
+
*/
|
|
10
|
+
import type { FsAdapter } from "./provider";
|
|
11
|
+
/**
|
|
12
|
+
* Set (or clear) a filesystem adapter that overrides all fs operations.
|
|
13
|
+
* Pass `null` to restore default IndexedDB/memory behavior.
|
|
6
14
|
*/
|
|
15
|
+
export declare function setFsAdapter(adapter: FsAdapter | null): void;
|
|
7
16
|
export interface ReadDirOptions {
|
|
8
17
|
recursive?: boolean;
|
|
9
18
|
}
|
package/dist/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAE5D;AAWD,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAgMD,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EAAE,GAAG,MAAM,EACtD,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CASpF;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAK/E;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQvF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAsB,OAAO,CAAC,IAAI,SAAK,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAQzF;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BrF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5E"}
|
package/dist/fs.js
CHANGED
|
@@ -3,7 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Uses IndexedDB when available, with an in-memory fallback for
|
|
5
5
|
* non-browser test environments.
|
|
6
|
+
*
|
|
7
|
+
* An optional FsAdapter can be set via `setFsAdapter()` to route
|
|
8
|
+
* all filesystem operations through an alternative runtime.
|
|
9
|
+
*/
|
|
10
|
+
let fsAdapter = null;
|
|
11
|
+
/**
|
|
12
|
+
* Set (or clear) a filesystem adapter that overrides all fs operations.
|
|
13
|
+
* Pass `null` to restore default IndexedDB/memory behavior.
|
|
6
14
|
*/
|
|
15
|
+
export function setFsAdapter(adapter) {
|
|
16
|
+
fsAdapter = adapter;
|
|
17
|
+
}
|
|
7
18
|
const DB_NAME = "webtau-fs";
|
|
8
19
|
const DB_VERSION = 1;
|
|
9
20
|
const STORE_NAME = "entries";
|
|
@@ -175,11 +186,15 @@ function buildDirEntries(basePath, allEntries, recursive) {
|
|
|
175
186
|
return entries;
|
|
176
187
|
}
|
|
177
188
|
export async function writeTextFile(path, contents, _options) {
|
|
189
|
+
if (fsAdapter)
|
|
190
|
+
return fsAdapter.writeTextFile(path, contents);
|
|
178
191
|
const normalized = requirePath(path);
|
|
179
192
|
await ensureDirChain(parentPath(normalized));
|
|
180
193
|
await putEntry({ path: normalized, kind: "file", text: contents });
|
|
181
194
|
}
|
|
182
195
|
export async function readTextFile(path, _options) {
|
|
196
|
+
if (fsAdapter)
|
|
197
|
+
return fsAdapter.readTextFile(path);
|
|
183
198
|
const normalized = requirePath(path);
|
|
184
199
|
const entry = await getEntry(normalized);
|
|
185
200
|
if (!entry || entry.kind !== "file") {
|
|
@@ -192,6 +207,8 @@ export async function readTextFile(path, _options) {
|
|
|
192
207
|
return "";
|
|
193
208
|
}
|
|
194
209
|
export async function writeFile(path, contents, _options) {
|
|
210
|
+
if (fsAdapter)
|
|
211
|
+
return fsAdapter.writeFile(path, contents);
|
|
195
212
|
const normalized = requirePath(path);
|
|
196
213
|
await ensureDirChain(parentPath(normalized));
|
|
197
214
|
const bytes = toUint8Array(contents);
|
|
@@ -202,6 +219,8 @@ export async function writeFile(path, contents, _options) {
|
|
|
202
219
|
});
|
|
203
220
|
}
|
|
204
221
|
export async function readFile(path, _options) {
|
|
222
|
+
if (fsAdapter)
|
|
223
|
+
return fsAdapter.readFile(path);
|
|
205
224
|
const normalized = requirePath(path);
|
|
206
225
|
const entry = await getEntry(normalized);
|
|
207
226
|
if (!entry || entry.kind !== "file") {
|
|
@@ -212,12 +231,16 @@ export async function readFile(path, _options) {
|
|
|
212
231
|
return new TextEncoder().encode(entry.text ?? "");
|
|
213
232
|
}
|
|
214
233
|
export async function exists(path, _options) {
|
|
234
|
+
if (fsAdapter)
|
|
235
|
+
return fsAdapter.exists(path);
|
|
215
236
|
const normalized = normalizePath(path);
|
|
216
237
|
if (!normalized)
|
|
217
238
|
return true;
|
|
218
239
|
return (await getEntry(normalized)) !== null;
|
|
219
240
|
}
|
|
220
241
|
export async function mkdir(path, options = {}) {
|
|
242
|
+
if (fsAdapter)
|
|
243
|
+
return fsAdapter.mkdir(path, options);
|
|
221
244
|
const normalized = requirePath(path);
|
|
222
245
|
const parent = parentPath(normalized);
|
|
223
246
|
if (!options.recursive && parent && !(await exists(parent))) {
|
|
@@ -229,6 +252,8 @@ export async function createDir(path, options = {}) {
|
|
|
229
252
|
await mkdir(path, options);
|
|
230
253
|
}
|
|
231
254
|
export async function readDir(path = "", options = {}) {
|
|
255
|
+
if (fsAdapter)
|
|
256
|
+
return fsAdapter.readDir(path, options);
|
|
232
257
|
const normalized = normalizePath(path);
|
|
233
258
|
if (normalized && !(await exists(normalized))) {
|
|
234
259
|
throw new Error(`[webtau/fs] Directory not found: ${normalized}`);
|
|
@@ -237,6 +262,8 @@ export async function readDir(path = "", options = {}) {
|
|
|
237
262
|
return buildDirEntries(normalized, all, !!options.recursive);
|
|
238
263
|
}
|
|
239
264
|
export async function remove(path, options = {}) {
|
|
265
|
+
if (fsAdapter)
|
|
266
|
+
return fsAdapter.remove(path, options);
|
|
240
267
|
const normalized = normalizePath(path);
|
|
241
268
|
if (!normalized) {
|
|
242
269
|
if (!options.recursive) {
|
|
@@ -277,6 +304,8 @@ export async function removeDir(path, options = {}) {
|
|
|
277
304
|
* ```
|
|
278
305
|
*/
|
|
279
306
|
export async function copyFile(fromPath, toPath) {
|
|
307
|
+
if (fsAdapter)
|
|
308
|
+
return fsAdapter.copyFile(fromPath, toPath);
|
|
280
309
|
const normalizedFrom = requirePath(fromPath);
|
|
281
310
|
const normalizedTo = requirePath(toPath);
|
|
282
311
|
const entry = await getEntry(normalizedFrom);
|
|
@@ -298,6 +327,8 @@ export async function copyFile(fromPath, toPath) {
|
|
|
298
327
|
* ```
|
|
299
328
|
*/
|
|
300
329
|
export async function rename(oldPath, newPath) {
|
|
330
|
+
if (fsAdapter)
|
|
331
|
+
return fsAdapter.rename(oldPath, newPath);
|
|
301
332
|
const normalizedOld = requirePath(oldPath);
|
|
302
333
|
const normalizedNew = requirePath(newPath);
|
|
303
334
|
const entry = await getEntry(normalizedOld);
|
package/dist/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* webtau/provider — Adapter interfaces for runtime providers.
|
|
3
|
+
*
|
|
4
|
+
* Types only — no runtime logic. Each interface defines the contract
|
|
5
|
+
* that a runtime provider (Tauri, Electrobun, etc.) must implement
|
|
6
|
+
* for the corresponding webtau module.
|
|
7
|
+
*/
|
|
8
|
+
import type { MessageDialogOptions, OpenDialogOptions, SaveDialogOptions } from "./dialog";
|
|
9
|
+
import type { EventCallback, UnlistenFn } from "./event";
|
|
10
|
+
import type { CreateDirOptions, FsEntry, ReadDirOptions, RemoveOptions } from "./fs";
|
|
11
|
+
export interface CoreProvider {
|
|
12
|
+
/** Unique identifier for this runtime (e.g. "tauri", "electrobun"). */
|
|
13
|
+
id: string;
|
|
14
|
+
/** Invoke a command on the runtime backend. */
|
|
15
|
+
invoke<T = unknown>(command: string, args?: Record<string, unknown>): Promise<T>;
|
|
16
|
+
/** Convert a file path to a URL suitable for loading assets. */
|
|
17
|
+
convertFileSrc(filePath: string, protocol?: string): string;
|
|
18
|
+
}
|
|
19
|
+
export interface WindowAdapter {
|
|
20
|
+
isFullscreen(): Promise<boolean>;
|
|
21
|
+
setFullscreen(fullscreen: boolean): Promise<void>;
|
|
22
|
+
innerSize(): Promise<{
|
|
23
|
+
width: number;
|
|
24
|
+
height: number;
|
|
25
|
+
type: string;
|
|
26
|
+
}>;
|
|
27
|
+
outerSize(): Promise<{
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
type: string;
|
|
31
|
+
}>;
|
|
32
|
+
setSize(size: {
|
|
33
|
+
width: number;
|
|
34
|
+
height: number;
|
|
35
|
+
type: string;
|
|
36
|
+
}): Promise<void>;
|
|
37
|
+
maximize(): Promise<void>;
|
|
38
|
+
isMaximized(): Promise<boolean>;
|
|
39
|
+
title(): Promise<string>;
|
|
40
|
+
setTitle(title: string): Promise<void>;
|
|
41
|
+
close(): Promise<void>;
|
|
42
|
+
minimize(): Promise<void>;
|
|
43
|
+
unminimize(): Promise<void>;
|
|
44
|
+
show(): Promise<void>;
|
|
45
|
+
hide(): Promise<void>;
|
|
46
|
+
setDecorations(decorations: boolean): Promise<void>;
|
|
47
|
+
center(): Promise<void>;
|
|
48
|
+
currentMonitor(): Promise<{
|
|
49
|
+
name: string | null;
|
|
50
|
+
size: {
|
|
51
|
+
width: number;
|
|
52
|
+
height: number;
|
|
53
|
+
};
|
|
54
|
+
position: {
|
|
55
|
+
x: number;
|
|
56
|
+
y: number;
|
|
57
|
+
};
|
|
58
|
+
scaleFactor: number;
|
|
59
|
+
} | null>;
|
|
60
|
+
scaleFactor(): Promise<number>;
|
|
61
|
+
}
|
|
62
|
+
export interface EventAdapter {
|
|
63
|
+
listen<T>(event: string, handler: EventCallback<T>): Promise<UnlistenFn>;
|
|
64
|
+
emit<T>(event: string, payload?: T): Promise<void>;
|
|
65
|
+
}
|
|
66
|
+
export interface FsAdapter {
|
|
67
|
+
writeTextFile(path: string, contents: string): Promise<void>;
|
|
68
|
+
readTextFile(path: string): Promise<string>;
|
|
69
|
+
writeFile(path: string, contents: Uint8Array | ArrayBuffer | number[] | string): Promise<void>;
|
|
70
|
+
readFile(path: string): Promise<Uint8Array>;
|
|
71
|
+
exists(path: string): Promise<boolean>;
|
|
72
|
+
mkdir(path: string, options?: CreateDirOptions): Promise<void>;
|
|
73
|
+
readDir(path: string, options?: ReadDirOptions): Promise<FsEntry[]>;
|
|
74
|
+
remove(path: string, options?: RemoveOptions): Promise<void>;
|
|
75
|
+
copyFile(fromPath: string, toPath: string): Promise<void>;
|
|
76
|
+
rename(oldPath: string, newPath: string): Promise<void>;
|
|
77
|
+
}
|
|
78
|
+
export interface DialogAdapter {
|
|
79
|
+
message(text: string, options?: MessageDialogOptions): Promise<void>;
|
|
80
|
+
ask(text: string, options?: MessageDialogOptions): Promise<boolean>;
|
|
81
|
+
open(options?: OpenDialogOptions): Promise<string | string[] | null>;
|
|
82
|
+
save(options?: SaveDialogOptions): Promise<string | null>;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/provider.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* webtau/provider — Adapter interfaces for runtime providers.
|
|
3
|
+
*
|
|
4
|
+
* Types only — no runtime logic. Each interface defines the contract
|
|
5
|
+
* that a runtime provider (Tauri, Electrobun, etc.) must implement
|
|
6
|
+
* for the corresponding webtau module.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
package/dist/window.d.ts
CHANGED
|
@@ -4,8 +4,17 @@
|
|
|
4
4
|
* Provides getCurrentWindow() returning a WebWindow that implements
|
|
5
5
|
* the subset of Tauri's Window API that games typically use,
|
|
6
6
|
* backed by the Fullscreen API, document.title, and screen.*.
|
|
7
|
+
*
|
|
8
|
+
* An optional WindowAdapter can be set via `setWindowAdapter()` to
|
|
9
|
+
* route all window operations through an alternative runtime.
|
|
7
10
|
*/
|
|
8
11
|
import { type LogicalSize, PhysicalPosition, PhysicalSize } from "./dpi";
|
|
12
|
+
import type { WindowAdapter } from "./provider";
|
|
13
|
+
/**
|
|
14
|
+
* Set (or clear) a window adapter that overrides all WebWindow methods.
|
|
15
|
+
* Pass `null` to restore default browser-based behavior.
|
|
16
|
+
*/
|
|
17
|
+
export declare function setWindowAdapter(adapter: WindowAdapter | null): void;
|
|
9
18
|
interface Monitor {
|
|
10
19
|
name: string | null;
|
|
11
20
|
size: PhysicalSize;
|
package/dist/window.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../src/window.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../src/window.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAEpE;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,SAAS;IAGP,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAKhC,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAejD,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAQlC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAQlC,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQzB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAO/B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAKxB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C,kFAAkF;IAC5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,qDAAqD;IAC/C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,uDAAuD;IACjD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,gEAAgE;IAC1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,iEAAiE;IAC3D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,cAAc,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IASvB,cAAc,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAmBzC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;CAIrC;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,CAK5C"}
|
package/dist/window.js
CHANGED
|
@@ -4,14 +4,29 @@
|
|
|
4
4
|
* Provides getCurrentWindow() returning a WebWindow that implements
|
|
5
5
|
* the subset of Tauri's Window API that games typically use,
|
|
6
6
|
* backed by the Fullscreen API, document.title, and screen.*.
|
|
7
|
+
*
|
|
8
|
+
* An optional WindowAdapter can be set via `setWindowAdapter()` to
|
|
9
|
+
* route all window operations through an alternative runtime.
|
|
7
10
|
*/
|
|
8
11
|
import { PhysicalPosition, PhysicalSize } from "./dpi";
|
|
12
|
+
let windowAdapter = null;
|
|
13
|
+
/**
|
|
14
|
+
* Set (or clear) a window adapter that overrides all WebWindow methods.
|
|
15
|
+
* Pass `null` to restore default browser-based behavior.
|
|
16
|
+
*/
|
|
17
|
+
export function setWindowAdapter(adapter) {
|
|
18
|
+
windowAdapter = adapter;
|
|
19
|
+
}
|
|
9
20
|
class WebWindow {
|
|
10
21
|
// ── Fullscreen ──
|
|
11
22
|
async isFullscreen() {
|
|
23
|
+
if (windowAdapter)
|
|
24
|
+
return windowAdapter.isFullscreen();
|
|
12
25
|
return !!document.fullscreenElement;
|
|
13
26
|
}
|
|
14
27
|
async setFullscreen(fullscreen) {
|
|
28
|
+
if (windowAdapter)
|
|
29
|
+
return windowAdapter.setFullscreen(fullscreen);
|
|
15
30
|
if (fullscreen) {
|
|
16
31
|
if (!document.fullscreenElement) {
|
|
17
32
|
await document.documentElement.requestFullscreen();
|
|
@@ -25,12 +40,22 @@ class WebWindow {
|
|
|
25
40
|
}
|
|
26
41
|
// ── Window size ──
|
|
27
42
|
async innerSize() {
|
|
43
|
+
if (windowAdapter) {
|
|
44
|
+
const s = await windowAdapter.innerSize();
|
|
45
|
+
return new PhysicalSize(s.width, s.height);
|
|
46
|
+
}
|
|
28
47
|
return new PhysicalSize(window.innerWidth, window.innerHeight);
|
|
29
48
|
}
|
|
30
49
|
async outerSize() {
|
|
50
|
+
if (windowAdapter) {
|
|
51
|
+
const s = await windowAdapter.outerSize();
|
|
52
|
+
return new PhysicalSize(s.width, s.height);
|
|
53
|
+
}
|
|
31
54
|
return new PhysicalSize(window.outerWidth, window.outerHeight);
|
|
32
55
|
}
|
|
33
56
|
async setSize(size) {
|
|
57
|
+
if (windowAdapter)
|
|
58
|
+
return windowAdapter.setSize(size);
|
|
34
59
|
if (size.type === "Logical") {
|
|
35
60
|
window.resizeTo(size.width, size.height);
|
|
36
61
|
}
|
|
@@ -41,47 +66,84 @@ class WebWindow {
|
|
|
41
66
|
}
|
|
42
67
|
// ── Minimize / Maximize (limited on web) ──
|
|
43
68
|
async maximize() {
|
|
69
|
+
if (windowAdapter)
|
|
70
|
+
return windowAdapter.maximize();
|
|
44
71
|
// Best approximation: go fullscreen
|
|
45
72
|
if (!document.fullscreenElement) {
|
|
46
73
|
await document.documentElement.requestFullscreen();
|
|
47
74
|
}
|
|
48
75
|
}
|
|
49
76
|
async isMaximized() {
|
|
77
|
+
if (windowAdapter)
|
|
78
|
+
return windowAdapter.isMaximized();
|
|
50
79
|
return !!document.fullscreenElement;
|
|
51
80
|
}
|
|
52
81
|
// ── Title ──
|
|
53
82
|
async title() {
|
|
83
|
+
if (windowAdapter)
|
|
84
|
+
return windowAdapter.title();
|
|
54
85
|
return document.title;
|
|
55
86
|
}
|
|
56
87
|
async setTitle(title) {
|
|
88
|
+
if (windowAdapter)
|
|
89
|
+
return windowAdapter.setTitle(title);
|
|
57
90
|
document.title = title;
|
|
58
91
|
}
|
|
59
92
|
// ── Close / Minimize / Show / Hide ──
|
|
60
93
|
/** Best-effort close — browsers may ignore this for non-script-opened windows. */
|
|
61
94
|
async close() {
|
|
95
|
+
if (windowAdapter)
|
|
96
|
+
return windowAdapter.close();
|
|
62
97
|
window.close();
|
|
63
98
|
}
|
|
64
99
|
/** No-op on web — browsers don't expose minimize. */
|
|
65
|
-
async minimize() {
|
|
100
|
+
async minimize() {
|
|
101
|
+
if (windowAdapter)
|
|
102
|
+
return windowAdapter.minimize();
|
|
103
|
+
}
|
|
66
104
|
/** No-op on web — browsers don't expose unminimize. */
|
|
67
|
-
async unminimize() {
|
|
105
|
+
async unminimize() {
|
|
106
|
+
if (windowAdapter)
|
|
107
|
+
return windowAdapter.unminimize();
|
|
108
|
+
}
|
|
68
109
|
/** No-op on web — window is always visible in a browser tab. */
|
|
69
|
-
async show() {
|
|
110
|
+
async show() {
|
|
111
|
+
if (windowAdapter)
|
|
112
|
+
return windowAdapter.show();
|
|
113
|
+
}
|
|
70
114
|
/** No-op on web — cannot hide a browser tab programmatically. */
|
|
71
|
-
async hide() {
|
|
115
|
+
async hide() {
|
|
116
|
+
if (windowAdapter)
|
|
117
|
+
return windowAdapter.hide();
|
|
118
|
+
}
|
|
72
119
|
// ── Decorations (no-op on web) ──
|
|
73
120
|
async setDecorations(_decorations) {
|
|
121
|
+
if (windowAdapter)
|
|
122
|
+
return windowAdapter.setDecorations(_decorations);
|
|
74
123
|
// Browser chrome is not controllable from JS.
|
|
75
124
|
// No-op to maintain API compatibility.
|
|
76
125
|
}
|
|
77
126
|
// ── Position ──
|
|
78
127
|
async center() {
|
|
128
|
+
if (windowAdapter)
|
|
129
|
+
return windowAdapter.center();
|
|
79
130
|
const left = (screen.width - window.outerWidth) / 2;
|
|
80
131
|
const top = (screen.height - window.outerHeight) / 2;
|
|
81
132
|
window.moveTo(left, top);
|
|
82
133
|
}
|
|
83
134
|
// ── Monitor ──
|
|
84
135
|
async currentMonitor() {
|
|
136
|
+
if (windowAdapter) {
|
|
137
|
+
const m = await windowAdapter.currentMonitor();
|
|
138
|
+
if (!m)
|
|
139
|
+
return null;
|
|
140
|
+
return {
|
|
141
|
+
name: m.name,
|
|
142
|
+
size: new PhysicalSize(m.size.width, m.size.height),
|
|
143
|
+
position: new PhysicalPosition(m.position.x, m.position.y),
|
|
144
|
+
scaleFactor: m.scaleFactor,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
85
147
|
return {
|
|
86
148
|
name: null,
|
|
87
149
|
size: new PhysicalSize(screen.width, screen.height),
|
|
@@ -90,6 +152,8 @@ class WebWindow {
|
|
|
90
152
|
};
|
|
91
153
|
}
|
|
92
154
|
async scaleFactor() {
|
|
155
|
+
if (windowAdapter)
|
|
156
|
+
return windowAdapter.scaleFactor();
|
|
93
157
|
return window.devicePixelRatio;
|
|
94
158
|
}
|
|
95
159
|
}
|
package/dist/window.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.js","sourceRoot":"","sources":["../src/window.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"window.js","sourceRoot":"","sources":["../src/window.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "webtau",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0-alpha.2",
|
|
4
4
|
"description": "Deploy Tauri games to web + desktop from one codebase",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -57,6 +57,10 @@
|
|
|
57
57
|
"./path": {
|
|
58
58
|
"types": "./dist/path.d.ts",
|
|
59
59
|
"import": "./dist/path.js"
|
|
60
|
+
},
|
|
61
|
+
"./provider": {
|
|
62
|
+
"types": "./dist/provider.d.ts",
|
|
63
|
+
"import": "./dist/provider.js"
|
|
60
64
|
}
|
|
61
65
|
},
|
|
62
66
|
"files": [
|