@nethesis/phone-island 0.7.78 → 0.7.80
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/App.d.ts +1 -0
- package/dist/App.js +1 -1
- package/dist/App.js.map +1 -1
- package/dist/_virtual/_rollupPluginBabelHelpers.js +1 -1
- package/dist/_virtual/floating-ui.dom.esm.js +2 -0
- package/dist/_virtual/floating-ui.dom.esm.js.map +1 -0
- package/dist/_virtual/index.js +1 -1
- package/dist/_virtual/index3.js +1 -1
- package/dist/_virtual/index4.js +1 -1
- package/dist/_virtual/index5.js +1 -1
- package/dist/_virtual/index6.js +1 -1
- package/dist/_virtual/index8.js +1 -1
- package/dist/_virtual/index9.js +2 -0
- package/dist/_virtual/index9.js.map +1 -0
- package/dist/_virtual/react-tooltip.min.cjs.js +2 -0
- package/dist/_virtual/react-tooltip.min.cjs.js.map +1 -0
- package/dist/components/Button.js +1 -1
- package/dist/components/Button.js.map +1 -1
- package/dist/components/CallView/Actions.js +1 -1
- package/dist/components/CallView/Actions.js.map +1 -1
- package/dist/components/CallView/Avatar.js +1 -1
- package/dist/components/CallView/Avatar.js.map +1 -1
- package/dist/components/CallView/BackCall.js +1 -1
- package/dist/components/CallView/BackCall.js.map +1 -1
- package/dist/components/CallView/DisplayName.js +1 -1
- package/dist/components/CallView/DisplayName.js.map +1 -1
- package/dist/components/CallView/index.js +1 -1
- package/dist/components/CallView/index.js.map +1 -1
- package/dist/components/Events.d.ts +1 -0
- package/dist/components/Events.js +1 -1
- package/dist/components/Events.js.map +1 -1
- package/dist/components/Hangup.d.ts +1 -0
- package/dist/components/Hangup.js +1 -1
- package/dist/components/Hangup.js.map +1 -1
- package/dist/components/Island.js +1 -1
- package/dist/components/Island.js.map +1 -1
- package/dist/components/KeypadView/index.js +1 -1
- package/dist/components/KeypadView/index.js.map +1 -1
- package/dist/components/Socket.js +1 -1
- package/dist/components/Socket.js.map +1 -1
- package/dist/components/TransferView/ListAvatar.d.ts +2 -2
- package/dist/components/TransferView/ListAvatar.js +1 -1
- package/dist/components/TransferView/ListAvatar.js.map +1 -1
- package/dist/components/TransferView/TransferActions.js +1 -1
- package/dist/components/TransferView/TransferActions.js.map +1 -1
- package/dist/components/TransferView/TransferList.js +1 -1
- package/dist/components/TransferView/TransferList.js.map +1 -1
- package/dist/components/WebRTC.d.ts +2 -0
- package/dist/components/WebRTC.js +1 -1
- package/dist/components/WebRTC.js.map +1 -1
- package/dist/events/CallEvents.d.ts +3 -1
- package/dist/events/CallEvents.js +1 -1
- package/dist/events/CallEvents.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/lib/devices/devices.js +1 -1
- package/dist/lib/phone/call.d.ts +2 -2
- package/dist/lib/phone/call.js +1 -1
- package/dist/lib/phone/call.js.map +1 -1
- package/dist/lib/webrtc/messages.d.ts +6 -1
- package/dist/lib/webrtc/messages.js +1 -1
- package/dist/lib/webrtc/messages.js.map +1 -1
- package/dist/models/currentCall.d.ts +67 -0
- package/dist/models/currentCall.js +1 -1
- package/dist/models/currentCall.js.map +1 -1
- package/dist/models/motions.js +1 -1
- package/dist/models/motions.js.map +1 -1
- package/dist/node_modules/@emotion/stylis/dist/stylis.browser.esm.js +1 -1
- package/dist/node_modules/@emotion/stylis/dist/stylis.browser.esm.js.map +1 -1
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs.js +2 -0
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs.js.map +1 -0
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +2 -0
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js.map +1 -0
- package/dist/node_modules/@fortawesome/react-fontawesome/index.es.js +1 -1
- package/dist/node_modules/@nethesis/nethesis-light-svg-icons/index.mjs.js +1 -1
- package/dist/node_modules/@nethesis/nethesis-light-svg-icons/index.mjs.js.map +1 -1
- package/dist/node_modules/@nethesis/nethesis-solid-svg-icons/index.mjs.js +1 -1
- package/dist/node_modules/@nethesis/nethesis-solid-svg-icons/index.mjs.js.map +1 -1
- package/dist/node_modules/@rematch/core/dist/core.esm.js +1 -1
- package/dist/node_modules/@rematch/core/dist/core.esm.js.map +1 -1
- package/dist/node_modules/bowser/es5.js +1 -1
- package/dist/node_modules/bowser/es5.js.map +1 -1
- package/dist/node_modules/classnames/index.js +7 -0
- package/dist/node_modules/classnames/index.js.map +1 -0
- package/dist/node_modules/engine.io-client/build/esm/contrib/has-cors.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/contrib/has-cors.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/contrib/parseqs.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/contrib/parseqs.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/contrib/parseuri.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/contrib/parseuri.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/contrib/yeast.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/contrib/yeast.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/globalThis.browser.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/globalThis.browser.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/socket.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/socket.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transport.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transport.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/index.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/index.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/polling.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/polling.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/websocket.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/websocket.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/util.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/util.js.map +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/commons.js +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/commons.js.map +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js.map +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/decodePacket.browser.js +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/decodePacket.browser.js.map +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/encodePacket.browser.js +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/encodePacket.browser.js.map +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/index.js +1 -1
- package/dist/node_modules/engine.io-parser/build/esm/index.js.map +1 -1
- package/dist/node_modules/framer-motion/dist/framer-motion.js +1 -1
- package/dist/node_modules/framer-motion/dist/framer-motion.js.map +1 -1
- package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +1 -1
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js +9 -1
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js.map +1 -1
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js +9 -1
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/immer/dist/immer.esm.mjs.js +1 -1
- package/dist/node_modules/immer/dist/immer.esm.mjs.js.map +1 -1
- package/dist/node_modules/js-base64/base64.mjs.js +1 -1
- package/dist/node_modules/js-base64/base64.mjs.js.map +1 -1
- package/dist/node_modules/mic-check/lib/index.js +1 -1
- package/dist/node_modules/mic-check/lib/requestMediaPermissions.js +1 -1
- package/dist/node_modules/mic-check/lib/requestMediaPermissions.js.map +1 -1
- package/dist/node_modules/moment/moment.js +2 -2
- package/dist/node_modules/moment/moment.js.map +1 -1
- package/dist/node_modules/prop-types/checkPropTypes.js +1 -1
- package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -1
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +1 -1
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -1
- package/dist/node_modules/prop-types/index.js +1 -1
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +9 -1
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -1
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +9 -1
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
- package/dist/node_modules/prop-types/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/react-is/cjs/react-is.development.js +9 -1
- package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -1
- package/dist/node_modules/react-is/cjs/react-is.production.min.js +9 -1
- package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
- package/dist/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/react-is/index.js.map +1 -1
- package/dist/node_modules/react-moment/dist/index.js +2 -2
- package/dist/node_modules/react-moment/dist/index.js.map +1 -1
- package/dist/node_modules/react-redux/es/components/Context.js +1 -1
- package/dist/node_modules/react-redux/es/components/Context.js.map +1 -1
- package/dist/node_modules/react-redux/es/components/Provider.js +1 -1
- package/dist/node_modules/react-redux/es/components/Provider.js.map +1 -1
- package/dist/node_modules/react-redux/es/hooks/useDispatch.js +1 -1
- package/dist/node_modules/react-redux/es/hooks/useDispatch.js.map +1 -1
- package/dist/node_modules/react-redux/es/hooks/useReduxContext.js +1 -1
- package/dist/node_modules/react-redux/es/hooks/useReduxContext.js.map +1 -1
- package/dist/node_modules/react-redux/es/hooks/useSelector.js +1 -1
- package/dist/node_modules/react-redux/es/hooks/useSelector.js.map +1 -1
- package/dist/node_modules/react-redux/es/hooks/useStore.js +1 -1
- package/dist/node_modules/react-redux/es/hooks/useStore.js.map +1 -1
- package/dist/node_modules/react-redux/es/utils/Subscription.js +1 -1
- package/dist/node_modules/react-redux/es/utils/Subscription.js.map +1 -1
- package/dist/node_modules/react-redux/es/utils/batch.js +1 -1
- package/dist/node_modules/react-redux/es/utils/batch.js.map +1 -1
- package/dist/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js +1 -1
- package/dist/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/node_modules/react-redux/es/utils/useSyncExternalStore.js +1 -1
- package/dist/node_modules/react-redux/es/utils/useSyncExternalStore.js.map +1 -1
- package/dist/node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js +10 -1
- package/dist/node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js.map +1 -1
- package/dist/node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js +10 -1
- package/dist/node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
- package/dist/node_modules/react-redux/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/react-tooltip/dist/react-tooltip.min.cjs.js +2 -0
- package/dist/node_modules/react-tooltip/dist/react-tooltip.min.cjs.js.map +1 -0
- package/dist/node_modules/react-tooltip/dist/react-tooltip.min.css.js +2 -0
- package/dist/node_modules/react-tooltip/dist/react-tooltip.min.css.js.map +1 -0
- package/dist/node_modules/redux/es/redux.js +1 -1
- package/dist/node_modules/redux/es/redux.js.map +1 -1
- package/dist/node_modules/sdp/sdp.js +1 -1
- package/dist/node_modules/sdp/sdp.js.map +1 -1
- package/dist/node_modules/socket.io-client/build/esm/index.js +1 -1
- package/dist/node_modules/socket.io-client/build/esm/index.js.map +1 -1
- package/dist/node_modules/socket.io-client/build/esm/manager.js +1 -1
- package/dist/node_modules/socket.io-client/build/esm/manager.js.map +1 -1
- package/dist/node_modules/socket.io-client/build/esm/socket.js +1 -1
- package/dist/node_modules/socket.io-client/build/esm/socket.js.map +1 -1
- package/dist/node_modules/socket.io-client/build/esm/url.js +1 -1
- package/dist/node_modules/socket.io-client/build/esm/url.js.map +1 -1
- package/dist/node_modules/socket.io-parser/build/esm/binary.js +1 -1
- package/dist/node_modules/socket.io-parser/build/esm/binary.js.map +1 -1
- package/dist/node_modules/socket.io-parser/build/esm/index.js +1 -1
- package/dist/node_modules/socket.io-parser/build/esm/index.js.map +1 -1
- package/dist/node_modules/socket.io-parser/build/esm/is-binary.js +1 -1
- package/dist/node_modules/socket.io-parser/build/esm/is-binary.js.map +1 -1
- package/dist/node_modules/style-inject/dist/style-inject.es.js +2 -0
- package/dist/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
- package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js +1 -1
- package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js.map +1 -1
- package/dist/node_modules/tslib/tslib.es6.js +1 -1
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +1 -1
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +1 -1
- package/dist/node_modules/use-sync-external-store/shim/index.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/adapter_core.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/adapter_core.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/chrome_shim.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/chrome/chrome_shim.js.map +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/chrome/getdisplaymedia.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/chrome/getdisplaymedia.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/safari/safari_shim.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/safari/safari_shim.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/services/astproxy.js +1 -1
- package/dist/services/astproxy.js.map +1 -1
- package/dist/styles/Island.styles.js +1 -1
- package/dist/styles/Island.styles.js.map +1 -1
- package/package.json +3 -2
- package/dist/node_modules/engine.io-client/build/esm/index.js +0 -2
- package/dist/node_modules/engine.io-client/build/esm/index.js.map +0 -1
|
@@ -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 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 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","_typeof","RTCPeerConnection","origAddTransceiver","prototype","addTransceiver","this","setParametersPromises","sendEncodings","arguments","undefined","shouldPerformCheck","_toConsumableArray","length","forEach","encodingParam","test","rid","TypeError","parseFloat","scaleResolutionDownBy","RangeError","maxFramerate","transceiver","apply","sender","params","getParameters","encodings","Object","keys","push","setParameters","then","catch","origCreateAnswer","createAnswer","_arguments3","_this5","Promise","all","finally","origCreateOffer","createOffer","_arguments2","_this4","RTCRtpSender","origGetParameters","concat","RTCTrackEvent","defineProperty","get","receiver","browserDetails","mozRTCPeerConnection","version","method","nativeMethod","methodObj","RTCIceCandidate","RTCSessionDescription","modernStatsTypes","inboundrtp","outboundrtp","candidatepair","localcandidate","remotecandidate","nativeGetStats","getStats","_arguments","Array","slice","call","selector","onSucc","onErr","stats","stat","type","e","name","i","set","assign","DataChannel","RTCDataChannel","RTCRtpReceiver","origGetReceivers","getReceivers","_this2","receivers","_pc","utils","srcElement","track","removeStream","stream","_this3","getSenders","getTracks","includes","removeTrack","origGetSenders","_this","senders","origAddTrack","addTrack","resolve","Map"],"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 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 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","RTCTrackEvent","defineProperty","get","receiver","browserDetails","mozRTCPeerConnection","version","method","nativeMethod","methodObj","RTCIceCandidate","RTCSessionDescription","modernStatsTypes","inboundrtp","outboundrtp","candidatepair","localcandidate","remotecandidate","nativeGetStats","getStats","selector","onSucc","onErr","stats","stat","type","e","name","i","set","assign","DataChannel","RTCDataChannel","RTCRtpReceiver","origGetReceivers","getReceivers","receivers","_pc","utils","srcElement","track","removeStream","stream","getSenders","getTracks","includes","removeTrack","origGetSenders","senders","origAddTrack","addTrack","resolve","Map"],"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||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(a){if(!a||!a.video){
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.shimGetDisplayMedia=function(e,i){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||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 &&\n 'getDisplayMedia' in window.navigator.mediaDevices) {\n return;\n }\n if (!(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,GACtCD,EAAOE,UAAUC,cACnB,oBAAqBH,EAAOE,UAAUC,cAGlCH,EAAOE,UAAUC,eAGvBH,EAAOE,UAAUC,aAAaC,gBAC5B,SAAyBC,GACvB,IAAMA,IAAeA,EAAYC,MAAQ,CACvC,
|
|
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 'getDisplayMedia' in window.navigator.mediaDevices) {\n return;\n }\n if (!(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,GACtCD,EAAOE,UAAUC,cACnB,oBAAqBH,EAAOE,UAAUC,cAGlCH,EAAOE,UAAUC,eAGvBH,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,IAExD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../utils.js");exports.shimGetUserMedia=function(t,o){const i=t&&t.navigator,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","mediaDevices","then","version","getSupportedConstraints","remap","obj","a","b","nativeGetUserMedia","bind","c","
|
|
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","mediaDevices","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,UAC7BC,EAAmBH,GAAUA,EAAOG,iBAS1C,GAPAD,EAAUE,aAAe,SAASC,EAAaC,EAAWC,GAExDC,aAAiB,yBACb,uCACJN,EAAUO,aAAaL,aAAaC,GAAaK,KAAKJ,EAAWC,MAG7DN,EAAeU,QAAU,IAC3B,oBAAqBT,EAAUO,aAAaG,2BAA4B,CAC1E,MAAMC,EAAQ,SAASC,EAAKC,EAAGC,GACzBD,KAAKD,KAASE,KAAKF,KACrBA,EAAIE,GAAKF,EAAIC,UACND,EAAIC,KAITE,EAAqBf,EAAUO,aAAaL,aAC9Cc,KAAKhB,EAAUO,cAUnB,GATAP,EAAUO,aAAaL,aAAe,SAASe,GAM7C,MALiB,iBAANA,GAAqC,iBAAZA,EAAEC,QACpCD,EAAIE,KAAKC,MAAMD,KAAKE,UAAUJ,IAC9BN,EAAMM,EAAEC,MAAO,kBAAmB,sBAClCP,EAAMM,EAAEC,MAAO,mBAAoB,wBAE9BH,EAAmBE,IAGxBhB,GAAoBA,EAAiBqB,UAAUC,YAAa,CAC9D,MAAMC,EAAoBvB,EAAiBqB,UAAUC,YACrDtB,EAAiBqB,UAAUC,YAAc,WACvC,MAAMX,EAAMY,EAAkBC,MAAMC,KAAMC,WAG1C,OAFAhB,EAAMC,EAAK,qBAAsB,mBACjCD,EAAMC,EAAK,sBAAuB,oBAC3BA,EAEX,CAEA,GAAIX,GAAoBA,EAAiBqB,UAAUM,iBAAkB,CACnE,MAAMC,EACJ5B,EAAiBqB,UAAUM,iBAC7B3B,EAAiBqB,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});var e=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../utils.js");function t(t){return t&&void 0!==t.video?Object.assign({},t,{video:e.compactObject(t.video)}):t}exports.shimAudioContext=function(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)},exports.shimCallbacksAPI=function(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,r=t.createOffer,o=t.createAnswer,i=t.setLocalDescription,n=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){const o=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[o]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){const r=arguments.length>=2?arguments[2]:arguments[0],i=o.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i};let c=function(e,t,r){const o=i.apply(this,[e]);return r?(o.then(t,r),Promise.resolve()):o};t.setLocalDescription=c,c=function(e,t,r){const o=n.apply(this,[e]);return r?(o.then(t,r),Promise.resolve()):o},t.setRemoteDescription=c,c=function(e,t,r){const o=s.apply(this,[e]);return r?(o.then(t,r),Promise.resolve()):o},t.addIceCandidate=c},exports.shimConstraints=t,exports.shimCreateOfferLegacy=function(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find((e=>"audio"===e.receiver.track.kind));!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio",{direction:"recvonly"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const r=this.getTransceivers().find((e=>"video"===e.receiver.track.kind));!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}},exports.shimGetUserMedia=function(e){const r=e&&e.navigator;if(r.mediaDevices&&r.mediaDevices.getUserMedia){const e=r.mediaDevices,o=e.getUserMedia.bind(e);r.mediaDevices.getUserMedia=e=>o(t(e))}!r.getUserMedia&&r.mediaDevices&&r.mediaDevices.getUserMedia&&(r.getUserMedia=function(e,t,o){r.mediaDevices.getUserMedia(e).then(t,o)}.bind(r))},exports.shimLocalStreamsAPI=function(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((r=>t.call(this,r,e))),e.getVideoTracks().forEach((r=>t.call(this,r,e)))},e.RTCPeerConnection.prototype.addTrack=function(e){for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];return o&&o.forEach((e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]})),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const r=e.getTracks();this.getSenders().forEach((e=>{r.includes(e.track)&&this.removeTrack(e)}))})}},exports.shimRTCIceServerUrls=function(t){if(!t.RTCPeerConnection)return;const r=t.RTCPeerConnection;t.RTCPeerConnection=function(t,o){if(t&&t.iceServers){const r=[];for(let o=0;o<t.iceServers.length;o++){let i=t.iceServers[o];!i.hasOwnProperty("urls")&&i.hasOwnProperty("url")?(e.deprecated("RTCIceServer.url","RTCIceServer.urls"),i=JSON.parse(JSON.stringify(i)),i.urls=i.url,delete i.url,r.push(i)):r.push(t.iceServers[o])}t.iceServers=r}return new r(t,o)},t.RTCPeerConnection.prototype=r.prototype,"generateCertificate"in r&&Object.defineProperty(t.RTCPeerConnection,"generateCertificate",{get:()=>r.generateCertificate})},exports.shimRemoteStreamsAPI=function(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach((e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach((t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const r=new Event("addstream");r.stream=t,e.dispatchEvent(r)}))}),t.apply(e,arguments)}}},exports.shimTrackEventTransceiver=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}}})};
|
|
2
2
|
//# sourceMappingURL=safari_shim.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari_shim.js","sources":["../../../../../../node_modules/webrtc-adapter/src/js/safari/safari_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'use strict';\nimport * as utils from '../utils';\n\nexport function shimLocalStreamsAPI(window) {\n if (typeof window !== 'object' || !window.RTCPeerConnection) {\n return;\n }\n if (!('getLocalStreams' in window.RTCPeerConnection.prototype)) {\n window.RTCPeerConnection.prototype.getLocalStreams =\n function getLocalStreams() {\n if (!this._localStreams) {\n this._localStreams = [];\n }\n return this._localStreams;\n };\n }\n if (!('addStream' in window.RTCPeerConnection.prototype)) {\n const _addTrack = window.RTCPeerConnection.prototype.addTrack;\n window.RTCPeerConnection.prototype.addStream = function addStream(stream) {\n if (!this._localStreams) {\n this._localStreams = [];\n }\n if (!this._localStreams.includes(stream)) {\n this._localStreams.push(stream);\n }\n // Try to emulate Chrome's behaviour of adding in audio-video order.\n // Safari orders by track id.\n stream.getAudioTracks().forEach(track => _addTrack.call(this, track,\n stream));\n stream.getVideoTracks().forEach(track => _addTrack.call(this, track,\n stream));\n };\n\n window.RTCPeerConnection.prototype.addTrack =\n function addTrack(track, ...streams) {\n if (streams) {\n streams.forEach((stream) => {\n if (!this._localStreams) {\n this._localStreams = [stream];\n } else if (!this._localStreams.includes(stream)) {\n this._localStreams.push(stream);\n }\n });\n }\n return _addTrack.apply(this, arguments);\n };\n }\n if (!('removeStream' in window.RTCPeerConnection.prototype)) {\n window.RTCPeerConnection.prototype.removeStream =\n function removeStream(stream) {\n if (!this._localStreams) {\n this._localStreams = [];\n }\n const index = this._localStreams.indexOf(stream);\n if (index === -1) {\n return;\n }\n this._localStreams.splice(index, 1);\n const tracks = stream.getTracks();\n this.getSenders().forEach(sender => {\n if (tracks.includes(sender.track)) {\n this.removeTrack(sender);\n }\n });\n };\n }\n}\n\nexport function shimRemoteStreamsAPI(window) {\n if (typeof window !== 'object' || !window.RTCPeerConnection) {\n return;\n }\n if (!('getRemoteStreams' in window.RTCPeerConnection.prototype)) {\n window.RTCPeerConnection.prototype.getRemoteStreams =\n function getRemoteStreams() {\n return this._remoteStreams ? this._remoteStreams : [];\n };\n }\n if (!('onaddstream' in window.RTCPeerConnection.prototype)) {\n Object.defineProperty(window.RTCPeerConnection.prototype, 'onaddstream', {\n get() {\n return this._onaddstream;\n },\n set(f) {\n if (this._onaddstream) {\n this.removeEventListener('addstream', this._onaddstream);\n this.removeEventListener('track', this._onaddstreampoly);\n }\n this.addEventListener('addstream', this._onaddstream = f);\n this.addEventListener('track', this._onaddstreampoly = (e) => {\n e.streams.forEach(stream => {\n if (!this._remoteStreams) {\n this._remoteStreams = [];\n }\n if (this._remoteStreams.includes(stream)) {\n return;\n }\n this._remoteStreams.push(stream);\n const event = new Event('addstream');\n event.stream = stream;\n this.dispatchEvent(event);\n });\n });\n }\n });\n const origSetRemoteDescription =\n window.RTCPeerConnection.prototype.setRemoteDescription;\n window.RTCPeerConnection.prototype.setRemoteDescription =\n function setRemoteDescription() {\n const pc = this;\n if (!this._onaddstreampoly) {\n this.addEventListener('track', this._onaddstreampoly = function(e) {\n e.streams.forEach(stream => {\n if (!pc._remoteStreams) {\n pc._remoteStreams = [];\n }\n if (pc._remoteStreams.indexOf(stream) >= 0) {\n return;\n }\n pc._remoteStreams.push(stream);\n const event = new Event('addstream');\n event.stream = stream;\n pc.dispatchEvent(event);\n });\n });\n }\n return origSetRemoteDescription.apply(pc, arguments);\n };\n }\n}\n\nexport function shimCallbacksAPI(window) {\n if (typeof window !== 'object' || !window.RTCPeerConnection) {\n return;\n }\n const prototype = window.RTCPeerConnection.prototype;\n const origCreateOffer = prototype.createOffer;\n const origCreateAnswer = prototype.createAnswer;\n const setLocalDescription = prototype.setLocalDescription;\n const setRemoteDescription = prototype.setRemoteDescription;\n const addIceCandidate = prototype.addIceCandidate;\n\n prototype.createOffer =\n function createOffer(successCallback, failureCallback) {\n const options = (arguments.length >= 2) ? arguments[2] : arguments[0];\n const promise = origCreateOffer.apply(this, [options]);\n if (!failureCallback) {\n return promise;\n }\n promise.then(successCallback, failureCallback);\n return Promise.resolve();\n };\n\n prototype.createAnswer =\n function createAnswer(successCallback, failureCallback) {\n const options = (arguments.length >= 2) ? arguments[2] : arguments[0];\n const promise = origCreateAnswer.apply(this, [options]);\n if (!failureCallback) {\n return promise;\n }\n promise.then(successCallback, failureCallback);\n return Promise.resolve();\n };\n\n let withCallback = function(description, successCallback, failureCallback) {\n const promise = setLocalDescription.apply(this, [description]);\n if (!failureCallback) {\n return promise;\n }\n promise.then(successCallback, failureCallback);\n return Promise.resolve();\n };\n prototype.setLocalDescription = withCallback;\n\n withCallback = function(description, successCallback, failureCallback) {\n const promise = setRemoteDescription.apply(this, [description]);\n if (!failureCallback) {\n return promise;\n }\n promise.then(successCallback, failureCallback);\n return Promise.resolve();\n };\n prototype.setRemoteDescription = withCallback;\n\n withCallback = function(candidate, successCallback, failureCallback) {\n const promise = addIceCandidate.apply(this, [candidate]);\n if (!failureCallback) {\n return promise;\n }\n promise.then(successCallback, failureCallback);\n return Promise.resolve();\n };\n prototype.addIceCandidate = withCallback;\n}\n\nexport function shimGetUserMedia(window) {\n const navigator = window && window.navigator;\n\n if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {\n // shim not needed in Safari 12.1\n const mediaDevices = navigator.mediaDevices;\n const _getUserMedia = mediaDevices.getUserMedia.bind(mediaDevices);\n navigator.mediaDevices.getUserMedia = (constraints) => {\n return _getUserMedia(shimConstraints(constraints));\n };\n }\n\n if (!navigator.getUserMedia && navigator.mediaDevices &&\n navigator.mediaDevices.getUserMedia) {\n navigator.getUserMedia = function getUserMedia(constraints, cb, errcb) {\n navigator.mediaDevices.getUserMedia(constraints)\n .then(cb, errcb);\n }.bind(navigator);\n }\n}\n\nexport function shimConstraints(constraints) {\n if (constraints && constraints.video !== undefined) {\n return Object.assign({},\n constraints,\n {video: utils.compactObject(constraints.video)}\n );\n }\n\n return constraints;\n}\n\nexport function shimRTCIceServerUrls(window) {\n if (!window.RTCPeerConnection) {\n return;\n }\n // migrate from non-spec RTCIceServer.url to RTCIceServer.urls\n const OrigPeerConnection = window.RTCPeerConnection;\n window.RTCPeerConnection =\n function RTCPeerConnection(pcConfig, pcConstraints) {\n if (pcConfig && pcConfig.iceServers) {\n const newIceServers = [];\n for (let i = 0; i < pcConfig.iceServers.length; i++) {\n let server = pcConfig.iceServers[i];\n if (!server.hasOwnProperty('urls') &&\n server.hasOwnProperty('url')) {\n utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls');\n server = JSON.parse(JSON.stringify(server));\n server.urls = server.url;\n delete server.url;\n newIceServers.push(server);\n } else {\n newIceServers.push(pcConfig.iceServers[i]);\n }\n }\n pcConfig.iceServers = newIceServers;\n }\n return new OrigPeerConnection(pcConfig, pcConstraints);\n };\n window.RTCPeerConnection.prototype = OrigPeerConnection.prototype;\n // wrap static methods. Currently just generateCertificate.\n if ('generateCertificate' in OrigPeerConnection) {\n Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n get() {\n return OrigPeerConnection.generateCertificate;\n }\n });\n }\n}\n\nexport function shimTrackEventTransceiver(window) {\n // Add event.transceiver member over deprecated event.receiver\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 shimCreateOfferLegacy(window) {\n const origCreateOffer = window.RTCPeerConnection.prototype.createOffer;\n window.RTCPeerConnection.prototype.createOffer =\n function createOffer(offerOptions) {\n if (offerOptions) {\n if (typeof offerOptions.offerToReceiveAudio !== 'undefined') {\n // support bit values\n offerOptions.offerToReceiveAudio =\n !!offerOptions.offerToReceiveAudio;\n }\n const audioTransceiver = this.getTransceivers().find(transceiver =>\n transceiver.receiver.track.kind === 'audio');\n if (offerOptions.offerToReceiveAudio === false && audioTransceiver) {\n if (audioTransceiver.direction === 'sendrecv') {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('sendonly');\n } else {\n audioTransceiver.direction = 'sendonly';\n }\n } else if (audioTransceiver.direction === 'recvonly') {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('inactive');\n } else {\n audioTransceiver.direction = 'inactive';\n }\n }\n } else if (offerOptions.offerToReceiveAudio === true &&\n !audioTransceiver) {\n this.addTransceiver('audio', {direction: 'recvonly'});\n }\n\n if (typeof offerOptions.offerToReceiveVideo !== 'undefined') {\n // support bit values\n offerOptions.offerToReceiveVideo =\n !!offerOptions.offerToReceiveVideo;\n }\n const videoTransceiver = this.getTransceivers().find(transceiver =>\n transceiver.receiver.track.kind === 'video');\n if (offerOptions.offerToReceiveVideo === false && videoTransceiver) {\n if (videoTransceiver.direction === 'sendrecv') {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('sendonly');\n } else {\n videoTransceiver.direction = 'sendonly';\n }\n } else if (videoTransceiver.direction === 'recvonly') {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('inactive');\n } else {\n videoTransceiver.direction = 'inactive';\n }\n }\n } else if (offerOptions.offerToReceiveVideo === true &&\n !videoTransceiver) {\n this.addTransceiver('video', {direction: 'recvonly'});\n }\n }\n return origCreateOffer.apply(this, arguments);\n };\n}\n\nexport function shimAudioContext(window) {\n if (typeof window !== 'object' || window.AudioContext) {\n return;\n }\n window.AudioContext = window.webkitAudioContext;\n}\n\n"],"names":["shimConstraints","constraints","undefined","video","Object","assign","utils","window","_typeof","AudioContext","webkitAudioContext","RTCPeerConnection","prototype","origCreateOffer","createOffer","origCreateAnswer","createAnswer","setLocalDescription","setRemoteDescription","addIceCandidate","successCallback","failureCallback","options","arguments","length","promise","apply","this","then","Promise","resolve","withCallback","description","candidate","offerOptions","offerToReceiveAudio","audioTransceiver","getTransceivers","find","transceiver","receiver","track","kind","direction","setDirection","addTransceiver","offerToReceiveVideo","videoTransceiver","navigator","mediaDevices","getUserMedia","_getUserMedia","bind","cb","errcb","getLocalStreams","_localStreams","_addTrack","addTrack","addStream","stream","_this","includes","push","getAudioTracks","forEach","call","getVideoTracks","_this2","_len","streams","Array","_key","removeStream","_this3","index","indexOf","splice","tracks","getTracks","getSenders","sender","removeTrack","OrigPeerConnection","pcConfig","pcConstraints","iceServers","newIceServers","i","server","hasOwnProperty","JSON","parse","stringify","urls","url","defineProperty","get","generateCertificate","getRemoteStreams","_remoteStreams","_onaddstream","set","f","_this4","removeEventListener","_onaddstreampoly","addEventListener","e","event","Event","dispatchEvent","origSetRemoteDescription","pc","RTCTrackEvent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"safari_shim.js","sources":["../../../../../../node_modules/webrtc-adapter/src/js/safari/safari_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'use strict';\nimport * as utils from '../utils';\n\nexport function shimLocalStreamsAPI(window) {\n if (typeof window !== 'object' || !window.RTCPeerConnection) {\n return;\n }\n if (!('getLocalStreams' in window.RTCPeerConnection.prototype)) {\n window.RTCPeerConnection.prototype.getLocalStreams =\n function getLocalStreams() {\n if (!this._localStreams) {\n this._localStreams = [];\n }\n return this._localStreams;\n };\n }\n if (!('addStream' in window.RTCPeerConnection.prototype)) {\n const _addTrack = window.RTCPeerConnection.prototype.addTrack;\n window.RTCPeerConnection.prototype.addStream = function addStream(stream) {\n if (!this._localStreams) {\n this._localStreams = [];\n }\n if (!this._localStreams.includes(stream)) {\n this._localStreams.push(stream);\n }\n // Try to emulate Chrome's behaviour of adding in audio-video order.\n // Safari orders by track id.\n stream.getAudioTracks().forEach(track => _addTrack.call(this, track,\n stream));\n stream.getVideoTracks().forEach(track => _addTrack.call(this, track,\n stream));\n };\n\n window.RTCPeerConnection.prototype.addTrack =\n function addTrack(track, ...streams) {\n if (streams) {\n streams.forEach((stream) => {\n if (!this._localStreams) {\n this._localStreams = [stream];\n } else if (!this._localStreams.includes(stream)) {\n this._localStreams.push(stream);\n }\n });\n }\n return _addTrack.apply(this, arguments);\n };\n }\n if (!('removeStream' in window.RTCPeerConnection.prototype)) {\n window.RTCPeerConnection.prototype.removeStream =\n function removeStream(stream) {\n if (!this._localStreams) {\n this._localStreams = [];\n }\n const index = this._localStreams.indexOf(stream);\n if (index === -1) {\n return;\n }\n this._localStreams.splice(index, 1);\n const tracks = stream.getTracks();\n this.getSenders().forEach(sender => {\n if (tracks.includes(sender.track)) {\n this.removeTrack(sender);\n }\n });\n };\n }\n}\n\nexport function shimRemoteStreamsAPI(window) {\n if (typeof window !== 'object' || !window.RTCPeerConnection) {\n return;\n }\n if (!('getRemoteStreams' in window.RTCPeerConnection.prototype)) {\n window.RTCPeerConnection.prototype.getRemoteStreams =\n function getRemoteStreams() {\n return this._remoteStreams ? this._remoteStreams : [];\n };\n }\n if (!('onaddstream' in window.RTCPeerConnection.prototype)) {\n Object.defineProperty(window.RTCPeerConnection.prototype, 'onaddstream', {\n get() {\n return this._onaddstream;\n },\n set(f) {\n if (this._onaddstream) {\n this.removeEventListener('addstream', this._onaddstream);\n this.removeEventListener('track', this._onaddstreampoly);\n }\n this.addEventListener('addstream', this._onaddstream = f);\n this.addEventListener('track', this._onaddstreampoly = (e) => {\n e.streams.forEach(stream => {\n if (!this._remoteStreams) {\n this._remoteStreams = [];\n }\n if (this._remoteStreams.includes(stream)) {\n return;\n }\n this._remoteStreams.push(stream);\n const event = new Event('addstream');\n event.stream = stream;\n this.dispatchEvent(event);\n });\n });\n }\n });\n const origSetRemoteDescription =\n window.RTCPeerConnection.prototype.setRemoteDescription;\n window.RTCPeerConnection.prototype.setRemoteDescription =\n function setRemoteDescription() {\n const pc = this;\n if (!this._onaddstreampoly) {\n this.addEventListener('track', this._onaddstreampoly = function(e) {\n e.streams.forEach(stream => {\n if (!pc._remoteStreams) {\n pc._remoteStreams = [];\n }\n if (pc._remoteStreams.indexOf(stream) >= 0) {\n return;\n }\n pc._remoteStreams.push(stream);\n const event = new Event('addstream');\n event.stream = stream;\n pc.dispatchEvent(event);\n });\n });\n }\n return origSetRemoteDescription.apply(pc, arguments);\n };\n }\n}\n\nexport function shimCallbacksAPI(window) {\n if (typeof window !== 'object' || !window.RTCPeerConnection) {\n return;\n }\n const prototype = window.RTCPeerConnection.prototype;\n const origCreateOffer = prototype.createOffer;\n const origCreateAnswer = prototype.createAnswer;\n const setLocalDescription = prototype.setLocalDescription;\n const setRemoteDescription = prototype.setRemoteDescription;\n const addIceCandidate = prototype.addIceCandidate;\n\n prototype.createOffer =\n function createOffer(successCallback, failureCallback) {\n const options = (arguments.length >= 2) ? arguments[2] : arguments[0];\n const promise = origCreateOffer.apply(this, [options]);\n if (!failureCallback) {\n return promise;\n }\n promise.then(successCallback, failureCallback);\n return Promise.resolve();\n };\n\n prototype.createAnswer =\n function createAnswer(successCallback, failureCallback) {\n const options = (arguments.length >= 2) ? arguments[2] : arguments[0];\n const promise = origCreateAnswer.apply(this, [options]);\n if (!failureCallback) {\n return promise;\n }\n promise.then(successCallback, failureCallback);\n return Promise.resolve();\n };\n\n let withCallback = function(description, successCallback, failureCallback) {\n const promise = setLocalDescription.apply(this, [description]);\n if (!failureCallback) {\n return promise;\n }\n promise.then(successCallback, failureCallback);\n return Promise.resolve();\n };\n prototype.setLocalDescription = withCallback;\n\n withCallback = function(description, successCallback, failureCallback) {\n const promise = setRemoteDescription.apply(this, [description]);\n if (!failureCallback) {\n return promise;\n }\n promise.then(successCallback, failureCallback);\n return Promise.resolve();\n };\n prototype.setRemoteDescription = withCallback;\n\n withCallback = function(candidate, successCallback, failureCallback) {\n const promise = addIceCandidate.apply(this, [candidate]);\n if (!failureCallback) {\n return promise;\n }\n promise.then(successCallback, failureCallback);\n return Promise.resolve();\n };\n prototype.addIceCandidate = withCallback;\n}\n\nexport function shimGetUserMedia(window) {\n const navigator = window && window.navigator;\n\n if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {\n // shim not needed in Safari 12.1\n const mediaDevices = navigator.mediaDevices;\n const _getUserMedia = mediaDevices.getUserMedia.bind(mediaDevices);\n navigator.mediaDevices.getUserMedia = (constraints) => {\n return _getUserMedia(shimConstraints(constraints));\n };\n }\n\n if (!navigator.getUserMedia && navigator.mediaDevices &&\n navigator.mediaDevices.getUserMedia) {\n navigator.getUserMedia = function getUserMedia(constraints, cb, errcb) {\n navigator.mediaDevices.getUserMedia(constraints)\n .then(cb, errcb);\n }.bind(navigator);\n }\n}\n\nexport function shimConstraints(constraints) {\n if (constraints && constraints.video !== undefined) {\n return Object.assign({},\n constraints,\n {video: utils.compactObject(constraints.video)}\n );\n }\n\n return constraints;\n}\n\nexport function shimRTCIceServerUrls(window) {\n if (!window.RTCPeerConnection) {\n return;\n }\n // migrate from non-spec RTCIceServer.url to RTCIceServer.urls\n const OrigPeerConnection = window.RTCPeerConnection;\n window.RTCPeerConnection =\n function RTCPeerConnection(pcConfig, pcConstraints) {\n if (pcConfig && pcConfig.iceServers) {\n const newIceServers = [];\n for (let i = 0; i < pcConfig.iceServers.length; i++) {\n let server = pcConfig.iceServers[i];\n if (!server.hasOwnProperty('urls') &&\n server.hasOwnProperty('url')) {\n utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls');\n server = JSON.parse(JSON.stringify(server));\n server.urls = server.url;\n delete server.url;\n newIceServers.push(server);\n } else {\n newIceServers.push(pcConfig.iceServers[i]);\n }\n }\n pcConfig.iceServers = newIceServers;\n }\n return new OrigPeerConnection(pcConfig, pcConstraints);\n };\n window.RTCPeerConnection.prototype = OrigPeerConnection.prototype;\n // wrap static methods. Currently just generateCertificate.\n if ('generateCertificate' in OrigPeerConnection) {\n Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n get() {\n return OrigPeerConnection.generateCertificate;\n }\n });\n }\n}\n\nexport function shimTrackEventTransceiver(window) {\n // Add event.transceiver member over deprecated event.receiver\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 shimCreateOfferLegacy(window) {\n const origCreateOffer = window.RTCPeerConnection.prototype.createOffer;\n window.RTCPeerConnection.prototype.createOffer =\n function createOffer(offerOptions) {\n if (offerOptions) {\n if (typeof offerOptions.offerToReceiveAudio !== 'undefined') {\n // support bit values\n offerOptions.offerToReceiveAudio =\n !!offerOptions.offerToReceiveAudio;\n }\n const audioTransceiver = this.getTransceivers().find(transceiver =>\n transceiver.receiver.track.kind === 'audio');\n if (offerOptions.offerToReceiveAudio === false && audioTransceiver) {\n if (audioTransceiver.direction === 'sendrecv') {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('sendonly');\n } else {\n audioTransceiver.direction = 'sendonly';\n }\n } else if (audioTransceiver.direction === 'recvonly') {\n if (audioTransceiver.setDirection) {\n audioTransceiver.setDirection('inactive');\n } else {\n audioTransceiver.direction = 'inactive';\n }\n }\n } else if (offerOptions.offerToReceiveAudio === true &&\n !audioTransceiver) {\n this.addTransceiver('audio', {direction: 'recvonly'});\n }\n\n if (typeof offerOptions.offerToReceiveVideo !== 'undefined') {\n // support bit values\n offerOptions.offerToReceiveVideo =\n !!offerOptions.offerToReceiveVideo;\n }\n const videoTransceiver = this.getTransceivers().find(transceiver =>\n transceiver.receiver.track.kind === 'video');\n if (offerOptions.offerToReceiveVideo === false && videoTransceiver) {\n if (videoTransceiver.direction === 'sendrecv') {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('sendonly');\n } else {\n videoTransceiver.direction = 'sendonly';\n }\n } else if (videoTransceiver.direction === 'recvonly') {\n if (videoTransceiver.setDirection) {\n videoTransceiver.setDirection('inactive');\n } else {\n videoTransceiver.direction = 'inactive';\n }\n }\n } else if (offerOptions.offerToReceiveVideo === true &&\n !videoTransceiver) {\n this.addTransceiver('video', {direction: 'recvonly'});\n }\n }\n return origCreateOffer.apply(this, arguments);\n };\n}\n\nexport function shimAudioContext(window) {\n if (typeof window !== 'object' || window.AudioContext) {\n return;\n }\n window.AudioContext = window.webkitAudioContext;\n}\n\n"],"names":["shimConstraints","constraints","undefined","video","Object","assign","utils","window","AudioContext","webkitAudioContext","RTCPeerConnection","prototype","origCreateOffer","createOffer","origCreateAnswer","createAnswer","setLocalDescription","setRemoteDescription","addIceCandidate","successCallback","failureCallback","options","arguments","length","promise","apply","this","then","Promise","resolve","withCallback","description","candidate","offerOptions","offerToReceiveAudio","audioTransceiver","getTransceivers","find","transceiver","receiver","track","kind","direction","setDirection","addTransceiver","offerToReceiveVideo","videoTransceiver","navigator","mediaDevices","getUserMedia","_getUserMedia","bind","cb","errcb","getLocalStreams","_localStreams","_addTrack","addTrack","addStream","stream","includes","push","getAudioTracks","forEach","call","getVideoTracks","_len","streams","Array","_key","removeStream","index","indexOf","splice","tracks","getTracks","getSenders","sender","removeTrack","OrigPeerConnection","pcConfig","pcConstraints","iceServers","newIceServers","i","server","hasOwnProperty","JSON","parse","stringify","urls","url","defineProperty","get","generateCertificate","getRemoteStreams","_remoteStreams","_onaddstream","set","f","removeEventListener","_onaddstreampoly","addEventListener","e","event","Event","dispatchEvent","origSetRemoteDescription","pc","RTCTrackEvent"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
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&&parseInt(r[n],10)}function r(e){return"[object Object]"===Object.prototype.toString.call(e)}function o(e,t,n){t&&!n.has(t.id)&&(n.set(t.id,t),Object.keys(t).forEach((r=>{r.endsWith("Id")?o(e,e.get(t[r]),n):r.endsWith("Ids")&&t[r].forEach((t=>{o(e,e.get(t),n)}))})))}exports.compactObject=function e(t){return r(t)?Object.keys(t).reduce((function(n,o){const s=r(t[o]),i=s?e(t[o]):t[o],a=s&&!Object.keys(i).length;return void 0===i||a?n:Object.assign(n,{[o]: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)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.mozGetUserMedia)t.browser="firefox",t.version=n(r.userAgent,/Firefox\/(\d+)\./,1);else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=n(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=n(r.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}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",s=new Map;if(null===t)return s;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&&o(e,n,s)}))})),s},exports.log=function(){if("object"==typeof window){if(e)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}},exports.walkStats=o,exports.wrapPeerConnectionEvent=function(e,t,n){if(!e.RTCPeerConnection)return;const r=e.RTCPeerConnection.prototype,o=r.addEventListener;r.addEventListener=function(e,r){if(e!==t)return o.apply(this,arguments);const s=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,s),o.apply(this,[e,s])};const s=r.removeEventListener;r.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t])return s.apply(this,arguments);if(!this._eventMap[t].has(n))return s.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,s.apply(this,[e,r])},Object.defineProperty(r,"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 && parseInt(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 proto = window.RTCPeerConnection.prototype;\n const nativeAddEventListener = proto.addEventListener;\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 result.browser = 'Not a browser.';\n return result;\n }\n\n const {navigator} = window;\n\n if (navigator.mozGetUserMedia) { // Firefox.\n result.browser = 'firefox';\n result.version = 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 = extractVersion(navigator.userAgent,\n /Chrom(e|ium)\\/(\\d+)\\./, 2);\n } else if (window.RTCPeerConnection &&\n navigator.userAgent.match(/AppleWebKit\\/(\\d+)\\./)) { // Safari.\n result.browser = 'safari';\n result.version = extractVersion(navigator.userAgent,\n /AppleWebKit\\/(\\d+)\\./, 1);\n result.supportsUnifiedPlan = window.RTCRtpTransceiver &&\n 'currentDirection' in window.RTCRtpTransceiver.prototype;\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","parseInt","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","console","warn","window","result","browser","version","navigator","mozGetUserMedia","userAgent","webkitGetUserMedia","isSecureContext","webkitRTCPeerConnection","RTCPeerConnection","supportsUnifiedPlan","RTCRtpTransceiver","bool","Error","track","outbound","streamStatsType","filteredResult","Map","trackStats","type","trackIdentifier","push","trackStat","trackId","_typeof","log","apply","arguments","eventNameToWrap","wrapper","proto","nativeAddEventListener","addEventListener","nativeEventName","cb","this","wrappedCallback","e","modifiedEvent","handleEvent","_eventMap","nativeRemoveEventListener","removeEventListener","unwrappedCb","delete","size","defineProperty","enumerable","configurable"],"mappings":"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"}
|
|
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 && parseInt(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 proto = window.RTCPeerConnection.prototype;\n const nativeAddEventListener = proto.addEventListener;\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 result.browser = 'Not a browser.';\n return result;\n }\n\n const {navigator} = window;\n\n if (navigator.mozGetUserMedia) { // Firefox.\n result.browser = 'firefox';\n result.version = 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 = extractVersion(navigator.userAgent,\n /Chrom(e|ium)\\/(\\d+)\\./, 2);\n } else if (window.RTCPeerConnection &&\n navigator.userAgent.match(/AppleWebKit\\/(\\d+)\\./)) { // Safari.\n result.browser = 'safari';\n result.version = extractVersion(navigator.userAgent,\n /AppleWebKit\\/(\\d+)\\./, 1);\n result.supportsUnifiedPlan = window.RTCRtpTransceiver &&\n 'currentDirection' in window.RTCRtpTransceiver.prototype;\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","parseInt","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","console","warn","window","result","browser","version","navigator","mozGetUserMedia","userAgent","webkitGetUserMedia","isSecureContext","webkitRTCPeerConnection","RTCPeerConnection","supportsUnifiedPlan","RTCRtpTransceiver","bool","Error","track","outbound","streamStatsType","filteredResult","Map","trackStats","type","trackIdentifier","push","trackStat","trackId","log","apply","arguments","eventNameToWrap","wrapper","proto","nativeAddEventListener","addEventListener","nativeEventName","cb","this","wrappedCallback","e","modifiedEvent","handleEvent","_eventMap","nativeRemoveEventListener","removeEventListener","unwrappedCb","delete","size","defineProperty","enumerable","configurable"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../node_modules/tslib/tslib.es6.js"),t=require("../store/index.js");exports.attendedTransfer=function(r){return e.__awaiter(this,void 0,void 0,(function(){var s,n,a,o,i;return e.__generator(this,(function(u){switch(u.label){case 0:return u.trys.push([0,2,,3]),s=t.store.getState().fetchDefaults,n=s.baseURL,a=s.headers,[4,fetch("".concat(n,"/astproxy/atxfer"),{method:"POST",headers:e.__assign({},a),body:JSON.stringify(r)})];case 1:if(!(o=u.sent()).ok)throw new Error(o.statusText);return[2,!0];case 2:throw i=u.sent(),new Error(i);case 3:return[2]}}))}))},exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../node_modules/tslib/tslib.es6.js"),t=require("../store/index.js");exports.attendedTransfer=function(r){return e.__awaiter(this,void 0,void 0,(function(){var s,n,a,o,i;return e.__generator(this,(function(u){switch(u.label){case 0:return u.trys.push([0,2,,3]),s=t.store.getState().fetchDefaults,n=s.baseURL,a=s.headers,[4,fetch("".concat(n,"/astproxy/atxfer"),{method:"POST",headers:e.__assign({},a),body:JSON.stringify(r)})];case 1:if(!(o=u.sent()).ok)throw new Error(o.statusText);return[2,!0];case 2:throw i=u.sent(),new Error(i);case 3:return[2]}}))}))},exports.getAllExtensions=function(){return e.__awaiter(this,void 0,void 0,(function(){var r,s,n,a,o;return e.__generator(this,(function(i){switch(i.label){case 0:return i.trys.push([0,3,,4]),r=t.store.getState().fetchDefaults,s=r.baseURL,n=r.headers,[4,fetch("".concat(s,"/astproxy/extensions"),{headers:e.__assign({},n)})];case 1:if(!(a=i.sent()).ok)throw new Error(a.statusText);return[4,a.json()];case 2:return[2,i.sent()];case 3:throw o=i.sent(),new Error(o);case 4:return[2]}}))}))};
|
|
2
2
|
//# sourceMappingURL=astproxy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astproxy.js","sources":["../../src/services/astproxy.ts"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { store } from '../store'\nimport { TransferTypes } from '../types'\n\n/**\n * Get all extensions\n */\nexport async function getAllExtensions() {\n try {\n const { baseURL, headers } = store.getState().fetchDefaults\n const response = await fetch(`${baseURL}/astproxy/extensions`, {\n headers: { ...headers },\n })\n if (!response.ok) {\n throw new Error(response.statusText)\n }\n const data = await response.json()\n return data\n } catch (error: any) {\n throw new Error(error)\n }\n}\n\n/**\n * Start blind transfer\n */\nexport async function blindTransfer(body: TransferTypes) {\n try {\n const { baseURL, headers } = store.getState().fetchDefaults\n const response = await fetch(`${baseURL}/astproxy/blindtransfer`, {\n method: 'POST',\n headers: { ...headers },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n throw new Error(response.statusText)\n }\n return true\n } catch (error: any) {\n throw new Error(error)\n }\n}\n\n/**\n * Start attended transfer\n */\nexport async function attendedTransfer(body: TransferTypes) {\n try {\n const { baseURL, headers } = store.getState().fetchDefaults\n const response = await fetch(`${baseURL}/astproxy/atxfer`, {\n method: 'POST',\n headers: { ...headers },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n throw new Error(response.statusText)\n }\n return true\n } catch (error: any) {\n throw new Error(error)\n }\n}\n"],"names":["body","_a","store","getState","fetchDefaults","baseURL","headers","fetch","concat","method","__assign","JSON","stringify","response","_b","sent","ok","Error","statusText","error_3","
|
|
1
|
+
{"version":3,"file":"astproxy.js","sources":["../../src/services/astproxy.ts"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { store } from '../store'\nimport { TransferTypes } from '../types'\n\n/**\n * Get all extensions\n */\nexport async function getAllExtensions() {\n try {\n const { baseURL, headers } = store.getState().fetchDefaults\n const response = await fetch(`${baseURL}/astproxy/extensions`, {\n headers: { ...headers },\n })\n if (!response.ok) {\n throw new Error(response.statusText)\n }\n const data = await response.json()\n return data\n } catch (error: any) {\n throw new Error(error)\n }\n}\n\n/**\n * Start blind transfer\n */\nexport async function blindTransfer(body: TransferTypes) {\n try {\n const { baseURL, headers } = store.getState().fetchDefaults\n const response = await fetch(`${baseURL}/astproxy/blindtransfer`, {\n method: 'POST',\n headers: { ...headers },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n throw new Error(response.statusText)\n }\n return true\n } catch (error: any) {\n throw new Error(error)\n }\n}\n\n/**\n * Start attended transfer\n */\nexport async function attendedTransfer(body: TransferTypes) {\n try {\n const { baseURL, headers } = store.getState().fetchDefaults\n const response = await fetch(`${baseURL}/astproxy/atxfer`, {\n method: 'POST',\n headers: { ...headers },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n throw new Error(response.statusText)\n }\n return true\n } catch (error: any) {\n throw new Error(error)\n }\n}\n"],"names":["body","_a","store","getState","fetchDefaults","baseURL","headers","fetch","concat","method","__assign","JSON","stringify","response","_b","sent","ok","Error","statusText","error_3","json","error_1"],"mappings":"gLAgDM,SAAiCA,iIAGlB,6BADXC,EAAuBC,EAAKA,MAACC,WAAWC,cAAtCC,EAAOJ,EAAAI,QAAEC,EAAOL,EAAAK,QACP,CAAA,EAAMC,MAAM,GAAGC,OAAAH,sBAA2B,CACzDI,OAAQ,OACRH,QAAOI,EAAAA,SAAA,CAAA,EAAOJ,GACdN,KAAMW,KAAKC,UAAUZ,aAEvB,KALMa,EAAWC,EAIfC,QACYC,GACZ,MAAM,IAAIC,MAAMJ,EAASK,YAE3B,MAAA,CAAA,GAAO,UAEP,iBAAM,IAAID,MAAME,0BAEnB,oKAnDoB,6BADXlB,EAAuBC,EAAKA,MAACC,WAAWC,cAAtCC,EAAOJ,EAAAI,QAAEC,EAAOL,EAAAK,QACP,CAAA,EAAMC,MAAM,GAAGC,OAAAH,0BAA+B,CAC7DC,QAAOI,EAAAA,SAAA,CAAA,EAAOJ,aAEhB,KAHMO,EAAWC,EAEfC,QACYC,GACZ,MAAM,IAAIC,MAAMJ,EAASK,YAEd,MAAA,CAAA,EAAML,EAASO,eAC5B,MAAA,CAAA,EADaN,EAAqBC,eAGlC,iBAAM,IAAIE,MAAMI,0BAEnB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../node_modules/tslib/tslib.es6.js"),n=require("../node_modules/styled-components/dist/styled-components.browser.esm.js"),t=n.default.div(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../node_modules/tslib/tslib.es6.js"),n=require("../node_modules/styled-components/dist/styled-components.browser.esm.js"),t=n.default.div(a||(a=e.__makeTemplateObject(["\n display: grid;\n align-items: ",";\n ","\n"],["\n display: grid;\n align-items: ",";\n ","\n"])),(function(e){return e.isOpen?"flex-start":"center"}),(function(t){var i=t.isOpen,a=t.accepted,l=t.incoming,s=t.outgoing;return i&&a?n.css(r||(r=e.__makeTemplateObject(["\n grid-template-rows: 72px 1fr;\n "],["\n grid-template-rows: 72px 1fr;\n "]))):i&&l?n.css(p||(p=e.__makeTemplateObject(["\n grid-template-columns: 256px 114px;\n "],["\n grid-template-columns: 256px 114px;\n "]))):i&&s&&n.css(o||(o=e.__makeTemplateObject(["\n grid-template-columns: 1fr 84px;\n "],["\n grid-template-columns: 1fr 84px;\n "])))})),i=n.default.div(l||(l=e.__makeTemplateObject(["\n display: grid;\n grid-template-columns: ",";\n grid-gap: ",";\n align-items: ",";\n justify-content: center;\n width: 100%;\n"],["\n display: grid;\n grid-template-columns: ",";\n grid-gap: ",";\n align-items: ",";\n justify-content: center;\n width: 100%;\n"])),(function(e){var n=e.isOpen,t=e.incoming,i=e.accepted,r=e.outgoing;return n&&!i&&r?"48px 1fr":n&&!i&&t?"48px 1fr 1px":n&&i?"48px 164px 48px":n||i?"24px 66px 24px":"24px 102px"}),(function(e){return e.isOpen?"20px":"12px"}),(function(e){return e.isOpen?"flex-start":"center"}));n.default.div(s||(s=e.__makeTemplateObject(["\n object-fit: cover;\n"],["\n object-fit: cover;\n"])));var r,p,o,a,l,s,m,f,c,d,g=n.default.div(m||(m=e.__makeTemplateObject(["\n display: grid;\n align-self: center;\n grid-gap: 0.25rem;\n grid-template-columns: 1fr;\n grid-template-rows: repeat(2, 24px);\n"],["\n display: grid;\n align-self: center;\n grid-gap: 0.25rem;\n grid-template-columns: 1fr;\n grid-template-rows: repeat(2, 24px);\n"]))),x=n.default.div(f||(f=e.__makeTemplateObject(["\n ",";\n height: fit-content;\n font-weight: 300;\n color: #fff;\n letter-spacing: 0.5px;\n max-width: fit-content;\n"],["\n ",";\n height: fit-content;\n font-weight: 300;\n color: #fff;\n letter-spacing: 0.5px;\n max-width: fit-content;\n"])),(function(e){var n=e.isOpen;return"large"===e.size?n?"font-size: 1.25rem":"font-size: 1.15rem":"font-size: 1rem"})),u=n.default.div(c||(c=e.__makeTemplateObject(["\n ",";\n max-height: 24px;\n font-weight: 300;\n color: #fff;\n letter-spacing: 0.5px;\n max-width: fit-content;\n"],["\n ",";\n max-height: 24px;\n font-weight: 300;\n color: #fff;\n letter-spacing: 0.5px;\n max-width: fit-content;\n"])),(function(e){return e.isOpen?"font-size:1.25rem":"font-size:1.2rem"})),_=n.default.div(d||(d=e.__makeTemplateObject(["\n font-size: 1rem;\n font-weight: 700;\n color: #fff;\n"],["\n font-size: 1rem;\n font-weight: 700;\n color: #fff;\n"])));exports.StyledCallView=t,exports.StyledDetails=g,exports.StyledName=_,exports.StyledNumber=u,exports.StyledTimer=x,exports.StyledTopContent=i;
|
|
2
2
|
//# sourceMappingURL=Island.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Island.styles.js","sources":["../../src/styles/Island.styles.ts"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport styled, { css } from 'styled-components'\n\nexport const StyledCallView = styled.div<StyledCallViewProps>`\n display: grid;\n align-items: ${({ isOpen }) => (isOpen ? 'flex-start' : 'center')};\n ${({ isOpen, accepted, incoming, outgoing }) =>\n isOpen && accepted\n ? css`\n grid-template-rows: 72px 1fr;\n `\n : isOpen && incoming\n ? css`\n grid-template-columns: 256px 114px;\n `\n : isOpen &&\n outgoing &&\n css`\n grid-template-columns: 1fr 84px;\n `}\n`\n\nexport const StyledTopContent = styled.div<StyledTopContentProps>`\n display: grid;\n grid-template-columns: ${({ isOpen, incoming, accepted, outgoing }) =>\n isOpen && !accepted && outgoing\n ? '48px 1fr'\n : isOpen && !accepted && incoming\n ? '48px 1fr 1px'\n : isOpen && accepted\n ? '48px 164px 48px'\n : !isOpen && !accepted\n ? '24px 102px'\n : '24px 66px 24px'};\n grid-gap: ${({ isOpen }) => (isOpen ? '20px' : '12px')};\n align-items: ${({ isOpen }) => (isOpen ? 'flex-start' : 'center')};\n justify-content: center;\n width: 100%;\n`\n\nexport const StyledAvatar = styled.div`\n object-fit: cover;\n`\n\nexport const StyledDetails = styled.div<StyledDetailsProps>`\n display: grid;\n align-self: center;\n grid-template-columns: 1fr;\n grid-template-rows: repeat(2, 24px);\n`\n\nexport const StyledTimer = styled.div<StyledTimerProps>`\n ${({ isOpen, size }) =>\n size === 'large' ? (isOpen ? 'font-size: 1.25rem' : 'font-size: 1.
|
|
1
|
+
{"version":3,"file":"Island.styles.js","sources":["../../src/styles/Island.styles.ts"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport styled, { css } from 'styled-components'\n\nexport const StyledCallView = styled.div<StyledCallViewProps>`\n display: grid;\n align-items: ${({ isOpen }) => (isOpen ? 'flex-start' : 'center')};\n ${({ isOpen, accepted, incoming, outgoing }) =>\n isOpen && accepted\n ? css`\n grid-template-rows: 72px 1fr;\n `\n : isOpen && incoming\n ? css`\n grid-template-columns: 256px 114px;\n `\n : isOpen &&\n outgoing &&\n css`\n grid-template-columns: 1fr 84px;\n `}\n`\n\nexport const StyledTopContent = styled.div<StyledTopContentProps>`\n display: grid;\n grid-template-columns: ${({ isOpen, incoming, accepted, outgoing }) =>\n isOpen && !accepted && outgoing\n ? '48px 1fr'\n : isOpen && !accepted && incoming\n ? '48px 1fr 1px'\n : isOpen && accepted\n ? '48px 164px 48px'\n : !isOpen && !accepted\n ? '24px 102px'\n : '24px 66px 24px'};\n grid-gap: ${({ isOpen }) => (isOpen ? '20px' : '12px')};\n align-items: ${({ isOpen }) => (isOpen ? 'flex-start' : 'center')};\n justify-content: center;\n width: 100%;\n`\n\nexport const StyledAvatar = styled.div`\n object-fit: cover;\n`\n\nexport const StyledDetails = styled.div<StyledDetailsProps>`\n display: grid;\n align-self: center;\n grid-gap: 0.25rem;\n grid-template-columns: 1fr;\n grid-template-rows: repeat(2, 24px);\n`\n\nexport const StyledTimer = styled.div<StyledTimerProps>`\n ${({ isOpen, size }) =>\n size === 'large' ? (isOpen ? 'font-size: 1.25rem' : 'font-size: 1.15rem') : 'font-size: 1rem'};\n height: fit-content;\n font-weight: 300;\n color: #fff;\n letter-spacing: 0.5px;\n max-width: fit-content;\n`\n\nexport const StyledNumber = styled.div<StyledNumberProps>`\n ${({ isOpen }) => (isOpen ? 'font-size:1.25rem' : 'font-size:1.2rem')};\n max-height: 24px;\n font-weight: 300;\n color: #fff;\n letter-spacing: 0.5px;\n max-width: fit-content;\n`\n\nexport const StyledName = styled.div`\n font-size: 1rem;\n font-weight: 700;\n color: #fff;\n`\n\ninterface StyledCallViewProps {\n isOpen?: boolean\n incoming?: boolean\n openedIslandPadding?: number\n accepted?: boolean\n outgoing?: boolean\n}\n\ninterface StyledTopContentProps {\n isOpen: boolean\n incoming: boolean\n accepted: boolean\n outgoing: boolean\n}\n\ninterface StyledDetailsProps {\n numberExists?: boolean\n}\n\ninterface StyledTimerProps {\n isOpen: boolean\n size: 'small' | 'large'\n}\n\ninterface StyledNumberProps {\n isOpen: boolean\n}\n"],"names":["StyledCallView","styled","div","templateObject_4","__makeTemplateObject","_a","isOpen","accepted","incoming","outgoing","css","templateObject_1","templateObject_2","templateObject_3","StyledTopContent","templateObject_5","templateObject_6","StyledDetails","templateObject_7","StyledTimer","templateObject_8","size","StyledNumber","templateObject_9","StyledName","templateObject_10"],"mappings":"6MAKaA,EAAiBC,EAAM,QAACC,IAAwBC,IAAAA,EAAAC,EAAAA,qBAAA,CAAA,sCAAA,QAAA,MAAA,CAAA,sCAEM,QAc1D,SAdQ,SAACC,GAAe,OAAPA,EAAAC,OAAiB,aAAe,QAAzB,IAC7B,SAACD,OAAEC,EAAMD,EAAAC,OAAEC,EAAQF,EAAAE,SAAEC,EAAQH,EAAAG,SAAEC,EAAQJ,EAAAI,SACvC,OAAAH,GAAUC,EACNG,EAAAA,IAAGC,IAAAA,EAAAP,EAAAA,qBAAA,CAAA,uDAAA,CAAA,0DAGHE,GAAUE,EACVE,MAAGE,IAAAA,EAAAR,uBAAA,CAAA,6DAAA,CAAA,gEAGHE,GACAG,GACAC,EAAGA,IAAAG,IAAAA,EAAAT,EAAAA,qBAAA,CAAA,0DAAA,CAAA,4DAVP,IAeSU,EAAmBb,EAAAA,QAAOC,IAAGa,IAAAA,EAAAX,uBAAA,CAAA,gDAAA,kBAAA,qBAAA,mDAAA,CAAuB,gDAWzC,kBACgC,qBACW,sDAXxC,SAACC,OAAEC,EAAMD,EAAAC,OAAEE,EAAQH,EAAAG,SAAED,EAAQF,EAAAE,SAAEE,EAAQJ,EAAAI,SAC9D,OAAAH,IAAWC,GAAYE,EACnB,WACAH,IAAWC,GAAYC,EACvB,eACAF,GAAUC,EACV,kBACCD,GAAWC,EAEZ,iBADA,YAPJ,IASU,SAACF,GAAe,OAAPA,EAAAC,OAAiB,OAAS,MAAnB,IACb,SAACD,GAAe,OAAPA,EAAAC,OAAiB,aAAe,QAAzB,IAKLL,EAAAA,QAAOC,IAAGc,IAAAA,EAAAZ,EAAAA,qBAAA,CAAA,4BAAA,CAAA,+BAIzB,wBAAAa,EAAgBhB,EAAM,QAACC,IAAGgB,IAAAA,EAAAd,uBAAA,CAAA,4IAAA,CAAoB,+IAQ9Ce,EAAclB,EAAM,QAACC,IAAGkB,IAAAA,EAAAhB,EAAAA,qBAAA,CAAA,OAAA,yHAAA,CAAkB,OAE0C,4HAD7F,SAACC,OAAEC,EAAMD,EAAAC,OACT,MAAS,UADMD,EAAAgB,KACKf,EAAS,qBAAuB,qBAAwB,iBAA5E,IAQSgB,EAAerB,EAAM,QAACC,IAAGqB,IAAAA,EAAAnB,EAAAA,qBAAA,CAAA,OAAA,sHAAA,CAAmB,OACc,yHAAnE,SAACC,GAAe,OAAPA,EAAAC,OAAiB,oBAAsB,kBAAhC,IAQPkB,EAAavB,EAAM,QAACC,IAAGuB,IAAAA,EAAArB,uBAAA,CAAA,+DAAA,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nethesis/phone-island",
|
|
3
3
|
"author": "Nethesis",
|
|
4
|
-
"version": "0.7.
|
|
4
|
+
"version": "0.7.80",
|
|
5
5
|
"description": "NethVoice CTI Phone Island",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"nethserver",
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
"react-moment": "^1.1.2",
|
|
55
55
|
"react-redux": "^8.0.5",
|
|
56
56
|
"react-scripts": "5.0.1",
|
|
57
|
+
"react-tooltip": "^5.11.1",
|
|
57
58
|
"socket.io-client": "^4.5.3",
|
|
58
59
|
"styled-components": "^5.3.6",
|
|
59
60
|
"webrtc-adapter": "^8.2.0"
|
|
@@ -122,8 +123,8 @@
|
|
|
122
123
|
"rollup-plugin-generate-package-json": "^3.2.0",
|
|
123
124
|
"rollup-plugin-postcss": "^4.0.2",
|
|
124
125
|
"rollup-plugin-terser": "^7.0.2",
|
|
125
|
-
"tailwindcss": "^3.2.2",
|
|
126
126
|
"tailwind-scrollbar": "^3.0.0",
|
|
127
|
+
"tailwindcss": "^3.2.2",
|
|
127
128
|
"typescript": "^4.8.4",
|
|
128
129
|
"webpack": "^5.74.0"
|
|
129
130
|
},
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./socket.js");require("../../../engine.io-parser/build/esm/encodePacket.browser.js"),require("../../../engine.io-parser/build/esm/commons.js"),require("../../../engine.io-parser/build/esm/contrib/base64-arraybuffer.js"),require("../../../@socket.io/component-emitter/index.mjs.js"),require("./globalThis.browser.js"),require("./transports/polling.js"),require("./transports/websocket.js");var r=require("./transports/websocket-constructor.browser.js");e.Socket.protocol,exports.Socket=e.Socket,exports.nextTick=r.nextTick;
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/engine.io-client/build/esm/index.js"],"sourcesContent":["import { Socket } from \"./socket.js\";\nexport { Socket };\nexport const protocol = Socket.protocol;\nexport { Transport } from \"./transport.js\";\nexport { transports } from \"./transports/index.js\";\nexport { installTimerFunctions } from \"./util.js\";\nexport { parse } from \"./contrib/parseuri.js\";\nexport { nextTick } from \"./transports/websocket-constructor.js\";\n"],"names":["Socket","protocol"],"mappings":"uhBAEwBA,EAAAA,OAAOC"}
|