Ver 1
This commit is contained in:
		
							parent
							
								
									cbabeee30b
								
							
						
					
					
						commit
						73c164b65e
					
				| 
						 | 
				
			
			@ -0,0 +1,61 @@
 | 
			
		|||
interface IConnection{
 | 
			
		||||
    endpoint: string;
 | 
			
		||||
    autoPair?: boolean;
 | 
			
		||||
}
 | 
			
		||||
export default class Connection
 | 
			
		||||
{
 | 
			
		||||
    public ws! : WebSocket;
 | 
			
		||||
    public endpoint : URL;
 | 
			
		||||
    public autoPair : boolean = false;
 | 
			
		||||
    public connected : boolean = false;
 | 
			
		||||
    constructor(options: IConnection){
 | 
			
		||||
        this.endpoint = new URL(options.endpoint);
 | 
			
		||||
        this.autoPair = options.autoPair || false;
 | 
			
		||||
        this.connect();
 | 
			
		||||
    }
 | 
			
		||||
    public connect()
 | 
			
		||||
    {
 | 
			
		||||
        this.ws = new WebSocket(this.endpoint.href);
 | 
			
		||||
        this.addWSEvents();
 | 
			
		||||
    }
 | 
			
		||||
    public addWSEvents()
 | 
			
		||||
    {
 | 
			
		||||
        this.ws.addEventListener("open", () => this.eventOpen());
 | 
			
		||||
        this.ws.addEventListener("close", () => this.eventClose());
 | 
			
		||||
        this.ws.addEventListener("error", () => this.eventError());
 | 
			
		||||
        this.ws.addEventListener("message", ({data}) => this.eventMessage(data as string | ArrayBuffer));
 | 
			
		||||
    }
 | 
			
		||||
    private eventOpen()
 | 
			
		||||
    {
 | 
			
		||||
        this.connected = true;
 | 
			
		||||
    }
 | 
			
		||||
    private eventClose()
 | 
			
		||||
    {
 | 
			
		||||
        this.connected = false;
 | 
			
		||||
    }
 | 
			
		||||
    private eventError()
 | 
			
		||||
    {
 | 
			
		||||
        this.connected = false;
 | 
			
		||||
    }
 | 
			
		||||
    private recaivePackEvent : ((data:any) => any)[] = [];
 | 
			
		||||
    public onRecaivePack(func:(data:any) => any)
 | 
			
		||||
    {
 | 
			
		||||
        this.recaivePackEvent.push(func);
 | 
			
		||||
    }
 | 
			
		||||
    private eventMessage(data: string | ArrayBuffer)
 | 
			
		||||
    {
 | 
			
		||||
        if(typeof data == "string")
 | 
			
		||||
        {
 | 
			
		||||
            for (const callback of this.recaivePackEvent) {
 | 
			
		||||
                callback(JSON.parse(data));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    public tranferToServer(data:any)
 | 
			
		||||
    {
 | 
			
		||||
        if(this.connected)
 | 
			
		||||
        {
 | 
			
		||||
            this.ws.send(JSON.stringify(data));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,3 @@
 | 
			
		|||
namespace WSTS {
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
export default class WSTS {
 | 
			
		||||
    public connection? : Connection;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,194 @@
 | 
			
		|||
function WSJS()
 | 
			
		||||
{
 | 
			
		||||
    this.isActive = false;
 | 
			
		||||
    this.ws = WSJS.activeWS || null;
 | 
			
		||||
    this.endpoint = null;
 | 
			
		||||
};
 | 
			
		||||
WSJS.activeWS = null;
 | 
			
		||||
WSJS.prototype.connect = function(url){
 | 
			
		||||
    this.ws = new WebSocket(url);
 | 
			
		||||
    this.addListeners();
 | 
			
		||||
}
 | 
			
		||||
WSJS.prototype.addListeners = function(){
 | 
			
		||||
    this.ws.addEventListener("close", this.closedEvent.bind(this));
 | 
			
		||||
    this.ws.addEventListener("message", this.messageEvent.bind(this));
 | 
			
		||||
    this.ws.addEventListener("open", this.openMessage.bind(this));
 | 
			
		||||
}
 | 
			
		||||
WSJS.prototype.closedEvent = function(){
 | 
			
		||||
    WSJS.activeWS = null;
 | 
			
		||||
    this.isActive = false;
 | 
			
		||||
    this.ws = null;
 | 
			
		||||
    this.events.dispatchEvent(new Event("close"));
 | 
			
		||||
}
 | 
			
		||||
WSJS.prototype.openMessage = function(){
 | 
			
		||||
    WSJS.activeWS = this.ws;
 | 
			
		||||
    this.isActive = true;
 | 
			
		||||
    this.events.dispatchEvent(new Event("open"));
 | 
			
		||||
}
 | 
			
		||||
WSJS.prototype.messageEvent = function({data}){
 | 
			
		||||
    let [payload, id, action] = JSON.parse(data);
 | 
			
		||||
    if(typeof id === 'number')
 | 
			
		||||
    {
 | 
			
		||||
        if(this.requests.has(id))
 | 
			
		||||
        {
 | 
			
		||||
            this.requests.get(id)(payload, action);
 | 
			
		||||
            switch(action)
 | 
			
		||||
            {
 | 
			
		||||
                case 'E':{  // [E]ND flag
 | 
			
		||||
                    this.requests.delete(id);
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
                case 'S':  // [S]TREAM flag
 | 
			
		||||
                default:{
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }else console.warn("Missing event sended from server");
 | 
			
		||||
    }else{
 | 
			
		||||
        if(this.signals.has(id))
 | 
			
		||||
        {
 | 
			
		||||
            for (const callback of this.signals.get(id)) {
 | 
			
		||||
                callback(payload);
 | 
			
		||||
            }
 | 
			
		||||
        }else console.warn("Missing event sended from server");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
WSJS.prototype.events = new EventTarget();
 | 
			
		||||
WSJS.prototype.scope = function(func){
 | 
			
		||||
    if(this.isActive)
 | 
			
		||||
    {
 | 
			
		||||
        func();
 | 
			
		||||
    }else this.events.addEventListener("open", func);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
WSJS.prototype.sendOnly = function(obj){
 | 
			
		||||
    if(this.isActive)
 | 
			
		||||
    {
 | 
			
		||||
        this.sendRaw([obj,'R']);
 | 
			
		||||
    }else throw new Error(`socket could be a active`);
 | 
			
		||||
}
 | 
			
		||||
WSJS.prototype.requests = new Map();
 | 
			
		||||
WSJS.prototype.requestCount = 0;
 | 
			
		||||
WSJS.prototype.request = async function(obj){
 | 
			
		||||
    if(this.isActive)
 | 
			
		||||
    {
 | 
			
		||||
        return await new Promise(ok => {
 | 
			
		||||
            let id = ++this.requestCount;
 | 
			
		||||
            this.sendRaw([obj,id,'R']);
 | 
			
		||||
            this.requests.set(id,data => {
 | 
			
		||||
                ok(data);
 | 
			
		||||
            });
 | 
			
		||||
        })
 | 
			
		||||
    }else throw new Error(`socket could be a active`);
 | 
			
		||||
}
 | 
			
		||||
WSJS.prototype.stream = async function(obj,callback){
 | 
			
		||||
    if(this.isActive)
 | 
			
		||||
    {
 | 
			
		||||
        let id = ++this.requestCount;
 | 
			
		||||
        this.sendRaw([obj, id, 'S']);
 | 
			
		||||
        this.requests.set(id,data => {
 | 
			
		||||
            callback(data);
 | 
			
		||||
        });
 | 
			
		||||
    }else throw new Error(`socket could be a active`);
 | 
			
		||||
}
 | 
			
		||||
WSJS.prototype.signals = new Map();
 | 
			
		||||
WSJS.prototype.signal = async function(name, callback){
 | 
			
		||||
    if(!this.signals.has(name))
 | 
			
		||||
    {
 | 
			
		||||
        this.signals.set(name, [callback]);
 | 
			
		||||
    }else{
 | 
			
		||||
        this.signals.get(name).push(callback);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
WSJS.prototype.slot = async function(name, obj){
 | 
			
		||||
    if(this.isActive)
 | 
			
		||||
    {
 | 
			
		||||
        if(typeof name == "string")
 | 
			
		||||
        {
 | 
			
		||||
            this.sendOnly([obj,name]);
 | 
			
		||||
        }else{
 | 
			
		||||
            throw new Error(`name could be a string, gived ${typeof name}`);
 | 
			
		||||
        }
 | 
			
		||||
    }else throw new Error(`socket could be a active`);
 | 
			
		||||
}
 | 
			
		||||
WSJS.prototype.sendRaw = function(obj){
 | 
			
		||||
    if(this.isActive)
 | 
			
		||||
    {
 | 
			
		||||
        this.ws.send(JSON.stringify(obj))
 | 
			
		||||
    };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
WSJS.prototype.authWith = async function(username, password){
 | 
			
		||||
    await this.request({
 | 
			
		||||
        type: 'auth/login',
 | 
			
		||||
        username,
 | 
			
		||||
        password
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
WSJS.prototype.fetchMyRoomInfo = async function(){
 | 
			
		||||
    return await this.request({
 | 
			
		||||
        type: 'myroom-info'
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
WSJS.prototype.createRoom = async function(options){
 | 
			
		||||
    let result =  await this.request({
 | 
			
		||||
        type: 'create-room',
 | 
			
		||||
        accessType: options.accessType || "private",
 | 
			
		||||
        notifyActionInvite: options.notifyActionInvite === undefined ? true : options.notifyActionInvite,
 | 
			
		||||
        notifyActionJoined: options.notifyActionJoined === undefined ? true : options.notifyActionJoined,
 | 
			
		||||
        notifyActionEjected: options.notifyActionEjected === undefined ? true : options.notifyActionEjected,
 | 
			
		||||
        joinType: options.joinType || "free",
 | 
			
		||||
        description: options.description || "No Description",
 | 
			
		||||
        name: options.name || "No",
 | 
			
		||||
        credential: options.credential || undefined
 | 
			
		||||
    });
 | 
			
		||||
    return result;
 | 
			
		||||
};
 | 
			
		||||
WSJS.prototype.roomInfo = async function(name){
 | 
			
		||||
    let result = await this.request({
 | 
			
		||||
        type: 'room-info',
 | 
			
		||||
        name
 | 
			
		||||
    });
 | 
			
		||||
    return result;
 | 
			
		||||
};
 | 
			
		||||
WSJS.prototype.joinRoom = async function(options){
 | 
			
		||||
    let result =  await this.request({
 | 
			
		||||
        ...options,
 | 
			
		||||
        type: 'joinroom'
 | 
			
		||||
    });
 | 
			
		||||
    return result;
 | 
			
		||||
};
 | 
			
		||||
WSJS.prototype.joinedRooms = new Map();
 | 
			
		||||
WSJS.prototype.getJoinedRooms = async function(){
 | 
			
		||||
    return await this.request({
 | 
			
		||||
        type: 'joinedrooms'
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
WSJS.prototype.getRoomPeers = async function(id){
 | 
			
		||||
    return await this.request({
 | 
			
		||||
        type: 'room-peers',
 | 
			
		||||
        roomId: id
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
WSJS.prototype.sendPackToPeer = async function(roomId, pack){
 | 
			
		||||
    return await this.sendOnly({
 | 
			
		||||
        type: 'pack/to',
 | 
			
		||||
        to: roomId,
 | 
			
		||||
        pack,
 | 
			
		||||
        handshake: false
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
WSJS.prototype.sendPackToRoom = async function(roomId, pack){
 | 
			
		||||
    return await this.sendOnly({
 | 
			
		||||
        type: 'pack/room',
 | 
			
		||||
        to: roomId,
 | 
			
		||||
        pack,
 | 
			
		||||
        handshake: false
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -14,6 +14,7 @@
 | 
			
		|||
        "joi": "^17.7.0",
 | 
			
		||||
        "knex": "^2.3.0",
 | 
			
		||||
        "sqlite3": "^5.1.2",
 | 
			
		||||
        "systemjs": "^6.13.0",
 | 
			
		||||
        "terminal-kit": "^3.0.0",
 | 
			
		||||
        "typescript": "^4.9.3",
 | 
			
		||||
        "websocket": "^1.0.34"
 | 
			
		||||
| 
						 | 
				
			
			@ -2082,6 +2083,11 @@
 | 
			
		|||
        "url": "https://github.com/sponsors/ljharb"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/systemjs": {
 | 
			
		||||
      "version": "6.13.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.13.0.tgz",
 | 
			
		||||
      "integrity": "sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/tar": {
 | 
			
		||||
      "version": "6.1.12",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz",
 | 
			
		||||
| 
						 | 
				
			
			@ -3933,6 +3939,11 @@
 | 
			
		|||
      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
 | 
			
		||||
    },
 | 
			
		||||
    "systemjs": {
 | 
			
		||||
      "version": "6.13.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.13.0.tgz",
 | 
			
		||||
      "integrity": "sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g=="
 | 
			
		||||
    },
 | 
			
		||||
    "tar": {
 | 
			
		||||
      "version": "6.1.12",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@
 | 
			
		|||
  "description": "Mikro WebSocket Engine",
 | 
			
		||||
  "main": "Source/index.js",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "compile":"tsc -p tsconfig.json -w"
 | 
			
		||||
    "compile": "tsc -p tsconfig.json -w"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
| 
						 | 
				
			
			@ -24,6 +24,7 @@
 | 
			
		|||
    "joi": "^17.7.0",
 | 
			
		||||
    "knex": "^2.3.0",
 | 
			
		||||
    "sqlite3": "^5.1.2",
 | 
			
		||||
    "systemjs": "^6.13.0",
 | 
			
		||||
    "terminal-kit": "^3.0.0",
 | 
			
		||||
    "typescript": "^4.9.3",
 | 
			
		||||
    "websocket": "^1.0.34"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
interface IConnection {
 | 
			
		||||
    endpoint: string;
 | 
			
		||||
    autoPair?: boolean;
 | 
			
		||||
}
 | 
			
		||||
export default class Connection {
 | 
			
		||||
    ws: WebSocket;
 | 
			
		||||
    endpoint: URL;
 | 
			
		||||
    autoPair: boolean;
 | 
			
		||||
    connected: boolean;
 | 
			
		||||
    constructor(options: IConnection);
 | 
			
		||||
    connect(): void;
 | 
			
		||||
    addWSEvents(): void;
 | 
			
		||||
    private eventOpen;
 | 
			
		||||
    private eventClose;
 | 
			
		||||
    private eventError;
 | 
			
		||||
    private recaivePackEvent;
 | 
			
		||||
    onRecaivePack(func: (data: any) => any): void;
 | 
			
		||||
    private eventMessage;
 | 
			
		||||
    tranferToServer(data: any): void;
 | 
			
		||||
}
 | 
			
		||||
export {};
 | 
			
		||||
//# sourceMappingURL=Connection.d.ts.map
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
{"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../frontend/Connection.ts"],"names":[],"mappings":"AAAA,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AACD,MAAM,CAAC,OAAO,OAAO,UAAU;IAEpB,EAAE,EAAI,SAAS,CAAC;IAChB,QAAQ,EAAG,GAAG,CAAC;IACf,QAAQ,EAAG,OAAO,CAAS;IAC3B,SAAS,EAAG,OAAO,CAAS;gBACvB,OAAO,EAAE,WAAW;IAKzB,OAAO;IAKP,WAAW;IAOlB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,gBAAgB,CAA8B;IAC/C,aAAa,CAAC,IAAI,EAAC,CAAC,IAAI,EAAC,GAAG,KAAK,GAAG;IAI3C,OAAO,CAAC,YAAY;IASb,eAAe,CAAC,IAAI,EAAC,GAAG;CAOlC"}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,52 @@
 | 
			
		|||
var Connection = (function () {
 | 
			
		||||
    function Connection(options) {
 | 
			
		||||
        this.autoPair = false;
 | 
			
		||||
        this.connected = false;
 | 
			
		||||
        this.recaivePackEvent = [];
 | 
			
		||||
        this.endpoint = new URL(options.endpoint);
 | 
			
		||||
        this.autoPair = options.autoPair || false;
 | 
			
		||||
        this.connect();
 | 
			
		||||
    }
 | 
			
		||||
    Connection.prototype.connect = function () {
 | 
			
		||||
        this.ws = new WebSocket(this.endpoint.href);
 | 
			
		||||
        this.addWSEvents();
 | 
			
		||||
    };
 | 
			
		||||
    Connection.prototype.addWSEvents = function () {
 | 
			
		||||
        var _this = this;
 | 
			
		||||
        this.ws.addEventListener("open", function () { return _this.eventOpen(); });
 | 
			
		||||
        this.ws.addEventListener("close", function () { return _this.eventClose(); });
 | 
			
		||||
        this.ws.addEventListener("error", function () { return _this.eventError(); });
 | 
			
		||||
        this.ws.addEventListener("message", function (_a) {
 | 
			
		||||
            var data = _a.data;
 | 
			
		||||
            return _this.eventMessage(data);
 | 
			
		||||
        });
 | 
			
		||||
    };
 | 
			
		||||
    Connection.prototype.eventOpen = function () {
 | 
			
		||||
        this.connected = true;
 | 
			
		||||
    };
 | 
			
		||||
    Connection.prototype.eventClose = function () {
 | 
			
		||||
        this.connected = false;
 | 
			
		||||
    };
 | 
			
		||||
    Connection.prototype.eventError = function () {
 | 
			
		||||
        this.connected = false;
 | 
			
		||||
    };
 | 
			
		||||
    Connection.prototype.onRecaivePack = function (func) {
 | 
			
		||||
        this.recaivePackEvent.push(func);
 | 
			
		||||
    };
 | 
			
		||||
    Connection.prototype.eventMessage = function (data) {
 | 
			
		||||
        if (typeof data == "string") {
 | 
			
		||||
            for (var _i = 0, _a = this.recaivePackEvent; _i < _a.length; _i++) {
 | 
			
		||||
                var callback = _a[_i];
 | 
			
		||||
                callback(JSON.parse(data));
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    Connection.prototype.tranferToServer = function (data) {
 | 
			
		||||
        if (this.connected) {
 | 
			
		||||
            this.ws.send(JSON.stringify(data));
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    return Connection;
 | 
			
		||||
}());
 | 
			
		||||
export default Connection;
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2Zyb250ZW5kL0Nvbm5lY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7SUFNSSxvQkFBWSxPQUFvQjtRQUZ6QixhQUFRLEdBQWEsS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBYSxLQUFLLENBQUM7UUE4QjNCLHFCQUFnQixHQUEyQixFQUFFLENBQUM7UUE1QmxELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDTSw0QkFBTyxHQUFkO1FBRUksSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBQ00sZ0NBQVcsR0FBbEI7UUFBQSxpQkFNQztRQUpHLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLGNBQU0sT0FBQSxLQUFJLENBQUMsU0FBUyxFQUFFLEVBQWhCLENBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxjQUFNLE9BQUEsS0FBSSxDQUFDLFVBQVUsRUFBRSxFQUFqQixDQUFpQixDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxVQUFVLEVBQUUsRUFBakIsQ0FBaUIsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFVBQUMsRUFBTTtnQkFBTCxJQUFJLFVBQUE7WUFBTSxPQUFBLEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBNEIsQ0FBQztRQUEvQyxDQUErQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUNPLDhCQUFTLEdBQWpCO1FBRUksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUNPLCtCQUFVLEdBQWxCO1FBRUksSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNPLCtCQUFVLEdBQWxCO1FBRUksSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVNLGtDQUFhLEdBQXBCLFVBQXFCLElBQXNCO1FBRXZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNPLGlDQUFZLEdBQXBCLFVBQXFCLElBQTBCO1FBRTNDLElBQUcsT0FBTyxJQUFJLElBQUksUUFBUSxFQUMxQjtZQUNJLEtBQXVCLFVBQXFCLEVBQXJCLEtBQUEsSUFBSSxDQUFDLGdCQUFnQixFQUFyQixjQUFxQixFQUFyQixJQUFxQixFQUFFO2dCQUF6QyxJQUFNLFFBQVEsU0FBQTtnQkFDZixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQzlCO1NBQ0o7SUFDTCxDQUFDO0lBQ00sb0NBQWUsR0FBdEIsVUFBdUIsSUFBUTtRQUUzQixJQUFHLElBQUksQ0FBQyxTQUFTLEVBQ2pCO1lBQ0ksSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUNMLGlCQUFDO0FBQUQsQ0FBQyxBQXhERCxJQXdEQyIsInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBJQ29ubmVjdGlvbntcclxuICAgIGVuZHBvaW50OiBzdHJpbmc7XHJcbiAgICBhdXRvUGFpcj86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29ubmVjdGlvblxyXG57XHJcbiAgICBwdWJsaWMgd3MhIDogV2ViU29ja2V0O1xyXG4gICAgcHVibGljIGVuZHBvaW50IDogVVJMO1xyXG4gICAgcHVibGljIGF1dG9QYWlyIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGNvbm5lY3RlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElDb25uZWN0aW9uKXtcclxuICAgICAgICB0aGlzLmVuZHBvaW50ID0gbmV3IFVSTChvcHRpb25zLmVuZHBvaW50KTtcclxuICAgICAgICB0aGlzLmF1dG9QYWlyID0gb3B0aW9ucy5hdXRvUGFpciB8fCBmYWxzZTtcclxuICAgICAgICB0aGlzLmNvbm5lY3QoKTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBjb25uZWN0KClcclxuICAgIHtcclxuICAgICAgICB0aGlzLndzID0gbmV3IFdlYlNvY2tldCh0aGlzLmVuZHBvaW50LmhyZWYpO1xyXG4gICAgICAgIHRoaXMuYWRkV1NFdmVudHMoKTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBhZGRXU0V2ZW50cygpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy53cy5hZGRFdmVudExpc3RlbmVyKFwib3BlblwiLCAoKSA9PiB0aGlzLmV2ZW50T3BlbigpKTtcclxuICAgICAgICB0aGlzLndzLmFkZEV2ZW50TGlzdGVuZXIoXCJjbG9zZVwiLCAoKSA9PiB0aGlzLmV2ZW50Q2xvc2UoKSk7XHJcbiAgICAgICAgdGhpcy53cy5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgKCkgPT4gdGhpcy5ldmVudEVycm9yKCkpO1xyXG4gICAgICAgIHRoaXMud3MuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgKHtkYXRhfSkgPT4gdGhpcy5ldmVudE1lc3NhZ2UoZGF0YSBhcyBzdHJpbmcgfCBBcnJheUJ1ZmZlcikpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBldmVudE9wZW4oKVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuY29ubmVjdGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgZXZlbnRDbG9zZSgpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgZXZlbnRFcnJvcigpXHJcbiAgICB7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgcmVjYWl2ZVBhY2tFdmVudCA6ICgoZGF0YTphbnkpID0+IGFueSlbXSA9IFtdO1xyXG4gICAgcHVibGljIG9uUmVjYWl2ZVBhY2soZnVuYzooZGF0YTphbnkpID0+IGFueSlcclxuICAgIHtcclxuICAgICAgICB0aGlzLnJlY2FpdmVQYWNrRXZlbnQucHVzaChmdW5jKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgZXZlbnRNZXNzYWdlKGRhdGE6IHN0cmluZyB8IEFycmF5QnVmZmVyKVxyXG4gICAge1xyXG4gICAgICAgIGlmKHR5cGVvZiBkYXRhID09IFwic3RyaW5nXCIpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhbGxiYWNrIG9mIHRoaXMucmVjYWl2ZVBhY2tFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2soSlNPTi5wYXJzZShkYXRhKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgdHJhbmZlclRvU2VydmVyKGRhdGE6YW55KVxyXG4gICAge1xyXG4gICAgICAgIGlmKHRoaXMuY29ubmVjdGVkKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy53cy5zZW5kKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,4 @@
 | 
			
		|||
declare namespace WSTS {
 | 
			
		||||
export default class WSTS {
 | 
			
		||||
    connection?: Connection;
 | 
			
		||||
}
 | 
			
		||||
//# sourceMappingURL=index.d.ts.map
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +1 @@
 | 
			
		|||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../frontend/index.ts"],"names":[],"mappings":"AAAA,kBAAU,IAAI,CAAC;CAEd"}
 | 
			
		||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../frontend/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,IAAI;IACd,UAAU,CAAC,EAAG,UAAU,CAAC;CACnC"}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +1,7 @@
 | 
			
		|||
"use strict";
 | 
			
		||||
;
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9mcm9udGVuZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIm5hbWVzcGFjZSBXU1RTIHtcclxuXHJcbn07Il19
 | 
			
		||||
var WSTS = (function () {
 | 
			
		||||
    function WSTS() {
 | 
			
		||||
    }
 | 
			
		||||
    return WSTS;
 | 
			
		||||
}());
 | 
			
		||||
export default WSTS;
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9mcm9udGVuZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUFBO0lBRUEsQ0FBQztJQUFELFdBQUM7QUFBRCxDQUFDLEFBRkQsSUFFQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIFdTVFMge1xyXG4gICAgcHVibGljIGNvbm5lY3Rpb24/IDogQ29ubmVjdGlvbjtcclxufSJdfQ==
 | 
			
		||||
							
								
								
									
										96
									
								
								test.html
								
								
								
								
							
							
						
						
									
										96
									
								
								test.html
								
								
								
								
							| 
						 | 
				
			
			@ -9,61 +9,61 @@
 | 
			
		|||
<body>
 | 
			
		||||
    <script src="./wsjs.js"></script>
 | 
			
		||||
    <script>
 | 
			
		||||
       /* let wsjs = new WSJS({
 | 
			
		||||
            endpoint: "ws://localhost:8282"
 | 
			
		||||
        });
 | 
			
		||||
        let room = wsjs.room({
 | 
			
		||||
            name: "MY-ROOM",
 | 
			
		||||
            description: "Gizli Odam",
 | 
			
		||||
            joinType: "password",
 | 
			
		||||
            credential: "123456Kc",
 | 
			
		||||
            ifexistsJoin: true
 | 
			
		||||
        });
 | 
			
		||||
        room.on('joinpeer',(id)=>{
 | 
			
		||||
/* let wsjs = new WSJS({
 | 
			
		||||
    endpoint: "ws://localhost:8282"
 | 
			
		||||
});
 | 
			
		||||
let room = wsjs.room({
 | 
			
		||||
    name: "MY-ROOM",
 | 
			
		||||
    description: "Gizli Odam",
 | 
			
		||||
    joinType: "password",
 | 
			
		||||
    credential: "123456Kc",
 | 
			
		||||
    ifexistsJoin: true
 | 
			
		||||
});
 | 
			
		||||
room.on('joinpeer',(id)=>{
 | 
			
		||||
 | 
			
		||||
        });
 | 
			
		||||
        room.on('invitepeer',(id)=>{
 | 
			
		||||
            
 | 
			
		||||
        });
 | 
			
		||||
        room.on('acceptedinvite',(id)=>{
 | 
			
		||||
            
 | 
			
		||||
        });
 | 
			
		||||
        room.on('rejectedinvite',(id)=>{
 | 
			
		||||
});
 | 
			
		||||
room.on('invitepeer',(id)=>{
 | 
			
		||||
    
 | 
			
		||||
});
 | 
			
		||||
room.on('acceptedinvite',(id)=>{
 | 
			
		||||
    
 | 
			
		||||
});
 | 
			
		||||
room.on('rejectedinvite',(id)=>{
 | 
			
		||||
 | 
			
		||||
        });
 | 
			
		||||
        peer.on('message',(pack)=>{
 | 
			
		||||
            
 | 
			
		||||
        })
 | 
			
		||||
        room.info();
 | 
			
		||||
        room.send({
 | 
			
		||||
            message: "HI!"
 | 
			
		||||
        });
 | 
			
		||||
        room.closeRoom();
 | 
			
		||||
        room.ejectRoom();
 | 
			
		||||
});
 | 
			
		||||
peer.on('message',(pack)=>{
 | 
			
		||||
    
 | 
			
		||||
})
 | 
			
		||||
room.info();
 | 
			
		||||
room.send({
 | 
			
		||||
    message: "HI!"
 | 
			
		||||
});
 | 
			
		||||
room.closeRoom();
 | 
			
		||||
room.ejectRoom();
 | 
			
		||||
 | 
			
		||||
        room.fetchPeerList().then(e => console.log("e id listesi"))
 | 
			
		||||
room.fetchPeerList().then(e => console.log("e id listesi"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        let peer = wsjs.peer('07781835-0e96-4fc3-b7e1-8e3c67f9c5b7');
 | 
			
		||||
let peer = wsjs.peer('07781835-0e96-4fc3-b7e1-8e3c67f9c5b7');
 | 
			
		||||
 | 
			
		||||
        peer.pairRequest();
 | 
			
		||||
        
 | 
			
		||||
        peer.on('accept',()=>{
 | 
			
		||||
            peer.send({
 | 
			
		||||
                message: "HI!"
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
        peer.on('reject',()=>{
 | 
			
		||||
            
 | 
			
		||||
        });
 | 
			
		||||
        peer.on('message',(data)=>{
 | 
			
		||||
            
 | 
			
		||||
        });
 | 
			
		||||
        peer.on('close',(data)=>{
 | 
			
		||||
            
 | 
			
		||||
        });
 | 
			
		||||
        peer.close();
 | 
			
		||||
peer.pairRequest();
 | 
			
		||||
 | 
			
		||||
peer.on('accept',()=>{
 | 
			
		||||
    peer.send({
 | 
			
		||||
        message: "HI!"
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
peer.on('reject',()=>{
 | 
			
		||||
    
 | 
			
		||||
});
 | 
			
		||||
peer.on('message',(data)=>{
 | 
			
		||||
    
 | 
			
		||||
});
 | 
			
		||||
peer.on('close',(data)=>{
 | 
			
		||||
    
 | 
			
		||||
});
 | 
			
		||||
peer.close();
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,8 +15,8 @@
 | 
			
		|||
    // "disableReferencedProjectLoad": true,             /* Reduce the number of projects loaded automatically by TypeScript. */
 | 
			
		||||
 | 
			
		||||
    /* Language and Environment */
 | 
			
		||||
    "target": "es2015",                                  /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
 | 
			
		||||
    "lib": ["DOM","ES2015","ES2015.Promise"],                                        /* Specify a set of bundled library declaration files that describe the target runtime environment. */
 | 
			
		||||
    "target": "ES3",                                  /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
 | 
			
		||||
    "lib": ["DOM","ES2015","ES2015.Promise"],          /* Specify a set of bundled library declaration files that describe the target runtime environment. */
 | 
			
		||||
    // "jsx": "preserve",                                /* Specify what JSX code is generated. */
 | 
			
		||||
    // "experimentalDecorators": true,                   /* Enable experimental support for TC39 stage 2 draft decorators. */
 | 
			
		||||
    // "emitDecoratorMetadata": true,                    /* Emit design-type metadata for decorated declarations in source files. */
 | 
			
		||||
| 
						 | 
				
			
			@ -29,7 +29,7 @@
 | 
			
		|||
    // "moduleDetection": "auto",                        /* Control what method is used to detect module-format JS files. */
 | 
			
		||||
 | 
			
		||||
    /* Modules */
 | 
			
		||||
    "module": "ES2015",                                /* Specify what module code is generated. */
 | 
			
		||||
    "module": "ES2015",                           /* Specify what module code is generated. */
 | 
			
		||||
    "rootDir": "./frontend",                                  /* Specify the root folder within your source files. */
 | 
			
		||||
    "moduleResolution": "node",                       /* Specify how TypeScript looks up a file from a given module specifier. */
 | 
			
		||||
    "baseUrl": "./",                                  /* Specify the base directory to resolve non-relative module names. */
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +39,7 @@
 | 
			
		|||
    // "types": [],                                      /* Specify type package names to be included without being referenced in a source file. */
 | 
			
		||||
    // "allowUmdGlobalAccess": true,                     /* Allow accessing UMD globals from modules. */
 | 
			
		||||
    // "moduleSuffixes": [],                             /* List of file name suffixes to search when resolving a module. */
 | 
			
		||||
    "resolveJsonModule": true,                        /* Enable importing .json files. */
 | 
			
		||||
    // "resolveJsonModule": true,                        /* Enable importing .json files. */
 | 
			
		||||
    // "noResolve": true,                                /* Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project. */
 | 
			
		||||
 | 
			
		||||
    /* JavaScript Support */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue