@typed/content-hash
Version:
Content hash a directory of HTML/JS/CSS files and other static assets
21 lines • 917 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toDependencyMap = void 0;
const tslib_1 = require("tslib");
const function_1 = require("fp-ts/function");
const Option_1 = require("fp-ts/Option");
const RA = (0, tslib_1.__importStar)(require("fp-ts/ReadonlyArray"));
const RM = (0, tslib_1.__importStar)(require("fp-ts/ReadonlyMap"));
function toDependencyMap(graph, eq = graph) {
return (0, function_1.pipe)(graph.edges, RA.reduce(new Map(), applyEdge(eq)));
}
exports.toDependencyMap = toDependencyMap;
function applyEdge(eq) {
const lookup = RM.lookup(eq);
const upsertAt = RM.upsertAt(eq);
return (map, edge) => {
const [from, to] = edge;
return (0, function_1.pipe)(map, upsertAt(from, (0, function_1.pipe)(map, lookup(from), (0, Option_1.getOrElse)(() => []), RA.append(to), RA.uniq(eq))));
};
}
//# sourceMappingURL=toDependencyMap.js.map