UNPKG

@mischback/buster

Version:

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

61 lines 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createFile = exports.BusterFileSystemError = void 0; const promises_1 = require("fs/promises"); const configure_1 = require("../configure"); const errors_1 = require("../errors"); const logging_1 = require("../logging"); class BusterFileSystemError extends errors_1.BusterError { constructor(message) { super(message); } } exports.BusterFileSystemError = BusterFileSystemError; function copyFile(source, destination) { return new Promise((resolve, reject) => { (0, promises_1.copyFile)(source, destination) .then(() => { return resolve(destination); }) .catch((err) => { logging_1.logger.debug(err); return reject(new BusterFileSystemError("Could not copy file")); }); }); } function renameFile(source, destination) { return new Promise((resolve, reject) => { (0, promises_1.rename)(source, destination) .then(() => { return resolve(destination); }) .catch((err) => { logging_1.logger.debug(err); return reject(new BusterFileSystemError("Could not rename file")); }); }); } function createFile(source, destination, mode) { return new Promise((resolve, reject) => { let fileFunc; switch (mode) { case configure_1.MODE_COPY: fileFunc = copyFile; break; case configure_1.MODE_RENAME: fileFunc = renameFile; break; default: return reject(new BusterFileSystemError("Unknown mode")); } fileFunc(source, destination) .then(() => { return resolve(destination); }) .catch((err) => { return reject(err); }); }); } exports.createFile = createFile; //# sourceMappingURL=filesystem.js.map