UNPKG

cnpmcore

Version:
65 lines 5.86 kB
"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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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==