static public Either <Errors.FormatError, ID> DeserializeV1(Format.Schema.IDV1 id) { if (!id.HasBool) { return(new Errors.DeserializationError("invalid ID kind, expected bool")); } else { return(new Bool(id.Bool)); } }
static public Either <Errors.FormatError, ID> DeserializeV1(Format.Schema.IDV1 id) { if (!id.HasVariable) { return(new Errors.DeserializationError("invalid ID kind, expected variable")); } else { return(new Variable(id.Variable)); } }
static public Either <Errors.FormatError, ID> DeserializeV1(Format.Schema.IDV1 id) { if (!id.HasBytes) { return(new Errors.DeserializationError("invalid ID kind, expected byte array")); } else { return(new Bytes(id.Bytes.ToByteArray())); } }
static public Either <Errors.FormatError, ID> DeserializeV1(Format.Schema.IDV1 id) { if (!id.HasString) { return(new Errors.DeserializationError("invalid ID kind, expected string")); } else { return(new Str(id.String)); } }
static public Either <Errors.FormatError, ID> DeserializeV1(Format.Schema.IDV1 id) { if (!id.HasInteger) { return(new Errors.DeserializationError("invalid ID kind, expected integer")); } else { return(new Integer(id.Integer)); } }
static public Either <Errors.FormatError, ID> DeserializeV1(Format.Schema.IDV1 id) { if (id.Set == null) { return(new Errors.DeserializationError("invalid ID kind, expected set")); } else { HashSet <ID> values = new HashSet <ID>(); Format.Schema.IDSet s = id.Set; foreach (Format.Schema.IDV1 l in s.Set) { Either <Errors.FormatError, ID> res = ID.DeserializeEnumV1(l); if (res.IsLeft) { return(res.Left); } else { ID value = res.Right; if (value is Variable) { return(new Errors.DeserializationError("sets cannot contain variables")); } values.Add(value); } } if (values.Count == 0) { return(new Errors.DeserializationError("invalid Set value")); } else { return(new Set(values)); } } }
static public Either <Errors.FormatError, ID> DeserializeEnumV1(Format.Schema.IDV1 id) { if (id.HasDate) { return(Date.DeserializeV1(id)); } else if (id.HasInteger) { return(Integer.DeserializeV1(id)); } else if (id.HasString) { return(Str.DeserializeV1(id)); } else if (id.HasBytes) { return(Bytes.DeserializeV1(id)); } else if (id.HasSymbol) { return(Symbol.DeserializeV1(id)); } else if (id.HasVariable) { return(Variable.DeserializeV1(id)); } else if (id.HasBool) { return(Bool.DeserializeV1(id)); } else if (id.Set != null) { return(Set.DeserializeV1(id)); } else { return(new Errors.DeserializationError("invalid ID kind: id.Kind")); } }