diff --git a/plugins/os/guest-js/index.ts b/plugins/os/guest-js/index.ts index 7104c03a..5c85b579 100644 --- a/plugins/os/guest-js/index.ts +++ b/plugins/os/guest-js/index.ts @@ -11,8 +11,8 @@ declare global { interface Window { __TAURI_INVOKE__: (cmd: string, args?: unknown) => Promise; - __TAURI_OS__: { - EOL: string; + __TAURI__: { + os: { __eol: string }; }; } } @@ -52,7 +52,7 @@ type Arch = * @since 2.0.0 * */ function eol() { - return window.__TAURI_OS__.EOL; + return window.__TAURI__.os.__eol; } /** diff --git a/plugins/os/src/api-iife.js b/plugins/os/src/api-iife.js index e47a5aaa..98ed20a7 100644 --- a/plugins/os/src/api-iife.js +++ b/plugins/os/src/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_OS__=function(n){"use strict";return n.arch=async function(){return window.__TAURI_INVOKE__("plugin:os|arch")},n.eol=function(){return window.__TAURI_OS__.EOL},n.exeExtension=async function(){return window.__TAURI_INVOKE__("plugin:os|exe_extension")},n.family=async function(){return window.__TAURI_INVOKE__("plugin:os|family")},n.hostname=async function(){return window.__TAURI_INVOKE__("plugin:os|hostname")},n.locale=async function(){return window.__TAURI_INVOKE__("plugin:os|locale")},n.platform=async function(){return window.__TAURI_INVOKE__("plugin:os|platform")},n.type=async function(){return window.__TAURI_INVOKE__("plugin:os|os_type")},n.version=async function(){return window.__TAURI_INVOKE__("plugin:os|version")},n}({});Object.defineProperty(window.__TAURI__,"os",{value:__TAURI_OS__})} +if("__TAURI__"in window){var __TAURI_OS__=function(n){"use strict";return n.arch=async function(){return window.__TAURI_INVOKE__("plugin:os|arch")},n.eol=function(){return window.__TAURI__.os.__eol},n.exeExtension=async function(){return window.__TAURI_INVOKE__("plugin:os|exe_extension")},n.family=async function(){return window.__TAURI_INVOKE__("plugin:os|family")},n.hostname=async function(){return window.__TAURI_INVOKE__("plugin:os|hostname")},n.locale=async function(){return window.__TAURI_INVOKE__("plugin:os|locale")},n.platform=async function(){return window.__TAURI_INVOKE__("plugin:os|platform")},n.type=async function(){return window.__TAURI_INVOKE__("plugin:os|os_type")},n.version=async function(){return window.__TAURI_INVOKE__("plugin:os|version")},n}({});Object.defineProperty(window.__TAURI__,"os",{value:__TAURI_OS__})} diff --git a/plugins/os/src/init.js b/plugins/os/src/init.js new file mode 100644 index 00000000..9a22992f --- /dev/null +++ b/plugins/os/src/init.js @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +if (!("os" in window.__TAURI__)) { + window.__TAURI__.os = {}; +} + +window.__TAURI__.os.__eol = __TEMPLATE_eol__; diff --git a/plugins/os/src/lib.rs b/plugins/os/src/lib.rs index e1c30b81..33c8fa93 100644 --- a/plugins/os/src/lib.rs +++ b/plugins/os/src/lib.rs @@ -97,7 +97,7 @@ pub fn init() -> TauriPlugin { let eol = "\r\n"; #[cfg(not(windows))] let eol = "\n"; - init_script.push_str(&format!("window.__TAURI_OS__.EOL = '{eol}';")); + init_script.push_str(&include_str!("init.js").replace("__TEMPLATE_eol__", eol)); Builder::new("os") .js_init_script(init_script)