tryParse static method

ChatDirectLinkSlug? tryParse(
  1. String val
)

Parses the provided val as a ChatDirectLinkSlug, if val meets the validation, or returns null otherwise.

If val starts with Config.link, then that part is omitted.

Implementation

static ChatDirectLinkSlug? tryParse(String val) {
  if (val.startsWith(Config.link)) {
    val = val.substring(Config.link.length);
  }

  if (val.startsWith(Config.origin)) {
    val = val.substring(Config.origin.length);
  }

  if (val.startsWith('https://')) {
    val = val.substring('https://'.length);
  }

  if (val.startsWith('http://')) {
    val = val.substring('http://'.length);
  }

  if (val.startsWith(Config.link)) {
    val = val.substring(Config.link.length);
  }

  if (val.startsWith(Config.origin)) {
    val = val.substring(Config.origin.length);
  }

  if (val.startsWith('/')) {
    val = val.substring(1);
  }

  try {
    return ChatDirectLinkSlug(val);
  } catch (_) {
    return null;
  }
}