@nethesis/phone-island 1.0.7-dev.4 → 1.0.8
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.js +1 -1
- package/dist/App.js.map +1 -1
- package/dist/components/WebRTC.js +1 -1
- package/dist/components/WebRTC.js.map +1 -1
- package/dist/models/webrtc.js +1 -1
- package/dist/models/webrtc.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/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/utils.js +1 -1
- package/dist/node_modules/webrtc-adapter/src/js/utils.js.map +1 -1
- package/dist/package.json.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../node_modules/webrtc-adapter/src/js/utils.js"],"sourcesContent":["/*\n * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n * Use of this source code is governed by a BSD-style license\n * that can be found in the LICENSE file in the root of the source\n * tree.\n */\n/* eslint-env node */\n'use strict';\n\nlet logDisabled_ = true;\nlet deprecationWarnings_ = true;\n\n/**\n * Extract browser version out of the provided user agent string.\n *\n * @param {!string} uastring userAgent string.\n * @param {!string} expr Regular expression used as match criteria.\n * @param {!number} pos position in the version string to be returned.\n * @return {!number} browser version.\n */\nexport function extractVersion(uastring, expr, pos) {\n const match = uastring.match(expr);\n return match && match.length >= pos && parseFloat(match[pos], 10);\n}\n\n// Wraps the peerconnection event eventNameToWrap in a function\n// which returns the modified event object (or false to prevent\n// the event).\nexport function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) {\n if (!window.RTCPeerConnection) {\n return;\n }\n const 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 !window.navigator.userAgent) {\n result.browser = 'Not a browser.';\n return result;\n }\n\n const {navigator} = window;\n\n // Prefer navigator.userAgentData.\n if (navigator.userAgentData && navigator.userAgentData.brands) {\n const chromium = navigator.userAgentData.brands.find((brand) => {\n return brand.brand === 'Chromium';\n });\n if (chromium) {\n return {browser: 'chrome', version: parseInt(chromium.version, 10)};\n }\n }\n\n if (navigator.mozGetUserMedia) { // Firefox.\n result.browser = 'firefox';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /Firefox\\/(\\d+)\\./, 1));\n } else if (navigator.webkitGetUserMedia ||\n (window.isSecureContext === false && window.webkitRTCPeerConnection)) {\n // Chrome, Chromium, Webview, Opera.\n // Version matches Chrome/WebRTC version.\n // Chrome 74 removed webkitGetUserMedia on http as well so we need the\n // more complicated fallback to webkitRTCPeerConnection.\n result.browser = 'chrome';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /Chrom(e|ium)\\/(\\d+)\\./, 2)) || null;\n } else if (window.RTCPeerConnection &&\n navigator.userAgent.match(/AppleWebKit\\/(\\d+)\\./)) { // Safari.\n result.browser = 'safari';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /AppleWebKit\\/(\\d+)\\./, 1));\n result.supportsUnifiedPlan = window.RTCRtpTransceiver &&\n 'currentDirection' in window.RTCRtpTransceiver.prototype;\n // Only for internal usage.\n result._safariVersion = extractVersion(navigator.userAgent,\n /Version\\/(\\d+(\\.?\\d+))/, 1);\n } else { // Default fallthrough: not supported.\n result.browser = 'Not a supported browser.';\n return result;\n }\n\n return result;\n}\n\n/**\n * Checks if something is an object.\n *\n * @param {*} val The something you want to check.\n * @return true if val is an object, false otherwise.\n */\nfunction isObject(val) {\n return Object.prototype.toString.call(val) === '[object Object]';\n}\n\n/**\n * Remove all empty objects and undefined values\n * from a nested object -- an enhanced and vanilla version\n * of Lodash's `compact`.\n */\nexport function compactObject(data) {\n if (!isObject(data)) {\n return data;\n }\n\n return Object.keys(data).reduce(function(accumulator, key) {\n const isObj = isObject(data[key]);\n const value = isObj ? compactObject(data[key]) : data[key];\n const isEmptyObject = isObj && !Object.keys(value).length;\n if (value === undefined || isEmptyObject) {\n return accumulator;\n }\n return Object.assign(accumulator, {[key]: value});\n }, {});\n}\n\n/* iterates the stats graph recursively. */\nexport function walkStats(stats, base, resultSet) {\n if (!base || resultSet.has(base.id)) {\n return;\n }\n resultSet.set(base.id, base);\n Object.keys(base).forEach(name => {\n if (name.endsWith('Id')) {\n walkStats(stats, stats.get(base[name]), resultSet);\n } else if (name.endsWith('Ids')) {\n base[name].forEach(id => {\n walkStats(stats, stats.get(id), resultSet);\n });\n }\n });\n}\n\n/* filter getStats for a sender/receiver track. */\nexport function filterStats(result, track, outbound) {\n const streamStatsType = outbound ? 'outbound-rtp' : 'inbound-rtp';\n const filteredResult = new Map();\n if (track === null) {\n return filteredResult;\n }\n const trackStats = [];\n result.forEach(value => {\n if (value.type === 'track' &&\n value.trackIdentifier === track.id) {\n trackStats.push(value);\n }\n });\n trackStats.forEach(trackStat => {\n result.forEach(stats => {\n if (stats.type === streamStatsType && stats.trackId === trackStat.id) {\n walkStats(result, stats, filteredResult);\n }\n });\n });\n return filteredResult;\n}\n\n"],"names":["logDisabled_","deprecationWarnings_","extractVersion","uastring","expr","pos","match","length","parseFloat","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","userAgent","userAgentData","brands","chromium","find","brand","parseInt","mozGetUserMedia","webkitGetUserMedia","isSecureContext","webkitRTCPeerConnection","RTCPeerConnection","supportsUnifiedPlan","RTCRtpTransceiver","_safariVersion","bool","Error","track","outbound","streamStatsType","filteredResult","Map","trackStats","type","trackIdentifier","push","trackStat","trackId","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 && parseFloat(match[pos], 10);\n}\n\n// Wraps the peerconnection event eventNameToWrap in a function\n// which returns the modified event object (or false to prevent\n// the event).\nexport function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) {\n if (!window.RTCPeerConnection) {\n return;\n }\n const addEventListener = Object.getOwnPropertyDescriptor(\n EventTarget.prototype, 'addEventListener');\n if (!addEventListener.writable) {\n log('Unable to polyfill events');\n return;\n }\n const proto = window.RTCPeerConnection.prototype;\n const nativeAddEventListener = proto.addEventListener;\n\n proto.addEventListener = function(nativeEventName, cb) {\n if (nativeEventName !== eventNameToWrap) {\n return nativeAddEventListener.apply(this, arguments);\n }\n const wrappedCallback = (e) => {\n const modifiedEvent = wrapper(e);\n if (modifiedEvent) {\n if (cb.handleEvent) {\n cb.handleEvent(modifiedEvent);\n } else {\n cb(modifiedEvent);\n }\n }\n };\n this._eventMap = this._eventMap || {};\n if (!this._eventMap[eventNameToWrap]) {\n this._eventMap[eventNameToWrap] = new Map();\n }\n this._eventMap[eventNameToWrap].set(cb, wrappedCallback);\n return nativeAddEventListener.apply(this, [nativeEventName,\n wrappedCallback]);\n };\n\n const nativeRemoveEventListener = proto.removeEventListener;\n proto.removeEventListener = function(nativeEventName, cb) {\n if (nativeEventName !== eventNameToWrap || !this._eventMap\n || !this._eventMap[eventNameToWrap]) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (!this._eventMap[eventNameToWrap].has(cb)) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n const unwrappedCb = this._eventMap[eventNameToWrap].get(cb);\n this._eventMap[eventNameToWrap].delete(cb);\n if (this._eventMap[eventNameToWrap].size === 0) {\n delete this._eventMap[eventNameToWrap];\n }\n if (Object.keys(this._eventMap).length === 0) {\n delete this._eventMap;\n }\n return nativeRemoveEventListener.apply(this, [nativeEventName,\n unwrappedCb]);\n };\n\n Object.defineProperty(proto, 'on' + eventNameToWrap, {\n get() {\n return this['_on' + eventNameToWrap];\n },\n set(cb) {\n if (this['_on' + eventNameToWrap]) {\n this.removeEventListener(eventNameToWrap,\n this['_on' + eventNameToWrap]);\n delete this['_on' + eventNameToWrap];\n }\n if (cb) {\n this.addEventListener(eventNameToWrap,\n this['_on' + eventNameToWrap] = cb);\n }\n },\n enumerable: true,\n configurable: true\n });\n}\n\nexport function disableLog(bool) {\n if (typeof bool !== 'boolean') {\n return new Error('Argument type: ' + typeof bool +\n '. Please use a boolean.');\n }\n logDisabled_ = bool;\n return (bool) ? 'adapter.js logging disabled' :\n 'adapter.js logging enabled';\n}\n\n/**\n * Disable or enable deprecation warnings\n * @param {!boolean} bool set to true to disable warnings.\n */\nexport function disableWarnings(bool) {\n if (typeof bool !== 'boolean') {\n return new Error('Argument type: ' + typeof bool +\n '. Please use a boolean.');\n }\n deprecationWarnings_ = !bool;\n return 'adapter.js deprecation warnings ' + (bool ? 'disabled' : 'enabled');\n}\n\nexport function log() {\n if (typeof window === 'object') {\n if (logDisabled_) {\n return;\n }\n if (typeof console !== 'undefined' && typeof console.log === 'function') {\n console.log.apply(console, arguments);\n }\n }\n}\n\n/**\n * Shows a deprecation warning suggesting the modern and spec-compatible API.\n */\nexport function deprecated(oldMethod, newMethod) {\n if (!deprecationWarnings_) {\n return;\n }\n console.warn(oldMethod + ' is deprecated, please use ' + newMethod +\n ' instead.');\n}\n\n/**\n * Browser detector.\n *\n * @return {object} result containing browser and version\n * properties.\n */\nexport function detectBrowser(window) {\n // Returned result object.\n const result = {browser: null, version: null};\n\n // Fail early if it's not a browser\n if (typeof window === 'undefined' || !window.navigator ||\n !window.navigator.userAgent) {\n result.browser = 'Not a browser.';\n return result;\n }\n\n const {navigator} = window;\n\n // Prefer navigator.userAgentData.\n if (navigator.userAgentData && navigator.userAgentData.brands) {\n const chromium = navigator.userAgentData.brands.find((brand) => {\n return brand.brand === 'Chromium';\n });\n if (chromium) {\n return {browser: 'chrome', version: parseInt(chromium.version, 10)};\n }\n }\n\n if (navigator.mozGetUserMedia) { // Firefox.\n result.browser = 'firefox';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /Firefox\\/(\\d+)\\./, 1));\n } else if (navigator.webkitGetUserMedia ||\n (window.isSecureContext === false && window.webkitRTCPeerConnection)) {\n // Chrome, Chromium, Webview, Opera.\n // Version matches Chrome/WebRTC version.\n // Chrome 74 removed webkitGetUserMedia on http as well so we need the\n // more complicated fallback to webkitRTCPeerConnection.\n result.browser = 'chrome';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /Chrom(e|ium)\\/(\\d+)\\./, 2)) || null;\n } else if (window.RTCPeerConnection &&\n navigator.userAgent.match(/AppleWebKit\\/(\\d+)\\./)) { // Safari.\n result.browser = 'safari';\n result.version = parseInt(extractVersion(navigator.userAgent,\n /AppleWebKit\\/(\\d+)\\./, 1));\n result.supportsUnifiedPlan = window.RTCRtpTransceiver &&\n 'currentDirection' in window.RTCRtpTransceiver.prototype;\n // Only for internal usage.\n result._safariVersion = extractVersion(navigator.userAgent,\n /Version\\/(\\d+(\\.?\\d+))/, 1);\n } else { // Default fallthrough: not supported.\n result.browser = 'Not a supported browser.';\n return result;\n }\n\n return result;\n}\n\n/**\n * Checks if something is an object.\n *\n * @param {*} val The something you want to check.\n * @return true if val is an object, false otherwise.\n */\nfunction isObject(val) {\n return Object.prototype.toString.call(val) === '[object Object]';\n}\n\n/**\n * Remove all empty objects and undefined values\n * from a nested object -- an enhanced and vanilla version\n * of Lodash's `compact`.\n */\nexport function compactObject(data) {\n if (!isObject(data)) {\n return data;\n }\n\n return Object.keys(data).reduce(function(accumulator, key) {\n const isObj = isObject(data[key]);\n const value = isObj ? compactObject(data[key]) : data[key];\n const isEmptyObject = isObj && !Object.keys(value).length;\n if (value === undefined || isEmptyObject) {\n return accumulator;\n }\n return Object.assign(accumulator, {[key]: value});\n }, {});\n}\n\n/* iterates the stats graph recursively. */\nexport function walkStats(stats, base, resultSet) {\n if (!base || resultSet.has(base.id)) {\n return;\n }\n resultSet.set(base.id, base);\n Object.keys(base).forEach(name => {\n if (name.endsWith('Id')) {\n walkStats(stats, stats.get(base[name]), resultSet);\n } else if (name.endsWith('Ids')) {\n base[name].forEach(id => {\n walkStats(stats, stats.get(id), resultSet);\n });\n }\n });\n}\n\n/* filter getStats for a sender/receiver track. */\nexport function filterStats(result, track, outbound) {\n const streamStatsType = outbound ? 'outbound-rtp' : 'inbound-rtp';\n const filteredResult = new Map();\n if (track === null) {\n return filteredResult;\n }\n const trackStats = [];\n result.forEach(value => {\n if (value.type === 'track' &&\n value.trackIdentifier === track.id) {\n trackStats.push(value);\n }\n });\n trackStats.forEach(trackStat => {\n result.forEach(stats => {\n if (stats.type === streamStatsType && stats.trackId === trackStat.id) {\n walkStats(result, stats, filteredResult);\n }\n });\n });\n return filteredResult;\n}\n\n"],"names":["logDisabled_","deprecationWarnings_","extractVersion","uastring","expr","pos","match","length","parseFloat","log","window","console","apply","arguments","isObject","val","Object","prototype","toString","call","walkStats","stats","base","resultSet","has","id","set","keys","forEach","name","endsWith","get","compactObject","data","reduce","accumulator","key","isObj","value","isEmptyObject","undefined","assign","oldMethod","newMethod","warn","result","browser","version","navigator","userAgent","userAgentData","brands","chromium","find","brand","parseInt","mozGetUserMedia","webkitGetUserMedia","isSecureContext","webkitRTCPeerConnection","RTCPeerConnection","supportsUnifiedPlan","RTCRtpTransceiver","_safariVersion","bool","Error","track","outbound","streamStatsType","filteredResult","Map","trackStats","type","trackIdentifier","push","trackStat","trackId","eventNameToWrap","wrapper","getOwnPropertyDescriptor","EventTarget","writable","proto","nativeAddEventListener","addEventListener","nativeEventName","cb","this","wrappedCallback","e","modifiedEvent","handleEvent","_eventMap","nativeRemoveEventListener","removeEventListener","unwrappedCb","delete","size","defineProperty","enumerable","configurable"],"mappings":"oEAUA,IAAIA,GAAe,EACfC,GAAuB,EAUpB,SAASC,EAAeC,EAAUC,EAAMC,GAC7C,MAAMC,EAAQH,EAASG,MAAMF,GAC7B,OAAOE,GAASA,EAAMC,QAAUF,GAAOG,WAAWF,EAAMD,GAAM,GAChE,CAyGO,SAASI,IACd,GAAsB,iBAAXC,OAAqB,CAC9B,GAAIV,EACF,OAEqB,oBAAZW,SAAkD,mBAAhBA,QAAQF,KACnDE,QAAQF,IAAIG,MAAMD,QAASE,UAE/B,CACF,CA+EA,SAASC,EAASC,GAChB,MAA+C,oBAAxCC,OAAOC,UAAUC,SAASC,KAAKJ,EACxC,CAwBO,SAASK,EAAUC,EAAOC,EAAMC,GAChCD,IAAQC,EAAUC,IAAIF,EAAKG,MAGhCF,EAAUG,IAAIJ,EAAKG,GAAIH,GACvBN,OAAOW,KAAKL,GAAMM,SAAQC,IACpBA,EAAKC,SAAS,MAChBV,EAAUC,EAAOA,EAAMU,IAAIT,EAAKO,IAAQN,GAC/BM,EAAKC,SAAS,QACvBR,EAAKO,GAAMD,SAAQH,IACjBL,EAAUC,EAAOA,EAAMU,IAAIN,GAAKF,EAAU,GAE9C,IAEJ,uBA/BO,SAASS,EAAcC,GAC5B,OAAKnB,EAASmB,GAIPjB,OAAOW,KAAKM,GAAMC,QAAO,SAASC,EAAaC,GACpD,MAAMC,EAAQvB,EAASmB,EAAKG,IACtBE,EAAQD,EAAQL,EAAcC,EAAKG,IAAQH,EAAKG,GAChDG,EAAgBF,IAAUrB,OAAOW,KAAKW,GAAO/B,OACnD,YAAciC,IAAVF,GAAuBC,EAClBJ,EAEFnB,OAAOyB,OAAON,EAAa,CAACC,CAACA,GAAME,GAC3C,GAAE,CAAE,GAXIL,CAYX,qBAjGO,SAAoBS,EAAWC,GAC/B1C,GAGLU,QAAQiC,KAAKF,EAAY,8BAAgCC,EACrD,YACN,wBAQO,SAAuBjC,GAE5B,MAAMmC,EAAS,CAACC,QAAS,KAAMC,QAAS,MAGxC,QAAsB,IAAXrC,IAA2BA,EAAOsC,YACxCtC,EAAOsC,UAAUC,UAEpB,OADAJ,EAAOC,QAAU,iBACVD,EAGT,MAAMG,UAACA,GAAatC,EAGpB,GAAIsC,EAAUE,eAAiBF,EAAUE,cAAcC,OAAQ,CAC7D,MAAMC,EAAWJ,EAAUE,cAAcC,OAAOE,MAAMC,GAC7B,aAAhBA,EAAMA,QAEf,GAAIF,EACF,MAAO,CAACN,QAAS,SAAUC,QAASQ,SAASH,EAASL,QAAS,IAEnE,CAEA,GAAIC,EAAUQ,gBACZX,EAAOC,QAAU,UACjBD,EAAOE,QAAUQ,SAASrD,EAAe8C,EAAUC,UACjD,mBAAoB,SACjB,GAAID,EAAUS,qBACW,IAA3B/C,EAAOgD,iBAA6BhD,EAAOiD,wBAK9Cd,EAAOC,QAAU,SACjBD,EAAOE,QAAUQ,SAASrD,EAAe8C,EAAUC,UACjD,wBAAyB,KAAO,SAC7B,KAAIvC,EAAOkD,oBACdZ,EAAUC,UAAU3C,MAAM,wBAW5B,OADAuC,EAAOC,QAAU,2BACVD,EAVPA,EAAOC,QAAU,SACjBD,EAAOE,QAAUQ,SAASrD,EAAe8C,EAAUC,UACjD,uBAAwB,IAC1BJ,EAAOgB,oBAAsBnD,EAAOoD,mBAChC,qBAAsBpD,EAAOoD,kBAAkB7C,UAEnD4B,EAAOkB,eAAiB7D,EAAe8C,EAAUC,UAC/C,yBAA0B,EAI9B,CAEA,OAAOJ,CACT,qBAvGO,SAAoBmB,GACzB,MAAoB,kBAATA,EACF,IAAIC,MAAM,yBAA2BD,EACxC,4BAENhE,EAAegE,EACPA,EAAQ,8BACd,6BACJ,0BAMO,SAAyBA,GAC9B,MAAoB,kBAATA,EACF,IAAIC,MAAM,yBAA2BD,EACxC,4BAEN/D,GAAwB+D,EACjB,oCAAsCA,EAAO,WAAa,WACnE,+CAqIO,SAAqBnB,EAAQqB,EAAOC,GACzC,MAAMC,EAAkBD,EAAW,eAAiB,cAC9CE,EAAiB,IAAIC,IAC3B,GAAc,OAAVJ,EACF,OAAOG,EAET,MAAME,EAAa,GAcnB,OAbA1B,EAAOjB,SAAQU,IACM,UAAfA,EAAMkC,MACNlC,EAAMmC,kBAAoBP,EAAMzC,IAClC8C,EAAWG,KAAKpC,EAClB,IAEFiC,EAAW3C,SAAQ+C,IACjB9B,EAAOjB,SAAQP,IACTA,EAAMmD,OAASJ,GAAmB/C,EAAMuD,UAAYD,EAAUlD,IAChEL,EAAUyB,EAAQxB,EAAOgD,EAC3B,GACA,IAEGA,CACT,oEA5PO,SAAiC3D,EAAQmE,EAAiBC,GAC/D,IAAKpE,EAAOkD,kBACV,OAIF,IAFyB5C,OAAO+D,yBAC9BC,YAAY/D,UAAW,oBACHgE,SAEpB,YADAxE,EAAI,6BAGN,MAAMyE,EAAQxE,EAAOkD,kBAAkB3C,UACjCkE,EAAyBD,EAAME,iBAErCF,EAAME,iBAAmB,SAASC,EAAiBC,GACjD,GAAID,IAAoBR,EACtB,OAAOM,EAAuBvE,MAAM2E,KAAM1E,WAE5C,MAAM2E,EAAmBC,IACvB,MAAMC,EAAgBZ,EAAQW,GAC1BC,IACEJ,EAAGK,YACLL,EAAGK,YAAYD,GAEfJ,EAAGI,GAEP,EAOF,OALAH,KAAKK,UAAYL,KAAKK,WAAa,CAAA,EAC9BL,KAAKK,UAAUf,KAClBU,KAAKK,UAAUf,GAAmB,IAAIP,KAExCiB,KAAKK,UAAUf,GAAiBnD,IAAI4D,EAAIE,GACjCL,EAAuBvE,MAAM2E,KAAM,CAACF,EACzCG,KAGJ,MAAMK,EAA4BX,EAAMY,oBACxCZ,EAAMY,oBAAsB,SAAST,EAAiBC,GACpD,GAAID,IAAoBR,IAAoBU,KAAKK,YACzCL,KAAKK,UAAUf,GACrB,OAAOgB,EAA0BjF,MAAM2E,KAAM1E,WAE/C,IAAK0E,KAAKK,UAAUf,GAAiBrD,IAAI8D,GACvC,OAAOO,EAA0BjF,MAAM2E,KAAM1E,WAE/C,MAAMkF,EAAcR,KAAKK,UAAUf,GAAiB9C,IAAIuD,GAQxD,OAPAC,KAAKK,UAAUf,GAAiBmB,OAAOV,GACM,IAAzCC,KAAKK,UAAUf,GAAiBoB,aAC3BV,KAAKK,UAAUf,GAEmB,IAAvC7D,OAAOW,KAAK4D,KAAKK,WAAWrF,eACvBgF,KAAKK,UAEPC,EAA0BjF,MAAM2E,KAAM,CAACF,EAC5CU,KAGJ/E,OAAOkF,eAAehB,EAAO,KAAOL,EAAiB,CACnD9C,GAAAA,GACE,OAAOwD,KAAK,MAAQV,EACrB,EACDnD,GAAAA,CAAI4D,GACEC,KAAK,MAAQV,KACfU,KAAKO,oBAAoBjB,EACvBU,KAAK,MAAQV,WACRU,KAAK,MAAQV,IAElBS,GACFC,KAAKH,iBAAiBP,EACpBU,KAAK,MAAQV,GAAmBS,EAErC,EACDa,YAAY,EACZC,cAAc,GAElB"}
|
package/dist/package.json.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e="@nethesis/phone-island",s="Nethesis",t="1.0.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e="@nethesis/phone-island",s="Nethesis",t="1.0.8",i="NethVoice CTI Phone Island",r=["nethserver","nethesis","nethvoice","phone","island"],o="https://github.com/nethesis/phone-island#readme",n="https://github.com/nethesis/dev/issues",p={type:"git",url:"https://github.com/nethesis/phone-island.git"},l=["dist"],d="dist/index.js",a="dist/index.d.ts",c={access:"public"},m={main:!1,types:!1,default:{distDir:"./dist-widget"}},u={"@fortawesome/fontawesome-svg-core":"6.2.1","@fortawesome/free-solid-svg-icons":"6.2.1","@fortawesome/react-fontawesome":"0.2.0","@headlessui/react":"^2.2.8","@nethesis/nethesis-solid-svg-icons":"github:nethesis/Font-Awesome#ns-solid","@rematch/core":"^2.2.0","@rematch/immer":"^2.1.3","@rematch/select":"^3.1.2","@testing-library/jest-dom":"^5.11.4","@testing-library/user-event":"^12.1.10","framer-motion":"^12.0.0",i18next:"^22.4.9","i18next-browser-languagedetector":"^7.0.1","i18next-http-backend":"^2.1.1","js-base64":"^3.7.3",lodash:"^4.17.21","mic-check":"^1.1.0",react:"^18.2.0","react-dom":"^18.2.0","react-i18next":"^12.1.5","react-moment":"^1.1.2","react-redux":"^8.0.5","react-tooltip":"^5.28.0","socket.io-client":"^4.5.3","styled-components":"^5.3.6","webrtc-adapter":"^9.0.1"},h={start:"npm run dev",dev:"node scripts/generate-dev-host.js && parcel .dev/phone-island-dev.html --port 6006 --open",test:"tsc --noEmit",watch:"rollup -w -c","watch:css":"BROWSERSLIST_IGNORE_OLD_DATA=1 npx tailwindcss -o ./dist/index.css --watch",build:"rm -rf ./dist && npm run build:css && rollup -c","build:css":"BROWSERSLIST_IGNORE_OLD_DATA=1 NODE_ENV=production npx tailwindcss -o ./dist/index.css --minify","build:win":"del /s /q dist && npm run build:wincss && rollup -c --configPlugin typescript","build:wincss":"set BROWSERSLIST_IGNORE_OLD_DATA=1 && set NODE_ENV=production && npx tailwindcss -o ./dist/index.css --minify","build:widget":"rm -rf ./dist-widget && parcel build ./src/index.widget.tsx --no-source-maps","serve:widget":"rm -rf ./widget-example/static/* && cp -rf ./dist-widget/* ./widget-example/static && npx http-server ./widget-example -o -c-1",release:"npm publish","release:widget":"node check-publish.js patch && npm version patch -m v%s",format:"prettier --write './**/*.{js,jsx,ts,tsx,css,md,json}' --config ./.prettierrc",bump:"node bump-version.js","build-pack":"npm run bump && npm run build && npm pack","build-pack:win":"npm run bump && npm run build:win && npm pack","publish:minor":"node check-publish.js minor && npm version minor --allow-same-version -m v%s --force","publish:major":"node check-publish.js major && npm version major --allow-same-version -m v%s --force","publish:patch":"node check-publish.js patch && npm version patch --allow-same-version -m v%s --force","publish:dev":"node publish-dev.js",preversion:"rm -rf dist-widget && npm run build:widget && git add dist-widget/index.widget.js dist-widget/index.widget.css && git commit -m 'chore(widget): release for jsDelivr'",postversion:"git push origin main --tags","revert-bump":"node revert-bump.js"},b={production:[">0.2%","not dead","not op_mini all"],development:["last 1 chrome version","last 1 firefox version","last 1 safari version"]},g={"@babel/core":"^7.20.2","@babel/preset-env":"^7.20.2","@parcel/transformer-typescript-types":"^2.8.0","@rollup/plugin-babel":"^6.0.2","@rollup/plugin-commonjs":"^23.0.2","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.0.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^9.0.2","@testing-library/react":"^13.4.0","@types/audioworklet":"^0.0.98","@types/jest":"^29.2.2","@types/react":"^18.0.26","@types/react-dom":"^18.0.9","@types/styled-components":"^5.1.26",babel:"^6.23.0",buffer:"^5.7.1",parcel:"^2.0.0",postcss:"^8.4.49",prettier:"^2.8.0","prop-types":"^15.8.1",rollup:"^2.79.1","rollup-plugin-generate-package-json":"^3.2.0","rollup-plugin-postcss":"^4.0.2","tailwind-scrollbar":"^3.1.0",tailwindcss:"^3.4.16",typescript:"^4.8.4","webm-duration-fix":"^1.0.4",webpack:"^5.74.0"},w={"@tootallnate/once":"^3.0.0",esbuild:"^0.25.11","nth-check":"^2.0.1","serialize-javascript":"^7.0.0",tar:"^7.5.1"},v="GPL-3.0-or-later",x={name:e,author:s,version:t,description:i,keywords:r,homepage:o,bugs:n,repository:p,private:!1,files:l,main:d,types:a,publishConfig:c,targets:m,dependencies:u,scripts:h,browserslist:b,devDependencies:g,overrides:w,license:v};exports.author=s,exports.browserslist=b,exports.bugs=n,exports.default=x,exports.dependencies=u,exports.description=i,exports.devDependencies=g,exports.files=l,exports.homepage=o,exports.keywords=r,exports.license=v,exports.main=d,exports.name=e,exports.overrides=w,exports.publishConfig=c,exports.repository=p,exports.scripts=h,exports.targets=m,exports.types=a,exports.version=t;
|
|
2
2
|
//# sourceMappingURL=package.json.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nethesis/phone-island",
|
|
3
3
|
"author": "Nethesis",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.8",
|
|
5
5
|
"description": "NethVoice CTI Phone Island",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"nethserver",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"@rollup/plugin-terser": "^0.4.4",
|
|
110
110
|
"@rollup/plugin-typescript": "^9.0.2",
|
|
111
111
|
"@testing-library/react": "^13.4.0",
|
|
112
|
-
"@types/audioworklet": "^0.0.
|
|
112
|
+
"@types/audioworklet": "^0.0.98",
|
|
113
113
|
"@types/jest": "^29.2.2",
|
|
114
114
|
"@types/react": "^18.0.26",
|
|
115
115
|
"@types/react-dom": "^18.0.9",
|