mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 10:49:28 +02:00
server/server -> server/core
This commit is contained in:
parent
114327d4ce
commit
5a3d0650c9
838 changed files with 111 additions and 111 deletions
37
server/core/lib/internal-event-emitter.ts
Normal file
37
server/core/lib/internal-event-emitter.ts
Normal file
|
@ -0,0 +1,37 @@
|
|||
import { MChannel, MVideo, MVideoImmutable } from '@server/types/models/index.js'
|
||||
import { EventEmitter } from 'events'
|
||||
|
||||
export interface PeerTubeInternalEvents {
|
||||
'video-created': (options: { video: MVideo }) => void
|
||||
'video-updated': (options: { video: MVideo }) => void
|
||||
'video-deleted': (options: { video: MVideo }) => void
|
||||
|
||||
'channel-created': (options: { channel: MChannel }) => void
|
||||
'channel-updated': (options: { channel: MChannel }) => void
|
||||
'channel-deleted': (options: { channel: MChannel }) => void
|
||||
|
||||
'chapters-updated': (options: { video: MVideoImmutable }) => void
|
||||
}
|
||||
|
||||
declare interface InternalEventEmitter {
|
||||
on<U extends keyof PeerTubeInternalEvents>(
|
||||
event: U, listener: PeerTubeInternalEvents[U]
|
||||
): this
|
||||
|
||||
emit<U extends keyof PeerTubeInternalEvents>(
|
||||
event: U, ...args: Parameters<PeerTubeInternalEvents[U]>
|
||||
): boolean
|
||||
}
|
||||
|
||||
class InternalEventEmitter extends EventEmitter {
|
||||
|
||||
private static instance: InternalEventEmitter
|
||||
|
||||
static get Instance () {
|
||||
return this.instance || (this.instance = new this())
|
||||
}
|
||||
}
|
||||
|
||||
export {
|
||||
InternalEventEmitter
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue