| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | 
							- const logger = require("jitsi-meet-logger").getLogger(__filename);
 - 
 - /**
 -  * Create deferred object.
 -  *
 -  * @returns {{promise, resolve, reject}}
 -  */
 - export function createDeferred() {
 -     const deferred = {};
 - 
 -     deferred.promise = new Promise((resolve, reject) => {
 -         deferred.resolve = resolve;
 -         deferred.reject = reject;
 -     });
 - 
 -     return deferred;
 - }
 - 
 - /**
 -  * Creates a debounced function that delays invoking func until after wait
 -  * milliseconds have elapsed since the last time the debounced function was
 -  * invoked.
 -  *
 -  * @param fn
 -  * @param wait
 -  * @param options
 -  * @returns {function(...[*])}
 -  */
 - export function debounce(fn, wait = 0, options = {}) {
 -     const leading = options.leading || false;
 -     const trailing
 -         = (typeof options.trailing === 'undefined') || options.trailing;
 -     let called = false;
 - 
 -     return (...args) => {
 -         if (!called) {
 -             leading && fn(...args);
 - 
 -             setTimeout(() => {
 -                 called = false;
 -                 trailing && fn(...args);
 -             }, wait);
 - 
 -             called = true;
 -         }
 -     };
 - }
 - 
 - /**
 -  * Returns the namespace for all global variables, functions, etc that we need.
 -  *
 -  * @returns {Object} the namespace.
 -  *
 -  * NOTE: After React-ifying everything this should be the only global.
 -  */
 - export function getJitsiMeetGlobalNS() {
 -     if (!window.JitsiMeetJS) {
 -         window.JitsiMeetJS = {};
 -     }
 -     if (!window.JitsiMeetJS.app) {
 -         window.JitsiMeetJS.app = {};
 -     }
 -     return window.JitsiMeetJS.app;
 - }
 - 
 - /**
 -  * Reload page.
 -  */
 - export function reload() {
 -     window.location.reload();
 - }
 - 
 - /**
 -  * Redirects to a specific new URL by replacing the current location (in the
 -  * history).
 -  *
 -  * @param {string} url the URL pointing to the location where the user should
 -  * be redirected to.
 -  */
 - export function replace(url) {
 -     window.location.replace(url);
 - }
 - 
 - /**
 -  * Prints the error and reports it to the global error handler.
 -  *
 -  * @param e {Error} the error
 -  * @param msg {string} [optional] the message printed in addition to the error
 -  */
 - export function reportError(e, msg = "") {
 -     logger.error(msg, e);
 -     window.onerror && window.onerror(msg, null, null, null, e);
 - }
 
 
  |