0.4.0 • Published 2 years ago

dpg.broadcast-client v0.4.0

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
2 years ago
const app = instance({
    /**
     * Setting for PeerJS (PeerConnection)
     */
    peer: {
        host: "...",
        path: "...",
        secure: true,
        config: {
            iceServers: [
                {
                    urls: ["stun:stun.l.google.com:19302"]
                }
            ]
        }   
    },
    /**
     * Settings for socket connection
     */
    socket: {
        host: "...",
        config: {
            path: "...",
            transports: ["polling"],
            autoConnect: false // REQUIRED FALSE
        },
        cid: "..." // ID of conference for connected, if u created owner - delete key "cid"
    }
})
<div>
    <hr>
</div>

<h2>Types of response and config</h2>
```typescript

    interface MediaConfig {
        audio: {
            active: boolean;
            disable: boolean;
            id: string;
        },
        camera: {
            active: boolean;
            disable: boolean;
            id: string;
        },
    }
    
    interface ConferenceConfig {
        id: string;
        started_at: number;
        users: {
            id: string;
            name: string;
            media: MediaConfig;
            pid: string;
        }[],
        owner: {
            id: string;
            name: string;
            media: MediaConfig;
        }
    }

    interface owner {
        /**
         * OnAir - it is affixed exclusively when connected to socket
         */
        onAir: boolean;
        /**
         * The value of the variable depends on the config,
         * when putting CID (ID of conference)
         */
        isOwner: boolean;
        /**
         * Status of conference
         *
         * @variation status
         * - disable - complete lack of work with the conference
         * - settings - configuring the conference configuration (owner)
         * - connections - onAir
         * - end - conference disable after connection
         */
        status: "disable" | "settings" | "connection" | "end";
        /**
         * Config of connection for working with conference
         *
         * @property connection.socket - socket instance for connection
         * @property connection.media - current media config of users
         * @property connection.peer - peer settings and config to display the current data
         */
        connection: {
            socket: Socket;
            media: MediaConfig;
            /**
             * Peer settings and config to display the current data
             *
             * @property {Peer} peer.connections - current connections for call
             * @property peer.streams - current streams to display in the interface
             */
            peer: {
                connections: {[socketID: string]: Peer};
                streams: {
                    self: MediaStream;
                    visitors: {[socketID: string]: MediaStream};
                }
            }
        };
        conference?: ConferenceConfig;

        /**
         * Media Stream type of MediaConfig
         * @param {MediaConfig} _config - config type of MediaConfig
         * @constructor
         */
        SetMediaConfig(_config: MediaConfig): void;

        /**
         * Set current user stream for call to conference
         * @param {MediaStream} _media - MediaStream for config
         * @constructor
         */
        SetStream(_media: MediaStream): void;

        /**
         * Start of Broadcast
         * @constructor
         */
        StartBroadcast(): void;

        /**
         * Initialization is store for standard projects
         * @param {String} name - name of store
         * @param val - default value of store
         * @constructor
         */
        InitStore(name: string, val: any): Writable<any>;
    }
    
    interface visitor {
        /**
         * OnAir - it is affixed exclusively when connected to socket
         */
        onAir: boolean;
        /**
         * The value of the variable depends on the config,
         * when putting CID (ID of conference)
         */
        isOwner: boolean;
        /**
         * Status of conference
         *
         * @variation status
         * - disable - complete lack of work with the conference
         * - connections - onAir
         * - end - conference disable after connection
         */
        status: "disable" | "connection" | "end";
        /**
         * Config of connection for working with conference
         *
         * @property connection.socket - socket instance for connection
         * @property connection.media - current media config of users
         * @property connection.peer - peer settings and config to display the current data
         */
        connection: {
            socket: Socket;
            media: MediaConfig;
            /**
             * Peer settings and config to display the current data
             *
             * @property {Peer} peer.connections - current connections for call
             * @property peer.streams - current streams to display in the interface
             */
            peer: {
                connections: {
                    self: {[socketID: string]: Peer};
                    visitors: {[socketID: string]: Peer};
                };
                streams: {
                    self: MediaStream;
                    visitors: {[socketID: string]: MediaStream};
                }
            }
        };
        conference?: ConferenceConfig;

        /**
         * Media Stream type of MediaConfig
         * @param {MediaConfig} _config - config type of MediaConfig
         * @constructor
         */
        SetMediaConfig(_config: MediaConfig): void;

        /**
         * Set current user stream for call to conference
         * @param {MediaStream} _media - MediaStream for config
         * @constructor
         */
        SetStream(_media: MediaStream): void;

        /**
         * Join to broadcast
         * @constructor
         */
        JoinBroadcast(): void;

        /**
         * Initialization is store for standard projects
         * @param name - name of store
         * @param val - default value of store
         * @constructor
         */
        InitStore(name: string, val: any): Writable<any>;
    }
0.3.9

2 years ago

0.4.0

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.2.14

2 years ago

0.2.13

2 years ago

0.2.11

2 years ago

0.2.10

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.2.7

2 years ago

0.2.6

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.1.24

2 years ago

0.1.23

2 years ago

0.1.22

2 years ago

0.1.21

2 years ago

0.1.20

2 years ago

0.1.19

2 years ago

0.1.18

2 years ago

0.1.17

2 years ago

0.1.16

2 years ago

0.1.15

2 years ago

0.1.14

2 years ago

0.1.13

2 years ago

0.1.12

2 years ago

0.1.11

2 years ago

0.1.10

2 years ago

0.1.9

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.44

2 years ago

0.0.43

2 years ago

0.0.42

2 years ago

0.0.41

2 years ago

0.0.40

2 years ago

0.0.39

2 years ago

0.0.38

2 years ago

0.0.37

2 years ago

0.0.36

2 years ago

0.0.35

2 years ago

0.0.34

2 years ago

0.0.33

2 years ago

0.0.32

2 years ago

0.0.31

2 years ago

0.0.30

2 years ago

0.0.29

2 years ago

0.0.28

2 years ago

0.0.27

2 years ago

0.0.26

2 years ago

0.0.25

2 years ago

0.0.24

2 years ago

0.0.23

2 years ago

0.0.22

2 years ago

0.0.21

2 years ago

0.0.20

2 years ago

0.0.19

2 years ago

0.0.18

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.1

2 years ago