@ylink-sdk/meeting 0.2.0-beta.7 → 0.2.0

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.
@@ -1 +1 @@
1
- "use strict";const e=e=>encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]");class t{constructor(e){Object.defineProperty(this,"baseURL",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_defaultHeaders",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_beforeRequest",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_errorHandler",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.baseURL=e.baseURL,this._beforeRequest=e.beforeRequest,this._errorHandler=e.error}_request(t){const{url:r="",timeout:o=6e4}=t;let{headers:i={}}=t;return t.url=this.baseURL.replace(/\/+$/,"")+"/"+((t,r)=>{if(!r)return t;const n=[];Object.keys(r).forEach((t=>{const s=r[t];if(null==s)return;let a;Array.isArray(s)?(a=s,t+="[]"):a=[s],a.forEach((r=>{null!==r&&"object"==typeof r&&(r=JSON.stringify(r)),n.push(`${e(t)}=${e(r)}`)}))}));const s=n.join("&");if(s){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+s}return t})(r.replace(/^\/+/,""),t.params),i=Object.assign(i,this._defaultHeaders),Object.keys(i).forEach((e=>{"Content-Type"!==e&&e.toUpperCase()==="Content-Type".toUpperCase()&&(i["Content-Type"]=i[e],delete i[e])})),a(t.data)&&(i&&!i["Content-Type"]&&(i["Content-Type"]="application/json;charset=utf-8"),t.data=JSON.stringify(t.data)),t.headers=i,t.timeout=o,this._beforeRequest&&this._beforeRequest(t),"undefined"!=typeof wx?s(t):n(t)}setDefaultHeader(e,t){e in this._defaultHeaders&&(""===t||null===t)?delete this._defaultHeaders[e]:this._defaultHeaders[e]=t}get(e,t){return this._errorHandler?this._request(Object.assign(t||{},{url:e,method:"GET"})).catch((e=>{throw this._errorHandler&&this._errorHandler(e),e})):this._request(Object.assign(t||{},{url:e,method:"GET"}))}post(e,t,r){return this._errorHandler?this._request(Object.assign(r||{},{url:e,method:"POST",data:t})).catch((e=>{throw this._errorHandler&&this._errorHandler(e),e})):this._request(Object.assign(r||{},{url:e,method:"POST",data:t}))}}class r{constructor(e){let t;Object.defineProperty(this,"promise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.promise=new Promise((e=>{t=e})),e((e=>{this.reason||(this.reason=e,t(this.reason))}))}static source(){let e;const t=new r((t=>{e=t}));return{cancel:e,token:t}}}const n=e=>new Promise(((t,r)=>{const{data:n=null,url:s,method:a="GET",headers:o,cancelToken:i,withResDate:l}=e;let u=new XMLHttpRequest;u.open(a.toUpperCase(),s,!0),u.timeout=e.timeout;const c=()=>{if(u){if(u.status>=200&&u.status<300)try{const e=JSON.parse(u.responseText);l&&(e.responseDate=new Date(u.getResponseHeader("Date")).getTime()),t(e)}catch(e){r(new Error("E_JSON_PARSE"+u.responseText))}else r({url:s,statusCode:u.status});u=null}};"onloadend"in u?u.onloadend=c:u.onreadystatechange=()=>{u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(c)},u.onabort=()=>{u&&(r({url:s,statusCode:u.status,type:"request abort"}),u=null)},u.onerror=()=>{r(new Error("Network Error")),u=null},u.ontimeout=()=>{r(new Error("timeout of "+e.timeout+"ms exceeded")),u=null},"setRequestHeader"in u&&Object.keys(o).forEach((e=>{null===n&&"content-type"===e.toLowerCase()?delete o[e]:u.setRequestHeader(e,o[e])})),i&&i.promise.then((e=>{u&&(u.abort(),r(e),u=null)})),u.send(n)})),s=e=>new Promise(((t,r)=>{const{data:n=null,url:s,method:a="GET",headers:o,cancelToken:i}=e,l=wx.request({url:s,data:n,method:a.toUpperCase(),timeout:e.timeout,header:o,success(e){e.statusCode>=200&&e.statusCode<300?t(e.data):r({url:s,statusCode:e.statusCode})},fail(e){r("request:fail abort"===e.errMsg&&i&&i.reason||e)}});i&&i.promise.then((()=>{l&&l.abort()}))})),a=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};function o(e,t,r,n){return new(r||(r=Promise))((function(s,a){function o(e){try{l(n.next(e))}catch(t){a(t)}}function i(e){try{l(n.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,i)}l((n=n.apply(e,t||[])).next())}))}function i(e,t,r){return o(this,void 0,void 0,(function*(){const{inboxes:n,clientID:s,meetingID:a,cancelToken:l,status:u}=t;yield(()=>o(this,void 0,void 0,(function*(){const t=yield e.post("/ypush/api/v1/meeting-control/polling",{basic:{tenantId:100,clientId:s,meetingId:a},inboxes:n},{cancelToken:l,withResDate:!0});if(!t||!t.data)return;const{data:o={}}=t;Object.keys(o).forEach((e=>{const t=n.find((t=>t.name===e));if(t){if(t.seqId=o[e].maxSeqId,!o[e].items)return;o[e].items.forEach((e=>{const t=JSON.parse(e.content);["liveStream","recording"].includes(t.event)&&(t.stime=e.stime),r(t)}))}}))})))(),u.running&&(u.timer=setTimeout((()=>{u.running&&i(e,t,r)}),200))}))}const l=self;let u,c=r.source(),d="",p="",h="";const f={running:!1,timer:null};function b(e){u=new t({baseURL:d}),f.running=!0,i(u,{inboxes:e,clientID:p,meetingID:h,cancelToken:c.token,status:f},(e=>{l.postMessage(e)})),l.postMessage("pollingStarted")}function m(){f.running=!1,f.timer&&(clearTimeout(f.timer),f.timer=null),c.cancel(),c=r.source(),l.postMessage("pollingStopped")}l.addEventListener("message",(e=>{"baseURL"in e.data&&(d=e.data.baseURL),"clientID"in e.data&&(p=e.data.clientID),"meetingID"in e.data&&(h=e.data.meetingID);const{inboxes:t=[]}=e.data;"rePolling"in e.data&&(m(),b(t)),"status"in e.data&&(e.data.status?b(t):m())}),!1);
1
+ "use strict";const e=e=>encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]");class t{constructor(e){Object.defineProperty(this,"baseURL",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_defaultHeaders",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_beforeRequest",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_errorHandler",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.baseURL=e.baseURL,this._beforeRequest=e.beforeRequest,this._errorHandler=e.error}_request(t){const{timeout:r=18e5}=t;let{headers:l={}}=t;return t.url=i(this.baseURL,t.url||""),t.url=((t,r)=>{if(!r)return t;const n=[];Object.keys(r).forEach((t=>{const s=r[t];if(null==s)return;let o;Array.isArray(s)?(o=s,t+="[]"):o=[s],o.forEach((r=>{null!==r&&"object"==typeof r&&(r=JSON.stringify(r)),n.push(`${e(t)}=${e(r)}`)}))}));const s=n.join("&");if(s){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+s}return t})(t.url,t.params),l=Object.assign(l,this._defaultHeaders),Object.keys(l).forEach((e=>{"Content-Type"!==e&&e.toUpperCase()==="Content-Type".toUpperCase()&&(l["Content-Type"]=l[e],delete l[e])})),o(t.data)&&(t.data=t.data.buffer),a(t.data)&&(l&&!l["Content-Type"]&&(l["Content-Type"]="application/json;charset=utf-8"),t.data=JSON.stringify(t.data)),t.headers=l,t.timeout=r,this._beforeRequest&&this._beforeRequest(t),"undefined"!=typeof wx&&void 0!==wx.request?s(t):n(t)}setDefaultHeader(e,t){e in this._defaultHeaders&&(""===t||null===t)?delete this._defaultHeaders[e]:this._defaultHeaders[e]=t}get(e,t){return this._errorHandler?this._request(Object.assign(t||{},{url:e,method:"GET"})).catch((e=>{throw this._errorHandler&&this._errorHandler(e),e})):this._request(Object.assign(t||{},{url:e,method:"GET"}))}post(e,t,r){return this._errorHandler?this._request(Object.assign(r||{},{url:e,method:"POST",data:t})).catch((e=>{throw this._errorHandler&&this._errorHandler(e),e})):this._request(Object.assign(r||{},{url:e,method:"POST",data:t}))}}class r{constructor(e){let t;Object.defineProperty(this,"promise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.promise=new Promise((e=>{t=e})),e((e=>{this.reason||(this.reason=e,t(this.reason))}))}static source(){let e;const t=new r((t=>{e=t}));return{cancel:e,token:t}}}const n=e=>new Promise(((t,r)=>{const{data:n=null,url:s,method:o="GET",headers:a,cancelToken:i,withResDate:l}=e;let u=new XMLHttpRequest;u.open(o.toUpperCase(),s,!0),u.timeout=e.timeout;const c=()=>{if(u){if(u.status>=200&&u.status<300)try{const e=JSON.parse(u.responseText);l&&(e.responseDate=new Date(u.getResponseHeader("Date")).getTime()),t(e)}catch(e){r(new Error("E_JSON_PARSE"+u.responseText))}else r({url:s,statusCode:u.status});u=null}};"onloadend"in u?u.onloadend=c:u.onreadystatechange=()=>{u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(c)},u.onabort=()=>{u&&(r({url:s,statusCode:u.status,type:"request abort"}),u=null)},u.onerror=()=>{r(new Error("Network Error")),u=null},u.ontimeout=()=>{r(new Error("timeout of "+e.timeout+"ms exceeded")),u=null},"setRequestHeader"in u&&Object.keys(a).forEach((e=>{null===n&&"content-type"===e.toLowerCase()?delete a[e]:u.setRequestHeader(e,a[e])})),i&&i.promise.then((e=>{u&&(u.abort(),r(e),u=null)})),u.send(n)})),s=e=>new Promise(((t,r)=>{const{data:n=null,url:s,method:o="GET",headers:a,cancelToken:i}=e,l=wx.request({url:s,data:n,method:o.toUpperCase(),timeout:e.timeout,header:a,success(e){e.statusCode>=200&&e.statusCode<300?t(e.data):r({url:s,statusCode:e.statusCode})},fail(e){r("request:fail abort"===e.errMsg&&i&&i.reason||e)}});i&&i.promise.then((()=>{l&&l.abort()}))})),o=e=>{let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t},a=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},i=(e,t)=>e&&!/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)?((e,t)=>t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e)(e,t):t;function l(e,t,r,n){return new(r||(r=Promise))((function(s,o){function a(e){try{l(n.next(e))}catch(t){o(t)}}function i(e){try{l(n.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}l((n=n.apply(e,t||[])).next())}))}function u(e,t,r){return l(this,void 0,void 0,(function*(){const{inboxes:n,clientID:s,meetingID:o,cancelToken:a,status:i}=t;if(yield(()=>l(this,void 0,void 0,(function*(){let t;try{t=yield e.post("/ypush/api/v1/meeting-control/polling",{basic:{tenantId:100,clientId:s,meetingId:o},inboxes:n},{cancelToken:a,withResDate:!0})}catch(c){return i.attempts++,void console.error(c)}if(!t)return console.error("polling error: ","response is null"),void i.attempts++;const{data:l={},bizCode:u,error:c}=t;if(u&&900408!==u)return console.error("polling error: ",JSON.stringify(c)),void i.attempts++;i.attempts=0,l&&Object.keys(l).forEach((e=>{const t=n.find((t=>t.name===e));t&&(t.seqId=l[e].maxSeqId,l[e].items&&l[e].items.forEach((e=>{const t=JSON.parse(e.content);["liveStream","recording"].includes(t.event)&&(t.stime=e.stime),r(t)})))}))})))(),!i.running)return;if(i.attempts>c)return console.error("polling Max Attempts"),void(t.onError&&t.onError({message:"Max Attempts"}));const p=i.attempts?d(i.attempts):0;i.timer=setTimeout((()=>{i.running&&u(e,t,r)}),p)}))}const c=5,d=e=>{console.log(`computeNextTimeout attempts: ${e}`);let t=Math.floor(Math.random()*Math.pow(2,e)+1);return t<2&&(t=2),t>30&&(t=30),1e3*t},p=self;let f,h=r.source(),m="",b="",g="";const y={running:!1,attempts:0,timer:null};function w(e){f=new t({baseURL:m}),y.running=!0,u(f,{inboxes:e,clientID:b,meetingID:g,cancelToken:h.token,status:y},(e=>{p.postMessage(e)})),p.postMessage("pollingStarted")}function O(){y.running=!1,y.timer&&(clearTimeout(y.timer),y.timer=null),h.cancel(),h=r.source(),p.postMessage("pollingStopped")}p.addEventListener("message",(e=>{"baseURL"in e.data&&(m=e.data.baseURL),"clientID"in e.data&&(b=e.data.clientID),"meetingID"in e.data&&(g=e.data.meetingID);const{inboxes:t=[]}=e.data;"rePolling"in e.data&&(O(),w(t)),"status"in e.data&&(e.data.status?w(t):O())}),!1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ylink-sdk/meeting",
3
- "version": "0.2.0-beta.7",
3
+ "version": "0.2.0",
4
4
  "description": "Meeting control of yealink",
5
5
  "main": "index.js",
6
6
  "module": "dist/meeting.esm.prod.js",
@@ -25,6 +25,6 @@
25
25
  "workers": ["polling.worker.ts"]
26
26
  },
27
27
  "devDependencies": {
28
- "@ylink-sdk/shared": "workspace:*"
28
+ "@ylink-sdk/shared": "0.2.0-beta.2"
29
29
  }
30
30
  }