public Schema ConfigureFieldsInReferences(FieldNames names) { return(Clone(clone => { clone.fieldsInReferences = names ?? FieldNames.Empty; })); }
public Schema SetFieldsInReferences(FieldNames names) { names ??= FieldNames.Empty; if (fieldsInReferences.SequenceEqual(names)) { return(this); } return(Clone(clone => { clone.fieldsInReferences = names; })); }
public Schema ConfigureFieldsInReferences(FieldNames names) { names ??= FieldNames.Empty; if (fieldsInReferences.DeepEquals(names)) { return(this); } return(Clone(clone => { clone.fieldsInReferences = names; })); }
public static IEnumerable <RootField> RootFields(this Schema schema, FieldNames names) { var hasField = false; foreach (var name in names) { if (schema.FieldsByName.TryGetValue(name, out var field)) { hasField = true; yield return(field); } } if (!hasField) { var first = schema.Fields.FirstOrDefault(x => !x.IsUI()); if (first != null) { yield return(first); } } }
public bool DeepEquals(FieldNames names) { return(this.IsDeepEqual(names)); }