當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript sf.writeFile函數代碼示例

本文整理匯總了TypeScript中main/os/sf.writeFile函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript writeFile函數的具體用法?TypeScript writeFile怎麽用?TypeScript writeFile使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了writeFile函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: function

 save: function() {
   const promise = writeFile(configFile, JSON.stringify(data), {
     encoding: "utf8",
   });
   promise.catch(err => {
     console.warn(`Could not save config: ${err}`);
   });
 },
開發者ID:itchio,項目名稱:itch,代碼行數:8,代碼來源:config.ts

示例2: async

  watcher.on(actions.updatePreferences, async (store, action) => {
    const prefs = store.getState().preferences;

    // write prefs atomically
    const file = preferencesPath();
    const tmpPath = file + ".tmp" + saveAtomicInvocations++;
    await sf.writeFile(tmpPath, JSON.stringify(prefs), { encoding: "utf8" });
    await sf.rename(tmpPath, file);
  });
開發者ID:itchio,項目名稱:itch,代碼行數:9,代碼來源:preferences.ts

示例3: writeCrashLog

async function writeCrashLog(e: Error) {
  const crashFile = path.join(
    app.getPath("userData"),
    "crash_logs",
    `${+new Date()}.txt`
  );

  let log = "";
  log += e.stack || e.message || e;

  if (process.platform === "win32") {
    log = log.replace(/\n/g, "\r\n");
  }
  await writeFile(crashFile, log, { encoding: "utf8" });

  return { log, crashFile };
}
開發者ID:itchio,項目名稱:itch,代碼行數:17,代碼來源:crash-reporter.ts

示例4: updateOpenAtLoginState

async function updateOpenAtLoginState(
  store: Store,
  openAtLogin: boolean,
  openAsHidden: boolean
) {
  logger.debug(
    `Updating login item settings, open=${openAtLogin}, hidden=${openAsHidden}`
  );

  const app = require("electron").app;

  if (process.platform === "linux") {
    // cf. https://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html#startup
    const configHome =
      process.env.XDG_CONFIG_HOME ||
      ospath.join(app.getPath("home"), ".config", "autostart");
    const desktopFileName = `io.itch.${app.getName()}.desktop`;
    const desktopFilePath = ospath.join(
      "/usr/share/applications",
      desktopFileName
    );
    const autostartFilePath = ospath.join(configHome, desktopFileName);

    logger.debug(`Copying ${desktopFilePath} => ${autostartFilePath}`);

    if (openAtLogin) {
      try {
        if (!(await exists(desktopFilePath))) {
          store.dispatch(
            actions.openAtLoginError({ cause: "no_desktop_file" })
          );
          return;
        }

        if (!(await exists(configHome))) {
          await mkdir(configHome);
        }

        const desktopContents = await readFile(desktopFilePath, {
          encoding: "utf8",
        });
        if (await exists(autostartFilePath)) {
          await unlink(autostartFilePath);
        }

        await writeFile(autostartFilePath, desktopContents, {
          encoding: "utf8",
        });
      } catch (err) {
        logger.error(
          `Error while symlinking ${autostartFilePath}: ${err.message}`
        );
        store.dispatch(
          actions.openAtLoginError({ cause: "error", message: err.message })
        );
        return;
      }
    } else {
      try {
        await unlink(autostartFilePath);
      } catch (err) {
        if (err.code === "ENOENT") {
          // not even there, good!
        } else {
          logger.error(
            `Error while unlinking ${autostartFilePath}: ${err.message}`
          );
          return;
        }
      }

      store.dispatch(actions.openAtLoginError(null));
    }
  } else {
    // macOS, Windows
    app.setLoginItemSettings({
      openAtLogin: openAtLogin,
      openAsHidden: openAsHidden,
    });
  }
}
開發者ID:itchio,項目名稱:itch,代碼行數:81,代碼來源:open-at-login.ts


注:本文中的main/os/sf.writeFile函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。