namer

package
v1.4.5 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2023 License: MIT Imports: 5 Imported by: 0

README

Наименование файлы.

Пакет предоставляет реализацию интерфейса github.com/D3rus/go-library/file/Namer которая находится в файле pattern.go.

Объект Pattern предоставляем генерируемое имя файла, на основе заданного паттерна. Метод конструктор NewPattern(pattern string, options ...PatternOption):

  • pattern - паттерн файлов;
  • options - дополнительные опции, параметр опциональный.

Пакет предоставляет следующие методы опций:

  • PatternWithSegments - устанавливает доступные, заменяемые, сегменты паттерна, такие как: число месяца, время и т.п.;
  • PatternAddSegments - добавляет доступные, заменяемые, сегменты паттерна, такие как: число месяца, время и т.п. Оба метода принимают массив реализация интерфейса Segment
type Segment interface {
	Field() string
	SearchRegexp() string
	Value() string
}

Объект Pattern создается со следующими стандартными сегментами:

  • ${year} - заменяется на номер текущего года;
  • ${month} - заменяется на номер текущего месяца;
  • ${day} - заменяется на число текущего месяца;
  • ${hour} - заменяется на номер текущего часа в UTC;
  • ${minute} - заменяется на номер текущей минуты, текущего часа в UTC;
  • ${second} - заменяется на номер текущей секунды, текущей минуты, текущего часа в UTC;
  • ${unix_time} - заменяется на Linux timestamp в UTC;
  • ${unix_time_nano} - заменяется на Linux nano timestamp в UTC;

Documentation

Index

Constants

View Source
const (
	YearPattern         string = "${year}"
	MonthPattern        string = "${month}"
	DayPattern          string = "${day}"
	HourPattern         string = "${hour}"
	MinutePattern       string = "${minute}"
	SecondPattern       string = "${second}"
	UnixTimePattern     string = "${unix_time}"
	UnixTimeNanoPattern string = "${unix_time_nano}"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Pattern

type Pattern struct {
	// contains filtered or unexported fields
}

func NewPattern

func NewPattern(pattern string, options ...PatternOption) *Pattern

func (*Pattern) AddExtension

func (namer *Pattern) AddExtension(extension string)

func (*Pattern) Name

func (namer *Pattern) Name() string

func (*Pattern) SearchRegexp

func (namer *Pattern) SearchRegexp() *regexp.Regexp

type PatternOption

type PatternOption func(namer *Pattern)

func PatternAddSegments

func PatternAddSegments(segments ...Segment) PatternOption

func PatternWithSegments

func PatternWithSegments(segments ...Segment) PatternOption

type Segment

type Segment interface {
	Field() string
	SearchRegexp() string
	Value() string
}

func NewSegment

func NewSegment(field string, searchRegexp string, valueFunc SegmentValueFunc) Segment

type SegmentValueFunc

type SegmentValueFunc func() string

Jump to

Keyboard shortcuts

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