public override object ParseLiteral(IValueNode literal) { if (literal == null) { throw new ArgumentNullException(nameof(literal)); } if (literal is StringValueNode stringLiteral) { if (!NameUtils.IsValidName(stringLiteral.Value)) { throw new ScalarSerializationException( AbstractionResources.Type_Name_IsNotValid( stringLiteral.Value)); } return(new NameString(stringLiteral.Value)); } if (literal is NullValueNode) { return(null); } throw new ScalarSerializationException( TypeResources.Scalar_Cannot_ParseLiteral( Name, literal.GetType())); }
public static NameString EnsureNotEmpty( this NameString name, string argumentName) { if (name.IsEmpty) { throw new ArgumentException( AbstractionResources.Name_Cannot_BeEmpty(), argumentName); } return(name); }