shared

package module
v0.1.8 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2022 License: Apache-2.0 Imports: 8 Imported by: 18

README

shared

Library code shared among our repositories

vin utils

Use the VIN type for strings that are VIN's and it gets some basic decoding functionality (eg. year, or tesla model).

config loader

Convention over configuration library for typed configurations that can read from yaml file or env vars. Provides an opinionated way of dealing with configurations: for local development we want to use yaml config files, and on higher level environments we want settings to come from environment variables (we use kubernetes). Supported types are: string, int, int64, bool.

gRPC library

We should probably put these in the repositories of the services that own them, but we are putting this off for now. To make changes to the current suite for the device API, run

protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative grpc/devices/*.proto

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadConfig added in v0.1.7

func LoadConfig[S any](filePath string) (S, error)

LoadConfig fills in all the values in the Settings from local yml file (for dev) and env vars (for deployments)

Types

type CloudEventHeaders added in v0.1.3

type CloudEventHeaders struct {
	ID          string    `json:"id"`
	Source      string    `json:"source"`
	SpecVersion string    `json:"specversion"`
	Subject     string    `json:"subject"`
	Time        time.Time `json:"time"`
	Type        string    `json:"type"`
}

CloudEventHeaders contains the fields common to all CloudEvent messages.

type StringSet added in v0.1.2

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

StringSet offers a nice api to deal with string lists

func NewStringSet added in v0.1.2

func NewStringSet() *StringSet

func (*StringSet) Add added in v0.1.2

func (s *StringSet) Add(st string)

func (*StringSet) Contains added in v0.1.2

func (s *StringSet) Contains(st string) bool

func (*StringSet) Len added in v0.1.2

func (s *StringSet) Len() int

func (*StringSet) Slice added in v0.1.2

func (s *StringSet) Slice() []string

type VIN

type VIN string

func (VIN) String added in v0.1.1

func (v VIN) String() string

func (VIN) TeslaModel added in v0.1.3

func (v VIN) TeslaModel() string

func (VIN) Year

func (v VIN) Year() int

Year will decode the year portion from the VIN from 1994 to 2023. returns 0 if out of range. VIN nomenclature only allows for 30 year timespans, then repeats, ie. 2023 = 1993

Directories

Path Synopsis
grpc

Jump to

Keyboard shortcuts

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