forked from gsn/predictor
feat: predictor works
This commit is contained in:
parent
11be8f351f
commit
7a9f81e527
20 changed files with 1357 additions and 1794 deletions
|
|
@ -197,140 +197,6 @@ func (s *OptDateTime) UnmarshalJSON(data []byte) error {
|
|||
return s.Decode(d, json.DecodeDateTime)
|
||||
}
|
||||
|
||||
// Encode encodes float64 as json.
|
||||
func (o OptFloat64) Encode(e *jx.Encoder) {
|
||||
if !o.Set {
|
||||
return
|
||||
}
|
||||
e.Float64(float64(o.Value))
|
||||
}
|
||||
|
||||
// Decode decodes float64 from json.
|
||||
func (o *OptFloat64) Decode(d *jx.Decoder) error {
|
||||
if o == nil {
|
||||
return errors.New("invalid: unable to decode OptFloat64 to nil")
|
||||
}
|
||||
o.Set = true
|
||||
v, err := d.Float64()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
o.Value = float64(v)
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalJSON implements stdjson.Marshaler.
|
||||
func (s OptFloat64) MarshalJSON() ([]byte, error) {
|
||||
e := jx.Encoder{}
|
||||
s.Encode(&e)
|
||||
return e.Bytes(), nil
|
||||
}
|
||||
|
||||
// UnmarshalJSON implements stdjson.Unmarshaler.
|
||||
func (s *OptFloat64) UnmarshalJSON(data []byte) error {
|
||||
d := jx.DecodeBytes(data)
|
||||
return s.Decode(d)
|
||||
}
|
||||
|
||||
// Encode encodes PredictionParameters as json.
|
||||
func (o OptPredictionParameters) Encode(e *jx.Encoder) {
|
||||
if !o.Set {
|
||||
return
|
||||
}
|
||||
o.Value.Encode(e)
|
||||
}
|
||||
|
||||
// Decode decodes PredictionParameters from json.
|
||||
func (o *OptPredictionParameters) Decode(d *jx.Decoder) error {
|
||||
if o == nil {
|
||||
return errors.New("invalid: unable to decode OptPredictionParameters to nil")
|
||||
}
|
||||
o.Set = true
|
||||
if err := o.Value.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalJSON implements stdjson.Marshaler.
|
||||
func (s OptPredictionParameters) MarshalJSON() ([]byte, error) {
|
||||
e := jx.Encoder{}
|
||||
s.Encode(&e)
|
||||
return e.Bytes(), nil
|
||||
}
|
||||
|
||||
// UnmarshalJSON implements stdjson.Unmarshaler.
|
||||
func (s *OptPredictionParameters) UnmarshalJSON(data []byte) error {
|
||||
d := jx.DecodeBytes(data)
|
||||
return s.Decode(d)
|
||||
}
|
||||
|
||||
// Encode encodes PredictionParametersFormat as json.
|
||||
func (o OptPredictionParametersFormat) Encode(e *jx.Encoder) {
|
||||
if !o.Set {
|
||||
return
|
||||
}
|
||||
e.Str(string(o.Value))
|
||||
}
|
||||
|
||||
// Decode decodes PredictionParametersFormat from json.
|
||||
func (o *OptPredictionParametersFormat) Decode(d *jx.Decoder) error {
|
||||
if o == nil {
|
||||
return errors.New("invalid: unable to decode OptPredictionParametersFormat to nil")
|
||||
}
|
||||
o.Set = true
|
||||
if err := o.Value.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalJSON implements stdjson.Marshaler.
|
||||
func (s OptPredictionParametersFormat) MarshalJSON() ([]byte, error) {
|
||||
e := jx.Encoder{}
|
||||
s.Encode(&e)
|
||||
return e.Bytes(), nil
|
||||
}
|
||||
|
||||
// UnmarshalJSON implements stdjson.Unmarshaler.
|
||||
func (s *OptPredictionParametersFormat) UnmarshalJSON(data []byte) error {
|
||||
d := jx.DecodeBytes(data)
|
||||
return s.Decode(d)
|
||||
}
|
||||
|
||||
// Encode encodes PredictionParametersProfile as json.
|
||||
func (o OptPredictionParametersProfile) Encode(e *jx.Encoder) {
|
||||
if !o.Set {
|
||||
return
|
||||
}
|
||||
e.Str(string(o.Value))
|
||||
}
|
||||
|
||||
// Decode decodes PredictionParametersProfile from json.
|
||||
func (o *OptPredictionParametersProfile) Decode(d *jx.Decoder) error {
|
||||
if o == nil {
|
||||
return errors.New("invalid: unable to decode OptPredictionParametersProfile to nil")
|
||||
}
|
||||
o.Set = true
|
||||
if err := o.Value.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalJSON implements stdjson.Marshaler.
|
||||
func (s OptPredictionParametersProfile) MarshalJSON() ([]byte, error) {
|
||||
e := jx.Encoder{}
|
||||
s.Encode(&e)
|
||||
return e.Bytes(), nil
|
||||
}
|
||||
|
||||
// UnmarshalJSON implements stdjson.Unmarshaler.
|
||||
func (s *OptPredictionParametersProfile) UnmarshalJSON(data []byte) error {
|
||||
d := jx.DecodeBytes(data)
|
||||
return s.Decode(d)
|
||||
}
|
||||
|
||||
// Encode encodes string as json.
|
||||
func (o OptString) Encode(e *jx.Encoder) {
|
||||
if !o.Set {
|
||||
|
|
@ -366,390 +232,6 @@ func (s *OptString) UnmarshalJSON(data []byte) error {
|
|||
return s.Decode(d)
|
||||
}
|
||||
|
||||
// Encode implements json.Marshaler.
|
||||
func (s *PredictionParameters) Encode(e *jx.Encoder) {
|
||||
e.ObjStart()
|
||||
s.encodeFields(e)
|
||||
e.ObjEnd()
|
||||
}
|
||||
|
||||
// encodeFields encodes fields.
|
||||
func (s *PredictionParameters) encodeFields(e *jx.Encoder) {
|
||||
{
|
||||
if s.LaunchLatitude.Set {
|
||||
e.FieldStart("launch_latitude")
|
||||
s.LaunchLatitude.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.LaunchLongitude.Set {
|
||||
e.FieldStart("launch_longitude")
|
||||
s.LaunchLongitude.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.LaunchDatetime.Set {
|
||||
e.FieldStart("launch_datetime")
|
||||
s.LaunchDatetime.Encode(e, json.EncodeDateTime)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.LaunchAltitude.Set {
|
||||
e.FieldStart("launch_altitude")
|
||||
s.LaunchAltitude.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.Profile.Set {
|
||||
e.FieldStart("profile")
|
||||
s.Profile.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.AscentRate.Set {
|
||||
e.FieldStart("ascent_rate")
|
||||
s.AscentRate.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.BurstAltitude.Set {
|
||||
e.FieldStart("burst_altitude")
|
||||
s.BurstAltitude.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.DescentRate.Set {
|
||||
e.FieldStart("descent_rate")
|
||||
s.DescentRate.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.FloatAltitude.Set {
|
||||
e.FieldStart("float_altitude")
|
||||
s.FloatAltitude.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.StopDatetime.Set {
|
||||
e.FieldStart("stop_datetime")
|
||||
s.StopDatetime.Encode(e, json.EncodeDateTime)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.AscentCurve.Set {
|
||||
e.FieldStart("ascent_curve")
|
||||
s.AscentCurve.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.DescentCurve.Set {
|
||||
e.FieldStart("descent_curve")
|
||||
s.DescentCurve.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.Interpolate.Set {
|
||||
e.FieldStart("interpolate")
|
||||
s.Interpolate.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.Format.Set {
|
||||
e.FieldStart("format")
|
||||
s.Format.Encode(e)
|
||||
}
|
||||
}
|
||||
{
|
||||
if s.Dataset.Set {
|
||||
e.FieldStart("dataset")
|
||||
s.Dataset.Encode(e, json.EncodeDateTime)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var jsonFieldsNameOfPredictionParameters = [15]string{
|
||||
0: "launch_latitude",
|
||||
1: "launch_longitude",
|
||||
2: "launch_datetime",
|
||||
3: "launch_altitude",
|
||||
4: "profile",
|
||||
5: "ascent_rate",
|
||||
6: "burst_altitude",
|
||||
7: "descent_rate",
|
||||
8: "float_altitude",
|
||||
9: "stop_datetime",
|
||||
10: "ascent_curve",
|
||||
11: "descent_curve",
|
||||
12: "interpolate",
|
||||
13: "format",
|
||||
14: "dataset",
|
||||
}
|
||||
|
||||
// Decode decodes PredictionParameters from json.
|
||||
func (s *PredictionParameters) Decode(d *jx.Decoder) error {
|
||||
if s == nil {
|
||||
return errors.New("invalid: unable to decode PredictionParameters to nil")
|
||||
}
|
||||
s.setDefaults()
|
||||
|
||||
if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error {
|
||||
switch string(k) {
|
||||
case "launch_latitude":
|
||||
if err := func() error {
|
||||
s.LaunchLatitude.Reset()
|
||||
if err := s.LaunchLatitude.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"launch_latitude\"")
|
||||
}
|
||||
case "launch_longitude":
|
||||
if err := func() error {
|
||||
s.LaunchLongitude.Reset()
|
||||
if err := s.LaunchLongitude.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"launch_longitude\"")
|
||||
}
|
||||
case "launch_datetime":
|
||||
if err := func() error {
|
||||
s.LaunchDatetime.Reset()
|
||||
if err := s.LaunchDatetime.Decode(d, json.DecodeDateTime); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"launch_datetime\"")
|
||||
}
|
||||
case "launch_altitude":
|
||||
if err := func() error {
|
||||
s.LaunchAltitude.Reset()
|
||||
if err := s.LaunchAltitude.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"launch_altitude\"")
|
||||
}
|
||||
case "profile":
|
||||
if err := func() error {
|
||||
s.Profile.Reset()
|
||||
if err := s.Profile.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"profile\"")
|
||||
}
|
||||
case "ascent_rate":
|
||||
if err := func() error {
|
||||
s.AscentRate.Reset()
|
||||
if err := s.AscentRate.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"ascent_rate\"")
|
||||
}
|
||||
case "burst_altitude":
|
||||
if err := func() error {
|
||||
s.BurstAltitude.Reset()
|
||||
if err := s.BurstAltitude.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"burst_altitude\"")
|
||||
}
|
||||
case "descent_rate":
|
||||
if err := func() error {
|
||||
s.DescentRate.Reset()
|
||||
if err := s.DescentRate.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"descent_rate\"")
|
||||
}
|
||||
case "float_altitude":
|
||||
if err := func() error {
|
||||
s.FloatAltitude.Reset()
|
||||
if err := s.FloatAltitude.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"float_altitude\"")
|
||||
}
|
||||
case "stop_datetime":
|
||||
if err := func() error {
|
||||
s.StopDatetime.Reset()
|
||||
if err := s.StopDatetime.Decode(d, json.DecodeDateTime); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"stop_datetime\"")
|
||||
}
|
||||
case "ascent_curve":
|
||||
if err := func() error {
|
||||
s.AscentCurve.Reset()
|
||||
if err := s.AscentCurve.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"ascent_curve\"")
|
||||
}
|
||||
case "descent_curve":
|
||||
if err := func() error {
|
||||
s.DescentCurve.Reset()
|
||||
if err := s.DescentCurve.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"descent_curve\"")
|
||||
}
|
||||
case "interpolate":
|
||||
if err := func() error {
|
||||
s.Interpolate.Reset()
|
||||
if err := s.Interpolate.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"interpolate\"")
|
||||
}
|
||||
case "format":
|
||||
if err := func() error {
|
||||
s.Format.Reset()
|
||||
if err := s.Format.Decode(d); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"format\"")
|
||||
}
|
||||
case "dataset":
|
||||
if err := func() error {
|
||||
s.Dataset.Reset()
|
||||
if err := s.Dataset.Decode(d, json.DecodeDateTime); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}(); err != nil {
|
||||
return errors.Wrap(err, "decode field \"dataset\"")
|
||||
}
|
||||
default:
|
||||
return d.Skip()
|
||||
}
|
||||
return nil
|
||||
}); err != nil {
|
||||
return errors.Wrap(err, "decode PredictionParameters")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalJSON implements stdjson.Marshaler.
|
||||
func (s *PredictionParameters) MarshalJSON() ([]byte, error) {
|
||||
e := jx.Encoder{}
|
||||
s.Encode(&e)
|
||||
return e.Bytes(), nil
|
||||
}
|
||||
|
||||
// UnmarshalJSON implements stdjson.Unmarshaler.
|
||||
func (s *PredictionParameters) UnmarshalJSON(data []byte) error {
|
||||
d := jx.DecodeBytes(data)
|
||||
return s.Decode(d)
|
||||
}
|
||||
|
||||
// Encode encodes PredictionParametersFormat as json.
|
||||
func (s PredictionParametersFormat) Encode(e *jx.Encoder) {
|
||||
e.Str(string(s))
|
||||
}
|
||||
|
||||
// Decode decodes PredictionParametersFormat from json.
|
||||
func (s *PredictionParametersFormat) Decode(d *jx.Decoder) error {
|
||||
if s == nil {
|
||||
return errors.New("invalid: unable to decode PredictionParametersFormat to nil")
|
||||
}
|
||||
v, err := d.StrBytes()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// Try to use constant string.
|
||||
switch PredictionParametersFormat(v) {
|
||||
case PredictionParametersFormatJSON:
|
||||
*s = PredictionParametersFormatJSON
|
||||
default:
|
||||
*s = PredictionParametersFormat(v)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalJSON implements stdjson.Marshaler.
|
||||
func (s PredictionParametersFormat) MarshalJSON() ([]byte, error) {
|
||||
e := jx.Encoder{}
|
||||
s.Encode(&e)
|
||||
return e.Bytes(), nil
|
||||
}
|
||||
|
||||
// UnmarshalJSON implements stdjson.Unmarshaler.
|
||||
func (s *PredictionParametersFormat) UnmarshalJSON(data []byte) error {
|
||||
d := jx.DecodeBytes(data)
|
||||
return s.Decode(d)
|
||||
}
|
||||
|
||||
// Encode encodes PredictionParametersProfile as json.
|
||||
func (s PredictionParametersProfile) Encode(e *jx.Encoder) {
|
||||
e.Str(string(s))
|
||||
}
|
||||
|
||||
// Decode decodes PredictionParametersProfile from json.
|
||||
func (s *PredictionParametersProfile) Decode(d *jx.Decoder) error {
|
||||
if s == nil {
|
||||
return errors.New("invalid: unable to decode PredictionParametersProfile to nil")
|
||||
}
|
||||
v, err := d.StrBytes()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// Try to use constant string.
|
||||
switch PredictionParametersProfile(v) {
|
||||
case PredictionParametersProfileStandardProfile:
|
||||
*s = PredictionParametersProfileStandardProfile
|
||||
case PredictionParametersProfileFloatProfile:
|
||||
*s = PredictionParametersProfileFloatProfile
|
||||
case PredictionParametersProfileReverseProfile:
|
||||
*s = PredictionParametersProfileReverseProfile
|
||||
case PredictionParametersProfileCustomProfile:
|
||||
*s = PredictionParametersProfileCustomProfile
|
||||
default:
|
||||
*s = PredictionParametersProfile(v)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// MarshalJSON implements stdjson.Marshaler.
|
||||
func (s PredictionParametersProfile) MarshalJSON() ([]byte, error) {
|
||||
e := jx.Encoder{}
|
||||
s.Encode(&e)
|
||||
return e.Bytes(), nil
|
||||
}
|
||||
|
||||
// UnmarshalJSON implements stdjson.Unmarshaler.
|
||||
func (s *PredictionParametersProfile) UnmarshalJSON(data []byte) error {
|
||||
d := jx.DecodeBytes(data)
|
||||
return s.Decode(d)
|
||||
}
|
||||
|
||||
// Encode implements json.Marshaler.
|
||||
func (s *PredictionResult) Encode(e *jx.Encoder) {
|
||||
e.ObjStart()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue