saveUpdatedLang function

Future<String?> saveUpdatedLang(
  1. LangData lang,
  2. dynamic querySnapshot,
  3. String _name
)

Implementation

Future<String?> saveUpdatedLang(LangData lang, querySnapshot, String _name) async {
  // print("saveUpdatedLang $_name");
  var _data = querySnapshot.data();
  Map<String, dynamic> _words = _data!['data'];
  // print("old length=${_words.length}");
  // print("new length=${lang.data.length}");
  bool _added = false;
  // for (int i = _words.length+1; i<=lang.data.length; i++){
  for (int i = 0; i <= lang.data.length; i++){
    // print("---$_name ${lang.data[i.toString()]} ${_words[i.toString()]}" );
    if (lang.data[i.toString()] != null && _words[i.toString()] == null) {
      _words.addAll({i.toString(): lang.data[i.toString()]});
      // print("add $_name $i : ${lang.data[i.toString()]} ${_words[i.toString()]}" );
      _added = true;
    }
  }
  if (_added)
    await FirebaseFirestore.instance.collection("language").doc(_name).set(_data, SetOptions(merge:true));
}