@dan-uni/dan-any 2.2.2 → 2.2.4

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 (81) hide show
  1. package/dist/adapters-BWKFhVcX.js +2 -0
  2. package/dist/adapters-BWKFhVcX.js.map +1 -0
  3. package/dist/{adapters.d.mts → adapters.d.ts} +1 -1
  4. package/dist/adapters.js +1 -0
  5. package/dist/core/db/schema.d.ts +2 -0
  6. package/dist/core/db/schema.js +2 -0
  7. package/dist/core/db/schema.js.map +1 -0
  8. package/dist/{index-DLr9qdb5.d.mts → core/db/utils.d.ts} +3 -3
  9. package/dist/{index-DLr9qdb5.d.mts.map → core/db/utils.d.ts.map} +1 -1
  10. package/dist/core/db/utils.js +1 -0
  11. package/dist/{index-1cUgmIZl.d.mts → core/main/drizzle.d.ts} +26 -1006
  12. package/dist/core/main/drizzle.d.ts.map +1 -0
  13. package/dist/core/main/drizzle.js +1 -0
  14. package/dist/core/main/pure.d.ts +2 -0
  15. package/dist/core/main/pure.js +1 -0
  16. package/dist/core/main.d.ts +3 -0
  17. package/dist/core/main.js +1 -0
  18. package/dist/core-BKtvRbLS.js +2 -0
  19. package/dist/core-BKtvRbLS.js.map +1 -0
  20. package/dist/core.d.ts +3 -0
  21. package/dist/core.js +1 -0
  22. package/dist/{db-f5FA8dbM.mjs → db-CK9ddboZ.js} +2 -2
  23. package/dist/db-CK9ddboZ.js.map +1 -0
  24. package/dist/{dm-extra-6EjI8V-C.d.mts → dm-extra-6EjI8V-C.d.ts} +1 -1
  25. package/dist/dm-extra-6EjI8V-C.d.ts.map +1 -0
  26. package/dist/index-B0rdTeW8.d.ts +747 -0
  27. package/dist/index-B0rdTeW8.d.ts.map +1 -0
  28. package/dist/index.d.ts +4 -0
  29. package/dist/index.js +1 -0
  30. package/dist/isSame-BAhY0_yj.js +2 -0
  31. package/dist/isSame-BAhY0_yj.js.map +1 -0
  32. package/dist/main-drizzle-BBmwzpaC.js +2 -0
  33. package/dist/main-drizzle-BBmwzpaC.js.map +1 -0
  34. package/dist/main-pure-BnkXf_jV.d.ts +150 -0
  35. package/dist/main-pure-BnkXf_jV.d.ts.map +1 -0
  36. package/dist/main-pure-C1oipitq.js +2 -0
  37. package/dist/main-pure-C1oipitq.js.map +1 -0
  38. package/dist/{plugins.d.mts → plugins.d.ts} +5 -35
  39. package/dist/plugins.d.ts.map +1 -0
  40. package/dist/plugins.js +2 -0
  41. package/dist/plugins.js.map +1 -0
  42. package/dist/{schema-CUhPWl_o.d.mts → schema-D44OKqTj.d.ts} +5 -68
  43. package/dist/schema-D44OKqTj.d.ts.map +1 -0
  44. package/dist/simplify-d7VEIjlJ.d.ts +63 -0
  45. package/dist/simplify-d7VEIjlJ.d.ts.map +1 -0
  46. package/dist/{utils.d.mts → utils.d.ts} +5 -12
  47. package/dist/utils.d.ts.map +1 -0
  48. package/dist/utils.js +2 -0
  49. package/dist/utils.js.map +1 -0
  50. package/package.json +16 -15
  51. package/dist/adapters-CmPs084j.mjs +0 -2
  52. package/dist/adapters-CmPs084j.mjs.map +0 -1
  53. package/dist/adapters.mjs +0 -1
  54. package/dist/core/db/schema.d.mts +0 -2
  55. package/dist/core/db/schema.mjs +0 -2
  56. package/dist/core/db/schema.mjs.map +0 -1
  57. package/dist/core/db/utils.d.mts +0 -2
  58. package/dist/core/db/utils.mjs +0 -1
  59. package/dist/core/main/drizzle.d.mts +0 -2
  60. package/dist/core/main/drizzle.mjs +0 -1
  61. package/dist/core/main/pure.d.mts +0 -2
  62. package/dist/core/main/pure.mjs +0 -1
  63. package/dist/core-DSAcy7oA.mjs +0 -2
  64. package/dist/core-DSAcy7oA.mjs.map +0 -1
  65. package/dist/core.d.mts +0 -3
  66. package/dist/core.mjs +0 -1
  67. package/dist/db-f5FA8dbM.mjs.map +0 -1
  68. package/dist/dm-extra-6EjI8V-C.d.mts.map +0 -1
  69. package/dist/index-1cUgmIZl.d.mts.map +0 -1
  70. package/dist/index.d.mts +0 -4
  71. package/dist/index.mjs +0 -1
  72. package/dist/isSame-CHvRHOWO.mjs +0 -2
  73. package/dist/isSame-CHvRHOWO.mjs.map +0 -1
  74. package/dist/plugins.d.mts.map +0 -1
  75. package/dist/plugins.mjs +0 -2
  76. package/dist/plugins.mjs.map +0 -1
  77. package/dist/schema-CUhPWl_o.d.mts.map +0 -1
  78. package/dist/utils.d.mts.map +0 -1
  79. package/dist/utils.mjs +0 -2
  80. package/dist/utils.mjs.map +0 -1
  81. /package/dist/{chunk-DK3Fl9T5.mjs → chunk-DK3Fl9T5.js} +0 -0
@@ -1,304 +1,15 @@
1
- import { a as ExtraDanUniMerge, c as ExtraTencent, i as ExtraDanUni, n as ExtraArtplayer, o as ExtraDanUniRaw, r as ExtraBili, s as ExtraDdPlay, t as Extra } from "./dm-extra-6EjI8V-C.mjs";
2
- import { n as db$1 } from "./index-DLr9qdb5.mjs";
3
- import { b as Simplify, n as DanmakusInsert, u as chunksZod } from "./schema-CUhPWl_o.mjs";
1
+ import { St as DMIDGenerator, Tt as Promisable, X as InitedUniDB$1, a as TransformerInput, et as UniChunk$1, i as Transformer, nt as baseClassTrans$1, q as AdapterStore, r as Plugin, tt as UniDB$1, wt as Asyncify } from "../../index-B0rdTeW8.js";
2
+ import { t as Simplify } from "../../simplify-d7VEIjlJ.js";
3
+ import { t as Extra } from "../../dm-extra-6EjI8V-C.js";
4
+ import { l as chunksZod, n as DanmakusInsert } from "../../schema-D44OKqTj.js";
4
5
  import { z } from "zod";
5
6
 
