fetch-youtube-uploads
Version:
Returns a YouTube channel's latest uploads.
7 lines • 2.19 kB
JavaScript
/*!
*** fetch-youtube-uploads 0.3.1
*** Copyright © 2019, Jaid <jaid.jsx@gmail.com> (https://github.com/Jaid)
*** @license MIT
*** See https://github.com/Jaid/fetch-youtube-uploads
!*/
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(global,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t){e.exports=require("execall")},function(e,t){e.exports=require("got")},function(e,t){e.exports=require("html-entities")},function(e,t,n){n.r(t),n.d(t,"gotClient",function(){return s}),n.d(t,"fetchUploadsForUser",function(){return f});var r=n(0),o=n.n(r),u=n(1),i=n.n(u);const l=new(n(2).AllHtmlEntities),s=i.a.extend({baseUrl:"https://youtube.com",headers:{"User-Agent":"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"}}),c=async e=>{const{statusCode:t,url:n,body:r,statusMessage:u}=await s(e);if(200!==t)throw new Error(`Requested ${n}, got ${t} ${u}`);return o()(/href="\/watch\?v=(?<id>[\w-]+)" rel="nofollow">(?<title>[^<]+)<\/a><span class="accessible-description"/gu,r).map(e=>({id:e.subMatches[0],title:l.decode(e.subMatches[1])}))},f=e=>c(`user/${e}/videos`);t.default=e=>c(`channel/${e}/videos`)}])});