@dan-uni/dan-any 1.1.1 → 1.2.5

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.
Files changed (72) hide show
  1. package/README.md +1 -0
  2. package/dist/browser/17.min.js +13286 -0
  3. package/dist/browser/705.min.js +77 -0
  4. package/dist/browser/898.min.js +10 -0
  5. package/dist/browser/index.min.js +1 -13248
  6. package/dist/browser/plugins/bili.min.js +1 -0
  7. package/dist/browser/plugins/index.min.js +2 -1
  8. package/dist/browser/plugins/stats.min.js +1 -0
  9. package/dist/browser/src/index.d.ts +1 -4
  10. package/dist/browser/src/plugins/bili/dedupe.d.ts +3 -0
  11. package/dist/browser/src/plugins/bili/history-danmaku-fast-forward.d.ts +18 -0
  12. package/dist/browser/src/plugins/bili/index.d.ts +2 -0
  13. package/dist/browser/src/plugins/index.d.ts +2 -2
  14. package/dist/browser/src/plugins/stats/getLatestDan.d.ts +6 -0
  15. package/dist/browser/src/plugins/stats/index.d.ts +1 -0
  16. package/dist/node/17.js +1861 -0
  17. package/dist/node/705.js +77 -0
  18. package/dist/node/898.js +10 -0
  19. package/dist/node/index.js +1 -1823
  20. package/dist/node/plugins/bili.js +1 -0
  21. package/dist/node/plugins/index.js +2 -1
  22. package/dist/node/plugins/stats.js +1 -0
  23. package/dist/node/src/index.d.ts +1 -4
  24. package/dist/node/src/plugins/bili/dedupe.d.ts +3 -0
  25. package/dist/node/src/plugins/bili/history-danmaku-fast-forward.d.ts +18 -0
  26. package/dist/node/src/plugins/bili/index.d.ts +2 -0
  27. package/dist/node/src/plugins/index.d.ts +2 -2
  28. package/dist/node/src/plugins/stats/getLatestDan.d.ts +6 -0
  29. package/dist/node/src/plugins/stats/index.d.ts +1 -0
  30. package/dist/node/src/plugins/stats/index.test.d.ts +1 -0
  31. package/dist/umd/index.umd.min.js +73 -68
  32. package/dist/umd/plugins/bili.umd.min.js +29639 -0
  33. package/dist/umd/plugins/bili.umd.min.js.LICENSE.txt +34 -0
  34. package/dist/umd/plugins/index.umd.min.js +29584 -23
  35. package/dist/umd/plugins/index.umd.min.js.LICENSE.txt +34 -0
  36. package/dist/umd/plugins/stats.umd.min.js +39 -0
  37. package/dist/umd/src/index.d.ts +1 -4
  38. package/dist/umd/src/plugins/bili/dedupe.d.ts +3 -0
  39. package/dist/umd/src/plugins/bili/history-danmaku-fast-forward.d.ts +18 -0
  40. package/dist/umd/src/plugins/bili/index.d.ts +2 -0
  41. package/dist/umd/src/plugins/bili/index.test.d.ts +1 -0
  42. package/dist/umd/src/plugins/index.d.ts +2 -2
  43. package/dist/umd/src/plugins/stats/getLatestDan.d.ts +6 -0
  44. package/dist/umd/src/plugins/stats/index.d.ts +1 -0
  45. package/dist/umd/src/plugins/stats/index.test.d.ts +1 -0
  46. package/package.json +4 -2
  47. package/rslib.config.ts +2 -1
  48. package/src/index.ts +1 -7
  49. package/src/plugins/bili/README.md +87 -0
  50. package/src/plugins/{bili-dedupe/index.ts → bili/dedupe.ts} +13 -3
  51. package/src/plugins/bili/history-danmaku-fast-forward.ts +86 -0
  52. package/src/plugins/bili/index.test.ts +129 -0
  53. package/src/plugins/bili/index.ts +2 -0
  54. package/src/plugins/index.ts +2 -3
  55. package/src/plugins/stats/README.md +44 -0
  56. package/src/plugins/stats/getLatestDan.ts +13 -0
  57. package/src/plugins/{bili-dedupe → stats}/index.test.ts +10 -11
  58. package/src/plugins/stats/index.ts +1 -0
  59. package/dist/browser/157.min.js +0 -14
  60. package/dist/browser/42.min.js +0 -45
  61. package/dist/browser/plugins/bili-dedupe.min.js +0 -1
  62. package/dist/browser/src/plugins/bili-dedupe/index.d.ts +0 -5
  63. package/dist/node/157.js +0 -14
  64. package/dist/node/42.js +0 -45
  65. package/dist/node/plugins/bili-dedupe.js +0 -1
  66. package/dist/node/src/plugins/bili-dedupe/index.d.ts +0 -5
  67. package/dist/umd/plugins/bili-dedupe.umd.min.js +0 -79
  68. package/dist/umd/src/plugins/bili-dedupe/index.d.ts +0 -5
  69. /package/dist/browser/{index.min.js.LICENSE.txt → 17.min.js.LICENSE.txt} +0 -0
  70. /package/dist/browser/src/plugins/{bili-dedupe → bili}/index.test.d.ts +0 -0
  71. /package/dist/{node/src/plugins/bili-dedupe → browser/src/plugins/stats}/index.test.d.ts +0 -0
  72. /package/dist/{umd/src/plugins/bili-dedupe → node/src/plugins/bili}/index.test.d.ts +0 -0
