file-cms
Version:
File based Content Management System, easy to use with content stored in native file system
22 lines (21 loc) • 790 B
JavaScript
import { __awaiter, __generator } from "tslib";
import { readdir } from "fs/promises";
import path from "path";
var cache = {};
export var listDirCached = function (dir) { return __awaiter(void 0, void 0, void 0, function () {
var normalizedDir, _a, _b;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
normalizedDir = path.normalize(dir);
if (!(cache[normalizedDir] === undefined)) return [3 /*break*/, 2];
_a = cache;
_b = normalizedDir;
return [4 /*yield*/, readdir(normalizedDir)];
case 1:
_a[_b] = _c.sent();
_c.label = 2;
case 2: return [2 /*return*/, cache[normalizedDir]];
}
});
}); };