buildUpsertPayloads method

List<(String, Map<String, dynamic>)> buildUpsertPayloads(
  1. List<T> items
)

Implementation

List<(String, Map<String, dynamic>)> buildUpsertPayloads(List<T> items) {
  final list = <(String, Map<String, dynamic>)>[];
  for (final item in items) {
    final id = config.idToString(config.idOf(item));
    final data = Map<String, dynamic>.from(config.toJson(item));
    if (config.injectScopeOnWrite && config.defaultScope != null) {
      final scopeMap =
          config.scopeFieldsBuilder?.call(config.defaultScope!) ??
          {
            config.scopeNameField: config.defaultScope!.name,
            config.scopeKeysField: config.defaultScope!.keys,
          };
      data.addAll(scopeMap);
    }
    list.add((id, data));
  }
  return list;
}