@softwareventures/maintain-project
Version:
Automatically create and maintain TypeScript projects with standard settings for Software Ventures Limited
19 lines • 965 B
JavaScript
import releaseSchedule from "node-releases/data/release-schedule/release-schedule.json" assert { type: "json" };
import { afterOrEqual, beforeOrEqual, parseIso8601 } from "@softwareventures/date";
import { chain } from "@softwareventures/chain";
import { entries } from "@softwareventures/dictionary";
import { filterFn, mapFn } from "@softwareventures/array";
export function nodeReleasesSupportedInDateRange(dates) {
return chain(entries(releaseSchedule))
.map(mapFn(([version, { start, end }]) => ({
version: version.replace(/^v/u, ""),
start: parseIso8601(start),
end: parseIso8601(end)
})))
.map(filterFn(({ start, end }) => start != null &&
end != null &&
(dates.start == null || afterOrEqual(end, dates.start)) &&
(dates.end == null || beforeOrEqual(start, dates.end))))
.map(mapFn(({ version }) => version)).value;
}
//# sourceMappingURL=releases-supported-in-date-range.js.map