0.4.0 • Published 3 years ago

dpg.broadcast-client v0.4.0

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
3 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

3 years ago

0.4.0

3 years ago

0.3.8

3 years ago

0.3.7

3 years ago

0.3.6

3 years ago

0.3.5

3 years ago

0.3.4

3 years ago

0.3.3

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.2.14

3 years ago

0.2.13

3 years ago

0.2.11

3 years ago

0.2.10

3 years ago

0.2.9

3 years ago

0.2.8

3 years ago

0.2.7

3 years ago

0.2.6

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.1.24

3 years ago

0.1.23

3 years ago

0.1.22

3 years ago

0.1.21

3 years ago

0.1.20

3 years ago

0.1.19

3 years ago

0.1.18

3 years ago

0.1.17

3 years ago

0.1.16

3 years ago

0.1.15

3 years ago

0.1.14

3 years ago

0.1.13

3 years ago

0.1.12

3 years ago

0.1.11

3 years ago

0.1.10

3 years ago

0.1.9

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.44

3 years ago

0.0.43

3 years ago

0.0.42

3 years ago

0.0.41

3 years ago

0.0.40

3 years ago

0.0.39

3 years ago

0.0.38

3 years ago

0.0.37

3 years ago

0.0.36

3 years ago

0.0.35

3 years ago

0.0.34

3 years ago

0.0.33

3 years ago

0.0.32

3 years ago

0.0.31

3 years ago

0.0.30

3 years ago

0.0.29

3 years ago

0.0.28

3 years ago

0.0.27

3 years ago

0.0.26

3 years ago

0.0.25

3 years ago

0.0.24

3 years ago

0.0.23

3 years ago

0.0.22

3 years ago

0.0.21

3 years ago

0.0.20

3 years ago

0.0.19

3 years ago

0.0.18

3 years ago

0.0.17

3 years ago

0.0.16

3 years ago

0.0.15

3 years ago

0.0.14

3 years ago

0.0.13

3 years ago

0.0.12

3 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.1

3 years ago