safeStringify function

String safeStringify(
  1. dynamic value
)

Safely converts a value to a string

Implementation

String safeStringify(dynamic value) {
  try {
    if (isNullOrUndefined(value)) {
      return 'null';
    }

    if (isString(value)) {
      return value;
    }

    if (isFunction(value)) {
      return 'function';
    }

    if (isErrorLike(value)) {
      if (value is Error) {
        return value.toString();
      }
      if (value is Exception) {
        return value.toString();
      }
      return jsonEncode(value);
    }

    return jsonEncode(value);
  } catch (e) {
    return value.toString();
  }
}