md-html-to-pdf
Version:
CLI tool for converting Markdown files or Html files to PDF.
41 lines (40 loc) • 1.44 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.closeServer = exports.serveDirectory = void 0;
const http_1 = require("http");
const serve_handler_1 = __importDefault(require("serve-handler"));
// let serverPromise: Promise<any> | null;
// let serverCount = 0;
/**
* Serve a directory on a random port using a HTTP server and the serve-handler package.
*
* @returns a promise that resolves with the server instance once the server is ready and listening.
*/
const serveDirectory = async (basedir, port) => {
// serverCount++;
// if (serverPromise) {
// return serverPromise;
// }
const serverPromise = new Promise((resolve) => {
const server = (0, http_1.createServer)(async (request, response) => (0, serve_handler_1.default)(request, response, { public: basedir }));
server.listen(port, () => resolve(server));
});
return serverPromise;
};
exports.serveDirectory = serveDirectory;
/**
* Close the given server instance asynchronously.
*/
const closeServer = async (server) => {
// if (serverCount > 1) {
// serverCount--;
// return;
// }
// serverPromise = null;
// serverCount = 0;
return new Promise((resolve) => server.close(resolve));
};
exports.closeServer = closeServer;
;