@tauri-apps_api_tauri.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import "./chunk-76J2PTFD.js";
  2. // node_modules/@tauri-apps/api/tauri.js
  3. function uid() {
  4. return window.crypto.getRandomValues(new Uint32Array(1))[0];
  5. }
  6. function transformCallback(callback, once = false) {
  7. const identifier = uid();
  8. const prop = `_${identifier}`;
  9. Object.defineProperty(window, prop, {
  10. value: (result) => {
  11. if (once) {
  12. Reflect.deleteProperty(window, prop);
  13. }
  14. return callback === null || callback === void 0 ? void 0 : callback(result);
  15. },
  16. writable: false,
  17. configurable: true
  18. });
  19. return identifier;
  20. }
  21. async function invoke(cmd, args = {}) {
  22. return new Promise((resolve, reject) => {
  23. const callback = transformCallback((e) => {
  24. resolve(e);
  25. Reflect.deleteProperty(window, `_${error}`);
  26. }, true);
  27. const error = transformCallback((e) => {
  28. reject(e);
  29. Reflect.deleteProperty(window, `_${callback}`);
  30. }, true);
  31. window.__TAURI_IPC__({
  32. cmd,
  33. callback,
  34. error,
  35. ...args
  36. });
  37. });
  38. }
  39. function convertFileSrc(filePath, protocol = "asset") {
  40. return window.__TAURI__.convertFileSrc(filePath, protocol);
  41. }
  42. export {
  43. convertFileSrc,
  44. invoke,
  45. transformCallback
  46. };
  47. //# sourceMappingURL=@tauri-apps_api_tauri.js.map