@jibb-open/jssdk 3.17.7 → 3.18.2

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.
package/types/proto.js CHANGED
@@ -1 +1,5 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.types=exports.meeting=exports.ipsa=exports.cilix=void 0;const root=require("./jibb.pb.js"),ipsa=exports.ipsa=root.lookup("jibb.ipsa.v1"),types=exports.types=root.lookup("types"),cilix=exports.cilix=root.lookup("cilix"),meeting=exports.meeting=root.lookup("meeting");
1
+ import root from "./jibb.pb.js";
2
+ export const ipsa = root.jibb.ipsa.v1;
3
+ export const types = root.types;
4
+ export const cilix = root.cilix;
5
+ export const meeting = root.meeting;
package/types/types.js CHANGED
@@ -1 +1,167 @@
1
- "use strict";var _jwtDecode=_interopRequireDefault(require("jwt-decode"));Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserType=exports.UserClaims=exports.SkuAction=exports.RenewalTerm=exports.MeetingTypes=exports.MeetingClaims=exports.JibbUser=exports.JibbStarterPack=exports.JibbRoom=exports.JibbPlans=exports.JibbPilot=exports.Action=exports.AccessLevel=void 0,require("core-js/modules/es.weak-map.js"),require("core-js/modules/web.dom-collections.iterator.js");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _classPrivateMethodInitSpec(a,b){_checkPrivateRedeclaration(a,b),b.add(a)}function _classPrivateFieldInitSpec(a,b,c){_checkPrivateRedeclaration(a,b),b.set(a,c)}function _checkPrivateRedeclaration(a,b){if(b.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateFieldGet(b,c){return b.get(_assertClassBrand(b,c))}function _classPrivateFieldSet(b,c,a){return b.set(_assertClassBrand(b,c),a),a}function _assertClassBrand(a,b,c){if("function"==typeof a?a===b:a.has(b))return 3>arguments.length?b:c;throw new TypeError("Private element is not present on this object")}const MeetingTypes=exports.MeetingTypes={DEFAULT:0,WHITEBOARD:1},AccessLevel=exports.AccessLevel={USER:"USER",ADMIN:"ADMIN",SUPERADMIN:"SUPERADMIN"},UserType=exports.UserType={UNKNOWN:0,MEMBER:2,ADMIN:3,OWNER:4},Action=exports.Action={NEW:"NEW",CANCEL:"CANCEL",CHANGE:"CHANGE"},RenewalTerm=exports.RenewalTerm={MANUAL:"0",AUTO:"12"},SkuAction=exports.SkuAction={ADD:"0",MODIFIED:"1",DELETE:"2",NO_CHANGE:"3"};var _billingFrequencies=/*#__PURE__*/new WeakMap,_name=/*#__PURE__*/new WeakMap,_JibbPlan_brand=/*#__PURE__*/new WeakSet;class JibbPlan{constructor(a,b){_classPrivateMethodInitSpec(this,_JibbPlan_brand),_classPrivateFieldInitSpec(this,_billingFrequencies,void 0),_classPrivateFieldInitSpec(this,_name,void 0),_classPrivateFieldSet(_name,this,a),_classPrivateFieldSet(_billingFrequencies,this,new Map),0<b&&_assertClassBrand(_JibbPlan_brand,this,_createBillingFrequencies).call(this,b)}getPlanName(){return _classPrivateFieldGet(_name,this)}getBillingFrequencies(){return _classPrivateFieldGet(_billingFrequencies,this)}}function _createBillingFrequencies(a){for(let b,c=12;c<=a;c++)b="Every ".concat(c," Months"),_classPrivateFieldGet(_billingFrequencies,this).set(b,"".concat(c))}class JibbPilot extends JibbPlan{constructor(){super("JIBB-Pilot",0),super.getBillingFrequencies().set("Every 3 Months","3")}}exports.JibbPilot=JibbPilot;class JibbRoom extends JibbPlan{constructor(){super("JIBB-Room",60)}}exports.JibbRoom=JibbRoom;class JibbUser extends JibbPlan{constructor(){super("JIBB-User",60)}}exports.JibbUser=JibbUser;class JibbStarterPack extends JibbPlan{constructor(){super("JIBB-Starter-Pack",60)}}exports.JibbStarterPack=JibbStarterPack;class JibbPlans{constructor(){this.starterPack=new JibbStarterPack,this.jibbRoom=new JibbRoom,this.jibbUser=new JibbUser,this.jibbPilot=new JibbPilot}getAllPlan(){let a=[this.starterPack,this.jibbRoom,this.jibbUser,this.jibbPilot];return a}getAllPlanNames(){let a=[this.starterPack.getPlanName(),this.jibbRoom.getPlanName(),this.jibbUser.getPlanName(),this.jibbPilot.getPlanName()];return a}getPlan(a){return a===this.starterPack.getPlanName()?this.starterPack:a===this.jibbRoom.getPlanName()?this.jibbRoom:a===this.jibbUser.getPlanName()?this.jibbUser:a===this.jibbPilot.getPlanName()?this.jibbPilot:void 0}}exports.JibbPlans=JibbPlans;class StandardClaims{constructor(a){this.token=a,this.claims=(0,_jwtDecode.default)(a),this.expiryTime=new Date(1e3*this.claims.exp)}getSecondsUntilExpiry(){let a=this.expiryTime-Date.now();return 0>a?0:a}getHoursUntilExpiry(){let a=this.getSecondsUntilExpiry();return Math.floor(a/3600)}isExpired(){return 60>=this.getSecondsUntilExpiry()}}class MeetingClaims extends StandardClaims{constructor(a){super(a),this.ownerId=this.claims.data.owner_id,this.meetindId=this.claims.data.meeting_id,this.title=this.claims.data.title,this.capacity=this.claims.data.capacity,this.permission=this.claims.data.permission,this.isTemporary=this.claims.data.is_temporary}}exports.MeetingClaims=MeetingClaims;class UserClaims extends StandardClaims{constructor(a){var b,c,d;super(a),this.email=null===(b=this.claims.data)||void 0===b?void 0:b.email,this.userId=this.claims.sub,this.organizationId=null===(c=this.claims.data)||void 0===c?void 0:c.organization_id,this.organizationName=null===(d=this.claims.data)||void 0===d?void 0:d.organization_name}getUserId(){return this.userId}}exports.UserClaims=UserClaims;
1
+ import "core-js/modules/es.weak-map.js";
2
+ import "core-js/modules/web.dom-collections.iterator.js";
3
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
4
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
5
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
6
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
7
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
8
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
9
+ import jwt_decode from "jwt-decode";
10
+ export const MeetingTypes = {
11
+ DEFAULT: 0,
12
+ WHITEBOARD: 1
13
+ };
14
+ export const AccessLevel = {
15
+ USER: "USER",
16
+ ADMIN: "ADMIN",
17
+ SUPERADMIN: "SUPERADMIN"
18
+ };
19
+ export const UserType = {
20
+ UNKNOWN: 0,
21
+ MEMBER: 2,
22
+ ADMIN: 3,
23
+ OWNER: 4
24
+ };
25
+ export const Action = {
26
+ NEW: "NEW",
27
+ CANCEL: "CANCEL",
28
+ CHANGE: "CHANGE"
29
+ };
30
+ export const RenewalTerm = {
31
+ MANUAL: "0",
32
+ AUTO: "12"
33
+ };
34
+ export const SkuAction = {
35
+ ADD: "0",
36
+ MODIFIED: "1",
37
+ DELETE: "2",
38
+ NO_CHANGE: "3"
39
+ };
40
+ var _billingFrequencies = /*#__PURE__*/new WeakMap();
41
+ var _name = /*#__PURE__*/new WeakMap();
42
+ var _JibbPlan_brand = /*#__PURE__*/new WeakSet();
43
+ class JibbPlan {
44
+ constructor(name, count) {
45
+ _classPrivateMethodInitSpec(this, _JibbPlan_brand);
46
+ _classPrivateFieldInitSpec(this, _billingFrequencies, void 0);
47
+ _classPrivateFieldInitSpec(this, _name, void 0);
48
+ _classPrivateFieldSet(_name, this, name);
49
+ _classPrivateFieldSet(_billingFrequencies, this, new Map());
50
+ if (count > 0) {
51
+ _assertClassBrand(_JibbPlan_brand, this, _createBillingFrequencies).call(this, count);
52
+ }
53
+ }
54
+ getPlanName() {
55
+ return _classPrivateFieldGet(_name, this);
56
+ }
57
+ getBillingFrequencies() {
58
+ return _classPrivateFieldGet(_billingFrequencies, this);
59
+ }
60
+ }
61
+ function _createBillingFrequencies(month) {
62
+ for (let i = 12; i <= month; i++) {
63
+ let text = "Every ".concat(i, " Months");
64
+ _classPrivateFieldGet(_billingFrequencies, this).set(text, "".concat(i));
65
+ }
66
+ }
67
+ export class JibbPilot extends JibbPlan {
68
+ constructor() {
69
+ super("JIBB-Pilot", 0);
70
+ super.getBillingFrequencies().set('Every 3 Months', "3");
71
+ }
72
+ }
73
+ export class JibbRoom extends JibbPlan {
74
+ constructor() {
75
+ super("JIBB-Room", 60);
76
+ }
77
+ }
78
+ export class JibbUser extends JibbPlan {
79
+ constructor() {
80
+ super("JIBB-User", 60);
81
+ }
82
+ }
83
+ export class JibbStarterPack extends JibbPlan {
84
+ constructor() {
85
+ super("JIBB-Starter-Pack", 60);
86
+ }
87
+ }
88
+ export class JibbPlans {
89
+ constructor() {
90
+ this.starterPack = new JibbStarterPack();
91
+ this.jibbRoom = new JibbRoom();
92
+ this.jibbUser = new JibbUser();
93
+ this.jibbPilot = new JibbPilot();
94
+ }
95
+ getAllPlan() {
96
+ let pList = [];
97
+ pList.push(this.starterPack);
98
+ pList.push(this.jibbRoom);
99
+ pList.push(this.jibbUser);
100
+ pList.push(this.jibbPilot);
101
+ return pList;
102
+ }
103
+ getAllPlanNames() {
104
+ let pList = [];
105
+ pList.push(this.starterPack.getPlanName());
106
+ pList.push(this.jibbRoom.getPlanName());
107
+ pList.push(this.jibbUser.getPlanName());
108
+ pList.push(this.jibbPilot.getPlanName());
109
+ return pList;
110
+ }
111
+ getPlan(planName) {
112
+ switch (planName) {
113
+ case this.starterPack.getPlanName():
114
+ return this.starterPack;
115
+ case this.jibbRoom.getPlanName():
116
+ return this.jibbRoom;
117
+ case this.jibbUser.getPlanName():
118
+ return this.jibbUser;
119
+ case this.jibbPilot.getPlanName():
120
+ return this.jibbPilot;
121
+ default:
122
+ return undefined;
123
+ }
124
+ }
125
+ }
126
+ class StandardClaims {
127
+ constructor(token) {
128
+ this.token = token;
129
+ this.claims = jwt_decode(token);
130
+ this.expiryTime = new Date(this.claims.exp * 1000);
131
+ }
132
+ getSecondsUntilExpiry() {
133
+ let sec = this.expiryTime - Date.now();
134
+ return sec < 0 ? 0 : sec;
135
+ }
136
+ getHoursUntilExpiry() {
137
+ let sec = this.getSecondsUntilExpiry();
138
+ return Math.floor(sec / 3600);
139
+ }
140
+ isExpired() {
141
+ return this.getSecondsUntilExpiry() <= 60;
142
+ }
143
+ }
144
+ export class MeetingClaims extends StandardClaims {
145
+ constructor(token) {
146
+ super(token);
147
+ this.ownerId = this.claims.data.owner_id;
148
+ this.meetindId = this.claims.data.meeting_id;
149
+ this.title = this.claims.data.title;
150
+ this.capacity = this.claims.data.capacity;
151
+ this.permission = this.claims.data.permission;
152
+ this.isTemporary = this.claims.data.is_temporary;
153
+ }
154
+ }
155
+ export class UserClaims extends StandardClaims {
156
+ constructor(token) {
157
+ var _this$claims$data, _this$claims$data2, _this$claims$data3;
158
+ super(token);
159
+ this.email = (_this$claims$data = this.claims.data) === null || _this$claims$data === void 0 ? void 0 : _this$claims$data.email;
160
+ this.userId = this.claims.sub;
161
+ this.organizationId = (_this$claims$data2 = this.claims.data) === null || _this$claims$data2 === void 0 ? void 0 : _this$claims$data2.organization_id;
162
+ this.organizationName = (_this$claims$data3 = this.claims.data) === null || _this$claims$data3 === void 0 ? void 0 : _this$claims$data3.organization_name;
163
+ }
164
+ getUserId() {
165
+ return this.userId;
166
+ }
167
+ }
@@ -1 +1,18 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CachedVariable=void 0;class CachedVariable{constructor(){let a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:60;this.value=null,this.expirySeconds=a,this.expiryTime=Date.now()}isExpired(){return null==this.value||Date.now()>this.expiryTime}get(){return this.isExpired()?void 0:this.value}set(a){this.value=a,this.expiryTime=Date.now()+1e3*this.expirySeconds}}exports.CachedVariable=CachedVariable;
1
+ export class CachedVariable {
2
+ constructor() {
3
+ let expirySeconds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 60;
4
+ this.value = null;
5
+ this.expirySeconds = expirySeconds;
6
+ this.expiryTime = Date.now();
7
+ }
8
+ isExpired() {
9
+ return this.value == null || Date.now() > this.expiryTime;
10
+ }
11
+ get() {
12
+ if (this.isExpired()) return undefined;else return this.value;
13
+ }
14
+ set(value) {
15
+ this.value = value;
16
+ this.expiryTime = Date.now() + this.expirySeconds * 1000;
17
+ }
18
+ }
package/utils/future.js CHANGED
@@ -1 +1,24 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Future=void 0,require("core-js/modules/es.promise.js");class Future{constructor(){let a=this;this.resolve=void 0,this.reject=void 0,this.promise=new Promise((b,c)=>{a.resolve=b,a.reject=c}),this.promise.catch(()=>{})}get(){return this.promise}reject(a){this.reject(a)}set(a){this.resolve(a)}}exports.Future=Future;
1
+ import "core-js/modules/es.promise.js";
2
+ export class Future {
3
+ constructor() {
4
+ let self = this;
5
+ this.resolve = undefined;
6
+ this.reject = undefined;
7
+ this.promise = new Promise((resolve, reject) => {
8
+ self.resolve = resolve;
9
+ self.reject = reject;
10
+ });
11
+ this.promise.catch(() => {
12
+ return undefined;
13
+ });
14
+ }
15
+ get() {
16
+ return this.promise;
17
+ }
18
+ reject(val) {
19
+ this.reject(val);
20
+ }
21
+ set(val) {
22
+ this.resolve(val);
23
+ }
24
+ }
@@ -1 +1,38 @@
1
- "use strict";var _axios=_interopRequireDefault(require("axios"));require("core-js/modules/es.global-this.js"),require("core-js/modules/es.promise.js");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}class HttpClient{async get(a,b){let c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};return c.headers=b,_axios.default.get(a,c)}async post(a){let b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{},c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{};return _axios.default.post(a,b,{headers:c})}async patch(a){let b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{},c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{};return _axios.default.patch(a,b,{headers:c})}async put(a){let b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{},c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{};return _axios.default.put(a,b,{headers:c})}async delete(a){let b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};return _axios.default.delete(a,{headers:b})}}globalThis.http=new HttpClient;
1
+ import "core-js/modules/es.global-this.js";
2
+ import "core-js/modules/es.promise.js";
3
+ import axios from "axios";
4
+ class HttpClient {
5
+ async get(url, headers) {
6
+ let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
7
+ options.headers = headers;
8
+ return axios.get(url, options);
9
+ }
10
+ async post(url) {
11
+ let body = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
12
+ let headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
13
+ return axios.post(url, body, {
14
+ headers: headers
15
+ });
16
+ }
17
+ async patch(url) {
18
+ let body = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
19
+ let headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
20
+ return axios.patch(url, body, {
21
+ headers: headers
22
+ });
23
+ }
24
+ async put(url) {
25
+ let body = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
26
+ let headers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
27
+ return axios.put(url, body, {
28
+ headers: headers
29
+ });
30
+ }
31
+ async delete(url) {
32
+ let headers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
33
+ return axios.delete(url, {
34
+ headers: headers
35
+ });
36
+ }
37
+ }
38
+ globalThis.http = new HttpClient();
@@ -1 +1,9 @@
1
- "use strict";require("core-js/modules/es.weak-map.js"),require("core-js/modules/web.dom-collections.iterator.js"),Object.defineProperty(exports,"__esModule",{value:!0}),exports.initAxios=exports.http=void 0,require("core-js/modules/es.global-this.js"),require("core-js/modules/es.promise.js");function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(b,c){if(!c&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var d=_getRequireWildcardCache(c);if(d&&d.has(b))return d.get(b);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in b)if("default"!=a&&{}.hasOwnProperty.call(b,a)){var g=f?Object.getOwnPropertyDescriptor(b,a):null;g&&(g.get||g.set)?Object.defineProperty(e,a,g):e[a]=b[a]}return e.default=b,d&&d.set(b,e),e}let http=exports.http=globalThis.http;const initAxios=()=>{Promise.resolve().then(()=>_interopRequireWildcard(require("./http.axios.js"))).then(()=>{exports.http=http=globalThis.http})};exports.initAxios=initAxios;
1
+ import "core-js/modules/es.global-this.js";
2
+ import "core-js/modules/es.promise.js";
3
+ let http = globalThis.http;
4
+ const initAxios = () => {
5
+ import("./http.axios.js").then(() => {
6
+ http = globalThis.http;
7
+ });
8
+ };
9
+ export { http, initAxios };
package/utils/index.js CHANGED
@@ -1 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _logger=require("./logger.js"),_default=exports.default={logger:_logger.logger};
1
+ import { logger } from './logger.js';
2
+ export default {
3
+ logger
4
+ };
@@ -1 +1,9 @@
1
- "use strict";var _loggerEmpty=require("./logger.empty.js");Object.defineProperty(exports,"__esModule",{value:!0}),exports.logger=exports.initPinoLogger=void 0,require("core-js/modules/es.promise.js"),require("core-js/modules/es.weak-map.js"),require("core-js/modules/web.dom-collections.iterator.js");function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(b,c){if(!c&&b&&b.__esModule)return b;if(null===b||"object"!=typeof b&&"function"!=typeof b)return{default:b};var d=_getRequireWildcardCache(c);if(d&&d.has(b))return d.get(b);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in b)if("default"!=a&&{}.hasOwnProperty.call(b,a)){var g=f?Object.getOwnPropertyDescriptor(b,a):null;g&&(g.get||g.set)?Object.defineProperty(e,a,g):e[a]=b[a]}return e.default=b,d&&d.set(b,e),e}let logger=exports.logger=_loggerEmpty.logger;const initPinoLogger=()=>{Promise.resolve().then(()=>_interopRequireWildcard(require("./logger.pino.js"))).then(a=>{exports.logger=logger=a.logger})};exports.initPinoLogger=initPinoLogger;
1
+ import "core-js/modules/es.promise.js";
2
+ import { logger as emptyLogger } from "./logger.empty.js";
3
+ let logger = emptyLogger;
4
+ const initPinoLogger = () => {
5
+ import("./logger.pino.js").then(exports => {
6
+ logger = exports.logger;
7
+ });
8
+ };
9
+ export { logger, initPinoLogger };
@@ -1 +1,9 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.logger=void 0;class EmptyLoggerr{error(){}debug(){}warn(){}info(){}setLevel(){}}let logger=exports.logger=new EmptyLoggerr;
1
+ class EmptyLoggerr {
2
+ error() {}
3
+ debug() {}
4
+ warn() {}
5
+ info() {}
6
+ setLevel() {}
7
+ }
8
+ let logger = new EmptyLoggerr();
9
+ export { logger };
@@ -1 +1,12 @@
1
- "use strict";var _pino=_interopRequireDefault(require("pino"));Object.defineProperty(exports,"__esModule",{value:!0}),exports.logger=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}let logger=exports.logger=new _pino.default({browser:{asObject:!1},timestamp:!1,level:"warn"});logger.setLevel=a=>{logger.level=a};
1
+ import Pino from "pino";
2
+ let logger = new Pino({
3
+ browser: {
4
+ asObject: false
5
+ },
6
+ timestamp: false,
7
+ level: "warn"
8
+ });
9
+ logger.setLevel = level => {
10
+ logger.level = level;
11
+ };
12
+ export { logger };
@@ -1 +1,125 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConnectionStatus=exports.ConnectionBase=void 0,require("core-js/modules/es.promise.js"),require("core-js/modules/es.weak-map.js"),require("core-js/modules/web.dom-collections.iterator.js");var _index=require("../utils/logger/index.js"),_future=require("../utils/future.js"),_proto=require("../types/proto.js"),_exceptions=require("../types/exceptions.js");function _classPrivateFieldInitSpec(a,b,c){_checkPrivateRedeclaration(a,b),b.set(a,c)}function _checkPrivateRedeclaration(a,b){if(b.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateFieldGet(b,c){return b.get(_assertClassBrand(b,c))}function _classPrivateFieldSet(b,c,a){return b.set(_assertClassBrand(b,c),a),a}function _assertClassBrand(a,b,c){if("function"==typeof a?a===b:a.has(b))return 3>arguments.length?b:c;throw new TypeError("Private element is not present on this object")}const ErrorCode=_proto.types.Code,ConnectionStatus=exports.ConnectionStatus={CONNECTED:"CONNECTED",DISCONNECTED:"DISCONNECTED",CONNECTING:"CONNECTING"};var _connectionStatus=/*#__PURE__*/new WeakMap,_connectionFuture=/*#__PURE__*/new WeakMap,_socket=/*#__PURE__*/new WeakMap;class ConnectionBase{constructor(a){_classPrivateFieldInitSpec(this,_connectionStatus,void 0),_classPrivateFieldInitSpec(this,_connectionFuture,void 0),_classPrivateFieldInitSpec(this,_socket,void 0),this.name=a,_classPrivateFieldSet(_connectionStatus,this,ConnectionStatus.DISCONNECTED),_classPrivateFieldSet(_connectionFuture,this,new _future.Future),_classPrivateFieldGet(_connectionFuture,this).reject("disconnected"),_classPrivateFieldSet(_socket,this,null)}async connect(){if(null==_classPrivateFieldGet(_socket,this)){_index.logger.info("".concat(this.name,": connecting ...")),_classPrivateFieldSet(_connectionStatus,this,ConnectionStatus.CONNECTING),_classPrivateFieldSet(_connectionFuture,this,new _future.Future);let a=await this.getURI();_classPrivateFieldSet(_socket,this,new WebSocket(a)),_classPrivateFieldGet(_socket,this).binaryType="arraybuffer",_classPrivateFieldGet(_socket,this).addEventListener("open",()=>{this.onConnected()}),_classPrivateFieldGet(_socket,this).addEventListener("close",()=>{this.onDisconnected()}),_classPrivateFieldGet(_socket,this).addEventListener("message",a=>{this.onData(a.data)}),_classPrivateFieldGet(_socket,this).addEventListener("error",a=>{this.onError(a)})}}async getURI(){throw new Error("connection.getURI is not implemented")}disconnect(){null!=_classPrivateFieldGet(_socket,this)&&(_classPrivateFieldGet(_socket,this).close(),_classPrivateFieldSet(_socket,this,null),_index.logger.info("connection disconnected: ",this.name))}async write(a){var b,c;await this.waitForConnection(),null===(b=_classPrivateFieldGet(_socket,this))||void 0===b||null===(c=b.send)||void 0===c||c.call(b,a)}parseJSONResponse(a){try{let{code:b,reason:c}=JSON.parse(a);return b===ErrorCode.ERR_TOO_MANY_CONNECTIONS?this.onError(new _exceptions.TooManyConnectionsError(c)):b===ErrorCode.ERR_UNAUTHORIZED?this.onError(new _exceptions.PermissionDeniedError(c)):b===ErrorCode.ERR_BAD_REQUEST?(this.stop(),this.onError(new _exceptions.InvalidArgumentError(c))):b===ErrorCode.ERR_TIMEOUT?this.onError(new _exceptions.SessionTimeoutError(c)):b===ErrorCode.ERR_INTERNAL?this.onError(new _exceptions.InternalError(b,c)):this.onError(new _exceptions.GenericError(b,c))}catch(a){this.onError(a)}}getBufferedAmount(){return _classPrivateFieldGet(_socket,this)?_classPrivateFieldGet(_socket,this).bufferedAmount:0}onConnected(){_index.logger.info("".concat(this.name,": connected")),_classPrivateFieldSet(_connectionStatus,this,ConnectionStatus.CONNECTED),_classPrivateFieldGet(_connectionFuture,this).set("connected")}onDisconnected(){null!=_classPrivateFieldGet(_socket,this)&&(_classPrivateFieldGet(_socket,this).close(),_classPrivateFieldSet(_socket,this,null),_index.logger.info("connection disconnected: ",this.name)),_index.logger.warn("".concat(this.name,": disconnected")),_classPrivateFieldSet(_connectionStatus,this,ConnectionStatus.DISCONNECTED),_classPrivateFieldGet(_connectionFuture,this).reject("disconnected")}isConnected(){return _classPrivateFieldGet(_connectionStatus,this)==ConnectionStatus.CONNECTED}waitForConnection(){return _classPrivateFieldGet(_connectionFuture,this).get()}getConnectionStatus(){return _classPrivateFieldGet(_connectionStatus,this)}onData(){}onError(a){_index.logger.warn("".concat(this.name,": onError: ").concat(a))}}exports.ConnectionBase=ConnectionBase;
1
+ import "core-js/modules/es.promise.js";
2
+ import "core-js/modules/es.weak-map.js";
3
+ import "core-js/modules/web.dom-collections.iterator.js";
4
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
5
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
6
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
7
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
8
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
9
+ import { logger } from "../utils/logger/index.js";
10
+ import { Future } from "../utils/future.js";
11
+ import { types } from "../types/proto.js";
12
+ import { TooManyConnectionsError, PermissionDeniedError, InvalidArgumentError, SessionTimeoutError, InternalError, GenericError } from "../types/exceptions.js";
13
+ const ErrorCode = types.Code;
14
+ export const ConnectionStatus = {
15
+ CONNECTED: "CONNECTED",
16
+ DISCONNECTED: "DISCONNECTED",
17
+ CONNECTING: "CONNECTING"
18
+ };
19
+ var _connectionStatus = /*#__PURE__*/new WeakMap();
20
+ var _connectionFuture = /*#__PURE__*/new WeakMap();
21
+ var _socket = /*#__PURE__*/new WeakMap();
22
+ export class ConnectionBase {
23
+ constructor(name) {
24
+ _classPrivateFieldInitSpec(this, _connectionStatus, void 0);
25
+ _classPrivateFieldInitSpec(this, _connectionFuture, void 0);
26
+ _classPrivateFieldInitSpec(this, _socket, void 0);
27
+ this.name = name;
28
+ _classPrivateFieldSet(_connectionStatus, this, ConnectionStatus.DISCONNECTED);
29
+ _classPrivateFieldSet(_connectionFuture, this, new Future());
30
+ _classPrivateFieldGet(_connectionFuture, this).reject("disconnected");
31
+ _classPrivateFieldSet(_socket, this, null);
32
+ }
33
+ async connect() {
34
+ if (_classPrivateFieldGet(_socket, this) != null) return;
35
+ logger.info("".concat(this.name, ": connecting ..."));
36
+ _classPrivateFieldSet(_connectionStatus, this, ConnectionStatus.CONNECTING);
37
+ _classPrivateFieldSet(_connectionFuture, this, new Future());
38
+ let uri = await this.getURI();
39
+ _classPrivateFieldSet(_socket, this, new WebSocket(uri));
40
+ _classPrivateFieldGet(_socket, this).binaryType = "arraybuffer";
41
+ _classPrivateFieldGet(_socket, this).addEventListener("open", () => {
42
+ this.onConnected();
43
+ });
44
+ _classPrivateFieldGet(_socket, this).addEventListener("close", () => {
45
+ this.onDisconnected();
46
+ });
47
+ _classPrivateFieldGet(_socket, this).addEventListener("message", event => {
48
+ this.onData(event.data);
49
+ });
50
+ _classPrivateFieldGet(_socket, this).addEventListener("error", err => {
51
+ this.onError(err);
52
+ });
53
+ }
54
+ async getURI() {
55
+ throw new Error("connection.getURI is not implemented");
56
+ }
57
+ disconnect() {
58
+ if (_classPrivateFieldGet(_socket, this) != null) {
59
+ _classPrivateFieldGet(_socket, this).close();
60
+ _classPrivateFieldSet(_socket, this, null);
61
+ logger.info("connection disconnected: ", this.name);
62
+ }
63
+ }
64
+ async write(data) {
65
+ var _classPrivateFieldGet2, _classPrivateFieldGet3;
66
+ await this.waitForConnection();
67
+ (_classPrivateFieldGet2 = _classPrivateFieldGet(_socket, this)) === null || _classPrivateFieldGet2 === void 0 || (_classPrivateFieldGet3 = _classPrivateFieldGet2.send) === null || _classPrivateFieldGet3 === void 0 || _classPrivateFieldGet3.call(_classPrivateFieldGet2, data);
68
+ }
69
+ parseJSONResponse(msg) {
70
+ try {
71
+ let {
72
+ code,
73
+ reason
74
+ } = JSON.parse(msg);
75
+ switch (code) {
76
+ case ErrorCode.ERR_TOO_MANY_CONNECTIONS:
77
+ return this.onError(new TooManyConnectionsError(reason));
78
+ case ErrorCode.ERR_UNAUTHORIZED:
79
+ return this.onError(new PermissionDeniedError(reason));
80
+ case ErrorCode.ERR_BAD_REQUEST:
81
+ this.stop();
82
+ return this.onError(new InvalidArgumentError(reason));
83
+ case ErrorCode.ERR_TIMEOUT:
84
+ return this.onError(new SessionTimeoutError(reason));
85
+ case ErrorCode.ERR_INTERNAL:
86
+ return this.onError(new InternalError(code, reason));
87
+ default:
88
+ return this.onError(new GenericError(code, reason));
89
+ }
90
+ } catch (e) {
91
+ this.onError(e);
92
+ }
93
+ }
94
+ getBufferedAmount() {
95
+ return _classPrivateFieldGet(_socket, this) ? _classPrivateFieldGet(_socket, this).bufferedAmount : 0;
96
+ }
97
+ onConnected() {
98
+ logger.info("".concat(this.name, ": connected"));
99
+ _classPrivateFieldSet(_connectionStatus, this, ConnectionStatus.CONNECTED);
100
+ _classPrivateFieldGet(_connectionFuture, this).set("connected");
101
+ }
102
+ onDisconnected() {
103
+ if (_classPrivateFieldGet(_socket, this) != null) {
104
+ _classPrivateFieldGet(_socket, this).close();
105
+ _classPrivateFieldSet(_socket, this, null);
106
+ logger.info("connection disconnected: ", this.name);
107
+ }
108
+ logger.warn("".concat(this.name, ": disconnected"));
109
+ _classPrivateFieldSet(_connectionStatus, this, ConnectionStatus.DISCONNECTED);
110
+ _classPrivateFieldGet(_connectionFuture, this).reject("disconnected");
111
+ }
112
+ isConnected() {
113
+ return _classPrivateFieldGet(_connectionStatus, this) == ConnectionStatus.CONNECTED;
114
+ }
115
+ waitForConnection() {
116
+ return _classPrivateFieldGet(_connectionFuture, this).get();
117
+ }
118
+ getConnectionStatus() {
119
+ return _classPrivateFieldGet(_connectionStatus, this);
120
+ }
121
+ onData(_data) {}
122
+ onError(err) {
123
+ logger.warn("".concat(this.name, ": onError: ").concat(err));
124
+ }
125
+ }