gradio / node_modules /jandal /test /fake_socket.js
reisarod's picture
Upload folder using huggingface_hub
5fae594 verified
raw
history blame contribute delete
989 Bytes
'use strict';
var Broadcast = require('../source/broadcast');
var Room = require('../source/room');
var Namespace = require('../source/namespace');
var lastMessage = {};
var emitFn;
var Socket = function () {
this.id = ++Socket.id;
this.broadcast = Broadcast.bind(this);
Room.get('all')._join(this);
};
Socket.prototype.emit = function (event, a, b, c) {
lastMessage[this.id] = [event, a, b, c];
emitFn.apply(this, arguments);
};
Socket.prototype.namespace = function (name) {
return new Namespace(name, this);
};
Socket.prototype.last = function () {
return lastMessage[this.id];
};
Socket.prototype.join = function (room) {
Room.get(room)._join(this);
};
Socket.prototype.leave = function (room) {
Room.get(room)._leave(this);
};
Socket.id = 0;
Socket.listen = function (fn) {
emitFn = fn;
};
Socket.reset = function () {
lastMessage = {};
emitFn = function () {};
Room.flush();
Broadcast.init(Room);
};
Socket.reset();
module.exports = Socket;