tessradb
Version:
A local noSQL database
35 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.objWriteStream = exports.writeFileSync = exports.writeFile = void 0;
const fs = require("fs");
const path = require("path");
const JSONS = require("JSONStream");
function getTemp(name) {
return path.join(path.dirname(name), path.basename(name) + ".tetmp");
}
async function writeFile(fileName, data) {
let tempFileName = getTemp(fileName);
await fs.promises.writeFile(tempFileName, data, "utf-8");
await fs.promises.rename(tempFileName, fileName);
}
exports.writeFile = writeFile;
function writeFileSync(fileName, data) {
let tempFileName = getTemp(fileName);
fs.writeFileSync(tempFileName, data, "utf-8");
fs.renameSync(tempFileName, fileName);
}
exports.writeFileSync = writeFileSync;
async function objWriteStream(fileName) {
let tempFileName = getTemp(fileName);
let writeStream = fs.createWriteStream(tempFileName);
let objStream = JSONS.stringify("[", ",", "]");
objStream.pipe(writeStream);
async function end() {
objStream.end();
await fs.promises.rename(tempFileName, fileName);
writeStream.destroy();
}
return { stream: objStream, end };
}
exports.objWriteStream = objWriteStream;
//# sourceMappingURL=atomWrite.js.map