find static method

Map<String?, dynamic> find(
  1. List<Binding>? bindings,
  2. dynamic data
)

Implementation

static Map<String?, dynamic> find(List<Binding>? bindings, dynamic data) {
  Map<String?, dynamic> values = <String?, dynamic>{};
  List<String?> processed = [];
  if (bindings != null) {
    for (Binding binding in bindings) {
      // fully qualified data binding name (datasource.data.field1.field2.field3...fieldn)
      if ((binding.source == 'data')) {
        String? signature = binding.property +
            (binding.dotnotation?.signature != null
                ? ".${binding.dotnotation!.signature}"
                : "");
        if (!processed.contains(binding.signature)) {
          processed.add(binding.signature);
          var value = read(data, signature) ?? "";
          values[binding.signature] = value;
        }
      }
    }
  }

  return values;
}