2023-12-18 13:12:25 +08:00
'use strict' ;
/* global WebSocket */
/ * e s l i n t - d i s a b l e
no - unused - vars
* /
2024-01-16 21:26:16 +08:00
function _typeof ( obj ) { "@babel/helpers - typeof" ; if ( typeof Symbol === "function" && typeof Symbol . iterator === "symbol" ) { _typeof = function _typeof ( obj ) { return typeof obj ; } ; } else { _typeof = function _typeof ( obj ) { return obj && typeof Symbol === "function" && obj . constructor === Symbol && obj !== Symbol . prototype ? "symbol" : typeof obj ; } ; } return _typeof ( obj ) ; }
2023-12-18 13:12:25 +08:00
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( "Cannot call a class as a function" ) ; } }
function _defineProperties ( target , props ) { for ( var i = 0 ; i < props . length ; i ++ ) { var descriptor = props [ i ] ; descriptor . enumerable = descriptor . enumerable || false ; descriptor . configurable = true ; if ( "value" in descriptor ) descriptor . writable = true ; Object . defineProperty ( target , descriptor . key , descriptor ) ; } }
function _createClass ( Constructor , protoProps , staticProps ) { if ( protoProps ) _defineProperties ( Constructor . prototype , protoProps ) ; if ( staticProps ) _defineProperties ( Constructor , staticProps ) ; return Constructor ; }
2024-01-16 21:26:16 +08:00
function _inherits ( subClass , superClass ) { if ( typeof superClass !== "function" && superClass !== null ) { throw new TypeError ( "Super expression must either be null or a function" ) ; } subClass . prototype = Object . create ( superClass && superClass . prototype , { constructor : { value : subClass , writable : true , configurable : true } } ) ; if ( superClass ) _setPrototypeOf ( subClass , superClass ) ; }
function _setPrototypeOf ( o , p ) { _setPrototypeOf = Object . setPrototypeOf || function _setPrototypeOf ( o , p ) { o . _ _proto _ _ = p ; return o ; } ; return _setPrototypeOf ( o , p ) ; }
function _createSuper ( Derived ) { var hasNativeReflectConstruct = _isNativeReflectConstruct ( ) ; return function _createSuperInternal ( ) { var Super = _getPrototypeOf ( Derived ) , result ; if ( hasNativeReflectConstruct ) { var NewTarget = _getPrototypeOf ( this ) . constructor ; result = Reflect . construct ( Super , arguments , NewTarget ) ; } else { result = Super . apply ( this , arguments ) ; } return _possibleConstructorReturn ( this , result ) ; } ; }
2023-12-18 13:12:25 +08:00
function _possibleConstructorReturn ( self , call ) { if ( call && ( _typeof ( call ) === "object" || typeof call === "function" ) ) { return call ; } return _assertThisInitialized ( self ) ; }
function _assertThisInitialized ( self ) { if ( self === void 0 ) { throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ; } return self ; }
2024-01-16 21:26:16 +08:00
function _isNativeReflectConstruct ( ) { if ( typeof Reflect === "undefined" || ! Reflect . construct ) return false ; if ( Reflect . construct . sham ) return false ; if ( typeof Proxy === "function" ) return true ; try { Date . prototype . toString . call ( Reflect . construct ( Date , [ ] , function ( ) { } ) ) ; return true ; } catch ( e ) { return false ; } }
2023-12-18 13:12:25 +08:00
2024-01-16 21:26:16 +08:00
function _getPrototypeOf ( o ) { _getPrototypeOf = Object . setPrototypeOf ? Object . getPrototypeOf : function _getPrototypeOf ( o ) { return o . _ _proto _ _ || Object . getPrototypeOf ( o ) ; } ; return _getPrototypeOf ( o ) ; }
2023-12-18 13:12:25 +08:00
var BaseClient = require ( './BaseClient' ) ;
2024-01-16 21:26:16 +08:00
module . exports = /*#__PURE__*/ function ( _BaseClient ) {
2023-12-18 13:12:25 +08:00
_inherits ( WebsocketClient , _BaseClient ) ;
2024-01-16 21:26:16 +08:00
var _super = _createSuper ( WebsocketClient ) ;
2023-12-18 13:12:25 +08:00
function WebsocketClient ( url ) {
var _this ;
_classCallCheck ( this , WebsocketClient ) ;
2024-01-16 21:26:16 +08:00
_this = _super . call ( this ) ;
2023-12-18 13:12:25 +08:00
_this . client = new WebSocket ( url . replace ( /^http/ , 'ws' ) ) ;
_this . client . onerror = function ( err ) { // TODO: use logger to log the error event once client and client-src
// are reorganized to have the same directory structure
} ;
return _this ;
}
_createClass ( WebsocketClient , [ {
key : "onOpen" ,
value : function onOpen ( f ) {
this . client . onopen = f ;
}
} , {
key : "onClose" ,
value : function onClose ( f ) {
this . client . onclose = f ;
} // call f with the message string as the first argument
} , {
key : "onMessage" ,
value : function onMessage ( f ) {
this . client . onmessage = function ( e ) {
f ( e . data ) ;
} ;
}
} ] , [ {
key : "getClientPath" ,
value : function getClientPath ( options ) {
return require . resolve ( './WebsocketClient' ) ;
}
} ] ) ;
return WebsocketClient ;
} ( BaseClient ) ;