render method

Future<MermaidRenderResult> render(
  1. String source, {
  2. MermaidRenderOptions options = MermaidRenderOptions.flutterSvgDefault,
  3. bool includeLayout = false,
})

Implementation

Future<MermaidRenderResult> render(
  String source, {
  MermaidRenderOptions options = MermaidRenderOptions.flutterSvgDefault,
  bool includeLayout = false,
}) async {
  _checkNotDisposed();
  final generation = ++_generation;
  _isRendering = true;
  _lastError = null;
  _lastStackTrace = null;
  notifyListeners();

  try {
    final result = await _renderer.render(
      source,
      options: options,
      includeLayout: includeLayout,
    );
    if (generation == _generation && !_disposed) {
      _lastResult = result;
      _isRendering = false;
      notifyListeners();
    }
    return result;
  } catch (error, stackTrace) {
    if (generation == _generation && !_disposed) {
      _lastError = error;
      _lastStackTrace = stackTrace;
      _isRendering = false;
      notifyListeners();
    }
    rethrow;
  }
}