JSFiddle - React, Tailwind, and code Playground

by morphcast

JavaScript 1.7

function customFunction(manager, config) {
  // function (manager, config) {
  const VIDEO_NAME = "video3";
  const PROJECT_NAME = config?.pj || "demoAle";
  const USER_NAME = "noUser";

  const LICENSE_KEY = "9087cfd2037a28a79769fdcaa4962252379cd2e2fd0b";
  const API_KEY = "kkkk";

  const AGE_GROUPS = [30, 50];

  const SEND_DATA_INTERVAL = config?.send_interval || 10000;

  window.globals = window.globals || {};
  window.globals.__API_ENDPOINT__ =
    "https://54ad0beqcf.execute-api.eu-central-1.amazonaws.com/stage";

  const log = (() => {
    const params = new URLSearchParams(window.location.search);

    if (params.has("loganalytics") && params.get("loganalytics") === "true") {
      return (...args) => {
        return console.log.apply(console, args);
      };
    } else {
      return () => {};
    }
  })();

  function loadScript(url) {
    return new Promise((resolve) => {
      const script = document.createElement("script");
      script.type = "text/javascript";
      if (script.readyState) {
        script.onreadystatechange = function () {
          if (
            script.readyState === "loaded" ||
            script.readyState === "complete"
          ) {
            script.onreadystatechange = null;
            resolve();
          }
        };
      } else {
        script.onload = function () {
          resolve();
        };
      }
      script.src = url;
      document.getElementsByTagName("head")[0].appendChild(script);
    });
  }

  function obj2string(obj, delimiter1 = "&", delimiter2 = "!") {
    let dimensionNames = [];
    let dimensionValues = [];
    for (const [key, value] of Object.entries(obj).sort((a, b) =>
      a[0].localeCompare(b[0])
    )) {
      dimensionNames.push("" + key);
      dimensionValues.push("" + value);
    }
    return (
      dimensionNames.join(delimiter1) +
      delimiter2 +
      dimensionValues.join(delimiter1)
    );
  }

  function mapAgeGroups(x, intervals_array = [30, 50]) {
    let output = 0;
 ...