@nethesis/phone-island 1.0.10-dev.3 → 1.0.10-dev.5
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/dist/components/CallView/Number.js +1 -1
- package/dist/components/CallView/Number.js.map +1 -1
- package/dist/components/Socket.js +1 -1
- package/dist/components/Socket.js.map +1 -1
- package/dist/node_modules/react-tooltip/dist/react-tooltip.min.mjs.js +1 -1
- package/dist/node_modules/react-tooltip/dist/react-tooltip.min.mjs.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/adapter_factory.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/adapter_factory.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/chrome/getusermedia.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/chrome/getusermedia.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/common_shim.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/common_shim.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/firefox/getdisplaymedia.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/firefox/getdisplaymedia.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/firefox/getusermedia.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/firefox/getusermedia.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/utils.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/utils.js.map +1 -1
- package/dist/package.json.js +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../utils.js"),t=require("./getusermedia.js"),n=require("./getdisplaymedia.js");exports.shimGetUserMedia=t.shimGetUserMedia,exports.shimGetDisplayMedia=n.shimGetDisplayMedia,exports.shimAddTransceiver=function(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../utils.js"),t=require("./getusermedia.js"),n=require("./getdisplaymedia.js");exports.shimGetUserMedia=t.shimGetUserMedia,exports.shimGetDisplayMedia=n.shimGetDisplayMedia,exports.shimAddTransceiver=function(e,t){if("object"!=typeof e||!e.RTCPeerConnection)return;if(t.version>=110)return;const n=e.RTCPeerConnection.prototype.addTransceiver;n&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]),e=[...e];const t=e.length>0;t&&e.forEach((e=>{if("rid"in e){if(!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));const r=n.apply(this,arguments);if(t){const{sender:t}=r,n=t.getParameters();(!("encodings"in n)||1===n.encodings.length&&0===Object.keys(n.encodings[0]).length)&&(n.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(n).then((()=>{delete t.sendEncodings})).catch((()=>{delete t.sendEncodings}))))}return r})},exports.shimCreateAnswer=function(e,t){if("object"!=typeof e||!e.RTCPeerConnection)return;if(t.version>=110)return;const n=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>n.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):n.apply(this,arguments)}},exports.shimCreateOffer=function(e,t){if("object"!=typeof e||!e.RTCPeerConnection)return;if(t.version>=110)return;const n=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>n.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):n.apply(this,arguments)}},exports.shimGetParameters=function(e,t){if("object"!=typeof e||!e.RTCRtpSender)return;if(t.version>=110)return;const n=e.RTCRtpSender.prototype.getParameters;n&&(e.RTCRtpSender.prototype.getParameters=function(){const e=n.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})},exports.shimGetStats=function(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;if(t.version>=151)return;const n={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,o,i]=arguments;return"closed"===this.signalingState?Promise.resolve(new Map):r.apply(this,[e||null]).then((e=>{if(t.version<53&&!o)try{e.forEach((e=>{e.type=n[e.type]||e.type}))}catch(t){if("TypeError"!==t.name)throw t;e.forEach(((t,r)=>{e.set(r,Object.assign({},t,{type:n[t.type]||t.type}))}))}return e})).then(o,i)}},exports.shimOnTrack=function(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})},exports.shimPeerConnection=function(e,t){"object"==typeof e&&(e.RTCPeerConnection||e.mozRTCPeerConnection)&&(!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]})))},exports.shimRTCDataChannel=function(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)},exports.shimReceiverGetStats=function(t){if("object"!=typeof t||!t.RTCPeerConnection||!t.RTCRtpSender)return;if(t.RTCRtpSender&&"getStats"in t.RTCRtpReceiver.prototype)return;const n=t.RTCPeerConnection.prototype.getReceivers;n&&(t.RTCPeerConnection.prototype.getReceivers=function(){const e=n.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),e.wrapPeerConnectionEvent(t,"track",(e=>(e.receiver._pc=e.srcElement,e))),t.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}},exports.shimRemoveStream=function(t){t.RTCPeerConnection&&!("removeStream"in t.RTCPeerConnection.prototype)&&(t.RTCPeerConnection.prototype.removeStream=function(t){e.deprecated("removeStream","removeTrack"),this.getSenders().forEach((e=>{e.track&&t.getTracks().includes(e.track)&&this.removeTrack(e)}))})},exports.shimSenderGetStats=function(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}};
|
|
2
2
|
//# sourceMappingURL=firefox_shim.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firefox_shim.js","sources":["../../../../../../node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js"],"sourcesContent":["/*\n * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n/* eslint-env node */\n'use strict';\n\nimport * as utils from '../utils';\nexport {shimGetUserMedia} from './getusermedia';\nexport {shimGetDisplayMedia} from './getdisplaymedia';\n\nexport function shimOnTrack(window) {\n if (typeof window === 'object' && window.RTCTrackEvent &&\n ('receiver' in window.RTCTrackEvent.prototype) &&\n !('transceiver' in window.RTCTrackEvent.prototype)) {\n Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', {\n get() {\n return {receiver: this.receiver};\n }\n });\n }\n}\n\nexport function shimPeerConnection(window, browserDetails) {\n if (typeof window !== 'object' ||\n !(window.RTCPeerConnection || window.mozRTCPeerConnection)) {\n return; // probably media.peerconnection.enabled=false in about:config\n }\n if (!window.RTCPeerConnection && window.mozRTCPeerConnection) {\n // very basic support for old versions.\n window.RTCPeerConnection = window.mozRTCPeerConnection;\n }\n\n if (browserDetails.version < 53) {\n // shim away need for obsolete RTCIceCandidate/RTCSessionDescription.\n ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n .forEach(function(method) {\n const nativeMethod = window.RTCPeerConnection.prototype[method];\n const methodObj = {[method]() {\n arguments[0] = new ((method === 'addIceCandidate') ?\n window.RTCIceCandidate :\n window.RTCSessionDescription)(arguments[0]);\n return nativeMethod.apply(this, arguments);\n }};\n window.RTCPeerConnection.prototype[method] = methodObj[method];\n });\n }\n}\n\nexport function shimGetStats(window, browserDetails) {\n if (typeof window !== 'object' ||\n !(window.RTCPeerConnection || window.mozRTCPeerConnection)) {\n return; // probably media.peerconnection.enabled=false in about:config\n }\n if (browserDetails.version >= 151) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1056433\n return;\n }\n\n const modernStatsTypes = {\n inboundrtp: 'inbound-rtp',\n outboundrtp: 'outbound-rtp',\n candidatepair: 'candidate-pair',\n localcandidate: 'local-candidate',\n remotecandidate: 'remote-candidate'\n };\n\n const nativeGetStats = window.RTCPeerConnection.prototype.getStats;\n window.RTCPeerConnection.prototype.getStats = function getStats() {\n const [selector, onSucc, onErr] = arguments;\n if (this.signalingState === 'closed') {\n // No longer required in FF151+\n return Promise.resolve(new Map());\n }\n return nativeGetStats.apply(this, [selector || null])\n .then(stats => {\n if (browserDetails.version < 53 && !onSucc) {\n // Shim only promise getStats with spec-hyphens in type names\n // Leave callback version alone; misc old uses of forEach before Map\n try {\n stats.forEach(stat => {\n stat.type = modernStatsTypes[stat.type] || stat.type;\n });\n } catch (e) {\n if (e.name !== 'TypeError') {\n throw e;\n }\n // Avoid TypeError: \"type\" is read-only, in old versions. 34-43ish\n stats.forEach((stat, i) => {\n stats.set(i, Object.assign({}, stat, {\n type: modernStatsTypes[stat.type] || stat.type\n }));\n });\n }\n }\n return stats;\n })\n .then(onSucc, onErr);\n };\n}\n\nexport function shimSenderGetStats(window) {\n if (!(typeof window === 'object' && window.RTCPeerConnection &&\n window.RTCRtpSender)) {\n return;\n }\n if (window.RTCRtpSender && 'getStats' in window.RTCRtpSender.prototype) {\n return;\n }\n const origGetSenders = window.RTCPeerConnection.prototype.getSenders;\n if (origGetSenders) {\n window.RTCPeerConnection.prototype.getSenders = function getSenders() {\n const senders = origGetSenders.apply(this, []);\n senders.forEach(sender => sender._pc = this);\n return senders;\n };\n }\n\n const origAddTrack = window.RTCPeerConnection.prototype.addTrack;\n if (origAddTrack) {\n window.RTCPeerConnection.prototype.addTrack = function addTrack() {\n const sender = origAddTrack.apply(this, arguments);\n sender._pc = this;\n return sender;\n };\n }\n window.RTCRtpSender.prototype.getStats = function getStats() {\n return this.track ? this._pc.getStats(this.track) :\n Promise.resolve(new Map());\n };\n}\n\nexport function shimReceiverGetStats(window) {\n if (!(typeof window === 'object' && window.RTCPeerConnection &&\n window.RTCRtpSender)) {\n return;\n }\n if (window.RTCRtpSender && 'getStats' in window.RTCRtpReceiver.prototype) {\n return;\n }\n const origGetReceivers = window.RTCPeerConnection.prototype.getReceivers;\n if (origGetReceivers) {\n window.RTCPeerConnection.prototype.getReceivers = function getReceivers() {\n const receivers = origGetReceivers.apply(this, []);\n receivers.forEach(receiver => receiver._pc = this);\n return receivers;\n };\n }\n utils.wrapPeerConnectionEvent(window, 'track', e => {\n e.receiver._pc = e.srcElement;\n return e;\n });\n window.RTCRtpReceiver.prototype.getStats = function getStats() {\n return this._pc.getStats(this.track);\n };\n}\n\nexport function shimRemoveStream(window) {\n if (!window.RTCPeerConnection ||\n 'removeStream' in window.RTCPeerConnection.prototype) {\n return;\n }\n window.RTCPeerConnection.prototype.removeStream =\n function removeStream(stream) {\n utils.deprecated('removeStream', 'removeTrack');\n this.getSenders().forEach(sender => {\n if (sender.track && stream.getTracks().includes(sender.track)) {\n this.removeTrack(sender);\n }\n });\n };\n}\n\nexport function shimRTCDataChannel(window) {\n // rename DataChannel to RTCDataChannel (native fix in FF60):\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1173851\n if (window.DataChannel && !window.RTCDataChannel) {\n window.RTCDataChannel = window.DataChannel;\n }\n}\n\nexport function shimAddTransceiver(window) {\n // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647\n // Firefox ignores the init sendEncodings options passed to addTransceiver\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918\n if (!(typeof window === 'object' && window.RTCPeerConnection)) {\n return;\n }\n const origAddTransceiver = window.RTCPeerConnection.prototype.addTransceiver;\n if (origAddTransceiver) {\n window.RTCPeerConnection.prototype.addTransceiver =\n function addTransceiver() {\n this.setParametersPromises = [];\n // WebIDL input coercion and validation\n let sendEncodings = arguments[1] && arguments[1].sendEncodings;\n if (sendEncodings === undefined) {\n sendEncodings = [];\n }\n sendEncodings = [...sendEncodings];\n const shouldPerformCheck = sendEncodings.length > 0;\n if (shouldPerformCheck) {\n // If sendEncodings params are provided, validate grammar\n sendEncodings.forEach((encodingParam) => {\n if ('rid' in encodingParam) {\n const ridRegex = /^[a-z0-9]{0,16}$/i;\n if (!ridRegex.test(encodingParam.rid)) {\n throw new TypeError('Invalid RID value provided.');\n }\n }\n if ('scaleResolutionDownBy' in encodingParam) {\n if (!(parseFloat(encodingParam.scaleResolutionDownBy) >= 1.0)) {\n throw new RangeError('scale_resolution_down_by must be >= 1.0');\n }\n }\n if ('maxFramerate' in encodingParam) {\n if (!(parseFloat(encodingParam.maxFramerate) >= 0)) {\n throw new RangeError('max_framerate must be >= 0.0');\n }\n }\n });\n }\n const transceiver = origAddTransceiver.apply(this, arguments);\n if (shouldPerformCheck) {\n // Check if the init options were applied. If not we do this in an\n // asynchronous way and save the promise reference in a global object.\n // This is an ugly hack, but at the same time is way more robust than\n // checking the sender parameters before and after the createOffer\n // Also note that after the createoffer we are not 100% sure that\n // the params were asynchronously applied so we might miss the\n // opportunity to recreate offer.\n const {sender} = transceiver;\n const params = sender.getParameters();\n if (!('encodings' in params) ||\n // Avoid being fooled by patched getParameters() below.\n (params.encodings.length === 1 &&\n Object.keys(params.encodings[0]).length === 0)) {\n params.encodings = sendEncodings;\n sender.sendEncodings = sendEncodings;\n this.setParametersPromises.push(sender.setParameters(params)\n .then(() => {\n delete sender.sendEncodings;\n }).catch(() => {\n delete sender.sendEncodings;\n })\n );\n }\n }\n return transceiver;\n };\n }\n}\n\nexport function shimGetParameters(window) {\n if (!(typeof window === 'object' && window.RTCRtpSender)) {\n return;\n }\n const origGetParameters = window.RTCRtpSender.prototype.getParameters;\n if (origGetParameters) {\n window.RTCRtpSender.prototype.getParameters =\n function getParameters() {\n const params = origGetParameters.apply(this, arguments);\n if (!('encodings' in params)) {\n params.encodings = [].concat(this.sendEncodings || [{}]);\n }\n return params;\n };\n }\n}\n\nexport function shimCreateOffer(window) {\n // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647\n // Firefox ignores the init sendEncodings options passed to addTransceiver\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918\n if (!(typeof window === 'object' && window.RTCPeerConnection)) {\n return;\n }\n const origCreateOffer = window.RTCPeerConnection.prototype.createOffer;\n window.RTCPeerConnection.prototype.createOffer = function createOffer() {\n if (this.setParametersPromises && this.setParametersPromises.length) {\n return Promise.all(this.setParametersPromises)\n .then(() => {\n return origCreateOffer.apply(this, arguments);\n })\n .finally(() => {\n this.setParametersPromises = [];\n });\n }\n return origCreateOffer.apply(this, arguments);\n };\n}\n\nexport function shimCreateAnswer(window) {\n // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647\n // Firefox ignores the init sendEncodings options passed to addTransceiver\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918\n if (!(typeof window === 'object' && window.RTCPeerConnection)) {\n return;\n }\n const origCreateAnswer = window.RTCPeerConnection.prototype.createAnswer;\n window.RTCPeerConnection.prototype.createAnswer = function createAnswer() {\n if (this.setParametersPromises && this.setParametersPromises.length) {\n return Promise.all(this.setParametersPromises)\n .then(() => {\n return origCreateAnswer.apply(this, arguments);\n })\n .finally(() => {\n this.setParametersPromises = [];\n });\n }\n return origCreateAnswer.apply(this, arguments);\n };\n}\n"],"names":["window","RTCPeerConnection","origAddTransceiver","prototype","addTransceiver","this","setParametersPromises","sendEncodings","arguments","undefined","shouldPerformCheck","length","forEach","encodingParam","test","rid","TypeError","parseFloat","scaleResolutionDownBy","RangeError","maxFramerate","transceiver","apply","sender","params","getParameters","encodings","Object","keys","push","setParameters","then","catch","origCreateAnswer","createAnswer","Promise","all","finally","origCreateOffer","createOffer","RTCRtpSender","origGetParameters","concat","browserDetails","mozRTCPeerConnection","version","modernStatsTypes","inboundrtp","outboundrtp","candidatepair","localcandidate","remotecandidate","nativeGetStats","getStats","selector","onSucc","onErr","signalingState","resolve","Map","stats","stat","type","e","name","i","set","assign","RTCTrackEvent","defineProperty","get","receiver","method","nativeMethod","methodObj","RTCIceCandidate","RTCSessionDescription","DataChannel","RTCDataChannel","RTCRtpReceiver","origGetReceivers","getReceivers","receivers","_pc","utils","srcElement","track","removeStream","stream","getSenders","getTracks","includes","removeTrack","origGetSenders","senders","origAddTrack","addTrack"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firefox_shim.js","sources":["../../../../../../node_modules/webrtc-adapter/src/js/firefox/firefox_shim.js"],"sourcesContent":["/*\n * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n/* eslint-env node */\n'use strict';\n\nimport * as utils from '../utils';\nexport {shimGetUserMedia} from './getusermedia';\nexport {shimGetDisplayMedia} from './getdisplaymedia';\n\nexport function shimOnTrack(window) {\n if (typeof window === 'object' && window.RTCTrackEvent &&\n ('receiver' in window.RTCTrackEvent.prototype) &&\n !('transceiver' in window.RTCTrackEvent.prototype)) {\n Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', {\n get() {\n return {receiver: this.receiver};\n }\n });\n }\n}\n\nexport function shimPeerConnection(window, browserDetails) {\n if (typeof window !== 'object' ||\n !(window.RTCPeerConnection || window.mozRTCPeerConnection)) {\n return; // probably media.peerconnection.enabled=false in about:config\n }\n if (!window.RTCPeerConnection && window.mozRTCPeerConnection) {\n // very basic support for old versions.\n window.RTCPeerConnection = window.mozRTCPeerConnection;\n }\n\n if (browserDetails.version < 53) {\n // shim away need for obsolete RTCIceCandidate/RTCSessionDescription.\n ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n .forEach(function(method) {\n const nativeMethod = window.RTCPeerConnection.prototype[method];\n const methodObj = {[method]() {\n arguments[0] = new ((method === 'addIceCandidate') ?\n window.RTCIceCandidate :\n window.RTCSessionDescription)(arguments[0]);\n return nativeMethod.apply(this, arguments);\n }};\n window.RTCPeerConnection.prototype[method] = methodObj[method];\n });\n }\n}\n\nexport function shimGetStats(window, browserDetails) {\n if (typeof window !== 'object' ||\n !(window.RTCPeerConnection || window.mozRTCPeerConnection)) {\n return; // probably media.peerconnection.enabled=false in about:config\n }\n if (browserDetails.version >= 151) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1056433\n return;\n }\n\n const modernStatsTypes = {\n inboundrtp: 'inbound-rtp',\n outboundrtp: 'outbound-rtp',\n candidatepair: 'candidate-pair',\n localcandidate: 'local-candidate',\n remotecandidate: 'remote-candidate'\n };\n\n const nativeGetStats = window.RTCPeerConnection.prototype.getStats;\n window.RTCPeerConnection.prototype.getStats = function getStats() {\n const [selector, onSucc, onErr] = arguments;\n if (this.signalingState === 'closed') {\n // No longer required in FF151+\n return Promise.resolve(new Map());\n }\n return nativeGetStats.apply(this, [selector || null])\n .then(stats => {\n if (browserDetails.version < 53 && !onSucc) {\n // Shim only promise getStats with spec-hyphens in type names\n // Leave callback version alone; misc old uses of forEach before Map\n try {\n stats.forEach(stat => {\n stat.type = modernStatsTypes[stat.type] || stat.type;\n });\n } catch (e) {\n if (e.name !== 'TypeError') {\n throw e;\n }\n // Avoid TypeError: \"type\" is read-only, in old versions. 34-43ish\n stats.forEach((stat, i) => {\n stats.set(i, Object.assign({}, stat, {\n type: modernStatsTypes[stat.type] || stat.type\n }));\n });\n }\n }\n return stats;\n })\n .then(onSucc, onErr);\n };\n}\n\nexport function shimSenderGetStats(window) {\n if (!(typeof window === 'object' && window.RTCPeerConnection &&\n window.RTCRtpSender)) {\n return;\n }\n if (window.RTCRtpSender && 'getStats' in window.RTCRtpSender.prototype) {\n return;\n }\n const origGetSenders = window.RTCPeerConnection.prototype.getSenders;\n if (origGetSenders) {\n window.RTCPeerConnection.prototype.getSenders = function getSenders() {\n const senders = origGetSenders.apply(this, []);\n senders.forEach(sender => sender._pc = this);\n return senders;\n };\n }\n\n const origAddTrack = window.RTCPeerConnection.prototype.addTrack;\n if (origAddTrack) {\n window.RTCPeerConnection.prototype.addTrack = function addTrack() {\n const sender = origAddTrack.apply(this, arguments);\n sender._pc = this;\n return sender;\n };\n }\n window.RTCRtpSender.prototype.getStats = function getStats() {\n return this.track ? this._pc.getStats(this.track) :\n Promise.resolve(new Map());\n };\n}\n\nexport function shimReceiverGetStats(window) {\n if (!(typeof window === 'object' && window.RTCPeerConnection &&\n window.RTCRtpSender)) {\n return;\n }\n if (window.RTCRtpSender && 'getStats' in window.RTCRtpReceiver.prototype) {\n return;\n }\n const origGetReceivers = window.RTCPeerConnection.prototype.getReceivers;\n if (origGetReceivers) {\n window.RTCPeerConnection.prototype.getReceivers = function getReceivers() {\n const receivers = origGetReceivers.apply(this, []);\n receivers.forEach(receiver => receiver._pc = this);\n return receivers;\n };\n }\n utils.wrapPeerConnectionEvent(window, 'track', e => {\n e.receiver._pc = e.srcElement;\n return e;\n });\n window.RTCRtpReceiver.prototype.getStats = function getStats() {\n return this._pc.getStats(this.track);\n };\n}\n\nexport function shimRemoveStream(window) {\n if (!window.RTCPeerConnection ||\n 'removeStream' in window.RTCPeerConnection.prototype) {\n return;\n }\n window.RTCPeerConnection.prototype.removeStream =\n function removeStream(stream) {\n utils.deprecated('removeStream', 'removeTrack');\n this.getSenders().forEach(sender => {\n if (sender.track && stream.getTracks().includes(sender.track)) {\n this.removeTrack(sender);\n }\n });\n };\n}\n\nexport function shimRTCDataChannel(window) {\n // rename DataChannel to RTCDataChannel (native fix in FF60):\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1173851\n if (window.DataChannel && !window.RTCDataChannel) {\n window.RTCDataChannel = window.DataChannel;\n }\n}\n\nexport function shimAddTransceiver(window, browserDetails) {\n // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647\n // Firefox ignores the init sendEncodings options passed to addTransceiver\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918\n if (!(typeof window === 'object' && window.RTCPeerConnection)) {\n return;\n }\n // Fixed by https://bugzilla.mozilla.org/show_bug.cgi?id=1401592 in FF110.\n if (browserDetails.version >= 110) {\n return;\n }\n const origAddTransceiver = window.RTCPeerConnection.prototype.addTransceiver;\n if (origAddTransceiver) {\n window.RTCPeerConnection.prototype.addTransceiver =\n function addTransceiver() {\n this.setParametersPromises = [];\n // WebIDL input coercion and validation\n let sendEncodings = arguments[1] && arguments[1].sendEncodings;\n if (sendEncodings === undefined) {\n sendEncodings = [];\n }\n sendEncodings = [...sendEncodings];\n const shouldPerformCheck = sendEncodings.length > 0;\n if (shouldPerformCheck) {\n // If sendEncodings params are provided, validate grammar\n sendEncodings.forEach((encodingParam) => {\n if ('rid' in encodingParam) {\n const ridRegex = /^[a-z0-9]{0,16}$/i;\n if (!ridRegex.test(encodingParam.rid)) {\n throw new TypeError('Invalid RID value provided.');\n }\n }\n if ('scaleResolutionDownBy' in encodingParam) {\n if (!(parseFloat(encodingParam.scaleResolutionDownBy) >= 1.0)) {\n throw new RangeError('scale_resolution_down_by must be >= 1.0');\n }\n }\n if ('maxFramerate' in encodingParam) {\n if (!(parseFloat(encodingParam.maxFramerate) >= 0)) {\n throw new RangeError('max_framerate must be >= 0.0');\n }\n }\n });\n }\n const transceiver = origAddTransceiver.apply(this, arguments);\n if (shouldPerformCheck) {\n // Check if the init options were applied. If not we do this in an\n // asynchronous way and save the promise reference in a global object.\n // This is an ugly hack, but at the same time is way more robust than\n // checking the sender parameters before and after the createOffer\n // Also note that after the createoffer we are not 100% sure that\n // the params were asynchronously applied so we might miss the\n // opportunity to recreate offer.\n const {sender} = transceiver;\n const params = sender.getParameters();\n if (!('encodings' in params) ||\n // Avoid being fooled by patched getParameters() below.\n (params.encodings.length === 1 &&\n Object.keys(params.encodings[0]).length === 0)) {\n params.encodings = sendEncodings;\n sender.sendEncodings = sendEncodings;\n this.setParametersPromises.push(sender.setParameters(params)\n .then(() => {\n delete sender.sendEncodings;\n }).catch(() => {\n delete sender.sendEncodings;\n })\n );\n }\n }\n return transceiver;\n };\n }\n}\n\nexport function shimGetParameters(window, browserDetails) {\n if (!(typeof window === 'object' && window.RTCRtpSender)) {\n return;\n }\n // Fixed by https://bugzilla.mozilla.org/show_bug.cgi?id=1401592 in FF110.\n if (browserDetails.version >= 110) {\n return;\n }\n const origGetParameters = window.RTCRtpSender.prototype.getParameters;\n if (origGetParameters) {\n window.RTCRtpSender.prototype.getParameters =\n function getParameters() {\n const params = origGetParameters.apply(this, arguments);\n if (!('encodings' in params)) {\n params.encodings = [].concat(this.sendEncodings || [{}]);\n }\n return params;\n };\n }\n}\n\nexport function shimCreateOffer(window, browserDetails) {\n // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647\n // Firefox ignores the init sendEncodings options passed to addTransceiver\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918\n if (!(typeof window === 'object' && window.RTCPeerConnection)) {\n return;\n }\n // Fixed by https://bugzilla.mozilla.org/show_bug.cgi?id=1401592 in FF110.\n if (browserDetails.version >= 110) {\n return;\n }\n const origCreateOffer = window.RTCPeerConnection.prototype.createOffer;\n window.RTCPeerConnection.prototype.createOffer = function createOffer() {\n if (this.setParametersPromises && this.setParametersPromises.length) {\n return Promise.all(this.setParametersPromises)\n .then(() => {\n return origCreateOffer.apply(this, arguments);\n })\n .finally(() => {\n this.setParametersPromises = [];\n });\n }\n return origCreateOffer.apply(this, arguments);\n };\n}\n\nexport function shimCreateAnswer(window, browserDetails) {\n // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647\n // Firefox ignores the init sendEncodings options passed to addTransceiver\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918\n if (!(typeof window === 'object' && window.RTCPeerConnection)) {\n return;\n }\n // Fixed by https://bugzilla.mozilla.org/show_bug.cgi?id=1401592 in FF110.\n if (browserDetails.version >= 110) {\n return;\n }\n const origCreateAnswer = window.RTCPeerConnection.prototype.createAnswer;\n window.RTCPeerConnection.prototype.createAnswer = function createAnswer() {\n if (this.setParametersPromises && this.setParametersPromises.length) {\n return Promise.all(this.setParametersPromises)\n .then(() => {\n return origCreateAnswer.apply(this, arguments);\n })\n .finally(() => {\n this.setParametersPromises = [];\n });\n }\n return origCreateAnswer.apply(this, arguments);\n };\n}\n"],"names":["window","browserDetails","RTCPeerConnection","version","origAddTransceiver","prototype","addTransceiver","this","setParametersPromises","sendEncodings","arguments","undefined","shouldPerformCheck","length","forEach","encodingParam","test","rid","TypeError","parseFloat","scaleResolutionDownBy","RangeError","maxFramerate","transceiver","apply","sender","params","getParameters","encodings","Object","keys","push","setParameters","then","catch","origCreateAnswer","createAnswer","Promise","all","finally","origCreateOffer","createOffer","RTCRtpSender","origGetParameters","concat","mozRTCPeerConnection","modernStatsTypes","inboundrtp","outboundrtp","candidatepair","localcandidate","remotecandidate","nativeGetStats","getStats","selector","onSucc","onErr","signalingState","resolve","Map","stats","stat","type","e","name","i","set","assign","RTCTrackEvent","defineProperty","get","receiver","method","nativeMethod","methodObj","RTCIceCandidate","RTCSessionDescription","DataChannel","RTCDataChannel","RTCRtpReceiver","origGetReceivers","getReceivers","receivers","_pc","utils","srcElement","track","removeStream","stream","getSenders","getTracks","includes","removeTrack","origGetSenders","senders","origAddTrack","addTrack"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.shimGetDisplayMedia=function(e,i){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.shimGetDisplayMedia=function(e,i){e.navigator.mediaDevices&&(e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=function(a){if(!a||!a.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===a.video?a.video={mediaSource:i}:a.video.mediaSource=i,e.navigator.mediaDevices.getUserMedia(a)}))};
|
|
2
2
|
//# sourceMappingURL=getdisplaymedia.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getdisplaymedia.js","sources":["../../../../../../node_modules/webrtc-adapter/src/js/firefox/getdisplaymedia.js"],"sourcesContent":["/*\n * Copyright (c) 2018 The adapter.js project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n/* eslint-env node */\n'use strict';\n\nexport function shimGetDisplayMedia(window, preferredMediaSource) {\n if (window.navigator.mediaDevices
|
|
1
|
+
{"version":3,"file":"getdisplaymedia.js","sources":["../../../../../../node_modules/webrtc-adapter/src/js/firefox/getdisplaymedia.js"],"sourcesContent":["/*\n * Copyright (c) 2018 The adapter.js project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n/* eslint-env node */\n'use strict';\n\nexport function shimGetDisplayMedia(window, preferredMediaSource) {\n if (!(window.navigator.mediaDevices)) {\n return;\n }\n if (window.navigator.mediaDevices &&\n 'getDisplayMedia' in window.navigator.mediaDevices) {\n return;\n }\n window.navigator.mediaDevices.getDisplayMedia =\n function getDisplayMedia(constraints) {\n if (!(constraints && constraints.video)) {\n const err = new DOMException('getDisplayMedia without video ' +\n 'constraints is undefined');\n err.name = 'NotFoundError';\n // from https://heycam.github.io/webidl/#idl-DOMException-error-names\n err.code = 8;\n return Promise.reject(err);\n }\n if (constraints.video === true) {\n constraints.video = {mediaSource: preferredMediaSource};\n } else {\n constraints.video.mediaSource = preferredMediaSource;\n }\n return window.navigator.mediaDevices.getUserMedia(constraints);\n };\n}\n"],"names":["window","preferredMediaSource","navigator","mediaDevices","getDisplayMedia","constraints","video","err","DOMException","name","code","Promise","reject","mediaSource","getUserMedia"],"mappings":"gGAUO,SAA6BA,EAAQC,GACpCD,EAAOE,UAAUC,eAGnBH,EAAOE,UAAUC,cACnB,oBAAqBH,EAAOE,UAAUC,eAGxCH,EAAOE,UAAUC,aAAaC,gBAC5B,SAAyBC,GACvB,IAAMA,IAAeA,EAAYC,MAAQ,CACvC,MAAMC,EAAM,IAAIC,aAAa,0DAK7B,OAHAD,EAAIE,KAAO,gBAEXF,EAAIG,KAAO,EACJC,QAAQC,OAAOL,EACxB,CAMA,OAL0B,IAAtBF,EAAYC,MACdD,EAAYC,MAAQ,CAACO,YAAaZ,GAElCI,EAAYC,MAAMO,YAAcZ,EAE3BD,EAAOE,UAAUC,aAAaW,aAAaT,KAExD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../utils.js");exports.shimGetUserMedia=function(t,o){const i=t&&t.navigator
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../utils.js");exports.shimGetUserMedia=function(t,o){const i=t&&t.navigator;if(!i.mediaDevices)return;const n=t&&t.MediaStreamTrack;if(i.getUserMedia=function(t,o,n){e.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),i.mediaDevices.getUserMedia(t).then(o,n)},!(o.version>55&&"autoGainControl"in i.mediaDevices.getSupportedConstraints())){const e=function(e,t,o){t in e&&!(o in e)&&(e[o]=e[t],delete e[t])},t=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(o){return"object"==typeof o&&"object"==typeof o.audio&&(o=JSON.parse(JSON.stringify(o)),e(o.audio,"autoGainControl","mozAutoGainControl"),e(o.audio,"noiseSuppression","mozNoiseSuppression")),t(o)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const o=t.apply(this,arguments);return e(o,"mozAutoGainControl","autoGainControl"),e(o,"mozNoiseSuppression","noiseSuppression"),o}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(o){return"audio"===this.kind&&"object"==typeof o&&(o=JSON.parse(JSON.stringify(o)),e(o,"autoGainControl","mozAutoGainControl"),e(o,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[o])}}}};
|
|
2
2
|
//# sourceMappingURL=getusermedia.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getusermedia.js","sources":["../../../../../../node_modules/webrtc-adapter/src/js/firefox/getusermedia.js"],"sourcesContent":["/*\n * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n/* eslint-env node */\n'use strict';\n\nimport * as utils from '../utils';\n\nexport function shimGetUserMedia(window, browserDetails) {\n const navigator = window && window.navigator;\n const MediaStreamTrack = window && window.MediaStreamTrack;\n\n navigator.getUserMedia = function(constraints, onSuccess, onError) {\n // Replace Firefox 44+'s deprecation warning with unprefixed version.\n utils.deprecated('navigator.getUserMedia',\n 'navigator.mediaDevices.getUserMedia');\n navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError);\n };\n\n if (!(browserDetails.version > 55 &&\n 'autoGainControl' in navigator.mediaDevices.getSupportedConstraints())) {\n const remap = function(obj, a, b) {\n if (a in obj && !(b in obj)) {\n obj[b] = obj[a];\n delete obj[a];\n }\n };\n\n const nativeGetUserMedia = navigator.mediaDevices.getUserMedia.\n bind(navigator.mediaDevices);\n navigator.mediaDevices.getUserMedia = function(c) {\n if (typeof c === 'object' && typeof c.audio === 'object') {\n c = JSON.parse(JSON.stringify(c));\n remap(c.audio, 'autoGainControl', 'mozAutoGainControl');\n remap(c.audio, 'noiseSuppression', 'mozNoiseSuppression');\n }\n return nativeGetUserMedia(c);\n };\n\n if (MediaStreamTrack && MediaStreamTrack.prototype.getSettings) {\n const nativeGetSettings = MediaStreamTrack.prototype.getSettings;\n MediaStreamTrack.prototype.getSettings = function() {\n const obj = nativeGetSettings.apply(this, arguments);\n remap(obj, 'mozAutoGainControl', 'autoGainControl');\n remap(obj, 'mozNoiseSuppression', 'noiseSuppression');\n return obj;\n };\n }\n\n if (MediaStreamTrack && MediaStreamTrack.prototype.applyConstraints) {\n const nativeApplyConstraints =\n MediaStreamTrack.prototype.applyConstraints;\n MediaStreamTrack.prototype.applyConstraints = function(c) {\n if (this.kind === 'audio' && typeof c === 'object') {\n c = JSON.parse(JSON.stringify(c));\n remap(c, 'autoGainControl', 'mozAutoGainControl');\n remap(c, 'noiseSuppression', 'mozNoiseSuppression');\n }\n return nativeApplyConstraints.apply(this, [c]);\n };\n }\n }\n}\n"],"names":["window","browserDetails","navigator","MediaStreamTrack","getUserMedia","constraints","onSuccess","onError","utils","
|
|
1
|
+
{"version":3,"file":"getusermedia.js","sources":["../../../../../../node_modules/webrtc-adapter/src/js/firefox/getusermedia.js"],"sourcesContent":["/*\n * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n/* eslint-env node */\n'use strict';\n\nimport * as utils from '../utils';\n\nexport function shimGetUserMedia(window, browserDetails) {\n const navigator = window && window.navigator;\n if (!navigator.mediaDevices) {\n return;\n }\n const MediaStreamTrack = window && window.MediaStreamTrack;\n\n navigator.getUserMedia = function(constraints, onSuccess, onError) {\n // Replace Firefox 44+'s deprecation warning with unprefixed version.\n utils.deprecated('navigator.getUserMedia',\n 'navigator.mediaDevices.getUserMedia');\n navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError);\n };\n\n if (!(browserDetails.version > 55 &&\n 'autoGainControl' in navigator.mediaDevices.getSupportedConstraints())) {\n const remap = function(obj, a, b) {\n if (a in obj && !(b in obj)) {\n obj[b] = obj[a];\n delete obj[a];\n }\n };\n\n const nativeGetUserMedia = navigator.mediaDevices.getUserMedia.\n bind(navigator.mediaDevices);\n navigator.mediaDevices.getUserMedia = function(c) {\n if (typeof c === 'object' && typeof c.audio === 'object') {\n c = JSON.parse(JSON.stringify(c));\n remap(c.audio, 'autoGainControl', 'mozAutoGainControl');\n remap(c.audio, 'noiseSuppression', 'mozNoiseSuppression');\n }\n return nativeGetUserMedia(c);\n };\n\n if (MediaStreamTrack && MediaStreamTrack.prototype.getSettings) {\n const nativeGetSettings = MediaStreamTrack.prototype.getSettings;\n MediaStreamTrack.prototype.getSettings = function() {\n const obj = nativeGetSettings.apply(this, arguments);\n remap(obj, 'mozAutoGainControl', 'autoGainControl');\n remap(obj, 'mozNoiseSuppression', 'noiseSuppression');\n return obj;\n };\n }\n\n if (MediaStreamTrack && MediaStreamTrack.prototype.applyConstraints) {\n const nativeApplyConstraints =\n MediaStreamTrack.prototype.applyConstraints;\n MediaStreamTrack.prototype.applyConstraints = function(c) {\n if (this.kind === 'audio' && typeof c === 'object') {\n c = JSON.parse(JSON.stringify(c));\n remap(c, 'autoGainControl', 'mozAutoGainControl');\n remap(c, 'noiseSuppression', 'mozNoiseSuppression');\n }\n return nativeApplyConstraints.apply(this, [c]);\n };\n }\n }\n}\n"],"names":["window","browserDetails","navigator","mediaDevices","MediaStreamTrack","getUserMedia","constraints","onSuccess","onError","utils","then","version","getSupportedConstraints","remap","obj","a","b","nativeGetUserMedia","bind","c","audio","JSON","parse","stringify","prototype","getSettings","nativeGetSettings","apply","this","arguments","applyConstraints","nativeApplyConstraints","kind"],"mappings":"0HAYO,SAA0BA,EAAQC,GACvC,MAAMC,EAAYF,GAAUA,EAAOE,UACnC,IAAKA,EAAUC,aACb,OAEF,MAAMC,EAAmBJ,GAAUA,EAAOI,iBAS1C,GAPAF,EAAUG,aAAe,SAASC,EAAaC,EAAWC,GAExDC,aAAiB,yBACf,uCACFP,EAAUC,aAAaE,aAAaC,GAAaI,KAAKH,EAAWC,MAG7DP,EAAeU,QAAU,IAC3B,oBAAqBT,EAAUC,aAAaS,2BAA4B,CAC1E,MAAMC,EAAQ,SAASC,EAAKC,EAAGC,GACzBD,KAAKD,KAASE,KAAKF,KACrBA,EAAIE,GAAKF,EAAIC,UACND,EAAIC,KAITE,EAAqBf,EAAUC,aAAaE,aAChDa,KAAKhB,EAAUC,cAUjB,GATAD,EAAUC,aAAaE,aAAe,SAASc,GAM7C,MALiB,iBAANA,GAAqC,iBAAZA,EAAEC,QACpCD,EAAIE,KAAKC,MAAMD,KAAKE,UAAUJ,IAC9BN,EAAMM,EAAEC,MAAO,kBAAmB,sBAClCP,EAAMM,EAAEC,MAAO,mBAAoB,wBAE9BH,EAAmBE,IAGxBf,GAAoBA,EAAiBoB,UAAUC,YAAa,CAC9D,MAAMC,EAAoBtB,EAAiBoB,UAAUC,YACrDrB,EAAiBoB,UAAUC,YAAc,WACvC,MAAMX,EAAMY,EAAkBC,MAAMC,KAAMC,WAG1C,OAFAhB,EAAMC,EAAK,qBAAsB,mBACjCD,EAAMC,EAAK,sBAAuB,oBAC3BA,EAEX,CAEA,GAAIV,GAAoBA,EAAiBoB,UAAUM,iBAAkB,CACnE,MAAMC,EACJ3B,EAAiBoB,UAAUM,iBAC7B1B,EAAiBoB,UAAUM,iBAAmB,SAASX,GAMrD,MALkB,UAAdS,KAAKI,MAAiC,iBAANb,IAClCA,EAAIE,KAAKC,MAAMD,KAAKE,UAAUJ,IAC9BN,EAAMM,EAAG,kBAAmB,sBAC5BN,EAAMM,EAAG,mBAAoB,wBAExBY,EAAuBJ,MAAMC,KAAM,CAACT,IAE/C,CACF,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});let e=!0,t=!0;function n(e,t,n){const r=e.match(t);return r&&r.length>=n&&parseFloat(r[n],10)}function r(){if("object"==typeof window){if(e)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}}function o(e){return"[object Object]"===Object.prototype.toString.call(e)}function s(e,t,n){t&&!n.has(t.id)&&(n.set(t.id,t),Object.keys(t).forEach((r=>{r.endsWith("Id")?s(e,e.get(t[r]),n):r.endsWith("Ids")&&t[r].forEach((t=>{s(e,e.get(t),n)}))})))}exports.compactObject=function e(t){return o(t)?Object.keys(t).reduce((function(n,r){const s=o(t[r]),i=s?e(t[r]):t[r],a=s&&!Object.keys(i).length;return void 0===i||a?n:Object.assign(n,{[r]:i})}),{}):t},exports.deprecated=function(e,n){t&&console.warn(e+" is deprecated, please use "+n+" instead.")},exports.detectBrowser=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.userAgentData&&r.userAgentData.brands){const e=r.userAgentData.brands.find((e=>"Chromium"===e.brand));if(e)return{browser:"chrome",version:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});let e=!0,t=!0;function n(e,t,n){const r=e.match(t);return r&&r.length>=n&&parseFloat(r[n],10)}function r(){if("object"==typeof window){if(e)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}}function o(e){return"[object Object]"===Object.prototype.toString.call(e)}function s(e,t,n){t&&!n.has(t.id)&&(n.set(t.id,t),Object.keys(t).forEach((r=>{r.endsWith("Id")?s(e,e.get(t[r]),n):r.endsWith("Ids")&&t[r].forEach((t=>{s(e,e.get(t),n)}))})))}exports.compactObject=function e(t){return o(t)?Object.keys(t).reduce((function(n,r){const s=o(t[r]),i=s?e(t[r]):t[r],a=s&&!Object.keys(i).length;return void 0===i||a?n:Object.assign(n,{[r]:i})}),{}):t},exports.deprecated=function(e,n){t&&console.warn(e+" is deprecated, please use "+n+" instead.")},exports.detectBrowser=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.userAgentData&&r.userAgentData.brands){const e=r.userAgentData.brands.find((e=>"Chromium"===e.brand));if(e){const t=parseInt(e.version,10);if(t>=90)return{browser:"chrome",version:t}}}if(r.mozGetUserMedia)t.browser="firefox",t.version=parseInt(n(r.userAgent,/Firefox\/(\d+)\./,1));else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=parseInt(n(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2))||null;else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=parseInt(n(r.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype,t._safariVersion=n(r.userAgent,/Version\/(\d+(\.?\d+))/,1)}return t},exports.disableLog=function(t){return"boolean"!=typeof t?new Error("Argument type: "+typeof t+". Please use a boolean."):(e=t,t?"adapter.js logging disabled":"adapter.js logging enabled")},exports.disableWarnings=function(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(t=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))},exports.extractVersion=n,exports.filterStats=function(e,t,n){const r=n?"outbound-rtp":"inbound-rtp",o=new Map;if(null===t)return o;const i=[];return e.forEach((e=>{"track"===e.type&&e.trackIdentifier===t.id&&i.push(e)})),i.forEach((t=>{e.forEach((n=>{n.type===r&&n.trackId===t.id&&s(e,n,o)}))})),o},exports.log=r,exports.walkStats=s,exports.wrapPeerConnectionEvent=function(e,t,n){if(!e.RTCPeerConnection)return;if(!Object.getOwnPropertyDescriptor(EventTarget.prototype,"addEventListener").writable)return void r("Unable to polyfill events");const o=e.RTCPeerConnection.prototype,s=o.addEventListener;o.addEventListener=function(e,r){if(e!==t)return s.apply(this,arguments);const o=e=>{const t=n(e);t&&(r.handleEvent?r.handleEvent(t):r(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(r,o),s.apply(this,[e,o])};const i=o.removeEventListener;o.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t])return i.apply(this,arguments);if(!this._eventMap[t].has(n))return i.apply(this,arguments);const r=this._eventMap[t].get(n);return this._eventMap[t].delete(n),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,i.apply(this,[e,r])},Object.defineProperty(o,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../node_modules/webrtc-adapter/src/js/utils.js"],"sourcesContent":["/*\n * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n/* eslint-env node */\n'use strict';\n\nlet logDisabled_ = true;\nlet deprecationWarnings_ = true;\n\n/**\n * Extract browser version out of the provided user agent string.\n *\n * @param {!string} uastring userAgent string.\n * @param {!string} expr Regular expression used as match criteria.\n * @param {!number} pos position in the version string to be returned.\n * @return {!number} browser version.\n */\nexport function extractVersion(uastring, expr, pos) {\n const match = uastring.match(expr);\n return match && match.length >= pos && parseFloat(match[pos], 10);\n}\n\n// Wraps the peerconnection event eventNameToWrap in a function\n// which returns the modified event object (or false to prevent\n// the event).\nexport function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) {\n if (!window.RTCPeerConnection) {\n return;\n }\n const addEventListener = Object.getOwnPropertyDescriptor(\n EventTarget.prototype, 'addEventListener');\n if (!addEventListener.writable) {\n log('Unable to polyfill events');\n return;\n }\n const proto = window.RTCPeerConnection.prototype;\n const nativeAddEventListener = proto.addEventListener;\n\n proto.addEventListener = function(nativeEventName, cb) {\n if (nativeEventName !== eventNameToWrap) {\n return nativeAddEventListener.apply(this, arguments);\n }\n const wrappedCallback = (e) => {\n const modifiedEvent = wrapper(e);\n if (modifiedEvent) {\n if (cb.handleEvent) {\n cb.handleEvent(modifiedEvent);\n } else {\n cb(modifiedEvent);\n }\n }\n };\n this._eventMap = this._eventMap || {};\n if (!this._eventMap[eventNameToWrap]) {\n this._eventMap[eventNameToWrap] = new Map();\n }\n this._eventMap[eventNameToWrap].set(cb, wrappedCallback);\n return nativeAddEventListener.apply(this, [nativeEventName,\n wrappedCallback]);\n };\n\n const nativeRemoveEventListener = proto.removeEventListener;\n proto.removeEventListener = function(nativeEventName, cb) {\n if (nativeEventName !== eventNameToWrap || !this._eventMap\n || !this._eventMap[eventNameToWrap]) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (!this._eventMap[eventNameToWrap].has(cb)) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n const unwrappedCb = this._eventMap[eventNameToWrap].get(cb);\n this._eventMap[eventNameToWrap].delete(cb);\n if (this._eventMap[eventNameToWrap].size === 0) {\n delete this._eventMap[eventNameToWrap];\n }\n if (Object.keys(this._eventMap).length === 0) {\n delete this._eventMap;\n }\n return nativeRemoveEventListener.apply(this, [nativeEventName,\n unwrappedCb]);\n };\n\n Object.defineProperty(proto, 'on' + eventNameToWrap, {\n get() {\n return this['_on' + eventNameToWrap];\n },\n set(cb) {\n if (this['_on' + eventNameToWrap]) {\n this.removeEventListener(eventNameToWrap,\n this['_on' + eventNameToWrap]);\n delete this['_on' + eventNameToWrap];\n }\n if (cb) {\n this.addEventListener(eventNameToWrap,\n this['_on' + eventNameToWrap] = cb);\n }\n },\n enumerable: true,\n configurable: true\n });\n}\n\nexport function disableLog(bool) {\n if (typeof bool !== 'boolean') {\n return new Error('Argument type: ' + typeof bool +\n '. Please use a boolean.');\n }\n logDisabled_ = bool;\n return (bool) ? 'adapter.js logging disabled' :\n 'adapter.js logging enabled';\n}\n\n/**\n * Disable or enable deprecation warnings\n * @param {!boolean} bool set to true to disable warnings.\n */\nexport function disableWarnings(bool) {\n if (typeof bool !== 'boolean') {\n return new Error('Argument type: ' + typeof bool +\n '. Please use a boolean.');\n }\n deprecationWarnings_ = !bool;\n return 'adapter.js deprecation warnings ' + (bool ? 'disabled' : 'enabled');\n}\n\nexport function log() {\n if (typeof window === 'object') {\n if (logDisabled_) {\n return;\n }\n if (typeof console !== 'undefined' && typeof console.log === 'function') {\n console.log.apply(console, arguments);\n }\n }\n}\n\n/**\n * Shows a deprecation warning suggesting the modern and spec-compatible API.\n */\nexport function deprecated(oldMethod, newMethod) {\n if (!deprecationWarnings_) {\n return;\n }\n console.warn(oldMethod + ' is deprecated, please use ' + newMethod +\n ' instead.');\n}\n\n/**\n * Browser detector.\n *\n * @return {object} result containing browser and version\n * properties.\n */\nexport function detectBrowser(window) {\n // Returned result object.\n const result = {browser: null, version: null};\n\n // Fail early if it's not a browser\n if (typeof window === 'undefined' || !window.navigator ||\n !window.navigator.userAgent) {\n result.browser = 'Not a browser.';\n return result;\n }\n\n const {navigator} = window;\n\n // Prefer navigator.userAgentData.\n if (navigator.userAgentData && navigator.userAgentData.brands) {\n const chromium = navigator.userAgentData.brands.find((brand) => {\n return brand.brand === 'Chromium';\n });\n if (chromium) {\n return {browser: 'chrome', version: parseInt(chromium.version, 10)};\n }\n }\n\n if (navigator.mozGetUserMedia) { // Firefox.\n result.browser = 'firefox';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /Firefox\\/(\\d+)\\./, 1));\n } else if (navigator.webkitGetUserMedia ||\n (window.isSecureContext === false && window.webkitRTCPeerConnection)) {\n // Chrome, Chromium, Webview, Opera.\n // Version matches Chrome/WebRTC version.\n // Chrome 74 removed webkitGetUserMedia on http as well so we need the\n // more complicated fallback to webkitRTCPeerConnection.\n result.browser = 'chrome';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /Chrom(e|ium)\\/(\\d+)\\./, 2)) || null;\n } else if (window.RTCPeerConnection &&\n navigator.userAgent.match(/AppleWebKit\\/(\\d+)\\./)) { // Safari.\n result.browser = 'safari';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /AppleWebKit\\/(\\d+)\\./, 1));\n result.supportsUnifiedPlan = window.RTCRtpTransceiver &&\n 'currentDirection' in window.RTCRtpTransceiver.prototype;\n // Only for internal usage.\n result._safariVersion = extractVersion(navigator.userAgent,\n /Version\\/(\\d+(\\.?\\d+))/, 1);\n } else { // Default fallthrough: not supported.\n result.browser = 'Not a supported browser.';\n return result;\n }\n\n return result;\n}\n\n/**\n * Checks if something is an object.\n *\n * @param {*} val The something you want to check.\n * @return true if val is an object, false otherwise.\n */\nfunction isObject(val) {\n return Object.prototype.toString.call(val) === '[object Object]';\n}\n\n/**\n * Remove all empty objects and undefined values\n * from a nested object -- an enhanced and vanilla version\n * of Lodash's `compact`.\n */\nexport function compactObject(data) {\n if (!isObject(data)) {\n return data;\n }\n\n return Object.keys(data).reduce(function(accumulator, key) {\n const isObj = isObject(data[key]);\n const value = isObj ? compactObject(data[key]) : data[key];\n const isEmptyObject = isObj && !Object.keys(value).length;\n if (value === undefined || isEmptyObject) {\n return accumulator;\n }\n return Object.assign(accumulator, {[key]: value});\n }, {});\n}\n\n/* iterates the stats graph recursively. */\nexport function walkStats(stats, base, resultSet) {\n if (!base || resultSet.has(base.id)) {\n return;\n }\n resultSet.set(base.id, base);\n Object.keys(base).forEach(name => {\n if (name.endsWith('Id')) {\n walkStats(stats, stats.get(base[name]), resultSet);\n } else if (name.endsWith('Ids')) {\n base[name].forEach(id => {\n walkStats(stats, stats.get(id), resultSet);\n });\n }\n });\n}\n\n/* filter getStats for a sender/receiver track. */\nexport function filterStats(result, track, outbound) {\n const streamStatsType = outbound ? 'outbound-rtp' : 'inbound-rtp';\n const filteredResult = new Map();\n if (track === null) {\n return filteredResult;\n }\n const trackStats = [];\n result.forEach(value => {\n if (value.type === 'track' &&\n value.trackIdentifier === track.id) {\n trackStats.push(value);\n }\n });\n trackStats.forEach(trackStat => {\n result.forEach(stats => {\n if (stats.type === streamStatsType && stats.trackId === trackStat.id) {\n walkStats(result, stats, filteredResult);\n }\n });\n });\n return filteredResult;\n}\n\n"],"names":["logDisabled_","deprecationWarnings_","extractVersion","uastring","expr","pos","match","length","parseFloat","log","window","console","apply","arguments","isObject","val","Object","prototype","toString","call","walkStats","stats","base","resultSet","has","id","set","keys","forEach","name","endsWith","get","compactObject","data","reduce","accumulator","key","isObj","value","isEmptyObject","undefined","assign","oldMethod","newMethod","warn","result","browser","version","navigator","userAgent","userAgentData","brands","chromium","find","brand","parseInt","mozGetUserMedia","webkitGetUserMedia","isSecureContext","webkitRTCPeerConnection","RTCPeerConnection","supportsUnifiedPlan","RTCRtpTransceiver","_safariVersion","bool","Error","track","outbound","streamStatsType","filteredResult","Map","trackStats","type","trackIdentifier","push","trackStat","trackId","eventNameToWrap","wrapper","getOwnPropertyDescriptor","EventTarget","writable","proto","nativeAddEventListener","addEventListener","nativeEventName","cb","this","wrappedCallback","e","modifiedEvent","handleEvent","_eventMap","nativeRemoveEventListener","removeEventListener","unwrappedCb","delete","size","defineProperty","enumerable","configurable"],"mappings":"oEAUA,IAAIA,GAAe,EACfC,GAAuB,EAUpB,SAASC,EAAeC,EAAUC,EAAMC,GAC7C,MAAMC,EAAQH,EAASG,MAAMF,GAC7B,OAAOE,GAASA,EAAMC,QAAUF,GAAOG,WAAWF,EAAMD,GAAM,GAChE,CAyGO,SAASI,IACd,GAAsB,iBAAXC,OAAqB,CAC9B,GAAIV,EACF,OAEqB,oBAAZW,SAAkD,mBAAhBA,QAAQF,KACnDE,QAAQF,IAAIG,MAAMD,QAASE,UAE/B,CACF,CA+EA,SAASC,EAASC,GAChB,MAA+C,oBAAxCC,OAAOC,UAAUC,SAASC,KAAKJ,EACxC,CAwBO,SAASK,EAAUC,EAAOC,EAAMC,GAChCD,IAAQC,EAAUC,IAAIF,EAAKG,MAGhCF,EAAUG,IAAIJ,EAAKG,GAAIH,GACvBN,OAAOW,KAAKL,GAAMM,SAAQC,IACpBA,EAAKC,SAAS,MAChBV,EAAUC,EAAOA,EAAMU,IAAIT,EAAKO,IAAQN,GAC/BM,EAAKC,SAAS,QACvBR,EAAKO,GAAMD,SAAQH,IACjBL,EAAUC,EAAOA,EAAMU,IAAIN,GAAKF,EAAU,GAE9C,IAEJ,uBA/BO,SAASS,EAAcC,GAC5B,OAAKnB,EAASmB,GAIPjB,OAAOW,KAAKM,GAAMC,QAAO,SAASC,EAAaC,GACpD,MAAMC,EAAQvB,EAASmB,EAAKG,IACtBE,EAAQD,EAAQL,EAAcC,EAAKG,IAAQH,EAAKG,GAChDG,EAAgBF,IAAUrB,OAAOW,KAAKW,GAAO/B,OACnD,YAAciC,IAAVF,GAAuBC,EAClBJ,EAEFnB,OAAOyB,OAAON,EAAa,CAACC,CAACA,GAAME,GAC3C,GAAE,CAAE,GAXIL,CAYX,qBAjGO,SAAoBS,EAAWC,GAC/B1C,GAGLU,QAAQiC,KAAKF,EAAY,8BAAgCC,EACrD,YACN,wBAQO,SAAuBjC,GAE5B,MAAMmC,EAAS,CAACC,QAAS,KAAMC,QAAS,MAGxC,QAAsB,IAAXrC,IAA2BA,EAAOsC,YACxCtC,EAAOsC,UAAUC,UAEpB,OADAJ,EAAOC,QAAU,iBACVD,EAGT,MAAMG,UAACA,GAAatC,EAGpB,GAAIsC,EAAUE,eAAiBF,EAAUE,cAAcC,OAAQ,CAC7D,MAAMC,EAAWJ,EAAUE,cAAcC,OAAOE,MAAMC,GAC7B,aAAhBA,EAAMA,QAEf,GAAIF,EACF,MAAO,CAACN,QAAS,SAAUC,QAASQ,SAASH,EAASL,QAAS,IAEnE,CAEA,GAAIC,EAAUQ,gBACZX,EAAOC,QAAU,UACjBD,EAAOE,QAAUQ,SAASrD,EAAe8C,EAAUC,UACjD,mBAAoB,SACjB,GAAID,EAAUS,qBACW,IAA3B/C,EAAOgD,iBAA6BhD,EAAOiD,wBAK9Cd,EAAOC,QAAU,SACjBD,EAAOE,QAAUQ,SAASrD,EAAe8C,EAAUC,UACjD,wBAAyB,KAAO,SAC7B,KAAIvC,EAAOkD,oBACdZ,EAAUC,UAAU3C,MAAM,wBAW5B,OADAuC,EAAOC,QAAU,2BACVD,EAVPA,EAAOC,QAAU,SACjBD,EAAOE,QAAUQ,SAASrD,EAAe8C,EAAUC,UACjD,uBAAwB,IAC1BJ,EAAOgB,oBAAsBnD,EAAOoD,mBAChC,qBAAsBpD,EAAOoD,kBAAkB7C,UAEnD4B,EAAOkB,eAAiB7D,EAAe8C,EAAUC,UAC/C,yBAA0B,EAI9B,CAEA,OAAOJ,CACT,qBAvGO,SAAoBmB,GACzB,MAAoB,kBAATA,EACF,IAAIC,MAAM,yBAA2BD,EACxC,4BAENhE,EAAegE,EACPA,EAAQ,8BACd,6BACJ,0BAMO,SAAyBA,GAC9B,MAAoB,kBAATA,EACF,IAAIC,MAAM,yBAA2BD,EACxC,4BAEN/D,GAAwB+D,EACjB,oCAAsCA,EAAO,WAAa,WACnE,+CAqIO,SAAqBnB,EAAQqB,EAAOC,GACzC,MAAMC,EAAkBD,EAAW,eAAiB,cAC9CE,EAAiB,IAAIC,IAC3B,GAAc,OAAVJ,EACF,OAAOG,EAET,MAAME,EAAa,GAcnB,OAbA1B,EAAOjB,SAAQU,IACM,UAAfA,EAAMkC,MACNlC,EAAMmC,kBAAoBP,EAAMzC,IAClC8C,EAAWG,KAAKpC,EAClB,IAEFiC,EAAW3C,SAAQ+C,IACjB9B,EAAOjB,SAAQP,IACTA,EAAMmD,OAASJ,GAAmB/C,EAAMuD,UAAYD,EAAUlD,IAChEL,EAAUyB,EAAQxB,EAAOgD,EAC3B,GACA,IAEGA,CACT,oEA5PO,SAAiC3D,EAAQmE,EAAiBC,GAC/D,IAAKpE,EAAOkD,kBACV,OAIF,IAFyB5C,OAAO+D,yBAC9BC,YAAY/D,UAAW,oBACHgE,SAEpB,YADAxE,EAAI,6BAGN,MAAMyE,EAAQxE,EAAOkD,kBAAkB3C,UACjCkE,EAAyBD,EAAME,iBAErCF,EAAME,iBAAmB,SAASC,EAAiBC,GACjD,GAAID,IAAoBR,EACtB,OAAOM,EAAuBvE,MAAM2E,KAAM1E,WAE5C,MAAM2E,EAAmBC,IACvB,MAAMC,EAAgBZ,EAAQW,GAC1BC,IACEJ,EAAGK,YACLL,EAAGK,YAAYD,GAEfJ,EAAGI,GAEP,EAOF,OALAH,KAAKK,UAAYL,KAAKK,WAAa,CAAA,EAC9BL,KAAKK,UAAUf,KAClBU,KAAKK,UAAUf,GAAmB,IAAIP,KAExCiB,KAAKK,UAAUf,GAAiBnD,IAAI4D,EAAIE,GACjCL,EAAuBvE,MAAM2E,KAAM,CAACF,EACzCG,KAGJ,MAAMK,EAA4BX,EAAMY,oBACxCZ,EAAMY,oBAAsB,SAAST,EAAiBC,GACpD,GAAID,IAAoBR,IAAoBU,KAAKK,YACzCL,KAAKK,UAAUf,GACrB,OAAOgB,EAA0BjF,MAAM2E,KAAM1E,WAE/C,IAAK0E,KAAKK,UAAUf,GAAiBrD,IAAI8D,GACvC,OAAOO,EAA0BjF,MAAM2E,KAAM1E,WAE/C,MAAMkF,EAAcR,KAAKK,UAAUf,GAAiB9C,IAAIuD,GAQxD,OAPAC,KAAKK,UAAUf,GAAiBmB,OAAOV,GACM,IAAzCC,KAAKK,UAAUf,GAAiBoB,aAC3BV,KAAKK,UAAUf,GAEmB,IAAvC7D,OAAOW,KAAK4D,KAAKK,WAAWrF,eACvBgF,KAAKK,UAEPC,EAA0BjF,MAAM2E,KAAM,CAACF,EAC5CU,KAGJ/E,OAAOkF,eAAehB,EAAO,KAAOL,EAAiB,CACnD9C,GAAAA,GACE,OAAOwD,KAAK,MAAQV,EACrB,EACDnD,GAAAA,CAAI4D,GACEC,KAAK,MAAQV,KACfU,KAAKO,oBAAoBjB,EACvBU,KAAK,MAAQV,WACRU,KAAK,MAAQV,IAElBS,GACFC,KAAKH,iBAAiBP,EACpBU,KAAK,MAAQV,GAAmBS,EAErC,EACDa,YAAY,EACZC,cAAc,GAElB"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../node_modules/webrtc-adapter/src/js/utils.js"],"sourcesContent":["/*\n * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n/* eslint-env node */\n'use strict';\n\nlet logDisabled_ = true;\nlet deprecationWarnings_ = true;\n\n/**\n * Extract browser version out of the provided user agent string.\n *\n * @param {!string} uastring userAgent string.\n * @param {!string} expr Regular expression used as match criteria.\n * @param {!number} pos position in the version string to be returned.\n * @return {!number} browser version.\n */\nexport function extractVersion(uastring, expr, pos) {\n const match = uastring.match(expr);\n return match && match.length >= pos && parseFloat(match[pos], 10);\n}\n\n// Wraps the peerconnection event eventNameToWrap in a function\n// which returns the modified event object (or false to prevent\n// the event).\nexport function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) {\n if (!window.RTCPeerConnection) {\n return;\n }\n const addEventListener = Object.getOwnPropertyDescriptor(\n EventTarget.prototype, 'addEventListener');\n if (!addEventListener.writable) {\n log('Unable to polyfill events');\n return;\n }\n const proto = window.RTCPeerConnection.prototype;\n const nativeAddEventListener = proto.addEventListener;\n\n proto.addEventListener = function(nativeEventName, cb) {\n if (nativeEventName !== eventNameToWrap) {\n return nativeAddEventListener.apply(this, arguments);\n }\n const wrappedCallback = (e) => {\n const modifiedEvent = wrapper(e);\n if (modifiedEvent) {\n if (cb.handleEvent) {\n cb.handleEvent(modifiedEvent);\n } else {\n cb(modifiedEvent);\n }\n }\n };\n this._eventMap = this._eventMap || {};\n if (!this._eventMap[eventNameToWrap]) {\n this._eventMap[eventNameToWrap] = new Map();\n }\n this._eventMap[eventNameToWrap].set(cb, wrappedCallback);\n return nativeAddEventListener.apply(this, [nativeEventName,\n wrappedCallback]);\n };\n\n const nativeRemoveEventListener = proto.removeEventListener;\n proto.removeEventListener = function(nativeEventName, cb) {\n if (nativeEventName !== eventNameToWrap || !this._eventMap\n || !this._eventMap[eventNameToWrap]) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (!this._eventMap[eventNameToWrap].has(cb)) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n const unwrappedCb = this._eventMap[eventNameToWrap].get(cb);\n this._eventMap[eventNameToWrap].delete(cb);\n if (this._eventMap[eventNameToWrap].size === 0) {\n delete this._eventMap[eventNameToWrap];\n }\n if (Object.keys(this._eventMap).length === 0) {\n delete this._eventMap;\n }\n return nativeRemoveEventListener.apply(this, [nativeEventName,\n unwrappedCb]);\n };\n\n Object.defineProperty(proto, 'on' + eventNameToWrap, {\n get() {\n return this['_on' + eventNameToWrap];\n },\n set(cb) {\n if (this['_on' + eventNameToWrap]) {\n this.removeEventListener(eventNameToWrap,\n this['_on' + eventNameToWrap]);\n delete this['_on' + eventNameToWrap];\n }\n if (cb) {\n this.addEventListener(eventNameToWrap,\n this['_on' + eventNameToWrap] = cb);\n }\n },\n enumerable: true,\n configurable: true\n });\n}\n\nexport function disableLog(bool) {\n if (typeof bool !== 'boolean') {\n return new Error('Argument type: ' + typeof bool +\n '. Please use a boolean.');\n }\n logDisabled_ = bool;\n return (bool) ? 'adapter.js logging disabled' :\n 'adapter.js logging enabled';\n}\n\n/**\n * Disable or enable deprecation warnings\n * @param {!boolean} bool set to true to disable warnings.\n */\nexport function disableWarnings(bool) {\n if (typeof bool !== 'boolean') {\n return new Error('Argument type: ' + typeof bool +\n '. Please use a boolean.');\n }\n deprecationWarnings_ = !bool;\n return 'adapter.js deprecation warnings ' + (bool ? 'disabled' : 'enabled');\n}\n\nexport function log() {\n if (typeof window === 'object') {\n if (logDisabled_) {\n return;\n }\n if (typeof console !== 'undefined' && typeof console.log === 'function') {\n console.log.apply(console, arguments);\n }\n }\n}\n\n/**\n * Shows a deprecation warning suggesting the modern and spec-compatible API.\n */\nexport function deprecated(oldMethod, newMethod) {\n if (!deprecationWarnings_) {\n return;\n }\n console.warn(oldMethod + ' is deprecated, please use ' + newMethod +\n ' instead.');\n}\n\n/**\n * Browser detector.\n *\n * @return {object} result containing browser and version\n * properties.\n */\nexport function detectBrowser(window) {\n // Returned result object.\n const result = {browser: null, version: null};\n\n // Fail early if it's not a browser\n if (typeof window === 'undefined' || !window.navigator ||\n !window.navigator.userAgent) {\n result.browser = 'Not a browser.';\n return result;\n }\n\n const {navigator} = window;\n\n // Prefer navigator.userAgentData.\n if (navigator.userAgentData && navigator.userAgentData.brands) {\n const chromium = navigator.userAgentData.brands.find((brand) => {\n return brand.brand === 'Chromium';\n });\n if (chromium) {\n const version = parseInt(chromium.version, 10);\n // navigator.userAgentData was introduced in Chromium 90\n // so any Chromium brand reporting a version below 90 is invalid\n if (version >= 90) {\n return {browser: 'chrome', version};\n }\n }\n }\n\n if (navigator.mozGetUserMedia) { // Firefox.\n result.browser = 'firefox';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /Firefox\\/(\\d+)\\./, 1));\n } else if (navigator.webkitGetUserMedia ||\n (window.isSecureContext === false && window.webkitRTCPeerConnection)) {\n // Chrome, Chromium, Webview, Opera.\n // Version matches Chrome/WebRTC version.\n // Chrome 74 removed webkitGetUserMedia on http as well so we need the\n // more complicated fallback to webkitRTCPeerConnection.\n result.browser = 'chrome';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /Chrom(e|ium)\\/(\\d+)\\./, 2)) || null;\n } else if (window.RTCPeerConnection &&\n navigator.userAgent.match(/AppleWebKit\\/(\\d+)\\./)) { // Safari.\n result.browser = 'safari';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /AppleWebKit\\/(\\d+)\\./, 1));\n result.supportsUnifiedPlan = window.RTCRtpTransceiver &&\n 'currentDirection' in window.RTCRtpTransceiver.prototype;\n // Only for internal usage.\n result._safariVersion = extractVersion(navigator.userAgent,\n /Version\\/(\\d+(\\.?\\d+))/, 1);\n } else { // Default fallthrough: not supported.\n result.browser = 'Not a supported browser.';\n return result;\n }\n\n return result;\n}\n\n/**\n * Checks if something is an object.\n *\n * @param {*} val The something you want to check.\n * @return true if val is an object, false otherwise.\n */\nfunction isObject(val) {\n return Object.prototype.toString.call(val) === '[object Object]';\n}\n\n/**\n * Remove all empty objects and undefined values\n * from a nested object -- an enhanced and vanilla version\n * of Lodash's `compact`.\n */\nexport function compactObject(data) {\n if (!isObject(data)) {\n return data;\n }\n\n return Object.keys(data).reduce(function(accumulator, key) {\n const isObj = isObject(data[key]);\n const value = isObj ? compactObject(data[key]) : data[key];\n const isEmptyObject = isObj && !Object.keys(value).length;\n if (value === undefined || isEmptyObject) {\n return accumulator;\n }\n return Object.assign(accumulator, {[key]: value});\n }, {});\n}\n\n/* iterates the stats graph recursively. */\nexport function walkStats(stats, base, resultSet) {\n if (!base || resultSet.has(base.id)) {\n return;\n }\n resultSet.set(base.id, base);\n Object.keys(base).forEach(name => {\n if (name.endsWith('Id')) {\n walkStats(stats, stats.get(base[name]), resultSet);\n } else if (name.endsWith('Ids')) {\n base[name].forEach(id => {\n walkStats(stats, stats.get(id), resultSet);\n });\n }\n });\n}\n\n/* filter getStats for a sender/receiver track. */\nexport function filterStats(result, track, outbound) {\n const streamStatsType = outbound ? 'outbound-rtp' : 'inbound-rtp';\n const filteredResult = new Map();\n if (track === null) {\n return filteredResult;\n }\n const trackStats = [];\n result.forEach(value => {\n if (value.type === 'track' &&\n value.trackIdentifier === track.id) {\n trackStats.push(value);\n }\n });\n trackStats.forEach(trackStat => {\n result.forEach(stats => {\n if (stats.type === streamStatsType && stats.trackId === trackStat.id) {\n walkStats(result, stats, filteredResult);\n }\n });\n });\n return filteredResult;\n}\n\n"],"names":["logDisabled_","deprecationWarnings_","extractVersion","uastring","expr","pos","match","length","parseFloat","log","window","console","apply","arguments","isObject","val","Object","prototype","toString","call","walkStats","stats","base","resultSet","has","id","set","keys","forEach","name","endsWith","get","compactObject","data","reduce","accumulator","key","isObj","value","isEmptyObject","undefined","assign","oldMethod","newMethod","warn","result","browser","version","navigator","userAgent","userAgentData","brands","chromium","find","brand","parseInt","mozGetUserMedia","webkitGetUserMedia","isSecureContext","webkitRTCPeerConnection","RTCPeerConnection","supportsUnifiedPlan","RTCRtpTransceiver","_safariVersion","bool","Error","track","outbound","streamStatsType","filteredResult","Map","trackStats","type","trackIdentifier","push","trackStat","trackId","eventNameToWrap","wrapper","getOwnPropertyDescriptor","EventTarget","writable","proto","nativeAddEventListener","addEventListener","nativeEventName","cb","this","wrappedCallback","e","modifiedEvent","handleEvent","_eventMap","nativeRemoveEventListener","removeEventListener","unwrappedCb","delete","size","defineProperty","enumerable","configurable"],"mappings":"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"}
|
package/dist/package.json.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e="@nethesis/phone-island",s="Nethesis",t="1.0.10-dev.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e="@nethesis/phone-island",s="Nethesis",t="1.0.10-dev.5",i="NethVoice CTI Phone Island",r=["nethserver","nethesis","nethvoice","phone","island"],o="https://github.com/nethesis/phone-island#readme",n="https://github.com/nethesis/dev/issues",p={type:"git",url:"https://github.com/nethesis/phone-island.git"},l=["dist"],d="dist/index.js",a="dist/index.d.ts",c={access:"public"},m={main:!1,types:!1,default:{distDir:"./dist-widget"}},u={"@fortawesome/fontawesome-svg-core":"6.7.2","@fortawesome/free-solid-svg-icons":"6.7.2","@fortawesome/react-fontawesome":"0.2.6","@headlessui/react":"^2.2.8","@nethesis/nethesis-solid-svg-icons":"github:nethesis/Font-Awesome#ns-solid","@rematch/core":"^2.2.0","@rematch/immer":"^2.1.3","@rematch/select":"^3.1.2","@testing-library/jest-dom":"^5.11.4","@testing-library/user-event":"^12.1.10","framer-motion":"^12.0.0",i18next:"^22.4.9","i18next-browser-languagedetector":"^7.0.1","js-base64":"^3.7.3",lodash:"^4.17.21","mic-check":"^1.1.0",react:"^18.2.0","react-dom":"^18.2.0","react-i18next":"^12.1.5","react-moment":"^1.1.2","react-redux":"^8.0.5","react-tooltip":"^5.28.0","socket.io-client":"^4.5.3","styled-components":"^5.3.6","webrtc-adapter":"^9.0.1"},h={start:"npm run dev",dev:"node scripts/generate-dev-host.js && parcel .dev/phone-island-dev.html --port 6006 --open",test:"tsc --noEmit",watch:"rollup -w -c","watch:css":"BROWSERSLIST_IGNORE_OLD_DATA=1 npx tailwindcss -o ./dist/index.css --watch",build:"rm -rf ./dist && npm run build:css && rollup -c","build:css":"BROWSERSLIST_IGNORE_OLD_DATA=1 NODE_ENV=production npx tailwindcss -o ./dist/index.css --minify","build:win":"del /s /q dist && npm run build:wincss && rollup -c --configPlugin typescript","build:wincss":"set BROWSERSLIST_IGNORE_OLD_DATA=1 && set NODE_ENV=production && npx tailwindcss -o ./dist/index.css --minify","build:widget":"rm -rf ./dist-widget && parcel build ./src/index.widget.tsx --no-source-maps","serve:widget":"rm -rf ./widget-example/static/* && cp -rf ./dist-widget/* ./widget-example/static && npx http-server ./widget-example -o -c-1",release:"npm publish","release:widget":"node check-publish.js patch && npm version patch -m v%s",format:"prettier --write './**/*.{js,jsx,ts,tsx,css,md,json}' --config ./.prettierrc",bump:"node bump-version.js","build-pack":"npm run bump && npm run build && npm pack","build-pack:win":"npm run bump && npm run build:win && npm pack","publish:minor":"node check-publish.js minor && npm version minor --allow-same-version -m v%s --force","publish:major":"node check-publish.js major && npm version major --allow-same-version -m v%s --force","publish:patch":"node check-publish.js patch && npm version patch --allow-same-version -m v%s --force","publish:dev":"node publish-dev.js",preversion:"rm -rf dist-widget && npm run build:widget && git add dist-widget/index.widget.js dist-widget/index.widget.css && git commit -m 'chore(widget): release for jsDelivr'",postversion:"git push origin main --tags","revert-bump":"node revert-bump.js"},b={production:[">0.2%","not dead","not op_mini all"],development:["last 1 chrome version","last 1 firefox version","last 1 safari version"]},g={"@babel/core":"^7.20.2","@babel/preset-env":"^7.20.2","@parcel/transformer-typescript-types":"^2.8.0","@rollup/plugin-babel":"^6.0.2","@rollup/plugin-commonjs":"^23.0.2","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^9.0.2","@testing-library/react":"^13.4.0","@types/audioworklet":"^0.0.100","@types/jest":"^29.2.2","@types/react":"^18.0.26","@types/react-dom":"^18.0.9","@types/styled-components":"^5.1.26",babel:"^6.23.0",buffer:"^5.7.1",parcel:"^2.0.0",postcss:"^8.4.49",prettier:"^2.8.0","prop-types":"^15.8.1",rollup:"^2.79.1","rollup-plugin-generate-package-json":"^3.2.0","rollup-plugin-postcss":"^4.0.2","tailwind-scrollbar":"^3.1.0",tailwindcss:"^3.4.16",typescript:"^4.8.4","webm-duration-fix":"^1.0.4",webpack:"^5.74.0"},v={"@tootallnate/once":"^3.0.0",esbuild:"^0.28.0","nth-check":"^2.0.1","serialize-javascript":"^7.0.0",tar:"^7.5.1"},w="GPL-3.0-or-later",x={name:e,author:s,version:t,description:i,keywords:r,homepage:o,bugs:n,repository:p,private:!1,files:l,main:d,types:a,publishConfig:c,targets:m,dependencies:u,scripts:h,browserslist:b,devDependencies:g,overrides:v,license:w};exports.author=s,exports.browserslist=b,exports.bugs=n,exports.default=x,exports.dependencies=u,exports.description=i,exports.devDependencies=g,exports.files=l,exports.homepage=o,exports.keywords=r,exports.license=w,exports.main=d,exports.name=e,exports.overrides=v,exports.publishConfig=c,exports.repository=p,exports.scripts=h,exports.targets=m,exports.types=a,exports.version=t;
|
|
2
2
|
//# sourceMappingURL=package.json.js.map
|