@forward-widget/danmu-universe 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -695,8 +695,8 @@ var __webpack_modules__ = {
695
695
  var r = t + n, i = e[r];
696
696
  e[r] = (i << 8 | i >>> 24) & 0x00ff00ff | (i << 24 | i >>> 8) & 0xff00ff00;
697
697
  }
698
- var o = this._hash.words, s = e[t + 0], u = e[t + 1], f = e[t + 2], h = e[t + 3], m = e[t + 4], g = e[t + 5], v = e[t + 6], y = e[t + 7], b = e[t + 8], _ = e[t + 9], w = e[t + 10], x = e[t + 11], k = e[t + 12], j = e[t + 13], S = e[t + 14], E = e[t + 15], z = o[0], O = o[1], I = o[2], $ = o[3];
699
- z = l(z, O, I, $, s, 7, a[0]), $ = l($, z, O, I, u, 12, a[1]), I = l(I, $, z, O, f, 17, a[2]), O = l(O, I, $, z, h, 22, a[3]), z = l(z, O, I, $, m, 7, a[4]), $ = l($, z, O, I, g, 12, a[5]), I = l(I, $, z, O, v, 17, a[6]), O = l(O, I, $, z, y, 22, a[7]), z = l(z, O, I, $, b, 7, a[8]), $ = l($, z, O, I, _, 12, a[9]), I = l(I, $, z, O, w, 17, a[10]), O = l(O, I, $, z, x, 22, a[11]), z = l(z, O, I, $, k, 7, a[12]), $ = l($, z, O, I, j, 12, a[13]), I = l(I, $, z, O, S, 17, a[14]), O = l(O, I, $, z, E, 22, a[15]), z = c(z, O, I, $, u, 5, a[16]), $ = c($, z, O, I, v, 9, a[17]), I = c(I, $, z, O, x, 14, a[18]), O = c(O, I, $, z, s, 20, a[19]), z = c(z, O, I, $, g, 5, a[20]), $ = c($, z, O, I, w, 9, a[21]), I = c(I, $, z, O, E, 14, a[22]), O = c(O, I, $, z, m, 20, a[23]), z = c(z, O, I, $, _, 5, a[24]), $ = c($, z, O, I, S, 9, a[25]), I = c(I, $, z, O, h, 14, a[26]), O = c(O, I, $, z, b, 20, a[27]), z = c(z, O, I, $, j, 5, a[28]), $ = c($, z, O, I, f, 9, a[29]), I = c(I, $, z, O, y, 14, a[30]), O = c(O, I, $, z, k, 20, a[31]), z = d(z, O, I, $, g, 4, a[32]), $ = d($, z, O, I, b, 11, a[33]), I = d(I, $, z, O, x, 16, a[34]), O = d(O, I, $, z, S, 23, a[35]), z = d(z, O, I, $, u, 4, a[36]), $ = d($, z, O, I, m, 11, a[37]), I = d(I, $, z, O, y, 16, a[38]), O = d(O, I, $, z, w, 23, a[39]), z = d(z, O, I, $, j, 4, a[40]), $ = d($, z, O, I, s, 11, a[41]), I = d(I, $, z, O, h, 16, a[42]), O = d(O, I, $, z, v, 23, a[43]), z = d(z, O, I, $, _, 4, a[44]), $ = d($, z, O, I, k, 11, a[45]), I = d(I, $, z, O, E, 16, a[46]), O = d(O, I, $, z, f, 23, a[47]), z = p(z, O, I, $, s, 6, a[48]), $ = p($, z, O, I, y, 10, a[49]), I = p(I, $, z, O, S, 15, a[50]), O = p(O, I, $, z, g, 21, a[51]), z = p(z, O, I, $, k, 6, a[52]), $ = p($, z, O, I, h, 10, a[53]), I = p(I, $, z, O, w, 15, a[54]), O = p(O, I, $, z, u, 21, a[55]), z = p(z, O, I, $, b, 6, a[56]), $ = p($, z, O, I, E, 10, a[57]), I = p(I, $, z, O, v, 15, a[58]), O = p(O, I, $, z, j, 21, a[59]), z = p(z, O, I, $, m, 6, a[60]), $ = p($, z, O, I, x, 10, a[61]), I = p(I, $, z, O, f, 15, a[62]), O = p(O, I, $, z, _, 21, a[63]), o[0] = o[0] + z | 0, o[1] = o[1] + O | 0, o[2] = o[2] + I | 0, o[3] = o[3] + $ | 0;
698
+ var o = this._hash.words, s = e[t + 0], u = e[t + 1], f = e[t + 2], h = e[t + 3], m = e[t + 4], g = e[t + 5], v = e[t + 6], y = e[t + 7], b = e[t + 8], _ = e[t + 9], w = e[t + 10], x = e[t + 11], k = e[t + 12], j = e[t + 13], E = e[t + 14], S = e[t + 15], z = o[0], O = o[1], I = o[2], $ = o[3];
699
+ z = l(z, O, I, $, s, 7, a[0]), $ = l($, z, O, I, u, 12, a[1]), I = l(I, $, z, O, f, 17, a[2]), O = l(O, I, $, z, h, 22, a[3]), z = l(z, O, I, $, m, 7, a[4]), $ = l($, z, O, I, g, 12, a[5]), I = l(I, $, z, O, v, 17, a[6]), O = l(O, I, $, z, y, 22, a[7]), z = l(z, O, I, $, b, 7, a[8]), $ = l($, z, O, I, _, 12, a[9]), I = l(I, $, z, O, w, 17, a[10]), O = l(O, I, $, z, x, 22, a[11]), z = l(z, O, I, $, k, 7, a[12]), $ = l($, z, O, I, j, 12, a[13]), I = l(I, $, z, O, E, 17, a[14]), O = l(O, I, $, z, S, 22, a[15]), z = c(z, O, I, $, u, 5, a[16]), $ = c($, z, O, I, v, 9, a[17]), I = c(I, $, z, O, x, 14, a[18]), O = c(O, I, $, z, s, 20, a[19]), z = c(z, O, I, $, g, 5, a[20]), $ = c($, z, O, I, w, 9, a[21]), I = c(I, $, z, O, S, 14, a[22]), O = c(O, I, $, z, m, 20, a[23]), z = c(z, O, I, $, _, 5, a[24]), $ = c($, z, O, I, E, 9, a[25]), I = c(I, $, z, O, h, 14, a[26]), O = c(O, I, $, z, b, 20, a[27]), z = c(z, O, I, $, j, 5, a[28]), $ = c($, z, O, I, f, 9, a[29]), I = c(I, $, z, O, y, 14, a[30]), O = c(O, I, $, z, k, 20, a[31]), z = d(z, O, I, $, g, 4, a[32]), $ = d($, z, O, I, b, 11, a[33]), I = d(I, $, z, O, x, 16, a[34]), O = d(O, I, $, z, E, 23, a[35]), z = d(z, O, I, $, u, 4, a[36]), $ = d($, z, O, I, m, 11, a[37]), I = d(I, $, z, O, y, 16, a[38]), O = d(O, I, $, z, w, 23, a[39]), z = d(z, O, I, $, j, 4, a[40]), $ = d($, z, O, I, s, 11, a[41]), I = d(I, $, z, O, h, 16, a[42]), O = d(O, I, $, z, v, 23, a[43]), z = d(z, O, I, $, _, 4, a[44]), $ = d($, z, O, I, k, 11, a[45]), I = d(I, $, z, O, S, 16, a[46]), O = d(O, I, $, z, f, 23, a[47]), z = p(z, O, I, $, s, 6, a[48]), $ = p($, z, O, I, y, 10, a[49]), I = p(I, $, z, O, E, 15, a[50]), O = p(O, I, $, z, g, 21, a[51]), z = p(z, O, I, $, k, 6, a[52]), $ = p($, z, O, I, h, 10, a[53]), I = p(I, $, z, O, w, 15, a[54]), O = p(O, I, $, z, u, 21, a[55]), z = p(z, O, I, $, b, 6, a[56]), $ = p($, z, O, I, S, 10, a[57]), I = p(I, $, z, O, v, 15, a[58]), O = p(O, I, $, z, j, 21, a[59]), z = p(z, O, I, $, m, 6, a[60]), $ = p($, z, O, I, x, 10, a[61]), I = p(I, $, z, O, f, 15, a[62]), O = p(O, I, $, z, _, 21, a[63]), o[0] = o[0] + z | 0, o[1] = o[1] + O | 0, o[2] = o[2] + I | 0, o[3] = o[3] + $ | 0;
700
700
  },
