calculation

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCalculationRepeatInput

func NewCalculationRepeatInput(inputs []string, initial string, history CalculationHistory) calculationRepeatInput

func NewCalculationWithMultipleInput

func NewCalculationWithMultipleInput(inputs []string) calculationWithMultipleInput

func NewCalculationWithOneInput

func NewCalculationWithOneInput(operation string, inputs []string) calculationWithOneInput

func NewCalculationWithTwoInput

func NewCalculationWithTwoInput(input1 string, input2 string, operation string) *calculationWithTwoInput

Types

type CalculationHistory

type CalculationHistory struct {
	History []CalculationResult `json:"result"`
}

type CalculationInput

type CalculationInput struct {
	Input string `json:"input"`
}

func (CalculationInput) ParseCalculationInput

func (i CalculationInput) ParseCalculationInput(history CalculationHistory) (ICalculationInput, errors.WrappedError)

type CalculationResult

type CalculationResult struct {
	Input  string `json:"input"`
	Result string `json:"result"`
}

type ICalculationInput

type ICalculationInput interface {
	GetInput() string
	Validate() errors.WrappedError
	Calculate() string
}

type ICalculatorRestHandler

type ICalculatorRestHandler interface {
	HandleReadinessLiveness(context.Context, http.ResponseWriter, *http.Request)
	HandleCalculation(context.Context, http.ResponseWriter, *http.Request)
}

type ICalculatorService

type ICalculatorService interface {
	GetCalculationHistory(context.Context) CalculationHistory
	Calculate(context.Context, ICalculationInput) (CalculationResult, errors.WrappedError)
}

Jump to

Keyboard shortcuts

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