check method

  1. @override
void check(
  1. DcqRegistry registry
)

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addSetOrMapLiteral((node) {
    if (!node.isMap) return;

    final keys = <String>[];
    for (final element in node.elements) {
      if (element is! MapLiteralEntry) return;
      final key = element.key;
      if (key is! SimpleStringLiteral) return;
      keys.add(key.value);
    }

    if (keys.length < 2) return;

    for (var i = 1; i < keys.length; i++) {
      if (keys[i].compareTo(keys[i - 1]) < 0) {
        reportAtNode(node);
        return;
      }
    }
  });
}