701
701
  _doFinalize: function() {
702
702
  var e = this._data, n = e.words, r = 8 * this._nDataBytes, i = 8 * e.sigBytes;
@@ -5622,6 +5622,7 @@ const youkuIdSchema = schemas_object({
5622
5622
  }), youkuEpisodeInfoSchema = schemas_object({
5623
5623
  id: schemas_string(),
5624
5624
  title: schemas_string(),
5625
+ seq: schemas_string().transform((e)=>parseInt(e)).optional(),
5625
5626
  duration: schemas_string(),
5626
5627
  category: schemas_string(),
5627
5628
  link: schemas_string()
@@ -5665,34 +5666,49 @@ class YoukuScraper extends BaseScraper {
5665
5666
  async getEpisodes(e, t) {
5666
5667
  let n = this.parseIdString(e);
5667
5668
  if (!n) return [];
5668
- let r = [], i = 1, o = 20, s = 0;
5669
- for(;;)try {
5670
- let e = await this.getEpisodesPage(n.showId, i, o);
5671
- if (!e || !e.videos || 0 === e.videos.length) break;
5672
- 1 === i && e.total && (s = e.total);
5673
- let a = e.videos.filter((e)=>!this.EPISODE_BLACKLIST_KEYWORDS.some((t)=>e.title.includes(t)));
5674
- if (r.push(...a), r.length >= s || e.videos.length < o || t && r.length >= t) break;
5675
- i++, await this.sleep(300);
5669
+ let r = 20, i = null != t ? t : 1, o = Math.max(1, Math.ceil(i / 20));
5670
+ try {
5671
+ var s, a;
5672
+ let e = (e)=>e.filter((e)=>!this.EPISODE_BLACKLIST_KEYWORDS.some((t)=>e.title.includes(t))), u = (e, t)=>({
5673
+ provider: this.providerName,
5674
+ episodeId: this.generateIdString({
5675
+ showId: n.showId,
5676
+ vid: e.id
5677
+ }),
5678
+ episodeTitle: e.title,
5679
+ episodeNumber: t
5680
+ }), l = await this.getEpisodesPage(n.showId, o, r), c = e(null != (s = null == l ? void 0 : l.videos) ? s : []), d = c.find((e)=>e.seq === i);
5681
+ if (d) return [
5682
+ u(d, i)
5683
+ ];
5684
+ let p = Number(null != (a = null == l ? void 0 : l.total) ? a : 0), f = Math.max(1, Math.ceil(p / r)), h = Array.from({
5685
+ length: f
5686
+ }, (e, t)=>t + 1).filter((e)=>e !== o), m = [];
5687
+ for (let e of h){
5688
+ await this.sleep(500);
5689
+ let t = await this.getEpisodesPage(n.showId, e, r);
5690
+ m.push(t);
5691
+ }
5692
+ let g = e(m.flatMap((e)=>{
5693
+ var t;
5694
+ return null != (t = null == e ? void 0 : e.videos) ? t : [];
5695
+ })), v = [
5696
+ ...c,
5697
+ ...g
5698
+ ];
5699
+ if (void 0 !== t) {
5700
+ let e = v.find((e)=>e.seq === i);
5701
+ return e ? [
5702
+ u(e, i)
5703
+ ] : [];
5704
+ }
5705
+ return v.sort((e, t)=>{
5706
+ var n, r;
5707
+ return (null != (n = e.seq) ? n : Number.MAX_SAFE_INTEGER) - (null != (r = t.seq) ? r : Number.MAX_SAFE_INTEGER);
5708
+ }).map((e, t)=>u(e, t + 1));
5676
5709
  } catch (e) {
5677
- console.error(`Youku: Failed to get episodes page ${i} for media_id ${n.showId}:`, e);
5678
- break;
5679
- }
5680
- let a = r.map((e, t)=>({
5681
- provider: this.providerName,
5682
- episodeId: this.generateIdString({
5683
- showId: n.showId,
5684
- vid: e.id
5685
- }),
5686
- episodeTitle: e.title,
5687
- episodeNumber: t + 1
5688
- }));
5689
- if (void 0 !== t) {
5690
- let e = a.find((e)=>e.episodeNumber === t);
5691
- return e ? [
5692
- e
5693
- ] : [];
5710
+ return console.error(`Youku: \u{83B7}\u{53D6}\u{5206}\u{96C6}\u{5931}\u{8D25} showId=${n.showId}:`, e), [];
5694
5711
  }
5695
- return a;
5696
5712
  }
5697
5713
  async getSegments(e) {
5698
5714
  var t;
@@ -5906,8 +5922,10 @@ class scrapers_Scraper {
5906
5922
  let i = this.findSegmentAtTime(r, e);
5907
5923
  if (!i) return null;
5908
5924
  let o = this.scraperMap[t];
5909
- return o ? {
5910
- comments: await o.getComments(n, i.segmentId),
5925
+ if (!o) return null;
5926
+ let s = await o.getComments(n, i.segmentId);
5927
+ return s ? {
5928
+ comments: s,
5911
5929
  provider: t
5912
5930
  } : null;
5913
5931
  })());
@@ -5947,38 +5965,37 @@ class scrapers_Scraper {
5947
5965
  async getEpisodes() {
5948
5966
  for(var e = arguments.length, t = Array(e), n = 0; n < e; n++)t[n] = arguments[n];
5949
5967
  let r = [];
5950
- for (let { provider: e, idString: n } of t){
5968
+ for (let { provider: e, idString: n, episodeNumber: i } of t){
5951
5969
  let t = this.scraperMap[e];
5952
- t && r.push(t.getEpisodes(n).catch((e)=>(console.error(e), [])));
5970
+ t && r.push(t.getEpisodes(n, i).catch((e)=>(console.error(e), [])));
5953
5971
  }
5954
5972
  return (await Promise.all(r).catch((e)=>(console.error(e), []))).flat().map((e)=>({
5955
5973
  ...e,
5956
5974
  episodeId: `${e.provider}:${e.episodeId}`
5957
5975
  }));
5958
5976
  }
5959
- formatEpisodeResult(e, t, n) {
5960
- let r = n ? parseInt(null != n ? n : "") : void 0;
5961
- return "tv" === t && r ? e.filter((e)=>e.episodeNumber === r) : e;
5977
+ getEpisodeNumber(e, t) {
5978
+ if ("tv" === e && t) return parseInt(t);
5962
5979
  }
5963
5980
  async getDetailWithAnimeId(e, t, n) {
5964
- let [r, i] = e.split(":"), o = await this.getEpisodes({
5981
+ let [r, i] = e.split(":");
5982
+ return await this.getEpisodes({
5965
5983
  provider: r,
5966
- idString: i
5984
+ idString: i,
5985
+ episodeNumber: this.getEpisodeNumber(t, n)
5967
5986
  });
5968
- return this.formatEpisodeResult(o, t, n);
5969
5987
  }
5970
5988
  async getDetailWithDoubanId(e, t, n) {
5971
- let r = await getVideoPlatformInfoByDoubanId(e.toString()), i = [];
5972
- Object.entries(r.providers).forEach((e)=>{
5989
+ let r = await getVideoPlatformInfoByDoubanId(e.toString()), i = this.getEpisodeNumber(t, n), o = [];
5990
+ return Object.entries(r.providers).forEach((e)=>{
5973
5991
  var t, n;
5974
- let [r, o] = e;
5975
- i.push({
5992
+ let [r, s] = e;
5993
+ o.push({
5976
5994
  provider: r,
5977
- idString: null != (n = null == (t = this.scraperMap[r]) ? void 0 : t.generateIdString(o)) ? n : ""
5995
+ idString: null != (n = null == (t = this.scraperMap[r]) ? void 0 : t.generateIdString(s)) ? n : "",
5996
+ episodeNumber: i
5978
5997
  });
5979
- });
5980
- let o = await this.getEpisodes(...i);
5981
- return this.formatEpisodeResult(o, t, n);
5998
+ }), this.getEpisodes(...o);
5982
5999
  }
5983
6000
  constructor(){
5984
6001
  scrapers_define_property(this, "scrapers", []), scrapers.forEach((e)=>{
@@ -5991,7 +6008,7 @@ WidgetMetadata = {
5991
6008
  title: "\u901A\u7528\u5F39\u5E55",
5992
6009
  description: "\u901A\u7528\u5F39\u5E55\u63D2\u4EF6\uFF0C\u652F\u6301\u817E\u8BAF\u3001\u4F18\u9177\u3001\u7231\u5947\u827A\u3001\u54D4\u54E9\u54D4\u54E9\u7B49\u5E73\u53F0",
5993
6010
  author: "Baran",
5994
- version: "0.0.5",
6011
+ version: "0.0.6",
5995
6012
  site: "https://github.com/baranwang/forward-widgets/tree/main/packages/danmu-universe",
5996
6013
  requiredVersion: "0.0.2",
5997
6014
  modules: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forward-widget/danmu-universe",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "type": "module",
5
5
  "main": "./dist/danmu-universe.js",
6
6
  "exports": {