import { appStore } from "@applicaster/zapp-react-native-redux/AppStore";
import { isWeb } from "../reactUtils";
import { isString } from "../stringUtils";

const getCleanString = (dataString: string): string => {
  if (!dataString) {
    return null;
  }

  if (!isString(dataString)) {
    return null;
  }

  const result = dataString.replace(/[[\]']+/g, "");

  if (!result || result.length === 0) {
    return null;
  }

  return result;
};

export const getAppUrlScheme = (): string => {
  const appData = appStore.get("appData");
  const urlScheme = appData?.urlScheme;

  if (isWeb()) {
    return "self";
  }

  if (!urlScheme) {
    return;
  }

  const urlSchemesString: string = getCleanString(urlScheme);

  if (!urlSchemesString) {
    return null;
  }

  const urlSchemes = urlSchemesString.split(",");

  return urlSchemes?.[0] || null;
};
