larasopp 1.2.10 → 1.2.12
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/lib/Listener.d.ts +6 -2
- package/lib/Listener.js +13 -0
- package/lib/index.d.ts +5 -4
- package/lib/index.js +8 -3
- package/lib/types.d.ts +0 -3
- package/package.json +1 -1
- package/src/Listener.ts +19 -2
- package/src/index.ts +12 -7
- package/src/types.ts +0 -4
package/lib/Listener.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { type Event } from "easy-event-emitter";
|
|
1
|
+
import { type Event as EventListener } from "easy-event-emitter";
|
|
2
2
|
import type Larasopp from ".";
|
|
3
3
|
declare class Listener {
|
|
4
4
|
private readonly context;
|
|
5
5
|
private channel;
|
|
6
6
|
private listeners?;
|
|
7
7
|
constructor(channel: string, constext: Larasopp);
|
|
8
|
-
listen(event: string, callback: (data: any) => void):
|
|
8
|
+
listen(event: string, callback: (data: any) => void): EventListener;
|
|
9
|
+
here(callback: (data: any) => void): EventListener;
|
|
10
|
+
joining(callback: (data: any) => void): EventListener;
|
|
11
|
+
leaving(callback: (data: any) => void): EventListener;
|
|
12
|
+
unsubscribe(): void;
|
|
9
13
|
remove(): void;
|
|
10
14
|
}
|
|
11
15
|
export default Listener;
|
package/lib/Listener.js
CHANGED
|
@@ -31,6 +31,19 @@ class Listener {
|
|
|
31
31
|
this.listeners.push(listener);
|
|
32
32
|
return listener;
|
|
33
33
|
}
|
|
34
|
+
here(callback) {
|
|
35
|
+
return this.listen('__HERE', callback);
|
|
36
|
+
}
|
|
37
|
+
joining(callback) {
|
|
38
|
+
return this.listen('__JOIN', callback);
|
|
39
|
+
}
|
|
40
|
+
leaving(callback) {
|
|
41
|
+
return this.listen('__LEAVE', callback);
|
|
42
|
+
}
|
|
43
|
+
unsubscribe() {
|
|
44
|
+
this.context.unsubscribe(this.channel);
|
|
45
|
+
this.remove();
|
|
46
|
+
}
|
|
34
47
|
remove() {
|
|
35
48
|
if (!this.listeners)
|
|
36
49
|
return;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Event } from "easy-event-emitter";
|
|
1
|
+
import { type Event as EventListener } from "easy-event-emitter";
|
|
2
2
|
import Core from "./Core";
|
|
3
3
|
import Listener from "./Listener";
|
|
4
|
-
import type { IConfig, TPermissions, TSocketEvents, TListenerCallback
|
|
4
|
+
import type { IConfig, TPermissions, TSocketEvents, TListenerCallback } from "./types";
|
|
5
5
|
declare class Larasopp extends Core {
|
|
6
6
|
private readonly channels;
|
|
7
7
|
constructor(config: IConfig);
|
|
@@ -10,7 +10,8 @@ declare class Larasopp extends Core {
|
|
|
10
10
|
unsubscribe(channel: string): void;
|
|
11
11
|
trigger<T>(channel: string, event: string, message: T, permission?: TPermissions, waitSubscribe?: boolean): void;
|
|
12
12
|
private pushListener;
|
|
13
|
-
|
|
13
|
+
countListeners(channel: string): number;
|
|
14
|
+
addListener(event: TSocketEvents, callback: TListenerCallback): EventListener | undefined;
|
|
14
15
|
}
|
|
15
|
-
export type {
|
|
16
|
+
export type { Listener, EventListener };
|
|
16
17
|
export default Larasopp;
|
package/lib/index.js
CHANGED
|
@@ -55,12 +55,17 @@ class Larasopp extends Core_1.default {
|
|
|
55
55
|
pushListener(channel, listener) {
|
|
56
56
|
if (!this.channels[channel]) {
|
|
57
57
|
this.channels[channel] = [];
|
|
58
|
+
this.send({
|
|
59
|
+
subscribe: channel
|
|
60
|
+
});
|
|
58
61
|
}
|
|
59
|
-
this.send({
|
|
60
|
-
subscribe: channel
|
|
61
|
-
});
|
|
62
62
|
this.channels[channel].push(listener);
|
|
63
63
|
}
|
|
64
|
+
countListeners(channel) {
|
|
65
|
+
if (!this.channels[channel])
|
|
66
|
+
return -1;
|
|
67
|
+
return this.channels[channel].length;
|
|
68
|
+
}
|
|
64
69
|
addListener(event, callback) {
|
|
65
70
|
if (!constants_1.SocketEvents.includes(event))
|
|
66
71
|
return;
|
package/lib/types.d.ts
CHANGED
|
@@ -6,9 +6,6 @@ export type TListenerCallback = (data: {
|
|
|
6
6
|
channel: string;
|
|
7
7
|
}) => void;
|
|
8
8
|
export type TPermissions = 'public' | 'protected' | 'private';
|
|
9
|
-
export type TListen = {
|
|
10
|
-
remove: () => void;
|
|
11
|
-
};
|
|
12
9
|
export type TMessage<T> = {
|
|
13
10
|
subscribe?: string;
|
|
14
11
|
unsubscribe?: string;
|
package/package.json
CHANGED
package/src/Listener.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
|
-
type Event
|
|
2
|
+
type Event as EventListener
|
|
3
3
|
} from "easy-event-emitter";
|
|
4
4
|
import type Larasopp from ".";
|
|
5
5
|
|
|
6
6
|
class Listener {
|
|
7
7
|
private readonly context: Larasopp;
|
|
8
8
|
private channel: string;
|
|
9
|
-
private listeners?:
|
|
9
|
+
private listeners?: EventListener[];
|
|
10
10
|
|
|
11
11
|
constructor(channel: string, constext: Larasopp) {
|
|
12
12
|
this.channel = channel;
|
|
@@ -22,6 +22,23 @@ class Listener {
|
|
|
22
22
|
return listener;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
public here(callback: (data: any) => void) {
|
|
26
|
+
return this.listen('__HERE', callback);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public joining(callback: (data: any) => void) {
|
|
30
|
+
return this.listen('__JOIN', callback);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public leaving(callback: (data: any) => void) {
|
|
34
|
+
return this.listen('__LEAVE', callback);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public unsubscribe() {
|
|
38
|
+
this.context.unsubscribe(this.channel);
|
|
39
|
+
this.remove();
|
|
40
|
+
}
|
|
41
|
+
|
|
25
42
|
public remove() {
|
|
26
43
|
if (!this.listeners) return;
|
|
27
44
|
this.listeners.forEach((listener) => listener.remove());
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Event
|
|
2
|
+
type Event as EventListener
|
|
3
3
|
} from "easy-event-emitter";
|
|
4
4
|
import Core from "./Core";
|
|
5
5
|
import { SocketEvents } from "./constants";
|
|
@@ -9,7 +9,6 @@ import type {
|
|
|
9
9
|
TPermissions,
|
|
10
10
|
TSocketEvents,
|
|
11
11
|
TListenerCallback,
|
|
12
|
-
TListen,
|
|
13
12
|
TChannels
|
|
14
13
|
} from "./types";
|
|
15
14
|
|
|
@@ -64,21 +63,27 @@ class Larasopp extends Core {
|
|
|
64
63
|
private pushListener(channel: string, listener: Listener): void {
|
|
65
64
|
if (!this.channels[channel]) {
|
|
66
65
|
this.channels[channel] = [];
|
|
66
|
+
this.send({
|
|
67
|
+
subscribe: channel
|
|
68
|
+
});
|
|
67
69
|
}
|
|
68
|
-
this.send({
|
|
69
|
-
subscribe: channel
|
|
70
|
-
});
|
|
71
70
|
this.channels[channel].push(listener);
|
|
72
71
|
}
|
|
73
72
|
|
|
74
|
-
public
|
|
73
|
+
public countListeners(channel: string) {
|
|
74
|
+
if (!this.channels[channel]) return -1;
|
|
75
|
+
return this.channels[channel].length;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public addListener(event: TSocketEvents, callback: TListenerCallback): EventListener | undefined {
|
|
75
79
|
if (!SocketEvents.includes(event)) return;
|
|
76
80
|
return this.events.addListener(event, callback);
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
|
|
80
84
|
export type {
|
|
81
|
-
|
|
85
|
+
Listener,
|
|
86
|
+
EventListener
|
|
82
87
|
};
|
|
83
88
|
|
|
84
89
|
export default Larasopp;
|
package/src/types.ts
CHANGED
|
@@ -12,10 +12,6 @@ export type TListenerCallback = (data:{channel: string}) => void;
|
|
|
12
12
|
|
|
13
13
|
export type TPermissions = 'public' | 'protected' | 'private';
|
|
14
14
|
|
|
15
|
-
export type TListen = {
|
|
16
|
-
remove: () => void;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
15
|
export type TMessage<T> = {
|
|
20
16
|
subscribe?: string;
|
|
21
17
|
unsubscribe?: string;
|