toJson method

Map<String, dynamic> toJson()

As saved: the version, then only what differs from the defaults — or, for a variant, its parent and every key it overrides.

Implementation

Map<String, dynamic> toJson() {
  final all = _all();
  if (isVariant) {
    return {
      'formatVersion': formatVersion,
      'parent': parent,
      for (final k in keys)
        if (overrides.contains(k)) k: all[k],
    };
  }
  final defaults = const MaterialFile()._all();
  return {
    'formatVersion': formatVersion,
    for (final k in keys)
      if (jsonEncode(all[k]) != jsonEncode(defaults[k])) k: all[k],
  };
}