Understanding how WSX works under the hood
WSXConnection
class ExpressAdapter implements WSXServerAdapter { setupWebSocket(path, onMessage) { // Sets up WebSocket server with Express } getApp() { // Returns Express app instance } }
class HonoAdapter implements WSXServerAdapter { setupWebSocket(path, onMessage) { // Sets up WebSocket with Hono } getApp() { // Returns Hono app instance } }
wsx.broadcast('#status', '<div>Server updated</div>');
wsx.sendToConnection(connectionId, '#notification', '<div>Personal message</div>');
return { id: request.id, target: request.target, html: '<div>Main content</div>', oob: [ { target: '#sidebar', html: '<div>Sidebar update</div>' }, { target: '#header', html: '<div>Header update</div>' } ] };
class CustomAdapter implements WSXServerAdapter { setupWebSocket(path, onMessage) { // Your WebSocket setup } getApp() { // Return your framework's app instance } }
wsx.use((request, connection, next) => { // Authentication, logging, etc. return next(); });
WSX.addTrigger('custom', (element, trigger, event) => { // Custom trigger logic });