6
- //#region node_modules/type-fest/source/is-null.d.ts
7
- /**
8
- Returns a boolean for whether the given type is `null`.
9
-
10
- @example
11
- ```
12
- import type {IsNull} from 'type-fest';
13
-
14
- type NonNullFallback<T, Fallback> = IsNull<T> extends true ? Fallback : T;
15
-
16
- type Example1 = NonNullFallback<null, string>;
17
- //=> string
18
-
19
- type Example2 = NonNullFallback<number, string>;
20
- //=> number
21
- ```
22
-
23
- @category Type Guard
24
- @category Utilities
25
- */
26
- type IsNull<T> = [T] extends [null] ? true : false;
27
- //#endregion
28
- //#region node_modules/type-fest/source/is-unknown.d.ts
29
- /**
30
- Returns a boolean for whether the given type is `unknown`.
31
-
32
- @link https://github.com/dsherret/conditional-type-checks/pull/16
33
-
34
- Useful in type utilities, such as when dealing with unknown data from API calls.
35
-
36
- @example
37
- ```
38
- import type {IsUnknown} from 'type-fest';
39
-
40
- type A = IsUnknown<unknown>;
41
- //=> true
42
-
43
- type B = IsUnknown<any>;
44
- //=> false
45
-
46
- type C = IsUnknown<never>;
47
- //=> false
48
-
49
- type D = IsUnknown<unknown[]>;
50
- //=> false
51
-
52
- type E = IsUnknown<object>;
53
- //=> false
54
-
55
- type F = IsUnknown<string>;
56
- //=> false
57
- ```
58
-
59
- @category Utilities
60
- */
61
- type IsUnknown<T> = (unknown extends T // `T` can be `unknown` or `any`
62
- ? IsNull<T> extends false // `any` can be `null`, but `unknown` can't be
63
- ? true : false : false);
64
- //#endregion
65
- //#region node_modules/type-fest/source/promisable.d.ts
66
- /**
67
- Create a type that represents either the value or the value wrapped in `PromiseLike`.
68
-
69
- Use-cases:
70
- - A function accepts a callback that may either return a value synchronously or may return a promised value.
71
- - This type could be the return type of `Promise#then()`, `Promise#catch()`, and `Promise#finally()` callbacks.
72
-
73
- Please upvote [this issue](https://github.com/microsoft/TypeScript/issues/31394) if you want to have this type as a built-in in TypeScript.
74
-
75
- @example
76
- ```
77
- import type {Promisable} from 'type-fest';
78
-
79
- async function logger(getLogEntry: () => Promisable<string>): Promise<void> {
80
- const entry = await getLogEntry();
81
- console.log(entry);
82
- }
83
-
84
- await logger(() => 'foo');
85
- await logger(() => Promise.resolve('bar'));
86
- ```
87
-
88
- @category Async
89
- */
90
- type Promisable<T> = T | PromiseLike<T>;
91
- //#endregion
92
- //#region node_modules/type-fest/source/set-return-type.d.ts
93
- /**
94
- Create a function type with a return type of your choice and the same parameters as the given function type.
95
-
96
- Use-case: You want to define a wrapped function that returns something different while receiving the same parameters. For example, you might want to wrap a function that can throw an error into one that will return `undefined` instead.
97
-
98
- @example
99
- ```
100
- import type {SetReturnType} from 'type-fest';
101
-
102
- type MyFunctionThatCanThrow = (foo: string, bar: number) => boolean;
103
-
104
- type MyWrappedFunction = SetReturnType<MyFunctionThatCanThrow, ReturnType<MyFunctionThatCanThrow> | undefined>;
105
- //=> (foo: string, bar: number) => boolean | undefined
106
- ```
107
-
108
- @category Function
109
- */
110
- type SetReturnType<Function_ extends (...arguments_: any[]) => any, TypeToReturn> = // Just using `Parameters<Fn>` isn't ideal because it doesn't handle the `this` fake parameter.
111
- Function_ extends ((this: infer ThisArgument, ...arguments_: infer Arguments) => any) ? (// If a function did not specify the `this` fake parameter, it will be inferred to `unknown`.
112
- // We want to detect this situation just to display a friendlier type upon hovering on an IntelliSense-powered IDE.
113
- IsUnknown<ThisArgument> extends true ? (...arguments_: Arguments) => TypeToReturn : (this: ThisArgument, ...arguments_: Arguments) => TypeToReturn) : (// This part should be unreachable, but we make it meaningful just in case…
114
- (...arguments_: Parameters<Function_>) => TypeToReturn);
115
- //#endregion
116
- //#region node_modules/type-fest/source/asyncify.d.ts
117
- /**
118
- Create an async version of the given function type, by boxing the return type in `Promise` while keeping the same parameter types.
119
-
120
- Use-case: You have two functions, one synchronous and one asynchronous that do the same thing. Instead of having to duplicate the type definition, you can use `Asyncify` to reuse the synchronous type.
121
-
122
- @example
123
- ```
124
- import type {Asyncify} from 'type-fest';
125
-
126
- // Synchronous function
127
- type Config = {featureFlags: Record<string, boolean>};
128
-
129
- declare function loadConfigSync(path: string): Config;
130
-
131
- type LoadConfigAsync = Asyncify<typeof loadConfigSync>;
132
- //=> (path: string) => Promise<Config>
133
- ```
134
-
135
- @category Async
136
- */
137
- type Asyncify<Function_ extends (...arguments_: any[]) => any> = SetReturnType<Function_, Promise<Awaited<ReturnType<Function_>>>>;
138
- //#endregion
139
- //#region src/core/platform.d.ts
140
- declare enum PlatformInfoSource {
141
- Bangumi = "bgm",
142
- TMDB = "tmdb"
143
- }
144
- declare const PlatformInfoSources: PlatformInfoSource[];
145
- declare enum PlatformVideoSource {
146
- Acfun = "acfun",
147
- Baha = "baha",
148
- Bilibili = "bili",
149
- BilibiliGlobal = "bglobal",
150
- Iqiyi = "iqiyi",
151
- Tencent = "tencent",
152
- Youku = "youku"
153
- }
154
- declare const PlatformVideoSources: PlatformVideoSource[];
155
- declare enum PlatformDanmakuOnlySource {
156
- DanDanPlay = "ddplay",
157
- TuCao = "tucao"
158
- }
159
- declare const PlatformDanmakuOnlySources: PlatformDanmakuOnlySource[];
160
- type PlatformDanmakuSource = PlatformVideoSource | PlatformDanmakuOnlySource;
161
- declare const PlatformDanmakuSources: (PlatformVideoSource | PlatformDanmakuOnlySource)[];
162
- type PlatformSource = PlatformInfoSource | PlatformDanmakuSource;
163
- declare const PlatformSources: (PlatformInfoSource | PlatformVideoSource | PlatformDanmakuOnlySource)[];
164
- //#endregion
165
- //#region src/core/dm.d.ts
166
- declare enum Modes {
167
- Normal = 0,
168
- Bottom = 1,
169
- Top = 2,
170
- Reverse = 3,
171
- //逆向弹幕
172
- Ext = 4
173
- }
174
- declare enum Pools {
175
- Def = 0,
176
- //默认池
177
- Sub = 1,
178
- //重要池,建议强制加载,含字幕、科普、空降等
179
- Adv = 2,
180
- //高级弹幕专用池,均需读取extra
181
- Ix = 3
182
- }
183
- declare enum DMAttr {
184
- Protect = "Protect",
185
- FromLive = "FromLive",
186
- HighLike = "HighLike",
187
- Compatible = "Compatible",
188
- // 由dan-any进行过兼容处理的弹幕,可能丢失部分信息
189
- Reported = "Reported",
190
- // 在DanUni上被多人举报过的弹幕
191
- Unchecked = "Unchecked",
192
- // 在DanUni上未被审核过的弹幕
193
- HasEvent = "HasEvent",
194
- // 该弹幕当前在DanUni上存在事件(如点赞/举报等)
195
- Hide = "Hide"
196
- }
197
- interface UniDMObj {
198
- SOID: string;
199
- progress: number;
200
- mode: Modes;
201
- fontsize: number;
202
- color: number;
203
- senderID: string;
204
- content: string;
205
- ctime: Date;
206
- weight: number;
207
- pool: Pools;
208
- attr: DMAttr[];
209
- platform: PlatformDanmakuSource | string | null;
210
- extra: Extra | null;
211
- DMID: string;
212
- }
213
- declare const defaultUniDM: {
214
- readonly SOID: `${string}@${string}`;
215
- readonly progress: 0;
216
- readonly mode: Modes.Normal;
217
- readonly fontsize: 25;
218
- readonly color: 16777215;
219
- readonly senderID: `${string}@${string}`;
220
- readonly content: "";
221
- readonly weight: 0;
222
- readonly pool: Pools.Def;
223
- readonly attr: DMAttr[];
224
- readonly platform: null;
225
- readonly extra: null;
226
- };
227
- interface DanUniConvertTip {
228
- meassage: string;
229
- version: string;
230
- data?: string;
231
- }
232
- declare const DanUniConvertTipTemplate: DanUniConvertTip;
233
- //#endregion
234
- //#region src/core/id.d.ts
235
- type DMIDGeneratorDanmaku = Omit<UDanmaku, "DMID">;
236
- type DMIDGenerator = (dan: DMIDGeneratorDanmaku, slice?: number) => string;
237
- declare const createDMID: DMIDGenerator;
238
- //#endregion
239
- //#region src/core/uni-id.d.ts
240
- declare const UniIDStrSchema: z.ZodTemplateLiteral<`${string}@${string}`>;
241
- type UniIDStr = z.infer<typeof UniIDStrSchema>;
242
- declare class UniID {
243
- /**
244
- * @description 每个domain下应为唯一值
245
- * @example danuni: 推荐为UUID/ULID/NanoID
246
- * bili: midHash hash算法为CRC32
247
- */
248
- id: string;
249
- /**
250
- * @description 弹幕首次出现的平台域名(注意可以为如localhost等根域名)
251
- * ### 预设
252
- * - `{any}.danuni` (若使用IP或无域名,请使用该domain,防止隐私泄露/无法解析)
253
- * #### 注意
254
- * - `any`值建议为UUID/ULID/NanoID以防同步错误
255
- * ### 非DanUni弹幕服务建议使用预设,或自行填写域名
256
- */
257
- domain: PlatformSource | string;
258
- constructor(
259
- /**
260
- * @description 每个domain下应为唯一值
261
- * @example danuni: 推荐为UUID/ULID/NanoID
262
- * bili: midHash hash算法为CRC32
263
- */
264
-
265
- id: string,
266
- /**
267
- * @description 弹幕首次出现的平台域名(注意可以为如localhost等根域名)
268
- * ### 预设
269
- * - `{any}.danuni` (若使用IP或无域名,请使用该domain,防止隐私泄露/无法解析)
270
- * #### 注意
271
- * - `any`值建议为UUID/ULID/NanoID以防同步错误
272
- * ### 非DanUni弹幕服务建议使用预设,或自行填写域名
273
- */
274
-
275
- domain: PlatformSource | string);
276
- static validateString(str: string): boolean;
277
- static fromStringSafe(str: string): UniID;
278
- static fromString(str: UniIDStr): UniID;
279
- toString(): UniIDStr;
280
- static fromNull(domain?: PlatformSource | string): UniID;
281
- static fromBili({
282
- cid,
283
- mid,
284
- midHash
285
- }: {
286
- cid?: number | bigint | string;
287
- mid?: number | bigint;
288
- midHash?: string;
289
- }): UniID;
290
- static fromUnknown(id: string,
291
- /**
292
- * 可使用预设
293
- */
294
-
295
- domain: PlatformSource | string): UniID;
296
- }
7
+ //#region src/core/main-drizzle.d.ts
297
8
  declare namespace main_drizzle_d_exports {
298
- export { InitedUniDB$2 as InitedUniDB, UniChunk$2 as UniChunk, UniDB$2 as UniDB };
9
+ export { InitedUniDB, UniChunk, UniDB };
299
10
  }
