MarkdownBlockRegistry constructor

MarkdownBlockRegistry(
  1. Iterable<MarkdownBlockSyntax> syntaxes
)

Implementation

MarkdownBlockRegistry(Iterable<MarkdownBlockSyntax> syntaxes) {
  final types = <String>{};
  for (final syntax in syntaxes) {
    if (syntax.prefix.isEmpty || syntax.type.isEmpty) {
      throw ArgumentError('Block syntax type and prefix must not be empty.');
    }
    if (!types.add(syntax.type)) {
      throw ArgumentError('Duplicate block syntax type: ${syntax.type}');
    }
    (_dispatch[syntax.prefix.codeUnitAt(0)] ??= []).add(syntax);
  }
}