import "lodash";
import "../actions/fullScreenAction.mjs";
import "../../datasource/utils/request.mjs";
import "mqtt";
import "nanoid";
import { SHJUtils as o } from "../../utils/index.mjs";
class h {
  /**
   * 将URL参数转换为JSON对象
   * @param urlParam - 需要转换的URL参数
   * @returns 转换后的JSON对象
   */
  static urlParamToJson(t) {
    if (!t) return t;
    const e = {};
    return t.trim().split("&").forEach(
      (n) => e[n.split("=")[0]] = n.split("=")[1]
    ), e;
  }
  /**
   * 更新组件数据
   * @param variableData 变量数据
   */
  static updateWidgetVariableData(t) {
    var e;
    (e = t.useList) != null && e.length && t.useList.forEach((n) => {
      const i = o.getComponentRef(n);
      try {
        i && i.ref && i.ref.refreshData();
      } catch {
      }
    });
  }
  /**
   * 将JSON对象转换为字符串
   * @param json - 需要转换的JSON对象
   * @returns 转换后的字符串
   */
  static toStringify(t) {
    try {
      let e = [];
      const n = JSON.stringify(t, (i, r) => {
        if (typeof r == "object" && r !== null) {
          if (e.indexOf(r) !== -1) return;
          e.push(r);
        }
        return r;
      });
      return e = null, n;
    } catch {
      return "";
    }
  }
  /**
   * 设置全局事件
   * @param globalEvent 全局事件
   */
  static setGlobalEvent(t) {
    window._globalEvent = t;
  }
  /**
   * 获取全局事件
   * @returns 全局事件
   */
  static getGlobalEvent() {
    return window._globalEvent;
  }
  /**
   * 获取全局拦截器
   * @returns 全局拦截器
   */
  static getGlobalApiListenter() {
    const t = this.getGlobalEvent(), e = [];
    return t && t.length && t.forEach((n) => {
      n.eventType === "on-global-api-listenter" && e.push(n.globalApiListenter);
    }), e;
  }
}
export {
  h as EventUtils
};
