UNPKG

peercast-yp-channels-parser

Version:
95 lines (73 loc) 4.49 kB
module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.l = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // identity function for calling harmony imports with the correct context /******/ __webpack_require__.i = function(value) { return value; }; /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 5); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = require("core-js"); /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; function stringify(a,b){return a.map((c)=>[c.name,c.id,c.ip,c.url,c.genre,stringifyDescAndBandwidthType(c.desc,c.bandwidthType),c.listeners.toString(),c.relays.toString(),c.bitrate.toString(),c.type,c.track.creator,c.track.album,c.track.title,c.track.url,encodeURIComponent(c.name),stringifyUptime(b.getTime()-c.createdAt),"click",c.comment,c.direct?"1":"0"]).map((c)=>c.map(escapeSpecialLetters)).map((c)=>c.join("<>")).join("\n")}exports.stringify=stringify;function parse(a,b){return a.trim().split("\n").map((c)=>c.split("<>")).map((c)=>c.map(unescapeSpecialLetters)).map((c)=>{var d=parseDescAndBandwidthType(c[5]);let e=d.desc,f=d.bandwidthType;return{name:c[0],id:c[1],ip:c[2],url:c[3],genre:c[4],desc:e,bandwidthType:f,listeners:parseInt(c[6],10),relays:parseInt(c[7],10),bitrate:parseInt(c[8],10),type:c[9],track:{creator:c[10],album:c[11],title:c[12],url:c[13]},createdAt:b.getTime()-parseUptime(c[15]),comment:c[17],direct:"1"===c[18]}})}exports.parse=parse;function stringifyDescAndBandwidthType(a,b){return 0===b.length?a:`${a} - <${b}>`}function parseDescAndBandwidthType(a){let b=a.match(/(?: - )?<(.*)>$/);return null==b?{desc:a,bandwidthType:""}:{desc:a.substring(0,b.index),bandwidthType:b[1]}}function stringifyUptime(a){let b=0|a/1e3/60;return`${0|b/60}:${(b%60).toString().padStart(2,"0")}`}function parseUptime(a){let b=a.split(":").map((c)=>parseInt(c,10));return 1e3*(60*(60*b[0]+b[1]))}function escapeSpecialLetters(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;")}function unescapeSpecialLetters(a){return a.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&#039;/g,"'").replace(/&amp;/g,"&")} /***/ }), /* 2 */, /* 3 */, /* 4 */, /* 5 */ /***/ (function(module, exports, __webpack_require__) { __webpack_require__(0); module.exports = __webpack_require__(1); /***/ }) /******/ ]);