本文整理匯總了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}`);
});
},
示例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);
});
示例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 };
}
示例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,
});
}
}