state

package
v0.210704.0 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2021 License: CC0-1.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const ContextKey = "run/state-global"

Variables

This section is empty.

Functions

func Log2stdlib

func Log2stdlib(l2 *log2.Log) *log.Logger

TODO func (*log2.Log) Stdlib() *log.Logger

Types

type Config

type Config struct {

	// only used for Unmarshal, do not access
	XXX_Include []ConfigSource `hcl:"include"`

	DB struct {
		PingTimeoutMs int    `hcl:"ping_timeout_ms"`
		URL           string `hcl:"url"`
	}
	Money struct {
		Scale int `hcl:"scale"`
	}
	Tax struct {
		Ru2019 struct {
			Tag1009 string // payment address
			Tag1187 string // payment place
			Tag1018 string // business INN
			Tag1055 int    // uint32 tax form
			Tag1199 int    // uint32 tax rate
			Umka    struct {
				BaseURL string `hcl:"base_url"`

				XXX_testRT http.RoundTripper `hcl:"-"`
			}
		}
	}
	Tele tele_config.Config
	// contains filtered or unexported fields
}

func MustReadConfig

func MustReadConfig(log *log2.Log, fs FullReader, names ...string) *Config

func ReadConfig

func ReadConfig(log *log2.Log, fs FullReader, names ...string) (*Config, error)

func (*Config) ScaleA

func (c *Config) ScaleA(a currency.Amount) currency.Amount

func (*Config) ScaleI

func (c *Config) ScaleI(i int) currency.Amount

func (*Config) ScaleU

func (c *Config) ScaleU(u uint32) currency.Amount

type ConfigSource

type ConfigSource struct {
	Name     string `hcl:"name,key"`
	Optional bool   `hcl:"optional"`
}

type FullReader

type FullReader interface {
	Normalize(key string) string
	// nil,nil = not found
	ReadAll(key string) ([]byte, error)
}

type Global

type Global struct {
	Alive        *alive.Alive
	BuildVersion string
	Config       *Config
	DB           *pg.DB
	Log          *log2.Log
	Tele         tele_api.Teler
	Vmc          map[int32]vmcStruct
}

func GetGlobal

func GetGlobal(ctx context.Context) *Global

func (*Global) CtlStop

func (g *Global) CtlStop(ctx context.Context)

func (*Global) Error

func (g *Global) Error(err error, args ...interface{})

func (*Global) InitDB

func (g *Global) InitDB(cmdName string) error

type MockFullReader

type MockFullReader struct {
	Map map[string]string
}

func NewMockFullReader

func NewMockFullReader(sources map[string]string) *MockFullReader

func (*MockFullReader) Normalize

func (self *MockFullReader) Normalize(name string) string

func (*MockFullReader) ReadAll

func (self *MockFullReader) ReadAll(name string) ([]byte, error)

type OsFullReader

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

func NewOsFullReader

func NewOsFullReader() *OsFullReader

func (OsFullReader) Normalize

func (self OsFullReader) Normalize(path string) string

func (*OsFullReader) ReadAll

func (self *OsFullReader) ReadAll(path string) ([]byte, error)

func (*OsFullReader) SetBase

func (self *OsFullReader) SetBase(path string)

Directories

Path Synopsis
Sorry, workaround to import cycles.
Sorry, workaround to import cycles.

Jump to

Keyboard shortcuts

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