@dan-uni/dan-any 1.4.7 → 2.0.0
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.
- package/README.md +87 -43
- package/dist/adapters.d.mts +2 -0
- package/dist/adapters.mjs +1 -0
- package/dist/chunk-0Lt9GpW0.mjs +1 -0
- package/dist/core/db/schema.d.mts +2 -0
- package/dist/core/db/schema.mjs +2 -0
- package/dist/core/db/schema.mjs.map +1 -0
- package/dist/core/db/utils.d.mts +1707 -0
- package/dist/core/db/utils.d.mts.map +1 -0
- package/dist/core/db/utils.mjs +1 -0
- package/dist/core-D7LMAB5h.mjs +2 -0
- package/dist/core-D7LMAB5h.mjs.map +1 -0
- package/dist/core.d.mts +2 -0
- package/dist/core.mjs +1 -0
- package/dist/db-DWWzkRBb.mjs +41 -0
- package/dist/db-DWWzkRBb.mjs.map +1 -0
- package/dist/dm-extra-DrAQCrFv.d.mts +135 -0
- package/dist/dm-extra-DrAQCrFv.d.mts.map +1 -0
- package/dist/dm-tkTdR_W6.mjs +2 -0
- package/dist/dm-tkTdR_W6.mjs.map +1 -0
- package/dist/index-vAs4qV9A.d.mts +6195 -0
- package/dist/index-vAs4qV9A.d.mts.map +1 -0
- package/dist/index.d.mts +4 -0
- package/dist/index.mjs +1 -0
- package/dist/isSame-D4G9eoE4.mjs +2 -0
- package/dist/isSame-D4G9eoE4.mjs.map +1 -0
- package/dist/plugins.d.mts +105 -0
- package/dist/plugins.d.mts.map +1 -0
- package/dist/plugins.mjs +2 -0
- package/dist/plugins.mjs.map +1 -0
- package/dist/schema-BuenbDx9.d.mts +1619 -0
- package/dist/schema-BuenbDx9.d.mts.map +1 -0
- package/dist/utils.d.mts +25 -0
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.mjs +2 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +65 -37
- package/.babelrc.json +0 -12
- package/buf.gen.yaml +0 -10
- package/buf.yaml +0 -12
- package/dist/browser/1~rslib-runtime.min.js +0 -49
- package/dist/browser/index.min.js +0 -13521
- package/dist/browser/index.min.js.LICENSE.txt +0 -17
- package/dist/browser/plugins/bili.min.js +0 -1
- package/dist/browser/plugins/index.min.js +0 -2
- package/dist/browser/plugins/stats.min.js +0 -10
- package/dist/browser/src/ass-gen/__tests__/canvas.test.d.ts +0 -1
- package/dist/browser/src/ass-gen/__tests__/generate.test.d.ts +0 -1
- package/dist/browser/src/ass-gen/ass/create.d.ts +0 -4
- package/dist/browser/src/ass-gen/ass/dialogue.d.ts +0 -16
- package/dist/browser/src/ass-gen/ass/event.d.ts +0 -2
- package/dist/browser/src/ass-gen/ass/info.d.ts +0 -8
- package/dist/browser/src/ass-gen/ass/raw.d.ts +0 -14
- package/dist/browser/src/ass-gen/ass/style.d.ts +0 -2
- package/dist/browser/src/ass-gen/config.d.ts +0 -2
- package/dist/browser/src/ass-gen/index.d.ts +0 -30
- package/dist/browser/src/ass-gen/types.d.ts +0 -71
- package/dist/browser/src/ass-gen/util/color.d.ts +0 -18
- package/dist/browser/src/ass-gen/util/danconvert.d.ts +0 -5
- package/dist/browser/src/ass-gen/util/index.d.ts +0 -4
- package/dist/browser/src/ass-gen/util/lang.d.ts +0 -3
- package/dist/browser/src/ass-gen/util/layout.d.ts +0 -4
- package/dist/browser/src/index.d.ts +0 -283
- package/dist/browser/src/index.test.d.ts +0 -1
- package/dist/browser/src/plugins/bili/dedupe.d.ts +0 -3
- package/dist/browser/src/plugins/bili/history-danmaku-fast-forward.d.ts +0 -18
- package/dist/browser/src/plugins/bili/index.d.ts +0 -2
- package/dist/browser/src/plugins/bili/index.test.d.ts +0 -1
- package/dist/browser/src/plugins/index.d.ts +0 -2
- package/dist/browser/src/plugins/stats/getLatestDan.d.ts +0 -6
- package/dist/browser/src/plugins/stats/index.d.ts +0 -1
- package/dist/browser/src/plugins/stats/index.test.d.ts +0 -1
- package/dist/browser/src/proto/gen/bilibili/community/service/dm/v1/dm_pb.d.ts +0 -3426
- package/dist/browser/src/proto/gen/danuni/danmaku/v1/danmaku_pb.d.ts +0 -176
- package/dist/browser/src/utils/dm-gen.d.ts +0 -309
- package/dist/browser/src/utils/dm-gen.test.d.ts +0 -1
- package/dist/browser/src/utils/fileParser.d.ts +0 -3
- package/dist/browser/src/utils/id-gen.d.ts +0 -50
- package/dist/browser/src/utils/platform.d.ts +0 -24
- package/dist/node/0~rslib-runtime.js +0 -23
- package/dist/node/index.js +0 -2097
- package/dist/node/plugins/bili.js +0 -1
- package/dist/node/plugins/index.js +0 -2
- package/dist/node/plugins/stats.js +0 -10
- package/dist/node/src/ass-gen/__tests__/canvas.test.d.ts +0 -1
- package/dist/node/src/ass-gen/__tests__/generate.test.d.ts +0 -1
- package/dist/node/src/ass-gen/ass/create.d.ts +0 -4
- package/dist/node/src/ass-gen/ass/dialogue.d.ts +0 -16
- package/dist/node/src/ass-gen/ass/event.d.ts +0 -2
- package/dist/node/src/ass-gen/ass/info.d.ts +0 -8
- package/dist/node/src/ass-gen/ass/raw.d.ts +0 -14
- package/dist/node/src/ass-gen/ass/style.d.ts +0 -2
- package/dist/node/src/ass-gen/config.d.ts +0 -2
- package/dist/node/src/ass-gen/index.d.ts +0 -30
- package/dist/node/src/ass-gen/types.d.ts +0 -71
- package/dist/node/src/ass-gen/util/color.d.ts +0 -18
- package/dist/node/src/ass-gen/util/danconvert.d.ts +0 -5
- package/dist/node/src/ass-gen/util/index.d.ts +0 -4
- package/dist/node/src/ass-gen/util/lang.d.ts +0 -3
- package/dist/node/src/ass-gen/util/layout.d.ts +0 -4
- package/dist/node/src/index.d.ts +0 -283
- package/dist/node/src/index.test.d.ts +0 -1
- package/dist/node/src/plugins/bili/dedupe.d.ts +0 -3
- package/dist/node/src/plugins/bili/history-danmaku-fast-forward.d.ts +0 -18
- package/dist/node/src/plugins/bili/index.d.ts +0 -2
- package/dist/node/src/plugins/bili/index.test.d.ts +0 -1
- package/dist/node/src/plugins/index.d.ts +0 -2
- package/dist/node/src/plugins/stats/getLatestDan.d.ts +0 -6
- package/dist/node/src/plugins/stats/index.d.ts +0 -1
- package/dist/node/src/plugins/stats/index.test.d.ts +0 -1
- package/dist/node/src/proto/gen/bilibili/community/service/dm/v1/dm_pb.d.ts +0 -3426
- package/dist/node/src/proto/gen/danuni/danmaku/v1/danmaku_pb.d.ts +0 -176
- package/dist/node/src/utils/dm-gen.d.ts +0 -309
- package/dist/node/src/utils/dm-gen.test.d.ts +0 -1
- package/dist/node/src/utils/fileParser.d.ts +0 -3
- package/dist/node/src/utils/id-gen.d.ts +0 -50
- package/dist/node/src/utils/platform.d.ts +0 -24
- package/dist/umd/index.umd.min.js +0 -32091
- package/dist/umd/index.umd.min.js.LICENSE.txt +0 -34
- package/dist/umd/plugins/bili.umd.min.js +0 -32002
- package/dist/umd/plugins/bili.umd.min.js.LICENSE.txt +0 -34
- package/dist/umd/plugins/index.umd.min.js +0 -32018
- package/dist/umd/plugins/index.umd.min.js.LICENSE.txt +0 -34
- package/dist/umd/plugins/stats.umd.min.js +0 -39
- package/dist/umd/src/ass-gen/__tests__/canvas.test.d.ts +0 -1
- package/dist/umd/src/ass-gen/__tests__/generate.test.d.ts +0 -1
- package/dist/umd/src/ass-gen/ass/create.d.ts +0 -4
- package/dist/umd/src/ass-gen/ass/dialogue.d.ts +0 -16
- package/dist/umd/src/ass-gen/ass/event.d.ts +0 -2
- package/dist/umd/src/ass-gen/ass/info.d.ts +0 -8
- package/dist/umd/src/ass-gen/ass/raw.d.ts +0 -14
- package/dist/umd/src/ass-gen/ass/style.d.ts +0 -2
- package/dist/umd/src/ass-gen/config.d.ts +0 -2
- package/dist/umd/src/ass-gen/index.d.ts +0 -30
- package/dist/umd/src/ass-gen/types.d.ts +0 -71
- package/dist/umd/src/ass-gen/util/color.d.ts +0 -18
- package/dist/umd/src/ass-gen/util/danconvert.d.ts +0 -5
- package/dist/umd/src/ass-gen/util/index.d.ts +0 -4
- package/dist/umd/src/ass-gen/util/lang.d.ts +0 -3
- package/dist/umd/src/ass-gen/util/layout.d.ts +0 -4
- package/dist/umd/src/index.d.ts +0 -283
- package/dist/umd/src/index.test.d.ts +0 -1
- package/dist/umd/src/plugins/bili/dedupe.d.ts +0 -3
- package/dist/umd/src/plugins/bili/history-danmaku-fast-forward.d.ts +0 -18
- package/dist/umd/src/plugins/bili/index.d.ts +0 -2
- package/dist/umd/src/plugins/bili/index.test.d.ts +0 -1
- package/dist/umd/src/plugins/index.d.ts +0 -2
- package/dist/umd/src/plugins/stats/getLatestDan.d.ts +0 -6
- package/dist/umd/src/plugins/stats/index.d.ts +0 -1
- package/dist/umd/src/plugins/stats/index.test.d.ts +0 -1
- package/dist/umd/src/proto/gen/bilibili/community/service/dm/v1/dm_pb.d.ts +0 -3426
- package/dist/umd/src/proto/gen/danuni/danmaku/v1/danmaku_pb.d.ts +0 -176
- package/dist/umd/src/utils/dm-gen.d.ts +0 -309
- package/dist/umd/src/utils/dm-gen.test.d.ts +0 -1
- package/dist/umd/src/utils/fileParser.d.ts +0 -3
- package/dist/umd/src/utils/id-gen.d.ts +0 -50
- package/dist/umd/src/utils/platform.d.ts +0 -24
- package/plugins/package.json +0 -6
- package/rslib.config.ts +0 -101
- package/src/ass-gen/__tests__/898651903.xml +0 -1619
- package/src/ass-gen/__tests__/898651903.xml.ass +0 -1516
- package/src/ass-gen/__tests__/canvas.test.ts +0 -15
- package/src/ass-gen/__tests__/generate.test.ts +0 -26
- package/src/ass-gen/ass/create.ts +0 -37
- package/src/ass-gen/ass/dialogue.ts +0 -90
- package/src/ass-gen/ass/event.ts +0 -57
- package/src/ass-gen/ass/info.ts +0 -27
- package/src/ass-gen/ass/raw.ts +0 -78
- package/src/ass-gen/ass/style.ts +0 -66
- package/src/ass-gen/config.ts +0 -45
- package/src/ass-gen/index.ts +0 -73
- package/src/ass-gen/types.ts +0 -76
- package/src/ass-gen/util/color.ts +0 -55
- package/src/ass-gen/util/danconvert.ts +0 -43
- package/src/ass-gen/util/index.ts +0 -10
- package/src/ass-gen/util/lang.ts +0 -35
- package/src/ass-gen/util/layout.ts +0 -242
- package/src/index.test.ts +0 -157
- package/src/index.ts +0 -1144
- package/src/plugins/bili/README.md +0 -87
- package/src/plugins/bili/dedupe.ts +0 -29
- package/src/plugins/bili/history-danmaku-fast-forward.ts +0 -86
- package/src/plugins/bili/index.test.ts +0 -129
- package/src/plugins/bili/index.ts +0 -2
- package/src/plugins/index.ts +0 -2
- package/src/plugins/stats/README.md +0 -44
- package/src/plugins/stats/getLatestDan.ts +0 -13
- package/src/plugins/stats/index.test.ts +0 -39
- package/src/plugins/stats/index.ts +0 -1
- package/src/proto/gen/bilibili/community/service/dm/v1/dm_pb.ts +0 -4072
- package/src/proto/gen/danuni/danmaku/v1/danmaku_pb.ts +0 -223
- package/src/proto/src/bilibili/community/service/dm/v1/dm.proto +0 -1095
- package/src/proto/src/danuni/danmaku/v1/danmaku.proto +0 -52
- package/src/utils/dm-gen.test.ts +0 -129
- package/src/utils/dm-gen.ts +0 -1078
- package/src/utils/fileParser.ts +0 -37
- package/src/utils/id-gen.ts +0 -73
- package/src/utils/platform.ts +0 -38
- package/tsconfig.json +0 -108
- package/types/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Message } from "@bufbuild/protobuf";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/proto/gen/bilibili/community/service/dm/v1/dm_pb.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* 互动弹幕条目信息
|
|
6
|
+
*
|
|
7
|
+
* @generated from message bilibili.community.service.dm.v1.CommandDm
|
|
8
|
+
*/
|
|
9
|
+
type CommandDm = Message<"bilibili.community.service.dm.v1.CommandDm"> & {
|
|
10
|
+
/**
|
|
11
|
+
* 弹幕id
|
|
12
|
+
*
|
|
13
|
+
* @generated from field: int64 id = 1;
|
|
14
|
+
*/
|
|
15
|
+
id: bigint;
|
|
16
|
+
/**
|
|
17
|
+
* 对象视频cid
|
|
18
|
+
*
|
|
19
|
+
* @generated from field: int64 oid = 2;
|
|
20
|
+
*/
|
|
21
|
+
oid: bigint;
|
|
22
|
+
/**
|
|
23
|
+
* 发送者mid
|
|
24
|
+
*
|
|
25
|
+
* @generated from field: int64 mid = 3;
|
|
26
|
+
*/
|
|
27
|
+
mid: bigint;
|
|
28
|
+
/**
|
|
29
|
+
* 互动弹幕指令
|
|
30
|
+
*
|
|
31
|
+
* @generated from field: string command = 4;
|
|
32
|
+
*/
|
|
33
|
+
command: string;
|
|
34
|
+
/**
|
|
35
|
+
* 互动弹幕正文
|
|
36
|
+
*
|
|
37
|
+
* @generated from field: string content = 5;
|
|
38
|
+
*/
|
|
39
|
+
content: string;
|
|
40
|
+
/**
|
|
41
|
+
* 出现时间
|
|
42
|
+
*
|
|
43
|
+
* @generated from field: int32 progress = 6;
|
|
44
|
+
*/
|
|
45
|
+
progress: number;
|
|
46
|
+
/**
|
|
47
|
+
* 创建时间
|
|
48
|
+
*
|
|
49
|
+
* @generated from field: string ctime = 7;
|
|
50
|
+
*/
|
|
51
|
+
ctime: string;
|
|
52
|
+
/**
|
|
53
|
+
* 发布时间
|
|
54
|
+
*
|
|
55
|
+
* @generated from field: string mtime = 8;
|
|
56
|
+
*/
|
|
57
|
+
mtime: string;
|
|
58
|
+
/**
|
|
59
|
+
* 扩展json数据
|
|
60
|
+
*
|
|
61
|
+
* @generated from field: string extra = 9;
|
|
62
|
+
*/
|
|
63
|
+
extra: string;
|
|
64
|
+
/**
|
|
65
|
+
* 弹幕id str类型
|
|
66
|
+
*
|
|
67
|
+
* @generated from field: string idStr = 10;
|
|
68
|
+
*/
|
|
69
|
+
idStr: string;
|
|
70
|
+
/**
|
|
71
|
+
*
|
|
72
|
+
*
|
|
73
|
+
* @generated from field: int32 type = 11;
|
|
74
|
+
*/
|
|
75
|
+
type: number;
|
|
76
|
+
/**
|
|
77
|
+
*
|
|
78
|
+
*
|
|
79
|
+
* @generated from field: bool auto_create = 12;
|
|
80
|
+
*/
|
|
81
|
+
autoCreate: boolean;
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
*
|
|
85
|
+
* @generated from field: int32 count_down = 13;
|
|
86
|
+
*/
|
|
87
|
+
countDown: number;
|
|
88
|
+
/**
|
|
89
|
+
*
|
|
90
|
+
*
|
|
91
|
+
* @generated from field: int32 attr = 14;
|
|
92
|
+
*/
|
|
93
|
+
attr: number;
|
|
94
|
+
};
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region src/core/dm-extra.d.ts
|
|
97
|
+
type DMBiliCommand = CommandDm;
|
|
98
|
+
interface Extra {
|
|
99
|
+
artplayer?: ExtraArtplayer;
|
|
100
|
+
bili?: ExtraBili;
|
|
101
|
+
danuni?: ExtraDanUni;
|
|
102
|
+
ddplay?: ExtraDdPlay;
|
|
103
|
+
}
|
|
104
|
+
interface ExtraArtplayer {
|
|
105
|
+
style?: object;
|
|
106
|
+
border?: boolean;
|
|
107
|
+
}
|
|
108
|
+
interface ExtraBili {
|
|
109
|
+
mode?: number;
|
|
110
|
+
pool?: number;
|
|
111
|
+
dmid?: string;
|
|
112
|
+
attr?: number;
|
|
113
|
+
mid?: string;
|
|
114
|
+
adv?: string;
|
|
115
|
+
code?: string;
|
|
116
|
+
bas?: string;
|
|
117
|
+
command?: DMBiliCommand;
|
|
118
|
+
}
|
|
119
|
+
interface ExtraDanUni {
|
|
120
|
+
merge?: ExtraDanUniMerge;
|
|
121
|
+
}
|
|
122
|
+
interface ExtraDanUniMerge {
|
|
123
|
+
duration: number;
|
|
124
|
+
count: number;
|
|
125
|
+
senders: string[];
|
|
126
|
+
taolu_count: number;
|
|
127
|
+
taolu_senders: string[];
|
|
128
|
+
}
|
|
129
|
+
interface ExtraDdPlay {
|
|
130
|
+
cid: number;
|
|
131
|
+
uid: string;
|
|
132
|
+
}
|
|
133
|
+
//#endregion
|
|
134
|
+
export { ExtraBili as n, Extra as t };
|
|
135
|
+
//# sourceMappingURL=dm-extra-DrAQCrFv.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dm-extra-DrAQCrFv.d.mts","names":[],"sources":["../src/utils/proto/gen/bilibili/community/service/dm/v1/dm_pb.ts","../src/core/dm-extra.ts"],"mappings":";;;;;;;;KAiXY,SAAA,GAAY,OAAA;;;;;;EAMtB,EAAA;;;;;;EAOA,GAAA;;;;;;EAOA,GAAA;;;;;;EAOA,OAAA;;;;;;EAOA,OAAA;;;;;;EAOA,QAAA;;;;;;EAOA,KAAA;;;;;;EAOA,KAAA;;;;;;EAOA,KAAA;;;;;;EAOA,KAAA;;;;;;EAOA,IAAA;;;;;;EAOA,UAAA;;;;;;EAOA,SAAA;;;;;;EAOA,IAAA;AAAA;;;KChdG,aAAA,GAAgB,SAAA;AAAA,UAEJ,KAAA;EACf,SAAA,GAAY,cAAA;EACZ,IAAA,GAAO,SAAA;EACP,MAAA,GAAS,WAAA;EACT,MAAA,GAAS,WAAA;AAAA;AAAA,UAEM,cAAA;EACf,KAAA;EACA,MAAA;AAAA;AAAA,UAEe,SAAA;EACf,IAAA;EACA,IAAA;EACA,IAAA;EACA,IAAA;EACA,GAAA;EACA,GAAA;EACA,IAAA;EACA,GAAA;EACA,OAAA,GAAU,aAAA;AAAA;AAAA,UAEK,WAAA;EACf,KAAA,GAAQ,gBAAA;AAAA;AAAA,UAEO,gBAAA;EACf,QAAA;EACA,KAAA;EACA,OAAA;EACA,WAAA;EACA,aAAA;AAAA;AAAA,UAEe,WAAA;EACf,GAAA;EACA,GAAA;AAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{z as e}from"zod";var t=`@dan-uni/dan-any`,n=`2.0.0`;let r=function(e){return e.Bangumi=`bgm`,e.TMDB=`tmdb`,e}({});const i=Object.values(r);let a=function(e){return e.Acfun=`acfun`,e.Baha=`baha`,e.Bilibili=`bili`,e.BilibiliGlobal=`bglobal`,e.Iqiyi=`iqiyi`,e.Tencent=`tencent`,e.Youku=`youku`,e}({});const o=Object.values(a);let s=function(e){return e.DanDanPlay=`ddplay`,e.TuCao=`tucao`,e}({});const c=Object.values(s),l=[...o,...c],u=[...i,...l],d=e.templateLiteral([e.string(),`@`,e.string()]);var f=class e{constructor(e,t){this.id=e,this.domain=t}static validateString(e){return d.safeParse(e).success}static fromStringSafe(e){return this.fromString(d.parse(e))}static fromString(t){let[n,r]=t.split(`@`);return new e(n,r)}toString(){return`${this.id}@${this.domain}`}static fromNull(t){return new e(t===`runtime`?`runtime`:`anonymous`,t||`danuni`)}static fromBili({cid:t,mid:n,midHash:r}){return t?new e(t.toString(),`bili`):n?new e(n.toString(),`bili`):r?new e(r,`bili`):this.fromNull(`bili`)}static fromUnknown(t,n){return t?new e(t,n):this.fromNull(n)}};let p=function(e){return e[e.Normal=0]=`Normal`,e[e.Bottom=1]=`Bottom`,e[e.Top=2]=`Top`,e[e.Reverse=3]=`Reverse`,e[e.Ext=4]=`Ext`,e}({}),m=function(e){return e[e.Def=0]=`Def`,e[e.Sub=1]=`Sub`,e[e.Adv=2]=`Adv`,e[e.Ix=3]=`Ix`,e}({}),h=function(e){return e.Protect=`Protect`,e.FromLive=`FromLive`,e.HighLike=`HighLike`,e.Compatible=`Compatible`,e.Reported=`Reported`,e.Unchecked=`Unchecked`,e.HasEvent=`HasEvent`,e.Hide=`Hide`,e}({});const g={SOID:f.fromNull().toString(),progress:0,mode:0,fontsize:25,color:16777215,senderID:f.fromNull().toString(),content:``,weight:0,pool:0,attr:[],platform:null,extra:null},_={meassage:`Converted by DanUni!`,version:`JS/TS ${t} (v${n})`};export{g as a,c,i as d,u as f,m as i,l,o as m,_ as n,f as o,a as p,p as r,s,h as t,r as u};
|
|
2
|
+
//# sourceMappingURL=dm-tkTdR_W6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dm-tkTdR_W6.mjs","names":["pkg.name","pkg.version"],"sources":["../package.json","../src/core/platform.ts","../src/core/uni-id.ts","../src/core/dm.ts"],"sourcesContent":["","export enum PlatformInfoSource {\n Bangumi = \"bgm\",\n TMDB = \"tmdb\",\n}\nexport const PlatformInfoSources = Object.values(PlatformInfoSource);\n\nexport enum PlatformVideoSource {\n Acfun = \"acfun\",\n Baha = \"baha\",\n Bilibili = \"bili\",\n BilibiliGlobal = \"bglobal\",\n Iqiyi = \"iqiyi\",\n Tencent = \"tencent\",\n Youku = \"youku\",\n}\nexport const PlatformVideoSources = Object.values(PlatformVideoSource);\n\nexport enum PlatformDanmakuOnlySource {\n DanDanPlay = \"ddplay\",\n TuCao = \"tucao\",\n}\nexport const PlatformDanmakuOnlySources = Object.values(PlatformDanmakuOnlySource);\n\nexport type PlatformDanmakuSource = PlatformVideoSource | PlatformDanmakuOnlySource;\nexport const PlatformDanmakuSources = [...PlatformVideoSources, ...PlatformDanmakuOnlySources];\n\nexport type PlatformSource = PlatformInfoSource | PlatformDanmakuSource;\nexport const PlatformSources = [...PlatformInfoSources, ...PlatformDanmakuSources];\n","import { z } from \"zod\";\nimport { type PlatformSource, PlatformVideoSource } from \"./platform.ts\";\n\nconst UniIDStrSchema = z.templateLiteral([z.string(), \"@\", z.string()]);\ntype UniIDStr = z.infer<typeof UniIDStrSchema>;\n\nexport class UniID {\n constructor(\n /**\n * @description 每个domain下应为唯一值\n * @example danuni: 推荐为UUID/ULID/NanoID\n * bili: midHash hash算法为CRC32\n */\n public id: string,\n /**\n * @description 弹幕首次出现的平台域名(注意可以为如localhost等根域名)\n * ### 预设\n * - `{any}.danuni` (若使用IP或无域名,请使用该domain,防止隐私泄露/无法解析)\n * #### 注意\n * - `any`值建议为UUID/ULID/NanoID以防同步错误\n * ### 非DanUni弹幕服务建议使用预设,或自行填写域名\n */\n public domain: PlatformSource | string,\n ) {}\n static validateString(str: string) {\n return UniIDStrSchema.safeParse(str).success;\n }\n static fromStringSafe(str: string) {\n return this.fromString(UniIDStrSchema.parse(str));\n }\n static fromString(str: UniIDStr) {\n const [id, domain] = str.split(\"@\");\n return new UniID(id, domain);\n }\n toString(): UniIDStr {\n return `${this.id}@${this.domain}`;\n }\n static fromNull(domain?: PlatformSource | string) {\n return new UniID(domain === \"runtime\" ? \"runtime\" : \"anonymous\", domain || \"danuni\");\n }\n static fromBili({\n cid,\n mid,\n midHash,\n }: {\n cid?: number | bigint | string;\n mid?: number | bigint;\n midHash?: string;\n }) {\n if (cid) return new UniID(cid.toString(), PlatformVideoSource.Bilibili);\n else if (mid) return new UniID(mid.toString(), PlatformVideoSource.Bilibili);\n else if (midHash) return new UniID(midHash, PlatformVideoSource.Bilibili);\n else return this.fromNull(PlatformVideoSource.Bilibili);\n }\n static fromUnknown(\n id: string,\n /**\n * 可使用预设\n */\n domain: PlatformSource | string,\n ) {\n if (id) return new UniID(id, domain);\n else return this.fromNull(domain);\n }\n}\n","import type { PlatformDanmakuSource } from \"./platform.ts\";\n\nimport pkg from \"../../package.json\" with { type: \"json\" };\nimport { UniID } from \"./uni-id.ts\";\nimport type { Extra } from \"./dm-extra.ts\";\n\nexport enum Modes {\n Normal,\n Bottom,\n Top,\n Reverse, //逆向弹幕\n Ext, //需要读取extra的弹幕,用于兼容bili等复杂弹幕\n}\nexport enum Pools {\n Def, //默认池\n Sub, //重要池,建议强制加载,含字幕、科普、空降等\n Adv, //高级弹幕专用池,均需读取extra\n Ix, //互动池\n}\nexport enum DMAttr {\n Protect = \"Protect\",\n FromLive = \"FromLive\",\n HighLike = \"HighLike\",\n Compatible = \"Compatible\", // 由dan-any进行过兼容处理的弹幕,可能丢失部分信息\n Reported = \"Reported\", // 在DanUni上被多人举报过的弹幕\n Unchecked = \"Unchecked\", // 在DanUni上未被审核过的弹幕\n HasEvent = \"HasEvent\", // 该弹幕当前在DanUni上存在事件(如点赞/举报等)\n Hide = \"Hide\", // 由于其它原因需要隐藏的弹幕(建议在server端不返回该类弹幕)\n}\n\nexport interface UniDMObj {\n SOID: string;\n progress: number; // int32, ms\n mode: Modes;\n fontsize: number;\n color: number;\n senderID: string;\n content: string;\n ctime: Date;\n weight: number;\n pool: Pools;\n attr: DMAttr[];\n platform: PlatformDanmakuSource | string | null;\n extra: Extra | null;\n // extraStr: string;\n DMID: string;\n}\n\nexport const defaultUniDM = {\n SOID: UniID.fromNull().toString(),\n progress: 0,\n mode: Modes.Normal,\n fontsize: 25,\n color: 0xffffff,\n senderID: UniID.fromNull().toString(),\n content: \"\",\n // ctime: new Date(), // ctime 应根据实际构建时间创建\n weight: 0,\n pool: Pools.Def,\n attr: [] as DMAttr[],\n platform: null,\n extra: null,\n} as const;\n\nexport interface DanUniConvertTip {\n meassage: string;\n version: string;\n data?: string;\n}\n\nexport const DanUniConvertTipTemplate: DanUniConvertTip = {\n meassage: \"Converted by DanUni!\",\n version: `JS/TS ${pkg.name} (v${pkg.version})`,\n};\n"],"mappings":"2DCAA,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,QAAA,MACA,EAAA,KAAA,aACD,CACD,MAAa,EAAsB,OAAO,OAAO,EAAmB,CAEpE,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,MAAA,QACA,EAAA,KAAA,OACA,EAAA,SAAA,OACA,EAAA,eAAA,UACA,EAAA,MAAA,QACA,EAAA,QAAA,UACA,EAAA,MAAA,cACD,CACD,MAAa,EAAuB,OAAO,OAAO,EAAoB,CAEtE,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,WAAA,SACA,EAAA,MAAA,cACD,CACD,MAAa,EAA6B,OAAO,OAAO,EAA0B,CAGrE,EAAyB,CAAC,GAAG,EAAsB,GAAG,EAA2B,CAGjF,EAAkB,CAAC,GAAG,EAAqB,GAAG,EAAuB,CCxB5E,EAAiB,EAAE,gBAAgB,CAAC,EAAE,QAAQ,CAAE,IAAK,EAAE,QAAQ,CAAC,CAAC,CAGvE,IAAa,EAAb,MAAa,CAAM,CACjB,YAME,EASA,EACA,CAVO,KAAA,GAAA,EASA,KAAA,OAAA,EAET,OAAO,eAAe,EAAa,CACjC,OAAO,EAAe,UAAU,EAAI,CAAC,QAEvC,OAAO,eAAe,EAAa,CACjC,OAAO,KAAK,WAAW,EAAe,MAAM,EAAI,CAAC,CAEnD,OAAO,WAAW,EAAe,CAC/B,GAAM,CAAC,EAAI,GAAU,EAAI,MAAM,IAAI,CACnC,OAAO,IAAI,EAAM,EAAI,EAAO,CAE9B,UAAqB,CACnB,MAAO,GAAG,KAAK,GAAG,GAAG,KAAK,SAE5B,OAAO,SAAS,EAAkC,CAChD,OAAO,IAAI,EAAM,IAAW,UAAY,UAAY,YAAa,GAAU,SAAS,CAEtF,OAAO,SAAS,CACd,MACA,MACA,WAKC,CAII,OAHD,EAAY,IAAI,EAAM,EAAI,UAAU,CAAA,OAA+B,CAC9D,EAAY,IAAI,EAAM,EAAI,UAAU,CAAA,OAA+B,CACnE,EAAgB,IAAI,EAAM,EAAA,OAAsC,CAC7D,KAAK,SAAA,OAAsC,CAEzD,OAAO,YACL,EAIA,EACA,CAEK,OADD,EAAW,IAAI,EAAM,EAAI,EAAO,CACxB,KAAK,SAAS,EAAO,GCxDrC,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,EAAA,OAAA,GAAA,SACA,EAAA,EAAA,OAAA,GAAA,SACA,EAAA,EAAA,IAAA,GAAA,MACA,EAAA,EAAA,QAAA,GAAA,UACA,EAAA,EAAA,IAAA,GAAA,YACD,CACW,EAAL,SAAA,EAAA,OACL,GAAA,EAAA,IAAA,GAAA,MACA,EAAA,EAAA,IAAA,GAAA,MACA,EAAA,EAAA,IAAA,GAAA,MACA,EAAA,EAAA,GAAA,GAAA,WACD,CACW,EAAL,SAAA,EAAA,OACL,GAAA,QAAA,UACA,EAAA,SAAA,WACA,EAAA,SAAA,WACA,EAAA,WAAA,aACA,EAAA,SAAA,WACA,EAAA,UAAA,YACA,EAAA,SAAA,WACA,EAAA,KAAA,aACD,CAoBD,MAAa,EAAe,CAC1B,KAAM,EAAM,UAAU,CAAC,UAAU,CACjC,SAAU,EACV,KAAA,EACA,SAAU,GACV,MAAO,SACP,SAAU,EAAM,UAAU,CAAC,UAAU,CACrC,QAAS,GAET,OAAQ,EACR,KAAA,EACA,KAAM,EAAE,CACR,SAAU,KACV,MAAO,KACR,CAQY,EAA6C,CACxD,SAAU,uBACV,QAAS,SAASA,EAAS,KAAKC,EAAY,GAC7C"}
|