ref: use Releases.latest() and Releases.sample()

This commit is contained in:
AJ ONeal
2024-09-13 08:33:32 +00:00
parent 941453677e
commit 15098ba1d2
2 changed files with 22 additions and 10 deletions
+16 -8
View File
@@ -12,19 +12,27 @@ var repo = 'ripgrep';
/** **/
/******************************************************************************/
module.exports = async function (request) {
let Releases = module.exports;
Releases.latest = async function (request) {
let all = await github(request, owner, repo);
return all;
};
Releases.sample = async function () {
let request = require('@root/request');
let normalize = require('../_webi/normalize.js');
let all = await module.exports(request);
all = normalize(all);
// just select the first 5 for demonstration
all.releases = all.releases.slice(0, 5);
return all;
};
if (module === require.main) {
(async function () {
let request = require('@root/request');
let normalize = require('../_webi/normalize.js');
let all = await module.exports(request);
all = normalize(all);
// just select the first 5 for demonstration
all.releases = all.releases.slice(0, 5);
console.info(JSON.stringify(all, null, 2));
let samples = await Releases.sample();
console.info(JSON.stringify(samples, null, 2));
})();
}
+6 -2
View File
@@ -17,14 +17,18 @@ let installerDir = path.join(__dirname, '..');
Releases.get = async function (pkgdir) {
let get;
try {
get = require(path.join(pkgdir, 'releases.js'));
get = require(`${pkgdir}/releases.js`);
// TODO update all releases files with module.exports.xxxx = 'foo';
if (!get.latest) {
get.latest = get;
}
} catch (e) {
let err = new Error('no releases.js for', pkgdir.split(/[\/\\]+/).pop());
err.code = 'E_NO_RELEASE';
throw err;
}
let all = await get(request);
let all = await get.latest(request);
return _normalize(all);
};