@soketi/soketi-js
Version:
Laravel Echo extension that works with Soketi, a Laravel-ready WebSockets service.
30 lines (29 loc) • 944 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PusherPresenceChannel = void 0;
const pusher_channel_1 = require("./pusher-channel");
class PusherPresenceChannel extends pusher_channel_1.PusherChannel {
here(callback) {
this.on('pusher:subscription_succeeded', (data) => {
callback(Object.keys(data.members).map((k) => data.members[k]));
});
return this;
}
joining(callback) {
this.on('pusher:member_added', (member) => {
callback(member.info);
});
return this;
}
leaving(callback) {
this.on('pusher:member_removed', (member) => {
callback(member.info);
});
return this;
}
whisper(eventName, data) {
this.pusher.channels.channels[this.name].trigger(`client-${eventName}`, data);
return this;
}
}
exports.PusherPresenceChannel = PusherPresenceChannel;