Narcoleptic Programmers' Medicine

    @sugoi/socket
    TypeScript icon, indicating that this package has built-in type declarations

    4.3.1 • Public • Published

    @Sugoi\socket

    Sugoi logo

    npm version Build Status codecov

    Introduction

    SugoiJS is a minimal modular framework.

    SugoiJS gives you the ability to use only what you need and do it fast.

    this is a standalone module that can be functional on its own (as all of the SugoiJS modules).

    The SugoiJS socket module uses the socket.io.

    Installation

    npm install --save @sugoi/socket

    Bootstrapping

    Bootstrapping done by:

    import {SocketHandler} from "@sugoi/socket";
    
    // serverInstance is express\koa instance
    // in case you are using @socket\server, the instance returns from the 'listen' method
    SocketHandler.init(serverInstance);
    

    Socket Options

    Init socket server with:

    namespace - assign different endpoint to the socket server, more info on socket.io documentation

    socketOptions - the socket server configurations

    SocketHandler.init(serverInstance, socketConfig: SocketIOStatic.ServerOptions, namespace: string): SocketIOStatic.Server
    

    The socketOptions variable interface is the same as on socket.io documentation

     socketOptions:{
          path: string,
          serveClient: boolean,
          adapter:Adapter,
          origins:string,
          parser:Parser
     }
    

    Listen to events

    SugoiJS socket module provides you the @SocketOn(event:string, namespace:string) decorator.

    This decorator registers the callback for an event.

    Example:

    // SocketOn(event: string, namespace: string = "/", ...middlewares:Array<ISocketMiddleware>) {
    @SocketOn('message',"/",(socket,data)=>{
        console.log("log message data: %s from socket id: %s",data,socket.id);
    })
    function(data,socket){
        socket.to(data.room).emit('message',data.message)
    }
    

    You can use as many decorators as you want.

    Get instance

    For getting the socketIO server instance, use the getServer() method of the SocketHandler instance method.

    const io:SocketIOStatic.Server = SocketHandler.getHandler().getServer();
    

    Documentation

    You can find further information on Sugoi official website

    Install

    npm i @sugoi/socket

    Homepage

    sugoijs.com

    DownloadsWeekly Downloads

    120

    Version

    4.3.1

    License

    MIT

    Unpacked Size

    373 kB

    Total Files

    68

    Last publish

    Collaborators

    • o.b.one