@mischback/buster
Version:
buster is a tool to support cache busting for static assets of a website.
42 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.writeJsonToFile = exports.loadJsonFromFile = exports.JsonInterfaceError = void 0;
const promises_1 = require("fs/promises");
class JsonInterfaceError extends Error {
constructor(message, err) {
super(message);
this.originalError = err;
}
}
exports.JsonInterfaceError = JsonInterfaceError;
function loadJsonFromFile(filename) {
return new Promise((resolve, reject) => {
(0, promises_1.readFile)(filename, "utf-8")
.then((fileContent) => {
try {
const parsedContent = JSON.parse(fileContent);
return resolve(parsedContent);
}
catch (err) {
return reject(new JsonInterfaceError(`Error while parsing content of "${filename}"`, err));
}
})
.catch((err) => {
return reject(new JsonInterfaceError(`Could not read "${filename}"`, err));
});
});
}
exports.loadJsonFromFile = loadJsonFromFile;
function writeJsonToFile(filename, jsonData) {
return new Promise((resolve, reject) => {
(0, promises_1.writeFile)(filename, JSON.stringify(jsonData))
.then(() => {
return resolve();
})
.catch((err) => {
return reject(new JsonInterfaceError(`Could not write to file "${filename}"`, err));
});
});
}
exports.writeJsonToFile = writeJsonToFile;
//# sourceMappingURL=json-interface.js.map