cnpmcore
Version:
65 lines • 5.86 kB
JavaScript
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NwjsBinary = void 0;
const tegg_1 = require("@eggjs/tegg");
const Binary_1 = require("../../enum/Binary");
const binaries_1 = __importDefault(require("../../../../config/binaries"));
const AbstractBinary_1 = require("./AbstractBinary");
const BucketBinary_1 = require("./BucketBinary");
let NwjsBinary = class NwjsBinary extends BucketBinary_1.BucketBinary {
constructor() {
super(...arguments);
this.s3Url = 'https://nwjs2.s3.amazonaws.com/?delimiter=/&prefix=';
}
async fetch(dir) {
const binaryConfig = binaries_1.default.nwjs;
const isRootDir = dir === '/';
// /foo/ => foo/
const subDir = dir.substring(1);
const url = isRootDir ? binaryConfig.distUrl : `${this.s3Url}${encodeURIComponent(subDir)}`;
const xml = await this.requestXml(url);
if (!xml)
return;
if (isRootDir) {
// <tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="v0.14.7/">v0.14.7/</a></td><td align="right">22-Jul-2016 17:08 </td><td align="right"> - </td><td> </td></tr>
// <tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="v0.15.0-beta1/">v0.15.0-beta1/</a></td><td align="right">27-Apr-2016 12:17 </td><td align="right"> - </td><td> </td></tr>
// <tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="v0.15.0-beta2/">v0.15.0-beta2/</a></td><td align="right">03-May-2016 17:17 </td><td align="right"> - </td><td> </td></tr>
// <tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="v0.15.0-rc1/">v0.15.0-rc1/</a></td><td align="right">06-May-2016 12:24 </td><td align="right"> - </td><td> </td></tr>
// <tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="v0.15.0-rc2/">v0.15.0-rc2/</a></td><td align="right">13-May-2016 20:13 </td><td align="right"> - </td><td> </td></tr>
const items = [];
const re = /<td><a [^>]+?>([^<]+?\/)<\/a><\/td><td [^>]+?>([^>]+?)<\/td>/ig;
const matchs = xml.matchAll(re);
for (const m of matchs) {
const name = m[1].trim();
// ignore live-build/ name
if (name === 'live-build/')
continue;
const date = m[2].trim();
items.push({
name,
isDir: true,
url: '',
size: '-',
date,
});
}
return { items, nextParams: null };
}
return { items: this.parseItems(xml, dir, binaryConfig), nextParams: null };
}
};
exports.NwjsBinary = NwjsBinary;
exports.NwjsBinary = NwjsBinary = __decorate([
(0, tegg_1.SingletonProto)(),
(0, AbstractBinary_1.BinaryAdapter)(Binary_1.BinaryType.Nwjs)
], NwjsBinary);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTndqc0JpbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9iaW5hcnkvTndqc0JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxzQ0FBNkM7QUFDN0MsOENBQStDO0FBQy9DLDJFQUFtRDtBQUNuRCxxREFBMEU7QUFDMUUsaURBQThDO0FBSXZDLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVcsU0FBUSwyQkFBWTtJQUFyQzs7UUFDRyxVQUFLLEdBQUcscURBQXFELENBQUM7SUFzQ3hFLENBQUM7SUFwQ0MsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFXO1FBQ3JCLE1BQU0sWUFBWSxHQUFHLGtCQUFRLENBQUMsSUFBSSxDQUFDO1FBQ25DLE1BQU0sU0FBUyxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUM7UUFDOUIsZ0JBQWdCO1FBQ2hCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM1RixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBRWpCLElBQUksU0FBUyxFQUFFO1lBQ2IsdU1BQXVNO1lBQ3ZNLG1OQUFtTjtZQUNuTixtTkFBbU47WUFDbk4sK01BQStNO1lBQy9NLCtNQUErTTtZQUMvTSxNQUFNLEtBQUssR0FBaUIsRUFBRSxDQUFDO1lBQy9CLE1BQU0sRUFBRSxHQUFHLGdFQUFnRSxDQUFDO1lBQzVFLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEMsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDekIsMEJBQTBCO2dCQUMxQixJQUFJLElBQUksS0FBSyxhQUFhO29CQUFFLFNBQVM7Z0JBQ3JDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDekIsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDVCxJQUFJO29CQUNKLEtBQUssRUFBRSxJQUFJO29CQUNYLEdBQUcsRUFBRSxFQUFFO29CQUNQLElBQUksRUFBRSxHQUFHO29CQUNULElBQUk7aUJBQ0wsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNwQztRQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0NBQ0YsQ0FBQTtBQXZDWSxnQ0FBVTtxQkFBVixVQUFVO0lBRnRCLElBQUEscUJBQWMsR0FBRTtJQUNoQixJQUFBLDhCQUFhLEVBQUMsbUJBQVUsQ0FBQyxJQUFJLENBQUM7R0FDbEIsVUFBVSxDQXVDdEIifQ==