Socknet hook any socket.io like library that allow you to use joi validation schema before calling your all your events.
It's inspired by react component declaration style for event creation focusing on lisibility, modularity and security. Fully compatible with socket.io client it works on every platform, browser or device, focusing equally on reliability, and speed.
$ npm install --save socknet
server.js
const { ArgTypes } = require('socknet');
const socknet = require('socknet')(1337);
function testEvent(args, callback) {
callback(null, args);
};
// To see all posibility refer to https://github.com/hapijs/joi/blob/v13.3.0/API.md
testEvent.argTypes = [
ArgTypes.object({
string: ArgTypes.string(),
}),
]
// To see all posibility refer to https://socket.io/docs/
socknet.on('connection', (socket) => {
// event /test now have arguments protection
socket.on('/test', testEvent);
});
server.js
require('socknet');
const io = require('socket.io');
anyware.js
const joi = require('joi');
function testEvent(args, callback) {
callback(null, args);
};
// To see all posibility refer to https://github.com/hapijs/joi/blob/v13.3.0/API.md
testEvent.argTypes = [
joi.object({
string: joi.string(),
}),
joi.func().isRequired(),
]
io.on('connection', (socket) => {
socket.on('/test', testEvent);
});
io.listen(() => console.log('socknet server is ready'));