datatypes

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2020 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EWKBPoint

type EWKBPoint struct {
	Point wkb.Point
}

EWKBPoint encapsulate Point and handles value and scanners to work with Gorm

func (*EWKBPoint) MarshalJSON

func (m *EWKBPoint) MarshalJSON() ([]byte, error)

MarshalJSON customizes unmarshalling from JSON array (e.g. [10, 20])

func (*EWKBPoint) Scan

func (m *EWKBPoint) Scan(src interface{}) error

Scan satisfies the Scanner interace and is responsible for reading data from the database

func (*EWKBPoint) UnmarshalJSON

func (m *EWKBPoint) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON json satisfies the JSON library

{
    "type": "Point",
    "coordinates": [30, 10]
}

func (*EWKBPoint) Value

func (m *EWKBPoint) Value() (driver.Value, error)

Value satisfies the Valuer interace and is responsible for writing data to the database

type EWKBPolygon

type EWKBPolygon struct {
	Polygon wkb.Polygon
}

EWKBPolygon encapsulate Polygon and handles value and scanners to work with Gorm

func (*EWKBPolygon) MarshalJSON

func (m *EWKBPolygon) MarshalJSON() ([]byte, error)

MarshalJSON customizes unmarshalling from JSON array (e.g. [10, 20])

func (*EWKBPolygon) Scan

func (m *EWKBPolygon) Scan(src interface{}) error

Scan satisfies the Scanner interace and is responsible for reading data from the database

func (*EWKBPolygon) UnmarshalJSON

func (m *EWKBPolygon) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON json satisfies the JSON library https://en.wikipedia.org/wiki/GeoJSON

{
    "type": "Polygon",
    "coordinates": [
        [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]]
    ]
}

func (*EWKBPolygon) Value

func (m *EWKBPolygon) Value() (driver.Value, error)

Value satisfies the Valuer interace and is responsible for writing data to the database

type TimeM

type TimeM struct {
	Time time.Time
}

TimeM (Time convertable from JSON int representing minisecond) encapsulate unix time, converts to and from JSON to Unix time in millisecond

func (*TimeM) MarshalJSON

func (t *TimeM) MarshalJSON() ([]byte, error)

MarshalJSON customizes unmarshalling from JSON array

func (*TimeM) UnmarshalJSON

func (t *TimeM) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON unmarshalls it from a string of millisecond

type UUID

type UUID struct {
	UUID uuid.UUID
}

UUID string

func NewUUID

func NewUUID() *UUID

NewUUID generates a UUID that's partly V1 and partly V4 Like V4, but use timestamp as part of V1 to increase locality (performance)

func NewUUIDFromString

func NewUUIDFromString(s string) (u *UUID, err error)

NewUUIDFromString creates UUID from string

func (*UUID) MarshalJSON

func (u *UUID) MarshalJSON() ([]byte, error)

MarshalJSON customizes unmarshalling from JSON array

func (*UUID) Scan

func (u *UUID) Scan(src interface{}) error

Scan satisfies the Scanner interace and is responsible for reading data from the database

func (*UUID) String

func (u *UUID) String() string

Value satisfies the Valuer interace and is responsible for writing data to the database

func (*UUID) UnmarshalJSON

func (u *UUID) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON unmarshalls it from a string of millisecond

func (*UUID) Value

func (u *UUID) Value() (driver.Value, error)

Value satisfies the Valuer interace and is responsible for writing data to the database

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL