.promise(), .then(), and better React Native support thanks to @sjones6 !

This commit is contained in:
Mark Nadal 2017-09-18 14:02:08 -07:00
parent a02273521d
commit 29472bccbd
3 changed files with 23 additions and 13 deletions

17
gun.js
View File

@ -1705,17 +1705,22 @@
;require(function(module){ ;require(function(module){
var Gun = require('./index'); var Gun = require('./index');
var WebSocket; var websocket;
if(typeof window !== 'undefined'){ if(typeof WebSocket !== 'undefined'){
WebSocket = window.WebSocket || window.webkitWebSocket || window.mozWebSocket; websocket = WebSocket;
} else { } else {
return; if(typeof webkitWebSocket !== 'undefined'){
websocket = webkitWebSocket;
}
if(typeof mozWebSocket !== 'undefined'){
websocket = mozWebSocket;
}
} }
Gun.on('opt', function(ctx){ Gun.on('opt', function(ctx){
this.to.next(ctx); this.to.next(ctx);
var opt = ctx.opt; var opt = ctx.opt;
if(ctx.once){ return } if(ctx.once){ return }
if(false === opt.WebSocket){ return } if(false === opt.WebSocket || !websocket){ return }
var ws = opt.ws || (opt.ws = {}); ws.who = 0; var ws = opt.ws || (opt.ws = {}); ws.who = 0;
Gun.obj.map(opt.peers, function(){ ++ws.who }); Gun.obj.map(opt.peers, function(){ ++ws.who });
if(ctx.once){ return } if(ctx.once){ return }
@ -1767,7 +1772,7 @@
function open(peer, as){ function open(peer, as){
if(!peer || !peer.url){ return } if(!peer || !peer.url){ return }
var url = peer.url.replace('http', 'ws'); var url = peer.url.replace('http', 'ws');
var wire = peer.wire = new WebSocket(url); var wire = peer.wire = new websocket(url);
wire.onclose = function(){ wire.onclose = function(){
ctx.on('bye', peer); ctx.on('bye', peer);
reconnect(peer, as); reconnect(peer, as);

2
gun.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1,16 +1,21 @@
var Gun = require('./index'); var Gun = require('./index');
var WebSocket; var websocket;
if(typeof window !== 'undefined'){ if(typeof WebSocket !== 'undefined'){
WebSocket = window.WebSocket || window.webkitWebSocket || window.mozWebSocket; websocket = WebSocket;
} else { } else {
return; if(typeof webkitWebSocket !== 'undefined'){
websocket = webkitWebSocket;
}
if(typeof mozWebSocket !== 'undefined'){
websocket = mozWebSocket;
}
} }
Gun.on('opt', function(ctx){ Gun.on('opt', function(ctx){
this.to.next(ctx); this.to.next(ctx);
var opt = ctx.opt; var opt = ctx.opt;
if(ctx.once){ return } if(ctx.once){ return }
if(false === opt.WebSocket){ return } if(false === opt.WebSocket || !websocket){ return }
var ws = opt.ws || (opt.ws = {}); ws.who = 0; var ws = opt.ws || (opt.ws = {}); ws.who = 0;
Gun.obj.map(opt.peers, function(){ ++ws.who }); Gun.obj.map(opt.peers, function(){ ++ws.who });
if(ctx.once){ return } if(ctx.once){ return }
@ -62,7 +67,7 @@ Gun.on('opt', function(ctx){
function open(peer, as){ function open(peer, as){
if(!peer || !peer.url){ return } if(!peer || !peer.url){ return }
var url = peer.url.replace('http', 'ws'); var url = peer.url.replace('http', 'ws');
var wire = peer.wire = new WebSocket(url); var wire = peer.wire = new websocket(url);
wire.onclose = function(){ wire.onclose = function(){
ctx.on('bye', peer); ctx.on('bye', peer);
reconnect(peer, as); reconnect(peer, as);