gotosocial/vendor/github.com/go-fed/activity/streams/values/dateTime/gen_dateTime.go
Tobi Smethurst 98263a7de6
Grand test fixup (#138)
* start fixing up tests

* fix up tests + automate with drone

* fiddle with linting

* messing about with drone.yml

* some more fiddling

* hmmm

* add cache

* add vendor directory

* verbose

* ci updates

* update some little things

* update sig
2021-08-12 21:03:24 +02:00

40 lines
1.1 KiB
Go

// Code generated by astool. DO NOT EDIT.
package datetime
import (
"fmt"
"time"
)
// SerializeDateTime converts a dateTime value to an interface representation
// suitable for marshalling into a text or binary format.
func SerializeDateTime(this time.Time) (interface{}, error) {
return this.Format(time.RFC3339), nil
}
// DeserializeDateTime creates dateTime value from an interface representation
// that has been unmarshalled from a text or binary format.
func DeserializeDateTime(this interface{}) (time.Time, error) {
var tmp time.Time
var err error
if s, ok := this.(string); ok {
tmp, err = time.Parse(time.RFC3339, s)
if err != nil {
tmp, err = time.Parse("2006-01-02T15:04Z07:00", s)
if err != nil {
err = fmt.Errorf("%v cannot be interpreted as xsd:datetime", this)
}
}
} else {
err = fmt.Errorf("%v cannot be interpreted as a string for xsd:datetime", this)
}
return tmp, err
}
// LessDateTime returns true if the left dateTime value is less than the right
// value.
func LessDateTime(lhs, rhs time.Time) bool {
return lhs.Before(rhs)
}