rilltime

package
v0.54.0 Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseCompatibility

func ParseCompatibility(timeRange, offset string) error

Types

type AtModifiers

type AtModifiers struct {
	Offset   *Grain  `parser:"@@?"`
	TimeZone *string `parser:"@TimeZone?"`
}

type EvalOptions

type EvalOptions struct {
	Now        time.Time
	MinTime    time.Time
	MaxTime    time.Time
	Watermark  time.Time
	FirstDay   int
	FirstMonth int
}

type Expression

type Expression struct {
	Start       *TimeAnchor  `parser:"  @@"`
	End         *TimeAnchor  `parser:"(',' @@)?"`
	Modifiers   *Modifiers   `parser:"(':' @@)?"`
	AtModifiers *AtModifiers `parser:"('@' @@)?"`
	// contains filtered or unexported fields
}

func Parse

func Parse(from string, parseOpts ParseOptions) (*Expression, error)

func (*Expression) Eval

func (e *Expression) Eval(evalOpts EvalOptions) (time.Time, time.Time, error)

type Grain

type Grain struct {
	Num   *int   `parser:"@Number?"`
	Grain string `parser:"@Grain"`
}

type Modifiers

type Modifiers struct {
	Grain         *Grain `parser:"( @@"`
	CompleteGrain *Grain `parser:"| '|' @@ '|')?"`
}

type ParseOptions

type ParseOptions struct {
	DefaultTimeZone *time.Location
}

ParseOptions allows for additional options that could probably not be added to the time range itself

type TimeAnchor

type TimeAnchor struct {
	Grain     *Grain  `parser:"( @@"`
	AbsDate   *string `parser:"| @AbsoluteDate"`
	AbsTime   *string `parser:"| @AbsoluteTime"`
	Earliest  bool    `parser:"| @Earliest"`
	Now       bool    `parser:"| @Now"`
	Latest    bool    `parser:"| @Latest"`
	Watermark bool    `parser:"| @Watermark)"`
	Offset    *Grain  `parser:"@@?"`
	Trunc     *string `parser:"  ('/' @Grain)?"`
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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