@supraio/client-daemon-js 0.0.0-mzresolutiongopher.253 → 0.0.0-mzresolutiongopher.257

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46369,13 +46369,14 @@ $packages["math/rand"] = (function() {
46369
46369
  return $pkg;
46370
46370
  })();
46371
46371
  $packages["github.com/supraio/client-daemon/pkg/helper"] = (function() {
46372
- var $pkg = {}, $init, log, rand, os, syscall, time, sliceType, seededRand, _r, _r$1, _r$2, _r$3, GenerateStringWithCharset, GenerateStringWithLength;
46372
+ var $pkg = {}, $init, log, rand, os, syscall, time, sliceType, sliceType$1, seededRand, _r, _r$1, _r$2, _r$3, GenerateStringWithCharset, GenerateStringWithLength, WaitOnStopSignal;
46373
46373
  log = $packages["log"];
46374
46374
  rand = $packages["math/rand"];
46375
46375
  os = $packages["os"];
46376
46376
  syscall = $packages["syscall"];
46377
46377
  time = $packages["time"];
46378
46378
  sliceType = $sliceType($Uint8);
46379
+ sliceType$1 = $sliceType($emptyInterface);
46379
46380
  GenerateStringWithCharset = function(length, charset) {
46380
46381
  var {_i, _r$4, _ref, b, charset, i, length, $s, $r, $c} = $restore(this, {length, charset});
46381
46382
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
@@ -46403,6 +46404,25 @@ $packages["github.com/supraio/client-daemon/pkg/helper"] = (function() {
46403
46404
  /* */ } return; } var $f = {$blk: GenerateStringWithLength, $c: true, $r, $24r, _r$4, length, $s};return $f;
46404
46405
  };
46405
46406
  $pkg.GenerateStringWithLength = GenerateStringWithLength;
46407
+ WaitOnStopSignal = function(signalChannel) {
46408
+ var {_r$4, sig, signalChannel, $s, $r, $c} = $restore(this, {signalChannel});
46409
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46410
+ signalChannel = [signalChannel];
46411
+ $go((function(signalChannel) { return function $b() {
46412
+ var {$s, $r, $c} = $restore(this, {});
46413
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46414
+ $r = time.Sleep(new time.Duration(20116, 2437873664)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46415
+ $r = $send(signalChannel[0], new syscall.Signal(6)); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46416
+ $s = -1; return;
46417
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
46418
+ }; })(signalChannel), []);
46419
+ _r$4 = $recv(signalChannel[0]); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
46420
+ sig = _r$4[0];
46421
+ $r = log.Printf("Signal %s received (emulated after 24 hours).\n", new sliceType$1([sig])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46422
+ $s = -1; return;
46423
+ /* */ } return; } var $f = {$blk: WaitOnStopSignal, $c: true, $r, _r$4, sig, signalChannel, $s};return $f;
46424
+ };
46425
+ $pkg.WaitOnStopSignal = WaitOnStopSignal;
46406
46426
  $init = function() {
46407
46427
  $pkg.$init = function() {};
46408
46428
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -46421,6 +46441,397 @@ $packages["github.com/supraio/client-daemon/pkg/helper"] = (function() {
46421
46441
  $pkg.$init = $init;
46422
46442
  return $pkg;
46423
46443
  })();
46444
+ $packages["github.com/coder/websocket/internal/bpool"] = (function() {
46445
+ var $pkg = {}, $init, bytes, sync, sliceType, sliceType$1, ptrType, bpool, Get, Put;
46446
+ bytes = $packages["bytes"];
46447
+ sync = $packages["sync"];
46448
+ sliceType = $sliceType($emptyInterface);
46449
+ sliceType$1 = $sliceType($Uint8);
46450
+ ptrType = $ptrType(bytes.Buffer);
46451
+ Get = function() {
46452
+ var {_r, b, $s, $r, $c} = $restore(this, {});
46453
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46454
+ _r = bpool.Get(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46455
+ b = _r;
46456
+ if ($interfaceIsEqual(b, $ifaceNil)) {
46457
+ $s = -1; return new bytes.Buffer.ptr(sliceType$1.nil, 0, 0);
46458
+ }
46459
+ $s = -1; return $assertType(b, ptrType);
46460
+ /* */ } return; } var $f = {$blk: Get, $c: true, $r, _r, b, $s};return $f;
46461
+ };
46462
+ $pkg.Get = Get;
46463
+ Put = function(b) {
46464
+ var b;
46465
+ b.Reset();
46466
+ bpool.Put(b);
46467
+ };
46468
+ $pkg.Put = Put;
46469
+ $init = function() {
46470
+ $pkg.$init = function() {};
46471
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
46472
+ $r = bytes.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46473
+ $r = sync.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46474
+ bpool = new sync.Pool.ptr(sliceType.nil, $throwNilPointerError);
46475
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
46476
+ };
46477
+ $pkg.$init = $init;
46478
+ return $pkg;
46479
+ })();
46480
+ $packages["github.com/coder/websocket/internal/wsjs"] = (function() {
46481
+ var $pkg = {}, $init, js, WebSocket, CloseEvent, MessageEvent, funcType, arrayType, ptrType, sliceType, sliceType$1, funcType$1, funcType$2, funcType$3, handleJSError, New, extractArrayBuffer, uint8Array;
46482
+ js = $packages["syscall/js"];
46483
+ WebSocket = $pkg.WebSocket = $newType(0, $kindStruct, "wsjs.WebSocket", true, "github.com/coder/websocket/internal/wsjs", true, function(v_) {
46484
+ this.$val = this;
46485
+ if (arguments.length === 0) {
46486
+ this.v = new js.Value.ptr(null, false, arrayType.zero());
46487
+ return;
46488
+ }
46489
+ this.v = v_;
46490
+ });
46491
+ CloseEvent = $pkg.CloseEvent = $newType(0, $kindStruct, "wsjs.CloseEvent", true, "github.com/coder/websocket/internal/wsjs", true, function(Code_, Reason_, WasClean_) {
46492
+ this.$val = this;
46493
+ if (arguments.length === 0) {
46494
+ this.Code = 0;
46495
+ this.Reason = "";
46496
+ this.WasClean = false;
46497
+ return;
46498
+ }
46499
+ this.Code = Code_;
46500
+ this.Reason = Reason_;
46501
+ this.WasClean = WasClean_;
46502
+ });
46503
+ MessageEvent = $pkg.MessageEvent = $newType(0, $kindStruct, "wsjs.MessageEvent", true, "github.com/coder/websocket/internal/wsjs", true, function(Data_) {
46504
+ this.$val = this;
46505
+ if (arguments.length === 0) {
46506
+ this.Data = $ifaceNil;
46507
+ return;
46508
+ }
46509
+ this.Data = Data_;
46510
+ });
46511
+ funcType = $funcType([], [], false);
46512
+ arrayType = $arrayType(funcType, 0);
46513
+ ptrType = $ptrType($error);
46514
+ sliceType = $sliceType($emptyInterface);
46515
+ sliceType$1 = $sliceType($Uint8);
46516
+ funcType$1 = $funcType([js.Value], [], false);
46517
+ funcType$2 = $funcType([CloseEvent], [], false);
46518
+ funcType$3 = $funcType([MessageEvent], [], false);
46519
+ handleJSError = function(err, onErr) {
46520
+ var {_tuple, err, jsErr, ok, onErr, r, $s, $r, $c} = $restore(this, {err, onErr});
46521
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46522
+ r = $recover();
46523
+ _tuple = $assertType(r, js.Error, true);
46524
+ jsErr = $clone(_tuple[0], js.Error);
46525
+ ok = _tuple[1];
46526
+ /* */ if (ok) { $s = 1; continue; }
46527
+ /* */ $s = 2; continue;
46528
+ /* if (ok) { */ case 1:
46529
+ err.$set(new jsErr.constructor.elem(jsErr));
46530
+ /* */ if (!(onErr === $throwNilPointerError)) { $s = 3; continue; }
46531
+ /* */ $s = 4; continue;
46532
+ /* if (!(onErr === $throwNilPointerError)) { */ case 3:
46533
+ $r = onErr(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46534
+ /* } */ case 4:
46535
+ $s = -1; return;
46536
+ /* } */ case 2:
46537
+ if (!($interfaceIsEqual(r, $ifaceNil))) {
46538
+ $panic(r);
46539
+ }
46540
+ $s = -1; return;
46541
+ /* */ } return; } var $f = {$blk: handleJSError, $c: true, $r, _tuple, err, jsErr, ok, onErr, r, $s};return $f;
46542
+ };
46543
+ New = function(url, protocols) {
46544
+ var {$24r, _i, _r, _ref, _tmp, _tmp$1, c, err, i, jsProtocols, p, protocols, url, $s, $deferred, $r, $c} = $restore(this, {url, protocols});
46545
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
46546
+ c = [c];
46547
+ err = [err];
46548
+ c[0] = new WebSocket.ptr(new js.Value.ptr(null, false, arrayType.zero()));
46549
+ err[0] = $ifaceNil;
46550
+ $deferred.push([handleJSError, [(err.$ptr || (err.$ptr = new ptrType(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, err))), (function(c, err) { return function() {
46551
+ WebSocket.copy(c[0], new WebSocket.ptr(new js.Value.ptr(null, false, arrayType.zero())));
46552
+ }; })(c, err)]]);
46553
+ jsProtocols = $makeSlice(sliceType, protocols.$length);
46554
+ _ref = protocols;
46555
+ _i = 0;
46556
+ while (true) {
46557
+ if (!(_i < _ref.$length)) { break; }
46558
+ i = _i;
46559
+ p = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
46560
+ ((i < 0 || i >= jsProtocols.$length) ? ($throwRuntimeError("index out of range"), undefined) : jsProtocols.$array[jsProtocols.$offset + i] = new $String(p));
46561
+ _i++;
46562
+ }
46563
+ _r = $clone($clone(js.Global(), js.Value).Get("WebSocket"), js.Value).New(new sliceType([new $String(url), jsProtocols])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46564
+ WebSocket.copy(c[0], new WebSocket.ptr($clone(_r, js.Value)));
46565
+ $clone(c[0], WebSocket).setBinaryType("arraybuffer");
46566
+ _tmp = $clone(c[0], WebSocket);
46567
+ _tmp$1 = $ifaceNil;
46568
+ WebSocket.copy(c[0], _tmp);
46569
+ err[0] = _tmp$1;
46570
+ $24r = [c[0], err[0]];
46571
+ $s = 2; case 2: return $24r;
46572
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return [c[0], err[0]]; } if($curGoroutine.asleep) { var $f = {$blk: New, $c: true, $r, $24r, _i, _r, _ref, _tmp, _tmp$1, c, err, i, jsProtocols, p, protocols, url, $s, $deferred};return $f; } }
46573
+ };
46574
+ $pkg.New = New;
46575
+ WebSocket.ptr.prototype.setBinaryType = function(typ) {
46576
+ var c, typ;
46577
+ c = this;
46578
+ $clone(c.v, js.Value).Set("binaryType", new $String((typ)));
46579
+ };
46580
+ WebSocket.prototype.setBinaryType = function(typ) { return this.$val.setBinaryType(typ); };
46581
+ WebSocket.ptr.prototype.addEventListener = function(eventType, fn) {
46582
+ var {_r, c, eventType, f, fn, $s, $r, $c} = $restore(this, {eventType, fn});
46583
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46584
+ c = [c];
46585
+ eventType = [eventType];
46586
+ f = [f];
46587
+ fn = [fn];
46588
+ c[0] = this;
46589
+ f[0] = $clone(js.FuncOf((function(c, eventType, f, fn) { return function $b(this$1, args) {
46590
+ var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
46591
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46592
+ $r = fn[0]($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46593
+ $s = -1; return $ifaceNil;
46594
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
46595
+ }; })(c, eventType, f, fn)), js.Func);
46596
+ _r = $clone(c[0].v, js.Value).Call("addEventListener", new sliceType([new $String(eventType[0]), new f[0].constructor.elem(f[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46597
+ _r;
46598
+ $s = -1; return (function(c, eventType, f, fn) { return function $b() {
46599
+ var {_r$1, $s, $r, $c} = $restore(this, {});
46600
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46601
+ _r$1 = $clone(c[0].v, js.Value).Call("removeEventListener", new sliceType([new $String(eventType[0]), new f[0].constructor.elem(f[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
46602
+ _r$1;
46603
+ $clone(f[0], js.Func).Release();
46604
+ $s = -1; return;
46605
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
46606
+ }; })(c, eventType, f, fn);
46607
+ /* */ } return; } var $f = {$blk: WebSocket.ptr.prototype.addEventListener, $c: true, $r, _r, c, eventType, f, fn, $s};return $f;
46608
+ };
46609
+ WebSocket.prototype.addEventListener = function(eventType, fn) { return this.$val.addEventListener(eventType, fn); };
46610
+ WebSocket.ptr.prototype.OnClose = function(fn) {
46611
+ var {$24r, _r, c, fn, remove, $s, $r, $c} = $restore(this, {fn});
46612
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46613
+ fn = [fn];
46614
+ remove = $throwNilPointerError;
46615
+ c = this;
46616
+ _r = $clone(c, WebSocket).addEventListener("close", (function(fn) { return function $b(e) {
46617
+ var {ce, e, $s, $r, $c} = $restore(this, {e});
46618
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46619
+ ce = new CloseEvent.ptr((($clone($clone(e, js.Value).Get("code"), js.Value).Int() << 16 >>> 16)), $clone($clone(e, js.Value).Get("reason"), js.Value).String(), $clone($clone(e, js.Value).Get("wasClean"), js.Value).Bool());
46620
+ $r = fn[0]($clone(ce, CloseEvent)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46621
+ $s = -1; return;
46622
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, ce, e, $s};return $f;
46623
+ }; })(fn)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46624
+ remove = _r;
46625
+ $24r = remove;
46626
+ $s = 2; case 2: return $24r;
46627
+ /* */ } return; } var $f = {$blk: WebSocket.ptr.prototype.OnClose, $c: true, $r, $24r, _r, c, fn, remove, $s};return $f;
46628
+ };
46629
+ WebSocket.prototype.OnClose = function(fn) { return this.$val.OnClose(fn); };
46630
+ WebSocket.ptr.prototype.OnError = function(fn) {
46631
+ var {$24r, _r, c, fn, remove, $s, $r, $c} = $restore(this, {fn});
46632
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46633
+ remove = $throwNilPointerError;
46634
+ c = this;
46635
+ _r = $clone(c, WebSocket).addEventListener("error", fn); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46636
+ remove = _r;
46637
+ $24r = remove;
46638
+ $s = 2; case 2: return $24r;
46639
+ /* */ } return; } var $f = {$blk: WebSocket.ptr.prototype.OnError, $c: true, $r, $24r, _r, c, fn, remove, $s};return $f;
46640
+ };
46641
+ WebSocket.prototype.OnError = function(fn) { return this.$val.OnError(fn); };
46642
+ WebSocket.ptr.prototype.OnMessage = function(fn) {
46643
+ var {$24r, _r, c, fn, remove, $s, $r, $c} = $restore(this, {fn});
46644
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46645
+ fn = [fn];
46646
+ remove = $throwNilPointerError;
46647
+ c = this;
46648
+ _r = $clone(c, WebSocket).addEventListener("message", (function(fn) { return function $b(e) {
46649
+ var {_r, arrayBuffer, data, e, me, $s, $r, $c} = $restore(this, {e});
46650
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46651
+ data = $ifaceNil;
46652
+ arrayBuffer = $clone($clone(e, js.Value).Get("data"), js.Value);
46653
+ /* */ if ($clone(arrayBuffer, js.Value).Type() === 4) { $s = 1; continue; }
46654
+ /* */ $s = 2; continue;
46655
+ /* if ($clone(arrayBuffer, js.Value).Type() === 4) { */ case 1:
46656
+ data = new $String($clone(arrayBuffer, js.Value).String());
46657
+ $s = 3; continue;
46658
+ /* } else { */ case 2:
46659
+ _r = extractArrayBuffer($clone(arrayBuffer, js.Value)); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46660
+ data = _r;
46661
+ /* } */ case 3:
46662
+ me = new MessageEvent.ptr(data);
46663
+ $r = fn[0]($clone(me, MessageEvent)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46664
+ $s = -1; return;
46665
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, arrayBuffer, data, e, me, $s};return $f;
46666
+ }; })(fn)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46667
+ remove = _r;
46668
+ $24r = remove;
46669
+ $s = 2; case 2: return $24r;
46670
+ /* */ } return; } var $f = {$blk: WebSocket.ptr.prototype.OnMessage, $c: true, $r, $24r, _r, c, fn, remove, $s};return $f;
46671
+ };
46672
+ WebSocket.prototype.OnMessage = function(fn) { return this.$val.OnMessage(fn); };
46673
+ WebSocket.ptr.prototype.Subprotocol = function() {
46674
+ var c;
46675
+ c = this;
46676
+ return $clone($clone(c.v, js.Value).Get("protocol"), js.Value).String();
46677
+ };
46678
+ WebSocket.prototype.Subprotocol = function() { return this.$val.Subprotocol(); };
46679
+ WebSocket.ptr.prototype.OnOpen = function(fn) {
46680
+ var {$24r, _r, c, fn, remove, $s, $r, $c} = $restore(this, {fn});
46681
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46682
+ remove = $throwNilPointerError;
46683
+ c = this;
46684
+ _r = $clone(c, WebSocket).addEventListener("open", fn); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46685
+ remove = _r;
46686
+ $24r = remove;
46687
+ $s = 2; case 2: return $24r;
46688
+ /* */ } return; } var $f = {$blk: WebSocket.ptr.prototype.OnOpen, $c: true, $r, $24r, _r, c, fn, remove, $s};return $f;
46689
+ };
46690
+ WebSocket.prototype.OnOpen = function(fn) { return this.$val.OnOpen(fn); };
46691
+ WebSocket.ptr.prototype.Close = function(code, reason) {
46692
+ var {$24r, _r, c, code, err, reason, $s, $deferred, $r, $c} = $restore(this, {code, reason});
46693
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
46694
+ err = [err];
46695
+ err[0] = $ifaceNil;
46696
+ c = this;
46697
+ $deferred.push([handleJSError, [(err.$ptr || (err.$ptr = new ptrType(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, err))), $throwNilPointerError]]);
46698
+ _r = $clone(c.v, js.Value).Call("close", new sliceType([new $Int(code), new $String(reason)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46699
+ _r;
46700
+ err[0] = err[0];
46701
+ $24r = err[0];
46702
+ $s = 2; case 2: return $24r;
46703
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: WebSocket.ptr.prototype.Close, $c: true, $r, $24r, _r, c, code, err, reason, $s, $deferred};return $f; } }
46704
+ };
46705
+ WebSocket.prototype.Close = function(code, reason) { return this.$val.Close(code, reason); };
46706
+ WebSocket.ptr.prototype.SendText = function(v) {
46707
+ var {$24r, _r, c, err, v, $s, $deferred, $r, $c} = $restore(this, {v});
46708
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
46709
+ err = [err];
46710
+ err[0] = $ifaceNil;
46711
+ c = this;
46712
+ $deferred.push([handleJSError, [(err.$ptr || (err.$ptr = new ptrType(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, err))), $throwNilPointerError]]);
46713
+ _r = $clone(c.v, js.Value).Call("send", new sliceType([new $String(v)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46714
+ _r;
46715
+ err[0] = err[0];
46716
+ $24r = err[0];
46717
+ $s = 2; case 2: return $24r;
46718
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: WebSocket.ptr.prototype.SendText, $c: true, $r, $24r, _r, c, err, v, $s, $deferred};return $f; } }
46719
+ };
46720
+ WebSocket.prototype.SendText = function(v) { return this.$val.SendText(v); };
46721
+ WebSocket.ptr.prototype.SendBytes = function(v) {
46722
+ var {$24r, _arg, _r, _r$1, c, err, v, x, $s, $deferred, $r, $c} = $restore(this, {v});
46723
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
46724
+ err = [err];
46725
+ err[0] = $ifaceNil;
46726
+ c = this;
46727
+ $deferred.push([handleJSError, [(err.$ptr || (err.$ptr = new ptrType(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, err))), $throwNilPointerError]]);
46728
+ _r = uint8Array(v); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46729
+ _arg = (x = _r, new x.constructor.elem(x));
46730
+ _r$1 = $clone(c.v, js.Value).Call("send", new sliceType([_arg])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
46731
+ _r$1;
46732
+ err[0] = err[0];
46733
+ $24r = err[0];
46734
+ $s = 3; case 3: return $24r;
46735
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: WebSocket.ptr.prototype.SendBytes, $c: true, $r, $24r, _arg, _r, _r$1, c, err, v, x, $s, $deferred};return $f; } }
46736
+ };
46737
+ WebSocket.prototype.SendBytes = function(v) { return this.$val.SendBytes(v); };
46738
+ extractArrayBuffer = function(arrayBuffer) {
46739
+ var {_r, arrayBuffer, dst, uint8Array$1, $s, $r, $c} = $restore(this, {arrayBuffer});
46740
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46741
+ _r = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new arrayBuffer.constructor.elem(arrayBuffer)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46742
+ uint8Array$1 = $clone(_r, js.Value);
46743
+ dst = $makeSlice(sliceType$1, $clone(uint8Array$1, js.Value).Length());
46744
+ js.CopyBytesToGo(dst, $clone(uint8Array$1, js.Value));
46745
+ $s = -1; return dst;
46746
+ /* */ } return; } var $f = {$blk: extractArrayBuffer, $c: true, $r, _r, arrayBuffer, dst, uint8Array$1, $s};return $f;
46747
+ };
46748
+ uint8Array = function(src) {
46749
+ var {_r, src, uint8Array$1, $s, $r, $c} = $restore(this, {src});
46750
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46751
+ _r = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(src.$length)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
46752
+ uint8Array$1 = $clone(_r, js.Value);
46753
+ js.CopyBytesToJS($clone(uint8Array$1, js.Value), src);
46754
+ $s = -1; return uint8Array$1;
46755
+ /* */ } return; } var $f = {$blk: uint8Array, $c: true, $r, _r, src, uint8Array$1, $s};return $f;
46756
+ };
46757
+ WebSocket.methods = [{prop: "setBinaryType", name: "setBinaryType", pkg: "github.com/coder/websocket/internal/wsjs", typ: $funcType([$String], [], false)}, {prop: "addEventListener", name: "addEventListener", pkg: "github.com/coder/websocket/internal/wsjs", typ: $funcType([$String, funcType$1], [funcType], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType$2], [funcType], false)}, {prop: "OnError", name: "OnError", pkg: "", typ: $funcType([funcType$1], [funcType], false)}, {prop: "OnMessage", name: "OnMessage", pkg: "", typ: $funcType([funcType$3], [funcType], false)}, {prop: "Subprotocol", name: "Subprotocol", pkg: "", typ: $funcType([], [$String], false)}, {prop: "OnOpen", name: "OnOpen", pkg: "", typ: $funcType([funcType$1], [funcType], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([$Int, $String], [$error], false)}, {prop: "SendText", name: "SendText", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "SendBytes", name: "SendBytes", pkg: "", typ: $funcType([sliceType$1], [$error], false)}];
46758
+ WebSocket.init("github.com/coder/websocket/internal/wsjs", [{prop: "v", name: "v", embedded: false, exported: false, typ: js.Value, tag: ""}]);
46759
+ CloseEvent.init("", [{prop: "Code", name: "Code", embedded: false, exported: true, typ: $Uint16, tag: ""}, {prop: "Reason", name: "Reason", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "WasClean", name: "WasClean", embedded: false, exported: true, typ: $Bool, tag: ""}]);
46760
+ MessageEvent.init("", [{prop: "Data", name: "Data", embedded: false, exported: true, typ: $emptyInterface, tag: ""}]);
46761
+ $init = function() {
46762
+ $pkg.$init = function() {};
46763
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
46764
+ $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46765
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
46766
+ };
46767
+ $pkg.$init = $init;
46768
+ return $pkg;
46769
+ })();
46770
+ $packages["runtime/debug"] = (function() {
46771
+ var $pkg = {}, $init, fmt, os, runtime, sort, strconv, strings, time;
46772
+ fmt = $packages["fmt"];
46773
+ os = $packages["os"];
46774
+ runtime = $packages["runtime"];
46775
+ sort = $packages["sort"];
46776
+ strconv = $packages["strconv"];
46777
+ strings = $packages["strings"];
46778
+ time = $packages["time"];
46779
+ $init = function() {
46780
+ $pkg.$init = function() {};
46781
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
46782
+ $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46783
+ $r = os.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46784
+ $r = runtime.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46785
+ $r = sort.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46786
+ $r = strconv.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46787
+ $r = strings.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46788
+ $r = time.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46789
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
46790
+ };
46791
+ $pkg.$init = $init;
46792
+ return $pkg;
46793
+ })();
46794
+ $packages["github.com/coder/websocket/internal/xsync"] = (function() {
46795
+ var $pkg = {}, $init, fmt, debug, atomic, Int64, ptrType;
46796
+ fmt = $packages["fmt"];
46797
+ debug = $packages["runtime/debug"];
46798
+ atomic = $packages["sync/atomic"];
46799
+ Int64 = $pkg.Int64 = $newType(0, $kindStruct, "xsync.Int64", true, "github.com/coder/websocket/internal/xsync", true, function(i_) {
46800
+ this.$val = this;
46801
+ if (arguments.length === 0) {
46802
+ this.i = new atomic.Value.ptr($ifaceNil);
46803
+ return;
46804
+ }
46805
+ this.i = i_;
46806
+ });
46807
+ ptrType = $ptrType(Int64);
46808
+ Int64.ptr.prototype.Load = function() {
46809
+ var _tuple, i, v;
46810
+ v = this;
46811
+ _tuple = $assertType(v.i.Load(), $Int64, true);
46812
+ i = _tuple[0];
46813
+ return i;
46814
+ };
46815
+ Int64.prototype.Load = function() { return this.$val.Load(); };
46816
+ Int64.ptr.prototype.Store = function(i) {
46817
+ var i, v;
46818
+ v = this;
46819
+ v.i.Store(i);
46820
+ };
46821
+ Int64.prototype.Store = function(i) { return this.$val.Store(i); };
46822
+ ptrType.methods = [{prop: "Load", name: "Load", pkg: "", typ: $funcType([], [$Int64], false)}, {prop: "Store", name: "Store", pkg: "", typ: $funcType([$Int64], [], false)}];
46823
+ Int64.init("github.com/coder/websocket/internal/xsync", [{prop: "i", name: "i", embedded: false, exported: false, typ: atomic.Value, tag: ""}]);
46824
+ $init = function() {
46825
+ $pkg.$init = function() {};
46826
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
46827
+ $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46828
+ $r = debug.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46829
+ $r = atomic.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46830
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
46831
+ };
46832
+ $pkg.$init = $init;
46833
+ return $pkg;
46834
+ })();
46424
46835
  $packages["internal/nettrace"] = (function() {
46425
46836
  var $pkg = {}, $init, TraceKey, LookupIPAltResolverKey, Trace, funcType, sliceType, funcType$1, funcType$2, funcType$3;
46426
46837
  TraceKey = $pkg.TraceKey = $newType(0, $kindStruct, "nettrace.TraceKey", true, "internal/nettrace", true, function() {
@@ -157129,442 +157540,70 @@ $packages["net/http"] = (function() {
157129
157540
  $pkg.$init = $init;
157130
157541
  return $pkg;
157131
157542
  })();
157132
- $packages["nhooyr.io/websocket/internal/bpool"] = (function() {
157133
- var $pkg = {}, $init, bytes, sync, sliceType, sliceType$1, ptrType, bpool, Get, Put;
157134
- bytes = $packages["bytes"];
157135
- sync = $packages["sync"];
157136
- sliceType = $sliceType($emptyInterface);
157137
- sliceType$1 = $sliceType($Uint8);
157138
- ptrType = $ptrType(bytes.Buffer);
157139
- Get = function() {
157140
- var {_r, b, $s, $r, $c} = $restore(this, {});
157141
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157142
- _r = bpool.Get(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157143
- b = _r;
157144
- if ($interfaceIsEqual(b, $ifaceNil)) {
157145
- $s = -1; return new bytes.Buffer.ptr(sliceType$1.nil, 0, 0);
157146
- }
157147
- $s = -1; return $assertType(b, ptrType);
157148
- /* */ } return; } var $f = {$blk: Get, $c: true, $r, _r, b, $s};return $f;
157149
- };
157150
- $pkg.Get = Get;
157151
- Put = function(b) {
157152
- var b;
157153
- b.Reset();
157154
- bpool.Put(b);
157155
- };
157156
- $pkg.Put = Put;
157157
- $init = function() {
157158
- $pkg.$init = function() {};
157159
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
157160
- $r = bytes.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157161
- $r = sync.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157162
- bpool = new sync.Pool.ptr(sliceType.nil, $throwNilPointerError);
157163
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
157164
- };
157165
- $pkg.$init = $init;
157166
- return $pkg;
157167
- })();
157168
- $packages["nhooyr.io/websocket/internal/errd"] = (function() {
157169
- var $pkg = {}, $init, fmt;
157170
- fmt = $packages["fmt"];
157171
- $init = function() {
157172
- $pkg.$init = function() {};
157173
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
157174
- $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157175
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
157176
- };
157177
- $pkg.$init = $init;
157178
- return $pkg;
157179
- })();
157180
- $packages["nhooyr.io/websocket/internal/wsjs"] = (function() {
157181
- var $pkg = {}, $init, js, WebSocket, CloseEvent, MessageEvent, funcType, arrayType, ptrType, sliceType, sliceType$1, funcType$1, funcType$2, funcType$3, handleJSError, New, extractArrayBuffer, uint8Array;
157182
- js = $packages["syscall/js"];
157183
- WebSocket = $pkg.WebSocket = $newType(0, $kindStruct, "wsjs.WebSocket", true, "nhooyr.io/websocket/internal/wsjs", true, function(v_) {
157184
- this.$val = this;
157185
- if (arguments.length === 0) {
157186
- this.v = new js.Value.ptr(null, false, arrayType.zero());
157187
- return;
157188
- }
157189
- this.v = v_;
157190
- });
157191
- CloseEvent = $pkg.CloseEvent = $newType(0, $kindStruct, "wsjs.CloseEvent", true, "nhooyr.io/websocket/internal/wsjs", true, function(Code_, Reason_, WasClean_) {
157192
- this.$val = this;
157193
- if (arguments.length === 0) {
157194
- this.Code = 0;
157195
- this.Reason = "";
157196
- this.WasClean = false;
157197
- return;
157198
- }
157199
- this.Code = Code_;
157200
- this.Reason = Reason_;
157201
- this.WasClean = WasClean_;
157202
- });
157203
- MessageEvent = $pkg.MessageEvent = $newType(0, $kindStruct, "wsjs.MessageEvent", true, "nhooyr.io/websocket/internal/wsjs", true, function(Data_) {
157204
- this.$val = this;
157205
- if (arguments.length === 0) {
157206
- this.Data = $ifaceNil;
157207
- return;
157208
- }
157209
- this.Data = Data_;
157210
- });
157211
- funcType = $funcType([], [], false);
157212
- arrayType = $arrayType(funcType, 0);
157213
- ptrType = $ptrType($error);
157214
- sliceType = $sliceType($emptyInterface);
157215
- sliceType$1 = $sliceType($Uint8);
157216
- funcType$1 = $funcType([js.Value], [], false);
157217
- funcType$2 = $funcType([CloseEvent], [], false);
157218
- funcType$3 = $funcType([MessageEvent], [], false);
157219
- handleJSError = function(err, onErr) {
157220
- var {_tuple, err, jsErr, ok, onErr, r, $s, $r, $c} = $restore(this, {err, onErr});
157221
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157222
- r = $recover();
157223
- _tuple = $assertType(r, js.Error, true);
157224
- jsErr = $clone(_tuple[0], js.Error);
157225
- ok = _tuple[1];
157226
- /* */ if (ok) { $s = 1; continue; }
157227
- /* */ $s = 2; continue;
157228
- /* if (ok) { */ case 1:
157229
- err.$set(new jsErr.constructor.elem(jsErr));
157230
- /* */ if (!(onErr === $throwNilPointerError)) { $s = 3; continue; }
157231
- /* */ $s = 4; continue;
157232
- /* if (!(onErr === $throwNilPointerError)) { */ case 3:
157233
- $r = onErr(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157234
- /* } */ case 4:
157235
- $s = -1; return;
157236
- /* } */ case 2:
157237
- if (!($interfaceIsEqual(r, $ifaceNil))) {
157238
- $panic(r);
157239
- }
157240
- $s = -1; return;
157241
- /* */ } return; } var $f = {$blk: handleJSError, $c: true, $r, _tuple, err, jsErr, ok, onErr, r, $s};return $f;
157242
- };
157243
- New = function(url, protocols) {
157244
- var {$24r, _i, _r, _ref, _tmp, _tmp$1, c, err, i, jsProtocols, p, protocols, url, $s, $deferred, $r, $c} = $restore(this, {url, protocols});
157245
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
157246
- c = [c];
157247
- err = [err];
157248
- c[0] = new WebSocket.ptr(new js.Value.ptr(null, false, arrayType.zero()));
157249
- err[0] = $ifaceNil;
157250
- $deferred.push([handleJSError, [(err.$ptr || (err.$ptr = new ptrType(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, err))), (function(c, err) { return function() {
157251
- WebSocket.copy(c[0], new WebSocket.ptr(new js.Value.ptr(null, false, arrayType.zero())));
157252
- }; })(c, err)]]);
157253
- jsProtocols = $makeSlice(sliceType, protocols.$length);
157254
- _ref = protocols;
157255
- _i = 0;
157256
- while (true) {
157257
- if (!(_i < _ref.$length)) { break; }
157258
- i = _i;
157259
- p = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
157260
- ((i < 0 || i >= jsProtocols.$length) ? ($throwRuntimeError("index out of range"), undefined) : jsProtocols.$array[jsProtocols.$offset + i] = new $String(p));
157261
- _i++;
157262
- }
157263
- _r = $clone($clone(js.Global(), js.Value).Get("WebSocket"), js.Value).New(new sliceType([new $String(url), jsProtocols])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157264
- WebSocket.copy(c[0], new WebSocket.ptr($clone(_r, js.Value)));
157265
- $clone(c[0], WebSocket).setBinaryType("arraybuffer");
157266
- _tmp = $clone(c[0], WebSocket);
157267
- _tmp$1 = $ifaceNil;
157268
- WebSocket.copy(c[0], _tmp);
157269
- err[0] = _tmp$1;
157270
- $24r = [c[0], err[0]];
157271
- $s = 2; case 2: return $24r;
157272
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return [c[0], err[0]]; } if($curGoroutine.asleep) { var $f = {$blk: New, $c: true, $r, $24r, _i, _r, _ref, _tmp, _tmp$1, c, err, i, jsProtocols, p, protocols, url, $s, $deferred};return $f; } }
157273
- };
157274
- $pkg.New = New;
157275
- WebSocket.ptr.prototype.setBinaryType = function(typ) {
157276
- var c, typ;
157277
- c = this;
157278
- $clone(c.v, js.Value).Set("binaryType", new $String((typ)));
157279
- };
157280
- WebSocket.prototype.setBinaryType = function(typ) { return this.$val.setBinaryType(typ); };
157281
- WebSocket.ptr.prototype.addEventListener = function(eventType, fn) {
157282
- var {_r, c, eventType, f, fn, $s, $r, $c} = $restore(this, {eventType, fn});
157283
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157284
- c = [c];
157285
- eventType = [eventType];
157286
- f = [f];
157287
- fn = [fn];
157288
- c[0] = this;
157289
- f[0] = $clone(js.FuncOf((function(c, eventType, f, fn) { return function $b(this$1, args) {
157290
- var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
157291
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157292
- $r = fn[0]($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157293
- $s = -1; return $ifaceNil;
157294
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
157295
- }; })(c, eventType, f, fn)), js.Func);
157296
- _r = $clone(c[0].v, js.Value).Call("addEventListener", new sliceType([new $String(eventType[0]), new f[0].constructor.elem(f[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157297
- _r;
157298
- $s = -1; return (function(c, eventType, f, fn) { return function $b() {
157299
- var {_r$1, $s, $r, $c} = $restore(this, {});
157300
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157301
- _r$1 = $clone(c[0].v, js.Value).Call("removeEventListener", new sliceType([new $String(eventType[0]), new f[0].constructor.elem(f[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
157302
- _r$1;
157303
- $clone(f[0], js.Func).Release();
157304
- $s = -1; return;
157305
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
157306
- }; })(c, eventType, f, fn);
157307
- /* */ } return; } var $f = {$blk: WebSocket.ptr.prototype.addEventListener, $c: true, $r, _r, c, eventType, f, fn, $s};return $f;
157308
- };
157309
- WebSocket.prototype.addEventListener = function(eventType, fn) { return this.$val.addEventListener(eventType, fn); };
157310
- WebSocket.ptr.prototype.OnClose = function(fn) {
157311
- var {$24r, _r, c, fn, remove, $s, $r, $c} = $restore(this, {fn});
157312
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157313
- fn = [fn];
157314
- remove = $throwNilPointerError;
157315
- c = this;
157316
- _r = $clone(c, WebSocket).addEventListener("close", (function(fn) { return function $b(e) {
157317
- var {ce, e, $s, $r, $c} = $restore(this, {e});
157318
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157319
- ce = new CloseEvent.ptr((($clone($clone(e, js.Value).Get("code"), js.Value).Int() << 16 >>> 16)), $clone($clone(e, js.Value).Get("reason"), js.Value).String(), $clone($clone(e, js.Value).Get("wasClean"), js.Value).Bool());
157320
- $r = fn[0]($clone(ce, CloseEvent)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157321
- $s = -1; return;
157322
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, ce, e, $s};return $f;
157323
- }; })(fn)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157324
- remove = _r;
157325
- $24r = remove;
157326
- $s = 2; case 2: return $24r;
157327
- /* */ } return; } var $f = {$blk: WebSocket.ptr.prototype.OnClose, $c: true, $r, $24r, _r, c, fn, remove, $s};return $f;
157328
- };
157329
- WebSocket.prototype.OnClose = function(fn) { return this.$val.OnClose(fn); };
157330
- WebSocket.ptr.prototype.OnError = function(fn) {
157331
- var {$24r, _r, c, fn, remove, $s, $r, $c} = $restore(this, {fn});
157332
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157333
- remove = $throwNilPointerError;
157334
- c = this;
157335
- _r = $clone(c, WebSocket).addEventListener("error", fn); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157336
- remove = _r;
157337
- $24r = remove;
157338
- $s = 2; case 2: return $24r;
157339
- /* */ } return; } var $f = {$blk: WebSocket.ptr.prototype.OnError, $c: true, $r, $24r, _r, c, fn, remove, $s};return $f;
157340
- };
157341
- WebSocket.prototype.OnError = function(fn) { return this.$val.OnError(fn); };
157342
- WebSocket.ptr.prototype.OnMessage = function(fn) {
157343
- var {$24r, _r, c, fn, remove, $s, $r, $c} = $restore(this, {fn});
157344
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157345
- fn = [fn];
157346
- remove = $throwNilPointerError;
157347
- c = this;
157348
- _r = $clone(c, WebSocket).addEventListener("message", (function(fn) { return function $b(e) {
157349
- var {_r, arrayBuffer, data, e, me, $s, $r, $c} = $restore(this, {e});
157350
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157351
- data = $ifaceNil;
157352
- arrayBuffer = $clone($clone(e, js.Value).Get("data"), js.Value);
157353
- /* */ if ($clone(arrayBuffer, js.Value).Type() === 4) { $s = 1; continue; }
157354
- /* */ $s = 2; continue;
157355
- /* if ($clone(arrayBuffer, js.Value).Type() === 4) { */ case 1:
157356
- data = new $String($clone(arrayBuffer, js.Value).String());
157357
- $s = 3; continue;
157358
- /* } else { */ case 2:
157359
- _r = extractArrayBuffer($clone(arrayBuffer, js.Value)); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157360
- data = _r;
157361
- /* } */ case 3:
157362
- me = new MessageEvent.ptr(data);
157363
- $r = fn[0]($clone(me, MessageEvent)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157364
- $s = -1; return;
157365
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, arrayBuffer, data, e, me, $s};return $f;
157366
- }; })(fn)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157367
- remove = _r;
157368
- $24r = remove;
157369
- $s = 2; case 2: return $24r;
157370
- /* */ } return; } var $f = {$blk: WebSocket.ptr.prototype.OnMessage, $c: true, $r, $24r, _r, c, fn, remove, $s};return $f;
157371
- };
157372
- WebSocket.prototype.OnMessage = function(fn) { return this.$val.OnMessage(fn); };
157373
- WebSocket.ptr.prototype.Subprotocol = function() {
157374
- var c;
157375
- c = this;
157376
- return $clone($clone(c.v, js.Value).Get("protocol"), js.Value).String();
157377
- };
157378
- WebSocket.prototype.Subprotocol = function() { return this.$val.Subprotocol(); };
157379
- WebSocket.ptr.prototype.OnOpen = function(fn) {
157380
- var {$24r, _r, c, fn, remove, $s, $r, $c} = $restore(this, {fn});
157381
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157382
- remove = $throwNilPointerError;
157383
- c = this;
157384
- _r = $clone(c, WebSocket).addEventListener("open", fn); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157385
- remove = _r;
157386
- $24r = remove;
157387
- $s = 2; case 2: return $24r;
157388
- /* */ } return; } var $f = {$blk: WebSocket.ptr.prototype.OnOpen, $c: true, $r, $24r, _r, c, fn, remove, $s};return $f;
157389
- };
157390
- WebSocket.prototype.OnOpen = function(fn) { return this.$val.OnOpen(fn); };
157391
- WebSocket.ptr.prototype.Close = function(code, reason) {
157392
- var {$24r, _r, c, code, err, reason, $s, $deferred, $r, $c} = $restore(this, {code, reason});
157393
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
157394
- err = [err];
157395
- err[0] = $ifaceNil;
157396
- c = this;
157397
- $deferred.push([handleJSError, [(err.$ptr || (err.$ptr = new ptrType(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, err))), $throwNilPointerError]]);
157398
- _r = $clone(c.v, js.Value).Call("close", new sliceType([new $Int(code), new $String(reason)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157399
- _r;
157400
- err[0] = err[0];
157401
- $24r = err[0];
157402
- $s = 2; case 2: return $24r;
157403
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: WebSocket.ptr.prototype.Close, $c: true, $r, $24r, _r, c, code, err, reason, $s, $deferred};return $f; } }
157404
- };
157405
- WebSocket.prototype.Close = function(code, reason) { return this.$val.Close(code, reason); };
157406
- WebSocket.ptr.prototype.SendText = function(v) {
157407
- var {$24r, _r, c, err, v, $s, $deferred, $r, $c} = $restore(this, {v});
157408
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
157409
- err = [err];
157410
- err[0] = $ifaceNil;
157411
- c = this;
157412
- $deferred.push([handleJSError, [(err.$ptr || (err.$ptr = new ptrType(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, err))), $throwNilPointerError]]);
157413
- _r = $clone(c.v, js.Value).Call("send", new sliceType([new $String(v)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157414
- _r;
157415
- err[0] = err[0];
157416
- $24r = err[0];
157417
- $s = 2; case 2: return $24r;
157418
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: WebSocket.ptr.prototype.SendText, $c: true, $r, $24r, _r, c, err, v, $s, $deferred};return $f; } }
157419
- };
157420
- WebSocket.prototype.SendText = function(v) { return this.$val.SendText(v); };
157421
- WebSocket.ptr.prototype.SendBytes = function(v) {
157422
- var {$24r, _arg, _r, _r$1, c, err, v, x, $s, $deferred, $r, $c} = $restore(this, {v});
157423
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
157424
- err = [err];
157425
- err[0] = $ifaceNil;
157426
- c = this;
157427
- $deferred.push([handleJSError, [(err.$ptr || (err.$ptr = new ptrType(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, err))), $throwNilPointerError]]);
157428
- _r = uint8Array(v); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157429
- _arg = (x = _r, new x.constructor.elem(x));
157430
- _r$1 = $clone(c.v, js.Value).Call("send", new sliceType([_arg])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
157431
- _r$1;
157432
- err[0] = err[0];
157433
- $24r = err[0];
157434
- $s = 3; case 3: return $24r;
157435
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: WebSocket.ptr.prototype.SendBytes, $c: true, $r, $24r, _arg, _r, _r$1, c, err, v, x, $s, $deferred};return $f; } }
157436
- };
157437
- WebSocket.prototype.SendBytes = function(v) { return this.$val.SendBytes(v); };
157438
- extractArrayBuffer = function(arrayBuffer) {
157439
- var {_r, arrayBuffer, dst, uint8Array$1, $s, $r, $c} = $restore(this, {arrayBuffer});
157440
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157441
- _r = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new arrayBuffer.constructor.elem(arrayBuffer)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157442
- uint8Array$1 = $clone(_r, js.Value);
157443
- dst = $makeSlice(sliceType$1, $clone(uint8Array$1, js.Value).Length());
157444
- js.CopyBytesToGo(dst, $clone(uint8Array$1, js.Value));
157445
- $s = -1; return dst;
157446
- /* */ } return; } var $f = {$blk: extractArrayBuffer, $c: true, $r, _r, arrayBuffer, dst, uint8Array$1, $s};return $f;
157447
- };
157448
- uint8Array = function(src) {
157449
- var {_r, src, uint8Array$1, $s, $r, $c} = $restore(this, {src});
157450
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157451
- _r = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(src.$length)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157452
- uint8Array$1 = $clone(_r, js.Value);
157453
- js.CopyBytesToJS($clone(uint8Array$1, js.Value), src);
157454
- $s = -1; return uint8Array$1;
157455
- /* */ } return; } var $f = {$blk: uint8Array, $c: true, $r, _r, src, uint8Array$1, $s};return $f;
157456
- };
157457
- WebSocket.methods = [{prop: "setBinaryType", name: "setBinaryType", pkg: "nhooyr.io/websocket/internal/wsjs", typ: $funcType([$String], [], false)}, {prop: "addEventListener", name: "addEventListener", pkg: "nhooyr.io/websocket/internal/wsjs", typ: $funcType([$String, funcType$1], [funcType], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType$2], [funcType], false)}, {prop: "OnError", name: "OnError", pkg: "", typ: $funcType([funcType$1], [funcType], false)}, {prop: "OnMessage", name: "OnMessage", pkg: "", typ: $funcType([funcType$3], [funcType], false)}, {prop: "Subprotocol", name: "Subprotocol", pkg: "", typ: $funcType([], [$String], false)}, {prop: "OnOpen", name: "OnOpen", pkg: "", typ: $funcType([funcType$1], [funcType], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([$Int, $String], [$error], false)}, {prop: "SendText", name: "SendText", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "SendBytes", name: "SendBytes", pkg: "", typ: $funcType([sliceType$1], [$error], false)}];
157458
- WebSocket.init("nhooyr.io/websocket/internal/wsjs", [{prop: "v", name: "v", embedded: false, exported: false, typ: js.Value, tag: ""}]);
157459
- CloseEvent.init("", [{prop: "Code", name: "Code", embedded: false, exported: true, typ: $Uint16, tag: ""}, {prop: "Reason", name: "Reason", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "WasClean", name: "WasClean", embedded: false, exported: true, typ: $Bool, tag: ""}]);
157460
- MessageEvent.init("", [{prop: "Data", name: "Data", embedded: false, exported: true, typ: $emptyInterface, tag: ""}]);
157461
- $init = function() {
157462
- $pkg.$init = function() {};
157463
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
157464
- $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157465
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
157466
- };
157467
- $pkg.$init = $init;
157468
- return $pkg;
157469
- })();
157470
- $packages["nhooyr.io/websocket/internal/xsync"] = (function() {
157471
- var $pkg = {}, $init, fmt, atomic, Int64, ptrType;
157472
- fmt = $packages["fmt"];
157473
- atomic = $packages["sync/atomic"];
157474
- Int64 = $pkg.Int64 = $newType(0, $kindStruct, "xsync.Int64", true, "nhooyr.io/websocket/internal/xsync", true, function(i_) {
157475
- this.$val = this;
157476
- if (arguments.length === 0) {
157477
- this.i = new atomic.Value.ptr($ifaceNil);
157478
- return;
157479
- }
157480
- this.i = i_;
157481
- });
157482
- ptrType = $ptrType(Int64);
157483
- Int64.ptr.prototype.Load = function() {
157484
- var _tuple, i, v;
157485
- v = this;
157486
- _tuple = $assertType(v.i.Load(), $Int64, true);
157487
- i = _tuple[0];
157488
- return i;
157489
- };
157490
- Int64.prototype.Load = function() { return this.$val.Load(); };
157491
- Int64.ptr.prototype.Store = function(i) {
157492
- var i, v;
157493
- v = this;
157494
- v.i.Store(i);
157495
- };
157496
- Int64.prototype.Store = function(i) { return this.$val.Store(i); };
157497
- ptrType.methods = [{prop: "Load", name: "Load", pkg: "", typ: $funcType([], [$Int64], false)}, {prop: "Store", name: "Store", pkg: "", typ: $funcType([$Int64], [], false)}];
157498
- Int64.init("nhooyr.io/websocket/internal/xsync", [{prop: "i", name: "i", embedded: false, exported: false, typ: atomic.Value, tag: ""}]);
157499
- $init = function() {
157500
- $pkg.$init = function() {};
157501
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
157502
- $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157503
- $r = atomic.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157504
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
157505
- };
157506
- $pkg.$init = $init;
157507
- return $pkg;
157508
- })();
157509
- $packages["nhooyr.io/websocket"] = (function() {
157510
- var $pkg = {}, $init, bufio, bytes, context, binary, errors, fmt, io, math, bits, net, http, bpool, errd, wsjs, xsync, reflect, runtime, strconv, strings, sync, js, time, Conn, DialOptions, writer, MessageType, StatusCode, CloseError, ptrType, sliceType, structType, funcType, sliceType$1, ptrType$2, ptrType$3, sliceType$2, funcType$1, arrayType, sliceType$3, ptrType$4, ptrType$5, ptrType$6, chanType, _MessageType_index, _StatusCode_index, Dial, dial;
157511
- bufio = $packages["bufio"];
157543
+ $packages["github.com/coder/websocket"] = (function() {
157544
+ var $pkg = {}, $init, bytes, context, binary, errors, fmt, bpool, wsjs, xsync, io, math, bits, net, http, reflect, runtime, strconv, strings, sync, atomic, js, time, Conn, DialOptions, writer, StatusCode, CloseError, MessageType, noCopy, ptrType, sliceType, structType, funcType, sliceType$1, ptrType$3, ptrType$4, sliceType$2, funcType$1, arrayType, sliceType$3, ptrType$5, ptrType$6, ptrType$7, chanType, ptrType$9, ptrType$10, _MessageType_index, _StatusCode_index, Dial, dial;
157512
157545
  bytes = $packages["bytes"];
157513
157546
  context = $packages["context"];
157514
157547
  binary = $packages["encoding/binary"];
157515
157548
  errors = $packages["errors"];
157516
157549
  fmt = $packages["fmt"];
157550
+ bpool = $packages["github.com/coder/websocket/internal/bpool"];
157551
+ wsjs = $packages["github.com/coder/websocket/internal/wsjs"];
157552
+ xsync = $packages["github.com/coder/websocket/internal/xsync"];
157517
157553
  io = $packages["io"];
157518
157554
  math = $packages["math"];
157519
157555
  bits = $packages["math/bits"];
157520
157556
  net = $packages["net"];
157521
157557
  http = $packages["net/http"];
157522
- bpool = $packages["nhooyr.io/websocket/internal/bpool"];
157523
- errd = $packages["nhooyr.io/websocket/internal/errd"];
157524
- wsjs = $packages["nhooyr.io/websocket/internal/wsjs"];
157525
- xsync = $packages["nhooyr.io/websocket/internal/xsync"];
157526
157558
  reflect = $packages["reflect"];
157527
157559
  runtime = $packages["runtime"];
157528
157560
  strconv = $packages["strconv"];
157529
157561
  strings = $packages["strings"];
157530
157562
  sync = $packages["sync"];
157563
+ atomic = $packages["sync/atomic"];
157531
157564
  js = $packages["syscall/js"];
157532
157565
  time = $packages["time"];
157533
- Conn = $pkg.Conn = $newType(0, $kindStruct, "websocket.Conn", true, "nhooyr.io/websocket", true, function(ws_, msgReadLimit_, closingMu_, isReadClosed_, closeOnce_, closed_, closeErrOnce_, closeErr_, closeWasClean_, releaseOnClose_, releaseOnMessage_, readSignal_, readBufMu_, readBuf_) {
157566
+ Conn = $pkg.Conn = $newType(0, $kindStruct, "websocket.Conn", true, "github.com/coder/websocket", true, function(noCopy_, ws_, msgReadLimit_, closeReadMu_, closeReadCtx_, closingMu_, closeOnce_, closed_, closeErrOnce_, closeErr_, closeWasClean_, releaseOnClose_, releaseOnError_, releaseOnMessage_, readSignal_, readBufMu_, readBuf_) {
157534
157567
  this.$val = this;
157535
157568
  if (arguments.length === 0) {
157569
+ this.noCopy = new noCopy.ptr();
157536
157570
  this.ws = new wsjs.WebSocket.ptr(new js.Value.ptr(null, false, arrayType.zero()));
157537
- this.msgReadLimit = new xsync.Int64.ptr(new $packages["sync/atomic"].Value.ptr($ifaceNil));
157571
+ this.msgReadLimit = new xsync.Int64.ptr(new atomic.Value.ptr($ifaceNil));
157572
+ this.closeReadMu = new sync.Mutex.ptr(0, 0);
157573
+ this.closeReadCtx = $ifaceNil;
157538
157574
  this.closingMu = new sync.Mutex.ptr(0, 0);
157539
- this.isReadClosed = new xsync.Int64.ptr(new $packages["sync/atomic"].Value.ptr($ifaceNil));
157540
157575
  this.closeOnce = new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0));
157541
157576
  this.closed = $chanNil;
157542
157577
  this.closeErrOnce = new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0));
157543
157578
  this.closeErr = $ifaceNil;
157544
157579
  this.closeWasClean = false;
157545
157580
  this.releaseOnClose = $throwNilPointerError;
157581
+ this.releaseOnError = $throwNilPointerError;
157546
157582
  this.releaseOnMessage = $throwNilPointerError;
157547
157583
  this.readSignal = $chanNil;
157548
157584
  this.readBufMu = new sync.Mutex.ptr(0, 0);
157549
157585
  this.readBuf = sliceType$3.nil;
157550
157586
  return;
157551
157587
  }
157588
+ this.noCopy = noCopy_;
157552
157589
  this.ws = ws_;
157553
157590
  this.msgReadLimit = msgReadLimit_;
157591
+ this.closeReadMu = closeReadMu_;
157592
+ this.closeReadCtx = closeReadCtx_;
157554
157593
  this.closingMu = closingMu_;
157555
- this.isReadClosed = isReadClosed_;
157556
157594
  this.closeOnce = closeOnce_;
157557
157595
  this.closed = closed_;
157558
157596
  this.closeErrOnce = closeErrOnce_;
157559
157597
  this.closeErr = closeErr_;
157560
157598
  this.closeWasClean = closeWasClean_;
157561
157599
  this.releaseOnClose = releaseOnClose_;
157600
+ this.releaseOnError = releaseOnError_;
157562
157601
  this.releaseOnMessage = releaseOnMessage_;
157563
157602
  this.readSignal = readSignal_;
157564
157603
  this.readBufMu = readBufMu_;
157565
157604
  this.readBuf = readBuf_;
157566
157605
  });
157567
- DialOptions = $pkg.DialOptions = $newType(0, $kindStruct, "websocket.DialOptions", true, "nhooyr.io/websocket", true, function(Subprotocols_) {
157606
+ DialOptions = $pkg.DialOptions = $newType(0, $kindStruct, "websocket.DialOptions", true, "github.com/coder/websocket", true, function(Subprotocols_) {
157568
157607
  this.$val = this;
157569
157608
  if (arguments.length === 0) {
157570
157609
  this.Subprotocols = sliceType$2.nil;
@@ -157572,14 +157611,14 @@ $packages["nhooyr.io/websocket"] = (function() {
157572
157611
  }
157573
157612
  this.Subprotocols = Subprotocols_;
157574
157613
  });
157575
- writer = $pkg.writer = $newType(0, $kindStruct, "websocket.writer", true, "nhooyr.io/websocket", false, function(closed_, c_, ctx_, typ_, b_) {
157614
+ writer = $pkg.writer = $newType(0, $kindStruct, "websocket.writer", true, "github.com/coder/websocket", false, function(closed_, c_, ctx_, typ_, b_) {
157576
157615
  this.$val = this;
157577
157616
  if (arguments.length === 0) {
157578
157617
  this.closed = false;
157579
157618
  this.c = ptrType.nil;
157580
157619
  this.ctx = $ifaceNil;
157581
157620
  this.typ = 0;
157582
- this.b = ptrType$6.nil;
157621
+ this.b = ptrType$7.nil;
157583
157622
  return;
157584
157623
  }
157585
157624
  this.closed = closed_;
@@ -157588,9 +157627,8 @@ $packages["nhooyr.io/websocket"] = (function() {
157588
157627
  this.typ = typ_;
157589
157628
  this.b = b_;
157590
157629
  });
157591
- MessageType = $pkg.MessageType = $newType(4, $kindInt, "websocket.MessageType", true, "nhooyr.io/websocket", true, null);
157592
- StatusCode = $pkg.StatusCode = $newType(4, $kindInt, "websocket.StatusCode", true, "nhooyr.io/websocket", true, null);
157593
- CloseError = $pkg.CloseError = $newType(0, $kindStruct, "websocket.CloseError", true, "nhooyr.io/websocket", true, function(Code_, Reason_) {
157630
+ StatusCode = $pkg.StatusCode = $newType(4, $kindInt, "websocket.StatusCode", true, "github.com/coder/websocket", true, null);
157631
+ CloseError = $pkg.CloseError = $newType(0, $kindStruct, "websocket.CloseError", true, "github.com/coder/websocket", true, function(Code_, Reason_) {
157594
157632
  this.$val = this;
157595
157633
  if (arguments.length === 0) {
157596
157634
  this.Code = 0;
@@ -157600,21 +157638,30 @@ $packages["nhooyr.io/websocket"] = (function() {
157600
157638
  this.Code = Code_;
157601
157639
  this.Reason = Reason_;
157602
157640
  });
157641
+ MessageType = $pkg.MessageType = $newType(4, $kindInt, "websocket.MessageType", true, "github.com/coder/websocket", true, null);
157642
+ noCopy = $pkg.noCopy = $newType(0, $kindStruct, "websocket.noCopy", true, "github.com/coder/websocket", false, function() {
157643
+ this.$val = this;
157644
+ if (arguments.length === 0) {
157645
+ return;
157646
+ }
157647
+ });
157603
157648
  ptrType = $ptrType(Conn);
157604
157649
  sliceType = $sliceType($emptyInterface);
157605
157650
  structType = $structType("", []);
157606
157651
  funcType = $funcType([ptrType], [], false);
157607
157652
  sliceType$1 = $sliceType($Uint8);
157608
- ptrType$2 = $ptrType(http.Response);
157609
- ptrType$3 = $ptrType(DialOptions);
157653
+ ptrType$3 = $ptrType(http.Response);
157654
+ ptrType$4 = $ptrType(DialOptions);
157610
157655
  sliceType$2 = $sliceType($String);
157611
157656
  funcType$1 = $funcType([], [], false);
157612
157657
  arrayType = $arrayType(funcType$1, 0);
157613
157658
  sliceType$3 = $sliceType(wsjs.MessageEvent);
157614
- ptrType$4 = $ptrType(http.Request);
157615
- ptrType$5 = $ptrType($packages["crypto/tls"].ConnectionState);
157616
- ptrType$6 = $ptrType(bytes.Buffer);
157659
+ ptrType$5 = $ptrType(http.Request);
157660
+ ptrType$6 = $ptrType($packages["crypto/tls"].ConnectionState);
157661
+ ptrType$7 = $ptrType(bytes.Buffer);
157617
157662
  chanType = $chanType(structType, false, false);
157663
+ ptrType$9 = $ptrType(writer);
157664
+ ptrType$10 = $ptrType(noCopy);
157618
157665
  Conn.ptr.prototype.close = function(err, wasClean) {
157619
157666
  var {c, err, wasClean, $s, $r, $c} = $restore(this, {err, wasClean});
157620
157667
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
@@ -157643,7 +157690,7 @@ $packages["nhooyr.io/websocket"] = (function() {
157643
157690
  };
157644
157691
  Conn.prototype.close = function(err, wasClean) { return this.$val.close(err, wasClean); };
157645
157692
  Conn.ptr.prototype.init = function() {
157646
- var {_r, _r$1, c, $s, $r, $c} = $restore(this, {});
157693
+ var {_r, _r$1, _r$2, c, $s, $r, $c} = $restore(this, {});
157647
157694
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157648
157695
  c = [c];
157649
157696
  c[0] = this;
@@ -157656,12 +157703,22 @@ $packages["nhooyr.io/websocket"] = (function() {
157656
157703
  err = new CloseError.ptr(((e.Code >> 0)), e.Reason);
157657
157704
  $r = c[0].close(new err.constructor.elem(err), e.WasClean); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157658
157705
  $r = c[0].releaseOnClose(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157659
- $r = c[0].releaseOnMessage(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157706
+ $r = c[0].releaseOnError(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157707
+ $r = c[0].releaseOnMessage(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157660
157708
  $s = -1; return;
157661
157709
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, e, err, $s};return $f;
157662
157710
  }; })(c)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157663
157711
  c[0].releaseOnClose = _r;
157664
- _r$1 = $clone(c[0].ws, wsjs.WebSocket).OnMessage((function(c) { return function $b(e) {
157712
+ _r$1 = $clone(c[0].ws, wsjs.WebSocket).OnError((function(c) { return function $b(v) {
157713
+ var {v, $s, $r, $c} = $restore(this, {v});
157714
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157715
+ $r = c[0].setCloseErr(errors.New($clone($clone(v, js.Value).Get("message"), js.Value).String())); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157716
+ $r = c[0].closeWithInternal(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157717
+ $s = -1; return;
157718
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, v, $s};return $f;
157719
+ }; })(c)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
157720
+ c[0].releaseOnError = _r$1;
157721
+ _r$2 = $clone(c[0].ws, wsjs.WebSocket).OnMessage((function(c) { return function $b(e) {
157665
157722
  var {_selection, e, $s, $deferred, $r, $c} = $restore(this, {e});
157666
157723
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
157667
157724
  $r = c[0].readBufMu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -157673,8 +157730,8 @@ $packages["nhooyr.io/websocket"] = (function() {
157673
157730
  }
157674
157731
  $s = -1; return;
157675
157732
  /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: $b, $c: true, $r, _selection, e, $s, $deferred};return $f; } }
157676
- }; })(c)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
157677
- c[0].releaseOnMessage = _r$1;
157733
+ }; })(c)); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
157734
+ c[0].releaseOnMessage = _r$2;
157678
157735
  runtime.SetFinalizer(c[0], new funcType((function(c) { return function $b(c$1) {
157679
157736
  var {c$1, $s, $r, $c} = $restore(this, {c$1});
157680
157737
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
@@ -157684,7 +157741,7 @@ $packages["nhooyr.io/websocket"] = (function() {
157684
157741
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, c$1, $s};return $f;
157685
157742
  }; })(c)));
157686
157743
  $s = -1; return;
157687
- /* */ } return; } var $f = {$blk: Conn.ptr.prototype.init, $c: true, $r, _r, _r$1, c, $s};return $f;
157744
+ /* */ } return; } var $f = {$blk: Conn.ptr.prototype.init, $c: true, $r, _r, _r$1, _r$2, c, $s};return $f;
157688
157745
  };
157689
157746
  Conn.prototype.init = function() { return this.$val.init(); };
157690
157747
  Conn.ptr.prototype.closeWithInternal = function() {
@@ -157698,37 +157755,41 @@ $packages["nhooyr.io/websocket"] = (function() {
157698
157755
  };
157699
157756
  Conn.prototype.closeWithInternal = function() { return this.$val.closeWithInternal(); };
157700
157757
  Conn.ptr.prototype.Read = function(ctx) {
157701
- var {$24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, c, ctx, err, err$1, p, typ, x, x$1, x$2, $s, $r, $c} = $restore(this, {ctx});
157758
+ var {$24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, c, closedRead, ctx, err, err$1, p, readLimit, typ, x, $s, $r, $c} = $restore(this, {ctx});
157702
157759
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157703
157760
  c = this;
157704
- if ((x = c.isReadClosed.Load(), (x.$high === 0 && x.$low === 1))) {
157761
+ $r = c.closeReadMu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157762
+ closedRead = !($interfaceIsEqual(c.closeReadCtx, $ifaceNil));
157763
+ $r = c.closeReadMu.Unlock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157764
+ if (closedRead) {
157705
157765
  $s = -1; return [0, sliceType$1.nil, errors.New("WebSocket connection read closed")];
157706
157766
  }
157707
- _r = c.read(ctx); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157767
+ _r = c.read(ctx); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157708
157768
  _tuple = _r;
157709
157769
  typ = _tuple[0];
157710
157770
  p = _tuple[1];
157711
157771
  err = _tuple[2];
157712
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }
157713
- /* */ $s = 3; continue;
157714
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:
157715
- _r$1 = fmt.Errorf("failed to read: %w", new sliceType([err])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
157772
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 4; continue; }
157773
+ /* */ $s = 5; continue;
157774
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 4:
157775
+ _r$1 = fmt.Errorf("failed to read: %w", new sliceType([err])); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
157716
157776
  $24r = [0, sliceType$1.nil, _r$1];
157717
- $s = 5; case 5: return $24r;
157718
- /* } */ case 3:
157719
- /* */ if ((x$1 = (new $Int64(0, p.$length)), x$2 = c.msgReadLimit.Load(), (x$1.$high > x$2.$high || (x$1.$high === x$2.$high && x$1.$low > x$2.$low)))) { $s = 6; continue; }
157720
- /* */ $s = 7; continue;
157721
- /* if ((x$1 = (new $Int64(0, p.$length)), x$2 = c.msgReadLimit.Load(), (x$1.$high > x$2.$high || (x$1.$high === x$2.$high && x$1.$low > x$2.$low)))) { */ case 6:
157722
- _r$2 = fmt.Errorf("read limited at %v bytes", new sliceType([c.msgReadLimit.Load()])); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
157777
+ $s = 7; case 7: return $24r;
157778
+ /* } */ case 5:
157779
+ readLimit = c.msgReadLimit.Load();
157780
+ /* */ if ((readLimit.$high > 0 || (readLimit.$high === 0 && readLimit.$low >= 0)) && (x = (new $Int64(0, p.$length)), (x.$high > readLimit.$high || (x.$high === readLimit.$high && x.$low > readLimit.$low)))) { $s = 8; continue; }
157781
+ /* */ $s = 9; continue;
157782
+ /* if ((readLimit.$high > 0 || (readLimit.$high === 0 && readLimit.$low >= 0)) && (x = (new $Int64(0, p.$length)), (x.$high > readLimit.$high || (x.$high === readLimit.$high && x.$low > readLimit.$low)))) { */ case 8:
157783
+ _r$2 = fmt.Errorf("read limited at %v bytes", new sliceType([c.msgReadLimit.Load()])); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
157723
157784
  err$1 = _r$2;
157724
- _r$3 = err$1.Error(); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
157785
+ _r$3 = err$1.Error(); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
157725
157786
  _arg = _r$3;
157726
- _r$4 = c.Close(1009, _arg); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
157787
+ _r$4 = c.Close(1009, _arg); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
157727
157788
  _r$4;
157728
157789
  $s = -1; return [0, sliceType$1.nil, err$1];
157729
- /* } */ case 7:
157790
+ /* } */ case 9:
157730
157791
  $s = -1; return [typ, p, $ifaceNil];
157731
- /* */ } return; } var $f = {$blk: Conn.ptr.prototype.Read, $c: true, $r, $24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, c, ctx, err, err$1, p, typ, x, x$1, x$2, $s};return $f;
157792
+ /* */ } return; } var $f = {$blk: Conn.ptr.prototype.Read, $c: true, $r, $24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, c, closedRead, ctx, err, err$1, p, readLimit, typ, x, $s};return $f;
157732
157793
  };
157733
157794
  Conn.prototype.Read = function(ctx) { return this.$val.Read(ctx); };
157734
157795
  Conn.ptr.prototype.read = function(ctx) {
@@ -157751,7 +157812,7 @@ $packages["nhooyr.io/websocket"] = (function() {
157751
157812
  /* } else if (_selection[0] === 1) { */ case 4:
157752
157813
  $s = 6; continue;
157753
157814
  /* } else if (_selection[0] === 2) { */ case 5:
157754
- $24r$1 = [0, sliceType$1.nil, c.closeErr];
157815
+ $24r$1 = [0, sliceType$1.nil, net.ErrClosed];
157755
157816
  $s = 10; case 10: return $24r$1;
157756
157817
  /* } */ case 6:
157757
157818
  $r = c.readBufMu.Lock(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -157818,7 +157879,7 @@ $packages["nhooyr.io/websocket"] = (function() {
157818
157879
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157819
157880
  c = this;
157820
157881
  if (c.isClosed()) {
157821
- $s = -1; return c.closeErr;
157882
+ $s = -1; return net.ErrClosed;
157822
157883
  }
157823
157884
  _1 = typ;
157824
157885
  /* */ if (_1 === (2)) { $s = 2; continue; }
@@ -157859,41 +157920,50 @@ $packages["nhooyr.io/websocket"] = (function() {
157859
157920
  /* */ } return; } var $f = {$blk: Conn.ptr.prototype.Close, $c: true, $r, $24r, _r, _r$1, c, code, err, reason, $s};return $f;
157860
157921
  };
157861
157922
  Conn.prototype.Close = function(code, reason) { return this.$val.Close(code, reason); };
157923
+ Conn.ptr.prototype.CloseNow = function() {
157924
+ var {$24r, _r, c, $s, $r, $c} = $restore(this, {});
157925
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157926
+ c = this;
157927
+ _r = c.Close(1001, ""); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157928
+ $24r = _r;
157929
+ $s = 2; case 2: return $24r;
157930
+ /* */ } return; } var $f = {$blk: Conn.ptr.prototype.CloseNow, $c: true, $r, $24r, _r, c, $s};return $f;
157931
+ };
157932
+ Conn.prototype.CloseNow = function() { return this.$val.CloseNow(); };
157862
157933
  Conn.ptr.prototype.exportedClose = function(code, reason) {
157863
- var {$24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, c, ce, code, err, reason, x, $s, $deferred, $r, $c} = $restore(this, {code, reason});
157934
+ var {$24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, c, ce, code, err, reason, x, $s, $deferred, $r, $c} = $restore(this, {code, reason});
157864
157935
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
157865
157936
  c = this;
157866
157937
  $r = c.closingMu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157867
157938
  $deferred.push([$methodVal(c.closingMu, "Unlock"), []]);
157868
- _r = fmt.Errorf("sent close: %w", new sliceType([(x = new CloseError.ptr(code, reason), new x.constructor.elem(x))])); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157939
+ /* */ if (c.isClosed()) { $s = 2; continue; }
157940
+ /* */ $s = 3; continue;
157941
+ /* if (c.isClosed()) { */ case 2:
157942
+ $24r = net.ErrClosed;
157943
+ $s = 4; case 4: return $24r;
157944
+ /* } */ case 3:
157945
+ _r = fmt.Errorf("sent close: %w", new sliceType([(x = new CloseError.ptr(code, reason), new x.constructor.elem(x))])); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157869
157946
  ce = _r;
157870
- /* */ if (c.isClosed()) { $s = 3; continue; }
157871
- /* */ $s = 4; continue;
157872
- /* if (c.isClosed()) { */ case 3:
157873
- _r$1 = fmt.Errorf("tried to close with %q but connection already closed: %w", new sliceType([ce, c.closeErr])); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
157874
- $24r = _r$1;
157875
- $s = 6; case 6: return $24r;
157876
- /* } */ case 4:
157877
- $r = c.setCloseErr(ce); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157878
- _r$2 = $clone(c.ws, wsjs.WebSocket).Close(((code >> 0)), reason); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
157879
- err = _r$2;
157880
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 9; continue; }
157881
- /* */ $s = 10; continue;
157882
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 9:
157947
+ $r = c.setCloseErr(ce); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157948
+ _r$1 = $clone(c.ws, wsjs.WebSocket).Close(((code >> 0)), reason); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
157949
+ err = _r$1;
157950
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 8; continue; }
157951
+ /* */ $s = 9; continue;
157952
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 8:
157883
157953
  $24r$1 = err;
157884
- $s = 11; case 11: return $24r$1;
157885
- /* } */ case 10:
157886
- _r$3 = $recv(c.closed); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
157887
- _r$3[0];
157888
- /* */ if (!c.closeWasClean) { $s = 13; continue; }
157889
- /* */ $s = 14; continue;
157890
- /* if (!c.closeWasClean) { */ case 13:
157954
+ $s = 10; case 10: return $24r$1;
157955
+ /* } */ case 9:
157956
+ _r$2 = $recv(c.closed); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
157957
+ _r$2[0];
157958
+ /* */ if (!c.closeWasClean) { $s = 12; continue; }
157959
+ /* */ $s = 13; continue;
157960
+ /* if (!c.closeWasClean) { */ case 12:
157891
157961
  $24r$2 = c.closeErr;
157892
- $s = 15; case 15: return $24r$2;
157893
- /* } */ case 14:
157962
+ $s = 14; case 14: return $24r$2;
157963
+ /* } */ case 13:
157894
157964
  $24r$3 = $ifaceNil;
157895
- $s = 16; case 16: return $24r$3;
157896
- /* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Conn.ptr.prototype.exportedClose, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, c, ce, code, err, reason, x, $s, $deferred};return $f; } }
157965
+ $s = 15; case 15: return $24r$3;
157966
+ /* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Conn.ptr.prototype.exportedClose, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, c, ce, code, err, reason, x, $s, $deferred};return $f; } }
157897
157967
  };
157898
157968
  Conn.prototype.exportedClose = function(code, reason) { return this.$val.exportedClose(code, reason); };
157899
157969
  Conn.ptr.prototype.Subprotocol = function() {
@@ -157914,7 +157984,7 @@ $packages["nhooyr.io/websocket"] = (function() {
157914
157984
  /* */ $s = 3; continue;
157915
157985
  /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:
157916
157986
  _r$1 = fmt.Errorf("failed to WebSocket dial %q: %w", new sliceType([new $String(url), err])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
157917
- $24r = [ptrType.nil, ptrType$2.nil, _r$1];
157987
+ $24r = [ptrType.nil, ptrType$3.nil, _r$1];
157918
157988
  $s = 5; case 5: return $24r;
157919
157989
  /* } */ case 3:
157920
157990
  $s = -1; return [c, resp, $ifaceNil];
@@ -157925,7 +157995,7 @@ $packages["nhooyr.io/websocket"] = (function() {
157925
157995
  var {$24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _selection, _tuple, c, ctx, err, opench, opts, releaseOpen, url, ws, $s, $deferred, $r, $c} = $restore(this, {ctx, url, opts});
157926
157996
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
157927
157997
  opench = [opench];
157928
- if (opts === ptrType$3.nil) {
157998
+ if (opts === ptrType$4.nil) {
157929
157999
  opts = new DialOptions.ptr(sliceType$2.nil);
157930
158000
  }
157931
158001
  url = strings.Replace(url, "http://", "ws://", 1);
@@ -157937,18 +158007,15 @@ $packages["nhooyr.io/websocket"] = (function() {
157937
158007
  /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }
157938
158008
  /* */ $s = 3; continue;
157939
158009
  /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:
157940
- $24r = [ptrType.nil, ptrType$2.nil, err];
158010
+ $24r = [ptrType.nil, ptrType$3.nil, err];
157941
158011
  $s = 4; case 4: return $24r;
157942
158012
  /* } */ case 3:
157943
- c = new Conn.ptr($clone(ws, wsjs.WebSocket), new xsync.Int64.ptr(new $packages["sync/atomic"].Value.ptr($ifaceNil)), new sync.Mutex.ptr(0, 0), new xsync.Int64.ptr(new $packages["sync/atomic"].Value.ptr($ifaceNil)), new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0)), $chanNil, new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0)), $ifaceNil, false, $throwNilPointerError, $throwNilPointerError, $chanNil, new sync.Mutex.ptr(0, 0), sliceType$3.nil);
158013
+ c = new Conn.ptr(new noCopy.ptr(), $clone(ws, wsjs.WebSocket), new xsync.Int64.ptr(new atomic.Value.ptr($ifaceNil)), new sync.Mutex.ptr(0, 0), $ifaceNil, new sync.Mutex.ptr(0, 0), new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0)), $chanNil, new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0)), $ifaceNil, false, $throwNilPointerError, $throwNilPointerError, $throwNilPointerError, $chanNil, new sync.Mutex.ptr(0, 0), sliceType$3.nil);
157944
158014
  $r = c.init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157945
158015
  opench[0] = new $Chan(structType, 0);
157946
- _r$1 = $clone(ws, wsjs.WebSocket).OnOpen((function(opench) { return function $b(e) {
157947
- var {e, $s, $r, $c} = $restore(this, {e});
157948
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157949
- $r = $send(opench[0], $clone($clone(new structType.ptr(), structType), structType)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
157950
- $s = -1; return;
157951
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, e, $s};return $f;
158016
+ _r$1 = $clone(ws, wsjs.WebSocket).OnOpen((function(opench) { return function(e) {
158017
+ var e;
158018
+ $close(opench[0]);
157952
158019
  }; })(opench)); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
157953
158020
  releaseOpen = _r$1;
157954
158021
  $deferred.push([releaseOpen, []]);
@@ -157963,17 +158030,17 @@ $packages["nhooyr.io/websocket"] = (function() {
157963
158030
  _r$4 = c.Close(1008, "dial timed out"); /* */ $s = 13; case 13: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
157964
158031
  _r$4;
157965
158032
  _r$5 = ctx.Err(); /* */ $s = 14; case 14: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
157966
- $24r$1 = [ptrType.nil, ptrType$2.nil, _r$5];
158033
+ $24r$1 = [ptrType.nil, ptrType$3.nil, _r$5];
157967
158034
  $s = 15; case 15: return $24r$1;
157968
158035
  /* } else if (_selection[0] === 1) { */ case 10:
157969
- $24r$2 = [c, new http.Response.ptr("", 101, "", 0, 0, false, $ifaceNil, new $Int64(0, 0), sliceType$2.nil, false, false, false, ptrType$4.nil, ptrType$5.nil), $ifaceNil];
158036
+ $24r$2 = [c, new http.Response.ptr("", 101, "", 0, 0, false, $ifaceNil, new $Int64(0, 0), sliceType$2.nil, false, false, false, ptrType$5.nil, ptrType$6.nil), $ifaceNil];
157970
158037
  $s = 16; case 16: return $24r$2;
157971
158038
  /* } else if (_selection[0] === 2) { */ case 11:
157972
- $24r$3 = [ptrType.nil, ptrType$2.nil, c.closeErr];
158039
+ $24r$3 = [ptrType.nil, ptrType$3.nil, net.ErrClosed];
157973
158040
  $s = 17; case 17: return $24r$3;
157974
158041
  /* } */ case 12:
157975
- $s = -1; return [ptrType.nil, ptrType$2.nil, $ifaceNil];
157976
- /* */ } return; } } catch(err) { $err = err; $s = -1; return [ptrType.nil, ptrType$2.nil, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: dial, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _selection, _tuple, c, ctx, err, opench, opts, releaseOpen, url, ws, $s, $deferred};return $f; } }
158042
+ $s = -1; return [ptrType.nil, ptrType$3.nil, $ifaceNil];
158043
+ /* */ } return; } } catch(err) { $err = err; $s = -1; return [ptrType.nil, ptrType$3.nil, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: dial, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _selection, _tuple, c, ctx, err, opench, opts, releaseOpen, url, ws, $s, $deferred};return $f; } }
157977
158044
  };
157978
158045
  Conn.ptr.prototype.Reader = function(ctx) {
157979
158046
  var {_r, _tuple, c, ctx, err, p, typ, $s, $r, $c} = $restore(this, {ctx});
@@ -157992,13 +158059,13 @@ $packages["nhooyr.io/websocket"] = (function() {
157992
158059
  };
157993
158060
  Conn.prototype.Reader = function(ctx) { return this.$val.Reader(ctx); };
157994
158061
  Conn.ptr.prototype.Writer = function(ctx, typ) {
157995
- var {$24r, _r, c, ctx, typ, x, $s, $r, $c} = $restore(this, {ctx, typ});
158062
+ var {$24r, _r, c, ctx, typ, $s, $r, $c} = $restore(this, {ctx, typ});
157996
158063
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
157997
158064
  c = this;
157998
158065
  _r = bpool.Get(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
157999
- $24r = [(x = new writer.ptr(false, c, ctx, typ, _r), new x.constructor.elem(x)), $ifaceNil];
158066
+ $24r = [new writer.ptr(false, c, ctx, typ, _r), $ifaceNil];
158000
158067
  $s = 2; case 2: return $24r;
158001
- /* */ } return; } var $f = {$blk: Conn.ptr.prototype.Writer, $c: true, $r, $24r, _r, c, ctx, typ, x, $s};return $f;
158068
+ /* */ } return; } var $f = {$blk: Conn.ptr.prototype.Writer, $c: true, $r, $24r, _r, c, ctx, typ, $s};return $f;
158002
158069
  };
158003
158070
  Conn.prototype.Writer = function(ctx, typ) { return this.$val.Writer(ctx, typ); };
158004
158071
  writer.ptr.prototype.Write = function(p) {
@@ -158050,30 +158117,45 @@ $packages["nhooyr.io/websocket"] = (function() {
158050
158117
  };
158051
158118
  writer.prototype.Close = function() { return this.$val.Close(); };
158052
158119
  Conn.ptr.prototype.CloseRead = function(ctx) {
158053
- var {_r, _tuple, c, cancel, ctx, $s, $r, $c} = $restore(this, {ctx});
158120
+ var {_r, _tuple, c, cancel, ctx, ctx2, $s, $r, $c} = $restore(this, {ctx});
158054
158121
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
158055
158122
  c = [c];
158056
158123
  cancel = [cancel];
158057
158124
  ctx = [ctx];
158058
158125
  c[0] = this;
158059
- c[0].isReadClosed.Store(new $Int64(0, 1));
158060
- _r = context.WithCancel(ctx[0]); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
158126
+ $r = c[0].closeReadMu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158127
+ ctx2 = c[0].closeReadCtx;
158128
+ /* */ if (!($interfaceIsEqual(ctx2, $ifaceNil))) { $s = 2; continue; }
158129
+ /* */ $s = 3; continue;
158130
+ /* if (!($interfaceIsEqual(ctx2, $ifaceNil))) { */ case 2:
158131
+ $r = c[0].closeReadMu.Unlock(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158132
+ $s = -1; return ctx2;
158133
+ /* } */ case 3:
158134
+ _r = context.WithCancel(ctx[0]); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
158061
158135
  _tuple = _r;
158062
158136
  ctx[0] = _tuple[0];
158063
158137
  cancel[0] = _tuple[1];
158138
+ c[0].closeReadCtx = ctx[0];
158139
+ $r = c[0].closeReadMu.Unlock(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158064
158140
  $go((function(c, cancel, ctx) { return function $b() {
158065
- var {_r$1, _r$2, $s, $deferred, $r, $c} = $restore(this, {});
158141
+ var {_r$1, _r$2, _tuple$1, err, $s, $deferred, $r, $c} = $restore(this, {});
158066
158142
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
158067
158143
  $deferred.push([cancel[0], []]);
158144
+ $deferred.push([$methodVal(c[0], "CloseNow"), []]);
158068
158145
  _r$1 = c[0].read(ctx[0]); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
158069
- _r$1;
158070
- _r$2 = c[0].Close(1008, "unexpected data message"); /* */ $s = 2; case 2: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
158071
- _r$2;
158146
+ _tuple$1 = _r$1;
158147
+ err = _tuple$1[2];
158148
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }
158149
+ /* */ $s = 3; continue;
158150
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:
158151
+ _r$2 = c[0].Close(1008, "unexpected data message"); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
158152
+ _r$2;
158153
+ /* } */ case 3:
158072
158154
  $s = -1; return;
158073
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: $b, $c: true, $r, _r$1, _r$2, $s, $deferred};return $f; } }
158155
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: $b, $c: true, $r, _r$1, _r$2, _tuple$1, err, $s, $deferred};return $f; } }
158074
158156
  }; })(c, cancel, ctx), []);
158075
158157
  $s = -1; return ctx[0];
158076
- /* */ } return; } var $f = {$blk: Conn.ptr.prototype.CloseRead, $c: true, $r, _r, _tuple, c, cancel, ctx, $s};return $f;
158158
+ /* */ } return; } var $f = {$blk: Conn.ptr.prototype.CloseRead, $c: true, $r, _r, _tuple, c, cancel, ctx, ctx2, $s};return $f;
158077
158159
  };
158078
158160
  Conn.prototype.CloseRead = function(ctx) { return this.$val.CloseRead(ctx); };
158079
158161
  Conn.ptr.prototype.SetReadLimit = function(n) {
@@ -158111,6 +158193,19 @@ $packages["nhooyr.io/websocket"] = (function() {
158111
158193
  }
158112
158194
  };
158113
158195
  Conn.prototype.isClosed = function() { return this.$val.isClosed(); };
158196
+ CloseError.ptr.prototype.Error = function() {
158197
+ var {$24r, _r, ce, $s, $r, $c} = $restore(this, {});
158198
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
158199
+ ce = this;
158200
+ _r = fmt.Sprintf("status = %v and reason = %q", new sliceType([new StatusCode(ce.Code), new $String(ce.Reason)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
158201
+ $24r = _r;
158202
+ $s = 2; case 2: return $24r;
158203
+ /* */ } return; } var $f = {$blk: CloseError.ptr.prototype.Error, $c: true, $r, $24r, _r, ce, $s};return $f;
158204
+ };
158205
+ CloseError.prototype.Error = function() { return this.$val.Error(); };
158206
+ noCopy.ptr.prototype.Lock = function() {
158207
+ };
158208
+ noCopy.prototype.Lock = function() { return this.$val.Lock(); };
158114
158209
  MessageType.prototype.String = function() {
158115
158210
  var i, x;
158116
158211
  i = this.$val;
@@ -158131,50 +158226,41 @@ $packages["nhooyr.io/websocket"] = (function() {
158131
158226
  return $substring("StatusNormalClosureStatusGoingAwayStatusProtocolErrorStatusUnsupportedDatastatusReservedStatusNoStatusRcvdStatusAbnormalClosureStatusInvalidFramePayloadDataStatusPolicyViolationStatusMessageTooBigStatusMandatoryExtensionStatusInternalErrorStatusServiceRestartStatusTryAgainLaterStatusBadGatewayStatusTLSHandshake", ((i < 0 || i >= _StatusCode_index.length) ? ($throwRuntimeError("index out of range"), undefined) : _StatusCode_index[i]), (x = i + 1 >> 0, ((x < 0 || x >= _StatusCode_index.length) ? ($throwRuntimeError("index out of range"), undefined) : _StatusCode_index[x])));
158132
158227
  };
158133
158228
  $ptrType(StatusCode).prototype.String = function() { return new StatusCode(this.$get()).String(); };
158134
- CloseError.ptr.prototype.Error = function() {
158135
- var {$24r, _r, ce, $s, $r, $c} = $restore(this, {});
158136
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
158137
- ce = this;
158138
- _r = fmt.Sprintf("status = %v and reason = %q", new sliceType([new StatusCode(ce.Code), new $String(ce.Reason)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
158139
- $24r = _r;
158140
- $s = 2; case 2: return $24r;
158141
- /* */ } return; } var $f = {$blk: CloseError.ptr.prototype.Error, $c: true, $r, $24r, _r, ce, $s};return $f;
158142
- };
158143
- CloseError.prototype.Error = function() { return this.$val.Error(); };
158144
- ptrType.methods = [{prop: "close", name: "close", pkg: "nhooyr.io/websocket", typ: $funcType([$error, $Bool], [], false)}, {prop: "init", name: "init", pkg: "nhooyr.io/websocket", typ: $funcType([], [], false)}, {prop: "closeWithInternal", name: "closeWithInternal", pkg: "nhooyr.io/websocket", typ: $funcType([], [], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([context.Context], [MessageType, sliceType$1, $error], false)}, {prop: "read", name: "read", pkg: "nhooyr.io/websocket", typ: $funcType([context.Context], [MessageType, sliceType$1, $error], false)}, {prop: "Ping", name: "Ping", pkg: "", typ: $funcType([context.Context], [$error], false)}, {prop: "Write", name: "Write", pkg: "", typ: $funcType([context.Context, MessageType, sliceType$1], [$error], false)}, {prop: "write", name: "write", pkg: "nhooyr.io/websocket", typ: $funcType([context.Context, MessageType, sliceType$1], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([StatusCode, $String], [$error], false)}, {prop: "exportedClose", name: "exportedClose", pkg: "nhooyr.io/websocket", typ: $funcType([StatusCode, $String], [$error], false)}, {prop: "Subprotocol", name: "Subprotocol", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Reader", name: "Reader", pkg: "", typ: $funcType([context.Context], [MessageType, io.Reader, $error], false)}, {prop: "Writer", name: "Writer", pkg: "", typ: $funcType([context.Context, MessageType], [io.WriteCloser, $error], false)}, {prop: "CloseRead", name: "CloseRead", pkg: "", typ: $funcType([context.Context], [context.Context], false)}, {prop: "SetReadLimit", name: "SetReadLimit", pkg: "", typ: $funcType([$Int64], [], false)}, {prop: "setCloseErr", name: "setCloseErr", pkg: "nhooyr.io/websocket", typ: $funcType([$error], [], false)}, {prop: "isClosed", name: "isClosed", pkg: "nhooyr.io/websocket", typ: $funcType([], [$Bool], false)}];
158145
- writer.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$1], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}];
158146
- MessageType.methods = [{prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}];
158229
+ ptrType.methods = [{prop: "close", name: "close", pkg: "github.com/coder/websocket", typ: $funcType([$error, $Bool], [], false)}, {prop: "init", name: "init", pkg: "github.com/coder/websocket", typ: $funcType([], [], false)}, {prop: "closeWithInternal", name: "closeWithInternal", pkg: "github.com/coder/websocket", typ: $funcType([], [], false)}, {prop: "Read", name: "Read", pkg: "", typ: $funcType([context.Context], [MessageType, sliceType$1, $error], false)}, {prop: "read", name: "read", pkg: "github.com/coder/websocket", typ: $funcType([context.Context], [MessageType, sliceType$1, $error], false)}, {prop: "Ping", name: "Ping", pkg: "", typ: $funcType([context.Context], [$error], false)}, {prop: "Write", name: "Write", pkg: "", typ: $funcType([context.Context, MessageType, sliceType$1], [$error], false)}, {prop: "write", name: "write", pkg: "github.com/coder/websocket", typ: $funcType([context.Context, MessageType, sliceType$1], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([StatusCode, $String], [$error], false)}, {prop: "CloseNow", name: "CloseNow", pkg: "", typ: $funcType([], [$error], false)}, {prop: "exportedClose", name: "exportedClose", pkg: "github.com/coder/websocket", typ: $funcType([StatusCode, $String], [$error], false)}, {prop: "Subprotocol", name: "Subprotocol", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Reader", name: "Reader", pkg: "", typ: $funcType([context.Context], [MessageType, io.Reader, $error], false)}, {prop: "Writer", name: "Writer", pkg: "", typ: $funcType([context.Context, MessageType], [io.WriteCloser, $error], false)}, {prop: "CloseRead", name: "CloseRead", pkg: "", typ: $funcType([context.Context], [context.Context], false)}, {prop: "SetReadLimit", name: "SetReadLimit", pkg: "", typ: $funcType([$Int64], [], false)}, {prop: "setCloseErr", name: "setCloseErr", pkg: "github.com/coder/websocket", typ: $funcType([$error], [], false)}, {prop: "isClosed", name: "isClosed", pkg: "github.com/coder/websocket", typ: $funcType([], [$Bool], false)}];
158230
+ ptrType$9.methods = [{prop: "Write", name: "Write", pkg: "", typ: $funcType([sliceType$1], [$Int, $error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}];
158147
158231
  StatusCode.methods = [{prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}];
158148
158232
  CloseError.methods = [{prop: "Error", name: "Error", pkg: "", typ: $funcType([], [$String], false)}];
158149
- Conn.init("nhooyr.io/websocket", [{prop: "ws", name: "ws", embedded: false, exported: false, typ: wsjs.WebSocket, tag: ""}, {prop: "msgReadLimit", name: "msgReadLimit", embedded: false, exported: false, typ: xsync.Int64, tag: ""}, {prop: "closingMu", name: "closingMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "isReadClosed", name: "isReadClosed", embedded: false, exported: false, typ: xsync.Int64, tag: ""}, {prop: "closeOnce", name: "closeOnce", embedded: false, exported: false, typ: sync.Once, tag: ""}, {prop: "closed", name: "closed", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "closeErrOnce", name: "closeErrOnce", embedded: false, exported: false, typ: sync.Once, tag: ""}, {prop: "closeErr", name: "closeErr", embedded: false, exported: false, typ: $error, tag: ""}, {prop: "closeWasClean", name: "closeWasClean", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "releaseOnClose", name: "releaseOnClose", embedded: false, exported: false, typ: funcType$1, tag: ""}, {prop: "releaseOnMessage", name: "releaseOnMessage", embedded: false, exported: false, typ: funcType$1, tag: ""}, {prop: "readSignal", name: "readSignal", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "readBufMu", name: "readBufMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "readBuf", name: "readBuf", embedded: false, exported: false, typ: sliceType$3, tag: ""}]);
158233
+ MessageType.methods = [{prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}];
158234
+ ptrType$10.methods = [{prop: "Lock", name: "Lock", pkg: "", typ: $funcType([], [], false)}];
158235
+ Conn.init("github.com/coder/websocket", [{prop: "noCopy", name: "noCopy", embedded: false, exported: false, typ: noCopy, tag: ""}, {prop: "ws", name: "ws", embedded: false, exported: false, typ: wsjs.WebSocket, tag: ""}, {prop: "msgReadLimit", name: "msgReadLimit", embedded: false, exported: false, typ: xsync.Int64, tag: ""}, {prop: "closeReadMu", name: "closeReadMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "closeReadCtx", name: "closeReadCtx", embedded: false, exported: false, typ: context.Context, tag: ""}, {prop: "closingMu", name: "closingMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "closeOnce", name: "closeOnce", embedded: false, exported: false, typ: sync.Once, tag: ""}, {prop: "closed", name: "closed", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "closeErrOnce", name: "closeErrOnce", embedded: false, exported: false, typ: sync.Once, tag: ""}, {prop: "closeErr", name: "closeErr", embedded: false, exported: false, typ: $error, tag: ""}, {prop: "closeWasClean", name: "closeWasClean", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "releaseOnClose", name: "releaseOnClose", embedded: false, exported: false, typ: funcType$1, tag: ""}, {prop: "releaseOnError", name: "releaseOnError", embedded: false, exported: false, typ: funcType$1, tag: ""}, {prop: "releaseOnMessage", name: "releaseOnMessage", embedded: false, exported: false, typ: funcType$1, tag: ""}, {prop: "readSignal", name: "readSignal", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "readBufMu", name: "readBufMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "readBuf", name: "readBuf", embedded: false, exported: false, typ: sliceType$3, tag: ""}]);
158150
158236
  DialOptions.init("", [{prop: "Subprotocols", name: "Subprotocols", embedded: false, exported: true, typ: sliceType$2, tag: ""}]);
158151
- writer.init("nhooyr.io/websocket", [{prop: "closed", name: "closed", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "c", name: "c", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "ctx", name: "ctx", embedded: false, exported: false, typ: context.Context, tag: ""}, {prop: "typ", name: "typ", embedded: false, exported: false, typ: MessageType, tag: ""}, {prop: "b", name: "b", embedded: false, exported: false, typ: ptrType$6, tag: ""}]);
158237
+ writer.init("github.com/coder/websocket", [{prop: "closed", name: "closed", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "c", name: "c", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "ctx", name: "ctx", embedded: false, exported: false, typ: context.Context, tag: ""}, {prop: "typ", name: "typ", embedded: false, exported: false, typ: MessageType, tag: ""}, {prop: "b", name: "b", embedded: false, exported: false, typ: ptrType$7, tag: ""}]);
158152
158238
  CloseError.init("", [{prop: "Code", name: "Code", embedded: false, exported: true, typ: StatusCode, tag: ""}, {prop: "Reason", name: "Reason", embedded: false, exported: true, typ: $String, tag: ""}]);
158239
+ noCopy.init("", []);
158153
158240
  $init = function() {
158154
158241
  $pkg.$init = function() {};
158155
158242
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
158156
- $r = bufio.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158157
- $r = bytes.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158158
- $r = context.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158159
- $r = binary.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158160
- $r = errors.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158161
- $r = fmt.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158162
- $r = io.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158163
- $r = math.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158164
- $r = bits.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158165
- $r = net.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158166
- $r = http.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158167
- $r = bpool.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158168
- $r = errd.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158169
- $r = wsjs.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158170
- $r = xsync.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158171
- $r = reflect.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158172
- $r = runtime.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158173
- $r = strconv.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158174
- $r = strings.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158175
- $r = sync.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158176
- $r = js.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158177
- $r = time.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158243
+ $r = bytes.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158244
+ $r = context.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158245
+ $r = binary.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158246
+ $r = errors.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158247
+ $r = fmt.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158248
+ $r = bpool.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158249
+ $r = wsjs.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158250
+ $r = xsync.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158251
+ $r = io.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158252
+ $r = math.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158253
+ $r = bits.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158254
+ $r = net.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158255
+ $r = http.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158256
+ $r = reflect.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158257
+ $r = runtime.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158258
+ $r = strconv.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158259
+ $r = strings.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158260
+ $r = sync.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158261
+ $r = atomic.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158262
+ $r = js.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158263
+ $r = time.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158178
158264
  _MessageType_index = $toNativeArray($kindUint8, [0, 11, 24]);
158179
158265
  _StatusCode_index = $toNativeArray($kindUint16, [0, 19, 34, 53, 74, 88, 106, 127, 156, 177, 196, 220, 239, 259, 278, 294, 312]);
158180
158266
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
@@ -158183,10 +158269,10 @@ $packages["nhooyr.io/websocket"] = (function() {
158183
158269
  return $pkg;
158184
158270
  })();
158185
158271
  $packages["github.com/supraio/client-daemon/pkg/netstream"] = (function() {
158186
- var $pkg = {}, $init, context, errs, websocket, time, JsWebsocketConn, ReaderWriter, ReaderWriterCloser, Driver, sliceType, sliceType$1, ptrType, sliceType$2, ptrType$1, connects, init, ConnectJsWebsocket, Create;
158272
+ var $pkg = {}, $init, context, websocket, errs, time, JsWebsocketConn, ReaderWriter, ReaderWriterCloser, Driver, sliceType, sliceType$1, ptrType, sliceType$2, ptrType$1, connects, init, ConnectJsWebsocket, Create;
158187
158273
  context = $packages["context"];
158274
+ websocket = $packages["github.com/coder/websocket"];
158188
158275
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
158189
- websocket = $packages["nhooyr.io/websocket"];
158190
158276
  time = $packages["time"];
158191
158277
  JsWebsocketConn = $pkg.JsWebsocketConn = $newType(0, $kindStruct, "netstream.JsWebsocketConn", true, "github.com/supraio/client-daemon/pkg/netstream", true, function(conn_) {
158192
158278
  this.$val = this;
@@ -158304,8 +158390,8 @@ $packages["github.com/supraio/client-daemon/pkg/netstream"] = (function() {
158304
158390
  $pkg.$init = function() {};
158305
158391
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
158306
158392
  $r = context.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158307
- $r = errs.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158308
- $r = websocket.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158393
+ $r = websocket.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158394
+ $r = errs.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158309
158395
  $r = time.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
158310
158396
  connects = $makeMap(Driver.keyFor, []);
158311
158397
  init();
@@ -158923,10 +159009,10 @@ $packages["github.com/supraio/client-daemon/pkg/netclient"] = (function() {
158923
159009
  return $pkg;
158924
159010
  })();
158925
159011
  $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
158926
- var $pkg = {}, $init, context, errs, websocket, time, JsWebsocketConn, Driver, sliceType, sliceType$1, ptrType, sliceType$2, ptrType$1, connects, maxPacketSizes, init, ConnectJsWebsocket;
159012
+ var $pkg = {}, $init, context, websocket, errs, time, JsWebsocketConn, Driver, sliceType, sliceType$1, ptrType, sliceType$2, ptrType$1, connects, maxPacketSizes, init, ConnectJsWebsocket;
158927
159013
  context = $packages["context"];
159014
+ websocket = $packages["github.com/coder/websocket"];
158928
159015
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
158929
- websocket = $packages["nhooyr.io/websocket"];
158930
159016
  time = $packages["time"];
158931
159017
  JsWebsocketConn = $pkg.JsWebsocketConn = $newType(0, $kindStruct, "netpacket.JsWebsocketConn", true, "github.com/supraio/client-daemon/pkg/netpacket", true, function(conn_) {
158932
159018
  this.$val = this;
@@ -159026,8 +159112,8 @@ $packages["github.com/supraio/client-daemon/pkg/netpacket"] = (function() {
159026
159112
  $pkg.$init = function() {};
159027
159113
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
159028
159114
  $r = context.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159029
- $r = errs.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159030
- $r = websocket.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159115
+ $r = websocket.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159116
+ $r = errs.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159031
159117
  $r = time.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159032
159118
  connects = $makeMap(Driver.keyFor, []);
159033
159119
  maxPacketSizes = $makeMap(Driver.keyFor, []);
@@ -159236,7 +159322,7 @@ $packages["github.com/supraio/client-daemon/pkg/socket"] = (function() {
159236
159322
  $clone(msg, js.Value).Set("id", new $String(c.connID));
159237
159323
  $clone(msg, js.Value).Set("type", new $String("supra.response"));
159238
159324
  $clone(msg, js.Value).Set("payload", new msgData.constructor.elem(msgData));
159239
- _r$2 = $clone(js.Global(), js.Value).Call("postMessage", new sliceType([new msg.constructor.elem(msg)])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
159325
+ _r$2 = $clone(js.Global(), js.Value).Call("postMessage", new sliceType([new msg.constructor.elem(msg), new $String("*")])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
159240
159326
  _r$2;
159241
159327
  $s = -1; return [n, $ifaceNil];
159242
159328
  /* */ } return; } var $f = {$blk: JsConn.ptr.prototype.Write, $c: true, $r, _r, _r$1, _r$2, c, data, msg, msgData, n, $s};return $f;
@@ -181766,12 +181852,14 @@ $packages["github.com/supraio/client-daemon/pkg/clientscreen"] = (function() {
181766
181852
  return $pkg;
181767
181853
  })();
181768
181854
  $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
181769
- var $pkg = {}, $init, js;
181855
+ var $pkg = {}, $init, log, js;
181856
+ log = $packages["log"];
181770
181857
  js = $packages["syscall/js"];
181771
181858
  $init = function() {
181772
181859
  $pkg.$init = function() {};
181773
181860
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
181774
- $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181861
+ $r = log.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181862
+ $r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181775
181863
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
181776
181864
  };
181777
181865
  $pkg.$init = $init;
@@ -191026,179 +191114,19 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191026
191114
  $pkg.$init = $init;
191027
191115
  return $pkg;
191028
191116
  })();
191029
- $packages["os/signal"] = (function() {
191030
- var $pkg = {}, $init, context, os, sync, syscall, stopping, handler, arrayType, sliceType, chanType, ptrType, mapType, structType, arrayType$1, handlers, watchSignalLoopOnce, watchSignalLoop, init, signum, enableSignal, Notify, signal_enable, loop;
191031
- context = $packages["context"];
191032
- os = $packages["os"];
191033
- sync = $packages["sync"];
191034
- syscall = $packages["syscall"];
191035
- stopping = $pkg.stopping = $newType(0, $kindStruct, "signal.stopping", true, "os/signal", false, function(c_, h_) {
191036
- this.$val = this;
191037
- if (arguments.length === 0) {
191038
- this.c = $chanNil;
191039
- this.h = ptrType.nil;
191040
- return;
191041
- }
191042
- this.c = c_;
191043
- this.h = h_;
191044
- });
191045
- handler = $pkg.handler = $newType(0, $kindStruct, "signal.handler", true, "os/signal", false, function(mask_) {
191046
- this.$val = this;
191047
- if (arguments.length === 0) {
191048
- this.mask = arrayType$1.zero();
191049
- return;
191050
- }
191051
- this.mask = mask_;
191052
- });
191053
- arrayType = $arrayType($Int64, 65);
191054
- sliceType = $sliceType(stopping);
191055
- chanType = $chanType(os.Signal, true, false);
191056
- ptrType = $ptrType(handler);
191057
- mapType = $mapType(chanType, ptrType);
191058
- structType = $structType("os/signal", [{prop: "Mutex", name: "Mutex", embedded: true, exported: true, typ: sync.Mutex, tag: ""}, {prop: "m", name: "m", embedded: false, exported: false, typ: mapType, tag: ""}, {prop: "ref", name: "ref", embedded: false, exported: false, typ: arrayType, tag: ""}, {prop: "stopping", name: "stopping", embedded: false, exported: false, typ: sliceType, tag: ""}]);
191059
- arrayType$1 = $arrayType($Uint32, 3);
191060
- init = function() {
191061
- watchSignalLoop = loop;
191062
- };
191063
- signum = function(sig) {
191064
- var _ref, i, sig, sig$1, sig$2;
191065
- _ref = sig;
191066
- if ($assertType(_ref, syscall.Signal, true)[1]) {
191067
- sig$1 = _ref.$val;
191068
- i = ((sig$1 >> 0));
191069
- if (i < 0 || i >= 65) {
191070
- return -1;
191071
- }
191072
- return i;
191073
- } else {
191074
- sig$2 = _ref;
191075
- return -1;
191076
- }
191077
- };
191078
- enableSignal = function(sig) {
191079
- var sig;
191080
- signal_enable(((sig >>> 0)));
191081
- };
191082
- handler.ptr.prototype.want = function(sig) {
191083
- var _q, h, sig, x, x$1, y;
191084
- h = this;
191085
- return !(((((((y = (((sig & 31) >>> 0)), y < 32 ? ((x = h.mask, x$1 = (_q = sig / 32, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")), ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[x$1])) >>> y) : 0) >>> 0)) & 1) >>> 0) === 0));
191086
- };
191087
- handler.prototype.want = function(sig) { return this.$val.want(sig); };
191088
- handler.ptr.prototype.set = function(sig) {
191089
- var _index, _q, h, sig, x, x$1, y;
191090
- h = this;
191091
- _index = (_q = sig / 32, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"));
191092
- (x$1 = h.mask, ((_index < 0 || _index >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[_index] = (((x = h.mask, ((_index < 0 || _index >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[_index])) | (((y = (((sig & 31) >>> 0)), y < 32 ? (1 << y) : 0) >>> 0))) >>> 0)));
191093
- };
191094
- handler.prototype.set = function(sig) { return this.$val.set(sig); };
191095
- Notify = function(c, sig) {
191096
- var {_entry, _i, _key, _ref, add, c, h, n, s, sig, $s, $deferred, $r, $c} = $restore(this, {c, sig});
191097
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
191098
- h = [h];
191099
- if (c === $chanNil) {
191100
- $panic(new $String("os/signal: Notify using nil channel"));
191101
- }
191102
- $r = handlers.Mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191103
- $deferred.push([$methodVal(handlers.Mutex, "Unlock"), []]);
191104
- h[0] = (_entry = $mapIndex(handlers.m,chanType.keyFor(c)), _entry !== undefined ? _entry.v : ptrType.nil);
191105
- if (h[0] === ptrType.nil) {
191106
- if (handlers.m === false) {
191107
- handlers.m = new $global.Map();
191108
- }
191109
- h[0] = new handler.ptr(arrayType$1.zero());
191110
- _key = c; (handlers.m || $throwRuntimeError("assignment to entry in nil map")).set(chanType.keyFor(_key), { k: _key, v: h[0] });
191111
- }
191112
- add = (function(h) { return function $b(n) {
191113
- var {n, x, x$1, x$2, x$3, x$4, x$5, $s, $r, $c} = $restore(this, {n});
191114
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191115
- if (n < 0) {
191116
- $s = -1; return;
191117
- }
191118
- /* */ if (!h[0].want(n)) { $s = 1; continue; }
191119
- /* */ $s = 2; continue;
191120
- /* if (!h[0].want(n)) { */ case 1:
191121
- h[0].set(n);
191122
- /* */ if ((x = (x$1 = handlers.ref, ((n < 0 || n >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[n])), (x.$high === 0 && x.$low === 0))) { $s = 3; continue; }
191123
- /* */ $s = 4; continue;
191124
- /* if ((x = (x$1 = handlers.ref, ((n < 0 || n >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[n])), (x.$high === 0 && x.$low === 0))) { */ case 3:
191125
- enableSignal(n);
191126
- $r = watchSignalLoopOnce.Do((function(h) { return function() {
191127
- if (!(watchSignalLoop === $throwNilPointerError)) {
191128
- $go(watchSignalLoop, []);
191129
- }
191130
- }; })(h)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191131
- /* } */ case 4:
191132
- (x$5 = handlers.ref, ((n < 0 || n >= x$5.length) ? ($throwRuntimeError("index out of range"), undefined) : x$5[n] = (x$2 = (x$3 = handlers.ref, ((n < 0 || n >= x$3.length) ? ($throwRuntimeError("index out of range"), undefined) : x$3[n])), x$4 = new $Int64(0, 1), new $Int64(x$2.$high + x$4.$high, x$2.$low + x$4.$low))));
191133
- /* } */ case 2:
191134
- $s = -1; return;
191135
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, n, x, x$1, x$2, x$3, x$4, x$5, $s};return $f;
191136
- }; })(h);
191137
- /* */ if (sig.$length === 0) { $s = 2; continue; }
191138
- /* */ $s = 3; continue;
191139
- /* if (sig.$length === 0) { */ case 2:
191140
- n = 0;
191141
- /* while (true) { */ case 5:
191142
- /* if (!(n < 65)) { break; } */ if(!(n < 65)) { $s = 6; continue; }
191143
- $r = add(n); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191144
- n = n + (1) >> 0;
191145
- $s = 5; continue;
191146
- case 6:
191147
- $s = 4; continue;
191148
- /* } else { */ case 3:
191149
- _ref = sig;
191150
- _i = 0;
191151
- /* while (true) { */ case 8:
191152
- /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 9; continue; }
191153
- s = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
191154
- $r = add(signum(s)); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191155
- _i++;
191156
- $s = 8; continue;
191157
- case 9:
191158
- /* } */ case 4:
191159
- $s = -1; return;
191160
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Notify, $c: true, $r, _entry, _i, _key, _ref, add, c, h, n, s, sig, $s, $deferred};return $f; } }
191161
- };
191162
- $pkg.Notify = Notify;
191163
- signal_enable = function(param) {
191164
- var param;
191165
- };
191166
- loop = function() {
191167
- };
191168
- ptrType.methods = [{prop: "want", name: "want", pkg: "os/signal", typ: $funcType([$Int], [$Bool], false)}, {prop: "set", name: "set", pkg: "os/signal", typ: $funcType([$Int], [], false)}, {prop: "clear", name: "clear", pkg: "os/signal", typ: $funcType([$Int], [], false)}];
191169
- stopping.init("os/signal", [{prop: "c", name: "c", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "h", name: "h", embedded: false, exported: false, typ: ptrType, tag: ""}]);
191170
- handler.init("os/signal", [{prop: "mask", name: "mask", embedded: false, exported: false, typ: arrayType$1, tag: ""}]);
191171
- $init = function() {
191172
- $pkg.$init = function() {};
191173
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
191174
- $r = context.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191175
- $r = os.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191176
- $r = sync.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191177
- $r = syscall.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191178
- handlers = new structType.ptr(new sync.Mutex.ptr(0, 0), false, arrayType.zero(), sliceType.nil);
191179
- watchSignalLoopOnce = new sync.Once.ptr(0, new sync.Mutex.ptr(0, 0));
191180
- watchSignalLoop = $throwNilPointerError;
191181
- init();
191182
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
191183
- };
191184
- $pkg.$init = $init;
191185
- return $pkg;
191186
- })();
191187
191117
  $packages["main"] = (function() {
191188
- var $pkg = {}, $init, command, config, errs, render, log, os, signal, path, syscall, time, sliceType, sliceType$1, sliceType$2, main, waitOnStopSignal;
191118
+ var $pkg = {}, $init, command, config, errs, helper, render, log, os, path, time, sliceType, sliceType$1, main;
191189
191119
  command = $packages["github.com/supraio/client-daemon/pkg/command"];
191190
191120
  config = $packages["github.com/supraio/client-daemon/pkg/config"];
191191
191121
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
191122
+ helper = $packages["github.com/supraio/client-daemon/pkg/helper"];
191192
191123
  render = $packages["github.com/supraio/client-daemon/pkg/render"];
191193
191124
  log = $packages["log"];
191194
191125
  os = $packages["os"];
191195
- signal = $packages["os/signal"];
191196
191126
  path = $packages["path"];
191197
- syscall = $packages["syscall"];
191198
191127
  time = $packages["time"];
191199
191128
  sliceType = $sliceType($String);
191200
191129
  sliceType$1 = $sliceType($emptyInterface);
191201
- sliceType$2 = $sliceType(os.Signal);
191202
191130
  main = function() {
191203
191131
  var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _tuple, _tuple$1, cfg, commandHandler, err, err$1, logFile, processInfoManager, screenManager, signalChannel, $s, $deferred, $r, $c} = $restore(this, {});
191204
191132
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
@@ -191268,40 +191196,29 @@ $packages["main"] = (function() {
191268
191196
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$5, err$2, $s};return $f;
191269
191197
  }; })(commandHandler, logFile), []]);
191270
191198
  $r = log.Println(new sliceType$1([new $String("Supra client-daemon started")])); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191271
- $r = waitOnStopSignal(signalChannel); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191199
+ $r = helper.WaitOnStopSignal(signalChannel); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191272
191200
  $r = log.Println(new sliceType$1([new $String("Supra client-daemon is stopping")])); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191273
191201
  $s = -1; return;
191274
191202
  /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: main, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _tuple, _tuple$1, cfg, commandHandler, err, err$1, logFile, processInfoManager, screenManager, signalChannel, $s, $deferred};return $f; } }
191275
191203
  };
191276
- waitOnStopSignal = function(signalChannel) {
191277
- var {_r, sig, signalChannel, $s, $r, $c} = $restore(this, {signalChannel});
191278
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191279
- $r = signal.Notify(signalChannel, new sliceType$2([new syscall.Signal(2), new syscall.Signal(6)])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191280
- _r = $recv(signalChannel); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191281
- sig = _r[0];
191282
- $r = log.Printf("Signal %s received.\n", new sliceType$1([sig])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191283
- $s = -1; return;
191284
- /* */ } return; } var $f = {$blk: waitOnStopSignal, $c: true, $r, _r, sig, signalChannel, $s};return $f;
191285
- };
191286
191204
  $init = function() {
191287
191205
  $pkg.$init = function() {};
191288
191206
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
191289
191207
  $r = command.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191290
191208
  $r = config.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191291
191209
  $r = errs.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191292
- $r = render.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191293
- $r = log.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191294
- $r = os.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191295
- $r = signal.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191210
+ $r = helper.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191211
+ $r = render.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191212
+ $r = log.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191213
+ $r = os.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191296
191214
  $r = path.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191297
- $r = syscall.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191298
- $r = time.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191299
- /* */ if ($pkg === $mainPkg) { $s = 11; continue; }
191300
- /* */ $s = 12; continue;
191301
- /* if ($pkg === $mainPkg) { */ case 11:
191302
- $r = main(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191215
+ $r = time.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191216
+ /* */ if ($pkg === $mainPkg) { $s = 10; continue; }
191217
+ /* */ $s = 11; continue;
191218
+ /* if ($pkg === $mainPkg) { */ case 10:
191219
+ $r = main(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191303
191220
  $mainFinished = true;
191304
- /* } */ case 12:
191221
+ /* } */ case 11:
191305
191222
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
191306
191223
  };
191307
191224
  $pkg.$init = $init;