UNPKG

700 BJavaScriptView Raw
1const semver = require('semver');
2
3/**
4 * Filter the entires based on the prefix.
5 *
6 * @param {String} version - The server version.
7 * @param {Array} entries - The entries to filter.
8 * @param {String} prefix - The prefix.
9 *
10 * @returns {Array} The matching entries.
11 */
12const filter = (version, entries, prefix) => {
13 const parsedVersion = semver.parse(version);
14 return entries.filter((e) => {
15 if (!e.name) return false;
16 const cleanVersion = parsedVersion ? [
17 parsedVersion.major,
18 parsedVersion.minor,
19 parsedVersion.patch
20 ].join('.') : version;
21 return e.name.startsWith(prefix) &&
22 semver.gte(cleanVersion, e.version);
23 });
24};
25
26module.exports = filter;