bool _compareApiKey()

in lib/src/datastore_impl.dart [83:107]


  bool _compareApiKey(api.Key a, api.Key b) {
    if (a.path!.length != b.path!.length) return false;

    // FIXME(Issue #2): Is this comparison working correctly?
    if (a.partitionId != null) {
      if (b.partitionId == null) {
        return false;
      }
      if (a.partitionId!.projectId != b.partitionId!.projectId) {
        return false;
      }
      if (a.partitionId!.namespaceId != b.partitionId!.namespaceId) {
        return false;
      }
    } else if (b.partitionId != null) {
      return false;
    }

    for (var i = 0; i < a.path!.length; i++) {
      if (a.path![i].id != b.path![i].id ||
          a.path![i].name != b.path![i].name ||
          a.path![i].kind != b.path![i].kind) return false;
    }
    return true;
  }