300
- type baseClassTrans$2<T> = baseClassTrans<T, UniDB$2, InitedUniDB$2, UniChunk$2>;
301
- declare class UniDB$2 implements UniDB {
11
+ type baseClassTrans<T> = baseClassTrans$1<T, UniDB, InitedUniDB, UniChunk>;
12
+ declare class UniDB implements UniDB$1 {
302
13
  $db: (import("drizzle-orm/pglite").PgliteDatabase<import("drizzle-orm").TablesRelationalConfig> & {
303
14
  $client: import("@electric-sql/pglite").PGlite;
304
15
  } & {
@@ -2999,14 +2710,14 @@ declare class UniDB$2 implements UniDB {
2999
2710
  }, import("drizzle-orm/pg-core").PgAsyncRelationalQueryHKT>;
3000
2711
  }>;
3001
2712
  }) | null, DMIDGenerator?: DMIDGenerator);
3002
- init(dump?: File): Promise<InitedUniDB$2>;
2713
+ init(dump?: File): Promise<InitedUniDB>;
3003
2714
  close(): Promise<void>;
3004
2715
  }
3005
- declare class InitedUniDB$2 extends UniDB$2 implements InitedUniDB {
3006
- $db: NonNullable<UniDB$2["$db"]>;
2716
+ declare class InitedUniDB extends UniDB implements InitedUniDB$1 {
2717
+ $db: NonNullable<UniDB["$db"]>;
3007
2718
  DMIDGenerator: DMIDGenerator;
3008
2719
  __isInitedUniDB: boolean;
3009
- constructor($db: NonNullable<UniDB$2["$db"]>, DMIDGenerator?: DMIDGenerator);
2720
+ constructor($db: NonNullable<UniDB["$db"]>, DMIDGenerator?: DMIDGenerator);
3010
2721
  dump(): Promise<File>;
3011
2722
  get $chunks(): Promise<{
3012
2723
  fromConverted: boolean;
@@ -3029,21 +2740,21 @@ declare class InitedUniDB$2 extends UniDB$2 implements InitedUniDB {
3029
2740
  senderID: string;
3030
2741
  weight: number;
3031
2742
  }[]>;
3032
- listChunks(): Promise<UniChunk$2[]>;
3033
- makeChunk(data: Omit<z.infer<typeof chunksZod>, "id">): Promise<UniChunk$2>;
2743
+ listChunks(): Promise<UniChunk[]>;
2744
+ makeChunk(data: Omit<z.infer<typeof chunksZod>, "id">): Promise<UniChunk>;
3034
2745
  upsertDanmakus(data: DanmakusInsert[] | Map<string, DanmakusInsert>, dedupeDMID?: boolean): Promise<void>;
3035
2746
  /**
3036
2747
  * 清理临时chunks
3037
2748
  */
3038
2749
  shrink(): Promise<void>;
3039
- import(adapterStore: AdapterStore): Promisable<UniChunk$2>;
2750
+ import(adapterStore: AdapterStore): Promisable<UniChunk>;
3040
2751
  export<T extends Transformer>(transformer: T): Promise<ReturnType<T>>;
3041
2752
  }
3042
- declare class UniChunk$2 implements UniChunk {
3043
- $UniDB: InitedUniDB$2;
2753
+ declare class UniChunk implements UniChunk$1 {
2754
+ $UniDB: InitedUniDB;
3044
2755
  id: number;
3045
2756
  __isUniChunk: boolean;
3046
- constructor($UniDB: InitedUniDB$2, id: number);
2757
+ constructor($UniDB: InitedUniDB, id: number);
3047
2758
  get $db(): import("drizzle-orm/pglite").PgliteDatabase<import("drizzle-orm").TablesRelationalConfig> & {
3048
2759
  $client: import("@electric-sql/pglite").PGlite;
3049
2760
  } & {
@@ -4393,7 +4104,7 @@ declare class UniChunk$2 implements UniChunk {
4393
4104
  }, import("drizzle-orm/pg-core").PgAsyncRelationalQueryHKT>;
4394
4105
  }>;
4395
4106
  };
4396
- static makeChunk(u: TransformerInput<InitedUniDB$2 | UniChunk$2>, data: z.infer<typeof chunksZod>): Promise<UniChunk$2>;
4107
+ static makeChunk(u: TransformerInput<InitedUniDB | UniChunk>, data: z.infer<typeof chunksZod>): Promise<UniChunk>;
4397
4108
  /**
4398
4109
  * 合并弹幕库
4399
4110
  * @description 将多个chunk的弹幕合并到base chunk中,合并后原chunk会被删除
@@ -4402,12 +4113,12 @@ declare class UniChunk$2 implements UniChunk {
4402
4113
  * @returns 合并后的目标chunk实例
4403
4114
  * @throws 如果chunks列表为空,函数会直接返回base chunk;如果目标chunk在数据库中未找到,会抛出错误;如果chunks中有来自不同数据库的chunk且options.allowDifferentDB为false,也会抛出错误
4404
4115
  */
4405
- static assign(base: UniChunk$2, chunks: UniChunk$2[]): Promise<UniChunk$2>;
4116
+ static assign(base: UniChunk, chunks: UniChunk[]): Promise<UniChunk>;
4406
4117
  /**
4407
4118
  * 比较两个chunk的弹幕是否相同
4408
4119
  * @description 可用于跨DB比较
4409
4120
  */
4410
- static compare(u1: UniChunk$2, u2: UniChunk$2): Promise<boolean>;
4121
+ static compare(u1: UniChunk, u2: UniChunk): Promise<boolean>;
4411
4122
  /**
4412
4123
  * 获取当前chunk的数据库记录
4413
4124
  * @description 虽然数组仅会包含一个值,但这里保持数据库原始返回
@@ -4542,703 +4253,12 @@ declare class UniChunk$2 implements UniChunk {
4542
4253
  upsertDanmakus(data: Simplify<DanmakusInsert & {
4543
4254
  DMID?: undefined;
4544
4255
  }>[], autoSetDMID: true, dedupeDMID?: true): Promise<void>;
4545
- import(adapterStore: AdapterStore): Promisable<UniChunk$2>;
4256
+ import(adapterStore: AdapterStore): Promisable<UniChunk>;
4546
4257
  export<T extends Transformer>(transformer: T): Promise<ReturnType<T>>;
4547
- plugin<T extends Plugin>(plugin: T): baseClassTrans$2<ReturnType<T>>;
4548
- plugin<T extends Asyncify<Plugin>>(plugin: T): Promise<baseClassTrans$2<ReturnType<T>>>;
4258
+ plugin<T extends Plugin>(plugin: T): baseClassTrans<ReturnType<T>>;
4259
+ plugin<T extends Asyncify<Plugin>>(plugin: T): Promise<baseClassTrans<ReturnType<T>>>;
4549
4260
  delete(): Promise<void>;
4550
4261
  }
4551
4262
  //#endregion
4552
- //#region src/utils/serialMap.d.ts
4553
- type innerSerialMap<V> = Map<number, V>;
4554
- declare class SerialMap<V> implements Map<number, V> {
4555
- #private;
4556
- get nextSerial(): number;
4557
- add(value: V): this;
4558
- delete(serial: number): boolean;
4559
- clear(): void;
4560
- toJSON(): {
4561
- $typeName: string;
4562
- "#map": [number, V][];
4563
- "#freeSerials": number[];
4564
- "#nextSerial": number;
4565
- };
4566
- static fromJSON<V>(data: ReturnType<SerialMap<V>["toJSON"]>): SerialMap<V>;
4567
- get size(): number;
4568
- has(...args: Parameters<innerSerialMap<V>["has"]>): boolean;
4569
- get(...args: Parameters<innerSerialMap<V>["get"]>): V | undefined;
4570
- set(...args: Parameters<innerSerialMap<V>["set"]>): this;
4571
- getOrInsert(...args: Parameters<innerSerialMap<V>["getOrInsert"]>): V;
4572
- getOrInsertComputed(...args: Parameters<innerSerialMap<V>["getOrInsertComputed"]>): V;
4573
- forEach(...args: Parameters<innerSerialMap<V>["forEach"]>): void;
4574
- keys(...args: Parameters<innerSerialMap<V>["keys"]>): MapIterator<number>;
4575
- values(...args: Parameters<innerSerialMap<V>["values"]>): MapIterator<V>;
4576
- entries(...args: Parameters<innerSerialMap<V>["entries"]>): MapIterator<[number, V]>;
4577
- [Symbol.iterator](): MapIterator<[number, V]>;
4578
- get [Symbol.toStringTag](): string;
4579
- }
4580
- type innerBigSerialMap<V> = Map<bigint, V>;
4581
- declare class BigSerialMap<V> implements Map<bigint, V> {
4582
- #private;
4583
- get nextSerial(): bigint;
4584
- add(value: V): this;
4585
- delete(serial: bigint): boolean;
4586
- clear(): void;
4587
- toJSON(): {
4588
- $typeName: string;
4589
- "#map": [string, V][];
4590
- "#freeSerials": string[];
4591
- "#nextSerial": string;
4592
- };
4593
- static fromJSON<V>(data: ReturnType<BigSerialMap<V>["toJSON"]>): BigSerialMap<V>;
4594
- get size(): number;
4595
- has(...args: Parameters<innerBigSerialMap<V>["has"]>): boolean;
4596
- get(...args: Parameters<innerBigSerialMap<V>["get"]>): V | undefined;
4597
- set(...args: Parameters<innerBigSerialMap<V>["set"]>): this;
4598
- getOrInsert(...args: Parameters<innerBigSerialMap<V>["getOrInsert"]>): V;
4599
- getOrInsertComputed(...args: Parameters<innerBigSerialMap<V>["getOrInsertComputed"]>): V;
4600
- forEach(...args: Parameters<innerBigSerialMap<V>["forEach"]>): void;
4601
- keys(...args: Parameters<innerBigSerialMap<V>["keys"]>): MapIterator<bigint>;
4602
- values(...args: Parameters<innerBigSerialMap<V>["values"]>): MapIterator<V>;
4603
- entries(...args: Parameters<innerBigSerialMap<V>["entries"]>): MapIterator<[bigint, V]>;
4604
- [Symbol.iterator](): MapIterator<[bigint, V]>;
4605
- get [Symbol.toStringTag](): string;
4606
- }
4607
- declare namespace main_pure_d_exports {
4608
- export { InitedUniDB$1 as InitedUniDB, UniChunk$1 as UniChunk, UniDB$1 as UniDB, initNewDb };
4609
- }
4610
- type baseClassTrans$1<T> = baseClassTrans<T, UniDB$1, InitedUniDB$1, UniChunk$1>;
4611
- interface UJson {
4612
- danmakus: UDanmaku[];
4613
- chunks: ReturnType<SerialMap<UChunk>["toJSON"]>;
4614
- chunk2danmakus: ReturnType<BigSerialMap<UChunk2Danmaku>["toJSON"]>;
4615
- }
4616
- interface UMaps {
4617
- danmakus: Map<string, UDanmaku>;
4618
- chunks: SerialMap<UChunk>;
4619
- chunk2danmakus: BigSerialMap<UChunk2Danmaku>;
4620
- }
4621
- declare function initNewDb(): {
4622
- danmakus: Map<string, UDanmaku>;
4623
- chunks: SerialMap<UChunk>;
4624
- chunk2danmakus: BigSerialMap<UChunk2Danmaku>;
4625
- };
4626
- declare class UniDB$1 implements UniDB {
4627
- $db: UMaps;
4628
- DMIDGenerator: DMIDGenerator;
4629
- __isUniDB: boolean;
4630
- constructor($db?: UMaps, DMIDGenerator?: DMIDGenerator);
4631
- init($json?: UJson): InitedUniDB$1;
4632
- close(): void;
4633
- }
4634
- declare class InitedUniDB$1 extends UniDB$1 implements InitedUniDB {
4635
- $db: UMaps;
4636
- DMIDGenerator: DMIDGenerator;
4637
- __isInitedUniDB: boolean;
4638
- constructor($db: UMaps, DMIDGenerator?: DMIDGenerator);
4639
- dump(): UJson;
4640
- get $chunks(): {
4641
- fromConverted: boolean;
4642
- id: number;
4643
- tmp: boolean;
4644
- }[];
4645
- get $danmakus(): {
4646
- DMID: string;
4647
- SOID: string;
4648
- attr: ("Compatible" | "FromLive" | "HasEvent" | "Hide" | "HighLike" | "Protect" | "Reported" | "Unchecked")[];
4649
- color: number;
4650
- content: string;
4651
- ctime: Date;
4652
- extra: Extra | null;
4653
- fontsize: number;
4654
- mode: "Bottom" | "Ext" | "Normal" | "Reverse" | "Top";
4655
- platform: string | null;
4656
- pool: "Adv" | "Def" | "Ix" | "Sub";
4657
- progress: number;
4658
- senderID: string;
4659
- weight: number;
4660
- }[];
4661
- listChunks(): UniChunk$1[];
4662
- makeChunk(data: Omit<z.infer<typeof chunksZod>, "id">): UniChunk$1;
4663
- upsertDanmakus(data: DanmakusInsert[] | Map<string, DanmakusInsert>, dedupeDMID?: boolean): void;
4664
- /**
4665
- * 清理临时chunks
4666
- */
4667
- shrink(): void;
4668
- import(adapterStore: AdapterStore): Promisable<UniChunk$1>;
4669
- export<T extends Transformer>(transformer: T): ReturnType<T>;
4670
- export<T extends Asyncify<Transformer>>(transformer: T): Promise<ReturnType<T>>;
4671
- }
4672
- declare class UniChunk$1 implements UniChunk {
4673
- $UniDB: InitedUniDB$1;
4674
- id: number;
4675
- __isUniChunk: boolean;
4676
- constructor($UniDB: InitedUniDB$1, id: number);
4677
- get $db(): UMaps;
4678
- static makeChunk(u: TransformerInput<InitedUniDB$1 | UniChunk$1>, data: z.infer<typeof chunksZod>): UniChunk$1;
4679
- /**
4680
- * 合并弹幕库
4681
- * @description 将多个chunk的弹幕合并到base chunk中,合并后原chunk会被删除
4682
- * @param base 目标chunk,合并后其他chunk的弹幕会被移到这个chunk中
4683
- * @param chunks 待合并的chunk列表,这些chunk中的弹幕会被移到base chunk中,合并后这些chunk会被删除
4684
- * @returns 合并后的目标chunk实例
4685
- * @throws 如果chunks列表为空,函数会直接返回base chunk;如果目标chunk在数据库中未找到,会抛出错误;如果chunks中有来自不同数据库的chunk且options.allowDifferentDB为false,也会抛出错误
4686
- */
4687
- static assign(base: UniChunk$1, chunks: UniChunk$1[]): UniChunk$1;
4688
- /**
4689
- * 比较两个chunk的弹幕是否相同
4690
- * @description 可用于跨DB比较
4691
- */
4692
- static compare(u1: UniChunk$1, u2: UniChunk$1): boolean;
4693
- get $chunks(): {
4694
- fromConverted: boolean;
4695
- id: number;
4696
- tmp: boolean;
4697
- }[];
4698
- $chunk(): {
4699
- fromConverted: boolean;
4700
- id: number;
4701
- tmp: boolean;
4702
- };
4703
- get $danmakus(): {
4704
- DMID: string;
4705
- SOID: string;
4706
- attr: ("Compatible" | "FromLive" | "HasEvent" | "Hide" | "HighLike" | "Protect" | "Reported" | "Unchecked")[];
4707
- color: number;
4708
- content: string;
4709
- ctime: Date;
4710
- extra: Extra | null;
4711
- fontsize: number;
4712
- mode: "Bottom" | "Ext" | "Normal" | "Reverse" | "Top";
4713
- platform: string | null;
4714
- pool: "Adv" | "Def" | "Ix" | "Sub";
4715
- progress: number;
4716
- senderID: string;
4717
- weight: number;
4718
- }[];
4719
- get $count(): number;
4720
- get isDeleted(): boolean;
4721
- upsertDanmakus(data: Map<string, DanmakusInsert & {
4722
- platform: string | null;
4723
- }>, autoSetDMID?: false, dedupeDMID?: false): void;
4724
- upsertDanmakus(data: Simplify<DanmakusInsert & {
4725
- DMID: string;
4726
- platform: string | null;
4727
- }>[], autoSetDMID?: false, dedupeDMID?: boolean): void;
4728
- upsertDanmakus(data: Simplify<DanmakusInsert & {
4729
- DMID?: undefined;
4730
- }>[], autoSetDMID: true, dedupeDMID?: true): void;
4731
- import(adapterStore: AdapterStore): Promisable<UniChunk$1>;
4732
- export<T extends Transformer>(transformer: T): ReturnType<T>;
4733
- export<T extends Asyncify<Transformer>>(transformer: T): Promise<ReturnType<T>>;
4734
- plugin<T extends Plugin>(plugin: T): baseClassTrans$1<ReturnType<T>>;
4735
- plugin<T extends Asyncify<Plugin>>(plugin: T): Promise<baseClassTrans$1<ReturnType<T>>>;
4736
- delete(): void;
4737
- }
4738
- declare namespace index_d_exports$1 {
4739
- export { AdapterStore, DMAttr, DMIDGenerator, DanUniConvertTip, DanUniConvertTipTemplate, Extra, ExtraArtplayer, ExtraBili, ExtraDanUni, ExtraDanUniMerge, ExtraDanUniRaw, ExtraDdPlay, ExtraTencent, InitedUniDB, Modes, PlatformDanmakuOnlySource, PlatformDanmakuOnlySources, PlatformDanmakuSource, PlatformDanmakuSources, PlatformInfoSource, PlatformInfoSources, PlatformSource, PlatformSources, PlatformVideoSource, PlatformVideoSources, Pools, UChunk, UChunk2Danmaku, UDanmaku, UniChunk, UniDB, UniDMObj, UniID, baseClassTrans, createDMID, defaultUniDM, main };
4740
- }
4741
- type AdapterStore = (udb: InitedUniDB, uchunk?: UniChunk) => Promisable<UniChunk>;
4742
- declare const db: NonNullable<typeof db$1>;
4743
- type UChunks = Awaited<ReturnType<typeof db.query.chunks.findMany>>;
4744
- type UChunk = UChunks[number];
4745
- type UDanmakus = Awaited<ReturnType<typeof db.query.danmakus.findMany>>;
4746
- type UDanmaku = UDanmakus[number];
4747
- type UChunk2Danmakus = Awaited<ReturnType<typeof db.query.chunk2danmakus.findMany>>;
4748
- type UChunk2Danmaku = UChunk2Danmakus[number];
4749
- type baseClassTrans<T, ImplUniDB, ImplInitedUniDB, ImplUniChunk> = baseUniChunkTransX<baseInitedUniDBTransX<baseUniDBTransX<T, ImplUniDB>, ImplInitedUniDB>, ImplUniChunk>;
4750
- type baseUniDBTrans<T, ImplClass> = T extends UniDB ? ImplClass : T;
4751
- type baseUniDBTransPromise<T, ImplClass> = T extends Promise<UniDB> ? Promise<ImplClass> : T;
4752
- type baseUniDBTransX<T, ImplClass> = baseUniDBTransPromise<baseUniDBTrans<T, ImplClass>, ImplClass>;
4753
- declare abstract class UniDB {
4754
- $db: any;
4755
- DMIDGenerator: DMIDGenerator;
4756
- __isUniDB: boolean;
4757
- static [Symbol.hasInstance](obj: any): boolean;
4758
- constructor($db: any, DMIDGenerator?: DMIDGenerator);
4759
- abstract init(dump?: unknown): Promisable<InitedUniDB>;
4760
- abstract close(): Promisable<void>;
4761
- }
4762
- type baseInitedUniDBTrans<T, ImplClass> = T extends InitedUniDB ? ImplClass : T;
4763
- type baseInitedUniDBTransPromise<T, ImplClass> = T extends Promise<InitedUniDB> ? Promise<ImplClass> : T;
4764
- type baseInitedUniDBTransX<T, ImplClass> = baseInitedUniDBTransPromise<baseInitedUniDBTrans<T, ImplClass>, ImplClass>;
4765
- declare abstract class InitedUniDB extends UniDB {
4766
- $db: NonNullable<UniDB["$db"]>;
4767
- DMIDGenerator: DMIDGenerator;
4768
- __isInitedUniDB: boolean;
4769
- static [Symbol.hasInstance](obj: any): boolean;
4770
- constructor($db: NonNullable<UniDB["$db"]>, DMIDGenerator?: DMIDGenerator);
4771
- abstract dump(): Promisable<any>;
4772
- abstract get $chunks(): Promisable<UChunks>;
4773
- abstract get $danmakus(): Promisable<UDanmakus>;
4774
- abstract listChunks(): Promisable<UniChunk[]>;
4775
- abstract makeChunk(data: Omit<z.infer<typeof chunksZod>, "id">): Promisable<UniChunk>;
4776
- abstract upsertDanmakus(data: DanmakusInsert[] | Map<string, DanmakusInsert>, dedupeDMID: boolean): Promisable<void>;
4777
- /**
4778
- * 清理临时chunks
4779
- */
4780
- abstract shrink(): Promisable<void>;
4781
- abstract import(adapterStore: AdapterStore): Promisable<UniChunk>;
4782
- abstract export<T extends Transformer | Asyncify<Transformer>>(transformer: T): Promisable<ReturnType<T>>;
4783
- }
4784
- type baseUniChunkTrans<T, ImplClass> = T extends UniChunk ? ImplClass : T;
4785
- type baseUniChunkTransPromise<T, ImplClass> = T extends Promise<UniChunk> ? Promise<ImplClass> : T;
4786
- type baseUniChunkTransX<T, ImplClass> = baseUniChunkTransPromise<baseUniChunkTrans<T, ImplClass>, ImplClass>;
4787
- declare abstract class UniChunk {
4788
- $UniDB: InitedUniDB;
4789
- id: number;
4790
- __isUniChunk: boolean;
4791
- static [Symbol.hasInstance](obj: any): boolean;
4792
- constructor($UniDB: InitedUniDB, id: number);
4793
- abstract get $db(): UniDB["$db"];
4794
- static makeChunk(u: TransformerInput<InitedUniDB | UniChunk>, data: z.infer<typeof chunksZod>): Promisable<UniChunk>;
4795
- static assign(_base: UniChunk, _chunks: UniChunk[]): Promisable<UniChunk>;
4796
- /**
4797
- * 比较两个chunk的弹幕是否相同
4798
- * @description 可用于跨DB比较
4799
- * @deprecated 建议调用相应环境的实现
4800
- */
4801
- static compare(u1: UniChunk, u2: UniChunk): Promise<boolean>;
4802
- /**
4803
- * 获取当前chunk的数据库记录
4804
- * @description 虽然数组仅会包含一个值,但这里保持数据库原始返回
4805
- */
4806
- abstract get $chunks(): Promisable<UChunks>;
4807
- abstract $chunk(): Promisable<UChunk>;
4808
- abstract get $danmakus(): Promisable<UDanmakus>;
4809
- abstract get $count(): Promisable<number>;
4810
- abstract get isDeleted(): Promisable<boolean>;
4811
- abstract upsertDanmakus(data: (DanmakusInsert & {
4812
- DMID?: string;
4813
- platform: string | null;
4814
- })[] | Map<string, DanmakusInsert & {
4815
- platform: string | null;
4816
- }>, autoSetDMID?: boolean, dedupeDMID?: boolean): Promisable<void>;
4817
- abstract import(adapterStore: AdapterStore): Promisable<UniChunk>;
4818
- abstract export<T extends Transformer | Asyncify<Transformer>>(transformer: T): Promise<ReturnType<T>>;
4819
- abstract plugin<T extends Plugin | Asyncify<Plugin>>(plugin: T): Promisable<ReturnType<T>>;
4820
- abstract delete(): Promisable<void>;
4821
- }
4822
- declare const main: {
4823
- drizzle: typeof main_drizzle_d_exports;
4824
- pure: typeof main_pure_d_exports;
4825
- };
4826
- //#endregion
4827
- //#region src/adapters/danuni/json.d.ts
4828
- declare const enumModeCodec: z.ZodCodec<z.ZodDefault<z.ZodEnum<typeof Modes>>, z.ZodEnum<{
4829
- Bottom: "Bottom";
4830
- Ext: "Ext";
4831
- Normal: "Normal";
4832
- Reverse: "Reverse";
4833
- Top: "Top";
4834
- }>>;
4835
- declare const enumPoolCodec: z.ZodCodec<z.ZodDefault<z.ZodEnum<typeof Pools>>, z.ZodEnum<{
4836
- Adv: "Adv";
4837
- Def: "Def";
4838
- Ix: "Ix";
4839
- Sub: "Sub";
4840
- }>>;
4841
- declare const enumAttrsCodec: z.ZodCodec<z.ZodArray<z.ZodEnum<typeof DMAttr>>, z.ZodArray<z.ZodEnum<{
4842
- Compatible: "Compatible";
4843
- FromLive: "FromLive";
4844
- HasEvent: "HasEvent";
4845
- Hide: "Hide";
4846
- HighLike: "HighLike";
4847
- Protect: "Protect";
4848
- Reported: "Reported";
4849
- Unchecked: "Unchecked";
4850
- }>>>;
4851
- declare const DanuniJsonAdapter: (json: Partial<UniDMObj & {
4852
- extraStr?: string;
4853
- }>[], options?: {
4854
- isV1?: boolean;
4855
- }) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
4856
- interface DanuniJsonTransformerOptions {
4857
- /**
4858
- * 是否启用minify模式,启用后会将输出中与默认值相同的字段转为undefined(DMID除外),以减小输出体积
4859
- */
4860
- minify?: boolean;
4861
- }
4862
- declare function DanuniJsonTransformerConfigurator(options: DanuniJsonTransformerOptions & {
4863
- minify: true;
4864
- }): Transformer<Partial<UniDMObj>[]>;
4865
- declare function DanuniJsonTransformerConfigurator(options?: DanuniJsonTransformerOptions): Transformer<UniDMObj[]>;
4866
- declare const DanuniJsonMetadata: Metadata;
4867
- //#endregion
4868
- //#region src/adapters/danuni/pb.d.ts
4869
- declare const DanuniPbAdapter: (bin: Uint8Array | ArrayBuffer) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
4870
- declare const DanuniPbTransformer: (udanmakus: {
4871
- DMID: string;
4872
- SOID: string;
4873
- attr: ("Compatible" | "FromLive" | "HasEvent" | "Hide" | "HighLike" | "Protect" | "Reported" | "Unchecked")[];
4874
- color: number;
4875
- content: string;
4876
- ctime: Date;
4877
- extra: Extra | null;
4878
- fontsize: number;
4879
- mode: "Bottom" | "Ext" | "Normal" | "Reverse" | "Top";
4880
- platform: string | null;
4881
- pool: "Adv" | "Def" | "Ix" | "Sub";
4882
- progress: number;
4883
- senderID: string;
4884
- weight: number;
4885
- }[]) => Uint8Array<ArrayBuffer>;
4886
- declare const DanuniPbMetadata: Metadata;
4887
- //#endregion
4888
- //#region src/adapters/bili/command-grpc.d.ts
4889
- declare const BiliCommandGrpcAdapter: (bin: Uint8Array | ArrayBuffer) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
4890
- declare const BiliCommandGrpcMetadata: Metadata;
4891
- //#endregion
4892
- //#region src/adapters/bili/grpc.d.ts
4893
- interface DMBili {
4894
- id: bigint;
4895
- progress: number;
4896
- mode: number;
4897
- fontsize: number;
4898
- color: number;
4899
- mid?: bigint;
4900
- midHash: string;
4901
- /**
4902
- * 特殊类型解析:
4903
- * - [ohh] : /oh{2,}/gi
4904
- * - [前方高能]
4905
- * - [...] (JS数组) : 高级弹幕
4906
- */
4907
- content: string;
4908
- ctime: bigint;
4909
- pool: number;
4910
- weight?: number;
4911
- action?: string;
4912
- idStr?: string;
4913
- attr?: number;
4914
- animation?: string;
4915
- extra?: string;
4916
- colorful?: number;
4917
- type?: number;
4918
- oid?: bigint;
4919
- }
4920
- declare function BiliCommonParser(chunk: UniChunk, args: DMBili, cid?: bigint, recSOID?: string): {
4921
- id: bigint;
4922
- progress: number;
4923
- fontsize: number;
4924
- color: number;
4925
- mid?: bigint;
4926
- midHash: string;
4927
- /**
4928
- * 特殊类型解析:
4929
- * - [ohh] : /oh{2,}/gi
4930
- * - [前方高能]
4931
- * - [...] (JS数组) : 高级弹幕
4932
- */
4933
- content: string;
4934
- action?: string;
4935
- idStr?: string;
4936
- animation?: string;
4937
- colorful?: number;
4938
- type?: number;
4939
- oid?: bigint;
4940
- SOID: string;
4941
- senderID: string;
4942
- ctime: Date;
4943
- weight: number;
4944
- attr: DMAttr[];
4945
- platform: PlatformVideoSource;
4946
- extra: Extra;
4947
- mode: "Bottom" | "Ext" | "Normal" | "Reverse" | "Top";
4948
- pool: "Adv" | "Def" | "Ix" | "Sub";
4949
- DMID: string;
4950
- };
4951
- interface BiliCommonBuilderOptions {
4952
- skipBiliCommand?: boolean;
4953
- /**
4954
- * 见 ../index.ts UniPool.toBiliXML() 的 options,该option不宜手动调用,判断逻辑未封装
4955
- */
4956
- avoidSenderIDWithAt?: boolean;
4957
- }
4958
- declare const BiliCommonModeRec: (mode: z.infer<typeof enumModeCodec.out>, extra?: ExtraBili) => 1 | 4 | 5 | 6 | 7 | 8 | 9;
4959
- declare function BiliCommonBuilder(DMIDGenerator: DMIDGenerator, that: UDanmaku, options?: BiliCommonBuilderOptions): {
4960
- "#text": string;
4961
- "@_p": string;
4962
- } | null;
4963
- declare const BiliGrpcAdapter: (bin: Uint8Array | ArrayBuffer) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
4964
- declare const BiliGrpcMetadata: Metadata;
4965
- //#endregion
4966
- //#region src/adapters/bili/up.d.ts
4967
- interface DM_JSON_BiliUp {
4968
- /** 接口状态码,0 表示成功 */
4969
- code: number;
4970
- /** 文本形式的状态码,约定为字符串 "0" */
4971
- message: string;
4972
- /** TTL(time to live) 标识,本接口常量为 1 */
4973
- ttl: number;
4974
- data: {
4975
- /** 分页元信息 */page: {
4976
- /** 当前页序号,从 1 开始 */num: number; /** 每页返回的弹幕条数 */
4977
- size: number; /** 总页数 */
4978
- total: number;
4979
- };
4980
- result: {
4981
- /** 弹幕 ID,int64 */id: bigint; /** 弹幕 ID 字符串形式 */
4982
- id_str: string; /** 弹幕类型:1 表示视频弹幕(当前接口恒为 1) */
4983
- type: number;
4984
- aid: bigint;
4985
- bvid: string;
4986
- oid: bigint;
4987
- mid: bigint; /** 发送者 mid 的 CRC 哈希(正常接口里用的是这个,保护隐私) */
4988
- mid_hash: string; /** 弹幕池 */
4989
- pool: number; /** 属性位字符串,逗号分隔的数字列表,对应 attr 二进制位 */
4990
- attrs: string; /** 弹幕出现时间,单位毫秒(注意,此处与protobuf接口保持一致,但xml中progress是秒) */
4991
- progress: number;
4992
- mode: number; /** 弹幕内容, content */
4993
- msg: string;
4994
- state: number;
4995
- fontsize: number; /** 弹幕颜色,需将16进制转化为普通弹幕的10进制,示例:"ffffff" */
4996
- color: string; /** 发送时间戳,单位秒 */
4997
- ctime: number; /** 发送者昵称 */
4998
- uname: string; /** 发送者头像链接 */
4999
- uface: string; /** 视频主标题 */
5000
- title: string;
5001
- self_seen: boolean; /** 弹幕点赞数 */
5002
- like_count: number;
5003
- user_like: number; /** 分 P 标题 */
5004
- p_title: string; /** 视频封面链接 */
5005
- cover: string;
5006
- is_charge: boolean;
5007
- is_charge_plus: boolean;
5008
- following: boolean;
5009
- extra_cps: null;
5010
- }[];
5011
- };
5012
- }
5013
- declare const BiliUpAdapter: (json: DM_JSON_BiliUp) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
5014
- declare const BiliUpMetadata: Metadata;
5015
- //#endregion
5016
- //#region src/adapters/bili/xml.d.ts
5017
- declare const BiliXmlAdapter: (xml: string) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
5018
- interface BiliXmlTransformerOptions {
5019
- /**
5020
- * 当SOID非来源bili时,若此处指定则使用该值为cid,否则使用SOID
5021
- */
5022
- cid?: bigint;
5023
- /**
5024
- * 跳过command类型的特殊弹幕
5025
- */
5026
- skipBiliCommand?: boolean;
5027
- /**
5028
- * 当仅含有来自bili的弹幕时,启用将保持发送者标识不含`@`
5029
- * @description
5030
- * bili的弹幕含midHash(crc),不启用该处使用senderID填充,启用则去除`@bili`部分,提高兼容性
5031
- */
5032
- avoidSenderIDWithAt?: boolean;
5033
- }
5034
- declare const BiliXmlTransformerConfigurator: (options?: BiliXmlTransformerOptions) => (udanmakus: {
5035
- DMID: string;
5036
- SOID: string;
5037
- attr: ("Compatible" | "FromLive" | "HasEvent" | "Hide" | "HighLike" | "Protect" | "Reported" | "Unchecked")[];
5038
- color: number;
5039
- content: string;
5040
- ctime: Date;
5041
- extra: Extra | null;
5042
- fontsize: number;
5043
- mode: "Bottom" | "Ext" | "Normal" | "Reverse" | "Top";
5044
- platform: string | null;
5045
- pool: "Adv" | "Def" | "Ix" | "Sub";
5046
- progress: number;
5047
- senderID: string;
5048
- weight: number;
5049
- }[], ctx: {
5050
- uchunk?: UChunk;
5051
- DMIDGenerator: DMIDGenerator;
5052
- }) => string;
5053
- declare const BiliXmlMetadata: Metadata;
5054
- //#endregion
5055
- //#region src/adapters/artplayer.d.ts
5056
- interface DM_JSON_Artplayer {
5057
- danmuku: {
5058
- text: string;
5059
- time?: number;
5060
- mode?: number;
5061
- color?: string;
5062
- border?: boolean;
5063
- style?: {};
5064
- }[];
5065
- }
5066
- declare const ArtplayerAdapter: (json: DM_JSON_Artplayer & {
5067
- danuni?: DanUniConvertTip;
5068
- }, playerID?: string, domain?: string) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
5069
- declare const ArtplayerTransformer: (udanmakus: {
5070
- DMID: string;
5071
- SOID: string;
5072
- attr: ("Compatible" | "FromLive" | "HasEvent" | "Hide" | "HighLike" | "Protect" | "Reported" | "Unchecked")[];
5073
- color: number;
5074
- content: string;
5075
- ctime: Date;
5076
- extra: Extra | null;
5077
- fontsize: number;
5078
- mode: "Bottom" | "Ext" | "Normal" | "Reverse" | "Top";
5079
- platform: string | null;
5080
- pool: "Adv" | "Def" | "Ix" | "Sub";
5081
- progress: number;
5082
- senderID: string;
5083
- weight: number;
5084
- }[]) => DM_JSON_Artplayer & {
5085
- danuni?: DanUniConvertTip;
5086
- };
5087
- declare const ArtplayerMetadata: Metadata;
5088
- //#endregion
5089
- //#region src/adapters/ddplay.d.ts
5090
- interface DM_JSON_DDPlay {
5091
- count: number | string;
5092
- comments: {
5093
- cid: number;
5094
- p: string;
5095
- m: string;
5096
- }[];
5097
- }
5098
- declare const DdplayAdapter: (json: DM_JSON_DDPlay & {
5099
- danuni?: DanUniConvertTip;
5100
- }, episodeId?: string, domain?: string) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
5101
- declare const DdplayTransformer: (udanmakus: {
5102
- DMID: string;
5103
- SOID: string;
5104
- attr: ("Compatible" | "FromLive" | "HasEvent" | "Hide" | "HighLike" | "Protect" | "Reported" | "Unchecked")[];
5105
- color: number;
5106
- content: string;
5107
- ctime: Date;
5108
- extra: Extra | null;
5109
- fontsize: number;
5110
- mode: "Bottom" | "Ext" | "Normal" | "Reverse" | "Top";
5111
- platform: string | null;
5112
- pool: "Adv" | "Def" | "Ix" | "Sub";
5113
- progress: number;
5114
- senderID: string;
5115
- weight: number;
5116
- }[]) => DM_JSON_DDPlay & {
5117
- danuni?: DanUniConvertTip;
5118
- };
5119
- declare const DdplayMetadata: Metadata;
5120
- //#endregion
5121
- //#region src/adapters/dplayer.d.ts
5122
- interface DM_JSON_Dplayer {
5123
- code: number;
5124
- /**
5125
- * progress,mode,color,midHash,content
5126
- */
5127
- data: [number, number, number, string, string][];
5128
- }
5129
- declare const DplayerAdapter: (json: DM_JSON_Dplayer & {
5130
- danuni?: DanUniConvertTip;
5131
- }, playerID?: string, domain?: string) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
5132
- declare const DplayerTransformer: (udanmakus: {
5133
- DMID: string;
5134
- SOID: string;
5135
- attr: ("Compatible" | "FromLive" | "HasEvent" | "Hide" | "HighLike" | "Protect" | "Reported" | "Unchecked")[];
5136
- color: number;
5137
- content: string;
5138
- ctime: Date;
5139
- extra: Extra | null;
5140
- fontsize: number;
5141
- mode: "Bottom" | "Ext" | "Normal" | "Reverse" | "Top";
5142
- platform: string | null;
5143
- pool: "Adv" | "Def" | "Ix" | "Sub";
5144
- progress: number;
5145
- senderID: string;
5146
- weight: number;
5147
- }[]) => DM_JSON_Dplayer & {
5148
- danuni?: DanUniConvertTip;
5149
- };
5150
- declare const DplayerMetadata: Metadata;
5151
- //#endregion
5152
- //#region src/adapters/tencent.d.ts
5153
- interface TencentBarrage {
5154
- id: string;
5155
- is_op: number;
5156
- head_url: string;
5157
- time_offset: string;
5158
- up_count: string;
5159
- bubble_head: string;
5160
- bubble_level: string;
5161
- bubble_id: string;
5162
- rick_type: number;
5163
- content_style: string;
5164
- user_vip_degree: number;
5165
- create_time: string;
5166
- content: string;
5167
- hot_type: number;
5168
- gift_info: null;
5169
- share_item: null;
5170
- vuid: string;
5171
- nick: string;
5172
- data_key: string;
5173
- content_score: number;
5174
- show_weight: number;
5175
- track_type: number;
5176
- show_like_type: number;
5177
- report_like_score: number;
5178
- relate_sku_info: unknown[];
5179
- }
5180
- interface DM_JSON_Tencent {
5181
- barrage_list: TencentBarrage[];
5182
- }
5183
- declare const TencentAdapter: (json: DM_JSON_Tencent, vid?: string) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
5184
- declare const TencentMetadata: Metadata;
5185
- //#endregion
5186
- //#region src/adapters/vod.d.ts
5187
- interface DM_JSON_Vod {
5188
- code: number;
5189
- name: string;
5190
- danum: number;
5191
- danmuku: [number, string, string, string, string, string?, string?, string?, ...any][];
5192
- }
5193
- declare const VodZod: z.ZodObject<{
5194
- code: z.ZodNumber;
5195
- name: z.ZodString;
5196
- danum: z.ZodNumber;
5197
- danmuku: z.ZodArray<z.ZodTuple<[z.ZodCoercedNumber<string>, z.ZodUnion<readonly [z.ZodLiteral<"right">, z.ZodLiteral<"top">, z.ZodLiteral<"bottom">]>, z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodPrefault<z.ZodString>, z.ZodString, z.ZodOptional<z.ZodPrefault<z.ZodString>>, z.ZodOptional<z.ZodPrefault<z.ZodString>>, z.ZodOptional<z.ZodString>], z.ZodAny>>;
5198
- }, z.core.$strip>;
5199
- declare const VodAdapter: (json: DM_JSON_Vod, videoId?: string, domain?: string) => (udb: InitedUniDB, uchunk: UniChunk | undefined) => Promise<UniChunk>;
5200
- declare const VodTransformer: (udanmakus: {
5201
- DMID: string;
5202
- SOID: string;
5203
- attr: ("Compatible" | "FromLive" | "HasEvent" | "Hide" | "HighLike" | "Protect" | "Reported" | "Unchecked")[];
5204
- color: number;
5205
- content: string;
5206
- ctime: Date;
5207
- extra: Extra | null;
5208
- fontsize: number;
5209
- mode: "Bottom" | "Ext" | "Normal" | "Reverse" | "Top";
5210
- platform: string | null;
5211
- pool: "Adv" | "Def" | "Ix" | "Sub";
5212
- progress: number;
5213
- senderID: string;
5214
- weight: number;
5215
- }[]) => DM_JSON_Vod & {
5216
- danuni?: DanUniConvertTip;
5217
- };
5218
- declare const VodMetadata: Metadata;
5219
- declare namespace index_d_exports {
5220
- export { Adapter, ArtplayerAdapter, ArtplayerMetadata, ArtplayerTransformer, BiliCommandGrpcAdapter, BiliCommandGrpcMetadata, BiliCommonBuilder, BiliCommonModeRec, BiliCommonParser, BiliGrpcAdapter, BiliGrpcMetadata, BiliUpAdapter, BiliUpMetadata, BiliXmlAdapter, BiliXmlMetadata, BiliXmlTransformerConfigurator, DanuniJsonAdapter, DanuniJsonMetadata, DanuniJsonTransformerConfigurator, DanuniPbAdapter, DanuniPbMetadata, DanuniPbTransformer, DdplayAdapter, DdplayMetadata, DdplayTransformer, DplayerAdapter, DplayerMetadata, DplayerTransformer, Metadata, Plugin, TencentAdapter, TencentMetadata, Transformer, TransformerInput, VodAdapter, VodMetadata, VodTransformer, VodZod, defineAdapter, defineMetadata, definePlugin, defineTransformer, enumAttrsCodec, enumModeCodec, enumPoolCodec };
5221
- }
5222
- type TransformerInput<T = InitedUniDB | UniChunk> = T;
5223
- type Adapter<Args extends any[] = any[]> = (...args: Args) => Promisable<AdapterStore>;
5224
- type Transformer<T = unknown> = (udanmakus: UDanmaku[], ctx: {
5225
- uchunk?: UChunk;
5226
- DMIDGenerator: DMIDGenerator;
5227
- }) => T;
5228
- type Plugin<T = unknown> = (uchunk: UniChunk) => Promisable<T>;
5229
- type Metadata = {
5230
- type: string;
5231
- ext: string[];
5232
- check?: {
5233
- fn?: (fn: string) => boolean;
5234
- body?: (body: unknown) => Promisable<null | Adapter>;
5235
- adapter?: (uchunk: UniChunk, body: unknown) => Promisable<null | Adapter | UniChunk>;
5236
- };
5237
- };
5238
- declare function defineAdapter<T extends Adapter>(adapter: T): T;
5239
- declare function defineTransformer<T extends Transformer>(transformer: T): T;
5240
- declare function definePlugin<T extends Plugin>(plugin: T): T;
5241
- declare function defineMetadata(metadata: Metadata): Metadata;
5242
- //#endregion
5243
- export { UniDB as $, BiliUpMetadata as A, Promisable as At, DanuniPbTransformer as B, ArtplayerAdapter as C, PlatformDanmakuSources as Ct, BiliXmlMetadata as D, PlatformSources as Dt, BiliXmlAdapter as E, PlatformSource as Et, BiliGrpcMetadata as F, enumModeCodec as G, DanuniJsonMetadata as H, BiliCommandGrpcAdapter as I, InitedUniDB as J, enumPoolCodec as K, BiliCommandGrpcMetadata as L, BiliCommonModeRec as M, BiliCommonParser as N, BiliXmlTransformerConfigurator as O, PlatformVideoSource as Ot, BiliGrpcAdapter as P, UniChunk as Q, DanuniPbAdapter as R, DdplayTransformer as S, PlatformDanmakuSource as St, ArtplayerTransformer as T, PlatformInfoSources as Tt, DanuniJsonTransformerConfigurator as U, DanuniJsonAdapter as V, enumAttrsCodec as W, UChunk2Danmaku as X, UChunk as Y, UDanmaku as Z, DplayerAdapter as _, Pools as _t, TransformerInput as a, UniDB$1 as at, DdplayAdapter as b, PlatformDanmakuOnlySource as bt, definePlugin as c, UniChunk$2 as ct, VodAdapter as d, DMIDGenerator as dt, baseClassTrans as et, VodMetadata as f, createDMID as ft, TencentMetadata as g, Modes as gt, TencentAdapter as h, DanUniConvertTipTemplate as ht, Transformer as i, UniChunk$1 as it, BiliCommonBuilder as j, BiliUpAdapter as k, PlatformVideoSources as kt, defineTransformer as l, UniDB$2 as lt, VodZod as m, DanUniConvertTip as mt, Metadata as n, main as nt, defineAdapter as o, initNewDb as ot, VodTransformer as p, DMAttr as pt, AdapterStore as q, Plugin as r, InitedUniDB$1 as rt, defineMetadata as s, InitedUniDB$2 as st, Adapter as t, index_d_exports$1 as tt, index_d_exports as u, UniID as ut, DplayerMetadata as v, UniDMObj as vt, ArtplayerMetadata as w, PlatformInfoSource as wt, DdplayMetadata as x, PlatformDanmakuOnlySources as xt, DplayerTransformer as y, defaultUniDM as yt, DanuniPbMetadata as z };
5244
- //# sourceMappingURL=index-1cUgmIZl.d.mts.map
4263
+ export { InitedUniDB, UniChunk, UniDB, main_drizzle_d_exports as t };
4264
+ //# sourceMappingURL=drizzle.d.ts.map