@@ -0,0 +1,77 @@
1
+ import { __webpack_require__ } from "./rslib-runtime.js";
2
+ import { DateTime } from "luxon";
3
+ import { UniPool, platform_PlatformVideoSource } from "./17.js";
4
+ var dedupe_namespaceObject = {};
5
+ __webpack_require__.r(dedupe_namespaceObject);
6
+ __webpack_require__.d(dedupe_namespaceObject, {
7
+ bili_dedupe: ()=>bili_dedupe,
8
+ to_bili_deduped: ()=>to_bili_deduped
9
+ });
10
+ var bili_namespaceObject = {};
11
+ __webpack_require__.r(bili_namespaceObject);
12
+ __webpack_require__.d(bili_namespaceObject, {
13
+ bili_dedupe: ()=>dedupe_namespaceObject,
14
+ bili_history_fast_forward: ()=>bili_history_fast_forward
15
+ });
16
+ function main(that) {
17
+ that.dans.forEach((d)=>{
18
+ if (d.platform !== platform_PlatformVideoSource.Bilibili) throw new Error('bili-dedupe: 仅支持B站(主站)的弹幕');
19
+ if (!d.extra.bili?.dmid) throw new Error('bili-dedupe: 弹幕缺少bili extra dmid字段');
20
+ });
21
+ const map = new Map();
22
+ that.dans.forEach((d)=>map.set(d.extra.bili.dmid, d));
23
+ return map;
24
+ }
25
+ function to_bili_deduped(that) {
26
+ const map = main(that);
27
+ return new UniPool([
28
+ ...map.values()
29
+ ], that.options, that.info);
30
+ }
31
+ function bili_dedupe(that) {
32
+ const map = main(that);
33
+ that.dans = [
34
+ ...map.values()
35
+ ];
36
+ }
37
+ function history_danmaku_fast_forward_main(that, query_history_date) {
38
+ const qhd = DateTime.fromFormat(query_history_date, 'yyyy-MM-dd', {
39
+ zone: 'Asia/Shanghai'
40
+ }).setZone('Asia/Shanghai');
41
+ if (!qhd.isValid) throw new Error('Invalid query_history_date');
42
+ const s = qhd.startOf('day');
43
+ const before = that.dans.filter((d)=>d.ctime < s.toJSDate());
44
+ if (0 === before.length) return {
45
+ earliest: null,
46
+ FastForward: [],
47
+ skip: [],
48
+ SpecificDate: qhd.toFormat('yyyy-MM-dd')
49
+ };
50
+ const earliestCtime = before.toSorted((a, b)=>a.ctime.getTime() - b.ctime.getTime())[0].ctime;
51
+ const earliestDate = DateTime.fromJSDate(earliestCtime).setZone('Asia/Shanghai').startOf('day');
52
+ const datesWithDanmaku = new Set();
53
+ for (const dan of before){
54
+ const dateStr = DateTime.fromJSDate(dan.ctime).setZone('Asia/Shanghai').toFormat('yyyy-MM-dd');
55
+ datesWithDanmaku.add(dateStr);
56
+ }
57
+ let current = earliestDate;
58
+ const allDates = [];
59
+ while(current < s){
60
+ allDates.push(current.toFormat('yyyy-MM-dd'));
61
+ current = current.plus({
62
+ days: 1
63
+ });
64
+ }
65
+ const FastForward = allDates.filter((d)=>datesWithDanmaku.has(d));
66
+ const skip = allDates.filter((d)=>!datesWithDanmaku.has(d));
67
+ return {
68
+ earliest: earliestDate.toFormat('yyyy-MM-dd'),
69
+ FastForward,
70
+ skip,
71
+ SpecificDate: qhd.toFormat('yyyy-MM-dd')
72
+ };
73
+ }
74
+ function bili_history_fast_forward(query_history_date) {
75
+ return (that)=>history_danmaku_fast_forward_main(that, query_history_date);
76
+ }
77
+ export { bili_history_fast_forward, bili_namespaceObject as bili, dedupe_namespaceObject as bili_dedupe };
@@ -0,0 +1,10 @@
1
+ import { __webpack_require__ } from "./rslib-runtime.js";
2
+ var stats_namespaceObject = {};
3
+ __webpack_require__.r(stats_namespaceObject);
4
+ __webpack_require__.d(stats_namespaceObject, {
5
+ getLatestDan: ()=>getLatestDan
6
+ });
7
+ function getLatestDan(that) {
8
+ return 0 === that.dans.length ? null : that.dans.reduce((latest, current)=>current.ctime > latest.ctime ? current : latest);
9
+ }
10
+ export { getLatestDan, stats_namespaceObject as stats };