UNPKG

@mischback/buster

Version:

buster is a tool to support cache busting for static assets of a website.

42 lines 1.52 kB
"use strict"; 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