UNPKG

express-cache-file

Version:

Express middleware to cache static files in server memory

32 lines (31 loc) 929 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = require("fs"); const mime_1 = __importDefault(require("./mime")); function getFsFile(mode) { if (mode === 'sync') { return getSync; } return getAsync; } function getSync(file, cb) { try { let buffer = (0, fs_1.readFileSync)(file); getContent(file, buffer, cb); } catch (error) { cb(error, null); } } function getAsync(file, cb) { (0, fs_1.readFile)(file, (err, buffer) => err ? cb(err, null) : getContent(file, buffer, cb)); } function getContent(file, buffer, cb) { (0, mime_1.default)(file, buffer) .then((mimeType) => cb(null, { buffer, mimeType })) .catch((err) => cb(err, null)); } exports.default = getFsFile;